Difference between pages "Publications" and "Tutorial"

From BeerLab
(Difference between pages)
Jump to navigation Jump to search
 
>Admin
 
Line 1: Line 1:
* '''[http://elifesciences.org/content/5/e11613v1 Epigenomic Landscapes of Retinal Rods and Cones.]''' Mo, A, Luo, C, Davis, FP, Mukamel, EA, Henry, GL, Nery JR, Urich, MA, Picard, S, Lister, R, Eddy, SR, Beer, MA, Ecker, JR, and Nathans, J. eLife 2016.
+
gkmSVM-R Tutorial notes
  
* '''[http://www.nature.com/ng/journal/vaop/ncurrent/full/ng.3331.html A method to predict the impact of regulatory variants from DNA sequence.]''' Lee D, Gorkin DU, Baker M, Strober BJ, Asoni AL, McCallion AS, Beer, MA. Nature Genetics 2015.
+
INSTALLATION for linux or mac (R 3.5 or later)
  
* '''[http://www.ncbi.nlm.nih.gov/pubmed/25582907 Enhanced transcriptome maps from multiple mouse tissues reveal evolutionary constraint in gene expression.]''' Pervouchine DD, Djebali S, Breschi A, Davis CA, Barja PP, Dobin, A, Tanzer A, Lagarde J, Zaleski C, See L-H, Fastuca M, Drenkow J, Wang H, Bussotti G, Pei B, Balasubramanian S, Monlong J, Harmanci A, Gerstein M, Beer MA, Notredame C, Guigó R, Gingeras TR. Nat. Comm 2015.
+
$ R <br/>
 +
> if (!requireNamespace("BiocManager", quietly = TRUE)) install.packages("BiocManager") <br/>
 +
> BiocManager::install() <br/>
 +
> BiocManager::install(c('GenomicRanges','rtracklayer','BSgenome', 'BSgenome.Hsapiens.UCSC.hg19.masked', 'BSgenome.Hsapiens.UCSC.hg18.masked')) <br/>
 +
> install.packages('ROCR','kernlab','seqinr') <br/>
  
* '''[http://journals.plos.org/plosone/article?id=10.1371/journal.pone.0140557 Identification of predictive cis-regulatory elements using a discriminative objective function and dynamic search spaces.]''' Karnik, R, and Beer MA. PLOS One 2015.
+
$ git clone https://github.com/mghandi/gkmSVM.git <br/>
 +
$ R CMD INSTALL gkmSVM <br/>
  
* '''[http://www.ncbi.nlm.nih.gov/pubmed/25413365 Comparison of the transcriptional landscapes between human and mouse tissues.]''' Lin S, Lin Y, Nery JR, Urich MA, Breschi A, Davis CA, Dobin A, Zaleski C, Beer MA, Chapman WC, Gingeras TR, Ecker JR, Snyder MP. PNAS 2014.
+
--or--
  
* '''[http://www.ncbi.nlm.nih.gov/pubmed/25409824 A comparative encyclopedia of DNA elements in the mouse genome.]''' Mouse ENCODE Consortium (includes Lee D and Beer MA). 2014. Nature 515:355–364.
+
> install.packages('gkmSVM') <br/>
  
* '''[http://www.ncbi.nlm.nih.gov/pubmed/25319996 Divergent functions of hematopoietic transcription factors in lineage priming and differentiation during erythro-megakaryopoiesis.]''' Pimkin M, Kossenkov AV, Mishra T, Morrissey CS, Wu W, Keller CA, Blobel GA, Lee D, Beer MA, Hardison RC, Weiss MJ. 2014. Genome Research (published online October 15, 2014)
+
INSTALLATION for linux or mac (R 3.4 or earlier)
  
* '''[http://www.ncbi.nlm.nih.gov/pubmed/25033408 Enhanced Regulatory Sequence Prediction Using Gapped k-mer Features.]''' Ghandi M*, Lee D*, Mohammad-Noori M, and Beer MA. 2014. PLoS Computational Biology 10(7):e1003711.
+
$ R <br/>
 +
> source("https://bioconductor.org/biocLite.R") <br/>
 +
> biocLite('GenomicRanges') <br/>
 +
> biocLite('rtracklayer') <br/>
 +
> biocLite('BSgenome') <br/>
 +
> biocLite('BSgenome.Hsapiens.UCSC.hg19.masked')    (or other genomes) <br/>
 +
> biocLite('BSgenome.Hsapiens.UCSC.hg18.masked') <br/>
 +
> install.packages('ROCR') <br/>
 +
> install.packages('kernlab') <br/>
 +
> install.packages('seqinr') <br/>
 +
> quit() <br/>
  
