smvplot is a cmd line python tool to generate IGV-like screenshots
Project description
smvplot
smvplot is a cmd line python tool to generate IGV-like screenshots.
Install
Install the package via pip
pip install smvplot
Usage
$ smvplot --help
usage: smvplot [-h] --bam_paths FILE --bam_names STR --ref FILE [--exclude_flag INT] [--map_quality INT] [--vcf FILE] [--bed FILE] [--annotations FILE] [--prefix PREFIX] [--window N] [--samtoolsbin N] [--tabixbin N]
[--plot_dir DIR]
[region]
`smvplot` creates IGV-like screenshot for each variant in a vcf file, a bed file or a manually specified region.
positional arguments:
region syntax either 'chr:start-end' or 'chr:center', use --vcf or --bed for more convenience
optional arguments:
-h, --help show this help message and exit
--bam_paths STR Input list of BAM files separated by comma. Maximum 3 BAM files
--bam_names STR Input list of names separated by comma. Same length as BAM files
--ref FILE input reference genome file (fastq format)
--exclude_flag INT Exclude the reads with corresponding SAM flags, [default = 3840]
--map_quality INT Minimum mapping quality for the reads, [default = 20]
--base_quality INT Minimum base quality for the variant, [default = 13]
--vaf Include the VAF of the central position in the plot title. Requires reference genome
--vcf FILE input vcf file ( as an alternative use --bed )
--bed FILE input bed file ( as an alternative use --vcf )
--annotations FILE annotation track indexed with tabix
--prefix PREFIX target directory and file name prefix for generated output files
--window N the output file for position X will show the region [X-window,X+window], [default = 100]
--samtoolsbin N the path to the samtools binary, [default = samtools]
--tabixbin N the path to the tabix binary, [default = tabix]
--plot_dir DIR subfolder for the plots
--out_format STR Output format of the plot, [default = pdf]
Example plots
On the GIAB samples
- For a single variant from a single BAM
smvplot
--bam_paths HG001_merged.mdup.bam \
--bam_names HG001 \
--ref GRCh38_decoy_ebv_phiX_alt_hla_chr.fa \
--plot_dir ~/smvplot_test \
--prefix giab_HG001 \
--out_format png
chr1:3339544
- For a single variant from a TRIO (3 BAMs)
smvplot \
--bam_paths HG002_merged.mdup.bam,HG003_merged.mdup.bam,HG004_merged.mdup.bam \
--bam_names HG002_Son,HG003_Father,HG004_Mother \
--ref GRCh38_decoy_ebv_phiX_alt_hla_chr.fa \
--plot_dir ~/smvplot_test \
--prefix giab_HG00234 \
--out_format png \
chr1:783175
- For multiple variants from a VCF/BED file
smvplot \
--bam_paths HG002_merged.mdup.bam,HG003_merged.mdup.bam,HG004_merged.mdup.bam \
--bam_names HG002_Son,HG003_Father,HG004_Mother \
--ref GRCh38_decoy_ebv_phiX_alt_hla_chr.fa \
--plot_dir ~/smvplot_test \
--prefix giab_HG00234 \
--out_format png \
--vcf giab_benchmark_variants.vcf # --bed giab_benchmark_variants.vcf
Changelog
0.0.3.2
- Minor bug fixes
0.0.3
- Removed the underhand issue in the RNAseq histograms
- Limit the VAF float decimals
- In a multi-BAM settings, ignore the BAMs if the path does not exist
0.0.2
- Add VAF to the title via pysamstats
0.0.1
- Inital version upload to the PIP
Acknowledgements
The visualize.py
was originally written for the DKFZ somatic indel workflow by Philip Ginsbach and Ivo Buchhalter. Here I have updated script to a python package and added a possibility of a third BAM and a RNAseq BAM file. And also generalized the BAM inputs.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
smvplot-0.0.4.tar.gz
(10.8 kB
view details)
File details
Details for the file smvplot-0.0.4.tar.gz
.
File metadata
- Download URL: smvplot-0.0.4.tar.gz
- Upload date:
- Size: 10.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.11.3 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.63.0 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c3657594a2e05fb8634cccb1d325e218c9239fc9f111deac5ffb432c6b1739a |
|
MD5 | 91db3df3d8fc7a589183671de55009db |
|
BLAKE2b-256 | 32b6cf8979ac04e517a9931c919f31ff451d132e4b79f243dd2a8218e0d4063b |