Skip to content

biocore/improved-octo-waddle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

6df7c5c · Jun 27, 2024
Jun 19, 2024
Jun 26, 2024
Jun 18, 2024
Jul 2, 2016
Jan 27, 2022
Jan 24, 2022
Jan 5, 2022
Jul 21, 2020
Aug 26, 2016
May 26, 2016
Jan 27, 2022
Aug 25, 2016
Dec 16, 2022
Aug 26, 2016
Jan 27, 2022
Jun 26, 2024
Jan 27, 2022

Repository files navigation

Improved Octo Waddle

An implementation of the balanced parentheses tree structure as described by Cordova and Navarro.

Install notes

Installation is a two step procedure right now due to the chicken and egg problem of requiring numpy and cython for setup.py to execute. The package is named iow in pypi as "bp" was taken at time of registration.

$ conda create --name bp python=3.8
$ conda activate bp
$ conda install numpy cython
$ pip install iow

Developer notes

If pulling the source, please note that we use a submodule and Github does not by default bring it down. After a clone, please run:

$ git submodule update --init --recursive

Fragment insertion

BP supports the jplace format. Fragments can be inserted using either fully-resolved or multifurcation mode to resolve multiple placements to the same edge. In fully resolved, the edge placed against is broken N times where N is the number of fragments on the edge. In multifurcation, a new node is constructed as the average of the distal length for the N fragments, and a separate multifurcation node is added which encompasses the placed fragments.

Important: the multifurcation mode support is GPL licensed code. Support for that mode is in a fork of this repository, see improved-octo-waddle-gpl.

Insertions can be handled by the command line following install:

$ bp placement --help
Usage: bp placement [OPTIONS]

Options:
  --placements PATH               jplace formatted data  [required]
  --output PATH                   Where to write the resulting newick
                                  [required]

  --method [fully-resolved|multifurcating]
                                  Whether to fully resolve or multifurcate
                                  [required]

  --help                          Show this message and exit.

Note that the multifurcating support relies on GPL code derived from the Genesis project. To use this method, please install iow-gpl.