[BioC] countOverlaps Warnings

Valerie Obenchain vobencha at fhcrc.org
Fri Apr 25 19:55:46 CEST 2014


Sorry, I should have mentioned the function moved to the new 
GenomicAlignments package.

library(GenomicAlignments)

Valerie

On 04/25/2014 10:30 AM, Pankaj Agarwal wrote:
> I installed R 3.1.0 and install all the bioconductor packages to try out with the latest version, but for some reason summarizeOverlaps() function is not showing as being available.  Below is the message that I get when it comes to running the function followed by the sessionInfo().  Not sure if I am missing any package.
>
>> library(GenomicFeatures)
>> library(Rsamtools)
>> library(rtracklayer)
> ...
> countDF <- summarizeOverlaps(eByg, bfl, mode="IntersectionNotEmpty", ignore.strand=TRUE, singleEnd=FALSE)
> Error: could not find function "summarizeOverlaps"
>
>> sessionInfo()
> R version 3.1.0 (2014-04-10)
> Platform: x86_64-unknown-linux-gnu (64-bit)
>
> locale:
>   [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
>   [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8
>   [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8
>   [7] LC_PAPER=en_US.UTF-8       LC_NAME=C
>   [9] LC_ADDRESS=C               LC_TELEPHONE=C
> [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
>
> attached base packages:
> [1] parallel  stats     graphics  grDevices utils     datasets  methods
> [8] base
>
> other attached packages:
>   [1] rtracklayer_1.24.0     Rsamtools_1.16.0       Biostrings_2.32.0
>   [4] XVector_0.4.0          GenomicFeatures_1.16.0 AnnotationDbi_1.26.0
>   [7] Biobase_2.24.0         GenomicRanges_1.16.2   GenomeInfoDb_1.0.2
> [10] IRanges_1.22.3         BiocGenerics_0.10.0
>
> loaded via a namespace (and not attached):
>   [1] BatchJobs_1.2           BBmisc_1.6              BiocParallel_0.6.0
>   [4] biomaRt_2.20.0          bitops_1.0-6            brew_1.0-6
>   [7] BSgenome_1.32.0         codetools_0.2-8         DBI_0.2-7
> [10] digest_0.6.4            fail_1.2                foreach_1.4.2
> [13] GenomicAlignments_1.0.0 iterators_1.0.7         plyr_1.8.1
> [16] Rcpp_0.11.1             RCurl_1.95-4.1          RSQLite_0.11.4
> [19] sendmailR_1.1-2         stats4_3.1.0            stringr_0.6.2
> [22] tools_3.1.0             XML_3.98-1.1            zlibbioc_1.10.0
>>
>
> - Pankaj
> ________________________________________
> From: Valerie Obenchain [vobencha at fhcrc.org]
> Sent: Thursday, April 24, 2014 5:07 PM
> To: Pankaj Agarwal; bioconductor at r-project.org
> Subject: Re: [BioC] countOverlaps Warnings
>
> I think you have an older version of summarizeOverlaps() which had a
> restriction on using 'yieldSize' with paired-end and emits the warning
> you see below. The reason you didn't see the warning the first time is
> because the reads were being treated as single-end (hence almost double
> the count difference).
>
> To update to the current version you'll need R 3.1 and Bioconductor 2.14
> (your sessionInfo() below shows R 3.0.3). Even with the update there is
> no guarantee the counts you see with htseq-count and summarizeOverlaps
> will be 100% the same. The pairing algorithm (i.e., how we define which
> reads are true pairs) is documented on the ?readGAlignments man page in
> the 'Pairing criteria' section. The HTSeq docs probably define how they
> determine pairs.
>
> Once you update you may also want to check out the 'fragments' argument
> to summarizeOverlaps(). This allows you to read in not only the records
> paired according to the algorithm but records with unmapped pairs,
> singletons, and other fragments. This may not be appropriate for your
> current task but does provide and interesting separation of the paired
> reads and 'other' fragments.
>
> Valerie
>
>
> On 04/24/14 12:44, Pankaj Agarwal wrote:
>> Yes, these are p.e reads.  I made the changes you suggested as follows, everything else being the same as before:
>>
>> bfl <- BamFileList(samplespath, yieldSize=50000, index=character(), asMates=TRUE)
>> ...
>> countDF_intsectionNotEmpty_042414A <- summarizeOverlaps(eByg, bfl, mode="IntersectionNotEmpty", ignore.strand=TRUE, singleEnd=FALSE)
>> Warning in FUN(bf, param = param) : 'yieldSize' set to 'NA'
>> Warning in FUN(bf, param = param) : 'yieldSize' set to 'NA'
>> ...
>>
>> Not sure why I got these warning this time (did not see them last time).
>>
>> The results are much closer to what I got with htseq-count, though still not very close:
>>
>> htseq-count:
>>>                        A.bam  B. bam  C. bam  D. bam
>>> A1BG            7            67             90     72
>>> A1BG-AS1     1            69          41       51
>>> A1CF             2          16            0        3
>>> A2M              1536    10866        34      173
>>
>> summarizeOverlaps:
>>>                        A.bam  B. bam  C. bam  D. bam
>>> A1BG            7            65             78     66
>>> A1BG-AS1     1            66          37       47
>>> A1CF             2          16            0        3
>>> A2M              1001    6897        28      160
>>
>> I got the GTF files from the following website:
>>
>> http://support.illumina.com/sequencing/sequencing_software/igenome.ilmn
>>
>> Homo sapiens
>> Ensembl       GRCh37
>> NCBI  build37.2
>> UCSC  hg19
>>
>> I used the UCSC hg19 - which has the bowtie2 index, which I used for alignment with bowtie2, and the GTF file, which I used as the annotation source.  This same GTF was used for htseq-count also.
>>
>> Thanks,
>>
>> - Pankaj
>>
>> ________________________________________
>> From: Valerie Obenchain [vobencha at fhcrc.org]
>> Sent: Thursday, April 24, 2014 9:39 AM
>> To: Pankaj Agarwal; bioconductor at r-project.org
>> Subject: Re: [BioC] countOverlaps Warnings
>>
>> Are these paired-end reads? If yes set 'singleEnd=FALSE' in the
>> summarizeOverlaps() call.
>>
>>      summarizeOverlaps(eByg, bfl, "IntersectionNotEmpty",
>>                        ignore.strand=TRUE, singleEnd=FALSE)
>>
>> To 'stamp' the BamFileList as containing paired-end reads set the
>> 'asMates' arg to TRUE.
>>
>>      bfl <- BamFileList(samplespath, asMates=TRUE)
>>
>> 'yieldSize' reads data in by chunks and is useful when the bam files are
>> too large to fit in memory.
>>
>> Can you point me to where you download 'genes.gtf'?
>>
>> Valerie
>>
>> On 04/23/14 19:40, Pankaj Agarwal wrote:
>>> Valerie,
>>>
>>> I used summarizeOverlaps() instead, since it seemed simpler to use.  I also used htseq-count to get the counts using the same parameters, but I get very different results.
>>>    From what I have read and understood, both should give similar results since the counts should be reported at the "gene" level and not the "isoform" level.
>>> I would feel much more comfortable with the results if they were both at least close.
>>>
>>> For both I used the UCSC GTF file in the iGenomes distribution.
>>> For htseq-count I used BAM files sorted by name since it required it, but for summarizeOverlaps I used BAM files sorted by coordinates (the default sorting done by samtools).
>>> Example of counts generated by the two methods are given after the code:
>>>
>>> The code for htseq-count that I used is as follows (once for each sample):
>>>
>>> samtools view -h A.sorted_byname.bam | htseq-count -t exon -i gene_id -m intersection-nonempty -s no - iGenomes/UCSC/Homo_sapiens/UCSC/hg19/Annotation/Genes/genes.gtf > A.htseq.count
>>>
>>>     The code for summarizeOverlaps() is as follows:
>>>
>>>> library(GenomicFeatures)
>>> Loading required package: BiocGenerics
>>> Loading required package: parallel
>>> ...
>>>> library(Rsamtools)
>>> Loading required package: Biostrings
>>>> library(rtracklayer)
>>>> library(GenomicRanges)
>>>>
>>>> txdb <- makeTranscriptDbFromGFF(file=iGenomes/UCSC/Homo_sapiens/UCSC/hg19/Annotation/Genes/genes.gtf", format="gtf")
>>> extracting transcript information
>>> Estimating transcript ranges.
>>> Extracting gene IDs
>>> Processing splicing information for gtf file.
>>> Deducing exon rank from relative coordinates provided
>>> Prepare the 'metadata' data frame ... metadata: OK
>>> Now generating chrominfo from available sequence names. No chromosome length information is available.
>>> Warning messages:
>>> 1: In .deduceExonRankings(exs, format = "gtf") :
>>>      Infering Exon Rankings.  If this is not what you expected, then please be sure that you have provided a valid attribute for exonRankAttributeName
>>> 2: In matchCircularity(chroms, circ_seqs) :
>>>      None of the strings in your circ_seqs argument match your seqnames.
>>>>
>>>
>>> - are these warnings message problems?
>>>
>>>> saveDb(txdb, file="./data/ucsc_igenomes_hg19_gtf.sqlite")
>>>>
>>>> txdb <- loadDb("./data/ucsc_igenomes_hg19_gtf.sqlite")
>>>>
>>>> eByg <- exonsBy(txdb, by="gene")
>>>>
>>>> head(eByg)
>>> GRangesList of length 6:
>>> $A1BG
>>> GRanges with 8 ranges and 2 metadata columns:
>>>          seqnames               ranges strand |   exon_id   exon_name
>>>             <Rle>            <IRanges>  <Rle> | <integer> <character>
>>>      [1]    chr19 [58858172, 58858395]      - |    163177        <NA>
>>>      [2]    chr19 [58858719, 58859006]      - |    163178        <NA>
>>>>
>>>> samples = c("A.sorted", "B.sorted", "C.sorted", "D.sorted")
>>>>
>>>> samples
>>> [1] "A.sorted" "B.sorted"
>>> [3] "C.sorted" "D.sorted"
>>>>
>>>> samplespath
>>> [1] "../A.sorted.bam"
>>> [2] "../B.bam"
>>> [3] "../C.sorted.bam"
>>> [4] "../D.sorted.bam"
>>>>
>>>> names(samplespath) <- samples
>>>> bfl <- BamFileList(samplespath, yieldSize=50000, index=character())
>>>
>>> I am not sure what yieldSize means, just used it from the example I followed.
>>>
>>>> bfl
>>> BamFileList of length 4
>>> names(4): A.sorted ... B.sorted
>>>>
>>>> countDF_intsectionNotEmpty <- summarizeOverlaps(eByg, bfl, mode="IntersectionNotEmpty", ignore.strand=TRUE)
>>>>
>>>> head(countDF_intsectionNotEmpty)
>>> class: SummarizedExperiment
>>> dim: 1 4
>>> exptData(0):
>>> assays(1): counts
>>> rownames(1): A1BG
>>> rowData metadata column names(0):
>>> colnames(4): A1.sorted B.sorted  C.sorted D.sorted
>>> colData names(0):
>>>>
>>>> class(countDF_intsectionNotEmpty)
>>> [1] "SummarizedExperiment"
>>> attr(,"package")
>>> [1] "GenomicRanges"
>>>>
>>>> countDF_intsectionNotEmpty <- assays(countDF_intsectionNotEmpty)$counts
>>>> colnames(countDF_intsectionNotEmpty) <- samples
>>>> countDF_intsectionNotEmpty[1:4,]
>>>                 A.sorted   B.sorted   C.sorted   D.sorted
>>> A1BG            13         119                162                  136
>>> A1BG-AS1   2         112              52                   85
>>> A1CF             3         28                0                    5
>>> A2M              2543  17593       47                233
>>> ...
>>>
>>> The counts that I get are very different from what I get using htseq-count, which are following for the same genes listed above:
>>>
>>>                        A.bam  B. bam  C. bam  D. bam
>>> A1BG            7            67             90              72
>>> A1BG-AS1  1            69          41      51
>>> A1CF             2          16            0        3
>>> A2M         1536    10866     34            173
>>>     ...
>>> ...
>>>
>>> I would appreciate your feedback.
>>>
>>> Thanks,
>>>
>>> - Pankaj
>>>
>>> -----Original Message-----
>>> From: Valerie Obenchain [mailto:vobencha at fhcrc.org]
>>> Sent: Wednesday, April 23, 2014 12:50 PM
>>> To: Pankaj Agarwal; bioconductor at r-project.org
>>> Subject: Re: [BioC] countOverlaps Warnings
>>>
>>> Pankaj,
>>>
>>> How did it go? Were you able to get readGAlignmentPairs() or
>>> readGAlignmentsList() to work for your case?
>>>
>>> Valerie
>>>
>>>
>>> On 04/21/2014 01:32 PM, Valerie Obenchain wrote:
>>>> Hi Pankaj,
>>>>
>>>> There are several options for counting paired-end reads.
>>>>
>>>> Both readGAlignmentPairs() and readGAlignmentsList() are appropriate
>>>> for paired-end data and are in the GenomicAlignments package. They use
>>>> the same counting algorithm but return the data in different containers.
>>>> readGAlignmentPairs() returns only pairs while readGAlignmentsList()
>>>> returns pairs as well as singletons, reads with unmapped pairs etc.
>>>> See the ?readGAlignments man page for details.
>>>>
>>>> Another counting function is summarizeOverlaps() which uses the above
>>>> functions 'under the hood'. It returns the counts in the 'assays' slot
>>>> of a SummarizedExperiment object. Since you have multiple bam files to
>>>> count you may want to use the BamFileList method.
>>>>
>>>> The man page has examples of counting paired-end bam files.
>>>> library(Rsamtools)
>>>> ?summarizeOverlaps
>>>>
>>>> Other packages that offer count functions are Rsubread and easyRNASeq.
>>>>
>>>> Valerie
>>>>
>>>>
>>>>
>>>>
>>>> On 04/21/2014 09:53 AM, Pankaj Agarwal wrote:
>>>>> Hi,
>>>>>
>>>>> I am analyzing a matched pair tumor/normal rna-seq data set.  After
>>>>> aligning with bowtie2 against UCSC hg19 index, I am trying to get the
>>>>> counts for each of the samples using the iGenomes UCSC GTF file.  I
>>>>> came across the following tutorial which shows different ways to do
>>>>> it in Bioconductor:
>>>>> http://faculty.ucr.edu/~tgirke/HTML_Presentations/Manuals/Workshop_De
>>>>> c_12_16_2013/Rrnaseq/Rrnaseq.pdf
>>>>>
>>>>>
>>>>> Following along slide 28 "Read Counting with countOverlaps", I am
>>>>> able to generate the counts but get the following Warnings.  I just
>>>>> want to be sure that there is nothing to be worried about because I
>>>>> don't understand the meaning of these warnings.  My code is as follows:
>>>>>
>>>>>> library(GenomicFeatures)
>>>>> Loading required package: AnnotationDbi
>>>>>> library(Rsamtools)
>>>>>> library(rtracklayer)
>>>>>> txdb <- loadDb("./data/ucsc_igenomes_hg19_gtf.sqlite")
>>>>>> eByg <- exonsBy(txdb, by="gene")
>>>>>> head(eByg)
>>>>> GRangesList of length 6:
>>>>> $A1BG
>>>>> GRanges with 8 ranges and 2 metadata columns:
>>>>>           seqnames               ranges strand |   exon_id   exon_name
>>>>>              <Rle>            <IRanges>  <Rle> | <integer> <character>
>>>>>       [1]    chr19 [58858172, 58858395]      - |    163177        <NA>
>>>>>       [2]    chr19 [58858719, 58859006]      - |    163178        <NA>
>>>>>       [3]    chr19 [58861736, 58862017]      - |    163179        <NA>
>>>>>       [4]    chr19 [58862757, 58863053]      - |    163180        <NA>
>>>>>       [5]    chr19 [58863649, 58863921]      - |    163181        <NA>
>>>>>       [6]    chr19 [58864294, 58864563]      - |    163182        <NA>
>>>>>       [7]    chr19 [58864658, 58864693]      - |    163183        <NA>
>>>>>       [8]    chr19 [58864770, 58864865]      - |    163184        <NA>
>>>>>
>>>>> $A1BG-AS1
>>>>> GRanges with 4 ranges and 2 metadata columns:
>>>>>           seqnames               ranges strand | exon_id exon_name
>>>>>       [1]    chr19 [58863336, 58864410]      + |  156640      <NA>
>>>>>       [2]    chr19 [58864745, 58864840]      + |  156641      <NA>
>>>>>       [3]    chr19 [58865080, 58865223]      + |  156642      <NA>
>>>>>       [4]    chr19 [58865735, 58866549]      + |  156643      <NA>
>>>>>
>>>>> ...
>>>>> <4 more elements>
>>>>> ---
>>>>> seqlengths:
>>>>>                      chr12                  chr8 ...  chr1_gl000192_random
>>>>>                         NA                    NA ...                    NA
>>>>>> samples = c("BRPC13-1118_L1.D710_501.sorted",
>>>>>> "BRPC_13-764_L2.sorted", "DU04_PBMC_RNA_L1.sorted",
>>>>>> "DU06_PBMC_RNA_L1.sorted")
>>>>>>
>>>>>> samples
>>>>> [1] "BRPC13-1118_L1.D710_501.sorted" "BRPC_13-764_L2.sorted"
>>>>> [3] "DU04_PBMC_RNA_L1.sorted"        "DU06_PBMC_RNA_L1.sorted"
>>>>>>
>>>>>> samplespath <- paste("./", samples, ".bam", sep="")
>>>>>>
>>>>>> samplespath
>>>>> [1] "./BRPC13-1118_L1.D710_501.sorted.bam"
>>>>> [2] "./BRPC_13-764_L2.sorted.bam"
>>>>> [3] "./DU04_PBMC_RNA_L1.sorted.bam"
>>>>> [4] "./DU06_PBMC_RNA_L1.sorted.bam"
>>>>>>
>>>>>> names(samplespath) <- samples
>>>>>>
>>>>>> samplespath
>>>>>             BRPC13-1118_L1.D710_501.sorted BRPC_13-764_L2.sorted
>>>>> "./BRPC13-1118_L1.D710_501.sorted.bam"
>>>>> "./BRPC_13-764_L2.sorted.bam"
>>>>>                    DU04_PBMC_RNA_L1.sorted DU06_PBMC_RNA_L1.sorted
>>>>>            "./DU04_PBMC_RNA_L1.sorted.bam"
>>>>> "./DU06_PBMC_RNA_L1.sorted.bam"
>>>>>>
>>>>>> countDF <- data.frame(row.names=names(eByg))
>>>>>>
>>>>>> countDF
>>>>> data frame with 0 columns and 23710 rows
>>>>>>
>>>>>> dim(countDF)
>>>>> [1] 23710     0
>>>>>>
>>>>>> for(i in samplespath) {
>>>>> + aligns <- readGAlignmentsFromBam(i) counts <- countOverlaps(eByg,
>>>>> + aligns, ignore.strand=TRUE) countDF <- cbind(countDF, counts) }
>>>>> Warning messages:
>>>>> 1: In .Seqinfo.mergexy(x, y) :
>>>>>       Each of the 2 combined objects has sequence levels not in the other:
>>>>>       - in 'x': chr6_cox_hap2, chr6_dbb_hap3, chr6_ssto_hap7,
>>>>> chr6_qbl_hap6, chr6_mann_hap4, chr6_mcf_hap5, chr6_apd_hap1,
>>>>> chrUn_gl000228, chr17_ctg5_hap1, chr19_gl000209_random,
>>>>> chr4_ctg9_hap1, chrUn_gl000222, chrUn_gl000223, chr1_gl000191_random,
>>>>> chr7_gl000195_random, chrUn_gl000213, chrUn_gl000220,
>>>>> chr17_gl000205_random, chrUn_gl000212, chrUn_gl000218,
>>>>> chrUn_gl000219, chrUn_gl000211, chr4_gl000193_random,
>>>>> chr4_gl000194_random, chr1_gl000192_random
>>>>>       - in 'y': chrM
>>>>>       Make sure to always combine/compare objects based on the same
>>>>> reference
>>>>>       genome (use suppressWarnings() to suppress this warning).
>>>>> 2: In .Seqinfo.mergexy(x, y) :
>>>>>       Each of the 2 combined objects has sequence levels not in the other:
>>>>>       - in 'x': chr6_cox_hap2, chr6_dbb_hap3, chr6_ssto_hap7,
>>>>> chr6_qbl_hap6, chr6_mann_hap4, chr6_mcf_hap5, chr6_apd_hap1,
>>>>> chrUn_gl000228, chr17_ctg5_hap1, chr19_gl000209_random,
>>>>> chr4_ctg9_hap1, chrUn_gl000222, chrUn_gl000223, chr1_gl000191_random,
>>>>> chr7_gl000195_random, chrUn_gl000213, chrUn_gl000220,
>>>>> chr17_gl000205_random, chrUn_gl000212, chrUn_gl000218,
>>>>> chrUn_gl000219, chrUn_gl000211, chr4_gl000193_random,
>>>>> chr4_gl000194_random, chr1_gl000192_random
>>>>>       - in 'y': chrM
>>>>>       Make sure to always combine/compare objects based on the same
>>>>> reference
>>>>>       genome (use suppressWarnings() to suppress this warning).
>>>>> 3: In .Seqinfo.mergexy(x, y) :
>>>>>       Each of the 2 combined objects has sequence levels not in the other:
>>>>>       - in 'x': chr6_cox_hap2, chr6_dbb_hap3, chr6_ssto_hap7,
>>>>> chr6_qbl_hap6, chr6_mann_hap4, chr6_mcf_hap5, chr6_apd_hap1,
>>>>> chrUn_gl000228, chr17_ctg5_hap1, chr19_gl000209_random,
>>>>> chr4_ctg9_hap1, chrUn_gl000222, chrUn_gl000223, chr1_gl000191_random,
>>>>> chr7_gl000195_random, chrUn_gl000213, chrUn_gl000220,
>>>>> chr17_gl000205_random, chrUn_gl000212, chrUn_gl000218,
>>>>> chrUn_gl000219, chrUn_gl000211, chr4_gl000193_random,
>>>>> chr4_gl000194_random, chr1_gl000192_random
>>>>>       - in 'y': chrM
>>>>>       Make sure to always combine/compare objects based on the same
>>>>> reference
>>>>>       genome (use suppressWarnings() to suppress this warning).
>>>>> 4: In .Seqinfo.mergexy(x, y) :
>>>>>       Each of the 2 combined objects has sequence levels not in the other:
>>>>>       - in 'x': chr6_cox_hap2, chr6_dbb_hap3, chr6_ssto_hap7,
>>>>> chr6_qbl_hap6, chr6_mann_hap4, chr6_mcf_hap5, chr6_apd_hap1,
>>>>> chrUn_gl000228, chr17_ctg5_hap1, chr19_gl000209_random,
>>>>> chr4_ctg9_hap1, chrUn_gl000222, chrUn_gl000223, chr1_gl000191_random,
>>>>> chr7_gl000195_random, chrUn_gl000213, chrUn_gl000220,
>>>>> chr17_gl000205_random, chrUn_gl000212, chrUn_gl000218,
>>>>> chrUn_gl000219, chrUn_gl000211, chr4_gl000193_random,
>>>>> chr4_gl000194_random, chr1_gl000192_random
>>>>>       - in 'y': chrM
>>>>>       Make sure to always combine/compare objects based on the same
>>>>> reference
>>>>>       genome (use suppressWarnings() to suppress this warning).
>>>>>>
>>>>>
>>>>> I also wanted to verify if what I am doing is correct for paired end
>>>>> reads.
>>>>>
>>>>> Thanks,
>>>>>
>>>>> - Pankaj
>>>>>
>>>>>
>>>>> =======================================
>>>>> sessionInfo()
>>>>> R version 3.0.3 (2014-03-06)
>>>>> Platform: x86_64-unknown-linux-gnu (64-bit)
>>>>>
>>>>> locale:
>>>>> [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
>>>>> [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8
>>>>> [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8
>>>>> [7] LC_PAPER=en_US.UTF-8       LC_NAME=C
>>>>> [9] LC_ADDRESS=C               LC_TELEPHONE=C
>>>>> [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
>>>>>
>>>>> attached base packages:
>>>>> [1] stats     graphics  grDevices utils     datasets  methods   base
>>>>>
>>>>>        [[alternative HTML version deleted]]
>>>>>
>>>>> _______________________________________________
>>>>> Bioconductor mailing list
>>>>> Bioconductor at r-project.org
>>>>> https://stat.ethz.ch/mailman/listinfo/bioconductor
>>>>> Search the archives:
>>>>> http://news.gmane.org/gmane.science.biology.informatics.conductor
>>>>>
>>>>
>>>>
>>>
>>>
>>
>


-- 
Valerie Obenchain
Program in Computational Biology
Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N, Seattle, WA 98109

Email: vobencha at fhcrc.org
Phone: (206) 667-3158



More information about the Bioconductor mailing list