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 if exportStudy()
fails to create a tarball for a study package
Add the argument reset
to addOverlaps()
. 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
The release tarball includes version 1.1.9 of the web app
Optional support for model metadata via addModels()
and getModels()
. 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 element description
(if it exists)
New function importStudy()
to import an installed study package into R as an onStudy
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()
and getTests()
. 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 element description
(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
for createStudy()
. You can add metadata to describe your study. See ?createStudy
and the User’s Guide for more details.
New arguments maintainer
and maintainerEmail
for createStudy()
to make it easier for others to know who to contact for questions about your study
listStudies()
now returns all the fields in DESCRIPTION
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
. If reset = 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.5 of the web app
Fix bug in getResultsIntersection()
where adding additional filters resulted in more results when notTests
were specified, instead of fewer (reported by Terry Ernst, Brett Engelmann, and Wendy Waegell)
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.
New function installApp()
to download the web app after installing the R package
Support for tibble and data.table input. For consistentcy, they will be be automatically converted to pure data frame objects internally.
Bug fix: exportStudy()
now properly overwrites an existing tarball when the argument path
is used (reported by Brett Engelmann)
Bug fix: getResultsIntersection()
now properly returns the filtered table in the original order from getResultsTable()
(reported by Paul Nordlund)
Breaking change: plotStudy()
and getPlottingData()
now accept multiple featureIDs as input in order to visualize multiple feature in a single plot. The object returned by getPlottingData()
is now a list of three data frames: assays
, samples
, and features
. 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 with addPlots()
, specify the plotType
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.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
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
or 0001
The release tarball includes version 0.3.1 of the web app
User’s Guide:
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)
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 argument type
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 with install.packages()
. The option "package"
remains; it exports the study as a package directory.quiet
. Setting quiet = TRUE
will suppress any messages, such as reporting unavailable data or the use of the “default” data.Improved the messages from installStudy()
and exportStudy()
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 consistenly 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.
addTests()
is now a named list, similar to addModels()
. You will need to update your code and re-install any existing OmicNavigator study packages.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.New User’s Guide and API vignettes created with Sweave
Add summary()
method for OmicNavigator study objects (class onStudy
)
Bugfix: listStudies()
now works if its argument libraries
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 of utils::modifyList()
.
addMetaFeatures()
now automatically converts all columns to character. It throws a warning if it detects any non-character columns.
getMetaFeatures()
and getMetaFeaturesTable()
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.
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 with exportStudy()
(controlled by the new argument requireValid
). It can also be run directly.
createStudy()
now checks that the arguments name
, description
, and version
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.
getResultsTable()
was changing the original row order. Bug identified by Brett Engelmann.addFeatures()
now automatically converts all columns to character. It throws a warning if it detects any non-character columns.
getFeatures()
and getResultsTable()
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.5 of the web app
getEnrichmentsUpset()
has a new argument tests
, 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.
getMetaFeatures()
getMetaFeaturesTable()
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.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 returns data
in decreasing order of the statistic
column (requested by Paul Nordlund)
addBarcodes()
now has an additional optional field featureDisplay
. 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). If featureDisplay
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 hoverNote 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 column featureID
) and the featureID used by the annotation database (in the column featureDisplay
). The former is needed to pass to plotStudy()
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 calling detach()
with on.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 column Set_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()
and getBarcodeData()
(reported by Paul Nordlund)
Remove warning from graphics::par()
by only having plotStudy()
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 in getResultsTable()
Fix bug in getResults()
that returned columns of NA
for columns specific to other tests (only affected study packages, not onStudy objects)
getPlots()
so that it returns model-specific custom plots from the database of installed study packageChanged <=
and >=
to <
and >
, respectively, to match app UI. Affects the functions getResultsIntersection()
, getEnrichmentsIntersection()
, getResultsUpset()
, and getEnrichmentsUpset()
.
Support customization of barcode plots:
addBarcodes()
getBarcodes()
getBarcodeData()
getAnnotations()
Changed the input argument of plotStudy()
from feature
to featureID
Changed the argument name of custom plotting functions from feature
to featureID
getResultsIntersection()
getEnrichmentsIntersection()
getResultsUpset()
getEnrichmentsUpset()