Usos de R en Genómica en la era del high throughput 2do encuentro de usuarios de R de Argentina Lic. Estefania Mancini 15 de noviembre de 2013 R y genómica 15 de noviembre de 2013 1 / 32
Organización 1 Dogma central de la Biología Molecular Genómica 2 Next Generation Sequencing Historia Ejemplo de protocolo de secuenciación Output 3 Bioconductor Historia Paquetes ShortRead biomart GenomicRanges, Rsamtools, leebamviews, GenomicFeatures cummerbund 23andMe 4 Consejos y conclusiones R y genómica 15 de noviembre de 2013 2 / 32
Dogma central R y genómica 15 de noviembre de 2013 3 / 32
Dogma central Tamaño de los genomas en pb R y genómica 15 de noviembre de 2013 4 / 32
Secuenciación Determinar la secuencia de pares de bases en un ácido nucleico R y genómica 15 de noviembre de 2013 5 / 32
Secuenciación R y genómica 15 de noviembre de 2013 6 / 32
Next Generation Sequencing R y genómica 15 de noviembre de 2013 7 / 32
Next Generation Sequencing Ejemplo del protocolo de Illumina R y genómica 15 de noviembre de 2013 8 / 32
Next Generation Sequencing http://omicsmaps.com/ R y genómica 15 de noviembre de 2013 9 / 32
Next Generation Sequencing R y genómica 15 de noviembre de 2013 10 / 32
Next Generation Sequencing Para recordar Secuenciación por síntesis Altamente paralelizada Se pueden secuenciar de ambos extremos Material genómico fragmentado Millones de lecturas cortas R y genómica 15 de noviembre de 2013 11 / 32
Next Generation Sequencing Output FASTQ (*.fastq) @HWI-EAS255_4_FC2010Y_1_43_110_790 TTAATCTACAGAATAGATAGCTAGCATATATTT +HWI-EAS255_4_FC2010Y_1_43_110_790 R y genómica 15 de noviembre de 2013 12 / 32
Next Generation Sequencing The big GAP R y genómica 15 de noviembre de 2013 13 / 32
Next Generation Sequencing Caminos posibles Si se secuenció material genómico (ADN) Ensamblar, anotar Encontrar diferencias con el genoma previamente ensamblado/anotado (SNPs) Si se secuenció transcriptoma (ARN) Ensamblar, anotar Encontrar diferencias con el transcriptoma previamente ensamblado/anotado Analizar qué genes están activos ChipSeq, SNPs, Muchas otras opciones... R y genómica 15 de noviembre de 2013 14 / 32
Historia http://www.bioconductor.org/ source("http://bioconductor.org/bioclite.r") bioclite() R y genómica 15 de noviembre de 2013 15 / 32
Paquetes para análisis de HTS R y genómica 15 de noviembre de 2013 16 / 32
Ejemplos de workflows Control de calidad de archivos fastq library(shortread); library(ggplot2) fastq <- paste("data/", fastq, sep="") names(fastq) <- paste("flowcell6_lane", 1:length(fastq), sep="_") fqlist <- seefastq(fastq=fastq, batchsize=100000, klength=8) seefastqplot(fqlist) seefastqplot(fqlist[4:1], arrange=c(1,2,3,4,6,7)) pdf("fastqreport.pdf", height=18, width=4*length(fastq)) seefastqplot(fqlist) dev.off() R y genómica 15 de noviembre de 2013 17 / 32
Ejemplos de workflows R y genómica 15 de noviembre de 2013 18 / 32
Ejemplos de workflows R y genómica 15 de noviembre de 2013 19 / 32
Ejemplos de workflows biomart library("biomart") listmarts() ensembl <- usemart("ensembl") listdatasets(ensembl) goids = getbm(attributes=c(entrezgene, go_id), filters=entrezgene, values=entrez, mart=ensembl) utr5 = getsequence(chromosome=3, start=185514033, end=185535839, type="entrezgene", seqtype="5utr", mart=ensembl) protein = getsequence( id=c(100, 5728), type="entrezgene", seqtype="peptide", mart=ensembl) R y genómica 15 de noviembre de 2013 20 / 32
Ejemplos de workflows GenomicRanges, Rsamtools, leebamviews library(genomicranges); library(rsamtools); library(leebamviews) testfile <- system.file("bam", "isowt5_13e.bam", package = "leebamviews") aligns <- readbamgappedalignments(testfile) rname(aligns) <- sub("^sc", "", rname(aligns)) rname(aligns) <- sub("13", "XIII", rname(aligns)) alignscan <- scanbam(testfile); names(alignscan[[1]]) R y genómica 15 de noviembre de 2013 21 / 32
Ejemplos de workflows GenomicFeatures library(genomicfeatures) txdb <- maketranscriptdbfromucsc(genome="saccer2", tablename="sgdgene") exonranges <- exonsby(txdb, "tx") genomedb <- maketranscriptdbfromgff(file="tair_10.gff", format=gff, datasource="tair", species="athaliana") introns<-intronsbytranscript(genome, use.names=true) exons <-exonsby(genome, by="gen") transcripts<-transcriptsby(genome) Guardamos la DB en formato sqlite genome <- loaddb("genomaatsql.sqlite") #20M R y genómica 15 de noviembre de 2013 22 / 32
Ejemplos de workflows GenomicRanges, Rsamtools, leebamviews, GenomicFeatures counts <- countoverlaps(exonranges, aligns) numbases <- sum(width(reduce(exonranges))) genelengthsinkb <- (numbases/1000) millionsmapped <- sum(counts)/1e+06 rpkm <- rpm/genelengthsinkb sortedrpkm <- sort(rpkm); highscoregenes <- tail(sortedrpkm) R y genómica 15 de noviembre de 2013 23 / 32
Ejemplos de workflows cummerbund R y genómica 15 de noviembre de 2013 24 / 32
Ejemplos de workflows cummerbund library(cummerbund) timecourse <- readcufflinks() csdensity(genes(timecourse)) dispersionplot(genes(timecourse)) csboxplot(genes(timecourse)) gene.features<-annotation(genes(timecourse)) gene.fpkm<-fpkm(genes(denti)) gene.counts<-count(genes(denti)) data(sampledata) count(pink1) g1 <- expressionplot(at2g46830)expressionplot(at2g46830) g1.rep.iso <- expressionplot(isoforms(at2g46830), replicates=t) R y genómica 15 de noviembre de 2013 25 / 32
Ejemplos de workflows cummerbund R y genómica 15 de noviembre de 2013 26 / 32
Ejemplos de workflows cummerbund R y genómica 15 de noviembre de 2013 27 / 32
Ejemplos de workflows 23andMe R y genómica 15 de noviembre de 2013 28 / 32
Ejemplos de workflows 23andMe library(gwascat) d <- read.table("20120313162059.txt", sep="\t", header=false, colclasses=c("character", "character", "numeric", "character"), col.names=c("rsid", "chrom", "position", "genotype")) tmp <- d$chrom d$chrom = ordered(d$chrom, levels=c(seq(1, 22), "X", "Y", "MT")) R y genómica 15 de noviembre de 2013 29 / 32
Ejemplos de workflows 23andMe library(txdb.hsapiens.ucsc.hg18.knowngene) txdb <- TxDb.Hsapiens.UCSC.hg18.knownGene class(txdb) tx.by.gene <- transcriptsby(txdb, "gene") library(org.hs.eg.db) my.snps <- with(d, GRanges(seqnames=chrom, IRanges(start=position, width=1), rsid=rsid, genotype=genotype)) R y genómica 15 de noviembre de 2013 30 / 32
Consejos y Conclusiones http://www.bioconductor.org/help/course-materials/2013 Consejos y Conclusiones subsetear los inputs samplear a un taman apropiado para estadistica iterar en blouqes los datasets grandes siempre que se pueda, paralelizar guardar los objeto en formato RData eliminar los objetos del entorno armar funciones para automatizar las rutinas R y genómica 15 de noviembre de 2013 31 / 32
R y genómica 15 de noviembre de 2013 32 / 32