[Phylobase-devl] New phylobase build approach using static libncl (Was: Rcpp and OS X compiliation)

Peter Cowan pdc at berkeley.edu
Wed Mar 3 22:50:30 CET 2010


On Mar 3, 2010, at 1:02 PM, Dirk Eddelbuettel wrote:

> 
> On 3 March 2010 at 15:37, François Michonneau wrote:
> | Hello,
> | 
> |   Thanks Mark for your spending the time to help to resolve this problem!
> 
> Seconded!
> 
> |   I checked a few things and it seemed to work fine, so I committed
> | Mark's code. The error message that Mark was referring to is caused by
> 
> After 'svn up' I get a rather clean 'R CMD check' with only a few warnings
> about edge() shadowing a function ape::edge(). 

Yes this is known, unfortunately APE added an edge function for plots in the latest version.  Soon, there won't actually be a dependency on APE, but perhaps there's also a NAMESPACE way for dealing with this...

> Looking good. If I can help with the C++ interfacing let me know.  If Brian
> and Derrick want some comments on the two interface functions I'd be glad to
> help.  Otherwise, if you folks want to keep it as is as it is working that is
> cool too.

Would you my expounding on this a bit?  I confess ignorance.  Are the interface functions you're referring to in Rcpp or phylobase?  I'm always eager to hear how things can be improved, though "working" does sound pretty great!

Peter

> 
> | trees output by MrBayes which most likely will contain several nodes
> | with the same posterior probability. In our current implementation we
> | don't allow trees to have identical node labels. It's however possible
> | to export these posterior probabilities as data using the option
> | check.node.labels="asdata". Over spring break, I will spend some time
> | on phylobase, and in particular I will write unit tests for readNexus
> | (and hopefully finish to deal with allowing non unique labels).
> 
> Nice.
> 
> Cheers, Dirk
> 
> 
> |   Cheers,
> |   -- François
> | 
> | 
> | 
> | On Tue, Mar 2, 2010 at 16:46, Mark Holder <mtholder at gmail.com> wrote:
> | > Hi again,
> | >
> | > Mark Holder and then Peter Cowan wrote:
> | >>>
> | >>> I should be able to fix that aspect of things tomorrow.  When I push
> | >>> those changes to NCL, I'll post to this list so that someone with write
> | >>> permissions to phylobase's svn repo can copy those changes into the
> | >>> phylobase.
> | >>
> | >> I'm happy to do this.
> | >
> | >
> | > At http://people.ku.edu/~mtholder/mth_diff_pkg.tar.gz you'll find a tar.gz
> | > archive.  If you unpack it, you'll see the contents of phylobase's pkg
> | > directory with the edits that I had to make to get things working. Several
> | > files were touched (the archive has all of the pkg if I run svn stat I see:
> | >
> | > M       pkg/src/NCLInterface.h
> | > M       pkg/src/ReadWithNCL.cpp
> | > M       pkg/src/nxspublicblocks.cpp
> | > M       pkg/src/nxscharactersblock.cpp
> | > M       pkg/src/ncl/nxsreader.h
> | > M       pkg/src/nxsreader.cpp
> | > M       pkg/src/NCLInterface.cpp
> | > M       pkg/inst/nexusfiles/treepluscharV01.nex
> | >
> | >
> | >
> | > Note that pkg/inst/nexusfiles/treepluscharV01.nex  is not a valid NEXUS file
> | > if you change line 74 from:
> | >
> | >        BEGIN CHARACTERS2;
> | > to
> | >
> | >        BEGIN CHARACTERS;
> | > then it should work.
> | >
> | > Also note that checkTree(object) in  checkdata.R is complaining about the
> | > data returned from pkg/inst/nexusfiles/co1.nex, but I don't know why.  It
> | > looks OK to me.  It is possible that I broke something, as I'm not too
> | > familiar with what was supposed to be returned by NCL (I tried to return the
> | > same syntax that was originally being returned).
> | >
> | >
> | >
> | >
> | >
> | >>>> Lastly, is there a way to control the output though Rcpp or otherwise, a
> | >>>> fair bit of what appears to be stderr gets printed in the R console, it'd be
> | >>>> nice to control this.
> | >>>
> | >>> The BASICCMDLINE implementation writes lots of status output to the
> | >>> standard error stream.  When I work with it tomorrow, I can make its
> | >>> chattiness controllable by an argument.
> | >>
> | >> That would be wonderful!
> | >
> | > I'm partially there. For the NCLInterface.cpp code used by phylobase I
> | > changed it so that it is quiet by default.  It is now be possible to send a
> | > numeric argument into BASICCMDLINE.Initialize();
> | >
> | > Currently (in ReadWithNCL.cpp) it says,
> | >        reader.Initialize(const_cast < char* > (filename.c_str()));
> | >
> | > If you change it to
> | >        reader.Initialize(const_cast < char* > (filename.c_str()), 0);
> | >
> | > you'll see more messages to stderr.  The numbers 0-7 generate less and less
> | > output.  8 or higher should be silent (which is the default).
> | >
> | >
> | > I did not add the hooks in ReadWithNCL.cpp to get a verbosity argument from
> | > R and pass that along to NCL.
> | >
> | >
> | >
> | >
> | >
> | >
> | >> If you have time, I'd like to have a more in depth conversation of what
> | >> NCL is capable and how it is organized.  Wrapping NCL is, in my opinion, one
> | >> of the key features of phylobase.  But, I also get the feeling that there is
> | >> more functionality we aren't taking advantage of.
> | >>
> | >> Perhaps a GSOC student project could come out of it.  Or at the very least
> | >> I can expand the developers guide section about NCL so we are better able to
> | >> maintain it in the future.
> | >
> | >
> | >
> | > The NCL docs are terribly out of date. Completely my fault. Paul Lewis is
> | > great about documenting his code, but I have not kept up with the
> | > documenting tasks.  I'm happy to chat.
> | >
> | > The main potential problems that I see with the ways that phylobase is using
> | > NCL now are:
> | >        1. in NCLInterface.cpp there are lots of call to
> | > RemoveUnderscoresAndSpaces to get rid of spaces and _ in names.  That makes
> | > names easier to deal with, but at some point will bite you (somebody will
> | > have dataset with a taxon labelled "AB" and another with "A B", after
> | > transformation there will be a name clash).
> | >
> | >        2. It was not clear to me how different character blocks should
> | > separated.  I just return the union of all character matrices.  It seems
> | > like, phylobase will need a richer interaction with NCL if phylobase wants
> | > to know about whether the data came in under different blocks.
> | >
> | >
> | >
> | > all the best,
> | > Mark
> | >
> | >
> | >
> | >
> | >
> | > Mark Holder
> | >
> | > mtholder at ku.edu
> | > http://phylo.bio.ku.edu/mark-holder
> | >
> | > ==============================================
> | > Department of Ecology and Evolutionary Biology
> | > University of Kansas
> | > 6031 Haworth Hall
> | > 1200 Sunnyside Avenue
> | > Lawrence, Kansas 66045
> | >
> | > lab phone:  785.864.5789
> | >
> | > fax (shared): 785.864.5860
> | > ==============================================
> | >
> | >
> | >
> | >
> | >
> | >
> | >
> | >
> | >
> 
> -- 
>  Registration is open for the 2nd International conference R / Finance 2010
>  See http://www.RinFinance.com for details, and see you in Chicago in April!



More information about the Phylobase-devl mailing list