* '''[http://www.horizonpress.com/genomeanalysis Mammalian Enhancer Prediction.]''' Lee D, Beer MA. 2014. Genome Analysis: Current Procedures and Applications. Horizon Press.
+
$ git clone https://github.com/mghandi/gkmSVM.git <br/>
 +
$ R CMD INSTALL gkmSVM <br/>
  
* '''[http://www.ncbi.nlm.nih.gov/pubmed/23861010 Robust k-mer Frequency Estimation Using Gapped k-mers.]''' Ghandi M, Mohammad-Noori M, and Beer MA. 2013. Journal of Mathematical Biology. (Epub ahead of print)
+
--or--
  
* '''[http://www.ncbi.nlm.nih.gov/pubmed/23771147 kmer-SVM: a web server for identifying predictive regulatory sequence features in genomic datasets.]''' Fletez-Brant C*, Lee D*, McCallion AS and Beer MA. 2013. Nucleic Acids Research 41: W544–W556.
+
> install.packages('gkmSVM') <br/>
  
* '''[http://www.ncbi.nlm.nih.gov/pubmed/23019145 Integration of ChIP-seq and Machine Learning Reveals Enhancers and a Predictive Regulatory Sequence Vocabulary in Melanocytes.]''' Gorkin DU, Lee D, Reed X, Fletez-Brant C, Blessling SL, Loftus SK, Beer MA, Pavan WJ, and McCallion AS. 2012. Genome Research 22:2290-2301.
 
  
* '''[http://www.ncbi.nlm.nih.gov/pubmed/22912661 Group Normalization for Genomic Data.]''' Ghandi M, and Beer MA. 2012. PLoS ONE 7:e38695.
+
Now to run gkmSVM-R on the ctcf test set from Ghandi Lee, Mohammad-Noori, Beer, PLOS CompBio 2014:
  
* '''[http://www.ncbi.nlm.nih.gov/pubmed/21875935 Discriminative prediction of mammalian enhancers from DNA sequence.]''' Lee D, Karchin R, and Beer MA. 2011. Genome Research 21:2167-2180.
+
Input files: [http://www.beerlab.org/gkmsvm/ctcfpos.bed ctcfpos.bed], [http://www.beerlab.org/gkmsvm/nr10mers.fa nr10mers.fa], [http://www.beerlab.org/gkmsvm/ref.fa ref.fa], [http://www.beerlab.org/gkmsvm/alt.fa alt.fa] from [http://www.beerlab.org/gkmsvm www.beerlab.org/gkmsvm]
  
* '''[http://www.ncbi.nlm.nih.gov/pubmed/21720494 Identification of Novel Phosphorylation Motifs Through an Integrative Computational and Experimental Analysis of the Human Phosphoproteome.]''' Amanchy R, Kandasamy K, Mathivanan S, Periaswamy B, Reddy R, Yoon WH, Joore J, Beer MA, Cope L, Pandey A. 2011J Proteomics Bioinform 4:22-35.
+
1. generate GC, length, and repeat matched negative set and extract fasta sequence files for ctcfpos.fa and ctcfneg_1x.fa:  (Larger negative sets can be generated by increasing xfold, and running time can be decreased by reducing nMaxTrials, at the cost of not matching difficult sequencesIn general training on larger sequence sets will produce more accurate and robust models.)
  
* '''[http://www.ncbi.nlm.nih.gov/pubmed/19430481 A common allele in RPGRIP1L is a modifier of retinal degeneration in ciliopathies.]''' Khanna H, Davis EE, Murga-Zamalloa CA, Estrada-Cuzcano A, Lopez I, den Hollander AI, Zonneveld MN, Othman MI, Waseem N, Chakarova CF, Maubaret C, Diaz-Font A, MacDonald I, Muzny DM, Wheeler DA, Morgan M, Lewis LR, Logan CV, Tan PL, Beer MA, Inglehearn CF, Lewis RA, Jacobson SG, Bergmann C, Beales PL, Attié-Bitach T, Johnson CA, Otto EA, Bhattacharya SS, Hildebrandt F, Gibbs RA, Koenekoop RK, Swaroop A, Katsanis N. 2009. Nat Genet. 41:739-45.
+
$ R <br/>
 +
> library(gkmSVM) <br/>
 +
> genNullSeqs('ctcfpos.bed',nMaxTrials=10,xfold=1,genomeVersion='hg18',   outputPosFastaFN='ctcfpos.fa', outputBedFN='ctcfneg_1x.bed', outputNegFastaFN='ctcfneg_1x.fa') <br/>
  
* '''[http://www.ncbi.nlm.nih.gov/pubmed/19253296 Identification of miR-21 targets in breast cancer cells using a quantitative proteomic approach.]''' Yang Y, Chaerkady R, Beer MA, Mendell JT, and Pandey A. 2009. Proteomics 9:1374-1384.
+
2. calculate kernel matrix:
  
* '''[http://www.ncbi.nlm.nih.gov/pubmed/19211792 Lin-28B transactivation is necessary for Myc-mediated let-7 repression and proliferation.]''' Chang T-C, Zeitels LR, Hwang H-W, Chivukula RR, Wentzel EA, Dews M, Jung J, Gao P, Dang CV, Beer MA, Thomas-Tikhonenko A, and Mendell JT. 2009. PNAS 106:3384-3389.
+
> gkmsvm_kernel('ctcfpos.fa','ctcfneg_1x.fa', 'ctcf_1x_kernel.out')
  
* '''[http://www.ncbi.nlm.nih.gov/pubmed/18071029  Metrics of sequence constraint overlook regulatory sequences in an exhaustive analysis at phox2b.]''' McGaughey DM, Vinton RM, Huynh J, Al-Saif A, Beer MA, and McCallion AS. 2008. Genome Research 18:252-260.
+
3. perform SVM training with cross-validation:
  
* '''[http://www.ncbi.nlm.nih.gov/pubmed/17540599 Transactivation of miR-34a by p53 Broadly Influences Gene Expression and Promotes Apoptosis.]''' Chang T-C, Wentzel EA, Kent OA, Ramachandran K, Mullendore M, Lee KH, Feldmann G, Yamakuchi M, Ferlito M, Lowenstein CJ,  Arking DE, Beer MA, Maitra A, and Mendell JT. 2007. Molecular Cell 26: 745-752.
+
> gkmsvm_trainCV('ctcf_1x_kernel.out','ctcfpos.fa','ctcfneg_1x.fa',svmfnprfx='ctcf_1x', outputCVpredfn='ctcf_1x_cvpred.out', outputROCfn='ctcf_1x_roc.out')
  
* '''[http://www.ncbi.nlm.nih.gov/pubmed/15870260 Functional Characterization of a Novel Ku70/80 Pause Site at the H19/Igf2 Imprinting Control Region.]''' Katz DJ, Beer MA, Levorse JM, and Tilghman SM. 2005. Mol Cell Biol 25:3855-3863.
+
4. generate 10-mer weights:
  
* '''[http://www.ncbi.nlm.nih.gov/pubmed/14672978 Whole-Genome Discovery of Transcription Factor Binding Sites by Network-Level Conservation.]''' Pritsker M, Liu Y-C, Beer MA, and Tavazoie S. 2004. Genome Research 14:99-108.
+
> gkmsvm_classify('nr10mers.fa',svmfnprfx='ctcf_1x', 'ctcf_1x_weights.out')
  
* '''[http://www.ncbi.nlm.nih.gov/pubmed/15084257 Predicting Gene Expression from Sequence.]''' Beer MA and Tavazoie S. 2004. Cell 117:185-198.
+
This should get AUROC=.955 and AUPRC=.954 with some small variation arising from the randomly sampled negative sets.  You can then select the top weights with:                   
 +
 +
$ sort –grk  2 ctcf_1x_weights.out | head -12
 +
 
 +
which should give weights very similar to:
 +
 
 +
<span style="font-family:Courier;">
 +
CACCTGGTGG      5.133463 <br/>
 +
CACCAGGTGG      5.090566 <br/>
 +
CACCAGGGGG      5.038873 <br/>
 +
CCACTAGGGG      4.833398 <br/>
 +
CCACCAGGGG      4.832404 <br/>
 +
CACCTAGTGG      4.782613 <br/>
 +
CACCAGAGGG      4.707206 <br/>
 +
CACTAGGGGG      4.663015 <br/>
 +
CACTAGAGGG      4.610800 <br/>
 +
CACTAGGTGG      4.580834 <br/>
 +
CCACTAGAGG      4.529869 <br/>
 +
CAGCAGAGGG      4.335304 <br/>
 +
</span>
 +
 
 +
5. To calculate the impact of a variant, in this case on CTCF binding, we use gkmsvm_classify to find the
 +
score difference between two alleles given in FASTA format in ‘ref.fa’ and ‘alt.fa’. This is only different
 +
by a scale factor from deltaSVM calculated directly from SVM weights, as described in (Lee, Gorkin,
 +
Baker, Strober, Aasoni, McCallion, Beer, Nature Genetics 2015).
 +
 
 +
> gkmsvm_delta('ref.fa','alt.fa',svmfnprfx='ctcf_1x', 'dsvm_ctcf_1x.out')
 +
 
 +
 
 +
If you find this tool useful, please cite:
 +
 
 +
Ghandi, Mohammad-Noori, Ghareghani, Lee, Garraway, and Beer, Bioinformatics (2016); and <br/>
 +
Ghandi, Lee, Mohammad-Noori, and Beer, PLOS Computational Biology (2014).

Revision as of 19:10, 5 August 2019

gkmSVM-R Tutorial notes

INSTALLATION for linux or mac (R 3.5 or later)

$ R
> if (!requireNamespace("BiocManager", quietly = TRUE)) install.packages("BiocManager")
> BiocManager::install()
> BiocManager::install(c('GenomicRanges','rtracklayer','BSgenome', 'BSgenome.Hsapiens.UCSC.hg19.masked', 'BSgenome.Hsapiens.UCSC.hg18.masked'))
> install.packages('ROCR','kernlab','seqinr')

$ git clone https://github.com/mghandi/gkmSVM.git
$ R CMD INSTALL gkmSVM

--or--

> install.packages('gkmSVM')

INSTALLATION for linux or mac (R 3.4 or earlier)

$ R
> source("https://bioconductor.org/biocLite.R")
> biocLite('GenomicRanges')
> biocLite('rtracklayer')
> biocLite('BSgenome')
> biocLite('BSgenome.Hsapiens.UCSC.hg19.masked') (or other genomes)
> biocLite('BSgenome.Hsapiens.UCSC.hg18.masked')
> install.packages('ROCR')
> install.packages('kernlab')
> install.packages('seqinr')
> quit()

$ git clone https://github.com/mghandi/gkmSVM.git
$ R CMD INSTALL gkmSVM

--or--

> install.packages('gkmSVM')


Now to run gkmSVM-R on the ctcf test set from Ghandi Lee, Mohammad-Noori, Beer, PLOS CompBio 2014:

Input files: ctcfpos.bed, nr10mers.fa, ref.fa, alt.fa from www.beerlab.org/gkmsvm

1. generate GC, length, and repeat matched negative set and extract fasta sequence files for ctcfpos.fa and ctcfneg_1x.fa: (Larger negative sets can be generated by increasing xfold, and running time can be decreased by reducing nMaxTrials, at the cost of not matching difficult sequences. In general training on larger sequence sets will produce more accurate and robust models.)

$ R
> library(gkmSVM)
> genNullSeqs('ctcfpos.bed',nMaxTrials=10,xfold=1,genomeVersion='hg18', outputPosFastaFN='ctcfpos.fa', outputBedFN='ctcfneg_1x.bed', outputNegFastaFN='ctcfneg_1x.fa')

2. calculate kernel matrix:

> gkmsvm_kernel('ctcfpos.fa','ctcfneg_1x.fa', 'ctcf_1x_kernel.out')

3. perform SVM training with cross-validation:

> gkmsvm_trainCV('ctcf_1x_kernel.out','ctcfpos.fa','ctcfneg_1x.fa',svmfnprfx='ctcf_1x', outputCVpredfn='ctcf_1x_cvpred.out', outputROCfn='ctcf_1x_roc.out')

4. generate 10-mer weights:

> gkmsvm_classify('nr10mers.fa',svmfnprfx='ctcf_1x', 'ctcf_1x_weights.out')

This should get AUROC=.955 and AUPRC=.954 with some small variation arising from the randomly sampled negative sets. You can then select the top weights with:

$ sort –grk 2 ctcf_1x_weights.out | head -12

which should give weights very similar to:

CACCTGGTGG 5.133463
CACCAGGTGG 5.090566
CACCAGGGGG 5.038873
CCACTAGGGG 4.833398
CCACCAGGGG 4.832404
CACCTAGTGG 4.782613
CACCAGAGGG 4.707206
CACTAGGGGG 4.663015
CACTAGAGGG 4.610800
CACTAGGTGG 4.580834
CCACTAGAGG 4.529869
CAGCAGAGGG 4.335304

5. To calculate the impact of a variant, in this case on CTCF binding, we use gkmsvm_classify to find the score difference between two alleles given in FASTA format in ‘ref.fa’ and ‘alt.fa’. This is only different by a scale factor from deltaSVM calculated directly from SVM weights, as described in (Lee, Gorkin, Baker, Strober, Aasoni, McCallion, Beer, Nature Genetics 2015).

> gkmsvm_delta('ref.fa','alt.fa',svmfnprfx='ctcf_1x', 'dsvm_ctcf_1x.out')


If you find this tool useful, please cite:

Ghandi, Mohammad-Noori, Ghareghani, Lee, Garraway, and Beer, Bioinformatics (2016); and
Ghandi, Lee, Mohammad-Noori, and Beer, PLOS Computational Biology (2014).