vtracker

Crates.iovtracker
lib.rsvtracker
version1.0.0
sourcesrc
created_at2023-05-15 05:18:55.491663
updated_at2023-05-15 05:18:55.491663
descriptionFor tracking the relationship between group membership changes across versions.
homepage
repositoryhttps://github.com/aaronmussig/VTracker
max_upload_size
id864742
size159,361
Aaron Mussig (aaronmussig)

documentation

README

VTracker

PyPI PyPI - Python Version codecov.io

For tracking the relationship between group membership changes across versions.

Installation

  • PyPI: pip install vtracker

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:

from vtracker import VTracker

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

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

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

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

vt.add('G003508795', {'R80': 's__Faecalibacterium prausnitzii_B',
                      'R83': 's__Faecalibacterium prausnitzii_B',
                      'R86.2': 's__Faecalibacterium prausnitzii_B',
                      'R89': 's__Faecalibacterium prausnitzii_G'})
                      
sankey_json = vt.as_sankey_json()

Sankey diagram example

Commit count: 11

cargo fmt