Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feedback #2

Closed
sckott opened this issue Dec 10, 2016 · 11 comments
Closed

feedback #2

sckott opened this issue Dec 10, 2016 · 11 comments

Comments

@sckott
Copy link
Contributor

sckott commented Dec 10, 2016

@cboettig @fmichonneau @Pakillo @wcornwell (and let anyone else know that uses phylocom a lot)

curious to get feedback on this - if you use Phylocom that is, if not, nevermind :)

Jeroen was good enough to wrap Phylocom in R for us, - that is, it ships with the package, so works across operating systems. - no need to require users to install it separately. unfortunately, it's not ideal situation since we don't link to it via Rcpp like a proper C library, we just call the executables, but its best we can do, and better than shelling out separately.

I've been working on higher level interfaces to each of the things one can do with Phylocom. Look at the readme https://github.com/ropensci/phylocomr#phylocomr for some examples. Not all higher level things are done yet

Thoughts? Feedback?

one usecase I need it for right now is in the brranching package to call phylomatic locally for when users have massive species lists https://github.com/ropensci/brranching/blob/master/R/phylomatic_local.R

@wcornwell
Copy link

hi @sckott, be good to check with @skembel on this. I think most of the functionality got ported to https://github.com/skembel/picante , and there are some newer methods for some of the stuff in phylocom , but I don't have a complete overview.

@sckott
Copy link
Contributor Author

sckott commented Dec 12, 2016

Thanks @wcornwell - Im not up on how much of phylocom functionaluty is in picante. And I assume picante is pure R? So possibly speed improvement wrapping the C library?

And I don't think phylomatic or bladj are in picante

@wcornwell
Copy link

also good to check with @camwebb :) Hi Cam!

@skembel
Copy link

skembel commented Dec 12, 2016

Some but not all of the functionality in phylocom was ported to the picante package in R.

  • phylomatic and bladj are not in picante, so you'll need to continue to call out to phylocom to use those functions
  • trait evolution (phylocom::aot) and community phylogenetic structure (phylocom::comstruct) are in picante (e.g. picante::ses.mpd). The null models in picante are implemented in C so they are fast, there is really not much advantage to using phylocom for these types of analyses (e.g. calculate alpha NRI/NTI)
  • beta phylogenetic diversity (comdist/comdistnt of phylocom) are in picante (picante::comdist, picante::comdistnt) but the code is pure R so it's very slow compared to phylocom
  • there are existing functions in picante for round-tripping data to phylocom and back (picante::sample2matrix, picante::matrix2sample). Unfortunately due to the way we wrote phylocom it would be a lot of work to do direct interfacing with phylocom using RCpp

@camwebb
Copy link

camwebb commented Dec 12, 2016

Thanks for phylocomr! I think Steve answered everything, but let me know if I can help. phylocom and phylomatic are both due for major updates. Maybe you can tell me something that might push this up the TODO list! :-)

@sckott
Copy link
Contributor Author

sckott commented Dec 13, 2016

@skembel thanks!

I'll make notes in the docs letting users know where using picante is better/easier

@sckott
Copy link
Contributor Author

sckott commented Dec 13, 2016

@camwebb thanks for phylocom!

phylocom and phylomatic are both due for major updates.

Any features/behavior you know about already? Is the API to phylocom going to change at all, or only internals and/or parameters/flags?

Do you have a target date for release yet?

Maybe you can tell me something that might push this up the TODO list!

What kinds of things are you looking for?

@camwebb
Copy link

camwebb commented Dec 13, 2016

Main thing to fix on phylocom is the tree output, which gags on large trees. I finally worked out what was happening. I was using a recursive function to attach parenthetical 'branches' from the root out, but with large trees this maxxed out the stack depth (not a memory issue per se). Need to go back to a single stream of character concatenation (as it was in the earlier versions).

Not sure what you mean by the API. The CLI flags, arguments won't change though there might be some new flags.

No release date yet. Just starting to think about this!

Thx

@sckott
Copy link
Contributor Author

sckott commented Dec 13, 2016

Not sure what you mean by the API.

The user facing methods (e.g., aot, ecovolve, etc.). I ask because in an ideal world we wouldn't want to release this to CRAN and then a lot changes in the next version of phylocom, which means changing the user facing methods in this package.

@camwebb
Copy link

camwebb commented Dec 14, 2016

I will commit to leaving all CLI interactions (and executable names) unchanged. See: phylocom/phylocom#22

@sckott
Copy link
Contributor Author

sckott commented Dec 14, 2016

thanks @camwebb

@sckott sckott modified the milestone: v0.1 Dec 20, 2016
@sckott sckott modified the milestone: v0.1 Feb 2, 2017
@sckott sckott closed this as completed Jul 26, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants