VTracker

PyPI PyPI - Python Version codecov.io

For tracking the relationship between group membership changes across versions.

Installation

Usage

  1. Instantiate the VTracker class and specify the versions from oldest to newest.
  2. Populate the tracker with each unique entity, and specify the state of the entity at each of the versions. Missing versions have the state of 'Not Present'.

Consider the following example which generates the JSON required to display the following D3 Sankey diagram similar to that of the GTDB Taxon History tool:

```python from vtracker import VTracker

vt = VTracker(('R80', 'R83', 'R86.2', 'R89', 'NCBI')) vt.add('G000210735', {'R80': 'sFaecalibacterium prausnitziiB', 'R83': 'sFaecalibacterium prausnitziiB', 'R86.2': 'sFaecalibacterium prausnitziiB', 'R89': 'sFaecalibacterium prausnitziiG', 'NCBI': 's__Faecalibacterium prausnitzii'})

vt.add('G003287485', {'R89': 'sFaecalibacterium prausnitzii_G', 'NCBI': 'sFaecalibacterium prausnitzii'})

vt.add('G003287505', {'R89': 'sFaecalibacterium prausnitzii_G', 'NCBI': 'sFaecalibacterium prausnitzii'})

vt.add('G003293635', {'R89': 'sFaecalibacterium prausnitzii_G', 'NCBI': 'sFaecalibacterium prausnitzii'})

vt.add('G003508795', {'R80': 'sFaecalibacterium prausnitziiB', 'R83': 'sFaecalibacterium prausnitziiB', 'R86.2': 'sFaecalibacterium prausnitziiB', 'R89': 'sFaecalibacterium prausnitziiG'})

sankeyjson = vt.assankey_json() ```

Sankey diagram example