-
export of model metadata to JSON now follows the convention NA -> null
-
Added citation info to package and readme now references journal article
-
Update getPlottingData, plotStudy, and addPlots manuals
- The release tarball includes version 1.9.4 of the web app
- The release tarball includes version 1.9.4 of the web app
-
The release tarball includes version 1.9.3 of the web app
-
Fix bug in
importStudy()
that resulted in mapping table not being imported.
- The release tarball includes version 1.9.2 of the web app
- The release tarball includes version 1.9.1 of the web app
-
The release tarball includes version 1.9.0 of the web app
-
Update
getBarcodeData()
to pass lowest statistic value. Change enables barcode plot to accommodate negative numbers.
- The release tarball includes version 1.8.9 of the web app
- The release tarball includes version 1.8.8 of the web app
- The release tarball includes version 1.8.7 of the web app
-
Add the appropriate PKGNAME-package \alias to the package overview help file as per "Documenting packages" in R-exts
-
Update invalid URLs in documentation and tests
- The release tarball includes version 1.8.4 of the web app
- The release tarball includes version 1.8.3 of the web app
- Update check.R, function checkEnrichments to test if enrichments object have columns 'nominal' and 'adjusted' with numeric values (required).
- The release tarball includes version 1.8.1 of the web app
- The release tarball includes version 1.8.0 of the web app
- The release tarball includes version 1.7.9 of the web app
- The release tarball includes version 1.7.8 of the web app
- The release tarball includes version 1.7.7 of the web app
- The release tarball includes version 1.7.6 of the web app
-
The release tarball includes version 1.7.5 of the web app
-
Added optional arguments
annotationID
andtermID
togetResultsTable()
to filter the results table to only include features in a given annotation term
- The release tarball includes version 1.7.4 of the web app
- The release tarball includes version 1.7.3 of the web app
-
The release tarball includes version 1.7.2 of the web app
-
Update mapping data to behave in the same way as the features, samples, etc. Each element of the list must be named after a modelID or "default" to be shared across multiple modelIDs (implemented by Marco Curado in PR #12)
- Bug fix: Support missing values in character columns. Previously they were
read as empty strings (
""
). This update applies to all new as well as existing study packages (ie it is backwards compatible) (reported by Marco Curado)
-
Update
addMapping()
to add the mapping object as a list of data frames, where each data frame consists of a distinct mapping. Mapping object is required for plots combining features from multiple models (multiModel plots) (implemented by Marco Curado in PR #11) -
For multiModel plots,
getPlottingData()
returns a nested list where elements are named after modelIDs, and each list element contains at least assays, samples and features objects for the given modelID. If testID is passed to the function, it also returns the results for the provided testIDs. In this case, testID is required to be provided as a vector of the same length of modelID, where the index positions indicate which testID relates to which modelID (implemented by Marco Curado in PR #11)
- The release tarball includes version 1.7.1 of the web app
- The release tarball includes version 1.6.9 of the web app
- The release tarball includes version 1.6.8 of the web app
-
The release tarball includes version 1.6.7 of the web app
-
Bug fix: Do not allow empty sub-lists when adding elements that require a nested list (e.g.
addEnrichments()
). This can cause problems forexportStudy()
/installStudy()
, and make it appear that data is available when there is none (reported by Liang Jin and Brett Engelmann)
- The release tarball includes version 1.6.6 of the web app
- The release tarball includes version 1.6.5 of the web app
-
The release tarball includes version 1.6.4 of the web app
-
New function
combineStudies()
to combine two or more studies
-
The release tarball includes version 1.6.3 of the web app
-
Update
importStudy()
to support study packages that don't have a Maintainer listed. This was only possible prior to version 1.2.0.5. After that, any study that hasn't explicitly provided a maintainer (and maintainer email) is assigned the maintainerUnknown <unknown@unknown>
during export. It is highly recommended to set the maintainer name and email for any study package that will be shared. Furthermore,exportStudy()
will send a message when no maintainer email has been provided for a study package -
Fix infamous
drop = FALSE
bug ingetUpsetCols()
. Previously, if the results tables for a given modelID only had two total columns (the featureID column and one data column),getUpsetCols()
returned no common columns, and thus disabled the set interaction features in the app (reported by Brett Engelmann)
- The release tarball includes version 1.6.2 of the web app
- The release tarball includes version 1.6.1 of the web app
-
The release tarball includes version 1.6.0 of the web app
-
Detect custom plotting functions with
plotType == "plotly"
that don't properly return an object with class"plotly"
- The release tarball includes version 1.5.0 of the web app
- Support for custom plotly plots. Include the
plotType
"plotly"
to add custom functions that return interactive plotly graphs (implemented by Joe LoGrasso in PR #9) Front-end support will be added in a future release of the web app
- Bug fix: Detach packages in reverse order to avoid dependency conflicts.
Explanation: when plotting with
plotStudy()
, any required packages are attached temporarily and then detached. When one package "Depends" on another package (e.g. plotly Depends on ggplot2), the first package must be detached before its dependency can be detached. Now this dependency order is taken into account when detaching the packages (reported by Joe LoGrasso)
-
The release tarball includes version 1.4.1 of the web app
-
Breaking change: The function
plotStudy()
now invisibly returns the result from the custom plotting function. Previously it invisibly returned the study object. It's unlikely you relied on this behavior. For a ggplot2 plot, the return value will be the plotting object with class"ggplot"
.
- Support for new plotType multiModel. This will enable visualizations between
models of a given study. See the User's Guide for instructions. Note that
currently this is only supported when calling
plotStudy()
in the R console. Support for multiModel plots in the app will be implemented in a future release. For now, the app will send a harmless error if it encounters a multiModel plot (implemented by Marco Curado in PR #8)
- The release tarball includes version 1.4.0 of the web app
-
New study element
mapping
for mapping featureIDs across models of a study (see?addMapping
andgetMapping
). This will make it possible to create plots that combine data across models, which will be enabled in future versions (implemented by Marco Curado in PR #7) -
Bug fix: The validation of the enrichments table linkouts was too strict. It required that the annotationID be present in the annotations created by
addAnnotations()
. This extra information about the annotationID is only required for the network view. The validation now only throws an error if the annotationID was not included for at least one modelID in the enrichments data added withaddEnrichments()
(reported by Anastasia Galperina) -
Bug fix: Now that custom plots can include data from the results table, it is no longer an error to include custom plots in a study without assays or samples data (reported by Joe LoGrasso). Also relaxed the validation requirement for custom plots so that the study can contain assays data but not corresponding samples data
-
Bug fix: Custom plotting functions cannot have the same name as any of the functions defined in the base package. This error is now caught early with
addPlots()
(reported by Anastasia Galperina)
- The release tarball includes version 1.3.4 of the web app
- The release tarball includes version 1.3.3 of the web app
-
The release tarball includes version 1.3.2 of the web app
-
New
plotType
of"multiTest"
. Include this when adding a custom plot withaddPlots()
to have the app pass the results tables for all testIDs for a given modelID (implemented by Marco Curado in PR #6) -
Bug fix: The documentation states that the assays table must only contain numeric columns. However, if a user added a data frame with non-numeric columns, no warning or error occurred. Now
addAssays()
will throw an error if it detects any non-numeric columns (reported by Anastasia Galperina in WebApp Issue #57)
- The release tarball includes version 1.3.1 of the web app
-
The release tarball includes version 1.2.1 of the web app
-
Both
plotStudy()
andgetPlottingData()
gained a new argumenttestID
. If supplied, the R object passed to your custom plotting function will include the elementresults
that contains the rows of the results table for that testID for the provided featureID(s). The app always passes the testID when callingplotStudy()
. If your plotting function doesn't need the information in the results table, it will continue to work as before (implemented by Marco Curado in PR #4)
-
Bug fix: Prevent a single missing value in an ID column that is required to be unique (reported by Marco Rocha Curado)
-
Report the error message from
R CMD build
as a warning ifexportStudy()
fails to create a tarball for a study package -
Add the argument
reset
toaddOverlaps()
. You would only potentially need this if you are pre-calculating the annotation term overlaps prior to exporting the study -
Skip tests that fail only on CRAN Linux and macOS machines. The tests will continue to run on GitHub Actions
- Prepare for CRAN submission
-
The release tarball includes version 1.1.9 of the web app
-
Optional support for model metadata via
addModels()
andgetModels()
. Previously you could only add a single string to describe each modelID, which would be displayed in the app as a tooltip. Now you also have the option to provide a list with arbitrary metadata. The tooltip is derived from the list elementdescription
(if it exists)
-
New function
importStudy()
to import an installed study package into R as anonStudy
object. This is intended to be used to edit a study when you don't have access to the original data and code that created it -
Optional support for test metadata via
addTests()
andgetTests()
. Previously you could only add a single string to describe each testID, which would be displayed in the app as a tooltip. Now you also have the option to provide a list with arbitrary metadata. The tooltip is derived from the list elementdescription
(if it exists)
-
The release tarball includes version 1.1.8 of the web app
-
New function
removeStudy()
to remove an installed study package -
New argument
studyMeta
forcreateStudy()
. You can add metadata to describe your study. See?createStudy
and the User's Guide for more details. -
New arguments
maintainer
andmaintainerEmail
forcreateStudy()
to make it easier for others to know who to contact for questions about your study -
listStudies()
now returns all the fields inDESCRIPTION
for each study package -
Fixed minor bug in
listStudies()
. It couldn't find study packages in directories not included in.libPaths()
. This likely only affected the unit tests.
-
The release tarball includes version 1.1.7 of the web app
-
Added support for linkouts in metaFeatures table. See
?addMetaFeaturesLinkouts
for details. These linkouts will be displayed as favicons in the metaFeatures table in a future release of the app. -
The "add" functions have a new argument,
reset
. Ifreset = TRUE
, then the existing data is removed prior to adding the new data. The default continues to be to add to or modify any existing data.
- The release tarball includes version 1.1.6 of the web app
- Package functions are now "data.table aware". This is an internal change only. The output is unaffected, and functions are potentially faster.
-
The release tarball includes version 1.1.5 of the web app
-
Fix bug in
getResultsIntersection()
where adding additional filters resulted in more results whennotTests
were specified, instead of fewer (reported by Terry Ernst, Brett Engelmann, and Wendy Waegell)
- The release tarball includes version 1.1.3 of the web app
-
The release tarball includes version 1.1.2 of the web app
-
Bug fix:
exportStudy()
can now export a study as a package tarball to a path that contains spaces or quotes (reported by Naim Mahi and Brett Engelmann) -
Bug fix: Study packages will now use custom description if supplied to
createStudy()
. Hover over the study name in the app to see the custom package description (reported by Paul Nordlund and Brett Engelmann)
-
The release tarball includes version 1.1.1 of the web app
-
Bug fix:
installApp()
now properly searches for the installed OmicNavigator package. It usually worked before, but now it should always work.
- The release tarball includes version 1.1.0 of the web app
-
New function
installApp()
to download the web app after installing the R package -
Support for tibble and data.table input. For consistency, they will be be automatically converted to pure data frame objects internally.
-
Bug fix:
exportStudy()
now properly overwrites an existing tarball when the argumentpath
is used (reported by Brett Engelmann) -
Bug fix:
getResultsIntersection()
now properly returns the filtered table in the original order fromgetResultsTable()
(reported by Paul Nordlund)
- The release tarball includes version 1.0.0 of the web app
- UpSet plots now display a maximum of 30 intersections (previously was 40)
- UpSet plots now no longer display empty intersections
- The release tarball includes version 0.3.8 of the web app
- Report versions of R package and app when first attached
- Send warning if the version of the app is not the version pinned to the installed version of the R package
-
Breaking change:
plotStudy()
andgetPlottingData()
now accept multiple featureIDs as input in order to visualize multiple feature in a single plot. The object returned bygetPlottingData()
is now a list of three data frames:assays
,samples
, andfeatures
. Thus you can annotate your plots with any feature metadata. You will need to update your custom plotting functions to accept one argument (you can name it whatever you like). Also, when adding plots withaddPlots()
, specify theplotType
as"singleFeature"
or"multipleFeature"
to accept a single or multiple featureIDs, respectively. The app currently only supports singleFeature custom plots, but will soon support multiFeature plots as well. Study packages must be rebuilt with OmicNavigator 0.24.0. -
Fix bug in
getResultsUpset()
that failed when using the absolute value filters (|<|
,|>|
) -
getResultsUpset()
now throws an error when there are no features remaining for plotting after the filters are applied
- The release tarball includes version 0.3.7 of the web app
-
The release tarball includes version 0.3.6 of the web app
-
Use faviconPlease to find URLs to favicons for table linkouts
-
Optimize
getResultsUpset()
for speed. Input remains unchanged. The plotting data is now returned invisibly. The default font size for the UpSet plot was increased. -
Apply MIT license
-
Fix bug in
getResultsIntersection()
when a modelID has no features table. The "Set_Membership" column was returned in the first column instead of after the featureID column (reported by Joe Dalen and Paul Nordlund) -
Fix bug in
getResultsUpset()
when the results tables have differing number of features
- The release tarball includes version 0.3.5.3 of the web app
- The release tarball includes version 0.3.5.2 of the web app
- The release tarball includes version 0.3.5.1 of the web app
- The release tarball includes version 0.3.5 of the web app
- The release tarball includes version 0.3.4 of the web app
- New function
getFavicons()
to obtain URLs to favicons to display table linkouts. Currently just a wrapper around Google's favicon service, but in the future will be more sophisticated.
-
The release tarball includes version 0.3.3 of the web app
-
Improved support for numeric-looking featureIDs, e.g.
1234
or0001
- The release tarball includes version 0.3.2.1 of the web app
- The release tarball includes version 0.3.2 of the web app
-
The release tarball includes version 0.3.1 of the web app
-
User's Guide:
- Document minimal valid study
- New section: Mapping between data elements and app features
- Add linkouts to results and enrichments tables
-
Moved UpSetR to a suggested dependency. This allows for a light-weight installation when you only need to create a study and not run the app. As an example, a continuous integration job that builds a study package tarball.
-
Relax some of the validation requirements. Not all the featureIDs in the results tables must be in the features or metaFeatures tables.
-
If a study has no features table for a modelID, a study can still have linkouts to external resources in the results table, as long as the linkouts only refer to the featureID column.
-
validateStudy()
now throws an error if the results and features table for a given modelID share any column names in addition to the featureID column. In other words, it validates that the only column name in common between the two tables is the first column.
-
The release tarball includes version 0.2.8 of the web app
-
validateStudy()
now throws an error if there are any featureIDs in the metaFeatures table that are not included in the features table (reported by Paul Nordlund)
- The release tarball includes version 0.2.7 of the web app
- The release tarball includes version 0.2.6.1 of the web app
-
Support for linkouts to external resources in results and enrichments tables
-
New function
getPackageVersion()
for the app to conveniently query the current installed version of the R package
-
The release tarball includes version 0.2.5 of the web app
-
validateStudy()
now throws a warning if the results tables for the tests of a model have no common columns. The lack of common columns will disable the UpSet filtering in the app for that model.
exportStudy()
- The argumenttype
has changed. Studies can no longer be exported as RDS (type = "rds")
or text files (type = "text"
). This is because these were no longer able to capture all of the information that can potentially be included in a study package (e.g. custom plotting functions, report files). Instead, the default is now the new option"tarball"
. This will export the study package as a source package tarball, which is ready to be installed directly withinstall.packages()
. The option"package"
remains; it exports the study as a package directory.
- The "get" functions have a new argument
quiet
. Settingquiet = TRUE
will suppress any messages, such as reporting unavailable data or the use of the "default" data.
-
Improved the messages from
installStudy()
andexportStudy()
-
validateStudy()
now performs more in-depth check to validate that the featureIDs are consistent between the results, features, and assays tables
-
Most package functions now consistently return empty data structures (e.g.
list()
) when a query requests data that is unavailable. Previously the functions would throw an error if the requested data was unavailable. There is a new section in the API vignette documenting this behavior for the functions called by the app. -
It is now possible to export a study that only contains a single results table.
- The release tarball includes version 0.2.4.1 of the web app
- The release tarball includes version 0.2.4 of the web app
- Changed name of app and R package from OmicAnalyzer to OmicNavigator. This breaks all previously installed study packages. Re-run your scripts to re-install the study packages. Also note that the default study package prefix has changed from "OAstudy" to "ONstudy".
- The release tarball includes version 0.2.3 of the web app
- The input to
addTests()
is now a named list, similar toaddModels()
. You will need to update your code and re-install any existing OmicNavigator study packages.
- New package option
OmicNavigator.prefix
to control the prefix used to label OmicNavigator study packages. The default is still "OAstudy". Run?OmicNavigator
for more information on OmicNavigator package options.
- The release tarball includes version 0.2.2 of the web app
- The release tarball includes version 0.2.1 of the web app
-
New User's Guide and API vignettes created with Sweave
-
Add
summary()
method for OmicNavigator study objects (classonStudy
) -
Bugfix:
listStudies()
now works if its argumentlibraries
is pointed to a specific directory
-
The release tarball includes version 0.1.9.1 of the web app
-
Remove the argument
overwrite
for the add functions, e.g.addSamples()
. Instead subsequent calls to the same add function will update the existing data using the rules ofutils::modifyList()
. -
addMetaFeatures()
now automatically converts all columns to character. It throws a warning if it detects any non-character columns. -
getMetaFeatures()
andgetMetaFeaturesTable()
always return the columns of the features table as character strings, even if they appear numeric. -
Support the option to manually calculate pairwise overlaps with
addOverlaps()
prior to installing or exporting the study package.
- The release tarball includes version 0.1.8 of the web app
-
Support for linking to external analysis report files (
addReports()
,getReports()
,getReportLink()
). Accepts a URL or a path to file. -
New function
validateStudy()
to validate a study. It is automatically run prior to exporting withexportStudy()
(controlled by the new argumentrequireValid
). It can also be run directly. -
createStudy()
now checks that the argumentsname
,description
, andversion
are valid. -
exportStudy()
no longer exports empty directories for unused elements of the OmicNavigator study object. -
Bug fix:
getMetaFeaturesTable()
now properly returns a data frame even if it only contains one column.
- Bug fix: Preserve input order for results table. Due to the merge with the
features table,
getResultsTable()
was changing the original row order. Bug identified by Brett Engelmann.
- The release tarball includes version 0.1.7 of the web app
-
addFeatures()
now automatically converts all columns to character. It throws a warning if it detects any non-character columns. -
getFeatures()
andgetResultsTable()
always return the columns of the features table as character strings, even if they appear numeric.
This release includes substantial internal changes. The study data is now
exported as plaintext files instead of as an SQLite file. There are no changes
to the API, so no changes need to be made to R scripts or the JavaScript
frontend. However, since the storage mechanism has changed, all existing
OmicNavigator studies need to be reinstalled in order to be compatible with this
version. Furthermore, the dependencies have changed, so you may have to re-run
remotes::install_deps()
.
- The release tarball includes version 0.1.6 of the web app
-
The release tarball includes version 0.1.5 of the web app
-
getEnrichmentsUpset()
has a new argumenttests
, which restricts the UpSet plot to only include the desired tests (#1, Justin Moore)
-
The release tarball includes version 0.1.4 of the web app
-
If
startApp()
is unable to run because the package was installed without the bundled web app, provide the URL for the releases page to download the tarball. Also offer to open the page in the browser.
- More documentation of function arguments
- New function
getMetaFeatures()
- New function
getMetaFeaturesTable()
- The release tarball includes version 0.1.3 of the web app
-
Fix bug in
getResultsIntersection()
introduced in commit ff1ac89 and released in version 0.7.0 -
The release tarball includes version 0.1.2 of the web app
- The release tarball includes version 0.1.1 of the web app
-
The release tarball includes version 0.1.0 of the web app. Run
startApp()
to run it locally. -
New function
getUpsetCols()
to get the columns common across all tests of a model, and thus are available for filtering with UpSet. -
getBarcodeData()
now returnsdata
in decreasing order of thestatistic
column (requested by Paul Nordlund) -
addBarcodes()
now has an additional optional fieldfeatureDisplay
. This can be set to any column of the features table, and that feature metadata variable will be used to label the barcode plot (requested by Paul Nordlund). IffeatureDisplay
is not set, it will be automatically set to the feature metadata variable used in the enrichment analysis.getBarcodeData()
now returns three feature-related columns:featureID
- The unique feature variable used in the inference results tablefeatureEnrichment
- The feature variable used to perform the enrichment analysis with the given annotation databasefeatureDisplay
- The feature variable to use to label the barcode plot on hover
Note that these will all be identical in the simple case where the study
featureID
is used for the enrichment analysis.
-
getBarcodeData()
now returns both the study featureID (in the columnfeatureID
) and the featureID used by the annotation database (in the columnfeatureDisplay
). The former is needed to pass toplotStudy()
to generate any custom plots. The latter is needed to display when hovering over the barcode plot (reported by Paul Nordlund). -
Fix bug in
plotStudy()
related to detaching package namespaces. When a custom plot specified more than one package dependency, the last package listed would always be detached from the search path (even if it shouldn't have been since it was already attached). Furthermore, the other packages would never be detached (even if they should have been since they were not attached beforehand). The bug was caused by callingdetach()
withon.exit()
, which used the latest value of the variable.
-
New function
getPlottingData()
to return the data required by the first argument of the custom plotting functions. -
getResultsIntersection()
positions the columnSet_Membership
between the feature metadata variable columns and the results columns -
Study packages that includes plots using base graphics now import the graphics package
-
Fix bug when querying model-specific barcode metadata. Affected both
getBarcodes()
andgetBarcodeData()
(reported by Paul Nordlund) -
Remove warning from
graphics::par()
by only havingplotStudy()
reset the graphing parameters if they are changed by the custom plotting function
-
New function
startApp()
to start the app running on local machine -
Fix bug in
getResultsIntersection()
so that it returns the feature metadata columns that are included ingetResultsTable()
-
Fix bug in
getResults()
that returned columns ofNA
for columns specific to other tests (only affected study packages, not onStudy objects)
- Fix bug in
getPlots()
so that it returns model-specific custom plots from the database of installed study package
-
Changed
<=
and>=
to<
and>
, respectively, to match app UI. Affects the functionsgetResultsIntersection()
,getEnrichmentsIntersection()
,getResultsUpset()
, andgetEnrichmentsUpset()
. -
Support customization of barcode plots:
addBarcodes()
getBarcodes()
getBarcodeData()
-
getAnnotations()
-
Changed the input argument of
plotStudy()
fromfeature
tofeatureID
-
Changed the argument name of custom plotting functions from
feature
tofeatureID
getResultsIntersection()
getEnrichmentsIntersection()
getResultsUpset()
getEnrichmentsUpset()