2.0.2 Oct 21 2016

  • MetaR has been migrated to MPS 3.4.

2.0.0 August 18 2016

  • Support for instant refresh for both Analysis and composable R scripts.
  • Support for MetaR results inside composable R. This makes it possible to view plots directly embedded in a composable R script. In essence this is a first step towards a fully composable electronic notebook where both results and output are mingled in an editor.
  • Instant refresh now runs scripts directly without Jupyter. This improves speed of refreshes and makes it possible to execute with either a local R installation or the docker container support already offered by MetaR.
  • Preliminary support for detecting minimal set of code changes to execute to refresh the analysis.
  • Many editing bugs have been fixed to make Composable R easier to edit.
  • Fluent parsing issues were fixed, resulting in improved experience when entering R code.
  • Support for the magritte and diplyr operators, as well as the complete set of R user operators. You can now write dplyr code directly in composable R.

1.9.0 July 4th 2016

  • First draft release of instant refresh feature. This feature detects changes made in analysis and rerun the analysis using a Jupyter notebook running in a docker container. Results returned by the execution are displayed directly in the analysis as they are returned. Developed by Alexander Pann.
  • Improved refreshing of images and tables when the result file changes.
  • Language metar.r.access provides access to MetaR tables and columns from composable R and is now included in R devkit for easier discoverability (these concepts were previously packaged in the BiomartToR language).
  • Added empty line in R expressions in MetaR constructor. Previously, fluent parsing did not work because the R expressions were initially empty. Jun 20 2016

  • Add annotations to the heatmap when the statement is created.
  • Minor fixes on table preview statement (by Alexander Pann)
  • Ability to automatically refresh table previews in the Analysis after each execution (by Alexander Pann)
  • Restore the editor for a plot when the image is not generated yet.

1.8.1 May 23 2016

  • New Table Preview statement (developed by Alexander Pann)
  • Ability to automatically refresh plots in the Analysis after each execution. For the automatic refresh to work, you need to add the RESULTS_R directory as a default model root for the solutions where you develop models. This will enable MPS to monitor the files under the directory and will trigger refreshes of the images when the file content changes. April 19 2016

  • Add ability to resize gene name labels, using the GeneNameSize style item.   
  • MAPlot: fix a number of problems. For instance: fix a bug that prevented the annotation of gene names when the gene name was identified with a column group other than ID.
  • Substantially improve editing experience for multiplot.
  • Composable R: Add actions to convert a OP b into a or b if one of the operands is deleted. This help edit code that uses operators more fluently.
  • Composable R: add intention to quote a column name, i.e., transform table$col into table$”col”.
  • Composable R: Improve R editing for parameter values. Make it possible to type a comma before a parameter and add a parameter at the beginning of the parameter list. Fix some problems deleting parameters.
  • Propagate catch error in DrawPlot.
  • Join table statement: call the correct rename function from plyr, even when dplyr hides it with another function also called rename. This resolves https://github.com/CampagneLaboratory/MetaR/issues/6
  • Eliminate console output when  using histogram.
  • Biomart: Quote column that match group ID. This resolves https://github.com/CampagneLaboratory/MetaR/issues/2
  • Resolved issue https://github.com/CampagneLaboratory/MetaR/issues/5

1.8.0 April 15 2016

  • Add normalized table output for Limma Voom statement (previously normalized counts were written to the adjusted table, but this table was only available if you had more than one factor in the model). This change makes it possible to get normalized expression data in the more common situation of a model with one factor.
  • Add the ability to choose a group to identify the column that contains the names of the genes to show on a heatmap. Migration script will set this new annotation to the default ID group.
  • Add support to generate MA Plots as well as UpSet plots
  • Add support for Sleuth. You can now read Kallisto results directly with MetaR and call transcripts differentially expressed with Sleuth. The sleuth statement integrates with the Table annotation capabilities of MetaR and supports both Wald and likelihood ratio tests.
  • Improve editing of R code, especially when calling functions.
  • Change the keystroke to open the table viewer. It was bound to Shift T, which prevented users from typing an uppercase T in the table name.
  • Code: started using the org.campagnelab.metar.R language to write generators for MetaR statements. Added metar.R.inspect to help with development of generators using the R language (this language is the equivalent of the metar.inspect language which was designed to be used with TextOutput in generators).
  • Code: Add IListenOnPort ConceptInterface and use it when ports need to be exposed by docker when executing a script.

1.7.1 Feb 4 2016

  • Prevent blank first page in PDFs produced with render statement.
  • Make filter optional for query biomart from table clause.
  • Check that the results dir’s path variable is correctly configured before running an analysis.
  • Check that all the input files (tables, R script) are available under /Users (MacOS) or C:\Users (Windows) when running with Docker.
  • Fix inspector view for columns in a table generated by a statement.
  • Set default docker executable on Windows (assuming that Kitematic is installed).
  • Support spaces in the usage type’s name.
  • Makes it possible to still draw a legend for heatmaps when a covariate does not have a value for a particular sample.

1.7.0 Jan 15 2016

  • MetaR was upgraded for MPS 3.3. See the migration guide for instructions upgrading your models. Jan 8 2016

  • This version fully supports running analyses with docker on Windows. Windows users of MetaR are encouraged to install Kitematic and use the rocker-metar image for best reproducibility. Nov 9 2015

  • Configurable BioMart server for the query biomart statement. (Nov 4 2015)

  • Added HiDPI icons for retina displays.
  • Limma voom: Make it possible to adjust counts for models fit against a single continuous variable (rather a difference between averages in two groups).
  • Composable R: add empty R expression and use it when parsing code with empty function parameters. (Aug 10 2015)

  • Various bug fixes.

1.6 (Sept 28 2015)

  • Support R code directly inside a MetaR analysis. This is useful if you need to perform operations for which a statement is not available in metaR. Use alias r expressions to enter a MetaR statement that can hold a list of R expressions. See Tests/with_r example.
  • New statement: train mixed model, to enable training models with random effects (intercept and slope optionally). Use 1| alias to add a random effect. Use intention to enable/disable slope(s).

  • New statement: compare mixed models to compare the impact of differences between model. See http://www.bodowinter.com/tutorial/bw_LME_tutorial2.pdf for an excellent introduction to comparing mixed models.

  • Limma voom: Wrap lmFit in a try block to avoid stopping execution because of a frequent warning (i.e., Partial NA coefficients for .. probes).
  • Fix the Heatmap statement to represent continuous values as a gradient in the heatmap legend.
  • Improve editor for list access [ ] and element access [[ ]] and conversions between the two.
  • Biomart: Add an intention to prune the biomart registry to keep only the elements used in the specific query. This is can help reduce the footprint of the model and will significantly increase editing speed. The drawback is that you will loose complete auto-completion for that statement.
  • Make ExposedTable and ExposedColumn usable within R embedded in MetaR.

1.5 (Sept 10 2015)

  • Initial support for a composable R language. See org.campagnelab.metar.R language and RScript root node.
  • Support for fluent code parsing to facilitate entering complex code in an R Script.
  • Support running RScript root nodes directly within MPS.
  • The statement query biomart, previously developed for MetaR, is now also supported in composable R, using an adapter. Import the BiomartInR language to use the adapter. This provides an example of micro-language composition with composable R.
  • Add concept ExposedTable and ExposedColumn to refer to tables and columns created by a MetaR statement, when used inside composable R with an adapter.
  • Updated documentation with new Chapter to describe composable R.

1.4.2 (Aug 24 2015)

  1. Biomart: make database, datasets and attributes not editable (users can select them with auto-completion, but should not be able to change the description of the dataset, attribute, etc.).
  2. Run configuration: Add error messages when run configuration parameters are not valid in any way that we can determine automatically.
  3. Tables Not able to write in the pathToResolve property of Table (in order to add a  MPS path variable). 
  4. In limma voom. Add an error message to ensure that countsTable must have an ID column group.
  5. In limma voom. The ID column name must be enclosed in quotes when generating, i.e., below, genes should be “genes”.

