Recent Releases of cTRAP
cTRAP - 1.12.0
Web server support (optimised to run in ShinyProxy)
cTRAP(): new global interface with all cTRAP functionality in one place- Sessions can be created and loaded via a token or a RDS file
- Session data is automatically saved in a RDS file to a folder in the working directory named based on the current session token
- Long-running tasks can be performed in the background using the Celery task manager via Flower's REST API and their output is automatically loaded in the corresponding session
- Loading icon in navigation menu when Shiny is busy
- Use the faster and efficient file format from R package
qsinstead ofRDS:- Faster download and loading of pre-processed remote files (compound molecular descriptors and gene expression and drug sensitivity associations)
Bug fixes and minor improvements
convertGeneIdentifiers()replacesconvertENSEMBLtoGeneSymbols():- Use AnnotationHub to convert to gene symbols (instead of biomaRt that has been unstable)
loadENCODEsamples():- New argument to select folder where to download data
analyseDrugSetEnrichment():- Cross-match more compounds between datasets by discarding non-alphanumeric characters and ignoring case
- Fix incorrect columns used for each dataset when merging datasets
- Visual interface:
- Fix crash when plotting dataset comparison using values with too many zeroes for density estimation
- Add progress bars for slower tasks
- Fix crash when using shiny 1.7.0 (avoid malformed, custom UI elements)
- Drug set enrichment analysis interface:
- Show all drug sets available to (down)load
- Show loading indicator when loading different drug sets
- Hide "leading edge" column of the results by default
- R
Published by nuno-agostinho over 4 years ago
cTRAP - 1.10.0
Improvements to graphical interface functions:
- New
launchDrugSetEnrichmentAnalysis()function to analyse drug set enrichment and visualize respective results launchCMapDataLoader():- Now allows to load multiple CMap perturbation types simultaneously
- Keep selected timepoint, dosage and cell line options when selecting another perturbation type
- Add bubble plot of CMap perturbation types
launchResultPlotter():- Now allows to view tables below specific plots and drag-and-select those plots to filter data in those same tables
- When plotting targeting drugs and similar perturbations, update available columns and correctly use user selected column to plot
launchMetadataViewer()now correctly parses values fromInputattributes as numeric
Major changes
prepareCMapPerturbations(): directly set perturbation type, cell line, timepoint and dosage conditions as argumentsrankSimilarPerturbations()andpredictTargetingDrugs():- Avoid redundant loading of data chunks, slightly decreasing run time
- Lower memory footprint when using NCI60's gene expression and drug sensitivity association (now available in HDF5 files) by loading and processing data in chunks
- Faster GSEA-based score calculation (up to 4-7 times faster)
- New
threadsargument allows to set number of parallel threads (not supported on Windows) - New
chunkGiBargument allows to set size of data chunks when reading from supported HDF5 files (decreases peak RAM usage) - New
verboseargument allows to increase details printed in the console
prepareDrugSets(): allow greater control on the creation of bins based on numeric columns, including the setting of maximum number of bins per column and minimum bin sizeanalyseDrugSetEnrichment()andplotDrugSetEnrichment(): allow to select columns to use when comparing compound identifiers between datasets
Bug fixes and minor changes
filterCMapMetadata(): allow filtering CMap metadata based on multiple perturbation typesprepareDrugSets(): fix issues with 3D descriptors containing missing valuesplot():- Fix wrong labels when plotting
targetingDrugsobjects - Avoid printing "NA" in labels identifying metadata for perturbations
- Fix wrong labels when plotting
plotTargetingDrugsVSsimilarPerturbations():- Fix highlighting of plot points depending whether drug activity is directly proportional to drug sensitivity
- Include rug plot
- When subsetting a
perturbationChangesor anexpressionDrugSensitivityAssociationobject, passing only one argument extracts its columns as in previous versions of cTRAP (similarly to when subsetting adata.frame) analyseDrugSetEnrichment(): for the resulting table, the name of the first column was renamed frompathwaytodescriptor
- R
Published by nuno-agostinho about 5 years ago
cTRAP - 1.8
Interactive functions for loading data and analysing results
- New Shiny-based graphical interface functions:
launchDiffExprLoader(): load differential expression datalaunchCMapDataLoader(): load CMap datalaunchResultPlotter(): view and plot data resultslaunchMetadataViewer(): check metadata of a given object
Major changes
downloadENCODEknockdownMetadata(): metadata is now automatically saved to a file in order to avoid downloading metadata every time this function is runplotTargetingDrugsVSsimilarPerturbations():- automatically look for matching compounds in multiple columns of both datasets
- allow to manually select columns on which to merge datasets
prepareDrugSets(): drug sets based on numeric molecular descriptors are now prepared using evenly-distributed intervals- Simplified tutorial
- R
Published by nuno-agostinho over 5 years ago
cTRAP - 1.6.1
listExpressionDrugSensitivityAssociation()lists available gene expression and drug sensitivity associations- First argument of
rankSimilarPerturbations()andpredictTargetingDrugs()changed name fromdiffExprGenestoinputand now accepts:Named numeric vectorcontaining differential gene expression values with gene symbols as names, as before;Character vectorcontaining a custom gene set to test for enrichment (only to use with GSEA).
- In
rankSimilarPerturbations()andpredictTargetingDrugs(), when performinggseamethod, allow to set different gene set size for top up- and down-regulated genes withgeneSizeargument:- e.g.
geneSize=c(100, 200)creates gene sets from the top 100 up- and top 200 down-regulated genes - using
geneSize=c(150, 150)orgeneSize=150is equivalent
- e.g.
- Plotting:
plot()now supports plottingpredictTargetingDrugs()results for a given drug, e.g.plot(targetingDrugs, "1425")plot()nows allows to set plot title with argumenttitleplot()now plots results based on available methods instead of trying to plot based on results fromspearmanmethod only- GSEA plots now support two or less gene hits
- GSEA plots now support plotting of multiple perturbations
- GESA plots now show the first and last values of ranked genes
plotDrugSetEnrichment()now returns a list whose names are drug set names
as.table()improvements:- Return cell identifiers and gene information (if available and as needed)
- Support
predictTargetingDrugs()results - Return results ordered as found on input
Bug fixes and minor changes
downloadENCODEknockdownMetadata()now correctly retrieves metadata following a change in the metadata content from ENCODE- Fix bugs when rendering GSEA plots due to deprecated functions in
ggplot2 - Improve tutorial
- Copy-edit CMap-related console messages
- Copy-edit function documentation
- R
Published by nuno-agostinho almost 6 years ago
cTRAP - 1.4
New features
- Predict targeting drugs (
predictTargetingDrug()):- Based on expression and drug sensitivity associations derived from NCI60, CTRP and GDSC data (see
loadExpressionDrugSensitivityAssociation()) - Compare user-provided differential expression profile with gene expression and drug sensitivity associations to predict targeting drugs and their targeted genes
- Compounds are ranked based on their relative targeting potential
- Plot candidate targeting drugs against ranked compound perturbations using
plotTargetingDrugsVSsimilarPerturbations(), highlighting compounds that selectively select against cells with a similar differential gene expression profile
- Based on expression and drug sensitivity associations derived from NCI60, CTRP and GDSC data (see
- Analyse drug set enrichment (
performDSEA()):- Prepare drug sets based on a table with compound identifiers and respective 2D and 3D molecular descriptors using
prepareDrugSets() - Test drug set enrichment on results from
rankSimilarPerturbations()(when ranking against compound perturbations) andpredictTargetingDrugs()
- Prepare drug sets based on a table with compound identifiers and respective 2D and 3D molecular descriptors using
- Convert ENSEMBL identifiers to gene symbols using
convertENSEMBLtoGeneSymbols()
Major changes
- Update the tutorial and function documentation
- Remove most
L1000instances, including in function names:getL1000perturbationTypes()->getCMapPerturbationTypes()getL1000conditions()->getCMapConditions()downloadL1000data()->loadCMapData()filterL1000metadata()->filterCMapMetadata()loadL1000perturbations()->prepareCMapPerturbations()compareAgainstL1000()->rankSimilarPerturbations()plotL1000comparison()->plot()
- Improve loading of ENCODE samples (
loadENCODEsamples()):- Rename function from
downloadENCODEsamples()toloadENCODEsamples() - Load ENCODE samples regarding multiple cell lines and experiment targets
using
loadENCODEsamples()
- Rename function from
- Improve CMap data and metadata retrieval:
- By default, do not return control perturbation types when using
getCMapPerturbationTypes()(unless if using argumentcontrol = TRUE) - Parse CMap identifiers using
parseCMapID() - Load CMap's compound metadata using
loadCMapData() - Ask to download CMap perturbations z-scores file for differential expression if not found (avoiding downloading a huge file without user consent)
- By default, do not return control perturbation types when using
- Improve preparation of CMap perturbations (
prepareCMapPerturbations()):- Allow to load CMap metadata directly from files when using file paths as arguments of
prepareCMapPerturbations() - Significantly decrease memory required to use cTRAP by loading chunks of z-scores from CMap perturbations on-demand (a slight decrease in time performance is expected), unless
prepareCMapPerturbations()is run with argumentloadZscores = TRUE - Display summary of loaded perturbations after running
prepareCMapPerturbations()
- Allow to load CMap metadata directly from files when using file paths as arguments of
- Improve ranking of similar perturbations (
rankSimilarPerturbation()):- Redesigned output: long (instead of wide) table
- By default, calculate mean across cell lines if there is more than one cell line available; disabled if argument
cellLineMean = FALSE - Allow to rank (or not) individual cell line perturbations (argument
rankIndividualCellLinePerturbations) when the mean is calculated - Allow to perform multiple comparison methods if desired (by providing a vector of supported methods via the
methodargument) - Calculate the rank product's rank to assess ranks across multiple methods
- Sort results based on rank product's rank (or the rank of the only comparison method performed, otherwise)
- Include information for calculated means across cell lines in metadata
- Include run time as an attribute
- Improve metadata display for a
similarPerturbationsobject, obtained after runningrankSimilarPerturbations():- Show further metadata information (including compound data, if available) related with a given perturbation by calling
print()with asimilarPerturbationsobject and a specific perturbation identifier - Show a complete table with metadata (and compound information, if available) when calling
as.table()with asimilarPerturbationsobject
- Show further metadata information (including compound data, if available) related with a given perturbation by calling
- Improve plotting (
plot()):- Plot comparison results against all compared data by calling
plot()with the results obtained after runningrankSimilarPerturbations()orpredictTargetingDrugs(); non-ranked compared data can also be plotted with argumentplotNonRankedPerturbations = TRUE - Render scatter and Gene Set Enrichment Analysis (GSEA) plots between differential expression results and a single perturbation by calling
plot()with aperturbationChangesobject (if an identifier regarding the summary of multiple perturbations scores across cell lines is given, the plots are coloured by cell line) - When displaying GSEA plots, plot results for most up- and down-regulated user-provided differentially expressed genes (by default)
- Improve GSEA plot style, including rug plot in enrichment score plot (replacing the gene hit plot)
- Plot comparison results against all compared data by calling
Bug fixes and minor changes
- CMap metadata minor improvements:
- Improve list returned by
getCMapConditions(), including sorting of dose and time points - Correctly set instances of
-666in CMap metadata as missing values and fix specific issues with metadata (such as doses displayed as300 ng|300 ng) - In compound metadata, fix missing values showing as literal "NA" values
- Improve list returned by
- CMap perturbation minor improvements:
- Fix error when subsetting a
perturbationChangesobject with only one row - Improve performance when subsetting
perturbationChangesobjects
- Fix error when subsetting a
- Minor improvements to
rankSimilarPerturbations():- Correctly set name of perturbations depending on their type (genes, biological agents or compounds)
- Improve performance when correlating against multiple cell lines
- Remove
cellLineargument (please filter conditions with upstream functions such asfilterCMapMetadata()) - Fix incorrect label of first column identifiers
- Report run time and settings used
- Perform comparisons against perturbations disregarding their cell lines (faster runtime)
- Fix error when trying to calculate the mean for cell lines with no intersecting conditions available
- Clearly state to the user when no intersecting genes were found between input dataset and CMap data
- Minor improvements to
plot():- Improve rendering performance of the GSEA plot
- Fix disproportionate height between top and bottom enrichment score panels in GSEA plots
- Update demo datasets:
- Update the
cmapPerturbationsCompoundsandcmapPerturbationsKDdatasets according to new internal changes and fix their respective code in the documentation
- Update the
- Include license and copyright text for cmapR code
- R
Published by nuno-agostinho over 6 years ago
cTRAP - 1.0.1
- Update title, author names, version and README
- Remove biomaRt dependency
- By default,
getL1000conditionsnow shows CMap perturbation types except for controls - Compare against CMap perturbations (
compareAgainstL1000function):- Remove "_t" from resulting column names (as the t-statistic may or may not be used)
- Select p-value adjustment method when performing correlation analyses (Benjamini-Hochberg is set by default)
- Documentation:
- Fix obsolete function calls in function documentation
- Hide non-exported functions from reference PDF manual
- R
Published by nuno-agostinho over 7 years ago