<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Mark Holder has updated the documentation for NCL, which should make using it in phylobase easier. Thanks, Mark!<div><br></div><div>Brian<br><div><br><div>Begin forwarded message:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font face="Helvetica" size="3" color="#000000" style="font: 12.0px Helvetica; color: #000000"><b>From: </b></font><font face="Helvetica" size="3" style="font: 12.0px Helvetica">Mark Holder <<a href="mailto:mtholder@ku.edu">mtholder@ku.edu</a>></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font face="Helvetica" size="3" color="#000000" style="font: 12.0px Helvetica; color: #000000"><b>Date: </b></font><font face="Helvetica" size="3" style="font: 12.0px Helvetica">March 27, 2010 3:17:38 PM EDT</font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font face="Helvetica" size="3" color="#000000" style="font: 12.0px Helvetica; color: #000000"><b>To: </b></font><font face="Helvetica" size="3" style="font: 12.0px Helvetica">Brandon Chisham <<a href="mailto:bchisham@cs.nmsu.edu">bchisham@cs.nmsu.edu</a>>, "Brian O'Meara" <<a href="mailto:bcomeara@nescent.org">bcomeara@nescent.org</a>>, Dave Swofford <<a href="mailto:david.swofford@duke.edu">david.swofford@duke.edu</a>>, Paul Lewis <<a href="mailto:paul.lewis@uconn.edu">paul.lewis@uconn.edu</a>>, dz <<a href="mailto:zwickl@ku.edu">zwickl@ku.edu</a>>, Jeet Sukumaran <<a href="mailto:jeet@ku.edu">jeet@ku.edu</a>>, Paul van der Mark <<a href="mailto:paulvdm@scs.fsu.edu">paulvdm@scs.fsu.edu</a>>, Peter Cowan <<a href="mailto:pdc@berkeley.edu">pdc@berkeley.edu</a>>, Michael Sanderson <<a href="mailto:sanderm@email.arizona.edu">sanderm@email.arizona.edu</a>>, Arlin Stoltzfus <<a href="mailto:arlin.stoltzfus@nist.gov">arlin.stoltzfus@nist.gov</a>>, William Piel <<a href="mailto:william.piel@yale.edu">william.piel@yale.edu</a>>, Rutger Vos <<a href="mailto:rutgeraldo@gmail.com">rutgeraldo@gmail.com</a>>, David Maddison <<a href="mailto:beetle@ag.arizona.edu">beetle@ag.arizona.edu</a>>, Wayne Maddison <<a href="mailto:wmaddisn@interchange.ubc.ca">wmaddisn@interchange.ubc.ca</a>>, Hilmar Lapp <<a href="mailto:hlapp@duke.edu">hlapp@duke.edu</a>>, Fredrik Ronquist <<a href="mailto:ronquist@csit.fsu.edu">ronquist@csit.fsu.edu</a>>, John Huelsenbeck <<a href="mailto:johnh@berkeley.edu">johnh@berkeley.edu</a>></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font face="Helvetica" size="3" color="#000000" style="font: 12.0px Helvetica; color: #000000"><b>Subject: </b></font><font face="Helvetica" size="3" style="font: 12.0px Helvetica"><b>Nexus class library v2.1 finally has some documentation about what has changed since v2.0</b></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><br></div> </div><div>Hi NCL users (and other folks who may be interested in NEXUS parsing),<br><br>Short message:<br><span class="Apple-tab-span" style="white-space:pre">        </span>- I have finally forced myself to update the NCL documentation to reflect the changes to the API that accompanied the v2.1 branch.<br><br><span class="Apple-tab-span" style="white-space:pre">        </span>- Check out the high level overview at: <a href="http://phylo.bio.ku.edu/ncldocs/v2.1/funcdocs/index.html">http://phylo.bio.ku.edu/ncldocs/v2.1/funcdocs/index.html</a><br><br><span class="Apple-tab-span" style="white-space:pre">        </span>- Checkout the example code at:<br><span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span><a href="http://phylo.bio.ku.edu/ncldocs/v2.1/funcdocs/simpleNCLClient/simpleNCLClient.cpp">http://phylo.bio.ku.edu/ncldocs/v2.1/funcdocs/simpleNCLClient/simpleNCLClient.cpp</a><br><span class="Apple-tab-span" style="white-space:pre">        </span> and its Makefile:<br><span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>http://phylo.bio.ku.edu/ncldocs/v2.1/funcdocs/simpleNCLClient/Makefile<br><br><span class="Apple-tab-span" style="white-space:pre">        </span>- Please let me know if you find errors/typos in the docs ( mtholder@gmail.com ). I'm sure there are plenty of typos.<br><br><span class="Apple-tab-span" style="white-space:pre">        </span>- I pushed a new release to sourceforge (v2.1.11). Some of the docs refer to convenience functions that I just added to the library, so you'll need that version of the library.<br><br><br><br><br><br>Longer message:<br><br>As you probably know the currently-developed branches of NCL (https://ncl.svn.sourceforge.net/svnroot/ncl/branches/v2.1<br> and https://ncl.svn.sourceforge.net/svnroot/ncl/branches/v2.2) have changed considerably since version 2.0 of the library.<br><br>Paul Lewis is the author of NCL, and for a few years now I've been helping expand and maintain the library. Unfortunately, while Paul is very disciplined about documenting his code, I'm not a very good commenter/documenter. So the documentation has become much less useful of late because of my additions to the library.<br><br>We have really tried to make the new API backward compatible, so Paul's docs are still useful.<br><br>However:<br><span class="Apple-tab-span" style="white-space:pre">        </span>- The newer API can be considerably easier to use and more robust for complex NEXUS files (those which contain multiple instances of the same block).<br><br><span class="Apple-tab-span" style="white-space:pre">        </span>- There are some substantial performance improvements in the newer version. Admittedly most of our software is not limited by parsing time, but if you are writing an application that needs to crunch a lot of files or big files (or both) you should be using NCL v2.1.<br><br><span class="Apple-tab-span" style="white-space:pre">        </span>- v2.1 and later supports quite a few more commands and options (including Mesquite's LINK/TITLE syntax for dealing with multiple blocks, Mesquite's extension to the CHARSET commands, and MrBayes' extensions to NEXUS such as datatype=mixed and dataype=restriction in the FORMAT command).<br><br><span class="Apple-tab-span" style="white-space:pre">        </span>- v2.2 is now generated from v2.1 using a simple script. v2.2 provides support for SWIG bindings to NCL. Currently only python bindings have been tested, but other languages should be usable without too much tweaking.<br><br>So, I think that the jump from 2.0 to 2.1 is worth making.<br><br><br>I've just made a push on documenting the newer API at a high level. It is still a work in progress, but if you've been frustrated by my poor documentation of NCL, you should check out:<br><span class="Apple-tab-span" style="white-space:pre">        </span>http://phylo.bio.ku.edu/ncldocs/v2.1/funcdocs/index.html<br><br>The logic of the newer API and new features are described much better than they have been before now.<br><br>You may also want to look at the at the example files at:<br><span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>http://phylo.bio.ku.edu/ncldocs/v2.1/funcdocs/simpleNCLClient/simpleNCLClient.cpp<br><br>which can be built using the Makefile at:<br><span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>http://phylo.bio.ku.edu/ncldocs/v2.1/funcdocs/simpleNCLClient/Makefile<br>if you use g++, have installed NCL and put NCL_INSTALL_DIR in your env.<br><br><br>all the best,<br>Mark<br><br><br><br><br><br><br><br><br>Mark Holder<br><br>mtholder@ku.edu<br>http://phylo.bio.ku.edu/mark-holder<br><br>==============================================<br>Department of Ecology and Evolutionary Biology<br>University of Kansas<br>6031 Haworth Hall<br>1200 Sunnyside Avenue<br>Lawrence, Kansas 66045<br><br>lab phone: 785.864.5789<br><br>fax (shared): 785.864.5860<br>==============================================<br><br><br><br><br><br><br><br><br></div></blockquote></div><br><div apple-content-edited="true"> <span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div>------------------------------------------------------</div><div>Brian O'Meara</div><div><a href="http://www.brianomeara.info">http://www.brianomeara.info</a></div><div>Assistant Prof.</div><div>Dept. Ecology & Evolutionary Biology</div><div>U. of Tennessee, Knoxville</div></span></div></span> </div><br></div></body></html>