For tracking the relationship between group membership changes across versions.
- PyPI:
pip install vtracker
- Instantiate the
VTracker
class and specify the versions from oldest to newest. - 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()