Skip to main content
PyPI Status CI Status Documentation Status

alifedata-phyloinformatics-convert helps apply traditional phyloinformatics software to alife standardized data

Usage

Use apc’s RosettaTree interface for flexible conversion between phylogenetic data structures and schemas. First, create a RosettaTree object from any supported structure/schema

import io
import pathlib

import alifedata_phyloinformatics_convert as apc
import anytree
import Bio
import dendropy
import ete3 as ete
import networkx
import pandas
import phylotrackpy

newickstr = "((A,B),(C,D));"

for obj in [
  anytree.AnyNode(),
  Bio.Phylo.read(io.StringIO(newickstr), "newick"),
  dendropy.Tree.get(data=newickstr, schema="newick"),
  ete.Tree(newickstr),
  networkx.DiGraph(),
  pandas.DataFrame({"id": [0], "ancestor_list": "[None]"}),  # alife standard
  phylotrackpy.systematics.Systematics(lambda x: x),
]:
  converter = apc.RosettaTree(obj)

# from phyloinformatics schema
# ... nexml and nexus also supported!
converter = apc.RosettaTree.from_newick(newickstr)
converter = apc.RosettaTree.from_newick(pathlib.Path("read.newick"))
with open("read.newick", "r") as fp:
  converter = apc.RosettaTree.from_newick(fp)

# from alife standard data via Pandas
converter = apc.RosettaTree(pandas.read_csv("read-alifestd.csv"))

Then, convert or serialize data

# ... converter created as above
converter.as_alife  # pandas DataFrame
converter.as_biopython
converter.as_dendropy
converter.as_ete
converter.as_networkx
converter.as_phylotrack

# serialization, nexml and nexus schemata also supported
converter.to_newick()  # returns newick string
converter.to_newick(pathlib.Path("write.newick"))  # writes to path
with open("write.newick", "w") as fp:  # writes to file object
  converter.to_newick(fp)

# alifestd serialization
converter.as_alife.to_csv("write-alifestd.csv", index=False)

Use apc’s functional interface to convert between alife format other libraries’ tree objects

import alifedata_phyloinformatics_convert as apc
import pandas

alife_df = pandas.read_csv('alifedata.csv')

# biopython
tree = apc.alife_dataframe_tobiopython_tree(alife_df)
frame = apc.biopython_tree_to_alife_dataframe(tree)

# dendropy
tree = apc.alife_dataframe_to_dendropy_tree(alife_df)
frame = apc.dendropy_tree_to_alife_dataframe(tree)

# ete
ete_tree = apc.alife_dataframe_to_ete_tree(alife_df)
frame = apc.ete_tree_to_alife_dataframe(tree)

# networkx
digraph = apc.alife_dataframe_to_networkx_digraph(alife_df)
frame = apc.networkx_digraph_to_alife_dataframe(digraph)

# phylotrackpy
systematics = apc.alife_dataframe_to_phylotrack_systematics(alife_df)
frame = apc.phylotrack_systematics_to_alife_dataframe(systematics)

# partial support is also included for,
# - adjacency lists
# - anytree trees
# - scipy linkage matrices
# ... see API documentation for details

Command Line Interface

Use apc’s CLI toalifedata command to convert newick, nexml, and nexus data to alife standard phylogenetics data

Usage: alifedata-phyloinformatics-convert toalifedata [OPTIONS]

  convert standard alife phylogeny data to phloinformatics format

Options:
  --input-file FILENAME           phyloinformatics data file path; default
                                  stdin
  --input-schema TEXT             phyloinformatics data format schema; options
                                  include newick, nexml, and nexus  [required]
  --output-file FILENAME          alife data file path; default stdout
  --output-format TEXT            alife data file format; default csv
  --suppress-unifurcations / --keep-unifurcations
                                  Compress sequences of nodes with single
                                  descendants
  --help                          Show this message and exit.

Use the fromalifedata command to convert to other formats from alife standard phylogenetics data

Usage: alifedata-phyloinformatics-convert fromalifedata [OPTIONS]

  convert phloinformatics data to standard alife phylogeny format

Options:
  --input-file FILENAME           alife data file path; default stdin
  --input-format TEXT             alife data file format; default csv
  --output-file FILENAME          phyloinformatics data file path; default
                                  stdout
  --output-schema TEXT            phyloinformatics data format schema; options
                                  include newick, nexml, and nexus  [required]
  --suppress-unifurcations / --keep-unifurcations
                                  Compress sequences of nodes with single
                                  descendants
  --help                          Show this message and exit.

Installation

Install from PyPi

pip3 install alifedata-phyloinformatics-convert

Credits

Built using the DendroPy library. This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

alifedata-phyloinformatics-convert-0.16.0.tar.gz (173.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

alifedata_phyloinformatics_convert-0.16.0-py2.py3-none-any.whl (34.1 kB view details)

Uploaded Python 2Python 3

File details

Details for the file alifedata-phyloinformatics-convert-0.16.0.tar.gz.

File metadata

File hashes

Hashes for alifedata-phyloinformatics-convert-0.16.0.tar.gz
Algorithm Hash digest
SHA256 857391d381e068cd88ffd7415b0dd60dd9bef855acc55a2f6372ba2764c7769a
MD5 bff3ad3c6dd8ef2f8fe3e4b0619632f6
BLAKE2b-256 1517621342c77acf580e452dab28f49787b091e32d453e51b9c7d77d8e7d517e

See more details on using hashes here.

File details

Details for the file alifedata_phyloinformatics_convert-0.16.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for alifedata_phyloinformatics_convert-0.16.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 0c986ffd4b1d3544dc4c164c235fe6a2518cc27648e84519b7ee0e73646fff08
MD5 b973db41220d6d27a2c15ca0f04290ac
BLAKE2b-256 ec7c99e275a8067e5db76f7a4724d9107035f402b9b3f76221a1f12d8d1fae9a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page