Using Bioconductor To Analyse Beadarray Data: Difference between revisions
mNo edit summary |
mNo edit summary |
||
| (12 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
[[Category: R]] | [[Category: R]] | ||
[[Category: Bioinformatics]] | [[Category: Bioinformatics]] | ||
[[Category: Bioconductor]] | |||
==Software Requirements== | ==Software Requirements== | ||
*R, get from | *R, get from [http://cran.r-project.org/ CRAN] | ||
*Bioconductor, get from | *Bioconductor, get from [http://www.bioconductor.org/download Bioconductor] | ||
*Bioconductor packages. Install as needed: | *Bioconductor packages. Install as needed: | ||
**beadarray | **beadarray | ||
**limma | **limma | ||
**annotation data for the array (normally illuminaMousev2BeadID.db) | |||
*To install bioconductor packages use: | |||
<pre> | <pre> | ||
source("http://www.bioconductor.org/biocLite.R") | source("http://www.bioconductor.org/biocLite.R") | ||
| Line 47: | Line 50: | ||
*First define groups for each treatment. If a samplesheet was provided correctly and had this information: | *First define groups for each treatment. If a samplesheet was provided correctly and had this information: | ||
<pre>samples = pData(BSData)$Sample_Group</pre> | <pre>samples = pData(BSData)$Sample_Group</pre> | ||
*Otherwise define these groups manually in the order that they were entered | *Otherwise define these groups manually in the order that they were entered, check by looking at pData(BSData) | ||
<pre>samples = c("Control", "Control", "Treatment1", "Treatment1, "Treatment2"...)</pre> | <pre>samples = c("Control", "Control", "Treatment1", "Treatment1, "Treatment2"...)</pre> | ||
*Next the groups are used to set up a statistical design: | *Next the groups are used to set up a statistical design: | ||
| Line 64: | Line 67: | ||
</pre> | </pre> | ||
===Generating a Venn Diagram for Differential Expression=== | ===Generating a Venn Diagram for Differential Expression=== | ||
*First define a cutoff criteria for inclusion. | *First define a cutoff criteria for inclusion. One option is to use the decideTests function: | ||
<pre>results = decideTests(ebFit)</pre> | |||
< | *The relevant options are for method and adjust.method | ||
**method | |||
***default is "global", which allows for p-value comparasons | |||
**adjust.method, this defines the false-discovery rate adjustment: | |||
***default is "BH" for Benjami and Hochberg | |||
***other options are "none", "fdr" (same as BH), "holm" and "BY" | |||
*Now use that classification to generate the Venn Diagram. The following will include both up and downregulated genes and color the numbers accordingly: | |||
<pre>vennDiagram(results, include="both", col=c("red","green")</pre> | |||
==Annotation of Expression Sets and Fitted Data== | ==Annotation of Expression Sets and Fitted Data== | ||
*To see all possible annotation criteria use: | |||
<pre> | |||
library(illuminaMousev2BeadID.db) | |||
illuminaMousev2BeadID() | |||
</pre> | |||
*Normally you want to annotate with at least the gene symbol and gene name. Add other criteria as required | |||
<pre> | |||
ids = rownames(exprs(BSData)) | |||
GeneName = mget(ids, illuminaMousev2BeadIDGENENAME, ifnotfound = NA) | |||
symbol = mget(ids, illuminaMousev2BeadIDSYMBOL, ifnotfound = NA) | |||
anno = cbind(GeneSymbol = as.character(symbol), GeneName = as.character(GeneName)) | |||
</pre> | |||
*To add this annotation to the data analysis file: | |||
<pre> | |||
ebFit$genes = anno | |||
write.fit = (ebFit, file = "Filename.csv", adjust="BH") | |||
</pre> | |||
*This example includes a false discovery rate ("BH") adjusted p.value. | |||
*This function writes a tab-delimited text file containing for each gene (1) the average log-intensity, (2) the log-ratios, (3) moderated t-statistics, (4) t-statistic P-values, (5) F-statistic if available, (6) F-statistic P-values if available, (7) classification if available. | |||
*To add this annotation data to the expression set: | |||
<pre> | |||
data = exprs(BSData.quantile) | |||
data = cbind(anno,data) | |||
write.csv = (data, file = "Filename.csv") | |||
</pre> | |||
*Remember that the expression set is Log2 adjusted, so to look at absolute expression levels use 2^value. | |||