I've spent a little more time working on Rphylip. Here are a few updates since my last post: I have now added the functions Rdnapars (for dnapars), Rneighbor (for neighbor). I have also cleaned up the code in various ways by pulling out (for instance) repeated functions like writing a PHYLIP formatted DNA input file, etc.
Perhaps the most interesting addition (in my opinion) - at least for Windows users who work in R - is the addition of an internal function findPath. (See code here.) This function means that users of Rphylip may no longer be required to specify the path to the directory containing the PHYLIP executable files. Instead, if no path is supplied, R will check various places on the computer where it is likely to be found (for instance the current working directory, C:\Program Files\", etc.). To my surprise, this option works surprisingly well - and also does not bomb R if the directory containing PHYLIP cannot be found (instead returning a sensible error message).
For instance, witness the following example in which PHYLIP is hidden:
Loading required package: Rphylip
Loading required package: ape
> data(primates)
> tree<-Rdnapars(primates)
Error in Rdnapars(primates) :
No path provided and was not able to find path to dnapars
OK, now let's put the PHYLIP folder back someplace sensible, in this case in C:/Program Files:
...
DNA parsimony algorithm, version 3.695
One most parsimonious tree found:
+----12
+--10
+----9 +------11
| |
+----8 +-----10
| |
+----7 +--------9
| |
+-----6 +----------8
| |
| | +------7
| +-------5
| | +-----6
+---------2 +----4
| | | +---5
| | +--3
| | +-4
| |
| +------------3
|
1---------------2
|
+-------------1
requires a total of 593.000
...
Translation table
-----------------
1 Lemur
2 Tarsier
3 Sq.Monkey
4 J.Macaque
5 R.Macaque
6 E.Macaque
7 B.Macaque
8 Gibbon
9 Orangutan
10 Gorilla
11 Chimp
12 Human
> plot(tree,edge.width=2,no.margin=TRUE)
That worked.
Rphylip is also now on GitHub - so you can follow updates & changes to the code there.
Great. However watch out for Drawgram and Drawtree which require that the program find a font file, which you might not have in your local directory.
ReplyDeletePS our plotting programs put half-a-character blank space at the end of each terminal branch before printing the name. Thatlooksbetter.