New Release: 3.5.0

0 views
Skip to first unread message

Jeet Sukumaran

unread,
Aug 11, 2010, 9:58:50 PM8/11/10
to DendroPy Announcements
DendroPy 3.5.0 is now available from the usual location(s). If you
have setuptools
or pip installed, you can upgrade your local DendroPy installation by
running:

$ sudo easy_install -U dendropy

Otherwise, as usual, you can download the package yourself from:

http://pypi.python.org/pypi/DendroPy

New Features
^^^^^^^^^^^^

- Added new module for interacting with NCBI databases:
``dendropy.interop.ncbi``. Sequences can be downloaded individually or
by specifying ranges. In addition, labels suitable for use in
phylogenetic analyses can be automatically composed for each sequence.
For example::

>>> from dendropy.interop import ncbi
>>> entrez = ncbi.Entrez(generate_labels=True,
sort_taxa_by_label=True)
>>> data1 = entrez.fetch_nucelotide_accessions(['EU105474',
'EU105476'])
>>> data1.write_to_path('seqs1.nex', 'nexus')
>>> data2 = entrez.fetch_nucleotide_accession_range(105474,
106045, prefix="EU")
>>> data2.write_to_path('seqs2.nex', 'nexus')

Note that unlike Python's native "``range``" command, here the
last element **is included** in the range (i.e., a range specified as
"*a*, *b*" => [a,b]), and thus
``entrez.fetch_nucleotide_accession_range(105474, 106045,
prefix="EU")`` will result in the full range of sequences from
"EU105474-106045" being retrieved.

- Added "``beast-summary-tree``" schema specification to process
BEAST annotated consensus trees::

>>> import dendropy
>>> tree = dendropy.Tree.get_from_path('pythonidae.beast.tre',
'beast-summary-tree')

Each node on the resulting tree will have the following
attributes: "``height``", "``height_median``", "``height_95hpd``",
"``height_range``", "``length``", "``length_median``",
"``length_95hpd``", "``length_range``", "``posterior'. Scalar values
will be of ``float`` type, while ranges (e.g., "``height_95hpd``",
"``height_range``", "``length_95hpd``", "``length_range``") will be
two-element lists of ``float`` types.

- Added ``ladderize()`` method, to order nodes in ascending
(default) or descending (``ladderize(right=True)``) order.

Jeet Sukumaran

unread,
Aug 11, 2010, 10:13:34 PM8/11/10
to DendroPy Announcements
Sorry folks, the formatting got messed up in the post. Here is a more
readable summary, hoisted from the DendroPy User group announcement:

#####################

The BEAST summary tree parsing wil result in each node on the
resulting tree will having the following attributes: "height",
"height_median", "height_95hpd", "height_range", "length",
"length_median", "length_95hpd", "length_range", "posterior'. Scalar
values will be of float type, while ranges (e.g., "height_95hpd",
"height_range", "length_95hpd", "length_range") will be two-element
lists of float types.

Ladderizing trees will simply sort the child nodes of each node in
ascending or descending order based on the number of *their* children.

In addition, we have included an NCBI interoperability module, which
allows you to directly download sequences (into DnaCharacterMatrix or
RnaCharacterMatrix objects), with the optional facility to
automatically compose "nice" labels (i.e., analysis-friendly labels
based on the GenBank defline, so that. for example, a sequence with
the description, "gi|158930545|gb|EU105474.1| Homo sapiens Ache non-
coding region T864 genomic sequence" results in a taxon with a label,
"EU105474_Homo_sapiens_Ache").

######################
Reply all
Reply to author
Forward
0 new messages