A beginner friendly TUI tool for variant calling
Project description
VarCall
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
- ๐ง Installation
- ๐ Usage
- ๐ Screenshots
- ๐ง Customization
- ๐ค Contributing
- ๐ License
๐ 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.
-
Install Miniconda (if not already installed): Visit Miniconda for installation instructions.
-
Create a conda environment with required tools:
conda create -n varcall -y conda activate varcall conda install -c bioconda fastqc multiqc bwa samtools bcftools
-
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 tabsArrow Keys: Navigate within a tabEnter: Select/ExecuteF1: Access HelpQ: Quit applicationT: Toggle theme
Basic Workflow
- Prepare your data following the recommended project structure
- Quality control your sequence data using FastQC and MultiQC
- Index your reference genome with BWA Index
- Align your reads using BWA mem
- Process alignments with Samtools (convert, sort, index)
- Call variants using Bcftools or GATK
- 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
Samtools Tab
Bcftools Tab
GATK Tab
Pipeline Tab
Help Tab
๐ง 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:
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
๐ License
varcall is distributed under the terms of the MIT license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file varcall-2.0.1.tar.gz.
File metadata
- Download URL: varcall-2.0.1.tar.gz
- Upload date:
- Size: 282.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bcfecb14b0ff3551e3c1fa35634a0e29b1e4051f1b81cf7d04673424b6fefd20
|
|
| MD5 |
10e3a5ed102de175369499674a381a8c
|
|
| BLAKE2b-256 |
5489aa65a0b0df8621272927328176872dc6797bf4c6189eeb45dfee286a467d
|
Provenance
The following attestation bundles were made for varcall-2.0.1.tar.gz:
Publisher:
python-publish.yml on vidyasagar0405/varcall
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
varcall-2.0.1.tar.gz -
Subject digest:
bcfecb14b0ff3551e3c1fa35634a0e29b1e4051f1b81cf7d04673424b6fefd20 - Sigstore transparency entry: 185718208
- Sigstore integration time:
-
Permalink:
vidyasagar0405/varcall@0885a61d5c087d08e4d6694bd979493a62926b1f -
Branch / Tag:
refs/tags/v2.0.1 - Owner: https://github.com/vidyasagar0405
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@0885a61d5c087d08e4d6694bd979493a62926b1f -
Trigger Event:
release
-
Statement type:
File details
Details for the file varcall-2.0.1-py3-none-any.whl.
File metadata
- Download URL: varcall-2.0.1-py3-none-any.whl
- Upload date:
- Size: 17.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6ebd9c6e5fe8f03656711843a9083d47ea7ce7d6e537da32b12d0221796f72b6
|
|
| MD5 |
ef956eb878b3af08a63066ec0c7f0d31
|
|
| BLAKE2b-256 |
dcf018f57390ce9636cda1fc6f7d9409ef90b6b15573aae9ebeca128ff95d528
|
Provenance
The following attestation bundles were made for varcall-2.0.1-py3-none-any.whl:
Publisher:
python-publish.yml on vidyasagar0405/varcall
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
varcall-2.0.1-py3-none-any.whl -
Subject digest:
6ebd9c6e5fe8f03656711843a9083d47ea7ce7d6e537da32b12d0221796f72b6 - Sigstore transparency entry: 185718213
- Sigstore integration time:
-
Permalink:
vidyasagar0405/varcall@0885a61d5c087d08e4d6694bd979493a62926b1f -
Branch / Tag:
refs/tags/v2.0.1 - Owner: https://github.com/vidyasagar0405
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@0885a61d5c087d08e4d6694bd979493a62926b1f -
Trigger Event:
release
-
Statement type: