# VSTOL
VSTOL (**V**ariant **S**tandardization, **T**abulation, and **O**perations **L**ibrary) is a toolkit that
standardizes smalll and structural DNA variants from VCF files into the [Occam's Variant Grammar](https://pirlblog.substack.com/p/variant-standardization)
TSV files. It also supports list operations (*annotate*, *diff*, *intersect*, *merge*, *overlap*) on variant lists.
[](https://github.com/pirl-unc/vstol/actions/workflows/main.yml)
[](https://opensource.org/licenses/Apache-2.0)
## 01. Installation
`vstol` is available on [pypi](https://pypi.org/project/vstol/):
```
pip install vstol
```
## 02. Dependencies
- python>=3.10
- pandas>=2.0.3
- numpy>=1.22.3
- networkx>=3.4.2
- intervaltree>=3.1.0
## 03. Usage
```
vstol [-h] [--version] {annotate,diff,intersect,merge,overlap,vcf2tsv}
```
## 04. Available Commands
| Command | Description |
|-----------|-------------------------------------------------------------------------------------------------------|
| annotate | Annotate variants. |
| diff | Diff target variants from query variants. |
| intersect | Identify intersecting variants. |
| merge | Merge multiple variant lists into one list. |
| overlap | Identify variants that overlap with a list of genomic regions. |
| vcf2tsv | Convert a VCF file (see below for supported variant callers) to the Occam's Variant Grammar TSV file. |
## 05. TSV File Headers
`vstol vcf2tsv` outputs each variant callset as a tab-separated values (TSV) file with the following columns:
* id
* source_id
* sample_id
* platform
* method
* chromosome_1
* position_1
* strand_1
* operation_1
* chromosome_2
* position_2
* strand_2
* operation_2
* sequence
Additional columns from the VCF file will be included.
## 06. Supported Variant Callers
To use `VSTOL`, we recommend that you first convert a VCF file to a TSV file
using the `vcf2tsv` command in `VSTOL`. The following variant callers are currently supported:
- [ClairS](https://github.com/HKU-BAL/ClairS)
- [CuteSV](https://github.com/tjiangHIT/cuteSV)
- [DeepVariant](https://github.com/google/deepvariant)
- [Delly2](https://github.com/dellytools/delly)
- [GATK4 Mutect2](https://gatk.broadinstitute.org/hc/en-us/articles/360035531132--How-to-Call-somatic-mutations-using-GATK4-Mutect2)
- [Lumpy](https://github.com/arq5x/lumpy-sv)
- [Manta](https://github.com/Illumina/manta)
- [PBSV](https://github.com/PacificBiosciences/pbsv)
- [Savana](https://github.com/cortes-ciriano-lab/savana)
- [Severus](https://github.com/KolmogorovLab/Severus)
- [Sniffles2](https://github.com/fritzsedlazeck/Sniffles)
- [Strelka2](https://github.com/Illumina/strelka)
- [Svim](https://github.com/eldariont/svim)
- [SVision-pro](https://github.com/songbowang125/SVision-pro)
Raw data
{
"_id": null,
"home_page": null,
"name": "vstol",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "cancer, dna, occam's variant grammar, small variants, somatic variants, structural variants, tumor, variant standardization, variant toolkit, vcf",
"author": null,
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/be/35/a4709e76ac74813c59528f867eee4b520f50e7290440e6e9e25c6d08015b/vstol-0.4.1.tar.gz",
"platform": null,
"description": "# VSTOL\nVSTOL (**V**ariant **S**tandardization, **T**abulation, and **O**perations **L**ibrary) is a toolkit that \nstandardizes smalll and structural DNA variants from VCF files into the [Occam's Variant Grammar](https://pirlblog.substack.com/p/variant-standardization) \nTSV files. It also supports list operations (*annotate*, *diff*, *intersect*, *merge*, *overlap*) on variant lists.\n\n[](https://github.com/pirl-unc/vstol/actions/workflows/main.yml)\n[](https://opensource.org/licenses/Apache-2.0)\n\n## 01. Installation\n\n`vstol` is available on [pypi](https://pypi.org/project/vstol/):\n```\npip install vstol\n```\n\n## 02. Dependencies\n- python>=3.10\n- pandas>=2.0.3\n- numpy>=1.22.3\n- networkx>=3.4.2\n- intervaltree>=3.1.0\n\n## 03. Usage\n\n```\nvstol [-h] [--version] {annotate,diff,intersect,merge,overlap,vcf2tsv}\n```\n\n## 04. Available Commands\n\n| Command | Description |\n|-----------|-------------------------------------------------------------------------------------------------------|\n| annotate | Annotate variants. |\n| diff | Diff target variants from query variants. |\n| intersect | Identify intersecting variants. |\n| merge | Merge multiple variant lists into one list. |\n| overlap | Identify variants that overlap with a list of genomic regions. |\n| vcf2tsv | Convert a VCF file (see below for supported variant callers) to the Occam's Variant Grammar TSV file. |\n\n## 05. TSV File Headers\n\n`vstol vcf2tsv` outputs each variant callset as a tab-separated values (TSV) file with the following columns:\n\n* id\n* source_id\n* sample_id\n* platform\n* method\n* chromosome_1\n* position_1\n* strand_1\n* operation_1\n* chromosome_2\n* position_2\n* strand_2\n* operation_2\n* sequence\n\nAdditional columns from the VCF file will be included.\n\n## 06. Supported Variant Callers\n\nTo use `VSTOL`, we recommend that you first convert a VCF file to a TSV file \nusing the `vcf2tsv` command in `VSTOL`. The following variant callers are currently supported:\n\n- [ClairS](https://github.com/HKU-BAL/ClairS)\n- [CuteSV](https://github.com/tjiangHIT/cuteSV)\n- [DeepVariant](https://github.com/google/deepvariant)\n- [Delly2](https://github.com/dellytools/delly)\n- [GATK4 Mutect2](https://gatk.broadinstitute.org/hc/en-us/articles/360035531132--How-to-Call-somatic-mutations-using-GATK4-Mutect2)\n- [Lumpy](https://github.com/arq5x/lumpy-sv)\n- [Manta](https://github.com/Illumina/manta)\n- [PBSV](https://github.com/PacificBiosciences/pbsv)\n- [Savana](https://github.com/cortes-ciriano-lab/savana)\n- [Severus](https://github.com/KolmogorovLab/Severus)\n- [Sniffles2](https://github.com/fritzsedlazeck/Sniffles)\n- [Strelka2](https://github.com/Illumina/strelka)\n- [Svim](https://github.com/eldariont/svim)\n- [SVision-pro](https://github.com/songbowang125/SVision-pro)\n",
"bugtrack_url": null,
"license": null,
"summary": null,
"version": "0.4.1",
"project_urls": {
"Bug Tracker": "https://github.com/pirl-unc/vstol",
"Homepage": "https://github.com/pirl-unc/vstol"
},
"split_keywords": [
"cancer",
" dna",
" occam's variant grammar",
" small variants",
" somatic variants",
" structural variants",
" tumor",
" variant standardization",
" variant toolkit",
" vcf"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "5f5a64859f9bf377eb6b898342d31b1b1cf1c53b656d4a3f54e063ba4ddf2fc6",
"md5": "602bf0d36e5a22de4f41b15a99af3a31",
"sha256": "2025727515b507d5a289f7c7980a4c08904b1bcefe7d612806992194a51b30c1"
},
"downloads": -1,
"filename": "vstol-0.4.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "602bf0d36e5a22de4f41b15a99af3a31",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 68992,
"upload_time": "2025-07-28T19:38:17",
"upload_time_iso_8601": "2025-07-28T19:38:17.702232Z",
"url": "https://files.pythonhosted.org/packages/5f/5a/64859f9bf377eb6b898342d31b1b1cf1c53b656d4a3f54e063ba4ddf2fc6/vstol-0.4.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "be35a4709e76ac74813c59528f867eee4b520f50e7290440e6e9e25c6d08015b",
"md5": "a29aaa8bbe47fdf280d6826e09e88741",
"sha256": "1efa27780405329194e82270199e23fe7aceda6c61a92e31a04c253994465eaa"
},
"downloads": -1,
"filename": "vstol-0.4.1.tar.gz",
"has_sig": false,
"md5_digest": "a29aaa8bbe47fdf280d6826e09e88741",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 27824,
"upload_time": "2025-07-28T19:38:19",
"upload_time_iso_8601": "2025-07-28T19:38:19.196174Z",
"url": "https://files.pythonhosted.org/packages/be/35/a4709e76ac74813c59528f867eee4b520f50e7290440e6e9e25c6d08015b/vstol-0.4.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-28 19:38:19",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "pirl-unc",
"github_project": "vstol",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "vstol"
}