Title: | Revealing Splicing Dynamics at Single-Cell Resolution |
---|---|
Description: | Alternative splicing represents an additional and underappreciated layer of complexity underlying gene expression profiles. Nevertheless, there remains hitherto a paucity of software to investigate splicing dynamics at single-cell resolution. 'MARVEL' enables splicing analysis of single-cell RNA-sequencing data generated from plate- and droplet-based library preparation methods. |
Authors: | Sean Wen [aut, cre] |
Maintainer: | Sean Wen <[email protected]> |
License: | GPL-3 |
Version: | 1.4.0 |
Built: | 2024-12-25 07:06:47 UTC |
Source: | CRAN |
Performs differential gene expression analysis specified gene across for all possible pairs of cell groups. The gene and cell groups were defined earlier in adhocGene.TabulateExpression.Gene.10x
function.
adhocGene.DE.Gene.10x(MarvelObject)
adhocGene.DE.Gene.10x(MarvelObject)
MarvelObject |
Marvel object. S3 object generated from |
An object of class S3 with new slots MarvelObject$adhocGene$DE$Gene$Data
.
marvel.demo.10x <- readRDS(system.file("extdata/data", "marvel.demo.10x.rds", package="MARVEL") ) marvel.demo.10x <- adhocGene.DE.Gene.10x(MarvelObject=marvel.demo.10x) # Check output marvel.demo.10x$adhocGene$DE$Gene$Data
marvel.demo.10x <- readRDS(system.file("extdata/data", "marvel.demo.10x.rds", package="MARVEL") ) marvel.demo.10x <- adhocGene.DE.Gene.10x(MarvelObject=marvel.demo.10x) # Check output marvel.demo.10x$adhocGene$DE$Gene$Data
Performs differential splice junction analysis specified gene across for all possible pairs of cell groups. The gene and cell groups were defined earlier in adhocGene.TabulateExpression.Gene.10x
function.
adhocGene.DE.PSI.10x(MarvelObject)
adhocGene.DE.PSI.10x(MarvelObject)
MarvelObject |
Marvel object. S3 object generated from |
An object of class S3 with new slots MarvelObject$adhocGene$DE$PSI$Data
.
marvel.demo.10x <- readRDS(system.file("extdata/data", "marvel.demo.10x.rds", package="MARVEL") ) marvel.demo.10x <- adhocGene.DE.PSI.10x(MarvelObject=marvel.demo.10x) # Check output marvel.demo.10x$adhocGene$DE$PSI$Data
marvel.demo.10x <- readRDS(system.file("extdata/data", "marvel.demo.10x.rds", package="MARVEL") ) marvel.demo.10x <- adhocGene.DE.PSI.10x(MarvelObject=marvel.demo.10x) # Check output marvel.demo.10x$adhocGene$DE$PSI$Data
Scatterplot of results from differential gene and splice junction analysis. x-axis represents the gene expression log2 fold change between the different pairs of cell groups. y-axis represents the PSI differences or log2 fold change between the different pairs of cell groups.
adhocGene.PlotDEValues.10x( MarvelObject, coord.intron, log2fc.gene = 0.5, delta.sj = 5, label.size = 2, point.size = 2, xmin = NULL, xmax = NULL, ymin = NULL, ymax = NULL )
adhocGene.PlotDEValues.10x( MarvelObject, coord.intron, log2fc.gene = 0.5, delta.sj = 5, label.size = 2, point.size = 2, xmin = NULL, xmax = NULL, ymin = NULL, ymax = NULL )
MarvelObject |
Marvel object. S3 object generated from |
coord.intron |
Character string. Coordinates of splice junction whose differential splice junction results will be plotted. |
log2fc.gene |
Numeric value. Absolute log2 fold change, above which, the gene is considered differentially expressed. |
delta.sj |
Numeric value. Absolute differences in average PSI values between the two cell groups, above which, the splice junction is considered differentially spliced. |
label.size |
Numeric value. The font size of the group comparison labels on the plot will be adjusted to the size specified here. Default is |
point.size |
Numeric value. Size of data points. Default is |
xmin |
Numeric value. Minimum x-axis value. |
xmax |
Numeric value. Maximum x-axis value. |
ymin |
Numeric value. Minimum y-axis value. |
ymax |
Numeric value. Maximum y-axis value. |
An object of class S3 with a new slots MarvelObject$adhocGene$DE$VolcanoPlot$Plot
and MarvelObject$adhocGene$DE$VolcanoPlot$Table
.
marvel.demo.10x <- readRDS(system.file("extdata/data", "marvel.demo.10x.rds", package="MARVEL") ) # Define SJ to plot coord.intron <- marvel.demo.10x$adhocGene$DE$PSI$Data$coord.intron[1] # Plot SJ vs gene marvel.demo.10x <- adhocGene.PlotDEValues.10x( MarvelObject=marvel.demo.10x, coord.intron=coord.intron, log2fc.gene=0.5, delta.sj=5, label.size=2, point.size=2, xmin=-2.0, xmax=2.0, ymin=-25, ymax=25 ) # Check output marvel.demo.10x$adhocGene$DE$VolcanoPlot$Plot
marvel.demo.10x <- readRDS(system.file("extdata/data", "marvel.demo.10x.rds", package="MARVEL") ) # Define SJ to plot coord.intron <- marvel.demo.10x$adhocGene$DE$PSI$Data$coord.intron[1] # Plot SJ vs gene marvel.demo.10x <- adhocGene.PlotDEValues.10x( MarvelObject=marvel.demo.10x, coord.intron=coord.intron, log2fc.gene=0.5, delta.sj=5, label.size=2, point.size=2, xmin=-2.0, xmax=2.0, ymin=-25, ymax=25 ) # Check output marvel.demo.10x$adhocGene$DE$VolcanoPlot$Plot
Plots the locations of specified splice junction relative to isoforms. List of isoforms are retrieved from GTF.
adhocGene.PlotSJPosition.10x( MarvelObject, coord.intron, coord.intron.ext = 50, rescale_introns = FALSE, show.protein.coding.only = TRUE, anno.label.size = 3, anno.colors = c("black", "gray", "red") )
adhocGene.PlotSJPosition.10x( MarvelObject, coord.intron, coord.intron.ext = 50, rescale_introns = FALSE, show.protein.coding.only = TRUE, anno.label.size = 3, anno.colors = c("black", "gray", "red") )
MarvelObject |
Marvel object. S3 object generated from |
coord.intron |
Character string. Coordinates of splice junction whose splice junction will be plotted. |
coord.intron.ext |
Numeric value. Number of bases to extend the splice junction start and end coordinates into the exons. Helpful to enhance splice junction locations on the plot. Default is |
rescale_introns |
Logical value. If set to |
show.protein.coding.only |
Logical value. If set to |
anno.label.size |
Numeric value. Font size of isoform ID labels. Default is |
anno.colors |
Vector of character strings. Colors for non-coding UTRs, coding exons, and splice junctions, respectively. Default is |
An object of class S3 with new slots MarvelObject$adhocGene$SJPosition$Plot
, MarvelObject$adhocGene$SJPosition$metadata
, MarvelObject$adhocGene$SJPosition$exonfile
, and MarvelObject$adhocGene$SJPosition$cdsfile
.
marvel.demo.10x <- readRDS(system.file("extdata/data", "marvel.demo.10x.rds", package="MARVEL") ) marvel.demo.10x <- adhocGene.PlotSJPosition.10x( MarvelObject=marvel.demo.10x, coord.intron="chr1:100:1001", rescale_introns=FALSE, show.protein.coding.only=TRUE, anno.label.size=1.5 )
marvel.demo.10x <- readRDS(system.file("extdata/data", "marvel.demo.10x.rds", package="MARVEL") ) marvel.demo.10x <- adhocGene.PlotSJPosition.10x( MarvelObject=marvel.demo.10x, coord.intron="chr1:100:1001", rescale_introns=FALSE, show.protein.coding.only=TRUE, anno.label.size=1.5 )
Creates a dotplot of average expression value of a specified gene across different cell groups.
adhocGene.TabulateExpression.Gene.10x( MarvelObject, cell.group.list, gene_short_name, log2.transform = TRUE, min.pct.cells = 10, downsample = FALSE, seed = 1 )
adhocGene.TabulateExpression.Gene.10x( MarvelObject, cell.group.list, gene_short_name, log2.transform = TRUE, min.pct.cells = 10, downsample = FALSE, seed = 1 )
MarvelObject |
Marvel object. S3 object generated from |
cell.group.list |
List of character strings. Each element of the list is a vector of cell IDs corresponding to a cell group. |
gene_short_name |
Character string. Gene names whose expression will be plotted. |
log2.transform |
Logical value. If set to |
min.pct.cells |
Numeric value. Percentage of cell expressing the gene in a cell group, below which, the value be re-coded as missing and appear will be omitted from the plot. A gene is considered to be expressed in a given cell if it has non-zero normalised count. |
downsample |
Logical value. If set to |
seed |
Numeric value. Random number generator to be fixed for down-sampling. |
An object of class S3 with new slots MarvelObject$adhocGene$Expression$Gene$Table
, MarvelObject$adhocGene$Expression$Gene$Plot
, MarvelObject$adhocGene$cell.group.list
, and MarvelObject$adhocGene$gene_short_name
.
marvel.demo.10x <- readRDS(system.file("extdata/data", "marvel.demo.10x.rds", package="MARVEL") ) # Define cell groups # Retrieve sample metadata sample.metadata <- marvel.demo.10x$sample.metadata # iPSC index <- which(sample.metadata$cell.type=="iPSC") cell.ids.1 <- sample.metadata[index, "cell.id"] length(cell.ids.1) # Cardio day 10 index <- which(sample.metadata$cell.type=="Cardio day 10") cell.ids.2 <- sample.metadata[index, "cell.id"] length(cell.ids.2) # Save into list cell.group.list <- list("iPSC"=cell.ids.1, "Cardio d10"=cell.ids.2 ) # Gene expression profiling marvel.demo.10x <- adhocGene.TabulateExpression.Gene.10x( MarvelObject=marvel.demo.10x, cell.group.list=cell.group.list, gene_short_name="TPM2", min.pct.cells=10, downsample=TRUE ) # Check output marvel.demo.10x$adhocGene$Expression$Gene$Plot marvel.demo.10x$adhocGene$Expression$Gene$Table
marvel.demo.10x <- readRDS(system.file("extdata/data", "marvel.demo.10x.rds", package="MARVEL") ) # Define cell groups # Retrieve sample metadata sample.metadata <- marvel.demo.10x$sample.metadata # iPSC index <- which(sample.metadata$cell.type=="iPSC") cell.ids.1 <- sample.metadata[index, "cell.id"] length(cell.ids.1) # Cardio day 10 index <- which(sample.metadata$cell.type=="Cardio day 10") cell.ids.2 <- sample.metadata[index, "cell.id"] length(cell.ids.2) # Save into list cell.group.list <- list("iPSC"=cell.ids.1, "Cardio d10"=cell.ids.2 ) # Gene expression profiling marvel.demo.10x <- adhocGene.TabulateExpression.Gene.10x( MarvelObject=marvel.demo.10x, cell.group.list=cell.group.list, gene_short_name="TPM2", min.pct.cells=10, downsample=TRUE ) # Check output marvel.demo.10x$adhocGene$Expression$Gene$Plot marvel.demo.10x$adhocGene$Expression$Gene$Table
Creates a dotplot of splice junction expression value of a specified gene across different cell groups. The gene and cell groups were defined earlier in adhocGene.TabulateExpression.Gene.10x
function.
adhocGene.TabulateExpression.PSI.10x(MarvelObject, min.pct.cells = 10)
adhocGene.TabulateExpression.PSI.10x(MarvelObject, min.pct.cells = 10)
MarvelObject |
Marvel object. S3 object generated from |
min.pct.cells |
Numeric value. Percentage of cell expressing the splice junction in a cell group, below which, the value be re-coded as missing and appear will be omitted from the plot. A splice junction is considered to be expressed in a given cell if it has count >=1. |
An object of class S3 with new slots MarvelObject$adhocGene$Expression$PSI$Table
and MarvelObject$adhocGene$Expression$PSI$Plot
.
marvel.demo.10x <- readRDS(system.file("extdata/data", "marvel.demo.10x.rds", package="MARVEL") ) # SJ usage profiling marvel.demo.10x <- adhocGene.TabulateExpression.PSI.10x( MarvelObject=marvel.demo.10x, min.pct.cells=10 ) # Check output marvel.demo.10x$adhocGene$Expression$PSI$Plot
marvel.demo.10x <- readRDS(system.file("extdata/data", "marvel.demo.10x.rds", package="MARVEL") ) # SJ usage profiling marvel.demo.10x <- adhocGene.TabulateExpression.PSI.10x( MarvelObject=marvel.demo.10x, min.pct.cells=10 ) # Check output marvel.demo.10x$adhocGene$Expression$PSI$Plot
Annotates the each gene in the gene metadata with the gene type, e.g. protein-coding, antisense etc.. Annotations are retrieved from GTF. Only genes found in gene metadata and GTF will be retained.
AnnotateGenes.10x(MarvelObject)
AnnotateGenes.10x(MarvelObject)
MarvelObject |
Marvel object. S3 object generated from |
An object of class S3 containing the updated slots MarvelObject$gene.metadata
and gene.norm.matrix
.
# Load un-processed MARVEL object marvel.demo.10x.raw <- readRDS(system.file("extdata/data", "marvel.demo.10x.raw.rds", package="MARVEL") ) # Annotate gene metadata marvel.demo.10x <- AnnotateGenes.10x(MarvelObject=marvel.demo.10x.raw)
# Load un-processed MARVEL object marvel.demo.10x.raw <- readRDS(system.file("extdata/data", "marvel.demo.10x.raw.rds", package="MARVEL") ) # Annotate gene metadata marvel.demo.10x <- AnnotateGenes.10x(MarvelObject=marvel.demo.10x.raw)
Annotates the splice junctions by assigning the gene name to the start and end of the splice junction. Annotations are retrieved from GTF.
AnnotateSJ.10x(MarvelObject)
AnnotateSJ.10x(MarvelObject)
MarvelObject |
Marvel object. S3 object generated from |
An object of class S3 containing the updated slot MarvelObject$sj.metadata
.
# Load un-processed MARVEL object marvel.demo.10x.raw <- readRDS(system.file("extdata/data", "marvel.demo.10x.raw.rds", package="MARVEL") ) # Annotate gene metadata marvel.demo.10x <- AnnotateGenes.10x(MarvelObject=marvel.demo.10x.raw) # Annotate junction metadata marvel.demo.10x <- AnnotateSJ.10x(MarvelObject=marvel.demo.10x)
# Load un-processed MARVEL object marvel.demo.10x.raw <- readRDS(system.file("extdata/data", "marvel.demo.10x.raw.rds", package="MARVEL") ) # Annotate gene metadata marvel.demo.10x <- AnnotateGenes.10x(MarvelObject=marvel.demo.10x.raw) # Annotate junction metadata marvel.demo.10x <- AnnotateSJ.10x(MarvelObject=marvel.demo.10x)
Annotate volcano plot generated from differential gene expression analysis with genes predicted to undergo splicing-induced NMD.
AnnoVolcanoPlot( MarvelObject, anno = FALSE, anno.gene_short_name = NULL, label.size = NULL, point.size = 1, xlabel.size = 8 )
AnnoVolcanoPlot( MarvelObject, anno = FALSE, anno.gene_short_name = NULL, label.size = NULL, point.size = 1, xlabel.size = 8 )
MarvelObject |
Marvel object. S3 object generated from |
anno |
Logical value. If set to |
anno.gene_short_name |
Vector of character strings. When |
label.size |
Numeric value. When |
point.size |
Numeric value. Size of data points. Default value is |
xlabel.size |
Numeric value. Font size of the xtick labels. Default is |
An object of class S3 with new slots MarvelObject$NMD$AnnoVolcanoPlot$Table
and MarvelObject$NMD$AnnoVolcanoPlot$Plot
.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- AnnoVolcanoPlot(MarvelObject=marvel.demo) # Check outputs head(marvel.demo$NMD$AnnoVolcanoPlot$Table) marvel.demo$NMD$AnnoVolcanoPlot$Plot
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- AnnoVolcanoPlot(MarvelObject=marvel.demo) # Check outputs head(marvel.demo$NMD$AnnoVolcanoPlot$Table) marvel.demo$NMD$AnnoVolcanoPlot$Plot
Assigns modalities to each splicing event for a specified group of cells.
AssignModality( MarvelObject, sample.ids, min.cells = 25, sigma.sq = 0.001, bimodal.adjust = TRUE, bimodal.adjust.fc = 3, bimodal.adjust.diff = 50, seed = 1, tran_ids = NULL )
AssignModality( MarvelObject, sample.ids, min.cells = 25, sigma.sq = 0.001, bimodal.adjust = TRUE, bimodal.adjust.fc = 3, bimodal.adjust.diff = 50, seed = 1, tran_ids = NULL )
MarvelObject |
Marvel object. S3 object generated from |
sample.ids |
Vector of character strings. Sample IDs that constitute the cell group. |
min.cells |
Numeric value. The minimum no. of cells expressing the splicing event for the event to be included for modality assignment. |
sigma.sq |
Numeric value. The variance threshold below which the included/excluded modality will be defined as primary sub-modality, and above which it will be defined as dispersed sub-modality. |
bimodal.adjust |
Logical. When set to |
bimodal.adjust.fc |
Numeric value. The ratio between the proportion of cells with >0.75 PSI vs <0.25 PSI (and vice versa) below which the splicing event will be classified as bimodal. Only applicable when |
bimodal.adjust.diff |
Numeric value. The difference between the percentage of cells with >0.75 PSI vs <0.25 PSI (and vice versa) below which the splicing event will be classified as bimodal. Only applicable when |
seed |
Numeric value. Ensure the |
tran_ids |
Character strings. Specific vector of transcript IDs for modality assignment. This will be a subset of all transcripts expressed in sufficient number of cells as defined in |
An object of class S3 containing with new slot MarvelObject$Modality$Results
.
Sean Wen <[email protected]>
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) df.pheno <- marvel.demo$SplicePheno sample.ids <- df.pheno[which(df.pheno$cell.type=="iPSC"), "sample.id"] # Assign modality marvel.demo <- AssignModality(MarvelObject=marvel.demo, sample.ids=sample.ids, min.cells=5 ) # Check output head(marvel.demo$Modality$Results)
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) df.pheno <- marvel.demo$SplicePheno sample.ids <- df.pheno[which(df.pheno$cell.type=="iPSC"), "sample.id"] # Assign modality marvel.demo <- AssignModality(MarvelObject=marvel.demo, sample.ids=sample.ids, min.cells=5 ) # Check output head(marvel.demo$Modality$Results)
Performs pathway enrichment analysis on differentially spliced genes or user-specified custom set of genes.
BioPathways( MarvelObject, method = NULL, pval = NULL, delta = 0, n.top = NULL, method.adjust = "fdr", custom.genes = NULL, species = "human" )
BioPathways( MarvelObject, method = NULL, pval = NULL, delta = 0, n.top = NULL, method.adjust = "fdr", custom.genes = NULL, species = "human" )
MarvelObject |
Marvel object. S3 object generated from |
method |
Character string. The statistical method used for differential splicing analysis. |
pval |
Numeric value. Alternative to |
delta |
Numeric value. The absolute difference between the means PSI values of cell group 1 and 2, above which, the splicing event is considered differentially spliced and their corresponding genes are included for gene ontology analysis. |
n.top |
Numeric value. Alternative to |
method.adjust |
Character string. Adjust p-values for multiple testing. Options available as per |
custom.genes |
Character strings. Alternative to |
species |
Character strings. Takes the value |
An object of class S3 with new slot MarvelObject$DE$BioPathways$Table
.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- BioPathways(MarvelObject=marvel.demo, method="ad", custom.genes=c("RPL26", "SNRPN") )
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- BioPathways(MarvelObject=marvel.demo, method="ad", custom.genes=c("RPL26", "SNRPN") )
Performs pathway enrichment analysis on differentially spliced genes or user-specified custom set of genes.
BioPathways.10x( MarvelObject, pval = 0.05, log2fc = NULL, delta = 5, min.gene.norm = 0, method.adjust = "fdr", custom.genes = NULL, species = "human", remove.ribo = FALSE )
BioPathways.10x( MarvelObject, pval = 0.05, log2fc = NULL, delta = 5, min.gene.norm = 0, method.adjust = "fdr", custom.genes = NULL, species = "human", remove.ribo = FALSE )
MarvelObject |
Marvel object. S3 object generated from |
pval |
Numeric value. p-value, above which, the splice junction is considered differentially spliced. Default is |
log2fc |
Numeric value. Absolute log2 fold change from differential splicing analysis, above which, the splice junction is considered differentially spliced. This option should be |
delta |
Numeric value. Absolute difference in average PSI values between the two cell groups, above which, the splice junction is considered differentially spliced. This option should be |
min.gene.norm |
Numeric value. The average normalised gene expression across the two cell groups above which the splice junction is considered differentially spliced. Default is |
method.adjust |
Character string. Adjust p-values for multiple testing. Options available as per |
custom.genes |
Character strings. Alternative to |
species |
Character strings. Takes the value |
remove.ribo |
Logical value. If set to |
method |
Character string. The statistical method used for differential splicing analysis. |
An object of class S3 containing new slot MarvelObject$DE$BioPathways$Table
.
marvel.demo.10x <- readRDS(system.file("extdata/data", "marvel.demo.10x.rds", package="MARVEL") ) marvel.demo.10x <- BioPathways.10x( MarvelObject=marvel.demo.10x, custom.genes=c("TPM2", "GNAS"), species="human" )
marvel.demo.10x <- readRDS(system.file("extdata/data", "marvel.demo.10x.rds", package="MARVEL") ) marvel.demo.10x <- BioPathways.10x( MarvelObject=marvel.demo.10x, custom.genes=c("TPM2", "GNAS"), species="human" )
Plots user-specified enriched pathways.
BioPathways.Plot( MarvelObject, go.terms, y.label.size = 10, offset = 0.5, x.axis = "enrichment" )
BioPathways.Plot( MarvelObject, go.terms, y.label.size = 10, offset = 0.5, x.axis = "enrichment" )
MarvelObject |
Marvel object. S3 object generated from |
go.terms |
Vector of character strings. Names of pathways to plot. Should match pathway names in column |
y.label.size |
Numeric value. Size of y-axis tick labels, i.e. gene set names. |
offset |
Numeric value. The -log10(p-value) on the x-axis to substract or add to increase the plot margins. |
x.axis |
Character string. If set to |
This function plots selected gene sets returned from gene ontology analysis performed previously using BioPathways
An object of class S3 with new slot MarvelObject$DE$BioPathways$Plot
.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) # Define go terms to plot df <- marvel.demo$DE$BioPathways$Table go.terms <- df$Description[c(1:10)] # Plot marvel.demo <- BioPathways.Plot(MarvelObject=marvel.demo, go.terms=go.terms, offset=10 ) # Check output marvel.demo$DE$BioPathways$Plot
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) # Define go terms to plot df <- marvel.demo$DE$BioPathways$Table go.terms <- df$Description[c(1:10)] # Plot marvel.demo <- BioPathways.Plot(MarvelObject=marvel.demo, go.terms=go.terms, offset=10 ) # Check output marvel.demo$DE$BioPathways$Plot
Plots user-specified enriched pathways.
BioPathways.Plot.10x(MarvelObject, go.terms, y.label.size = 10, offset = 0.5)
BioPathways.Plot.10x(MarvelObject, go.terms, y.label.size = 10, offset = 0.5)
MarvelObject |
Marvel object. S3 object generated from |
go.terms |
Vector of character strings. Names of pathways to plot. Should match pathway names in column |
y.label.size |
Numeric value. Size of y-axis tick labels, i.e. pathway names. |
offset |
Numeric value. The value on the x-axis to substract or add to increase the plot margins. |
An object of class S3 containing with new slot MarvelObject$DE$BioPathways$Plot
.
marvel.demo.10x <- readRDS(system.file("extdata/data", "marvel.demo.10x.rds", package="MARVEL") ) # Define top pathways to plot go.terms <- marvel.demo.10x$DE$BioPathways$Table$Description go.terms <- go.terms[c(1:10)] # Plot marvel.demo.10x <- BioPathways.Plot.10x( MarvelObject=marvel.demo.10x, go.terms=go.terms ) # Check outpout marvel.demo.10x$DE$BioPathways$Plot
marvel.demo.10x <- readRDS(system.file("extdata/data", "marvel.demo.10x.rds", package="MARVEL") ) # Define top pathways to plot go.terms <- marvel.demo.10x$DE$BioPathways$Table$Description go.terms <- go.terms[c(1:10)] # Plot marvel.demo.10x <- BioPathways.Plot.10x( MarvelObject=marvel.demo.10x, go.terms=go.terms ) # Check outpout marvel.demo.10x$DE$BioPathways$Plot
Checks if the metadata aligns with the columns and rows of the matrix for splicing or gene data. This is a wrapper function for CheckAlignment.PSI
, CheckAlignment.Exp
, CheckAlignment.PSI.Exp
, and CheckAlignment.SJ
.
CheckAlignment(MarvelObject, level)
CheckAlignment(MarvelObject, level)
MarvelObject |
Marvel object. S3 object generated from |
level |
Character string. Indicate |
An object of class S3 with updated slots MarvelObject$SpliceJunction
, MarvelObject$IntronCoverage
, MarvelObject$SplicePheno
, MarvelObject$SpliceFeatureValidated
, and MarvelObject$PSI
or MarvelObject$GenePheno
, MarvelObject$GeneFeature
, and MarvelObject$Gene
are updated for splicing or gene data, respectively.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- CheckAlignment(MarvelObject=marvel.demo, level="SJ" )
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- CheckAlignment(MarvelObject=marvel.demo, level="SJ" )
Ensures only overlapping cells found in both gene and splice junction data are retained. Also ensures matrix columns matches cell IDs in sample metadata and matrix rows matches gene name or splice junction coordinates in feature metadata.
CheckAlignment.10x(MarvelObject)
CheckAlignment.10x(MarvelObject)
MarvelObject |
Marvel object. S3 object generated from |
An object of class S3 containing updated slots MarvelObject$gene.norm.matrix
, MarvelObject$sample.metadata
, MarvelObject$gene.metadata
, MarvelObject$gene.count.matrix
, MarvelObject$sj.count.matrix
, MarvelObject$sj.metadata
.
# Load un-processed MARVEL object marvel.demo.10x.raw <- readRDS(system.file("extdata/data", "marvel.demo.10x.raw.rds", package="MARVEL") ) # Annotate gene metadata marvel.demo.10x <- AnnotateGenes.10x(MarvelObject=marvel.demo.10x.raw) # Annotate junction metadata marvel.demo.10x <- AnnotateSJ.10x(MarvelObject=marvel.demo.10x) # Validate junctions marvel.demo.10x <- ValidateSJ.10x(MarvelObject=marvel.demo.10x) # Subset CDS genes marvel.demo.10x <- FilterGenes.10x(MarvelObject=marvel.demo.10x, gene.type="protein_coding" ) # Pre-flight check marvel.demo.10x <- CheckAlignment.10x(MarvelObject=marvel.demo.10x)
# Load un-processed MARVEL object marvel.demo.10x.raw <- readRDS(system.file("extdata/data", "marvel.demo.10x.raw.rds", package="MARVEL") ) # Annotate gene metadata marvel.demo.10x <- AnnotateGenes.10x(MarvelObject=marvel.demo.10x.raw) # Annotate junction metadata marvel.demo.10x <- AnnotateSJ.10x(MarvelObject=marvel.demo.10x) # Validate junctions marvel.demo.10x <- ValidateSJ.10x(MarvelObject=marvel.demo.10x) # Subset CDS genes marvel.demo.10x <- FilterGenes.10x(MarvelObject=marvel.demo.10x, gene.type="protein_coding" ) # Pre-flight check marvel.demo.10x <- CheckAlignment.10x(MarvelObject=marvel.demo.10x)
Checks if the metadata aligns with the columns and rows of the matrix for gene data.
CheckAlignment.Exp(MarvelObject)
CheckAlignment.Exp(MarvelObject)
MarvelObject |
Marvel object. S3 object generated from |
An object of class S3 with updated slots MarvelObject$SplicePheno
, MarvelObject$SpliceFeature
, and MarvelObject$PSI
.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- CheckAlignment.Exp(MarvelObject=marvel.demo)
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- CheckAlignment.Exp(MarvelObject=marvel.demo)
Checks if the metadata aligns with the columns and rows of the matrix for splicing data.
CheckAlignment.PSI(MarvelObject)
CheckAlignment.PSI(MarvelObject)
MarvelObject |
Marvel object. S3 object generated from |
An object of class S3 with updated slots MarvelObject$SplicePheno
, MarvelObject$SpliceFeature
, and MarvelObject$PSI
.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- CheckAlignment.PSI(MarvelObject=marvel.demo)
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- CheckAlignment.PSI(MarvelObject=marvel.demo)
Subsets overlapping samples between splicing and gene data.
CheckAlignment.PSI.Exp(MarvelObject)
CheckAlignment.PSI.Exp(MarvelObject)
MarvelObject |
S3 object generated from |
An object of class S3 with updated slots MarvelObject$SplicePheno
, MarvelObject$PSI
, MarvelObject$GenePheno
, and MarvelObject$Exp
.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- CheckAlignment.PSI.Exp(MarvelObject=marvel.demo)
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- CheckAlignment.PSI.Exp(MarvelObject=marvel.demo)
Checks if the metadata aligns with the columns and rows of the matrix for splice junction data prior to PSI computation.
CheckAlignment.SJ(MarvelObject)
CheckAlignment.SJ(MarvelObject)
MarvelObject |
Marvel object. S3 object generated from |
An object of class S3 with updated slots MarvelObject$SplicePheno
, MarvelObject$PSI
and MarvelObject$IntronCounts
.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- CheckAlignment.SJ(MarvelObject=marvel.demo)
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- CheckAlignment.SJ(MarvelObject=marvel.demo)
Compares gene expression changes based on NMD status for each splicing event type.
CompareExpr(MarvelObject, xlabels.size = 8)
CompareExpr(MarvelObject, xlabels.size = 8)
MarvelObject |
Marvel object. S3 object generated from |
xlabels.size |
Numeric value. Size of the x-axis tick labels. Default is 8. |
An object of class S3 new slots MarvelObject$NMD$NMD.Expr$Table
, MarvelObject$NMD$NMD.Expr$Plot
, and MarvelObject$NMD$NMD.Expr$Plot.Stats
.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- CompareExpr(MarvelObject=marvel.demo) # Check outputs head(marvel.demo$NMD$NMD.Expr$Table) marvel.demo$NMD$NMD.Expr$Plot marvel.demo$NMD$NMD.Expr$Plot.Stats
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- CompareExpr(MarvelObject=marvel.demo) # Check outputs head(marvel.demo$NMD$NMD.Expr$Table) marvel.demo$NMD$NMD.Expr$Plot marvel.demo$NMD$NMD.Expr$Plot.Stats
Performs differential splicing and gene expression analysis between 2 groups of cells. This is a wrapper function for CompareValues.PSI
and CompareValues.Exp
functions.
CompareValues( MarvelObject, cell.group.g1 = NULL, cell.group.g2 = NULL, downsample = FALSE, seed = 1, min.cells = 25, pct.cells = NULL, method = NULL, nboots = 1000, n.permutations = 1000, method.adjust = "fdr", level, event.type = NULL, show.progress = TRUE, annotate.outliers = TRUE, n.cells.outliers = 10, assign.modality = TRUE, custom.gene_ids = NULL, psi.method = NULL, psi.pval = NULL, psi.delta = NULL, method.de.gene = NULL, method.adjust.de.gene = NULL, mast.method = "bayesglm", mast.ebayes = TRUE )
CompareValues( MarvelObject, cell.group.g1 = NULL, cell.group.g2 = NULL, downsample = FALSE, seed = 1, min.cells = 25, pct.cells = NULL, method = NULL, nboots = 1000, n.permutations = 1000, method.adjust = "fdr", level, event.type = NULL, show.progress = TRUE, annotate.outliers = TRUE, n.cells.outliers = 10, assign.modality = TRUE, custom.gene_ids = NULL, psi.method = NULL, psi.pval = NULL, psi.delta = NULL, method.de.gene = NULL, method.adjust.de.gene = NULL, mast.method = "bayesglm", mast.ebayes = TRUE )
MarvelObject |
Marvel object. S3 object generated from |
cell.group.g1 |
Vector of character strings. Cell IDs corresponding to Group 1 (reference group). |
cell.group.g2 |
Vector of character strings. Cell IDs corresponding to Group 2. |
downsample |
Logical value. If set to |
seed |
Numeric value. The seed number for the random number generator to ensure reproducibility during during down-sampling of cells when |
min.cells |
Numeric value. The minimum no. of cells expressing the splicing event or genes for the event or genes to be included for differential splicing analysis. |
pct.cells |
Numeric value. The minimum percentage of cells expressing the splicing event or genes for the event or genes to be included for differential splicing analysis. If |
method |
Character string. Statistical test to compare the 2 groups of cells. |
nboots |
Numeric value.Only applicable when |
n.permutations |
Numeric value. Only applicable when |
method.adjust |
Character string. Adjust p-values for multiple testing. Options available as per |
level |
Character string. Indicate |
event.type |
Character string. Only applicable when |
show.progress |
Logical value. If set to |
annotate.outliers |
Numeric value. Only applicable when |
n.cells.outliers |
Numeric value. Only applicable when |
assign.modality |
Logical value. Only applicable when |
custom.gene_ids |
Character string. Only applicable when |
psi.method |
Vector of character string(s). Only applicable when |
psi.pval |
Vector of numeric value(s). Only applicable when |
psi.delta |
Numeric value. Only applicable when |
method.de.gene |
Character string. Only applicable when |
method.adjust.de.gene |
Character string. Only applicable when |
mast.method |
Character string. Only applicable when |
mast.ebayes |
Logical value. Only applicable when |
An object of class S3 containing with new slot MarvelObject$DE$PSI$Table[["method"]]
or MarvelObject$DE$Exp$Table
when level
option specified as "splicing"
or "gene"
, respectively.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) # Define cell groups for analysis df.pheno <- marvel.demo$SplicePheno cell.group.g1 <- df.pheno[which(df.pheno$cell.type=="iPSC"), "sample.id"] cell.group.g2 <- df.pheno[which(df.pheno$cell.type=="Endoderm"), "sample.id"] # DE marvel.demo <- CompareValues(MarvelObject=marvel.demo, cell.group.g1=cell.group.g1, cell.group.g2=cell.group.g2, min.cells=5, method="t.test", method.adjust="fdr", level="splicing", event.type=c("SE", "MXE", "RI", "A5SS", "A3SS", "AFE", "ALE"), show.progress=FALSE ) # Check output head(marvel.demo$DE$PSI$Table[["ad"]])
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) # Define cell groups for analysis df.pheno <- marvel.demo$SplicePheno cell.group.g1 <- df.pheno[which(df.pheno$cell.type=="iPSC"), "sample.id"] cell.group.g2 <- df.pheno[which(df.pheno$cell.type=="Endoderm"), "sample.id"] # DE marvel.demo <- CompareValues(MarvelObject=marvel.demo, cell.group.g1=cell.group.g1, cell.group.g2=cell.group.g2, min.cells=5, method="t.test", method.adjust="fdr", level="splicing", event.type=c("SE", "MXE", "RI", "A5SS", "A3SS", "AFE", "ALE"), show.progress=FALSE ) # Check output head(marvel.demo$DE$PSI$Table[["ad"]])
Performs differential gene expression analysis between 2 groups of cells.
CompareValues.Exp( MarvelObject, cell.group.g1 = NULL, cell.group.g2 = NULL, downsample = FALSE, seed = 1, min.cells = 25, pct.cells = NULL, method, method.adjust, show.progress = TRUE, nboots = 1000, custom.gene_ids = NULL, mast.method = "bayesglm", mast.ebayes = TRUE )
CompareValues.Exp( MarvelObject, cell.group.g1 = NULL, cell.group.g2 = NULL, downsample = FALSE, seed = 1, min.cells = 25, pct.cells = NULL, method, method.adjust, show.progress = TRUE, nboots = 1000, custom.gene_ids = NULL, mast.method = "bayesglm", mast.ebayes = TRUE )
MarvelObject |
Marvel object. S3 object generated from |
cell.group.g1 |
Vector of character strings. Cell IDs corresponding to Group 1 (reference group). |
cell.group.g2 |
Vector of character strings. Cell IDs corresponding to Group 2. |
downsample |
Logical value. If set to |
seed |
Numeric value. The seed number for the random number generator to ensure reproducibility during during down-sampling of cells when |
min.cells |
Numeric value. The minimum no. of cells expressing the gene for the gene to be included for differential splicing analysis. |
pct.cells |
Numeric value. The minimum no. of cells expressing the gene for the gene to be included for differential splicing analysis. If |
method |
Character string. Statistical test to compare the 2 groups of cells. |
method.adjust |
Character string. Adjust p-values for multiple testing. Options available as per |
show.progress |
Logical value. If set to |
nboots |
Numeric value. When |
custom.gene_ids |
Character string. Instead of specified the genes to include for DE analysis with |
mast.method |
Character string. As per the |
mast.ebayes |
Logical value. As per the |
An object of class S3 new slot MarvelObject$DE$Exp$Table
.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) # Define cell groups for analysis df.pheno <- marvel.demo$SplicePheno cell.group.g1 <- df.pheno[which(df.pheno$cell.type=="iPSC"), "sample.id"] cell.group.g2 <- df.pheno[which(df.pheno$cell.type=="Endoderm"), "sample.id"] # DE marvel.demo <- CompareValues.Exp(MarvelObject=marvel.demo, cell.group.g1=cell.group.g1, cell.group.g2=cell.group.g2, min.cells=5, method="t.test", method.adjust="fdr", show.progress=FALSE ) # Check output head(marvel.demo$DE$Exp$Table)
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) # Define cell groups for analysis df.pheno <- marvel.demo$SplicePheno cell.group.g1 <- df.pheno[which(df.pheno$cell.type=="iPSC"), "sample.id"] cell.group.g2 <- df.pheno[which(df.pheno$cell.type=="Endoderm"), "sample.id"] # DE marvel.demo <- CompareValues.Exp(MarvelObject=marvel.demo, cell.group.g1=cell.group.g1, cell.group.g2=cell.group.g2, min.cells=5, method="t.test", method.adjust="fdr", show.progress=FALSE ) # Check output head(marvel.demo$DE$Exp$Table)
Performs differential gene expression analysis between 2 groups of cells only on differentially spliced genes.
CompareValues.Exp.Spliced( MarvelObject, cell.group.g1 = NULL, cell.group.g2 = NULL, psi.method, psi.pval, psi.delta, method.de.gene = "wilcox", method.adjust.de.gene = "fdr", downsample = FALSE, seed = 1, show.progress = TRUE, mast.method = "bayesglm", mast.ebayes = TRUE )
CompareValues.Exp.Spliced( MarvelObject, cell.group.g1 = NULL, cell.group.g2 = NULL, psi.method, psi.pval, psi.delta, method.de.gene = "wilcox", method.adjust.de.gene = "fdr", downsample = FALSE, seed = 1, show.progress = TRUE, mast.method = "bayesglm", mast.ebayes = TRUE )
MarvelObject |
Marvel object. S3 object generated from |
cell.group.g1 |
Vector of character strings. Cell IDs corresponding to Group 1 (reference group). |
cell.group.g2 |
Vector of character strings. Cell IDs corresponding to Group 2. |
psi.method |
Vector of character string(s). To include significant events from these method(s) for differential gene expression analysis. |
psi.pval |
Vector of numeric value(s). The adjusted p-value, below which, the splicing event is considered differentially spliced, and the corresponding genes will be included for differential gene expression analysis. |
psi.delta |
Numeric value. The absolute difference in mean PSI values between |
method.de.gene |
Character string. Same as |
method.adjust.de.gene |
Character string. Same as |
downsample |
Logical value. If set to |
seed |
Numeric value. The seed number for the random number generator to ensure reproducibility during during down-sampling of cells when |
show.progress |
Logical value. If set to |
mast.method |
Character string. As per the |
mast.ebayes |
Logical value. As per the |
An object of class S3 new slot MarvelObject$DE$Exp$Table
.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) # Define cell groups for analysis df.pheno <- marvel.demo$SplicePheno cell.group.g1 <- df.pheno[which(df.pheno$cell.type=="iPSC"), "sample.id"] cell.group.g2 <- df.pheno[which(df.pheno$cell.type=="Endoderm"), "sample.id"] # DE marvel.demo <- CompareValues.Exp.Spliced(MarvelObject=marvel.demo, cell.group.g1=cell.group.g1, cell.group.g2=cell.group.g2, psi.method="ad", psi.pval=0.10, psi.delta=0, method.de.gene="t.test", method.adjust.de.gene="fdr", show.progress=FALSE ) # Check output head(marvel.demo$DE$Exp.Spliced$Table)
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) # Define cell groups for analysis df.pheno <- marvel.demo$SplicePheno cell.group.g1 <- df.pheno[which(df.pheno$cell.type=="iPSC"), "sample.id"] cell.group.g2 <- df.pheno[which(df.pheno$cell.type=="Endoderm"), "sample.id"] # DE marvel.demo <- CompareValues.Exp.Spliced(MarvelObject=marvel.demo, cell.group.g1=cell.group.g1, cell.group.g2=cell.group.g2, psi.method="ad", psi.pval=0.10, psi.delta=0, method.de.gene="t.test", method.adjust.de.gene="fdr", show.progress=FALSE ) # Check output head(marvel.demo$DE$Exp.Spliced$Table)
Performs differential gene expression analysis between two groups of cells. Only among cells and genes previously included for splice junction analysis.
CompareValues.Genes.10x( MarvelObject, log2.transform = TRUE, show.progress = TRUE, method = "wilcox", mast.method = "bayesglm", mast.ebayes = TRUE )
CompareValues.Genes.10x( MarvelObject, log2.transform = TRUE, show.progress = TRUE, method = "wilcox", mast.method = "bayesglm", mast.ebayes = TRUE )
MarvelObject |
Marvel object. S3 object generated from |
log2.transform |
Logical value. If set to |
show.progress |
Logical value. If set to |
method |
Character string. Statistical test to compare the 2 groups of cells. Default is |
mast.method |
Character string. As per the |
mast.ebayes |
Logical value. As per the |
An object of class S3 with a updated slot MarvelObject$DE$SJ$Table
.
marvel.demo.10x <- readRDS(system.file("extdata/data", "marvel.demo.10x.rds", package="MARVEL") ) marvel.demo.10x <- CompareValues.Genes.10x( MarvelObject=marvel.demo.10x, show.progress=FALSE ) # Check output head(marvel.demo.10x$DE$SJ$Table)
marvel.demo.10x <- readRDS(system.file("extdata/data", "marvel.demo.10x.rds", package="MARVEL") ) marvel.demo.10x <- CompareValues.Genes.10x( MarvelObject=marvel.demo.10x, show.progress=FALSE ) # Check output head(marvel.demo.10x$DE$SJ$Table)
Performs differentially splicing analysis between 2 groups of cells.
CompareValues.PSI( MarvelObject, cell.group.g1, cell.group.g2, downsample = FALSE, seed = 1, min.cells = 25, pct.cells = NULL, method, nboots = 1000, n.permutations = 1000, method.adjust = "fdr", event.type, show.progress = TRUE, annotate.outliers = TRUE, n.cells.outliers = 10, assign.modality = TRUE )
CompareValues.PSI( MarvelObject, cell.group.g1, cell.group.g2, downsample = FALSE, seed = 1, min.cells = 25, pct.cells = NULL, method, nboots = 1000, n.permutations = 1000, method.adjust = "fdr", event.type, show.progress = TRUE, annotate.outliers = TRUE, n.cells.outliers = 10, assign.modality = TRUE )
MarvelObject |
Marvel object. S3 object generated from |
cell.group.g1 |
Vector of character strings. Cell IDs corresponding to Group 1 (reference group). |
cell.group.g2 |
Vector of character strings. Cell IDs corresponding to Group 2. |
downsample |
Logical value. If set to |
seed |
Numeric value. The seed number for the random number generator to ensure reproducibility during during down-sampling of cells when |
min.cells |
Numeric value. The minimum no. of cells expressing the splicing event for the event to be included for differential splicing analysis. |
pct.cells |
Numeric value. The minimum percentage of cells expressing the splicing event for the event to be included for differential splicing analysis. If |
method |
Character string. Statistical test to compare the 2 groups of cells. |
nboots |
Numeric value. When |
n.permutations |
Numeric value. When |
method.adjust |
Character string. Adjust p-values for multiple testing. Options available as per |
event.type |
Character string. Indicate which splicing event type to include for analysis. Can take value |
show.progress |
Logical value. If set to |
annotate.outliers |
Numeric value. When set to |
n.cells.outliers |
Numeric value. When |
assign.modality |
Logical value. If set to |
An object of class data frame containing the output of the differential splicing analysis.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) # Define cell groups for analysis df.pheno <- marvel.demo$SplicePheno cell.group.g1 <- df.pheno[which(df.pheno$cell.type=="iPSC"), "sample.id"] cell.group.g2 <- df.pheno[which(df.pheno$cell.type=="Endoderm"), "sample.id"] # DE results <- CompareValues.PSI(MarvelObject=marvel.demo, cell.group.g1=cell.group.g1, cell.group.g2=cell.group.g2, min.cells=5, method="t.test", method.adjust="fdr", event.type=c("SE", "MXE", "RI", "A5SS", "A3SS", "AFE", "ALE"), show.progress=FALSE ) # Check output head(results)
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) # Define cell groups for analysis df.pheno <- marvel.demo$SplicePheno cell.group.g1 <- df.pheno[which(df.pheno$cell.type=="iPSC"), "sample.id"] cell.group.g2 <- df.pheno[which(df.pheno$cell.type=="Endoderm"), "sample.id"] # DE results <- CompareValues.PSI(MarvelObject=marvel.demo, cell.group.g1=cell.group.g1, cell.group.g2=cell.group.g2, min.cells=5, method="t.test", method.adjust="fdr", event.type=c("SE", "MXE", "RI", "A5SS", "A3SS", "AFE", "ALE"), show.progress=FALSE ) # Check output head(results)
Performs differential splice junction analysis between two groups of cells.
CompareValues.SJ.10x( MarvelObject, coord.introns = NULL, cell.group.g1, cell.group.g2, min.pct.cells.genes = 10, min.pct.cells.sj = 10, min.gene.norm = 1, seed = 1, n.iterations = 100, downsample = FALSE, show.progress = TRUE )
CompareValues.SJ.10x( MarvelObject, coord.introns = NULL, cell.group.g1, cell.group.g2, min.pct.cells.genes = 10, min.pct.cells.sj = 10, min.gene.norm = 1, seed = 1, n.iterations = 100, downsample = FALSE, show.progress = TRUE )
MarvelObject |
Marvel object. S3 object generated from |
coord.introns |
Character strings. Specific splice junctions to be included for analysis. Default is |
cell.group.g1 |
Vector of Character strings. Cell IDs corresponding to Group 1 (reference group). |
cell.group.g2 |
Vector of Character strings. Cell IDs corresponding to Group 2. |
min.pct.cells.genes |
Numeric value. Minimum percentage of cells in which the gene is expressed for that gene to be included for splice junction expression distribution analysis. Expressed genes defined as genes with non-zero normalised UMI counts. This threshold may be determined from |
min.pct.cells.sj |
Numeric value. Minimum percentage of cells in which the splice junction is expressed for that splice junction to be included for splice junction expression distribution analysis. Expressed splice junctions defined as splice junctions with raw UMI counts >= 1. This threshold may be determined from |
min.gene.norm |
Numeric value. The average normalised gene expression across the two cell groups above which the splice junction will be included for analysis. Default is |
seed |
Numeric value. Random number generator to be fixed for permutations test and down-sampling. |
n.iterations |
Numeric value. Number of times to shuffle the cell group labels when building the null distribution. Default is |
downsample |
Logical value. If set to |
show.progress |
Logical value. If set to |
An object of class S3 with a new slots MarvelObject$DE$SJ$Table
, MarvelObject$DE$SJ$cell.group.g1
, and MarvelObject$DE$SJ$cell.group.g2
.
marvel.demo.10x <- readRDS(system.file("extdata/data", "marvel.demo.10x.rds", package="MARVEL") ) # Define cell groups # Retrieve sample metadata sample.metadata <- marvel.demo.10x$sample.metadata # Group 1 (reference) index <- which(sample.metadata$cell.type=="iPSC") cell.ids.1 <- sample.metadata[index, "cell.id"] length(cell.ids.1) # Group 2 index <- which(sample.metadata$cell.type=="Cardio day 10") cell.ids.2 <- sample.metadata[index, "cell.id"] length(cell.ids.2) # DE marvel.demo.10x <- CompareValues.SJ.10x( MarvelObject=marvel.demo.10x, cell.group.g1=cell.ids.1, cell.group.g2=cell.ids.2, min.pct.cells.genes=10, min.pct.cells.sj=10, min.gene.norm=1.0, seed=1, n.iterations=100, downsample=TRUE, show.progress=FALSE ) # Check output head(marvel.demo.10x$DE$SJ$Table)
marvel.demo.10x <- readRDS(system.file("extdata/data", "marvel.demo.10x.rds", package="MARVEL") ) # Define cell groups # Retrieve sample metadata sample.metadata <- marvel.demo.10x$sample.metadata # Group 1 (reference) index <- which(sample.metadata$cell.type=="iPSC") cell.ids.1 <- sample.metadata[index, "cell.id"] length(cell.ids.1) # Group 2 index <- which(sample.metadata$cell.type=="Cardio day 10") cell.ids.2 <- sample.metadata[index, "cell.id"] length(cell.ids.2) # DE marvel.demo.10x <- CompareValues.SJ.10x( MarvelObject=marvel.demo.10x, cell.group.g1=cell.ids.1, cell.group.g2=cell.ids.2, min.pct.cells.genes=10, min.pct.cells.sj=10, min.gene.norm=1.0, seed=1, n.iterations=100, downsample=TRUE, show.progress=FALSE ) # Check output head(marvel.demo.10x$DE$SJ$Table)
Validate splicing events and subsequently computes percent spliced-in (PSI) values these high-quality splicing events. This is a wrapper function for ComputePSI.SE
, ComputePSI.MXE
, ComputePSI.A5SS
, ComputePSI.A3SS
, ComputePSI.RI
, ComputePSI.AFE
, and ComputePSI.ALE
functions.
ComputePSI( MarvelObject, CoverageThreshold, EventType, thread = NULL, UnevenCoverageMultiplier = 10, read.length = 1 )
ComputePSI( MarvelObject, CoverageThreshold, EventType, thread = NULL, UnevenCoverageMultiplier = 10, read.length = 1 )
MarvelObject |
Marvel object. S3 object generated from |
CoverageThreshold |
Numeric value. Coverage threshold below which the PSI of the splicing event will be censored, i.e. annotated as missing (NA). Coverage defined as the total number of reads supporting both included and excluded isoforms. |
EventType |
Character string. Indicate which splicing event type to calculate the PSI values for. Can take value |
thread |
Numeric value. Only applicable when |
UnevenCoverageMultiplier |
Numeric value. Maximum allowable fold difference between two included junction counts for SE or two included or two excluded junction counts for MXE. Only applicable when |
read.length |
Numeric value. The length of read.Only applicable when |
An object of class S3 with new slots $SpliceFeatureValidated
and $PSI
.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- ComputePSI(MarvelObject=marvel.demo, CoverageThreshold=10, EventType="SE", UnevenCoverageMultiplier=10 )
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- ComputePSI(MarvelObject=marvel.demo, CoverageThreshold=10, EventType="SE", UnevenCoverageMultiplier=10 )
Validate A3SS splicing events and subsequently computes percent spliced-in (PSI) values these high-quality splicing events.
ComputePSI.A3SS(MarvelObject, CoverageThreshold)
ComputePSI.A3SS(MarvelObject, CoverageThreshold)
MarvelObject |
Marvel object. S3 object generated from |
CoverageThreshold |
Numeric value. Coverage threshold below which the PSI of the splicing event will be censored, i.e. annotated as missing (NA). Coverage defined as the total number of reads supporting both included and excluded isoforms. |
An object of class S3 containing with new slots $SpliceFeatureValidated$A3SS
and $PSI$A3SS
.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- ComputePSI.A3SS(MarvelObject=marvel.demo, CoverageThreshold=10 )
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- ComputePSI.A3SS(MarvelObject=marvel.demo, CoverageThreshold=10 )
Validate A5SS splicing events and subsequently computes percent spliced-in (PSI) values these high-quality splicing events.
ComputePSI.A5SS(MarvelObject, CoverageThreshold)
ComputePSI.A5SS(MarvelObject, CoverageThreshold)
MarvelObject |
Marvel object. S3 object generated from |
CoverageThreshold |
Numeric value. Coverage threshold below which the PSI of the splicing event will be censored, i.e. annotated as missing (NA). Coverage defined as the total number of reads supporting both included and excluded isoforms. |
An object of class S3 with new slots $SpliceFeatureValidated$A5SS
and $PSI$A5SS
.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- ComputePSI.A5SS(MarvelObject=marvel.demo, CoverageThreshold=10 )
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- ComputePSI.A5SS(MarvelObject=marvel.demo, CoverageThreshold=10 )
Computes percent spliced-in (PSI) for alternative first exon (ALE) splicing events.
ComputePSI.AFE(MarvelObject, CoverageThreshold = 10)
ComputePSI.AFE(MarvelObject, CoverageThreshold = 10)
MarvelObject |
Marvel object. S3 object generated from |
CoverageThreshold |
Numeric value. Coverage threshold below which the PSI of the splicing event will be censored, i.e. annotated as missing (NA). Coverage defined as the total number of reads supporting both included and excluded isoforms. |
An object of class S3 containing with new slots $SpliceFeatureValidated$AFE
and $PSI$AFE
.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- ComputePSI.AFE(MarvelObject=marvel.demo, CoverageThreshold=10 )
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- ComputePSI.AFE(MarvelObject=marvel.demo, CoverageThreshold=10 )
Computes percent spliced-in (PSI) for alternative last exon (ALE) splicing events.
ComputePSI.ALE(MarvelObject, CoverageThreshold = 10)
ComputePSI.ALE(MarvelObject, CoverageThreshold = 10)
MarvelObject |
Marvel object. S3 object generated from |
CoverageThreshold |
Numeric value. Coverage threshold below which the PSI of the splicing event will be censored, i.e. annotated as missing (NA). Coverage defined as the total number of reads supporting both included and excluded isoforms. |
An object of class S3 containing with new slots $SpliceFeatureValidated$ALE
and $PSI$ALE
.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- ComputePSI.ALE(MarvelObject=marvel.demo, CoverageThreshold=10 )
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- ComputePSI.ALE(MarvelObject=marvel.demo, CoverageThreshold=10 )
Validate MXE splicing events and subsequently computes percent spliced-in (PSI) values these high-quality splicing events.
ComputePSI.MXE(MarvelObject, CoverageThreshold, UnevenCoverageMultiplier = 10)
ComputePSI.MXE(MarvelObject, CoverageThreshold, UnevenCoverageMultiplier = 10)
MarvelObject |
Marvel object. S3 object generated from |
CoverageThreshold |
Numeric value. Coverage threshold below which the PSI of the splicing event will be censored, i.e. annotated as missing (NA). Coverage defined as the total number of reads supporting both included and excluded isoforms. |
UnevenCoverageMultiplier |
Numeric value. Maximum allowable fold difference between two included or two excluded junction counts for MXE. |
This function computes the PSI for each MXE splicing event. Splicing events provided in SpliceFeature
data frame will first be cross-checked against the splice junctions provided in SpliceJunction
data frame. Only events whose junctions are found in SpliceJunction
are retained. The formula for computing PSI is the number of junction reads supporting the included isoform divided by the total number of reads supporting both included and excluded isoforms.
An object of class S3 with new slots $SpliceFeatureValidated$MXE
and $PSI$MXE
.
Sean Wen <[email protected]>
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- ComputePSI.MXE(MarvelObject=marvel.demo, CoverageThreshold=10, UnevenCoverageMultiplier=10 )
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- ComputePSI.MXE(MarvelObject=marvel.demo, CoverageThreshold=10, UnevenCoverageMultiplier=10 )
Validate RI splicing events and subsequently computes percent spliced-in (PSI) values these high-quality splicing events.
ComputePSI.RI( MarvelObject, CoverageThreshold, IntronCounts, thread, read.length = 1 )
ComputePSI.RI( MarvelObject, CoverageThreshold, IntronCounts, thread, read.length = 1 )
MarvelObject |
Marvel object. S3 object generated from |
CoverageThreshold |
Numeric value. Coverage threshold below which the PSI of the splicing event will be censored, i.e. annotated as missing (NA). Coverage defined as the total number of reads supporting both included and excluded isoforms. |
IntronCounts |
Data frame. Columns indicate sample IDs, rows indicate intron coordinates, and values indicate total intron coverage. The first column needs to be named |
thread |
Numeric value. Set number of threads. |
read.length |
Numeric value. The length of read. This number will be specific to the sequencing mode. E.g. read length should be set to |
An object of class S3 with new slots $SpliceFeatureValidated$RI
and $PSI$RI
.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- ComputePSI.RI(MarvelObject=marvel.demo, CoverageThreshold=10, IntronCounts=marvel.demo$IntronCounts, thread=1 )
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- ComputePSI.RI(MarvelObject=marvel.demo, CoverageThreshold=10, IntronCounts=marvel.demo$IntronCounts, thread=1 )
Validate SE splicing events and subsequently computes percent spliced-in (PSI) values these high-quality splicing events.
ComputePSI.SE(MarvelObject, CoverageThreshold, UnevenCoverageMultiplier = 10)
ComputePSI.SE(MarvelObject, CoverageThreshold, UnevenCoverageMultiplier = 10)
MarvelObject |
S3 object generated from |
CoverageThreshold |
Numeric value. Coverage threshold below which the PSI of the splicing event will be censored, i.e. annotated as missing (NA). Coverage defined as the total number of reads supporting both included and excluded isoforms. |
UnevenCoverageMultiplier |
Numeric value. Maximum allowable fold difference between two included junction counts. |
This function computes the PSI for each SE splicing event. Splicing events provided in SpliceFeature
data frame will first be cross-checked against the splice junctions provided in SpliceJunction
data frame. Only events whose junctions are found in SpliceJunction
are retained. The formula for computing PSI is the number of junction reads supporting the included isoform divided by the total number of reads supporting both included and excluded isoforms.
An object of class S3 with new slots $SpliceFeatureValidated$SE
$PSI$SE
.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- ComputePSI.SE(MarvelObject=marvel.demo, CoverageThreshold=10, UnevenCoverageMultiplier=10 )
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- ComputePSI.SE(MarvelObject=marvel.demo, CoverageThreshold=10, UnevenCoverageMultiplier=10 )
Tabulates and plots the number of expressed splicing events for each splicing event category for a specified cell group.
CountEvents(MarvelObject, sample.ids, min.cells, event.group.colors = NULL)
CountEvents(MarvelObject, sample.ids, min.cells, event.group.colors = NULL)
MarvelObject |
Marvel object. S3 object generated from |
sample.ids |
Vector of character strings. Sample IDs that constitute the cell group. |
min.cells |
Numeric value. Minimum number of cells expressing the splicing event for the event to be included for tabulation. A splicing event is defined as expressed when it has a non-missing PSI value. |
event.group.colors |
Vector of character strings. Colors for the event groups. If not specified, default |
An object of class S3 with new slots MarvelObject$N.Events$Table
and MarvelObject$N.Events$Plot
.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) # Define cell group for analysis df.pheno <- marvel.demo$SplicePheno sample.ids <- df.pheno[which(df.pheno$cell.type=="iPSC"), "sample.id"] # Tabulate expressed events marvel.demo <- CountEvents(MarvelObject=marvel.demo, sample.ids=sample.ids, min.cells=5, event.group.colors=NULL ) # Check outputs marvel.demo$N.Events$Table marvel.demo$N.Events$Plot
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) # Define cell group for analysis df.pheno <- marvel.demo$SplicePheno sample.ids <- df.pheno[which(df.pheno$cell.type=="iPSC"), "sample.id"] # Tabulate expressed events marvel.demo <- CountEvents(MarvelObject=marvel.demo, sample.ids=sample.ids, min.cells=5, event.group.colors=NULL ) # Check outputs marvel.demo$N.Events$Table marvel.demo$N.Events$Plot
Creates an S3 object named Marvel
for downstream analysis, specifically for plate-based RNA-sequencing data.
CreateMarvelObject( SplicePheno = NULL, SpliceJunction = NULL, IntronCounts = NULL, SpliceFeature = NULL, SpliceFeatureValidated = NULL, PSI = NULL, GeneFeature = NULL, Exp = NULL, GTF = NULL )
CreateMarvelObject( SplicePheno = NULL, SpliceJunction = NULL, IntronCounts = NULL, SpliceFeature = NULL, SpliceFeatureValidated = NULL, PSI = NULL, GeneFeature = NULL, Exp = NULL, GTF = NULL )
SplicePheno |
Data frame. Sample metadata. |
SpliceJunction |
Data frame. Splice junction counts matrix. |
IntronCounts |
Data frame. Intron coverage matrix. |
SpliceFeature |
List of data frames. Each data frame is the exon-level alternative splicing event metadata. |
SpliceFeatureValidated |
List of data frames. Each data frame is the validated (high-quality) exon-level alternative splicing event metadata. |
PSI |
Data frame. PSI matrix. |
GeneFeature |
Data frame. Gene metadata. |
Exp |
Data frame. Normalised, non-log2-transformed gene expression matrix. |
GTF |
Data frame. GTF used for generating the exon-level alternative splicing event metadata. |
An object of class S3.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) SpliceJunction <- marvel.demo$SpliceJunction SpliceJunction[1:5,1:5] SplicePheno <- marvel.demo$SplicePheno SplicePheno[1:5,] SpliceFeature <- marvel.demo$SpliceFeature SpliceFeature[["SE"]][1:5, ] IntronCounts <- marvel.demo$IntronCounts IntronCounts[1:5,1:5] GeneFeature <- marvel.demo$GeneFeature GeneFeature[1:5, ] Exp <- marvel.demo$Exp Exp[1:5,1:5] marvel <- CreateMarvelObject(SpliceJunction=SpliceJunction, SplicePheno=SplicePheno, SpliceFeature=SpliceFeature, IntronCounts=IntronCounts, GeneFeature=GeneFeature, Exp=Exp ) class(marvel)
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) SpliceJunction <- marvel.demo$SpliceJunction SpliceJunction[1:5,1:5] SplicePheno <- marvel.demo$SplicePheno SplicePheno[1:5,] SpliceFeature <- marvel.demo$SpliceFeature SpliceFeature[["SE"]][1:5, ] IntronCounts <- marvel.demo$IntronCounts IntronCounts[1:5,1:5] GeneFeature <- marvel.demo$GeneFeature GeneFeature[1:5, ] Exp <- marvel.demo$Exp Exp[1:5,1:5] marvel <- CreateMarvelObject(SpliceJunction=SpliceJunction, SplicePheno=SplicePheno, SpliceFeature=SpliceFeature, IntronCounts=IntronCounts, GeneFeature=GeneFeature, Exp=Exp ) class(marvel)
Creates an S3 object named Marvel
for downstream analysis, specifically for droplet-based RNA-sequencing data.
CreateMarvelObject.10x( gene.norm.matrix = NULL, gene.norm.pheno = NULL, gene.norm.feature = NULL, gene.count.matrix = NULL, gene.count.pheno = NULL, gene.count.feature = NULL, sj.count.matrix = NULL, sj.count.pheno = NULL, sj.count.feature = NULL, pca = NULL, gtf = NULL )
CreateMarvelObject.10x( gene.norm.matrix = NULL, gene.norm.pheno = NULL, gene.norm.feature = NULL, gene.count.matrix = NULL, gene.count.pheno = NULL, gene.count.feature = NULL, sj.count.matrix = NULL, sj.count.pheno = NULL, sj.count.feature = NULL, pca = NULL, gtf = NULL )
gene.norm.matrix |
Sparse matrix. UMI-collapsed, normalised, non-log2-transformed gene expression matrix. |
gene.norm.pheno |
Data frame. Sample metadata for annotating |
gene.norm.feature |
Data frame. Gene metadata for annotating |
gene.count.matrix |
Sparse matrix. UMI-collapsed, non-normalised (raw counts), non-log2-transformed gene expression matrix. |
gene.count.pheno |
Data frame. Sample metadata for annotating |
gene.count.feature |
Data frame. Gene metadata for annotating |
sj.count.matrix |
Sparse matrix. UMI-collapsed, non-normalised (raw counts), non-log2-transformed splice junction expression matrix. |
sj.count.pheno |
Data frame. Sample metadata for annotating |
sj.count.feature |
Data frame. Splice junction metadata for annotating |
pca |
Data frame. Coordinates of PCA/tSNE/UMAP. |
gtf |
Data frame. GTF used in cellranger. Will be used for annotating splice junctions downstream. |
An object of class S3.
# Retrieve, observe format of pre-saved input files marvel.demo.10x.raw <- readRDS(system.file("extdata/data", "marvel.demo.10x.raw.rds", package="MARVEL") ) # Gene expression (Normalised) # Matrix df.gene.norm <- marvel.demo.10x.raw$gene.norm.matrix df.gene.norm[1:5, 1:5] # phenoData df.gene.norm.pheno <- marvel.demo.10x.raw$sample.metadata head(df.gene.norm.pheno) # featureData df.gene.norm.feature <- data.frame("gene_short_name"=rownames(df.gene.norm), stringsAsFactors=FALSE ) head(df.gene.norm.feature) # Gene expression (Counts) # Matrix df.gene.count <- marvel.demo.10x.raw$gene.count.matrix df.gene.count[1:5, 1:5] # phenoData df.gene.count.pheno <- data.frame("cell.id"=colnames(df.gene.count), stringsAsFactors=FALSE ) head(df.gene.count.pheno) # featureData df.gene.count.feature <- data.frame("gene_short_name"=rownames(df.gene.count), stringsAsFactors=FALSE ) head(df.gene.count.feature) # SJ (Counts) # Matrix df.sj.count <- marvel.demo.10x.raw$sj.count.matrix df.sj.count[1:5, 1:5] # phenoData df.sj.count.pheno <- data.frame("cell.id"=colnames(df.sj.count), stringsAsFactors=FALSE ) head(df.sj.count.pheno) # featureData df.sj.count.feature <- data.frame("coord.intron"=rownames(df.sj.count), stringsAsFactors=FALSE ) head(df.sj.count.feature) # tSNE coordinates df.coord <- marvel.demo.10x.raw$pca head(df.coord) # GTF gtf <- marvel.demo.10x.raw$gtf head(gtf) # Create MARVEL object marvel.demo.10x <- CreateMarvelObject.10x(gene.norm.matrix=df.gene.norm, gene.norm.pheno=df.gene.norm.pheno, gene.norm.feature=df.gene.norm.feature, gene.count.matrix=df.gene.count, gene.count.pheno=df.gene.count.pheno, gene.count.feature=df.gene.count.feature, sj.count.matrix=df.sj.count, sj.count.pheno=df.sj.count.pheno, sj.count.feature=df.sj.count.feature, pca=df.coord, gtf=gtf )
# Retrieve, observe format of pre-saved input files marvel.demo.10x.raw <- readRDS(system.file("extdata/data", "marvel.demo.10x.raw.rds", package="MARVEL") ) # Gene expression (Normalised) # Matrix df.gene.norm <- marvel.demo.10x.raw$gene.norm.matrix df.gene.norm[1:5, 1:5] # phenoData df.gene.norm.pheno <- marvel.demo.10x.raw$sample.metadata head(df.gene.norm.pheno) # featureData df.gene.norm.feature <- data.frame("gene_short_name"=rownames(df.gene.norm), stringsAsFactors=FALSE ) head(df.gene.norm.feature) # Gene expression (Counts) # Matrix df.gene.count <- marvel.demo.10x.raw$gene.count.matrix df.gene.count[1:5, 1:5] # phenoData df.gene.count.pheno <- data.frame("cell.id"=colnames(df.gene.count), stringsAsFactors=FALSE ) head(df.gene.count.pheno) # featureData df.gene.count.feature <- data.frame("gene_short_name"=rownames(df.gene.count), stringsAsFactors=FALSE ) head(df.gene.count.feature) # SJ (Counts) # Matrix df.sj.count <- marvel.demo.10x.raw$sj.count.matrix df.sj.count[1:5, 1:5] # phenoData df.sj.count.pheno <- data.frame("cell.id"=colnames(df.sj.count), stringsAsFactors=FALSE ) head(df.sj.count.pheno) # featureData df.sj.count.feature <- data.frame("coord.intron"=rownames(df.sj.count), stringsAsFactors=FALSE ) head(df.sj.count.feature) # tSNE coordinates df.coord <- marvel.demo.10x.raw$pca head(df.coord) # GTF gtf <- marvel.demo.10x.raw$gtf head(gtf) # Create MARVEL object marvel.demo.10x <- CreateMarvelObject.10x(gene.norm.matrix=df.gene.norm, gene.norm.pheno=df.gene.norm.pheno, gene.norm.feature=df.gene.norm.feature, gene.count.matrix=df.gene.count, gene.count.pheno=df.gene.count.pheno, gene.count.feature=df.gene.count.feature, sj.count.matrix=df.sj.count, sj.count.pheno=df.sj.count.pheno, sj.count.feature=df.sj.count.feature, pca=df.coord, gtf=gtf )
Detects splicing events, specifically alternative first and last exons (AFE, ALE) from GTF. This is a wrapper function for DetectEvents.ALE
and DetectEvents.AFE
functions.
DetectEvents( MarvelObject, min.cells = 50, min.expr = 1, track.progress = FALSE, EventType )
DetectEvents( MarvelObject, min.cells = 50, min.expr = 1, track.progress = FALSE, EventType )
MarvelObject |
Marvel object. S3 object generated from |
min.cells |
Numeric value. The minimum number of cells in which the gene is expressed for the gene to included for splicing event detected and quantification. To be used in conjunction with |
min.expr |
Numeric value. The minimum expression value for the gene to be considered to be expressed in a cell. Default value is |
track.progress |
Logical. If set to |
EventType |
Character string. Indicate which splicing event type to calculate the PSI values for. Can take value |
An object of class S3 with new slot MarvelObject$SpliceFeature$ALE
or MarvelObject$SpliceFeature$AFE
.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- DetectEvents(MarvelObject=marvel.demo, min.cells=5, min.expr=1, track.progress=FALSE, EventType="AFE" )
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- DetectEvents(MarvelObject=marvel.demo, min.cells=5, min.expr=1, track.progress=FALSE, EventType="AFE" )
Detects alternative first exons from GTF. This is a wrapper function for DetectEvents.AFE.PosStrand
and DetectEvents.AFE.NegStrand
functions.
DetectEvents.AFE( MarvelObject, min.cells = 50, min.expr = 1, track.progress = FALSE )
DetectEvents.AFE( MarvelObject, min.cells = 50, min.expr = 1, track.progress = FALSE )
MarvelObject |
Marvel object. S3 object generated from |
min.cells |
Numeric value. The minimum number of cells in which the gene is expressed for the gene to included for splicing event detected and quantification. To be used in conjunction with |
min.expr |
Numeric value. The minimum expression value for the gene to be considered to be expressed in a cell. Default value is |
track.progress |
Logical. If set to |
An object of class S3 with new slot MarvelObject$SpliceFeature$AFE
.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- DetectEvents.AFE(MarvelObject=marvel.demo, min.cells=5, min.expr=1, track.progress=FALSE )
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- DetectEvents.AFE(MarvelObject=marvel.demo, min.cells=5, min.expr=1, track.progress=FALSE )
Detects alternative first exons, specifically for genes transcribed on the negative strand of the DNA.
DetectEvents.AFE.NegStrand( MarvelObject, parsed.gtf = NULL, min.cells = 50, min.expr = 1, track.progress = FALSE )
DetectEvents.AFE.NegStrand( MarvelObject, parsed.gtf = NULL, min.cells = 50, min.expr = 1, track.progress = FALSE )
MarvelObject |
S3 object generated from |
parsed.gtf |
Data frame. GTF file with the gene_id parsed. Generated from the |
min.cells |
Numeric value. The minimum number of cells in which the gene is expressed for the gene to included for splicing event detected and quantification. To be used in conjunction with |
min.expr |
Numeric value. The minimum expression value for the gene to be considered to be expressed in a cell. Default value is |
track.progress |
Logical. If set to |
An object of class S3 with new slot MarvelObject$SpliceFeature$AFE.NegStrand
.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- DetectEvents.AFE.NegStrand(MarvelObject=marvel.demo, parsed.gtf=NULL, min.cells=5, min.expr=1, track.progress=FALSE )
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- DetectEvents.AFE.NegStrand(MarvelObject=marvel.demo, parsed.gtf=NULL, min.cells=5, min.expr=1, track.progress=FALSE )
Detects alternative first exons, specifically for genes transcribed on the positive strand of the DNA.
DetectEvents.AFE.PosStrand( MarvelObject, parsed.gtf = NULL, min.cells = 50, min.expr = 1, track.progress = FALSE )
DetectEvents.AFE.PosStrand( MarvelObject, parsed.gtf = NULL, min.cells = 50, min.expr = 1, track.progress = FALSE )
MarvelObject |
S3 object generated from |
parsed.gtf |
Data frame. GTF file with the gene_id parsed. Generated from the |
min.cells |
Numeric value. The minimum number of cells in which the gene is expressed for the gene to included for splicing event detected and quantification. To be used in conjunction with |
min.expr |
Numeric value. The minimum expression value for the gene to be considered to be expressed in a cell. Default value is |
track.progress |
Logical. If set to |
An object of class S3 with new slot MarvelObject$SpliceFeature$AFE.PosStrand
.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- DetectEvents.AFE.PosStrand(MarvelObject=marvel.demo, parsed.gtf=NULL, min.cells=5, min.expr=1, track.progress=FALSE )
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- DetectEvents.AFE.PosStrand(MarvelObject=marvel.demo, parsed.gtf=NULL, min.cells=5, min.expr=1, track.progress=FALSE )
Detects alternative last exons from GTF. This is a wrapper function for DetectEvents.ALE.PosStrand
and DetectEvents.ALE.NegStrand
functions.
DetectEvents.ALE( MarvelObject, min.cells = 50, min.expr = 1, track.progress = FALSE )
DetectEvents.ALE( MarvelObject, min.cells = 50, min.expr = 1, track.progress = FALSE )
MarvelObject |
Marvel object. S3 object generated from |
min.cells |
Numeric value. The minimum number of cells in which the gene is expressed for the gene to included for splicing event detected and quantification. To be used in conjunction with |
min.expr |
Numeric value. The minimum expression value for the gene to be considered to be expressed in a cell. Default value is |
track.progress |
Logical. If set to |
An object of class S3 with new slot MarvelObject$SpliceFeature$ALE
.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- DetectEvents.ALE(MarvelObject=marvel.demo, min.cells=5, min.expr=1, track.progress=FALSE )
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- DetectEvents.ALE(MarvelObject=marvel.demo, min.cells=5, min.expr=1, track.progress=FALSE )
Detects alternative last exons, specifically for genes transcribed on the negative strand of the DNA.
DetectEvents.ALE.NegStrand( MarvelObject, parsed.gtf = NULL, min.cells = 50, min.expr = 1, track.progress = FALSE )
DetectEvents.ALE.NegStrand( MarvelObject, parsed.gtf = NULL, min.cells = 50, min.expr = 1, track.progress = FALSE )
MarvelObject |
S3 object generated from |
parsed.gtf |
Data frame. GTF file with the gene_id parsed. Generated from the |
min.cells |
Numeric value. The minimum number of cells in which the gene is expressed for the gene to included for splicing event detected and quantification. To be used in conjunction with |
min.expr |
Numeric value. The minimum expression value for the gene to be considered to be expressed in a cell. Default value is |
track.progress |
Logical. If set to |
An object of class S3 with new slot MarvelObject$SpliceFeature$ALE.NegStrand
.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- DetectEvents.ALE.NegStrand(MarvelObject=marvel.demo, parsed.gtf=NULL, min.cells=5, min.expr=1, track.progress=FALSE )
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- DetectEvents.ALE.NegStrand(MarvelObject=marvel.demo, parsed.gtf=NULL, min.cells=5, min.expr=1, track.progress=FALSE )
Detects alternative last exons, specifically for genes transcribed on the positive strand of the DNA.
DetectEvents.ALE.PosStrand( MarvelObject, parsed.gtf = NULL, min.cells = 50, min.expr = 1, track.progress = FALSE )
DetectEvents.ALE.PosStrand( MarvelObject, parsed.gtf = NULL, min.cells = 50, min.expr = 1, track.progress = FALSE )
MarvelObject |
S3 object generated from |
parsed.gtf |
Data frame. GTF file with the gene_id parsed. Generated from the |
min.cells |
Numeric value. The minimum number of cells in which the gene is expressed for the gene to included for splicing event detected and quantification. To be used in conjunction with |
min.expr |
Numeric value. The minimum expression value for the gene to be considered to be expressed in a cell. Default value is |
track.progress |
Logical. If set to |
An object of class S3 with new slot MarvelObject$SpliceFeature$ALE.PosStrand
.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- DetectEvents.ALE.PosStrand(MarvelObject=marvel.demo, parsed.gtf=NULL, min.cells=5, min.expr=1, track.progress=FALSE )
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- DetectEvents.ALE.PosStrand(MarvelObject=marvel.demo, parsed.gtf=NULL, min.cells=5, min.expr=1, track.progress=FALSE )
Retain genes of specific type, e.g., protein-coding genes.
FilterGenes.10x(MarvelObject, gene.type = "protein_coding")
FilterGenes.10x(MarvelObject, gene.type = "protein_coding")
MarvelObject |
Marvel object. S3 object generated from |
gene.type |
Character string. Gene type to keep. Specification should match that of GTF. |
An object of class S3 containing the updated slots MarvelObject$gene.metadata
, MarvelObject$gene.norm.matrix
, MarvelObject$sj.metadata
, and MarvelObject$sj.count.matrix
.
# Load un-processed MARVEL object marvel.demo.10x.raw <- readRDS(system.file("extdata/data", "marvel.demo.10x.raw.rds", package="MARVEL") ) # Annotate gene metadata marvel.demo.10x <- AnnotateGenes.10x(MarvelObject=marvel.demo.10x.raw) # Annotate junction metadata marvel.demo.10x <- AnnotateSJ.10x(MarvelObject=marvel.demo.10x) # Validate junctions marvel.demo.10x <- ValidateSJ.10x(MarvelObject=marvel.demo.10x) # Subset CDS genes marvel.demo.10x <- FilterGenes.10x(MarvelObject=marvel.demo.10x, gene.type="protein_coding" )
# Load un-processed MARVEL object marvel.demo.10x.raw <- readRDS(system.file("extdata/data", "marvel.demo.10x.raw.rds", package="MARVEL") ) # Annotate gene metadata marvel.demo.10x <- AnnotateGenes.10x(MarvelObject=marvel.demo.10x.raw) # Annotate junction metadata marvel.demo.10x <- AnnotateSJ.10x(MarvelObject=marvel.demo.10x) # Validate junctions marvel.demo.10x <- ValidateSJ.10x(MarvelObject=marvel.demo.10x) # Subset CDS genes marvel.demo.10x <- FilterGenes.10x(MarvelObject=marvel.demo.10x, gene.type="protein_coding" )
Finds PTC(s) introduced by alternative exons into protein-coding transcripts.
FindPTC(MarvelObject, method, pval, delta, custom.tran_ids = NULL)
FindPTC(MarvelObject, method, pval, delta, custom.tran_ids = NULL)
MarvelObject |
Marvel object. S3 object generated from |
method |
Character string. The statistical method used for differential splicing analysis. |
pval |
Numeric value. Adjusted p-value below which the splicing event will be analysed for PTCs. |
delta |
Numeric value. Positive delta percent spliced-in (PSI) value above which the splicing event will be analysed for PTCs. "Positive" because only an increased in PSI value leads to increased alternative exon inclusion in the transcript. |
custom.tran_ids |
Vector of character strings. Subset of tran_ids to be brought forward for analysis after filtering based on |
An object of class S3 with new slot MarvelObject$NMD$Prediction
.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- FindPTC(MarvelObject=marvel.demo, method="ad", pval=0.1, delta=90 )
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- FindPTC(MarvelObject=marvel.demo, method="ad", pval=0.1, delta=90 )
Finds PTC(s) introduced by alternative exons into protein-coding transcripts.
FindPTC.A3SS.NegStrand(MarvelObject, tran_id, gene_id)
FindPTC.A3SS.NegStrand(MarvelObject, tran_id, gene_id)
MarvelObject |
Marvel object. S3 object generated from |
tran_id |
Character string. Vector of |
gene_id |
Character string. Vector of |
A data frame of transcripts containing splicing events meeting the psi.de.sig
and psi.de.diff
criteria are categorised based on the presence or absence of PTCs.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) # Define relevant event type results <- marvel.demo$DE$PSI$Table[["ad"]] index.1 <- which(results$event_type=="A3SS") index.2 <- grep(":-@", results$tran_id, fixed=TRUE) index <- intersect(index.1, index.2) results <- results[index, ] tran_id <- results$tran_id[3] gene_id <- results$gene_id[3] # Find PTC results <- FindPTC.A3SS.NegStrand(MarvelObject=marvel.demo, tran_id=NULL, gene_id=gene_id ) # Check output head(results)
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) # Define relevant event type results <- marvel.demo$DE$PSI$Table[["ad"]] index.1 <- which(results$event_type=="A3SS") index.2 <- grep(":-@", results$tran_id, fixed=TRUE) index <- intersect(index.1, index.2) results <- results[index, ] tran_id <- results$tran_id[3] gene_id <- results$gene_id[3] # Find PTC results <- FindPTC.A3SS.NegStrand(MarvelObject=marvel.demo, tran_id=NULL, gene_id=gene_id ) # Check output head(results)
Finds PTC(s) introduced by alternative exons into protein-coding transcripts.
FindPTC.A3SS.PosStrand(MarvelObject, tran_id, gene_id)
FindPTC.A3SS.PosStrand(MarvelObject, tran_id, gene_id)
MarvelObject |
Marvel object. S3 object generated from |
tran_id |
Character string. Vector of |
gene_id |
Character string. Vector of |
A data frame of transcripts containing splicing events meeting the psi.de.sig
and psi.de.diff
criteria are categorised based on the presence or absence of PTCs.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) # Define relevant event type results <- marvel.demo$DE$PSI$Table[["ad"]] index.1 <- which(results$event_type=="A3SS") index.2 <- grep(":+@", results$tran_id, fixed=TRUE) index <- intersect(index.1, index.2) results <- results[index, ] tran_id <- results$tran_id[1] gene_id <- results$gene_id[1] # Find PTC results <- FindPTC.A3SS.PosStrand(MarvelObject=marvel.demo, tran_id=tran_id, gene_id=gene_id ) # Check output head(results)
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) # Define relevant event type results <- marvel.demo$DE$PSI$Table[["ad"]] index.1 <- which(results$event_type=="A3SS") index.2 <- grep(":+@", results$tran_id, fixed=TRUE) index <- intersect(index.1, index.2) results <- results[index, ] tran_id <- results$tran_id[1] gene_id <- results$gene_id[1] # Find PTC results <- FindPTC.A3SS.PosStrand(MarvelObject=marvel.demo, tran_id=tran_id, gene_id=gene_id ) # Check output head(results)
Finds PTC(s) introduced by alternative exons into protein-coding transcripts.
FindPTC.A5SS.NegStrand(MarvelObject, tran_id, gene_id)
FindPTC.A5SS.NegStrand(MarvelObject, tran_id, gene_id)
MarvelObject |
Marvel object. S3 object generated from |
tran_id |
Character string. Vector of |
gene_id |
Character string. Vector of |
A data frame of transcripts containing splicing events meeting the psi.de.sig
and psi.de.diff
criteria are categorised based on the presence or absence of PTCs.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) results <- marvel.demo$DE$PSI$Table[["ad"]] index.1 <- which(results$event_type=="A5SS") index.2 <- grep(":-@", results$tran_id, fixed=TRUE) index <- intersect(index.1, index.2) results <- results[index, ] tran_id <- results$tran_id[1] gene_id <- results$gene_id[1] # Find PTC results <- FindPTC.A5SS.NegStrand(MarvelObject=marvel.demo, tran_id=tran_id, gene_id=gene_id ) # Check output head(results)
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) results <- marvel.demo$DE$PSI$Table[["ad"]] index.1 <- which(results$event_type=="A5SS") index.2 <- grep(":-@", results$tran_id, fixed=TRUE) index <- intersect(index.1, index.2) results <- results[index, ] tran_id <- results$tran_id[1] gene_id <- results$gene_id[1] # Find PTC results <- FindPTC.A5SS.NegStrand(MarvelObject=marvel.demo, tran_id=tran_id, gene_id=gene_id ) # Check output head(results)
Finds PTC(s) introduced by alternative exons into protein-coding transcripts.
FindPTC.A5SS.PosStrand(MarvelObject, tran_id, gene_id)
FindPTC.A5SS.PosStrand(MarvelObject, tran_id, gene_id)
MarvelObject |
S3 object generated from |
tran_id |
Character string. Vector of |
gene_id |
Character string. Vector of |
A data frame of transcripts containing splicing events meeting the psi.de.sig
and psi.de.diff
criteria are categorised based on the presence or absence of PTCs.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) # Define relevant event type results <- marvel.demo$DE$PSI$Table[["ad"]] index.1 <- which(results$event_type=="A5SS") index.2 <- grep(":+@", results$tran_id, fixed=TRUE) index <- intersect(index.1, index.2) results <- results[index, ] tran_id <- results$tran_id[1] gene_id <- results$gene_id[1] # Find PTC results <- FindPTC.A5SS.PosStrand(MarvelObject=marvel.demo, tran_id=tran_id, gene_id=gene_id ) # Check output head(results)
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) # Define relevant event type results <- marvel.demo$DE$PSI$Table[["ad"]] index.1 <- which(results$event_type=="A5SS") index.2 <- grep(":+@", results$tran_id, fixed=TRUE) index <- intersect(index.1, index.2) results <- results[index, ] tran_id <- results$tran_id[1] gene_id <- results$gene_id[1] # Find PTC results <- FindPTC.A5SS.PosStrand(MarvelObject=marvel.demo, tran_id=tran_id, gene_id=gene_id ) # Check output head(results)
Finds PTC(s) introduced by alternative exons into protein-coding transcripts.
FindPTC.RI.NegStrand(MarvelObject, tran_id, gene_id)
FindPTC.RI.NegStrand(MarvelObject, tran_id, gene_id)
MarvelObject |
S3 object generated from |
tran_id |
Character string. Vector of |
gene_id |
Character string. Vector of |
A data frame of transcripts containing splicing events meeting the psi.de.sig
and psi.de.diff
criteria are categorised based on the presence or absence of PTCs.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) # Define relevant event type results <- marvel.demo$DE$PSI$Table[["ad"]] index.1 <- which(results$event_type=="RI") index.2 <- grep(":-@", results$tran_id, fixed=TRUE) index <- intersect(index.1, index.2) results <- results[index, ] tran_id <- results$tran_id[1] gene_id <- results$gene_id[1] # Find PTC results <- FindPTC.RI.NegStrand(MarvelObject=marvel.demo, tran_id=tran_id, gene_id=gene_id ) # Check output head(results)
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) # Define relevant event type results <- marvel.demo$DE$PSI$Table[["ad"]] index.1 <- which(results$event_type=="RI") index.2 <- grep(":-@", results$tran_id, fixed=TRUE) index <- intersect(index.1, index.2) results <- results[index, ] tran_id <- results$tran_id[1] gene_id <- results$gene_id[1] # Find PTC results <- FindPTC.RI.NegStrand(MarvelObject=marvel.demo, tran_id=tran_id, gene_id=gene_id ) # Check output head(results)
Finds PTC(s) introduced by alternative exons into protein-coding transcripts.
FindPTC.RI.PosStrand(MarvelObject, tran_id, gene_id)
FindPTC.RI.PosStrand(MarvelObject, tran_id, gene_id)
MarvelObject |
Marvel object. S3 object generated from |
tran_id |
Character string. Vector of |
gene_id |
Character string. Vector of |
A data frame of transcripts containing splicing events meeting the psi.de.sig
and psi.de.diff
criteria are categorised based on the presence or absence of PTCs.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) # Define relevant event type results <- marvel.demo$DE$PSI$Table[["ad"]] index.1 <- which(results$event_type=="RI") index.2 <- grep(":+@", results$tran_id, fixed=TRUE) index <- intersect(index.1, index.2) results <- results[index, ] tran_id <- results$tran_id[1] gene_id <- results$gene_id[1] # Find PTC results <- FindPTC.RI.PosStrand(MarvelObject=marvel.demo, tran_id=tran_id, gene_id=gene_id ) # Check output head(results)
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) # Define relevant event type results <- marvel.demo$DE$PSI$Table[["ad"]] index.1 <- which(results$event_type=="RI") index.2 <- grep(":+@", results$tran_id, fixed=TRUE) index <- intersect(index.1, index.2) results <- results[index, ] tran_id <- results$tran_id[1] gene_id <- results$gene_id[1] # Find PTC results <- FindPTC.RI.PosStrand(MarvelObject=marvel.demo, tran_id=tran_id, gene_id=gene_id ) # Check output head(results)
Finds PTC(s) introduced by alternative exons into protein-coding transcripts.
FindPTC.SE.NegStrand(MarvelObject, tran_id, gene_id)
FindPTC.SE.NegStrand(MarvelObject, tran_id, gene_id)
MarvelObject |
Marvel object. S3 object generated from |
tran_id |
Character string. Vector of |
gene_id |
Character string. Vector of |
A data frame of transcripts containing splicing events meeting the psi.de.sig
and psi.de.diff
criteria are categorised based on the presence or absence of PTCs.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) # Define relevant event type results <- marvel.demo$DE$PSI$Table[["ad"]] index.1 <- which(results$event_type=="SE") index.2 <- grep(":-@", results$tran_id, fixed=TRUE) index <- intersect(index.1, index.2) results <- results[index, ] tran_id <- results$tran_id[1] gene_id <- results$gene_id[1] # Find PTC results <- FindPTC.SE.NegStrand(MarvelObject=marvel.demo, tran_id=NULL, gene_id=gene_id ) # Check output head(results)
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) # Define relevant event type results <- marvel.demo$DE$PSI$Table[["ad"]] index.1 <- which(results$event_type=="SE") index.2 <- grep(":-@", results$tran_id, fixed=TRUE) index <- intersect(index.1, index.2) results <- results[index, ] tran_id <- results$tran_id[1] gene_id <- results$gene_id[1] # Find PTC results <- FindPTC.SE.NegStrand(MarvelObject=marvel.demo, tran_id=NULL, gene_id=gene_id ) # Check output head(results)
Finds PTC(s) introduced by alternative exons into protein-coding transcripts.
FindPTC.SE.PosStrand(MarvelObject, tran_id, gene_id)
FindPTC.SE.PosStrand(MarvelObject, tran_id, gene_id)
MarvelObject |
S3 object generated from |
tran_id |
Character string. Vector of |
gene_id |
Character string. Vector of |
This function finds PTC(s) introduced by alternative exons into protein-coding transcripts. It also records the distance between a PTCs and the final splice junction for a given protein-coding transcript. Non-protein-coding transcripts or transcripts in which splicing events are located outside of the transcripts' open-reading frame (ORF) are not analysed for PTCs but are noted.
A data frame of transcripts containing splicing events meeting the psi.de.sig
and psi.de.diff
criteria are categorised based on the presence or absence of PTCs.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) # Define relevant event type results <- marvel.demo$DE$PSI$Table[["ad"]] index.1 <- which(results$event_type=="SE") index.2 <- grep(":+@", results$tran_id, fixed=TRUE) index <- intersect(index.1, index.2) results <- results[index, ] tran_id <- results$tran_id[1] gene_id <- results$gene_id[1] # Find PTC results <- FindPTC.SE.PosStrand(MarvelObject=marvel.demo, tran_id=NULL, gene_id=gene_id ) # Check output head(results)
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) # Define relevant event type results <- marvel.demo$DE$PSI$Table[["ad"]] index.1 <- which(results$event_type=="SE") index.2 <- grep(":+@", results$tran_id, fixed=TRUE) index <- intersect(index.1, index.2) results <- results[index, ] tran_id <- results$tran_id[1] gene_id <- results$gene_id[1] # Find PTC results <- FindPTC.SE.PosStrand(MarvelObject=marvel.demo, tran_id=NULL, gene_id=gene_id ) # Check output head(results)
Classify gene-splicing relative changes to each other from cell group 1 to group 2. Classifications are coordinated, opposing, isoform-switching, and complex. In coordinated relationship, both gene and splicing changes in the same direction from cell group 1 to group 2. In opposing relationship, gene changes in the opposite direction relative to splicing from cell group 1 to group 2. In isoform-switching, there is differential splice junction usage without differential expression of the corresponding gene between cell group 1 and group 2. Complex relationship involves genes with both coordinated and opposing relationships with splicing. Only differentially spliced junctions are included for analysis here.
IsoSwitch( MarvelObject, method, psi.pval = 0.1, psi.delta = 0, gene.pval = 0.1, gene.log2fc = 0.5, event.type = NULL, custom.tran_ids = NULL )
IsoSwitch( MarvelObject, method, psi.pval = 0.1, psi.delta = 0, gene.pval = 0.1, gene.log2fc = 0.5, event.type = NULL, custom.tran_ids = NULL )
MarvelObject |
Marvel object. S3 object generated from |
method |
Character string. The statistical method used for differential splicing analysis. |
psi.pval |
Numeric value. Adjusted p-value below which the splicing event is considered differentially spliced and included for isoform switching analysis. To be used in conjunction with |
psi.delta |
Numeric value. The absolute mininum difference in PSI values between the two cell groups above which the splicing event is considered differentially spliced nd included for isoform switching analysis. To be used in conjunction with |
gene.pval |
Numeric value. Adjusted p-value below which the gene is considered differentially expressed. Default value is |
gene.log2fc |
Numeric value. The absolute log2 fold change in mean gene expression values between the two cell groups above which the gene is considered differentially expressed. To be used in conjunction with |
event.type |
Character string. Indicate which splicing event type to include for analysis. Can take any combination of values: |
custom.tran_ids |
Vector of character strings. Subset of tran_ids to be brought forward for analysis after filtering based on |
An object of class S3 containing with new slots MarvelObject$DE$Cor$Table
, MarvelObject$DE$Cor$Plot
, and MarvelObject$DE$Cor$Plot.Stats
.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- IsoSwitch(MarvelObject=marvel.demo, method="ad", psi.pval=0.1, psi.delta=0, gene.pval=0.1, gene.log2fc=0.5 ) # Check outputs head(marvel.demo$DE$Cor$Table_Raw) head(marvel.demo$DE$Cor$Table) marvel.demo$DE$Cor$Plot marvel.demo$DE$Cor$Plot.Stats
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- IsoSwitch(MarvelObject=marvel.demo, method="ad", psi.pval=0.1, psi.delta=0, gene.pval=0.1, gene.log2fc=0.5 ) # Check outputs head(marvel.demo$DE$Cor$Table_Raw) head(marvel.demo$DE$Cor$Table) marvel.demo$DE$Cor$Plot marvel.demo$DE$Cor$Plot.Stats
Classify gene-splicing relative changes to each other from cell group 1 to group 2. Classifications are coordinated, opposing, isoform-switching, and complex. In coordinated relationship, both gene and splicing changes in the same direction from cell group 1 to group 2. In opposing relationship, gene changes in the opposite direction relative to splicing from cell group 1 to group 2. In isoform-switching, there is differential splice junction usage without differential expression of the corresponding gene between cell group 1 and group 2. Complex relationship involves genes with both coordinated and opposing relationships with splicing. Only differentially spliced junctions are included for analysis here.
IsoSwitch.10x( MarvelObject, pval.sj = 0.05, log2fc.sj = NULL, delta.sj = 5, min.gene.norm = 0, pval.adj.gene = 0.05, log2fc.gene = 0.5 )
IsoSwitch.10x( MarvelObject, pval.sj = 0.05, log2fc.sj = NULL, delta.sj = 5, min.gene.norm = 0, pval.adj.gene = 0.05, log2fc.gene = 0.5 )
MarvelObject |
Marvel object. S3 object generated from |
pval.sj |
Numeric value. p-value from differential splicing analysis, below which, the splice junction is considered differentially spliced. Default is |
log2fc.sj |
Numeric value. Absolute log2 fold change from differential splicing analysis, above which, the splice junction is considered differentially spliced. This option should be |
delta.sj |
Numeric value. Absolute difference in average PSI values between the two cell groups, above which, the splice junction is considered differentially spliced. This option should be |
min.gene.norm |
Numeric value. The average normalised gene expression across the two cell groups above which the splice junction is considered differentially spliced. Default is |
pval.adj.gene |
Numeric value. Adjusted p-value from differential gene expression analysis, below which, the gene is considered differentially expressed. Default is |
log2fc.gene |
Numeric value. Absolute log2 fold change from differential gene expression analysis, above which, the gene is considered differentially expressed. This option should be |
An object of class S3 containing new slots MarvelObject$SJ.Gene.Cor$Data
, MarvelObject$SJ.Gene.Cor$Proportion$Plot
, and MarvelObject$SJ.Gene.Cor$Proportion$Table
.
marvel.demo.10x <- readRDS(system.file("extdata/data", "marvel.demo.10x.rds", package="MARVEL") ) marvel.demo.10x <- readRDS(system.file("extdata/data", "marvel.demo.10x.rds", package="MARVEL") ) marvel.demo.10x <- IsoSwitch.10x( MarvelObject=marvel.demo.10x, pval.sj=0.05, delta.sj=5, min.gene.norm=1.0, pval.adj.gene=0.05, log2fc.gene=0.5 ) # Check outputs marvel.demo.10x$SJ.Gene.Cor$Proportion$Plot marvel.demo.10x$SJ.Gene.Cor$Proportion$Table cols <- c("coord.intron", "gene_short_name", "cor.complete") head(marvel.demo.10x$SJ.Gene.Cor$Data[,cols])
marvel.demo.10x <- readRDS(system.file("extdata/data", "marvel.demo.10x.rds", package="MARVEL") ) marvel.demo.10x <- readRDS(system.file("extdata/data", "marvel.demo.10x.rds", package="MARVEL") ) marvel.demo.10x <- IsoSwitch.10x( MarvelObject=marvel.demo.10x, pval.sj=0.05, delta.sj=5, min.gene.norm=1.0, pval.adj.gene=0.05, log2fc.gene=0.5 ) # Check outputs marvel.demo.10x$SJ.Gene.Cor$Proportion$Plot marvel.demo.10x$SJ.Gene.Cor$Proportion$Table cols <- c("coord.intron", "gene_short_name", "cor.complete") head(marvel.demo.10x$SJ.Gene.Cor$Data[,cols])
Plots delta PSI vs gene log2-fold change
IsoSwitch.PlotExpr(MarvelObject, anno = FALSE)
IsoSwitch.PlotExpr(MarvelObject, anno = FALSE)
MarvelObject |
Marvel object. S3 object generated from |
anno |
Logical value. If set to |
An object of class S3 containing with new slots MarvelObject$DE$Cor$PSIvsExpr$Plot
.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- IsoSwitch.PlotExpr(MarvelObject=marvel.demo, anno=TRUE) # Check output marvel.demo$DE$Cor$PSIvsExpr$Plot
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- IsoSwitch.PlotExpr(MarvelObject=marvel.demo, anno=TRUE) # Check output marvel.demo$DE$Cor$PSIvsExpr$Plot
Classifies the type of modality change for each splicing event that has taken place between 2 groups of cells.
ModalityChange(MarvelObject, method, psi.pval, psi.delta = 0)
ModalityChange(MarvelObject, method, psi.pval, psi.delta = 0)
MarvelObject |
Marvel object. S3 object generated from |
method |
Character string. The statistical method used for differential splicing analysis. |
psi.pval |
Numeric value. Adjusted p-value below which the splicing event is considered differentially spliced and included for modality analysis. |
psi.delta |
Numeric value. The absolute difference between the means PSI values of cell group 1 and 2, above which, the splicing event is considered differentially spliced and included for modality analysis. |
An object of class S3 with new slots MarvelObject$DE$Modality$Table
, MarvelObject$DE$Modality$Plot
, and MarvelObject$DE$Modality$Plot.Stats
.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- ModalityChange(MarvelObject=marvel.demo, method="ad", psi.pval=0.1, psi.delta=0 ) # Check outputs head(marvel.demo$DE$Modality$Table) marvel.demo$DE$Modality$Plot marvel.demo$DE$Modality$Plot.Stats
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- ModalityChange(MarvelObject=marvel.demo, method="ad", psi.pval=0.1, psi.delta=0 ) # Check outputs head(marvel.demo$DE$Modality$Table) marvel.demo$DE$Modality$Plot marvel.demo$DE$Modality$Plot.Stats
Parses the gene transfer file (GTF) for downstream nonsense-mediated decay (NMD) prediction.
ParseGTF(MarvelObject)
ParseGTF(MarvelObject)
MarvelObject |
Marvel object. S3 object generated from |
This function parses the GTF in order to generate new columns for gene IDs, transcript IDs, and transcript type. These information are extracted from the attribute (9th) column for a standard GTF. These information will be used for downstream NMD prediction.
An object of class S3 with new slot MarvelObject$NMD$GTF
.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- ParseGTF(MarvelObject=marvel.demo)
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- ParseGTF(MarvelObject=marvel.demo)
Tabulates the percentage or absoluate number of significant splicing events for each splicing type.
PctASE( MarvelObject, method, psi.pval, psi.mean.diff, ylabels.size = 8, barlabels.size = 3, x.offset = 0, direction.color = NULL, mode = "percentage" )
PctASE( MarvelObject, method, psi.pval, psi.mean.diff, ylabels.size = 8, barlabels.size = 3, x.offset = 0, direction.color = NULL, mode = "percentage" )
MarvelObject |
Marvel object. S3 object generated from |
method |
Character string. The statistical method used for differential splicing analysis. |
psi.pval |
Numeric value. Adjusted p-value below which the splicing event is considered differentially spliced and included for tabulation. |
psi.mean.diff |
Numeric value. The minimum absolute differences in PSI values between the two cell groups above which the splicing event is considered differentially spliced and included for tabulation. |
ylabels.size |
Numeric value. Size of the xtick labels. Default is |
barlabels.size |
Numeric value. Size of the labels above each bar. Default is |
x.offset |
Numeric value. The values on the x-axis to offset by. Useful when right margin overshadow the numbers above the bars. Default value is |
direction.color |
Character strings. Vector of length 2 to specify the colors for significanly down- and up-regulated splicing events. Default is |
mode |
Character strings. When set to |
An object of class S3 with new slots MarvelObject$DE$AbsASE$Table
and MarvelObject$DE$AbsASE$Plot
.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- PctASE(MarvelObject=marvel.demo, method="ad", psi.pval=0.1, psi.mean.diff=0 )
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- PctASE(MarvelObject=marvel.demo, method="ad", psi.pval=0.1, psi.mean.diff=0 )
Volcano plot of differential splicing and gene expression analysis results. This is a wrapper function for PlotDEValues.PSI.Mean
, PlotDEValues.Exp.Global
, and PlotDEValues.Exp.Spliced
.
PlotDEValues( MarvelObject, method = NULL, pval, level, delta = NULL, log2fc = NULL, psi.pval = NULL, psi.delta = NULL, gene.pval = NULL, gene.log2fc = NULL, point.size = 1, xlabel.size = 8, point.alpha = 1, anno = FALSE, anno.gene_short_name = NULL, anno.tran_id = NULL, label.size = 2.5, y.upper.offset = 5, event.types = c("SE", "MXE", "RI", "A5SS", "A3SS", "AFE", "ALE"), event.types.colors = NULL )
PlotDEValues( MarvelObject, method = NULL, pval, level, delta = NULL, log2fc = NULL, psi.pval = NULL, psi.delta = NULL, gene.pval = NULL, gene.log2fc = NULL, point.size = 1, xlabel.size = 8, point.alpha = 1, anno = FALSE, anno.gene_short_name = NULL, anno.tran_id = NULL, label.size = 2.5, y.upper.offset = 5, event.types = c("SE", "MXE", "RI", "A5SS", "A3SS", "AFE", "ALE"), event.types.colors = NULL )
MarvelObject |
Marvel object. S3 object generated from |
method |
Character string. The statistical method used for differential splicing analysis. |
pval |
Numeric value. Only applicable when |
level |
Character string. Indicate |
delta |
Numeric value. Only applicable when |
log2fc |
Numeric value. Only applicable when |
psi.pval |
Numeric value. Only applicable when |
psi.delta |
Numeric value. Only applicable when |
gene.pval |
Numeric value. Only applicable when |
gene.log2fc |
Numeric value. Only applicable when |
point.size |
Numeric value. Size of data points. Default is |
xlabel.size |
Numeric value. Font size of the xtick labels. Default is |
point.alpha |
Numeric value. Only applicable when |
anno |
Logical value. If set to |
anno.gene_short_name |
Vector of character strings. When |
anno.tran_id |
Vector of character strings. When |
label.size |
Numeric value. Only applicable if |
y.upper.offset |
Numeric value. The value in -log10(p-value) to increase the upper limit of the y-axis. To be used when |
event.types |
Vector of character string(s). Only applicable when |
event.types.colors |
Vector of character string(s). Only applicable when |
An object of class S3 with new slot MarvelObject$DE$PSI$Plot[["method"]]
when level set to "splicing.mean"
or "splicing.distance"
or MarvelObject$DE$Exp.Global$Table
and MarvelObject$DE$Exp.Global$Plot
when level set to "gene.global"
or MarvelObject$DE$Exp.Spliced$Table
and MarvelObject$DE$Exp.Spliced$Plot
when level set to "gene.spliced"
.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- PlotDEValues(MarvelObject=marvel.demo, method="ad", pval=0.10, level="splicing.distance" ) # Check output marvel.demo$DE$PSI$Plot[["ad"]]
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- PlotDEValues(MarvelObject=marvel.demo, method="ad", pval=0.10, level="splicing.distance" ) # Check output marvel.demo$DE$PSI$Plot[["ad"]]
Volcano plot of differential splicing analysis results based on all expressed genes between 2 groups of cells. x-axis represents the log2 fold change in gene expression. y-axis represents the adjusted p-values.
PlotDEValues.Exp.Global( MarvelObject, pval = 0.1, log2fc = 0.5, point.size = 1, anno = FALSE, anno.gene_short_name = NULL, label.size = 2.5, y.upper.offset = 5, xlabel.size = 8 )
PlotDEValues.Exp.Global( MarvelObject, pval = 0.1, log2fc = 0.5, point.size = 1, anno = FALSE, anno.gene_short_name = NULL, label.size = 2.5, y.upper.offset = 5, xlabel.size = 8 )
MarvelObject |
Marvel object. S3 object generated from |
pval |
Numeric value. Adjusted p-value below which the genes are considered as statistically significant and will consequently be color-annotated on the plot. |
log2fc |
Numeric value. The positive (and negative) value specified above (and below) which the genes are considered to be statistically significant and will consequently be color-annotated on the plot. |
point.size |
Numeric value. The point size for the data points. Default value is |
anno |
Logical value. If set to |
anno.gene_short_name |
Vector of character strings. When |
label.size |
Numeric value. Only applicable if |
y.upper.offset |
Numeric value. The value in -log10(p-value) to increase the upper limit of the y-axis. To be used when |
xlabel.size |
Numeric value. Font size of the xtick labels. Default is |
An object of class S3 with new slots MarvelObject$DE$Exp.Global$Table
, MarvelObject$DE$Exp.Global$Summary
, and MarvelObject$DE$Exp.Global$Plot
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- PlotDEValues.Exp.Global(MarvelObject=marvel.demo, pval=0.10, log2fc=0.5 ) # Check output head(marvel.demo$DE$Exp.Global$Table) marvel.demo$DE$Exp.Global$Plot marvel.demo$DE$Exp.Global$Summary
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- PlotDEValues.Exp.Global(MarvelObject=marvel.demo, pval=0.10, log2fc=0.5 ) # Check output head(marvel.demo$DE$Exp.Global$Table) marvel.demo$DE$Exp.Global$Plot marvel.demo$DE$Exp.Global$Summary
Volcano plot of differential splicing analysis results based on differentially spliced genes between 2 groups of cells. x-axis represents the log2 fold change in gene expression. y-axis represents the adjusted p-values.
PlotDEValues.Exp.Spliced( MarvelObject, method, psi.pval = 0.1, psi.delta = 0, gene.pval = 0.1, gene.log2fc = 0.5, point.size = 1, anno = FALSE, anno.gene_short_name = NULL, label.size = 2.5, y.upper.offset = 5, xlabel.size = 8 )
PlotDEValues.Exp.Spliced( MarvelObject, method, psi.pval = 0.1, psi.delta = 0, gene.pval = 0.1, gene.log2fc = 0.5, point.size = 1, anno = FALSE, anno.gene_short_name = NULL, label.size = 2.5, y.upper.offset = 5, xlabel.size = 8 )
MarvelObject |
S3 object generated from |
method |
(Vector of) Character string(s). The |
psi.pval |
Numeric value. The adjusted p-value from differential splicing analysis, below which, the splicing event is considered differentially spliced. Default is |
psi.delta |
Numeric value. The absolute differences in average PSI value between two cell groups from differential splicing analysis, above which, the splicing event is considered differentially spliced. Default is |
gene.pval |
Numeric value. The adjusted p-value from differential gene expression analysis, below which, the gene is considered differentially expressed. Default is |
gene.log2fc |
Numeric value. The absolute log2 fold change in gene expression betwene two cell groups from differential splicing analysis, above which, the gene is considered differentially expressed. Default is |
point.size |
Numeric value. Size of data points. Default is |
anno |
Logical value. If set to |
anno.gene_short_name |
Vector of character strings. When |
label.size |
Numeric value. Only applicable if |
y.upper.offset |
Numeric value. The value in -log10(p-value) to increase the upper limit of the y-axis. To be used when |
xlabel.size |
Numeric value. Font size of the xtick labels. Default is |
An object of class S3 with new slots MarvelObject$DE$Exp.Spliced$Table
, MarvelObject$DE$Exp.Spliced$Summary
, and MarvelObject$DE$Exp.Spliced$Plot
.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- PlotDEValues.Exp.Spliced(MarvelObject=marvel.demo, method="ad", psi.pval=0.1, psi.delta=0, gene.pval=0.1, gene.log2fc=0.5 ) # Check output marvel.demo$DE$Exp.Spliced$Summary marvel.demo$DE$Exp.Spliced$Plot
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- PlotDEValues.Exp.Spliced(MarvelObject=marvel.demo, method="ad", psi.pval=0.1, psi.delta=0, gene.pval=0.1, gene.log2fc=0.5 ) # Check output marvel.demo$DE$Exp.Spliced$Summary marvel.demo$DE$Exp.Spliced$Plot
Volcano plot of results from differential gene expression analysis. x-axis represents the log2 fold change between two cell groups. y-axis represents -log10(adjusted p-value). Only genes whose splice junctions were considered to be differentially spliced are included for plotting.
PlotDEValues.Genes.10x( MarvelObject, pval.sj = 0.05, log2fc.sj = NULL, delta.sj = 5, min.gene.norm = 0, pval.adj.gene = 0.05, log2fc.gene = 0.5, anno = FALSE, anno.gene_short_name = NULL, label.size = 2 )
PlotDEValues.Genes.10x( MarvelObject, pval.sj = 0.05, log2fc.sj = NULL, delta.sj = 5, min.gene.norm = 0, pval.adj.gene = 0.05, log2fc.gene = 0.5, anno = FALSE, anno.gene_short_name = NULL, label.size = 2 )
MarvelObject |
Marvel object. S3 object generated from |
pval.sj |
Numeric value. p-value from differential splicing analysis, below which, the splice junction is considered differentially spliced. Default is |
log2fc.sj |
Numeric value. Absolute log2 fold change from differential splicing analysis, above which, the splice junction is considered differentially spliced. This option should be |
delta.sj |
Numeric value. Absolute difference in average PSI values between the two cell groups, above which, the splice junction is considered differentially spliced. This option should be |
min.gene.norm |
Numeric value. The average normalised gene expression across the two cell groups above which the splice junction is considered differentially spliced. Default is |
pval.adj.gene |
Numeric value. Adjusted p-value from differential gene expression analysis, below which, the gene is considered differentially expressed. Default is |
log2fc.gene |
Numeric value. Absolute log2 fold change from differential gene expression analysis, above which, the gene is considered differentially expressed. This option should be |
anno |
Logical value. If set to |
anno.gene_short_name |
Vector of character strings. If |
label.size |
Numeric value. If |
An object of class S3 with a new slots MarvelObject$DE$SJ$VolcanoPlot$Gene$Plot
and MarvelObject$DE$SJ$VolcanoPlot$Gene$Data
.
marvel.demo.10x <- readRDS(system.file("extdata/data", "marvel.demo.10x.rds", package="MARVEL") ) marvel.demo.10x <- PlotDEValues.Genes.10x( MarvelObject=marvel.demo.10x, pval.sj=0.05, delta.sj=5, min.gene.norm=1.0, pval.adj.gene=0.05, log2fc.gene=0.5 ) # Check outputs marvel.demo.10x$DE$SJ$VolcanoPlot$Gene$Plot head(marvel.demo.10x$DE$SJ$VolcanoPlot$Gene$Data)
marvel.demo.10x <- readRDS(system.file("extdata/data", "marvel.demo.10x.rds", package="MARVEL") ) marvel.demo.10x <- PlotDEValues.Genes.10x( MarvelObject=marvel.demo.10x, pval.sj=0.05, delta.sj=5, min.gene.norm=1.0, pval.adj.gene=0.05, log2fc.gene=0.5 ) # Check outputs marvel.demo.10x$DE$SJ$VolcanoPlot$Gene$Plot head(marvel.demo.10x$DE$SJ$VolcanoPlot$Gene$Data)
Ranked plot for differential splicing analysis results based on distance statistics. Only statistical test that assess the overall PSI distribution between two cell groups will be eligible for plotting here, e.g., Anderson-Darling and DTS. x-axis represents the distance statistics. y-axis represents the adjusted p-values.
PlotDEValues.PSI.Distance( MarvelObject, method, pval, point.size = 1, xlabel.size = 8, anno = FALSE, anno.tran_id = NULL, label.size = 2.5, y.upper.offset = 5 )
PlotDEValues.PSI.Distance( MarvelObject, method, pval, point.size = 1, xlabel.size = 8, anno = FALSE, anno.tran_id = NULL, label.size = 2.5, y.upper.offset = 5 )
MarvelObject |
Marvel object. S3 object generated from |
method |
Character string. The statistical method used for differential splicing analysis. |
pval |
Numeric value. Adjusted p-value below which the splcing events are considered as statistically significant and will consequently be color-annotated on the plot. |
point.size |
Numeric value. The point size for the data points. Default value is |
xlabel.size |
Numeric value. Font size of the xtick labels. Default is |
anno |
Logical value. If set to |
anno.tran_id |
Vector of character strings. When |
label.size |
Numeric value. Only applicable if |
y.upper.offset |
Numeric value. The value in -log10(p-value) to increase the upper limit of the y-axis. To be used when |
An object of class S3 containing with new slot MarvelObject$DE$PSI$Plot[["method"]]
.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- PlotDEValues.PSI.Distance(MarvelObject=marvel.demo, method="ad", pval=0.10 ) # Check output marvel.demo$DE$PSI$Plot[["ad"]]
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- PlotDEValues.PSI.Distance(MarvelObject=marvel.demo, method="ad", pval=0.10 ) # Check output marvel.demo$DE$PSI$Plot[["ad"]]
Volcano plot of differential splicing analysis results based on mean PSI difference between 2 groups of cells. x-axis represents the mean delta PSI. y-axis represents the adjusted p-values.
PlotDEValues.PSI.Mean( MarvelObject, method, pval = 0.1, delta = 5, point.size = 1, xlabel.size = 8, anno = FALSE, anno.tran_id = NULL, label.size = 2.5, y.upper.offset = 5 )
PlotDEValues.PSI.Mean( MarvelObject, method, pval = 0.1, delta = 5, point.size = 1, xlabel.size = 8, anno = FALSE, anno.tran_id = NULL, label.size = 2.5, y.upper.offset = 5 )
MarvelObject |
Marvel object. S3 object generated from |
method |
Character string. The statistical method used for differential splicing analysis. |
pval |
Numeric value. Adjusted p-value below which the splcing event are considered as statistically significant and will consequently be color-annotated on the plot. |
delta |
Numeric value. The positive (and negative) value specified above (and below) which the splicing events are considered to be statistically significant and will consequently be color-annotated on the plot. |
point.size |
Numeric value. The point size for the data points. Default value is |
xlabel.size |
Numeric value. Font size of the xtick labels. Default is |
anno |
Logical value. If set to |
anno.tran_id |
Vector of character strings. When |
label.size |
Numeric value. Only applicable if |
y.upper.offset |
Numeric value. The value in -log10(p-value) to increase the upper limit of the y-axis. To be used when |
An object of class S3 containing with new slot MarvelObject$DE$PSI$Plot[["method"]]
.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- PlotDEValues.PSI.Mean(MarvelObject=marvel.demo, method="ad", pval=0.10, delta=5 ) # Check output marvel.demo$DE$PSI$Plot[["ad"]]
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- PlotDEValues.PSI.Mean(MarvelObject=marvel.demo, method="ad", pval=0.10, delta=5 ) # Check output marvel.demo$DE$PSI$Plot[["ad"]]
Scatterplot of differential splicing analysis results based on mean PSI difference between 2 groups of cells. x-axis represents the mean PSI values of cell group 1. y-axis represents the mean PSI values of cell group 2.
PlotDEValues.PSI.Mean.g2vsg1( MarvelObject, method, pval, delta = 5, point.size = 1, xlabel.size = 8, anno = FALSE, anno.tran_id = NULL, label.size = 2.5, point.alpha = 1, event.types = c("SE", "MXE", "RI", "A5SS", "A3SS", "AFE", "ALE"), event.types.colors = NULL )
PlotDEValues.PSI.Mean.g2vsg1( MarvelObject, method, pval, delta = 5, point.size = 1, xlabel.size = 8, anno = FALSE, anno.tran_id = NULL, label.size = 2.5, point.alpha = 1, event.types = c("SE", "MXE", "RI", "A5SS", "A3SS", "AFE", "ALE"), event.types.colors = NULL )
MarvelObject |
Marvel object. S3 object generated from |
method |
Character string. The statistical method used for differential splicing analysis. |
pval |
Numeric value. Adjusted p-value below which the splcing event are considered as statistically significant and will consequently be color-annotated on the plot. |
delta |
Numeric value. The positive (and negative) value specified above (and below) which the splicing events are considered to be statistically significant and will consequently be color-annotated on the plot. |
point.size |
Numeric value. The point size for the data points. Default value is |
xlabel.size |
Numeric value. Font size of the xtick labels. Default is |
anno |
Logical value. If set to |
anno.tran_id |
Vector of character strings. When |
label.size |
Numeric value. Only applicable if |
point.alpha |
Numeric value. Transpancy of data points. Default is |
event.types |
Vector of character string(s). The specific splicing event to plot. May take any one or more of the following values |
event.types.colors |
Vector of character string(s). Customise colors as per splicing event type specified in |
An object of class S3 containing with new slot MarvelObject$DE$PSI$Plot[["method"]]
.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- PlotDEValues.PSI.Mean.g2vsg1(MarvelObject=marvel.demo, method="ad", pval=0.10, delta=5 ) # Check output marvel.demo$DE$PSI$Plot marvel.demo$DE$PSI$Summary
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- PlotDEValues.PSI.Mean.g2vsg1(MarvelObject=marvel.demo, method="ad", pval=0.10, delta=5 ) # Check output marvel.demo$DE$PSI$Plot marvel.demo$DE$PSI$Summary
Volcano plot of results from differential splice junction analysis. x-axis represents the average normalised gene expression across the two cell groups. y-axis represents the differences or log2 fold change between the two cell groups.
PlotDEValues.SJ.10x( MarvelObject, pval = 0.05, log2fc = NULL, delta = 5, min.gene.norm = 0, anno = FALSE, anno.coord.intron = NULL, label.size = 2 )
PlotDEValues.SJ.10x( MarvelObject, pval = 0.05, log2fc = NULL, delta = 5, min.gene.norm = 0, anno = FALSE, anno.coord.intron = NULL, label.size = 2 )
MarvelObject |
Marvel object. S3 object generated from |
pval |
Numeric value. p-value, below which, the splice junction is considered differentially spliced. To be used in conjunction with |
log2fc |
Numeric value. Absolute log2 fold change, above which, the splice junction is considered differentially spliced. This option should be |
delta |
Numeric value. Absolute differences in average PSI values between the two cell groups, above which, the splice junction is considered differentially spliced. This option should be |
min.gene.norm |
Numeric value. The average normalised gene expression across the two cell groups above which the splice junction is considered differentially spliced. Default is |
anno |
Logical value. If set to |
anno.coord.intron |
Vector of character strings. If |
label.size |
Numeric value. If |
An object of class S3 with a new slots MarvelObject$DE$SJ$VolcanoPlot$SJ$Plot
and MarvelObject$DE$SJ$VolcanoPlot$SJ$Data
.
marvel.demo.10x <- readRDS(system.file("extdata/data", "marvel.demo.10x.rds", package="MARVEL") ) marvel.demo.10x <- PlotDEValues.SJ.10x( MarvelObject=marvel.demo.10x, pval=0.05, delta=5, min.gene.norm=1.0, anno=FALSE ) # Check outputs marvel.demo.10x$DE$SJ$VolcanoPlot$SJ$Plot head(marvel.demo.10x$DE$SJ$VolcanoPlot$SJ$Data)
marvel.demo.10x <- readRDS(system.file("extdata/data", "marvel.demo.10x.rds", package="MARVEL") ) marvel.demo.10x <- PlotDEValues.SJ.10x( MarvelObject=marvel.demo.10x, pval=0.05, delta=5, min.gene.norm=1.0, anno=FALSE ) # Check outputs marvel.demo.10x$DE$SJ$VolcanoPlot$SJ$Plot head(marvel.demo.10x$DE$SJ$VolcanoPlot$SJ$Data)
Generates a plot of gene expression distribution (percentage of cells expressing a particular gene) to determine normalised gene expression threshold for downstream differential splice junction analysis.
PlotPctExprCells.Genes.10x( MarvelObject, cell.group.g1, cell.group.g2, min.pct.cells = 1 )
PlotPctExprCells.Genes.10x( MarvelObject, cell.group.g1, cell.group.g2, min.pct.cells = 1 )
MarvelObject |
Marvel object. S3 object generated from |
cell.group.g1 |
Vector of character strings. Cell IDs corresponding to Group 1 (reference group) of downstream differential splice junction analysis. |
cell.group.g2 |
Vector of character strings. Cell IDs corresponding to Group 2 of downstream differential splice junction analysis. |
min.pct.cells |
Numeric value. Minimum percentage of cells in which the gene is expressed for that gene to be included for gene expression distribution analysis. Expressed genes defined as genes with non-zero normalised UMI counts. |
An object of class S3 with a new slots MarvelObject$pct.cells.expr$Gene$Plot
and MarvelObject$pct.cells.expr$Gene$Data
.
marvel.demo.10x <- readRDS(system.file("extdata/data", "marvel.demo.10x.rds", package="MARVEL") ) # Define cell groups # Retrieve sample metadata sample.metadata <- marvel.demo.10x$sample.metadata # Group 1 (reference) index <- which(sample.metadata$cell.type=="iPSC") cell.ids.1 <- sample.metadata[index, "cell.id"] length(cell.ids.1) # Group 2 index <- which(sample.metadata$cell.type=="Cardio day 10") cell.ids.2 <- sample.metadata[index, "cell.id"] length(cell.ids.2) # Explore % of cells expressing genes marvel.demo.10x <- PlotPctExprCells.Genes.10x( MarvelObject=marvel.demo.10x, cell.group.g1=cell.ids.1, cell.group.g2=cell.ids.2, min.pct.cells=5 ) # Check output marvel.demo.10x $pct.cells.expr$Gene$Plot head(marvel.demo.10x $pct.cells.expr$Gene$Data)
marvel.demo.10x <- readRDS(system.file("extdata/data", "marvel.demo.10x.rds", package="MARVEL") ) # Define cell groups # Retrieve sample metadata sample.metadata <- marvel.demo.10x$sample.metadata # Group 1 (reference) index <- which(sample.metadata$cell.type=="iPSC") cell.ids.1 <- sample.metadata[index, "cell.id"] length(cell.ids.1) # Group 2 index <- which(sample.metadata$cell.type=="Cardio day 10") cell.ids.2 <- sample.metadata[index, "cell.id"] length(cell.ids.2) # Explore % of cells expressing genes marvel.demo.10x <- PlotPctExprCells.Genes.10x( MarvelObject=marvel.demo.10x, cell.group.g1=cell.ids.1, cell.group.g2=cell.ids.2, min.pct.cells=5 ) # Check output marvel.demo.10x $pct.cells.expr$Gene$Plot head(marvel.demo.10x $pct.cells.expr$Gene$Data)
Generates a plot of splice junction expression distribution (percentage of cells expressing a particular splice junction) to determine splice junction expression threshold for downstream differential splice junction analysis.
PlotPctExprCells.SJ.10x( MarvelObject, cell.group.g1, cell.group.g2, min.pct.cells.genes = 10, min.pct.cells.sj = 10, downsample = FALSE, downsample.pct.sj = 10, seed = 1 )
PlotPctExprCells.SJ.10x( MarvelObject, cell.group.g1, cell.group.g2, min.pct.cells.genes = 10, min.pct.cells.sj = 10, downsample = FALSE, downsample.pct.sj = 10, seed = 1 )
MarvelObject |
Marvel object. S3 object generated from |
cell.group.g1 |
Vector of character strings. Cell IDs corresponding to Group 1 (reference group) of downstream differential splice junction analysis. |
cell.group.g2 |
Vector of character strings. Cell IDs corresponding to Group 2 of downstream differential splice junction analysis. |
min.pct.cells.genes |
Numeric value. Minimum percentage of cells in which the gene is expressed for that gene to be included for splice junction expression distribution analysis. Expressed genes defined as genes with non-zero normalised UMI counts. This threshold may be determined from |
min.pct.cells.sj |
Numeric value. Minimum percentage of cells in which the splice junction is expressed for that splice junction to be included for splice junction expression distribution analysis. Expressed splice junctions defined as splice junctions with raw UMI counts >= 1. |
downsample |
Logical value. If set to |
downsample.pct.sj |
Numeric value. If |
seed |
Numeric value. To ensure the splice junctions downsampled will always be reproducible. |
An object of class S3 with a new slots MarvelObject$pct.cells.expr$SJ$Plot
and MarvelObject$pct.cells.expr$SJ$Data
marvel.demo.10x <- readRDS(system.file("extdata/data", "marvel.demo.10x.rds", package="MARVEL") ) # Define cell groups # Retrieve sample metadata sample.metadata <- marvel.demo.10x$sample.metadata # Group 1 (reference) index <- which(sample.metadata$cell.type=="iPSC") cell.ids.1 <- sample.metadata[index, "cell.id"] length(cell.ids.1) # Group 2 index <- which(sample.metadata$cell.type=="Cardio day 10") cell.ids.2 <- sample.metadata[index, "cell.id"] length(cell.ids.2) # Explore % of cells expressing SJ marvel.demo.10x <- PlotPctExprCells.SJ.10x( MarvelObject=marvel.demo.10x, cell.group.g1=cell.ids.1, cell.group.g2=cell.ids.2, min.pct.cells.genes=5, min.pct.cells.sj=5, downsample=TRUE, downsample.pct.sj=100 ) marvel.demo.10x$pct.cells.expr$SJ$Plot head(marvel.demo.10x$pct.cells.expr$SJ$Data)
marvel.demo.10x <- readRDS(system.file("extdata/data", "marvel.demo.10x.rds", package="MARVEL") ) # Define cell groups # Retrieve sample metadata sample.metadata <- marvel.demo.10x$sample.metadata # Group 1 (reference) index <- which(sample.metadata$cell.type=="iPSC") cell.ids.1 <- sample.metadata[index, "cell.id"] length(cell.ids.1) # Group 2 index <- which(sample.metadata$cell.type=="Cardio day 10") cell.ids.2 <- sample.metadata[index, "cell.id"] length(cell.ids.2) # Explore % of cells expressing SJ marvel.demo.10x <- PlotPctExprCells.SJ.10x( MarvelObject=marvel.demo.10x, cell.group.g1=cell.ids.1, cell.group.g2=cell.ids.2, min.pct.cells.genes=5, min.pct.cells.sj=5, downsample=TRUE, downsample.pct.sj=100 ) marvel.demo.10x$pct.cells.expr$SJ$Plot head(marvel.demo.10x$pct.cells.expr$SJ$Data)
Plots percent spliced-in (PSI) or gene expression values across different groups of cells. This is a wrapper function for PlotValues.Exp
and PlotValues.PSI
.
PlotValues( MarvelObject, cell.group.list, feature, maintitle = "gene_short_name", xlabels.size = 8, level, min.cells = NULL, sigma.sq = 0.001, bimodal.adjust = NULL, seed = NULL, modality.column = "modality.bimodal.adj", scale.y.log = FALSE, max.cells.jitter = 10000, max.cells.jitter.seed = 1, cell.group.colors = NULL, point.alpha = 0.2 )
PlotValues( MarvelObject, cell.group.list, feature, maintitle = "gene_short_name", xlabels.size = 8, level, min.cells = NULL, sigma.sq = 0.001, bimodal.adjust = NULL, seed = NULL, modality.column = "modality.bimodal.adj", scale.y.log = FALSE, max.cells.jitter = 10000, max.cells.jitter.seed = 1, cell.group.colors = NULL, point.alpha = 0.2 )
MarvelObject |
Marvel object. S3 object generated from |
cell.group.list |
List of character strings. Each element of the list is a vector of cell IDs corresponding to a cell group. The name of the element will be the cell group label. |
feature |
Character string. |
maintitle |
Character string. Column to use as plot main title as per |
xlabels.size |
Numeric value. Size of x-axis labels as per |
level |
Character string. Indicate |
min.cells |
Numeric value. Only applicable when |
sigma.sq |
Numeric value. Only applicable when |
bimodal.adjust |
Logical. Only applicable when |
seed |
Numeric value. Only applicable when |
modality.column |
Character string. Only applicable when |
scale.y.log |
Logical value. Only applicable when |
max.cells.jitter |
Numeric value. Only applicable when |
max.cells.jitter.seed |
Numeric value. Only applicable when |
cell.group.colors |
Character string. Vector of colors for the cell groups specified for PCA analysis using |
point.alpha |
Numeric value. Transparency of the data points. Takes any values between 0-1. Default value is |
An object of class S3 with new slot $adhocPlot$PSI
or MarvelObject$adhocPlot$Exp
when level
set to "splicing"
or "gene"
, respectively.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) # Define cell groups to plot df.pheno <- marvel.demo$SplicePheno cell.group.g1 <- df.pheno[which(df.pheno$cell.type=="iPSC"), "sample.id"] cell.group.g2 <- df.pheno[which(df.pheno$cell.type=="Endoderm"), "sample.id"] cell.group.list <- list(cell.group.g1, cell.group.g2) names(cell.group.list) <- c("iPSC", "Endoderm") # Plot marvel.demo <- PlotValues(MarvelObject=marvel.demo, cell.group.list=cell.group.list, feature="chr17:8383254:8382781|8383157:-@chr17:8382143:8382315", level="splicing", min.cells=5, xlabels.size=5 ) # Check output marvel.demo$adhocPlot$PSI
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) # Define cell groups to plot df.pheno <- marvel.demo$SplicePheno cell.group.g1 <- df.pheno[which(df.pheno$cell.type=="iPSC"), "sample.id"] cell.group.g2 <- df.pheno[which(df.pheno$cell.type=="Endoderm"), "sample.id"] cell.group.list <- list(cell.group.g1, cell.group.g2) names(cell.group.list) <- c("iPSC", "Endoderm") # Plot marvel.demo <- PlotValues(MarvelObject=marvel.demo, cell.group.list=cell.group.list, feature="chr17:8383254:8382781|8383157:-@chr17:8382143:8382315", level="splicing", min.cells=5, xlabels.size=5 ) # Check output marvel.demo$adhocPlot$PSI
Boxplot of gene expression values across different groups of cells.
PlotValues.Exp( MarvelObject, cell.group.list, feature, maintitle = "gene_short_name", xlabels.size = 8, cell.group.colors = NULL, point.alpha = 0.2 )
PlotValues.Exp( MarvelObject, cell.group.list, feature, maintitle = "gene_short_name", xlabels.size = 8, cell.group.colors = NULL, point.alpha = 0.2 )
MarvelObject |
Marvel object. S3 object generated from |
cell.group.list |
List of character strings. Each element of the list is a vector of cell IDs corresponding to a cell group. The name of the element will be the cell group label. |
feature |
Character string. |
maintitle |
Character string. Column to use as plot main title as per |
xlabels.size |
Numeric value. Size of x-axis labels as per |
cell.group.colors |
Character string. Vector of colors for the cell groups specified for PCA analysis using |
point.alpha |
Numeric value. Transparency of the data points. Takes any values between 0-1. Default value is |
An object of class S3 with new slot MarvelObject$adhocPlot$Exp
.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) df.pheno <- marvel.demo$SplicePheno cell.group.g1 <- df.pheno[which(df.pheno$cell.type=="iPSC"), "sample.id"] cell.group.g2 <- df.pheno[which(df.pheno$cell.type=="Endoderm"), "sample.id"] cell.group.list <- list(cell.group.g1, cell.group.g2) names(cell.group.list) <- c("iPSC", "Endoderm") # Plot marvel.demo <- PlotValues.Exp(MarvelObject=marvel.demo, cell.group.list=cell.group.list, feature="ENSG00000161970.15", xlabels.size=8 ) # Check output marvel.demo$adhocPlot$Exp
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) df.pheno <- marvel.demo$SplicePheno cell.group.g1 <- df.pheno[which(df.pheno$cell.type=="iPSC"), "sample.id"] cell.group.g2 <- df.pheno[which(df.pheno$cell.type=="Endoderm"), "sample.id"] cell.group.list <- list(cell.group.g1, cell.group.g2) names(cell.group.list) <- c("iPSC", "Endoderm") # Plot marvel.demo <- PlotValues.Exp(MarvelObject=marvel.demo, cell.group.list=cell.group.list, feature="ENSG00000161970.15", xlabels.size=8 ) # Check output marvel.demo$adhocPlot$Exp
Annotates reduced dimension space, e.g., UMAP and tSNE, with cell features such as cell group, donor ID, sample ID, etc.
PlotValues.PCA.CellGroup.10x( MarvelObject, cell.group.list, legendtitle = "Cell group", alpha = 0.75, point.size = 1, point.stroke = 0.1, point.colors = NULL, point.size.legend = 2, type )
PlotValues.PCA.CellGroup.10x( MarvelObject, cell.group.list, legendtitle = "Cell group", alpha = 0.75, point.size = 1, point.stroke = 0.1, point.colors = NULL, point.size.legend = 2, type )
MarvelObject |
Marvel object. S3 object generated from |
cell.group.list |
List of character strings. Each element of the list is a vector of cell IDs corresponding to a feature, e.g. cell group. The names of the element will be the cell feature label. |
legendtitle |
Character string. Legend title. Default is |
alpha |
Numeric value. Transparency of the data points. Takes any values between 0-1 whereby 0 is totally transparent and 1 is opaque. Default is |
point.size |
Numeric value. Size of data points. Default is |
point.stroke |
Numeric value. Outline thickness of data points. Default is |
point.colors |
Vector of character strings. Colors of cell groups and should be same length as |
point.size.legend |
Numeric value. Size of legend keys. Default is |
type |
Character string. Type of reduced dimension space. Options are |
An object of class S3 with new slot MarvelObject$adhocPlot$PCA$CellGroup
.
marvel.demo.10x <- readRDS(system.file("extdata/data", "marvel.demo.10x.rds", package="MARVEL") ) # Define cell groups # Retrieve sample metadata sample.metadata <- marvel.demo.10x$sample.metadata # iPSC index <- which(sample.metadata$cell.type=="iPSC") cell.ids.1 <- sample.metadata[index, "cell.id"] length(cell.ids.1) # Cardio day 10 index <- which(sample.metadata$cell.type=="Cardio day 10") cell.ids.2 <- sample.metadata[index, "cell.id"] length(cell.ids.2) # Save into list cell.group.list <- list("iPSC"=cell.ids.1, "Cardio d10"=cell.ids.2 ) # Plot cell groups marvel.demo.10x <- PlotValues.PCA.CellGroup.10x( MarvelObject=marvel.demo.10x, cell.group.list=cell.group.list, legendtitle="Cell group", type="tsne" ) # Check output marvel.demo.10x$adhocPlot$PCA$CellGroup
marvel.demo.10x <- readRDS(system.file("extdata/data", "marvel.demo.10x.rds", package="MARVEL") ) # Define cell groups # Retrieve sample metadata sample.metadata <- marvel.demo.10x$sample.metadata # iPSC index <- which(sample.metadata$cell.type=="iPSC") cell.ids.1 <- sample.metadata[index, "cell.id"] length(cell.ids.1) # Cardio day 10 index <- which(sample.metadata$cell.type=="Cardio day 10") cell.ids.2 <- sample.metadata[index, "cell.id"] length(cell.ids.2) # Save into list cell.group.list <- list("iPSC"=cell.ids.1, "Cardio d10"=cell.ids.2 ) # Plot cell groups marvel.demo.10x <- PlotValues.PCA.CellGroup.10x( MarvelObject=marvel.demo.10x, cell.group.list=cell.group.list, legendtitle="Cell group", type="tsne" ) # Check output marvel.demo.10x$adhocPlot$PCA$CellGroup
Annotates reduced dimension space, e.g., UMAP and tSNE, with gene expression values. Values will be automatically be log2-transformed prior to plotting.
PlotValues.PCA.Gene.10x( MarvelObject, cell.ids = NULL, gene_short_name, log2.transform = TRUE, point.size = 0.1, color.gradient = c("grey90", "blue", "red"), type )
PlotValues.PCA.Gene.10x( MarvelObject, cell.ids = NULL, gene_short_name, log2.transform = TRUE, point.size = 0.1, color.gradient = c("grey90", "blue", "red"), type )
MarvelObject |
Marvel object. S3 object generated from |
cell.ids |
Vector of character strings. Specify specific cells to plot. |
gene_short_name |
Character string. Gene name whose expression will be plotting. |
log2.transform |
Logical value. If set to |
point.size |
Numeric value. Size of data points. Default is |
color.gradient |
Vector of character strings. Colors to indicate low, moderate, and high expression. Default is |
type |
Character string. Type of reduced dimension space. Options are |
An object of class S3 with new slot MarvelObject$adhocPlot$PCA$Gene
.
marvel.demo.10x <- readRDS(system.file("extdata/data", "marvel.demo.10x.rds", package="MARVEL") ) # Define cell groups # Retrieve sample metadata sample.metadata <- marvel.demo.10x$sample.metadata # iPSC index <- which(sample.metadata$cell.type=="iPSC") cell.ids.1 <- sample.metadata[index, "cell.id"] length(cell.ids.1) # Cardio day 10 index <- which(sample.metadata$cell.type=="Cardio day 10") cell.ids.2 <- sample.metadata[index, "cell.id"] length(cell.ids.2) # Save into list cell.group.list <- list("iPSC"=cell.ids.1, "Cardio d10"=cell.ids.2 ) # Plot expression marvel.demo.10x <- PlotValues.PCA.Gene.10x( MarvelObject=marvel.demo.10x, gene_short_name="TPM2", color.gradient=c("grey","cyan","green","yellow","red"), type="tsne" ) # Check output marvel.demo.10x$adhocPlot$PCA$Gene
marvel.demo.10x <- readRDS(system.file("extdata/data", "marvel.demo.10x.rds", package="MARVEL") ) # Define cell groups # Retrieve sample metadata sample.metadata <- marvel.demo.10x$sample.metadata # iPSC index <- which(sample.metadata$cell.type=="iPSC") cell.ids.1 <- sample.metadata[index, "cell.id"] length(cell.ids.1) # Cardio day 10 index <- which(sample.metadata$cell.type=="Cardio day 10") cell.ids.2 <- sample.metadata[index, "cell.id"] length(cell.ids.2) # Save into list cell.group.list <- list("iPSC"=cell.ids.1, "Cardio d10"=cell.ids.2 ) # Plot expression marvel.demo.10x <- PlotValues.PCA.Gene.10x( MarvelObject=marvel.demo.10x, gene_short_name="TPM2", color.gradient=c("grey","cyan","green","yellow","red"), type="tsne" ) # Check output marvel.demo.10x$adhocPlot$PCA$Gene
Annotates reduced dimension space, e.g., UMAP and tSNE, with PSI values.
PlotValues.PCA.PSI.10x( MarvelObject, cell.ids = NULL, coord.intron, min.gene.count = 3, point.size = 0.1, log2.transform = FALSE, color.gradient = c("grey90", "blue", "red"), type )
PlotValues.PCA.PSI.10x( MarvelObject, cell.ids = NULL, coord.intron, min.gene.count = 3, point.size = 0.1, log2.transform = FALSE, color.gradient = c("grey90", "blue", "red"), type )
MarvelObject |
Marvel object. S3 object generated from |
cell.ids |
Vector of character strings. Specific set of cells to plot. |
coord.intron |
Character string. Coordinates of splice junction whose expression will be plotted. |
min.gene.count |
Numeric value. Minimum raw gene count, above which, the PSI value will be calculate for the cell. Default is |
point.size |
Numeric value. Size of data points. Default is |
log2.transform |
Logical value. If set to |
color.gradient |
Vector of character strings. Colors to indicate low, moderate, and high expression. Default is |
type |
Character string. Type of reduced dimension space. Options are |
An object of class S3 with new slot MarvelObject$adhocPlot$PCA$PSI
.
marvel.demo.10x <- readRDS(system.file("extdata/data", "marvel.demo.10x.rds", package="MARVEL") ) # Define cell groups # Retrieve sample metadata sample.metadata <- marvel.demo.10x$sample.metadata # iPSC index <- which(sample.metadata$cell.type=="iPSC") cell.ids.1 <- sample.metadata[index, "cell.id"] length(cell.ids.1) # Cardio day 10 index <- which(sample.metadata$cell.type=="Cardio day 10") cell.ids.2 <- sample.metadata[index, "cell.id"] length(cell.ids.2) # Save into list cell.group.list <- list("iPSC"=cell.ids.1, "Cardio d10"=cell.ids.2 ) # Plot expression marvel.demo.10x <- PlotValues.PCA.PSI.10x( MarvelObject=marvel.demo.10x, coord.intron="chr1:23693914:23694659", min.gene.count=3, log2.transform=FALSE, color.gradient=c("grey","cyan","green","yellow","red"), type="tsne" ) # Check output marvel.demo.10x$adhocPlot$PCA$PSI
marvel.demo.10x <- readRDS(system.file("extdata/data", "marvel.demo.10x.rds", package="MARVEL") ) # Define cell groups # Retrieve sample metadata sample.metadata <- marvel.demo.10x$sample.metadata # iPSC index <- which(sample.metadata$cell.type=="iPSC") cell.ids.1 <- sample.metadata[index, "cell.id"] length(cell.ids.1) # Cardio day 10 index <- which(sample.metadata$cell.type=="Cardio day 10") cell.ids.2 <- sample.metadata[index, "cell.id"] length(cell.ids.2) # Save into list cell.group.list <- list("iPSC"=cell.ids.1, "Cardio d10"=cell.ids.2 ) # Plot expression marvel.demo.10x <- PlotValues.PCA.PSI.10x( MarvelObject=marvel.demo.10x, coord.intron="chr1:23693914:23694659", min.gene.count=3, log2.transform=FALSE, color.gradient=c("grey","cyan","green","yellow","red"), type="tsne" ) # Check output marvel.demo.10x$adhocPlot$PCA$PSI
Violin plot of percent spliced-in (PSI) values across different groups of cells.
PlotValues.PSI( MarvelObject, cell.group.list, feature, maintitle = "gene_short_name", xlabels.size = 8, max.cells.jitter = 10000, max.cells.jitter.seed = 1, min.cells = 25, sigma.sq = 0.001, bimodal.adjust = TRUE, seed = 1, modality.column = "modality.bimodal.adj", scale.y.log = FALSE, cell.group.colors = NULL, point.alpha = 0.2 )
PlotValues.PSI( MarvelObject, cell.group.list, feature, maintitle = "gene_short_name", xlabels.size = 8, max.cells.jitter = 10000, max.cells.jitter.seed = 1, min.cells = 25, sigma.sq = 0.001, bimodal.adjust = TRUE, seed = 1, modality.column = "modality.bimodal.adj", scale.y.log = FALSE, cell.group.colors = NULL, point.alpha = 0.2 )
MarvelObject |
Marvel object. S3 object generated from |
cell.group.list |
List of character strings. Each element of the list is a vector of cell IDs corresponding to a cell group. The name of the element will be the cell group label. |
feature |
Character string. Coordinates of splicing event to plot. |
maintitle |
Character string. Column to use as plot main title as per |
xlabels.size |
Numeric value. Size of x-axis labels as per |
max.cells.jitter |
Numeric value. Maximum number of cells for jitter points. Cells are randomly downsampled to show on jitter plot. Useful when there are large number of cells so that individual jitter points do not overcrowd the violin plot. |
max.cells.jitter.seed |
Numeric value. Cells downsampled are reproducible. |
min.cells |
Numeric value. The minimum no. of cells expressing the splicing event to be included for analysis. Please refer to |
sigma.sq |
Numeric value. The variance threshold below which the included/excluded modality will be defined as primary sub-modality, and above which it will be defined as dispersed sub-modality. Please refer to |
bimodal.adjust |
Logical. When set to |
seed |
Numeric value. Ensure the |
modality.column |
Character string. Can take the value |
scale.y.log |
Logical value. Only applicable when |
cell.group.colors |
Character string. Vector of colors for the cell groups specified for PCA analysis using |
point.alpha |
Numeric value. Transparency of the data points. Takes any values between 0-1. Default value is |
An object of class S3 with new slot MarvelObject$adhocPlot$PSI
.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) # Define cell groups to plot df.pheno <- marvel.demo$SplicePheno cell.group.g1 <- df.pheno[which(df.pheno$cell.type=="iPSC"), "sample.id"] cell.group.g2 <- df.pheno[which(df.pheno$cell.type=="Endoderm"), "sample.id"] cell.group.list <- list(cell.group.g1, cell.group.g2) names(cell.group.list) <- c("iPSC", "Endoderm") # Plot marvel.demo <- PlotValues.PSI(MarvelObject=marvel.demo, cell.group.list=cell.group.list, feature="chr17:8383254:8382781|8383157:-@chr17:8382143:8382315", min.cells=5, xlabels.size=5 ) # Check output marvel.demo$adhocPlot$PSI
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) # Define cell groups to plot df.pheno <- marvel.demo$SplicePheno cell.group.g1 <- df.pheno[which(df.pheno$cell.type=="iPSC"), "sample.id"] cell.group.g2 <- df.pheno[which(df.pheno$cell.type=="Endoderm"), "sample.id"] cell.group.list <- list(cell.group.g1, cell.group.g2) names(cell.group.list) <- c("iPSC", "Endoderm") # Plot marvel.demo <- PlotValues.PSI(MarvelObject=marvel.demo, cell.group.list=cell.group.list, feature="chr17:8383254:8382781|8383157:-@chr17:8382143:8382315", min.cells=5, xlabels.size=5 ) # Check output marvel.demo$adhocPlot$PSI
Tabulates and plots the proportion of each modality. This is a wrapper function for PropModality.Doughnut
and PropModality.Bar
functions.
PropModality( MarvelObject, modality.column, modality.type, event.type, across.event.type, prop.test = NULL, prop.adj = NULL, xlabels.size = 8, zoom = FALSE, yinterval = NULL )
PropModality( MarvelObject, modality.column, modality.type, event.type, across.event.type, prop.test = NULL, prop.adj = NULL, xlabels.size = 8, zoom = FALSE, yinterval = NULL )
MarvelObject |
Marvel object. S3 object generated from |
modality.column |
Character string. Can take the value |
modality.type |
Character string. |
event.type |
Character string. To indicate which event type to analyse. Can take the value |
across.event.type |
Logical. If set to |
prop.test |
Character string. Only applicable when |
prop.adj |
Character string. Only applicable when |
xlabels.size |
Numeric value. Only applicable when |
zoom |
Logical value. Only applicable if |
yinterval |
Logical value. Only applicable if |
An object of class S3 containing with new slot $Modality$Prop$DoughnutChart
or $Modality$Prop$BarChart
.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- PropModality(MarvelObject=marvel.demo, modality.column="modality.bimodal.adj", modality.type="extended", event.type=c("SE", "MXE", "RI", "A5SS", "A3SS", "AFE", "ALE"), across.event.type=FALSE ) # Check outputs marvel.demo$Modality$Prop$DoughnutChart$Table marvel.demo$Modality$Prop$DoughnutChart$Plot
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- PropModality(MarvelObject=marvel.demo, modality.column="modality.bimodal.adj", modality.type="extended", event.type=c("SE", "MXE", "RI", "A5SS", "A3SS", "AFE", "ALE"), across.event.type=FALSE ) # Check outputs marvel.demo$Modality$Prop$DoughnutChart$Table marvel.demo$Modality$Prop$DoughnutChart$Plot
Tabulates and plots the proportion of each modality broken down by splicing event type.
PropModality.Bar( MarvelObject, modality.column, modality.type, event.type, xlabels.size = 8, zoom = FALSE, yinterval = NULL, prop.test, prop.adj )
PropModality.Bar( MarvelObject, modality.column, modality.type, event.type, xlabels.size = 8, zoom = FALSE, yinterval = NULL, prop.test, prop.adj )
MarvelObject |
Marvel object. S3 object generated from |
modality.column |
Character string. Can take the value |
modality.type |
Character string. |
event.type |
Character string. To indicate which event type to analyse. Can take the value |
xlabels.size |
Numeric value. Size of x-axis labels as per |
zoom |
Logical value. If set to |
yinterval |
Logical value. Only applicable when |
prop.test |
Character string. Only applicable when |
prop.adj |
Character string. Only applicable when |
An object of class S3 containing new slots MarvelObject$Modality$Prop$BarChart$Table
and MarvelObject$Modality$Prop$BarChart$Stats
.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- PropModality.Bar(MarvelObject=marvel.demo, modality.column="modality.bimodal.adj", modality.type="extended", event.type=c("SE", "MXE", "RI", "A5SS", "A3SS", "AFE", "ALE"), prop.test="fisher", prop.adj="fdr" ) # Check outputs head(marvel.demo$Modality$Prop$BarChart$Table) marvel.demo$Modality$Prop$BarChart$Plot marvel.demo$Modality$Prop$BarChart$Stats
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- PropModality.Bar(MarvelObject=marvel.demo, modality.column="modality.bimodal.adj", modality.type="extended", event.type=c("SE", "MXE", "RI", "A5SS", "A3SS", "AFE", "ALE"), prop.test="fisher", prop.adj="fdr" ) # Check outputs head(marvel.demo$Modality$Prop$BarChart$Table) marvel.demo$Modality$Prop$BarChart$Plot marvel.demo$Modality$Prop$BarChart$Stats
Tabulates and plots the proportion of each modality without breaking down by splicing event type.
PropModality.Doughnut(MarvelObject, modality.column, modality.type, event.type)
PropModality.Doughnut(MarvelObject, modality.column, modality.type, event.type)
MarvelObject |
Marvel object. S3 object generated from |
modality.column |
Character string. Can take the value |
modality.type |
Character string. |
event.type |
Character string. To indicate which event type to analyse. Can take the value |
An object of class S3 with new slots MarvelObject$Modality$Prop$DoughnutChart$Table
and MarvelObject$Modality$Prop$DoughnutChart$Plot
.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- PropModality.Doughnut(MarvelObject=marvel.demo, modality.column="modality.bimodal.adj", modality.type="extended", event.type=c("SE", "MXE", "RI", "A5SS", "A3SS", "AFE", "ALE") ) # Check outputs marvel.demo$Modality$Prop$DoughnutChart$Table marvel.demo$Modality$Prop$DoughnutChart$Plot
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- PropModality.Doughnut(MarvelObject=marvel.demo, modality.column="modality.bimodal.adj", modality.type="extended", event.type=c("SE", "MXE", "RI", "A5SS", "A3SS", "AFE", "ALE") ) # Check outputs marvel.demo$Modality$Prop$DoughnutChart$Table marvel.demo$Modality$Prop$DoughnutChart$Plot
Tabulates and plots the proportion of transcripts with PTC for each splicing event type.
PropPTC(MarvelObject, xlabels.size = 8, show.NovelSJ.NoCDS = TRUE, prop.test)
PropPTC(MarvelObject, xlabels.size = 8, show.NovelSJ.NoCDS = TRUE, prop.test)
MarvelObject |
Marvel object. S3 object generated from |
xlabels.size |
Numeric value. Size of the x-axis tick labels. Default is 8. |
show.NovelSJ.NoCDS |
Logical value. If set to |
prop.test |
Character string. |
An object of class S3 with new slots MarvelObject$NMD$PTC.Prop$Table
, MarvelObject$NMD$PTC.Prop$Plot
, and MarvelObject$NMD$PTC.Prop$Plot.Stats
.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- PropPTC(MarvelObject=marvel.demo, xlabels.size=8, show.NovelSJ.NoCDS=TRUE, prop.test="fisher" ) # Check outputs head(marvel.demo$NMD$PTC.Prop$Table) marvel.demo$NMD$PTC.Prop$Plot marvel.demo$NMD$PTC.Prop$Plot.Stats
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- PropPTC(MarvelObject=marvel.demo, xlabels.size=8, show.NovelSJ.NoCDS=TRUE, prop.test="fisher" ) # Check outputs head(marvel.demo$NMD$PTC.Prop$Table) marvel.demo$NMD$PTC.Prop$Plot marvel.demo$NMD$PTC.Prop$Plot.Stats
Performs principle component analysis on splicing or gene data. This is a wrapper function for RunPCA.PSI
and RunPCA.Exp
.
RunPCA( MarvelObject, cell.group.column, cell.group.order = NULL, cell.group.colors = NULL, sample.ids = NULL, min.cells = 25, features, point.size = 0.5, point.alpha = 0.75, point.stroke = 0.1, seed = 1, method.impute = "random", cell.group.column.impute = NULL, level )
RunPCA( MarvelObject, cell.group.column, cell.group.order = NULL, cell.group.colors = NULL, sample.ids = NULL, min.cells = 25, features, point.size = 0.5, point.alpha = 0.75, point.stroke = 0.1, seed = 1, method.impute = "random", cell.group.column.impute = NULL, level )
MarvelObject |
Marvel object. S3 object generated from |
cell.group.column |
Character string. The name of the sample metadata column in which the variables will be used to label the cell groups on the PCA. |
cell.group.order |
Character string. The order of the variables under the sample metadata column specified in |
cell.group.colors |
Character string. Vector of colors for the cell groups specified for PCA analysis using |
sample.ids |
Character strings. Specific cells to plot. |
min.cells |
Numeric value. The minimum no. of cells expressing the splicing event or gene for the event or gene, respectively, to be included for analysis. |
features |
Character string. Vector of |
point.size |
Numeric value. Size of data points on reduced dimension space. |
point.alpha |
Numeric value. Transparency of the data points on reduced dimension space. Take any values between 0 to 1. The smaller the value, the more transparent the data points will be. |
point.stroke |
Numeric value. The thickness of the outline of the data points. The larger the value, the thicker the outline of the data points. |
seed |
Numeric value. Only applicable when |
method.impute |
Character string. Only applicable when |
cell.group.column.impute |
Character string. Only applicable when |
level |
Character string. Indicate |
An object of class S3 with new slots MarvelObject$PCA$PSI$Results
, MarvelObject$PCA$PSI$Plot
, and MarvelObject$PCA$PSI$Plot.Elbow
or MarvelObject$PCA$Exp$Results
, MarvelObject$PCA$Exp$Plot
, and MarvelObject$PCA$Exp$Plot.Elbow
, when level
option specified as "splicing"
or "gene"
, respectively.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) # Define splicing events for analysis df <- do.call(rbind.data.frame, marvel.demo$PSI) tran_ids <- df$tran_id # PCA marvel.demo <- RunPCA(MarvelObject=marvel.demo, sample.ids=marvel.demo$SplicePheno$sample.id, cell.group.column="cell.type", cell.group.order=c("iPSC", "Endoderm"), cell.group.colors=NULL, min.cells=5, features=tran_ids, level="splicing", point.size=2 ) # Check outputs head(marvel.demo$PCA$PSI$Results$ind$coord) marvel.demo$PCA$PSI$Plot
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) # Define splicing events for analysis df <- do.call(rbind.data.frame, marvel.demo$PSI) tran_ids <- df$tran_id # PCA marvel.demo <- RunPCA(MarvelObject=marvel.demo, sample.ids=marvel.demo$SplicePheno$sample.id, cell.group.column="cell.type", cell.group.order=c("iPSC", "Endoderm"), cell.group.colors=NULL, min.cells=5, features=tran_ids, level="splicing", point.size=2 ) # Check outputs head(marvel.demo$PCA$PSI$Results$ind$coord) marvel.demo$PCA$PSI$Plot
Performs principle component analysis using gene expression values.
RunPCA.Exp( MarvelObject, sample.ids = NULL, cell.group.column, cell.group.order = NULL, cell.group.colors = NULL, features, min.cells = 25, point.size = 0.5, point.alpha = 0.75, point.stroke = 0.1 )
RunPCA.Exp( MarvelObject, sample.ids = NULL, cell.group.column, cell.group.order = NULL, cell.group.colors = NULL, features, min.cells = 25, point.size = 0.5, point.alpha = 0.75, point.stroke = 0.1 )
MarvelObject |
Marvel object. S3 object generated from |
sample.ids |
Character strings. Specific cells to plot. |
cell.group.column |
Character string. The name of the sample metadata column in which the variables will be used to label the cell groups on the PCA. |
cell.group.order |
Character string. The order of the variables under the sample metadata column specified in |
cell.group.colors |
Character string. Vector of colors for the cell groups specified for PCA analysis using |
features |
Character string. Vector of |
min.cells |
Numeric value. The minimum no. of cells expressing the gene to be included for analysis. |
point.size |
Numeric value. Size of data points on reduced dimension space. |
point.alpha |
Numeric value. Transparency of the data points on reduced dimension space. Take any values between 0 to 1. The smaller the value, the more transparent the data points will be. |
point.stroke |
Numeric value. The thickness of the outline of the data points. The larger the value, the thicker the outline of the data points. |
An object of class S3 containing with new slots MarvelObject$PCA$Exp$Results
, MarvelObject$PCA$Exp$Plot
, and MarvelObject$PCA$Exp$Plot.Elbow
.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) # Define genes for analysis gene_ids <- marvel.demo$Exp$gene_id # PCA marvel.demo <- RunPCA.Exp(MarvelObject=marvel.demo, sample.ids=marvel.demo$SplicePheno$sample.id, cell.group.column="cell.type", cell.group.order=c("iPSC", "Endoderm"), min.cells=5, features=gene_ids, point.size=2 ) # Check outputs head(marvel.demo$PCA$Exp$Results$ind$coord) marvel.demo$PCA$Exp$Plot
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) # Define genes for analysis gene_ids <- marvel.demo$Exp$gene_id # PCA marvel.demo <- RunPCA.Exp(MarvelObject=marvel.demo, sample.ids=marvel.demo$SplicePheno$sample.id, cell.group.column="cell.type", cell.group.order=c("iPSC", "Endoderm"), min.cells=5, features=gene_ids, point.size=2 ) # Check outputs head(marvel.demo$PCA$Exp$Results$ind$coord) marvel.demo$PCA$Exp$Plot
Performs principle component analysis using PSI values.
RunPCA.PSI( MarvelObject, sample.ids = NULL, cell.group.column, cell.group.order, cell.group.colors = NULL, features, min.cells = 25, point.size = 0.5, point.alpha = 0.75, point.stroke = 0.1, seed = 1, method.impute = "random", cell.group.column.impute = NULL )
RunPCA.PSI( MarvelObject, sample.ids = NULL, cell.group.column, cell.group.order, cell.group.colors = NULL, features, min.cells = 25, point.size = 0.5, point.alpha = 0.75, point.stroke = 0.1, seed = 1, method.impute = "random", cell.group.column.impute = NULL )
MarvelObject |
Marvel object. S3 object generated from |
sample.ids |
Character strings. Specific cells to plot. |
cell.group.column |
Character string. The name of the sample metadata column in which the variables will be used to label the cell groups on the PCA. |
cell.group.order |
Character string. The order of the variables under the sample metadata column specified in |
cell.group.colors |
Character string. Vector of colors for the cell groups specified for PCA analysis using |
features |
Character string. Vector of |
min.cells |
Numeric value. The minimum no. of cells expressing the splicing event to be included for analysis. |
point.size |
Numeric value. Size of data points on reduced dimension space. |
point.alpha |
Numeric value. Transparency of the data points on reduced dimension space. Take any values between 0 to 1. The smaller the value, the more transparent the data points will be. |
point.stroke |
Numeric value. The thickness of the outline of the data points. The larger the value, the thicker the outline of the data points. |
seed |
Numeric value. Ensures imputed values for NA PSIs are reproducible. |
method.impute |
Character string. Indicate the method for imputing missing PSI values (low coverage). |
cell.group.column.impute |
Character string. Only applicable when |
An object of class S3 containing with new slots MarvelObject$PCA$PSI$Results
and MarvelObject$PCA$PSI$Plot
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) # Define splicing events for analysis df <- do.call(rbind.data.frame, marvel.demo$PSI) tran_ids <- df$tran_id # PCA marvel.demo <- RunPCA.PSI(MarvelObject=marvel.demo, sample.ids=marvel.demo$SplicePheno$sample.id, cell.group.column="cell.type", cell.group.order=c("iPSC", "Endoderm"), cell.group.colors=NULL, min.cells=5, features=tran_ids, point.size=2 ) # Check outputs head(marvel.demo$PCA$PSI$Results$ind$coord) marvel.demo$PCA$PSI$Plot
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) # Define splicing events for analysis df <- do.call(rbind.data.frame, marvel.demo$PSI) tran_ids <- df$tran_id # PCA marvel.demo <- RunPCA.PSI(MarvelObject=marvel.demo, sample.ids=marvel.demo$SplicePheno$sample.id, cell.group.column="cell.type", cell.group.order=c("iPSC", "Endoderm"), cell.group.colors=NULL, min.cells=5, features=tran_ids, point.size=2 ) # Check outputs head(marvel.demo$PCA$PSI$Results$ind$coord) marvel.demo$PCA$PSI$Plot
Performs differential gene expression analysis between 2 groups of cells only on differentially spliced genes.
SubsetCrypticA3SS(MarvelObject, method, distance.to.ss = c(1, 100))
SubsetCrypticA3SS(MarvelObject, method, distance.to.ss = c(1, 100))
MarvelObject |
Marvel object. S3 object generated from |
method |
Vector of character string(s). To include splicing events from these method(s) for differential splicing analysis. |
distance.to.ss |
Character string. Range of distances between A3SS and canonical splice site to consider A3SS to be cryptic. Default value |
An object of class S3 updated slot MarvelObject$DE$PSI$Table
and new slot MarvelObject$DE$PSI$A3SS.dist.to.ss
.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- SubsetCrypticA3SS(MarvelObject=marvel.demo, method="ad", distance.to.ss=c(1,100) ) # Check output head(marvel.demo$DE$PSI$Table[["ad"]])
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- SubsetCrypticA3SS(MarvelObject=marvel.demo, method="ad", distance.to.ss=c(1,100) ) # Check output head(marvel.demo$DE$PSI$Table[["ad"]])
Subsets specific samples (cells) from sample metadata.
SubsetSamples(MarvelObject, sample.ids)
SubsetSamples(MarvelObject, sample.ids)
MarvelObject |
Marvel object. S3 object generated from |
sample.ids |
Vector of character strings. Sample IDs to subset. |
An object of class S3 with updated slot MarvelObject$SplicePheno
.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) sample.ids <- sample(marvel.demo$SplicePheno$sample.id, size=10) marvel.demo <- SubsetSamples(MarvelObject=marvel.demo, sample.ids=sample.ids )
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) sample.ids <- sample(marvel.demo$SplicePheno$sample.id, size=10) marvel.demo <- SubsetSamples(MarvelObject=marvel.demo, sample.ids=sample.ids )
Transforms gene expression values and censor lowly-expressing genes.
TransformExpValues( MarvelObject, offset = 1, transformation = "log2", threshold.lower = 1 )
TransformExpValues( MarvelObject, offset = 1, transformation = "log2", threshold.lower = 1 )
MarvelObject |
Marvel object. S3 object generated from |
offset |
Numeric value. To indicate the value to add to the expression values before log transformation. The only option for this argument is 1. |
transformation |
Character string. To indicate the type of transformation to use on the expression values after offsetting the values. The only option for this argument is |
threshold.lower |
Numeric value. To indicate the value below which the expression values will be censored, i.e. re-coded as 0, after offsetting and transforming the values. The only option for this argument is |
An object of class S3 with updated slot MarvelObject$Exp
.
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- TransformExpValues(MarvelObject=marvel.demo, offset=1, transformation="log2", threshold.lower=1 )
marvel.demo <- readRDS(system.file("extdata/data", "marvel.demo.rds", package="MARVEL")) marvel.demo <- TransformExpValues(MarvelObject=marvel.demo, offset=1, transformation="log2", threshold.lower=1 )
Retains splice junctions whose start and end belong to the same gene.
ValidateSJ.10x(MarvelObject, keep.novel.sj = FALSE)
ValidateSJ.10x(MarvelObject, keep.novel.sj = FALSE)
MarvelObject |
Marvel object. S3 object generated from |
keep.novel.sj |
Logical value. If set to |
An object of class S3 containing the updated slots MarvelObject$sj.metadata
and MarvelObject$sj.count.matrix
.
# Load un-processed MARVEL object marvel.demo.10x.raw <- readRDS(system.file("extdata/data", "marvel.demo.10x.raw.rds", package="MARVEL") ) # Annotate gene metadata marvel.demo.10x <- AnnotateGenes.10x(MarvelObject=marvel.demo.10x.raw) # Annotate junction metadata marvel.demo.10x <- AnnotateSJ.10x(MarvelObject=marvel.demo.10x) # Validate junctions marvel.demo.10x <- ValidateSJ.10x(MarvelObject=marvel.demo.10x)
# Load un-processed MARVEL object marvel.demo.10x.raw <- readRDS(system.file("extdata/data", "marvel.demo.10x.raw.rds", package="MARVEL") ) # Annotate gene metadata marvel.demo.10x <- AnnotateGenes.10x(MarvelObject=marvel.demo.10x.raw) # Annotate junction metadata marvel.demo.10x <- AnnotateSJ.10x(MarvelObject=marvel.demo.10x) # Validate junctions marvel.demo.10x <- ValidateSJ.10x(MarvelObject=marvel.demo.10x)