1.4.1 (Jul 14 2015)

  1. Fix scope problem for MetaR Columns visible inside R expressions.
  2. Add column to table in the Transform table statement now correctly synchronizes the output table.
  3. Integrate support Java code for Biomart statement in the Biomart language (it was previously in an external project and used as a dependency).
  4. In the Biomart statement, the names of the columns in the output table have been fixed to match the ones created when the analysis is executed.

1.4.0 (Jun 12 2015)

  1. New Biomart language for MetaR. The query biomart statement provides a convenient way to query Biomart to retrieve data right from MetaR. The statement offers auto-completion for database and dataset names, as well as attributes and filters.
  2. Exposing R functions (from any package) as stubs and using them in analyses. This feature makes it possible to take advantage of any R package available in CRAN or Bioconductor and use functions defined in these packages inside MetaR.
  3. Ability to refer columns from imported Tables when invoking R functions. When using R functions inside MetaR, this feature gives you the ability to refer to columns visible in the current MetaR Analysis and use them as function values.
  4. Documentation: we have written new chapters to describe Simulating Dataset, using Biomart and Functions in MetaR (the documentation booklet now has 108 pages in the tablet edition).

1.3.3 (May 21 2015)

  1. New operations to rename and add columns to tables with TransformTable statement.
  2. New WithTable statement: the statement creates a block of statements that can work with a restricted set of the tables.
  3. New error message shown to the user when Heatmap does not have any group or column specified group.
  4. Fixed a scope issue with tables. Analysis can now only see tables that are explicitly imported in the script. (May 1 2015)

  1. In the linear model formula: use a GLM model if a model has one factor with more than two levels.

1.3.2 (Apr 30 2015)

  1. New Simulate statement to create test cases for continuous data.
  2. Output all the files produced by an Analysis script to org.campagnelab.metaR.results_dir/model_name/ folder.
  3. Disable deletion and addition of Columns in a Table.
  4. Show tool tip with the cell’s content in the Table Viewer Tool.
  5. Add intentions to add/remove annotations to/from columns.
  6. Make plot identifier unique within an Analysis. (Apr 20 2015)

  1. Add Limma language to metaR plugin.
  2. In the Limma statement: prevent generation when the model does not contain enough terms to adjust for covariates.
  3. Force to rebuild the analysis model each time the analysis script is executed. This is needed because changes in the environment were not reflected in the generated R code.
  4. In the Venn diagram statement: fix priorities in the generator aspect, adjust scope for visible columns IDs are extracted from an annotated table, inherit try-catch enabling from the analysis settings.
  5. Rename the default color palettes with self-explaining names.

1.3.1 (Apr 15 2015)

  1. Docker integration, to run analyses in a controlled environment and prevent any possibility of failure during R package installations (this also removes the need to install R and XQuartz separately). We currently support this feature for Mac OS and Linux. Windows support will be offered when Kitematic is ported to Windows (expected sometime in June 2015). (Apr 12 2015)

  1. Use checkpoint package in the Analysis script to make R packages installation more reproducible over time. (Apr 2 2015)

  1. Remove editor tabs for tables and column containers. They somehow conflict with the undo (cmd+Z) command in MPS 3.1.

1.3.0 (Apr 1 2015)

  1. Compatibility with MPS 3.2.
  2. Support for Limma Voom (for RNA-Seq data analysis with the popular Limma package).
  3. Support for continuous covariates in linear models (EdgeR and Limma).
  4. New models language for formulas used in linear models.
  5. Table Viewer Tool to view data in intermediate tables.
  6. Support for Venn Diagrams. (Mar 5 2015)

  1. Fix undo (cmd+Z) not working in the styles editor.
  2. Fix a path-related issue on the Windows platform.

