[Bioc-devel] problem with class definitions between S4Vectors and RNeXML in using Summarized Experiment
Hervé Pagès
hpages at fredhutch.org
Tue Apr 24 02:22:41 CEST 2018
Completely agree on the importance of disambiguating class references
in the long term.
However I still think that just because we have a mechanism to
disambiguate means we shouldn't make an effort to avoid name clashes,
especially when the name clash is easy to avoid, like in the case
discussed here. Annotated is not a good name anyway. Something like
Annotatable would be more appropriate. Objects of this class **can**
be annotated but many of them are not.
H.
On 04/14/2018 12:25 PM, Michael Lawrence wrote:
> Last night I checked in a workaround to S4Vectors. It just calls
> getClass("Annotated") instead of passing the class name directly.
>
> I'll check in a simple fix for is() today maybe to R 3.6 (devel) and
> then we'll be good for now.
>
> On Sat, Apr 14, 2018 at 8:59 AM, Martin Morgan
> <martin.morgan at roswellpark.org> wrote:
>> On 04/14/2018 07:21 AM, Vincent Carey wrote:
>>>
>>> But Annotated is defined in S4Vectors and RNeXML; the latter is not a
>>> Bioconductor package.
>>>
>>> The likelihood of collisions among class names defined in different
>>> packages seems pretty high
>>> as S4 adoption grows. So requiring a systematic approach to
>>> disambiguating
>>> class references seems inevitable.
>>
>>
>> I agree that renaming is not a robust solution, and would encourage Michael
>> to commit the change using the class definition in `is()` with more
>> elaborate solutions (really this is a problem with is(), where it should be
>> fixed, rather than introducing complicated syntax?) left for a later day.
>>
>> Martin
>>
>>>
>>>
>>> On Sat, Apr 14, 2018 at 4:05 AM, Hervé Pagès <hpages at fredhutch.org> wrote:
>>>
>>>> How about renaming Annotated? Isn't having 2 classes around with the
>>>> same name fundamentally a bad situation? No amount of workarounds will
>>>> change that.
>>>>
>>>> H.
>>>>
>>>>
>>>> On 04/12/2018 04:06 PM, Michael Lawrence wrote:
>>>>
>>>>> Yea, good idea, I was thinking of supporting :: in class names and
>>>>> parsing them out. In code is better. Maybe %::%? It wouldn't have to
>>>>> get a class object (for one thing, a class might not exist), because
>>>>> the methods package supports a 'package' attribute on the character
>>>>> vector, abstracted by packageSlot().
>>>>>
>>>>>
>>>>>
>>>>> On Thu, Apr 12, 2018 at 3:26 PM, Vincent Carey
>>>>> <stvjc at channing.harvard.edu> wrote:
>>>>>
>>>>>> If we need to disambiguate class references, perhaps an operator
>>>>>>
>>>>>> could help? Along the lines of base::"::" ...
>>>>>>
>>>>>>
>>>>>> "%c%" <- function(package,class) {
>>>>>>
>>>>>> pk = as.character(substitute(package))
>>>>>>
>>>>>> cl = as.character(substitute(class))
>>>>>>
>>>>>> getClass(cl, where=getNamespace(pk))
>>>>>>
>>>>>> }
>>>>>>
>>>>>>
>>>>>> Biobase %c% ExpressionSet # a classRepresentation instance
>>>>>>
>>>>>>
>>>>>> is(1:5, Biobase %c% ExpressionSet) # FALSE
>>>>>>
>>>>>>
>>>>>> is(Biobase::ExpressionSet(), "ExpressionSet") # TRUE
>>>>>>
>>>>>>
>>>>>> is(Biobase::ExpressionSet(), Biobase %c% ExpressionSet) # TRUE
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Thu, Apr 12, 2018 at 3:57 PM, Michael Lawrence
>>>>>> <lawrence.michael at gene.com> wrote:
>>>>>>
>>>>>>>
>>>>>>> Hi Davide,
>>>>>>>
>>>>>>> We can get this fixed soon, but I was hoping to hear e.g. Herve's
>>>>>>> opinion first if he has one.
>>>>>>>
>>>>>>> Michael
>>>>>>>
>>>>>>> On Thu, Apr 12, 2018 at 12:53 PM, Davide Risso
>>>>>>> <dar2062 at med.cornell.edu
>>>>>>>>
>>>>>>>>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hi Michael,
>>>>>>>>
>>>>>>>> Thanks for looking into this.
>>>>>>>>
>>>>>>>> Can you or someone with push permission to S4Vectors implement the
>>>>>>>> workaround that you mentioned?
>>>>>>>>
>>>>>>>> Happy to create a pull request on Github if that helps.
>>>>>>>>
>>>>>>>> We’re trying to solve this to fix the clusterExperiment package build
>>>>>>>> on
>>>>>>>> Bioc-devel.
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>> Davide
>>>>>>>>
>>>>>>>>
>>>>>>>> On Apr 12, 2018, at 1:27 PM, Michael Lawrence
>>>>>>>> <lawrence.michael at gene.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>> Yea it's basically
>>>>>>>>
>>>>>>>> library(S4Vectors)
>>>>>>>> library(RNeXML)
>>>>>>>> is(1:5, "Annotated")
>>>>>>>> # Found more than one class "Annotated" in cache; using the first,
>>>>>>>> from namespace 'S4Vectors'
>>>>>>>> # Also defined by ‘RNeXML’
>>>>>>>> # [1] FALSE
>>>>>>>>
>>>>>>>> But can be worked around:
>>>>>>>>
>>>>>>>> is(1:5, getClass("Annotated", where=getNamespace("S4Vectors"))
>>>>>>>>
>>>>>>>> # [1] FALSE
>>>>>>>>
>>>>>>>> Of course, using class objects instead of class names in every call
>>>>>>>> to
>>>>>>>> is() is not very palatable, but that's how it's done in all other
>>>>>>>> languages, as far as I know.
>>>>>>>>
>>>>>>>> There is an inconsistency between new() and is() when resolving the
>>>>>>>> class name. new() looks into the calling package's namespace, while
>>>>>>>> is() looks at the package for the class of the 'object'. The new()
>>>>>>>> approach seems sensible for that function, since packages should be
>>>>>>>> abstracting the construction of their objects with constructors. The
>>>>>>>> is() approach is broken though, because it's easy to imagine cases
>>>>>>>> like where some foreign object is passed to a function, and the
>>>>>>>> function checks the type with is().
>>>>>>>>
>>>>>>>> I can change is() to use the calling package as the fallback, so
>>>>>>>> DataFrame(1:5) no longer produces a message. But calling it from
>>>>>>>> another package, or global env, will still break, just like new().
>>>>>>>> How
>>>>>>>> does that sound?
>>>>>>>>
>>>>>>>> On the other hand, maybe we should be more careful with calls to is()
>>>>>>>> and use class objects. That's a good workaround in this case, anyway,
>>>>>>>> since I probably can't get the change into R before release.
>>>>>>>>
>>>>>>>> Michael
>>>>>>>>
>>>>>>>>
>>>>>>>> On Thu, Apr 12, 2018 at 9:03 AM, Aaron Lun <alun at wehi.edu.au> wrote:
>>>>>>>>
>>>>>>>> Well, it's not really SingleCellExperiment's problem, either.
>>>>>>>>
>>>>>>>> library(S4Vectors)
>>>>>>>> DataFrame(1:5) # Silent, okay.
>>>>>>>> library(RNeXML)
>>>>>>>> DataFrame(1:5) # Prints out the message
>>>>>>>> ## Found more than one class "Annotated" in cache; using the first,
>>>>>>>> from namespace 'S4Vectors'
>>>>>>>> ## Also defined by ‘RNeXML’
>>>>>>>>
>>>>>>>> Session information attached below.
>>>>>>>>
>>>>>>>> -Aaron
>>>>>>>>
>>>>>>>> sessionInfo()
>>>>>>>>
>>>>>>>> R Under development (unstable) (2018-03-26 r74466)
>>>>>>>> Platform: x86_64-pc-linux-gnu (64-bit)
>>>>>>>> Running under: Ubuntu 16.04.4 LTS
>>>>>>>>
>>>>>>>> Matrix products: default
>>>>>>>> BLAS: /home/cri.camres.org/lun01/Software/R/trunk/lib/libRblas.so
>>>>>>>> LAPACK: /home/cri.camres.org/lun01/Software/R/trunk/lib/libRlapack.so
>>>>>>>>
>>>>>>>> locale:
>>>>>>>> [1] LC_CTYPE=en_GB.UTF-8 LC_NUMERIC=C
>>>>>>>> [3] LC_TIME=en_GB.UTF-8 LC_COLLATE=en_GB.UTF-8
>>>>>>>> [5] LC_MONETARY=en_GB.UTF-8 LC_MESSAGES=en_GB.UTF-8
>>>>>>>> [7] LC_PAPER=en_GB.UTF-8 LC_NAME=C
>>>>>>>> [9] LC_ADDRESS=C LC_TELEPHONE=C
>>>>>>>> [11] LC_MEASUREMENT=en_GB.UTF-8 LC_IDENTIFICATION=C
>>>>>>>>
>>>>>>>> attached base packages:
>>>>>>>> [1] parallel stats4 stats graphics grDevices
>>>>>>>> utils datasets
>>>>>>>> [8] methods base
>>>>>>>>
>>>>>>>> other attached packages:
>>>>>>>> [1] RNeXML_2.0.8 ape_5.1 S4Vectors_0.17.41
>>>>>>>> [4] BiocGenerics_0.25.3
>>>>>>>>
>>>>>>>> loaded via a namespace (and not attached):
>>>>>>>> [1] Rcpp_0.12.16 compiler_3.6.0 pillar_1.2.1
>>>>>>>> [4] plyr_1.8.4 bindr_0.1.1 iterators_1.0.9
>>>>>>>> [7] tools_3.6.0 uuid_0.1-2 jsonlite_1.5
>>>>>>>> [10] tibble_1.4.2 nlme_3.1-137 lattice_0.20-35
>>>>>>>> [13] pkgconfig_2.0.1 rlang_0.2.0 foreach_1.4.4
>>>>>>>> [16] crul_0.5.2 curl_3.2 bindrcpp_0.2.2
>>>>>>>> [19] httr_1.3.1 stringr_1.3.0 dplyr_0.7.4
>>>>>>>> [22] xml2_1.2.0 grid_3.6.0 reshape_0.8.7
>>>>>>>> [25] glue_1.2.0 data.table_1.10.4-3 R6_2.2.2
>>>>>>>> [28] XML_3.98-1.10 purrr_0.2.4 reshape2_1.4.3
>>>>>>>> [31] tidyr_0.8.0 magrittr_1.5 codetools_0.2-15
>>>>>>>> [34] assertthat_0.2.0 bold_0.5.0 taxize_0.9.3
>>>>>>>> [37] stringi_1.1.7 lazyeval_0.2.1 zoo_1.8-1
>>>>>>>>
>>>>>>>>
>>>>>>>> On Thu, 2018-04-12 at 17:40 +0200, Elizabeth Purdom wrote:
>>>>>>>>
>>>>>>>> Just to follow up on my previous post. I am able to replicate the
>>>>>>>> problem in the problem like in the github post from 2 years ago (http
>>>>>>>> s://github.com/epurdom/clusterExperiment/issues/66
>>>>>>>>
>>>>>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__
>>>>>>>> github.com_epurdom_clusterExperiment_issues_66&d=DwIFaQ&c=lb
>>>>>>>> 62iw4YL4RFalcE2hQUQealT9-RXrryqt9KZX2qu2s&r=27RAi9XMaRMwPy47
>>>>>>>> RdOGbLATWZ3jxxsvAC3lBQmEVTo&m=FD3EbY8tWuTuwKQOAOgm-DLN6S1TI6
>>>>>>>> KmPXPitPvrUgI&s=PsCvulwKcgNnhI8OtnUfHYf8C9LuPyz9sGQmzKhL_rc&e=>)
>>>>>>>> only now it
>>>>>>>>
>>>>>>>> is not the SummarizedExperiment class but the SingleCellExperiment
>>>>>>>> class that has the problem. [And I was incorrect, the problem does
>>>>>>>> occur in development version 2018-03-22 r74446].
>>>>>>>>
>>>>>>>> So this is actually a problem with the SingleCellExperiment package —
>>>>>>>> sorry for the incorrect subject line.
>>>>>>>>
>>>>>>>> All of the best,
>>>>>>>> Elizabeth
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> library(SingleCellExperiment)
>>>>>>>> SingleCellExperiment()
>>>>>>>>
>>>>>>>> class: SingleCellExperiment
>>>>>>>> dim: 0 0
>>>>>>>> metadata(0):
>>>>>>>> assays(0):
>>>>>>>> rownames: NULL
>>>>>>>> rowData names(0):
>>>>>>>> colnames: NULL
>>>>>>>> colData names(0):
>>>>>>>> reducedDimNames(0):
>>>>>>>> spikeNames(0):
>>>>>>>>
>>>>>>>>
>>>>>>>> library(RNeXML)
>>>>>>>>
>>>>>>>> Loading required package: ape
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> SingleCellExperiment()
>>>>>>>>
>>>>>>>> Found more than one class "Annotated" in cache; using the first,
>>>>>>>> from namespace 'S4Vectors'
>>>>>>>> Also defined by ‘RNeXML’
>>>>>>>> Found more than one class "Annotated" in cache; using the first,
>>>>>>>> from namespace 'S4Vectors'
>>>>>>>> Also defined by ‘RNeXML’
>>>>>>>> class: SingleCellExperiment
>>>>>>>> dim: 0 0
>>>>>>>> metadata(0):
>>>>>>>> assays(0):
>>>>>>>> rownames: NULL
>>>>>>>> rowData names(0):
>>>>>>>> colnames: NULL
>>>>>>>> colData names(0):
>>>>>>>> reducedDimNames(0):
>>>>>>>> spikeNames(0):
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> sessionInfo()
>>>>>>>>
>>>>>>>> R Under development (unstable) (2018-03-22 r74446)
>>>>>>>> Platform: x86_64-apple-darwin15.6.0 (64-bit)
>>>>>>>> Running under: OS X El Capitan 10.11.6
>>>>>>>>
>>>>>>>> Matrix products: default
>>>>>>>> BLAS:
>>>>>>>> /System/Library/Frameworks/Accelerate.framework/Versions/A/Framewor
>>>>>>>> ks/vecLib.framework/Versions/A/libBLAS.dylib
>>>>>>>> LAPACK:
>>>>>>>> /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRlapa
>>>>>>>> ck.dylib
>>>>>>>>
>>>>>>>> locale:
>>>>>>>> [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
>>>>>>>>
>>>>>>>> attached base packages:
>>>>>>>> [1] parallel stats4 stats graphics grDevices
>>>>>>>> utils datasets methods base
>>>>>>>>
>>>>>>>> other attached packages:
>>>>>>>> [1]
>>>>>>>> RNeXML_2.0.8 ape_5.1 SingleCellE
>>>>>>>> xperiment_1.1.2
>>>>>>>> [4] SummarizedExperiment_1.9.16
>>>>>>>> DelayedArray_0.5.30 BiocParallel_1.13.3
>>>>>>>> [7]
>>>>>>>> matrixStats_0.53.1 Biobase_2.39.2 GenomicRang
>>>>>>>> es_1.31.23
>>>>>>>> [10]
>>>>>>>> GenomeInfoDb_1.15.5 IRanges_2.13.28 S4Vectors_0
>>>>>>>> .17.41
>>>>>>>> [13] BiocGenerics_0.25.3
>>>>>>>>
>>>>>>>> loaded via a namespace (and not attached):
>>>>>>>> [1]
>>>>>>>> Rcpp_0.12.16 pillar_1.2.1 bindr_0.1.1
>>>>>>>> compiler_3.5.0
>>>>>>>> [5]
>>>>>>>> plyr_1.8.4 XVector_0.19.9 iterators_1.0.9
>>>>>>>> bitops_1.0-6
>>>>>>>> [9] tools_3.5.0 zlibbioc_1.25.0 uuid_0.1-
>>>>>>>> 2 tibble_1.4.2
>>>>>>>> [13] jsonlite_1.5 nlme_3.1-137 lattice_0.20-
>>>>>>>> 35 pkgconfig_2.0.1
>>>>>>>> [17] rlang_0.2.0 Matrix_1.2-
>>>>>>>> 14 foreach_1.4.4 crul_0.5.2
>>>>>>>> [21]
>>>>>>>> curl_3.2 bindrcpp_0.2.2 GenomeInfoDbData_1.1.
>>>>>>>> 0 dplyr_0.7.4
>>>>>>>> [25]
>>>>>>>> httr_1.3.1 stringr_1.3.0 xml2_1.2.0
>>>>>>>> grid_3.5.0
>>>>>>>> [29]
>>>>>>>> glue_1.2.0 reshape_0.8.7 data.table_1.10.4-
>>>>>>>> 3 R6_2.2.2
>>>>>>>> [33] XML_3.98-
>>>>>>>> 1.10 purrr_0.2.4 tidyr_0.8.0 reshape
>>>>>>>> 2_1.4.3
>>>>>>>> [37] magrittr_1.5 codetools_0.2-
>>>>>>>> 15 assertthat_0.2.0 bold_0.5.0
>>>>>>>> [41]
>>>>>>>> taxize_0.9.3 stringi_1.1.7 lazyeval_0.2.1
>>>>>>>> RCurl_1.95-4.10
>>>>>>>> [45] zoo_1.8-1
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Apr 11, 2018, at 10:25 AM, Elizabeth Purdom <epurdom at stat.Berkel
>>>>>>>> ey.EDU> wrote:
>>>>>>>>
>>>>>>>> Hello,
>>>>>>>>
>>>>>>>> Our package clusterExperiment has suddenly started producing errors
>>>>>>>> in the bioconductor devel branch because our unit tests are
>>>>>>>> failing, even though we haven’t pushed any changes and they passed
>>>>>>>> previously. We first noticed this on April 5th.
>>>>>>>>
>>>>>>>> I believe the source of these errors likely do to calls to
>>>>>>>> SummarizedExperiment() creating the following messages due to
>>>>>>>> conflicts in ‘RNeXML’ and ’S4Vectors’ both defining class
>>>>>>>> ‘Annotated':
>>>>>>>>
>>>>>>>>
>>>>>>>> Found more than one class "Annotated" in cache; using the first,
>>>>>>>> from namespace 'S4Vectors'
>>>>>>>> Also defined by ‘RNeXML’
>>>>>>>>
>>>>>>>> This is killing a vast number of our tests where we repeatedly use
>>>>>>>> ‘expect_silent’ calls in our unit tests and SummarizedExperiment
>>>>>>>> calls underlie everything.
>>>>>>>>
>>>>>>>> We had this message issue two years ago
>>>>>>>>
>>>>>>>> (https://urldefense.proofpoint.com/v2/url?u=https-3A__
>>>>>>>> github.com_epurdom&d=DwIFaQ&c=lb62iw4YL4RFalcE2hQUQealT9-RXr
>>>>>>>> ryqt9KZX2qu2s&r=27RAi9XMaRMwPy47RdOGbLATWZ3jxxsvAC3lBQmEVTo&
>>>>>>>> m=FD3EbY8tWuTuwKQOAOgm-DLN6S1TI6KmPXPitPvrUgI&s=QasLVQB428Ql
>>>>>>>> 4woG4ckrA0ljZSLRUgylm3PdN1fOn00&e=
>>>>>>>> /clusterExperiment/issues/66
>>>>>>>>
>>>>>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__
>>>>>>>> github.com_epurdom_clusterExperiment_issues_66&d=DwIFaQ&c=lb
>>>>>>>> 62iw4YL4RFalcE2hQUQealT9-RXrryqt9KZX2qu2s&r=27RAi9XMaRMwPy47
>>>>>>>> RdOGbLATWZ3jxxsvAC3lBQmEVTo&m=FD3EbY8tWuTuwKQOAOgm-DLN6S1TI6
>>>>>>>> KmPXPitPvrUgI&s=PsCvulwKcgNnhI8OtnUfHYf8C9LuPyz9sGQmzKhL_rc&e=>),
>>>>>>>> when it
>>>>>>>> appeared to be a problem with two definitions of the ‘Annotated’
>>>>>>>> class in two packages that are both dependencies of packages we
>>>>>>>> call. At that time, Michael Lawrence posted that he would fix the
>>>>>>>> problem, and it was then fixed in later versions of bioconductor/R.
>>>>>>>> But it appears to be back. I am unfortunately unable to get the
>>>>>>>> RNeXML package to compile from source on my computer with the
>>>>>>>> current Mac OS X development binary which I just downloaded (2018-
>>>>>>>> 04-05 r74542), so I haven’t been able to completely redo the code
>>>>>>>> that we presented in that earlier github issue to confirm it is the
>>>>>>>> exact same problem. I am having to rely on the error reports/logs
>>>>>>>> from both Bioconductor and TravisCI (e.g. 2018-04-07 r74551), where
>>>>>>>> this message shows up everywhere and didn’t before. Thus I’m
>>>>>>>> guessing that since they are the same messages from before that the
>>>>>>>> source is again the call to SummarizedExperiment.
>>>>>>>>
>>>>>>>> I would note that in development version 2018-03-22 r74446, where I
>>>>>>>> was able to install all of the packages, I was not getting these
>>>>>>>> messages.
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>> Elizabeth Purdom
>>>>>>>>
>>>>>>>>
>>>>>>>> [[alternative HTML version deleted]]
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Bioc-devel at r-project.org mailing list
>>>>>>>>
>>>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__stat.et
>>>>>>>> hz.ch_mailman_listinfo_bioc-2Ddevel&d=DwIFaQ&c=lb62iw4YL4RFa
>>>>>>>> lcE2hQUQealT9-RXrryqt9KZX2qu2s&r=27RAi9XMaRMwPy47RdOGbLATWZ3
>>>>>>>> jxxsvAC3lBQmEVTo&m=FD3EbY8tWuTuwKQOAOgm-DLN6S1TI6KmPXPitPvrU
>>>>>>>> gI&s=sgZkMo8EM5lXrra1obmPLWz4H4hrqm1Y2HhQRwa8IaA&e=
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Bioc-devel at r-project.org mailing list
>>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__stat.et
>>>>>>> hz.ch_mailman_listinfo_bioc-2Ddevel&d=DwIFaQ&c=eRAMFD45gAfqt
>>>>>>> 84VtBcfhQ&r=BK7q3XeAvimeWdGbWY_wJYbW0WYiZvSXAJJKaaPhzWA&m=fo
>>>>>>> l6oIBKr5fVzLGchc4RvlrsYKehauLVF5_G-LWRaXM&s=UovEzK2nsWLv9tn6
>>>>>>> _XmxsASzSfuAFOLSHTrOousDJOY&e=
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>> _______________________________________________
>>>>> Bioc-devel at r-project.org mailing list
>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__stat.et
>>>>> hz.ch_mailman_listinfo_bioc-2Ddevel&d=DwIFaQ&c=eRAMFD45gAfqt
>>>>> 84VtBcfhQ&r=BK7q3XeAvimeWdGbWY_wJYbW0WYiZvSXAJJKaaPhzWA&m=fo
>>>>> l6oIBKr5fVzLGchc4RvlrsYKehauLVF5_G-LWRaXM&s=UovEzK2nsWLv9tn6
>>>>> _XmxsASzSfuAFOLSHTrOousDJOY&e=
>>>>>
>>>>>
>>>> --
>>>> Hervé Pagès
>>>>
>>>> Program in Computational Biology
>>>> Division of Public Health Sciences
>>>> Fred Hutchinson Cancer Research Center
>>>> 1100 Fairview Ave. N, M1-B514
>>>> P.O. Box 19024
>>>> Seattle, WA 98109-1024
>>>>
>>>> E-mail: hpages at fredhutch.org
>>>> Phone: (206) 667-5791
>>>> Fax: (206) 667-1319
>>>>
>>>
>>> [[alternative HTML version deleted]]
>>>
>>> _______________________________________________
>>> Bioc-devel at r-project.org mailing list
>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__stat.ethz.ch_mailman_listinfo_bioc-2Ddevel&d=DwIFaQ&c=eRAMFD45gAfqt84VtBcfhQ&r=BK7q3XeAvimeWdGbWY_wJYbW0WYiZvSXAJJKaaPhzWA&m=6NZv9e-7iy03CnIz_uda-aFHwDS1e9aajn28y37Mfbo&s=j7i16WHqwIM05iZyvBw5VY0ITZaqQhCv9z1g_L1L2x8&e=
>>>
>>
>>
>> This email message may contain legally privileged and/or confidential
>> information. If you are not the intended recipient(s), or the employee or
>> agent responsible for the delivery of this message to the intended
>> recipient(s), you are hereby notified that any disclosure, copying,
>> distribution, or use of this email message is prohibited. If you have
>> received this message in error, please notify the sender immediately by
>> e-mail and delete this email message from your computer. Thank you.
--
Hervé Pagès
Program in Computational Biology
Division of Public Health Sciences
Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N, M1-B514
P.O. Box 19024
Seattle, WA 98109-1024
E-mail: hpages at fredhutch.org
Phone: (206) 667-5791
Fax: (206) 667-1319
More information about the Bioc-devel
mailing list