Changes in version 1.6.1 - listExpressionDrugSensitivityAssociation() lists available gene expression and drug sensitivity associations - First argument of rankSimilarPerturbations() and predictTargetingDrugs() changed name from diffExprGenes to input and now accepts: - Named numeric vector containing differential gene expression values with gene symbols as names, as before; - Character vector containing a custom gene set to test for enrichment (only to use with GSEA). - In rankSimilarPerturbations() and predictTargetingDrugs(), when performing gsea method, allow to set different gene set size for top up- and down-regulated genes with geneSize argument: - 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) or geneSize=150 is equivalent - Plotting: - plot() now supports plotting predictTargetingDrugs() results for a given drug, e.g. plot(targetingDrugs, "1425") - plot() nows allows to set plot title with argument title - plot() now plots results based on available methods instead of trying to plot based on results from spearman method 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 Changes in version 1.4 New features - Predict targeting drugs (predictTargetingDrugs()): - 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 - Analyse drug set enrichment (analyseDrugSetEnrichment()): - 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) and predictTargetingDrugs() - Convert ENSEMBL identifiers to gene symbols using convertENSEMBLtoGeneSymbols() Major changes - Update the tutorial and function documentation - Remove most L1000 instances, 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() to loadENCODEsamples() - Load ENCODE samples regarding multiple cell lines and experiment targets using loadENCODEsamples() - Improve CMap data and metadata retrieval: - By default, do not return control perturbation types when using getCMapPerturbationTypes() (unless if using argument control = 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) - 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 argument loadZscores = TRUE - Display summary of loaded perturbations after running prepareCMapPerturbations() - Improve ranking of similar perturbations (rankSimilarPerturbations()): - 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 method argument) - 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 similarPerturbations object, obtained after running rankSimilarPerturbations(): - Show further metadata information (including compound data, if available) related with a given perturbation by calling print() with a similarPerturbations object and a specific perturbation identifier - Show a complete table with metadata (and compound information, if available) when calling as.table() with a similarPerturbations object - Improve plotting (plot()): - Plot comparison results against all compared data by calling plot() with the results obtained after running rankSimilarPerturbations() or predictTargetingDrugs(); non-ranked compared data can also be plotted with argument plotNonRankedPerturbations = TRUE - Render scatter and Gene Set Enrichment Analysis (GSEA) plots between differential expression results and a single perturbation by calling plot() with a perturbationChanges object (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) 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 -666 in CMap metadata as missing values and fix specific issues with metadata (such as doses displayed as 300 ng|300 ng) - In compound metadata, fix missing values showing as literal "NA" values - CMap perturbation minor improvements: - Fix error when subsetting a perturbationChanges object with only one row - Improve performance when subsetting perturbationChanges objects - 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 cellLine argument (please filter conditions with upstream functions such as filterCMapMetadata()) - 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 cmapPerturbationsCompounds and cmapPerturbationsKD datasets according to new internal changes and fix their respective code in the documentation - Include license and copyright text for cmapR code Changes in version 1.0.3 - Add tag ImmunoOncology to BiocViews Changes in version 1.0.2 - Fix comparison against CMap perturbations using gene set enrichment analysis (the resulting score was the additive inverse of the real scores) Changes in version 1.0.1 - Update title, author names, version and README - Remove biomaRt dependency - By default, getL1000conditions() now shows CMap perturbation types except for controls - Compare against CMap perturbations (compareAgainstL1000()): - 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