You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

table-fifth

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

table-fifth

0.0.4
pipPyPI
Maintainers
1

fifteen

shields.io shields.io

(DBA table_fifth)

This is a research fork of the original library

Experimental library for quick quintet tallying, useful when you have a lot of quintets that somehow you don't want to count yourself.

Usage

Binary wheels are provided on PyPI for Python starting from 3.7, but note that PyPy is not supported (yet).

python3 -m pip install table-five

API

TreeSet

A treeset is an efficient (i.e., fast parsing) list of tree topologies. The construction is $O(k n \lg n)$ where $k$ is the number of trees and $n$ the number of taxa. The log factor is due to the LCA data structure initialization.

from table_five import TreeSet
trees = TreeSet("path_to_newline_delimited_newicks.tre")

Quintet Counting

The major API is tally_single_quintet returning a list of length 15 containing the empirical counts of the 15 ADR unrooted quintet topology among the tree-set in $O(k)$ time:

# get counts of the ADR unrooted quintet topologies on taxa '1','2','3','4','5'. Taxa order matters.
treeset.tally_single_quintet(('1','2','3','4','5'))
# obviously you might want to convert it to numpy arrays

# normalize by the number of genes in the tree-set
new_tree_dist = np.asarray(treeset.tally_single_quintet(q_taxa)) / len(treeset)

Development and Building

After installing the Rust toolchain and Maturin, see the following commands:

# build the library
maturin build
# installing it locally
maturin develop

See the Maturin documentation for more details.

FAQs

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts