Skip to main content

An integrated tool for annotating the motif variation and complex patterns in tandem repeats.

Project description

VAMPIRE - VAriation and Motif Patterns In tandem REpeats

Stars PyPI PyPI version Docker Image Version License Last Commit PyPI Downloads Docs

Getting Started

# Install
mamba create -n vampire python=3.10 -y
mamba activate vampire
mamba install vampire-tr 

# Annotate TRs on genomes
vampire scan <fasta> <prefix>

# Annotate single TR locus across population
vampire anno <fasta> <prefix>

# Generate simulated TR sequences
vampire generator -m GGC -l 1000 -r 0.01 -p <prefix>
vampire generator -m GGC GGT -l 1000 -r 0.01 -p <prefix>

# Calculate the identity matrix for TR sequences
vampire identity -w 5 <anno_prefix> <identity_prefix>

See Docs for more details.

Table of Contents

Introduction

VAMPIRE is a unified framework for de novo tandem repeat (TR) annotation and analysis. It systematically characterizes copy number variation, motif variation and structural variation within TR arrays.

By representing TR arrays as hierarchical motif compositions and quantifying copy-number changes, motif substitutions, and array restructuring across samples, VAMPIRE transforms raw sequence data into standardized, interpretable, and queryable repeat-variation matrices. Through its AnnData-based data model, VAMPIRE enables seamless integration with downstream analysis workflows.

Read the documentation. Open an issue or create a pull request if you would like to contribute.

Why VAMPIRE?

  • Beyond Copy Number: VAMPIRE uncovers not only copy number but also internal variation.
  • Flexible and Comprehensive: Its customizable parameters support the annotation of a wide range of TRs, from short tandem repeats (STRs) and variable number tandem repeats (VNTRs) to megabase-scale satellite arrays.
  • Analysis Ecosytem: VAMPIRE contains vp.anno.pp, vp.anno.pl, vp.anno.tl modules for analysis and plotting.

Installation

# Install by pip 
mamba create -n vampire python=3.10 -y
mamba activate vampire
mamba install vampire-tr 

Usage

VAMPIRE contains several subcommands. Here we list scan, anno, generator and identity.

scan - Annotate TRs on genome

VAMPIRE can scan genome assemblies or long sequences to detect tandem repeat (TR) loci. It uses a multi-scale k-mer smoothness approach to identify candidate regions, followed by banded alignment to annotate period and copy number for each locus.

# Scan a genome with 8 threads
vampire scan -t 8 genome.fa genome_scan

# Output results in BED format
vampire scan --format bed genome.fa genome_scan

anno - Annotate single TR locus across population

One of the primary uses of VAMPIRE is to annotate tandem repeat (TR) sequences from input files in FASTA format. A typical command is as follows:

# de novo annotate TR sequences
vampire anno -t 8 <fasta> <prefix>

where -t sets the number of threads, tests/001-anno_STR.fa is the input sequences, and tests/001-anno_STR is the output prefix. By default, VAMPIRE use the built-in base motif database to refine and label motifs. This database includes pCht/StSat in Pan and human alpha-satellite mononers from the paper:

Altemose N, Logsdon G A, Bzikadze A V, et al. Complete genomic and epigenetic maps of human centromeres[J]. Science, 2022, 376(6588): eabl4178.

For more detailed instructions and examples, refer to the VAMPIRE Docs.

generator - Generate simulated TR sequences

VAMPIRE can generate simulated TR sequences with single or multiple given motif(s), user-defined length and mutation rate. The default random seed is 42. To change the random seed, use the -s option.

# Generate simulated TR sequences
vampire generator -m GGC -l 1000 -r 0.01 -p tests/002-generator_reference
vampire generator -m GGC GGT -l 1000 -r 0.01 -p tests/002-generator_reference

This command will output three files:

  • tests/002-generator_reference.fa: the simulated TR sequences in FASTA format.
  • tests/002-generator_reference.anno.tsv: the annotation results with mutations.
  • tests/002-generator_reference.fa.anno_woMut.tsv: the annotation results without mutations.

identity - Calculate the identity matrix for TR sequences

VAMPIRE uses alignment-based method to calculate the identity matrix for TR sequences.

# Calculate the identity matrix for TR sequences
vampire identity -t 20 -w 30 <anno_prefix> <identity_prefix>

By default, VAMPIRE do not account for insertion and deletion events when generating the identity matrix. To include such events within a specific length range, use the --max-indel and --min-indel options to set the maximum and minimum indel lengths to consider.

After generating the identity matrix, you can visualize the identity heatmap using vp.anno.pl.tracksplot().

Getting Help

For detailed description of options, please see VAMPIRE Docs. If you have further questions, want to report a bug, or suggest a new feature, please raise an issue at the issue page.

Citating VAMPIRE

If you use VAMPIRE in your work, please cite:

To be updated

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

vampire_tr-0.4.0.tar.gz (235.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vampire_tr-0.4.0-py3-none-any.whl (250.5 kB view details)

Uploaded Python 3

File details

Details for the file vampire_tr-0.4.0.tar.gz.

File metadata

  • Download URL: vampire_tr-0.4.0.tar.gz
  • Upload date:
  • Size: 235.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for vampire_tr-0.4.0.tar.gz
Algorithm Hash digest
SHA256 f659a71b2205792f0ead4a989341ebd48a50ad10d288117b22886ea6a04932da
MD5 8bd2beb8b54f1b05a312be0ebbb7602e
BLAKE2b-256 0053888d79a94d3ac4dc77f4c28c9e9ddb6205d3c886f066acd7549ae87d8d18

See more details on using hashes here.

File details

Details for the file vampire_tr-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: vampire_tr-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 250.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for vampire_tr-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0cee59a1c7c52dbfd58e9700aad5487fda0b2b649a409ac0dcdd815cf5748dc4
MD5 b802636bdb2d4c8ca4c8260b6be8565d
BLAKE2b-256 0e30bc697ace9c3ddc484b8b1d57e5139c68327a214a5e4bb4619e23da15feae

See more details on using hashes here.

Supported by

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