1.2.0 (Feb 20 2015)

  1. New language for styles. Statements that produce a graphical outcome (plots, pdfs, and so on) can be associated with a style to customize their output. Styles can extend other styles for further refinement and reuse across different compatible statements. Check out our migration guide to see how to migrate your existing styles to the new language. All previous ad-hoc settings/styles for each statement have been deprecated and will be removed in a future release.
  2. Provide a range of default color palettes and basic colors for commonly used styles. New ones can be created by users.
  3. Allow to customize heatmaps with a color palette, no border and border color’s style options.
  4. Allow to enable/disable error catching during the Analysis execution.
  5. Fix NPE when checking the output file in a render statement.

1.1.6 (Feb 5 2015)

  1. Show the table structure in the inspector wherever a table is referred.
  2. Improve scope for Column references. Restrict visible nodes to the current selection(s) in the statement.
  3. Initialize the primary library folder within which R packages are installed in the Analysis script. This avoids to do the same operation in the R console the first time a MetaR script is executed.
  4. Synchronize the transform statement when a new operation on a column is added or removed.
  5. Rename build heatmap to heatmap for consistency with other plot statements.
  6. Rename Multiplot to multiplot for consistency with other plot statements.
  7. Remove create node capability from editorTabs to avoid conflicts with undo/redo commands.
  8. Add rules on the columns used to plot histograms, boxplots and fits to check that they have only numeric values.
  9. Fix join statement to manage the case when columns belonging to the joining group have the same name.
  10. Fix structure of the output table in a predict statement.
  11. Merge Expressions language into Tables language.

1.1.5 (Jan 30 2015)

  1. Improve scope for Tables, Columns and Group Usages. Restrict visible nodes to current model and context.
  2. Hyperlink execution traces to source statement in the editor. This makes it easier to follow the execution of Analysis.
  3. Catch warnings and errors occurring during the Analysis execution.
  4. Complete refactoring of the join statement. The statement now supports the joining of arbitrary tables and the usage of columns with different names as joining columns. Common columns not used for joining are suffixed with the table name to make them unique in the destination table.
  5. New intention to synchronize an Analysis script and update column previews. This can be used when the user changes annotation in a table used by an Analysis.
  6. Add an error message when a group is used in a heatmap, but is not marked with the heatmap usage.
  7. Redesign appearance for Tables, ColumnGroupsContainer and Analyses.
  8. Refactor output files to be consistent: introduce the concept OutputFile. Add a related migrations script. See instructions to apply migrations.
  9. Rename all MetaR migration script titles to start with MetaR (this makes it easier to find them).

1.1.4 (Jan 21 2015)

  1. Experimental support for the Windows platform.
  2. Handle paths with spaces. A surprising number of people have spaces in some directory name.
  3. Fix a null pointer when loading new tables and column groups have to be preserved.
  4. Add editor tabs for tables and column containers. These appear below the editor panel and show tables used by the current analysis.
  5. Report build number, commit and branch in the plugin description.
  6. Add icon for plots
  7. Display the table icon when auto-completion is invoked for tables or future tables.
  8. Fix the scope for FutureTable so that only FutureTables created before the statement where the reference is needed are displayed (i.e., do not show FutureTables created later in the analysis).

1.1.3 (Jan 13 2015)

  1. First public release.
  2. Preserve column groups when a Table path is updated to a file with the same column names.
  3. MetaR plugin is built with continuous integration on Jenkins.

1.1.1 (Jan 7 2015)

  1. Support design time preview of columns in destination tables. Re-running the script should not be needed to know which columns will be available in the destination table of a statement.
  2. Support for comment on statements/blocks.
  3. Support column types. This is necessary to support strings and integers in expressions. They are currently allowed, but highlighted as type errors.
  4. Implement an image type that refreshes when the content pointed to by filename changes.
  5. Support the creation of box plots.
  6. Support installation of biolite and other packages that cannot be simply installed with install.packages(). For instance, for EdgeR, first installation requires: source(“http://bioconductor.org/biocLite.R”)
  7. Support the creation of histograms.
  8. Export plots to PDF format to generate publication quality illustrations.
  9. Support the training of linear models on one table and independent test on a different table.