Skip to main content

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

  1. 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

  1. 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

  1. 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

Log changes

  • Removed the underhand issue in the RNAseq histograms

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.3.tar.gz (10.3 kB view details)

Uploaded Source

Built Distribution

smvplot-0.0.3-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

Details for the file smvplot-0.0.3.tar.gz.

File metadata

  • Download URL: smvplot-0.0.3.tar.gz
  • Upload date:
  • Size: 10.3 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

Hashes for smvplot-0.0.3.tar.gz
Algorithm Hash digest
SHA256 2f5e9fcd731983ea29974e3b05931ce6b3709d3830ee866256b9cae16a739a88
MD5 6a5a449182eb5b5e5724095c51eb558d
BLAKE2b-256 fc461be9c200c2e1d5e086ecac1501a6033f3935684a111634af717102c034a3

See more details on using hashes here.

File details

Details for the file smvplot-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: smvplot-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 9.9 kB
  • Tags: Python 3
  • 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

Hashes for smvplot-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 5e8d170731a1e73978d6f9bcb8ec064aed7f1f1fb7a49e00e2d92ad177d15648
MD5 302ec9a3d65263548d8acb130c09d82b
BLAKE2b-256 843e7777eee4cb7781a0451cdfd97d79e82cd08be69b832be44e394d71987b30

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page