Skip to main content

VarCall

License PyPI - Version PyPI - Python Version

A modern, user-friendly Text-based User Interface (TUI) for genomic variant calling workflows. VarCall simplifies bioinformatics analysis by providing an intuitive interface to popular variant calling tools, making genomic analysis accessible to researchers without extensive command-line experience.

📋 Table of Contents

🌟 Features

  • Intuitive TUI Interface: Navigate through genomic analysis workflows with ease
  • Multi-tool Integration: Access FastQC, MultiQC, BWA, Samtools, Bcftools, and GATK from a single interface
  • Workflow Automation: Execute complex pipelines with simple inputs
  • Real-time Notifications: Get immediate feedback on process status
  • Organized Output: Results automatically saved in a structured directory hierarchy
  • Customizable: Extend functionality by adding new tools or modifying existing ones
  • Comprehensive Logging: Detailed logs for troubleshooting and tracking analysis history

🔧 Installation

[!NOTE] v2.0.0 is available for use.
v2.0.0 can create widgets in runtime, using config dictionaries, making it maintainable and customizable
YAML file configuration coming soon!!!

Prerequisites

VarCall requires Python 3.7+ and works best in a conda environment with bioinformatics tools pre-installed.

  1. Install Miniconda (if not already installed): Visit Miniconda for installation instructions.

  2. Create a conda environment with required tools:

    conda create -n varcall -y
    conda activate varcall
    conda install -c bioconda fastqc multiqc bwa samtools bcftools
    
  3. For GATK functionality (optional):

    conda install -c bioconda gatk4
    

Install VarCall

pip install varcall

🚀 Usage

Starting VarCall

After installation, simply run:

varcall

Keyboard Navigation

  • Tab: Navigate between tabs
  • Arrow Keys: Navigate within a tab
  • Enter: Select/Execute
  • F1: Access Help
  • Q: Quit application
  • T: Toggle theme

Basic Workflow

  1. Prepare your data following the recommended project structure
  2. Quality control your sequence data using FastQC and MultiQC
  3. Index your reference genome with BWA Index
  4. Align your reads using BWA mem
  5. Process alignments with Samtools (convert, sort, index)
  6. Call variants using Bcftools or GATK
  7. Filter and analyze your variants

Project Structure

VarCall works best with the following project structure:

Project_Directory/
├── Data/
│   ├── Reference_Genome/
│   ├── Reads/
│   │   ├── Sample_1_1.fastq
│   │   ├── Sample_1_2.fastq
│   │   └── ...
│   └── BED/
└── Results/
    ├── FastQC/
    ├── MultiQC/
    ├── Samfile/
    ├── Bamfile/
    ├── VCF/
    └── BCF/

📊 Screenshots

Home Tab

Home tab image

Samtools Tab

Samtools tab image

Bcftools Tab

Bcftools tab image

GATK Tab

GATK tab image

Pipeline Tab

Pipeline tab image

Help Tab

Help tab image

🔧 Customization

VarCall is designed to be extensible and adaptable to various bioinformatics workflows:

Current Customization

You can customize VarCall by modifying the process dictionary source code in process_dict.py. This allows you to:

  • Add new bioinformatics tools with custom parameters
  • Modify existing tool configurations
  • Create specialized pipelines for your specific workflows

Each tool is defined using a ProcessConfig object that specifies command templates, required fields, descriptions, and more.

Upcoming Features

  • YAML Configuration: Define tools and workflows through YAML files without modifying source code
  • Custom Widgets: Additional UI components for enhanced user experience
  • Pipeline Builder: Visual interface for connecting tools into complex workflows

🤝 Contributing

Contributions to VarCall are welcome and appreciated! Here are ways you can contribute:

  • Report Bugs: Submit issues for any bugs you encounter
  • Feature Requests: Suggest new features or improvements
  • Code Contributions: Submit pull requests with bug fixes or new features
  • Documentation: Help improve documentation or add tutorials
  • Tool Integration: Add configurations for additional bioinformatics tools

Please follow standard GitHub workflow for contributions:

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Submit a pull request

📜 License

varcall is distributed under the terms of the MIT license.

Release files for varcall 2.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for varcall 2.0.1
File Size Uploaded
varcall-2.0.1.tar.gz 282.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for varcall 2.0.1
File Interpreter ABI Platform
varcall-2.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 300.0 kB

Release files / varcall-2.0.1.tar.gz

Download URL varcall-2.0.1.tar.gz
Size 282.7 kB
Tags Source
SHA-256 checksum
How to use checksums
bcfecb14b0ff3551e3c1fa35634a0e29b1e4051f1b81cf7d04673424b6fefd20
BLAKE2b-256 checksum
How to use checksums
5489aa65a0b0df8621272927328176872dc6797bf4c6189eeb45dfee286a467d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 20, 2025.

Transparency log

Release files / varcall-2.0.1-py3-none-any.whl

Download URL varcall-2.0.1-py3-none-any.whl
Size 17.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6ebd9c6e5fe8f03656711843a9083d47ea7ce7d6e537da32b12d0221796f72b6
BLAKE2b-256 checksum
How to use checksums
dcf018f57390ce9636cda1fc6f7d9409ef90b6b15573aae9ebeca128ff95d528
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 20, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

2.0.1 This release

2 release files

2.0.0

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page