A desktop application for filtering Single Nucleotide Polymorphisms (SNPs) from VCF files for Quantitative Trait Locus (QTL) analysis. This tool provides an intuitive graphical interface for loading, processing, and filtering genetic variant data.
- User-Friendly GUI: Built with Tkinter for easy interaction
- Multiple Filtering Algorithms: Five different filters for SNP selection
- VCF File Support: Standard Variant Call Format processing
- Sample Configuration: Flexible column mapping for different sample types
- Real-time Logging: Track processing steps and results
- Export Results: Save filtered variants to new VCF files
- Python 3.6 or higher
- Tkinter (usually included with Python)
- Clone the repository:
git clone https://github.com/yourusername/snps_qtl_selection.git cd snps_qtl_selection - No additional packages required! The application uses only Python standard libraries.
python snps_qtl_selection.py-
Load VCF File
- Click "Browse" to select your VCF file
- Click "Load VCF" to parse the file
-
Configure Sample Columns
- The application auto-detects sample columns
- Assign each of the 4 required sample types:
- Parental Superior
- Parental Inferior
- Pool Superior
- Random Pool
- Click "Save Configuration" to store the mapping
-
Select Filter
- Choose from 5 available filters:
- Minimum Allele Count: Filter by minimum read count
- Percent Threshold: Filter by allele frequency percentage
- Dominant Reference Allele: Filter for dominant alleles
- Difference from Maximum Frequency: Filter by frequency differences
- Random Pool Mean: Filter using random pool statistics
- Choose from 5 available filters:
-
Configure Filter Parameters
- Enter required parameters for the selected filter
- View help information for each filter type
-
Apply Filter
- Click "Apply Filter" to process variants
- View results in the log panel
-
Save Results
- Click "Save Result" to export filtered variants
- Choose location and filename