[Bioc-devel] package RBGL requires CRAN dependency on devel branch
Kasper Daniel Hansen
k@@perd@n|e|h@n@en @end|ng |rom gm@||@com
Mon Mar 25 17:00:37 CET 2019
I am out of date on this, but when I looked into it last time (years ago)
BH only included headers and it used to be that the graph part of boost
went beyond headers only. If it's headers-only perhaps the danger is
reduced.
On Mon, Mar 25, 2019 at 11:39 AM Vincent Carey <stvjc using channing.harvard.edu>
wrote:
>
>
> On Mon, Mar 25, 2019 at 10:57 AM Kasper Daniel Hansen <
> kasperdanielhansen using gmail.com> wrote:
>
>> There are no issues with depending on CRAN packages.
>>
>> But I would advise caution. On one hand it is great that boost gets
>> updated regularly. On the other hand, it could lead to incompatibilities
>> with RBGL and then you have to update that package rapidly. Also - and this
>> is something we could consider addressing - the CRAN imports of Bioc are
>> not locked down. By which I mean, you release RBGL in Bioconductor X. After
>> release (or perhaps even after next Bioc release) BH is updated in a
>> non-backwards compatible way and now the old code is hosed. Having said
>> that, so far we have been ignoring it (I think) and the same issue arises
>> with Rcpp.
>>
>> Do you have any idea how often Boost breaks compatibility? I would
>> strongly advise to download the last couple of BH releases and test with
>> RBGL. While kind of irrelevant in some sense, it will give you an idea of
>> how fast Boost / BH evolves.
>>
>
> These are good points. In this particular case I believe that Boost Graph
> Library evolves very slowly and
> backwards compatibility is not endangered. It is an early component of
> Boost. On the other hand, BH has
> no obligation to provide the graph (BGL) headers, and I believe that in
> early incarnations of BH, some headers
> needed for RBGL were not there. So there are maintenance vulnerabilities
> to this approach, but I think it is better
> if we stick with the maintained BH as long as this works. Should this
> approach fail (and your scenario of
> CRAN package changes breaking bioc must be kept in mind) we can go back to
> tarball distribution if necessary.
>
>
>>
>> On Mon, Mar 25, 2019 at 8:03 AM Martin Morgan <mtmorgan.bioc using gmail.com>
>> wrote:
>>
>>> ...also Bioconductor knows all about CRAN -- see the repositories
>>> returned by
>>>
>>> > BiocManager::repositories()
>>> BioCsoft
>>> "https://bioconductor.org/packages/3.9/bioc"
>>> BioCann
>>> "https://bioconductor.org/packages/3.9/data/annotation"
>>> BioCexp
>>> "https://bioconductor.org/packages/3.9/data/experiment"
>>> BioCworkflows
>>> "https://bioconductor.org/packages/3.9/workflows"
>>> CRAN
>>> "https://cran.rstudio.com"
>>> >
>>>
>>> On 3/25/19, 7:42 AM, "Martin Morgan" <mtmorgan.bioc using gmail.com> wrote:
>>>
>>> I think the usual incantation in configure files is ${R_HOME}/bin/R
>>> ... R_HOME is the path to R set by the command that starts to build or
>>> install the package, whereas Rscript is found on the search path.
>>>
>>> Martin
>>>
>>> On 3/25/19, 7:33 AM, "Bioc-devel on behalf of Vincent Carey" <
>>> bioc-devel-bounces using r-project.org on behalf of stvjc using channing.harvard.edu>
>>> wrote:
>>>
>>> The error on linux for 3.9:
>>>
>>>
>>> ##############################################################################
>>>
>>> ##############################################################################
>>> ###
>>> ### Running command:
>>> ###
>>> ### /home/biocbuild/bbs-3.9-bioc/R/bin/R CMD INSTALL RBGL
>>> ###
>>>
>>> ##############################################################################
>>>
>>> ##############################################################################
>>>
>>>
>>> * installing to library ‘/home/biocbuild/bbs-3.9-bioc/R/library’
>>> * installing *source* package ‘RBGL’ ...
>>> ** using staged installation
>>> checking R package BH ... no
>>> configure: error: R package BH not found.
>>> ERROR: configuration failed for package ‘RBGL’
>>> * removing ‘/home/biocbuild/bbs-3.9-bioc/R/library/RBGL’
>>> * restoring previous
>>> ‘/home/biocbuild/bbs-3.9-bioc/R/library/RBGL’
>>>
>>> Note that BiocParallel also uses BH and succeeds
>>>
>>> configure: creating ./config.status
>>> config.status: creating src/Makevars
>>> ** libs
>>> g++ -std=gnu++11 -I"/home/biocbuild/bbs-3.9-bioc/R/include"
>>> -DNDEBUG
>>> -I"/home/biocbuild/bbs-3.9-bioc/R/library/BH/include"
>>> -I/usr/local/include -fpic -g -O2 -Wall -c ipcmutex.cpp -o
>>> ipcmutex.o
>>> In file included from
>>>
>>> /home/biocbuild/bbs-3.9-bioc/R/library/BH/include/boost/random/detail/integer_log2.hpp:19:0,
>>> from
>>>
>>> /home/biocbuild/bbs-3.9-bioc/R/library/BH/include/boost/random/detail/large_arithmetic.hpp:19,
>>> from
>>>
>>> /home/biocbuild/bbs-3.9-bioc/R/library/BH/include/boost/random/detail/const_mod.hpp:23,
>>> from
>>>
>>> /home/biocbuild/bbs-3.9-bioc/R/library/BH/include/boost/random/detail/seed_impl.hpp:26,
>>> from
>>>
>>> /home/biocbuild/bbs-3.9-bioc/R/library/BH/include/boost/random/mersenne_twister.hpp:30,
>>> from
>>>
>>> /home/biocbuild/bbs-3.9-bioc/R/library/BH/include/boost/uuid/random_generator.hpp:17,
>>>
>>> So could it be an issue with the configure script?
>>>
>>>
>>> On Mon, Mar 25, 2019 at 7:22 AM Samuela Pollack <
>>> spollack using jimmy.harvard.edu>
>>> wrote:
>>>
>>> > Dear Bioconductor,
>>> >
>>> > The devel version of package RBGL is flunking build.
>>> >
>>> > This package has been modified to include header files in the
>>> CRAN
>>> > package 'BH' instead of using a local tarball of the header
>>> files. We
>>> > consider this an improvement because the 'BH' maintainers
>>> update their
>>> > package every time a new version of boost is released, but
>>> rebuilding
>>> > the included tarball is unreliable.
>>> >
>>> > Is it possible to request inclusion of a CRAN package
>>> dependency in a
>>> > Bioconductor package? If not, how would Bioconductor recommend
>>> we handle
>>> > this?
>>> >
>>> > (Full disclosure: the BH package has all the header files for
>>> all of
>>> > boost. This is a lot more disk space then we need, because we
>>> only need
>>> > the BGL.)
>>> >
>>> > thanks,
>>> >
>>> > - Sam
>>> >
>>> >
>>> >
>>> > On 3/22/19 7:28 AM, Morgan, Martin wrote:
>>> > > External Email - Use Caution
>>> > >
>>> > > Thanks for the explanation and exemplary detective work.
>>> Will you push
>>> > these changes to the release and devel branches of RBGL? I've
>>> given you
>>> > permissions... Martin
>>> > >
>>> > > On 3/22/19, 5:15 AM, "Samuela Pollack" <
>>> spollack using jimmy.harvard.edu>
>>> > wrote:
>>> > >
>>> > > We have a temporary fix which we believe will alleviate
>>> the
>>> > difficulty.
>>> > >
>>> > > The only routine in RBGL that does not compile under
>>> the LLVM-9.0
>>> > system
>>> > > is the routine that implements betweenness connectivity
>>> clustering.
>>> > This
>>> > > seems to be a rarely-used routine, so we have
>>> temporarily removed it
>>> > > from RBGL and put in a message explaining how users may
>>> replace it
>>> > easily.
>>> > >
>>> > > I have contacted Professor Jeremy Siek at in
>>> Bloomington to discuss
>>> > how
>>> > > best to proceed. It is possible this will have to be
>>> fixed in BGL,
>>> > > probably not in time for boost 1.70.
>>> > >
>>> > > For clarity: the incompatibility is not in clang. The
>>> > incompatibility is
>>> > > in the llvm c++ standard library. Mac users who build
>>> with clang
>>> > will be
>>> > > fine, as long as they don't link in the llvm C++
>>> stdlib, which most
>>> > > wouldn't think to do and Apple does not encourage.
>>> > >
>>> > > We hope this will be sufficient for now.
>>> > >
>>> > > - Sam
>>> > >
>>> > >
>>> > > On 3/22/19 4:18 AM, Morgan, Martin wrote:
>>> > > > External Email - Use Caution
>>> > > >
>>> > > > What's the status for RBGL?
>>> > > >
>>> > > > Thanks, Martin
>>> > > >
>>> > > > On 3/22/19, 3:57 AM, "Prof Brian Ripley" <
>>> ripley using stats.ox.ac.uk>
>>> > wrote:
>>> > > >
>>> > > > clang 8.0.0 is now released, and these fail
>>> there too (and
>>> > break about
>>> > > > 50 CRAN packages which depend on them).
>>> > > >
>>> > > > Reminder: this is with clang's native libc++, as
>>> documented
>>> > at
>>> > > >
>>> >
>>> https://www.stats.ox.ac.uk/pub/bdr/Rconfig/r-devel-linux-x86_64-fedora-clang
>>> > > >
>>> > > > We really need fixes in both 3.8 and 3.9.
>>> > > >
>>> > > > BDR
>>> > > >
>>> > > > On 28/02/2019 18:52, Prof Brian Ripley wrote:
>>> > > > > These packages fail to install with clang
>>> 8.0.0rc3, which
>>> > is supposed to
>>> > > > > be near-final (it is overdue for release).
>>> (AFAIR they
>>> > did install with
>>> > > > > rc1.) In both cases the problems are with
>>> Boost.
>>> > > > >
>>> > > > > RBGL 1.95.1
>>> > > > >
>>> > > > > In file included from bbc.cpp:1:
>>> > > > > In file included from ./RBGL.hpp:7:
>>> > > > > In file included from
>>> > /usr/local/clang8/bin/../include/c++/v1/iostream:38:
>>> > > > > In file included from
>>> > /usr/local/clang8/bin/../include/c++/v1/ios:216:
>>> > > > > In file included from
>>> > /usr/local/clang8/bin/../include/c++/v1/__locale:15:
>>> > > > > In file included from
>>> > /usr/local/clang8/bin/../include/c++/v1/string:505:
>>> > > > > In file included from
>>> > > > >
>>> /usr/local/clang8/bin/../include/c++/v1/string_view:176:
>>> > > > > In file included from
>>> > /usr/local/clang8/bin/../include/c++/v1/__string:57:
>>> > > > >
>>> /usr/local/clang8/bin/../include/c++/v1/algorithm:2494:5:
>>> > error:
>>> > > > > static_assert
>>> > > > > failed due to requirement
>>> > > > >
>>> > > > >
>>> >
>>> '__is_forward_iterator<boost::detail::undirected_edge_iter<std::__1::__list_iterator<boost::list_edge<unsigned
>>> > > > >
>>> > > > > long,
>>> boost::property<boost::edge_weight_t, double,
>>> > > > >
>>> boost::property<boost::edge_centrality_t, double,
>>> > > > > boost::no_property> > >,
>>> > > > > void *>,
>>> > boost::detail::edge_desc_impl<boost::undirected_tag,
>>> > > > > unsigned
>>> > > > > long>, long> >::value'
>>> "std::max_element requires a
>>> > ForwardIterator"
>>> > > > >
>>> > static_assert(__is_forward_iterator<_ForwardIterator>::value,
>>> > > > > ^
>>> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>> > > > >
>>> >
>>> rbgl_trimmed_boost_1_61_0/boost/graph/bc_clustering.hpp:132:26: note: in
>>> > > > > instantiation of function template
>>> specialization
>>> > > > >
>>> > > > >
>>> >
>>> 'std::__1::max_element<boost::detail::undirected_edge_iter<std::__1::__list_iterator<boost::list_edge<unsigned
>>> > > > >
>>> > > > > long,
>>> boost::property<boost::edge_weight_t, double,
>>> > > > >
>>> boost::property<boost::edge_centrality_t, double,
>>> > > > > boost::no_property> > >,
>>> > > > > void *>,
>>> > boost::detail::edge_desc_impl<boost::undirected_tag,
>>> > > > > unsigned
>>> > > > > long>, long>,
>>> > > > >
>>> > > > >
>>> >
>>> boost::indirect_cmp<boost::adj_list_edge_property_map<boost::undirected_tag,
>>> > > > >
>>> > > > > double, double &, unsigned long,
>>> > > > > boost::property<boost::edge_weight_t,
>>> > > > > double,
>>> boost::property<boost::edge_centrality_t,
>>> > double,
>>> > > > > boost::no_property> >,
>>> boost::edge_centrality_t>,
>>> > > > > std::__1::less<double> >
>>> > > > > >' requested here
>>> > > > > edge_descriptor e =
>>> *max_element(edges_iters.first,
>>> > > > > edges_iters.seco...
>>> > > > >
>>> > rbgl_trimmed_boost_1_61_0/boost/graph/bc_clustering.hpp:146:3:
>>> note: in
>>> > > > > instantiation of function template
>>> specialization
>>> > > > >
>>> > > > >
>>> >
>>> 'boost::betweenness_centrality_clustering<boost::adjacency_list<boost::vecS,
>>> > > > >
>>> > > > > boost::vecS, boost::undirectedS,
>>> > > > > boost::property<boost::vertex_index_t,
>>> > > > > int,
>>> boost::property<boost::vertex_centrality_t,
>>> > double,
>>> > > > > boost::no_property> >,
>>> > boost::property<boost::edge_weight_t, double,
>>> > > > >
>>> boost::property<boost::edge_centrality_t, double,
>>> > > > > boost::no_property> >,
>>> > > > > boost::no_property, boost::listS>,
>>> > clustering_threshold,
>>> > > > >
>>> > boost::adj_list_edge_property_map<boost::undirected_tag,
>>> double,
>>> > > > > double &,
>>> > > > > unsigned long,
>>> > boost::property<boost::edge_weight_t, double,
>>> > > > >
>>> boost::property<boost::edge_centrality_t, double,
>>> > > > > boost::no_property> >,
>>> > > > > boost::edge_centrality_t>,
>>> > > > >
>>> > > > >
>>> >
>>> boost::vec_adj_list_vertex_id_map<boost::property<boost::vertex_index_t,
>>> > > > > int,
>>> boost::property<boost::vertex_centrality_t,
>>> > double,
>>> > > > > boost::no_property> >, unsigned long>
>>> >' requested
>>> > here
>>> > > > > betweenness_centrality_clustering(g, done,
>>> > edge_centrality,
>>> > > > > ^
>>> > > > > bbc.cpp:122:3: note: in instantiation of
>>> function template
>>> > specialization
>>> > > > >
>>> > > > >
>>> >
>>> 'boost::betweenness_centrality_clustering<boost::adjacency_list<boost::vecS,
>>> > > > >
>>> > > > > boost::vecS, boost::undirectedS,
>>> > > > > boost::property<boost::vertex_index_t,
>>> > > > > int,
>>> boost::property<boost::vertex_centrality_t,
>>> > double,
>>> > > > > boost::no_property> >,
>>> > boost::property<boost::edge_weight_t, double,
>>> > > > >
>>> boost::property<boost::edge_centrality_t, double,
>>> > > > > boost::no_property> >,
>>> > > > > boost::no_property, boost::listS>,
>>> > clustering_threshold,
>>> > > > >
>>> > boost::adj_list_edge_property_map<boost::undirected_tag,
>>> double,
>>> > > > > double &,
>>> > > > > unsigned long,
>>> > boost::property<boost::edge_weight_t, double,
>>> > > > >
>>> boost::property<boost::edge_centrality_t, double,
>>> > > > > boost::no_property> >,
>>> > > > > boost::edge_centrality_t> >' requested
>>> here
>>> > > > >
>>> betweenness_centrality_clustering(g,
>>> > > > > ^
>>> > > > >
>>> > > > > mzR 2.17.1
>>> > > > >
>>> > > > > In file included from
>>> > pwiz/data/identdata/Serializer_pepXML.cpp:25:
>>> > > > > In file included from
>>> > pwiz/data/identdata/Serializer_pepXML.hpp:27:
>>> > > > > In file included from
>>> pwiz/data/identdata/IdentData.hpp:29:
>>> > > > > In file included from
>>> ./pwiz/utility/misc/Exception.hpp:29:
>>> > > > > In file included from
>>> > /usr/local/clang8/bin/../include/c++/v1/string:505:
>>> > > > > In file included from
>>> > > > >
>>> /usr/local/clang8/bin/../include/c++/v1/string_view:176:
>>> > > > > In file included from
>>> > /usr/local/clang8/bin/../include/c++/v1/__string:57:
>>> > > > >
>>> /usr/local/clang8/bin/../include/c++/v1/algorithm:2428:5:
>>> > error:
>>> > > > > static_assert
>>> > > > > failed due to requirement
>>> > > > >
>>> > > > >
>>> >
>>> '__is_forward_iterator<boost::iterators::transform_iterator<pwiz::identdata::(anonymous
>>> > > > >
>>> > > > > namespace)::EnzymePtr_specificity,
>>> > std::__1::__wrap_iter<const
>>> > > > >
>>> boost::shared_ptr<pwiz::identdata::Enzyme> *>,
>>> > > > > boost::iterators::use_default,
>>> > boost::iterators::use_default>
>>> > > > > >::value'
>>> > > > > "std::min_element requires a
>>> ForwardIterator"
>>> > > > >
>>> > static_assert(__is_forward_iterator<_ForwardIterator>::value,
>>> > > > > ^
>>> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>> > > > >
>>> /usr/local/clang8/bin/../include/c++/v1/algorithm:2445:19:
>>> > note: in
>>> > > > > instantiation of function template
>>> specialization
>>> > > > >
>>> > > > >
>>> >
>>> 'std::__1::min_element<boost::iterators::transform_iterator<pwiz::identdata::(anonymous
>>> > > > >
>>> > > > > namespace)::EnzymePtr_specificity,
>>> > std::__1::__wrap_iter<const
>>> > > > >
>>> boost::shared_ptr<pwiz::identdata::Enzyme> *>,
>>> > > > > boost::iterators::use_default,
>>> > boost::iterators::use_default>,
>>> > > > > std::__1::__less<int, int> >' requested
>>> here
>>> > > > > return _VSTD::min_element(__first, __last,
>>> > > > > ^
>>> > > > >
>>> ./boost/boost/range/algorithm/min_element.hpp:44:17: note:
>>> > in
>>> > > > > instantiation of
>>> > > > > function template specialization
>>> > > > >
>>> > > > >
>>> >
>>> 'std::__1::min_element<boost::iterators::transform_iterator<pwiz::identdata::(anonymous
>>> > > > >
>>> > > > > namespace)::EnzymePtr_specificity,
>>> > std::__1::__wrap_iter<const
>>> > > > >
>>> boost::shared_ptr<pwiz::identdata::Enzyme> *>,
>>> > > > > boost::iterators::use_default,
>>> > boost::iterators::use_default> >'
>>> > > > > requested
>>> > > > > here
>>> > > > > return std::min_element(boost::begin(rng),
>>> > boost::end(rng));
>>> > > > >
>>> > > > >
>>> > > > >
>>> > > > >
>>> pwiz/data/identdata/Serializer_pepXML.cpp:418:41: note: in
>>> > instantiation of
>>> > > > > function template specialization
>>> > > > >
>>> > > > >
>>> >
>>> 'boost::range::min_element<boost::range_detail::transformed_range<pwiz::identdata::(anonymous
>>> > > > >
>>> > > > > namespace)::EnzymePtr_specificity, const
>>> > > > >
>>> > std::__1::vector<boost::shared_ptr<pwiz::identdata::Enzyme>,
>>> > > > >
>>> > std::__1::allocator<boost::shared_ptr<pwiz::identdata::Enzyme>
>>> >
>>> > > > > > > >'
>>> > > > > requested here
>>> > > > > int minSpecificity =
>>> > *boost::range::min_element(sip.enzymes.enzymes
>>> > > > > ...
>>> > > > > ^
>>> > > > > In file included from
>>> > pwiz/data/identdata/Serializer_pepXML.cpp:25:
>>> > > > > In file included from
>>> > pwiz/data/identdata/Serializer_pepXML.hpp:27:
>>> > > > > In file included from
>>> pwiz/data/identdata/IdentData.hpp:29:
>>> > > > > In file included from
>>> ./pwiz/utility/misc/Exception.hpp:29:
>>> > > > > In file included from
>>> > /usr/local/clang8/bin/../include/c++/v1/string:505:
>>> > > > > In file included from
>>> > > > >
>>> /usr/local/clang8/bin/../include/c++/v1/string_view:176:
>>> > > > > In file included from
>>> > /usr/local/clang8/bin/../include/c++/v1/__string:57:
>>> > > > >
>>> /usr/local/clang8/bin/../include/c++/v1/algorithm:2494:5:
>>> > error:
>>> > > > > static_assert
>>> > > > > failed due to requirement
>>> > > > >
>>> > > > >
>>> >
>>> '__is_forward_iterator<boost::iterators::transform_iterator<pwiz::identdata::(anonymous
>>> > > > >
>>> > > > > namespace)::EnzymePtr_missedCleavages,
>>> > std::__1::__wrap_iter<const
>>> > > > >
>>> boost::shared_ptr<pwiz::identdata::Enzyme> *>,
>>> > > > > boost::iterators::use_default,
>>> > boost::iterators::use_default>
>>> > > > > >::value'
>>> > > > > "std::max_element requires a
>>> ForwardIterator"
>>> > > > >
>>> > static_assert(__is_forward_iterator<_ForwardIterator>::value,
>>> > > > > ^
>>> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>> > > > >
>>> /usr/local/clang8/bin/../include/c++/v1/algorithm:2512:19:
>>> > note: in
>>> > > > > instantiation of function template
>>> specialization
>>> > > > >
>>> > > > >
>>> >
>>> 'std::__1::max_element<boost::iterators::transform_iterator<pwiz::identdata::(anonymous
>>> > > > >
>>> > > > > namespace)::EnzymePtr_missedCleavages,
>>> > std::__1::__wrap_iter<const
>>> > > > >
>>> boost::shared_ptr<pwiz::identdata::Enzyme> *>,
>>> > > > > boost::iterators::use_default,
>>> > boost::iterators::use_default>,
>>> > > > > std::__1::__less<int, int> >' requested
>>> here
>>> > > > > return _VSTD::max_element(__first, __last,
>>> > > > > ^
>>> > > > >
>>> ./boost/boost/range/algorithm/max_element.hpp:44:17: note:
>>> > in
>>> > > > > instantiation of
>>> > > > > function template specialization
>>> > > > >
>>> > > > >
>>> >
>>> 'std::__1::max_element<boost::iterators::transform_iterator<pwiz::identdata::(anonymous
>>> > > > >
>>> > > > > namespace)::EnzymePtr_missedCleavages,
>>> > std::__1::__wrap_iter<const
>>> > > > >
>>> boost::shared_ptr<pwiz::identdata::Enzyme> *>,
>>> > > > > boost::iterators::use_default,
>>> > boost::iterators::use_default> >'
>>> > > > > requested
>>> > > > > here
>>> > > > > return std::max_element(boost::begin(rng),
>>> > boost::end(rng));
>>> > > > > ...
>>> > > > >
>>> > > >
>>> > > >
>>> > > > --
>>> > > > Brian D. Ripley,
>>> ripley using stats.ox.ac.uk
>>> > > > Emeritus Professor of Applied Statistics,
>>> University of
>>> > Oxford
>>> > > >
>>> > > >
>>> > > >
>>> > > >
>>> > > > 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.
>>> > >
>>> > >
>>> > >
>>> > >
>>> > > 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.
>>> >
>>>
>>> --
>>> The information in this e-mail is intended only for the
>>> ...{{dropped:18}}
>>>
>>> _______________________________________________
>>> Bioc-devel using r-project.org mailing list
>>> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>>>
>>>
>>> _______________________________________________
>>> Bioc-devel using r-project.org mailing list
>>> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>>>
>>
> The information in this e-mail is intended only for th...{{dropped:16}}
More information about the Bioc-devel
mailing list