/python-newick

python package to read and write the Newick format

Primary LanguagePythonApache License 2.0Apache-2.0

python-newick

Build Status codecov.io PyPI

python package to read and write the Newick format.

Reading Newick

  • From a string:
>>> from newick import loads
>>> trees = loads('(A,B,(C,D)E)F;')
>>> trees[0].name
u'F'
>>> [n.name for n in trees[0].descendants]
[u'A', u'B', u'E']
  • From a file-like object:
>>> import io
>>> from newick import load
>>> with io.open('fname', encoding='utf8') as fp:
...     trees = load(fp)
  • From a file name:
>>> from newick import read
>>> trees = read('fname')

Writing Newick

In parallel to the read operations there are three functions to serialize a single Node object or a list of Node objects to Newick format:

  • dumps(trees) -> str
  • dump(trees, fp)
  • write(trees, 'fname')

A tree may be assembled using the factory methods of the Node class:

  • Node.__init__
  • Node.create
  • Node.add_descendant