Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

In this lab, we'll look at how to use cummeRbund to visualize our gene expression results from cuffdiff.  CummeRbund is part of the tuxedo pipeline and it is an R package that is capable of plotting the results generated by cuffdiff.

Image RemovedImage Added

Figure from: Differential gene and transcript expression analysis of RNA-seq experiments with TopHat and Cufflinks, Trapnell et al, Nature Protocols, 2013. 

...

Code Block
titleGet set up
#IF YOU HAVE NOT COPIED THIS OVER ALREADY
cds
cd my_rnaseq_course
cp -r /corral-repl/utexas/BioITeam/rnaseq_course_2015/day_3_partB/cuffdiff_results .

IF YOU HAVE ALREADY COPIED IT OVER
cds
cd my_rnaseq_course
cd day_3_partB/cuffdiff_results
 

#We need the cuffdiff results because that is the input to cummeRbund.

...

Code Block
pdf(file="scatterplot.pdf")

csScatter(genes(cuff_data), 'C1', 'C2')

dev.off()

 
#How does this plot look? What is it telling us?

The resultant plot is here.


Exercise 2a:  Pull out from your data, significantly differentially expressed genes and isoforms.

...

Code Block
titleTo pull out genes
#Below command is equivalent to looking at the gene_exp.diff file that we spent a lot of time parsing yesterday
gene_diff_data <- diffData(genes(cuff_data))   
#Do gene_diff_data followed by tab to see all the variables in this data object
 
sig_gene_data  <- subset(gene_diff_data, (significant ==  'yes'))
up_gene_data  <- subset(sig_gene_data, (log2_fold_change > 1))
#How many
nrow(up_gene_data)
  
down_gene_data <- subset(sig_gene_data, (log2_fold_change < -1))
nrow(updown_gene_data)


Exercise 3: For a gene, regucalcin, plot gene and isoform level expression.

Code Block
titleTo plot gene level and isoform level expression for gene regucalcin
pdf(file="regucalcin.pdf")
mygene1 <- getGene(cuff_data,'regucalcin')
expressionBarplot(mygene1)
expressionBarplot(isoforms(mygene1))
dev.off()

The resultant plot is here.

 

Exercise 4: For a gene, Rala, plot gene and isoform level expression.

Code Block
titleTo plot gene level and isoform level expression for gene Rala
pdf(file="rala.pdf")
mygene2 <- getGene(cuff_data, 'Rala')
expressionBarplot(mygene2)
expressionBarplot(isoforms(mygene2))
dev.off()

The figure is here.

Take cummeRbund for a spin...

...

Expand
Solution
Solution
Code Block
titleR command to generate box plot of gene level fpkms
csBoxplot(genes(cuff_data))
Code Block
titleR command to generate box plot of isoform level fpkms
csBoxplot(isoforms(cuff_data))

The resultant graph is here.

 

Expand
Hint
Hint

Use csBoxplot function on cuff_data object to generate a boxplot of gene or isoform level fpkms.

The resultant plot is here.

Exercise 6: Visualize the significant vs non-significant genes using a volcano plot.

...

Expand
Hint
Hint

Use csVolcano function on cuff_data object to generate a volcano plot.

The resultant plot is here.

 

Exercise 7: MORE COMPLICATED! Generate a heatmap for genes that are upregulated and significant.

...

Expand
Hint
Hint

Use csHeatmap function on the up_gene_data data structure we created. But its a little tricky.

The resultant plot is here.