Utility modules for mapping and visualizing alternative splicing events from splice junction files, extending the core functionality of the LeafletFA framework.
LeafletFA-utils contains two main modules:
- ATSEmapper: A tool for mapping alternative splicing events from splice junction files
- ATSEviz: A visualization tool for alternative splicing events
These modules complement the main LeafletFA repository, which contains the core source code for running the model.
ATSEmapper is designed to efficiently identify and map alternative splicing events from RNA-seq splice junction data.
- Identification of multiple types of alternative splicing events:
- Exon skipping
- Alternative 5' splice sites
- Alternative 3' splice sites
- Mutually exclusive exons
- Intron retention
- Complex splicing patterns
- Batch processing of multiple splice junction files
- Integration with genome annotations
- Quantification of splicing events by PSI (Percent Spliced In) calculation
ATSEmapper processes splice junction files generated by regtools.
- Each input file should correspond to one sample (bulk RNA-seq or single-cell)
- Currently optimized for bulk RNA-seq and plate-based single-cell data
- Compatible with output format from regtools junctions extract command
- 10X Genomics data compatibility is under development (may contain multiple cells in one BAM/junction file)
python ATSEmapper.py --input path/to/junction/files --output path/to/output/directory --annotation path/to/genome/annotation --genome path/to/genome/sequence| Parameter | Description |
|---|---|
--input |
Directory containing regtools splice junction files or path to a single file |
--output |
Directory where output files will be saved |
--annotation |
GTF/GFF3 file with genome annotation |
--genome |
FASTA file with genome sequence |
--min-reads |
Minimum number of reads to consider a junction (default: 5) |
--psi-threshold |
Threshold for PSI calculation (default: 0.05) |
ATSEviz provides interactive visualization tools for alternative splicing events identified by ATSEmapper.
- Interactive visualization of splicing events
- Differential splicing analysis between multiple conditions
- Heatmaps of splicing patterns across samples
- Sashimi plots for individual splicing events
- Gene structure visualization with alternative splicing events highlighted
- Export of visualization as publication-ready figures
python ATSEviz.py --input path/to/ATSEmapper/output --output path/to/visualization/output --design path/to/experimental/design| Parameter | Description |
|---|---|
--input |
Directory containing ATSEmapper output files |
--output |
Directory where visualization outputs will be saved |
--design |
Tab-delimited file describing experimental design |
--events |
List of specific events to visualize (optional) |
--format |
Output format for figures (default: png, options: svg, pdf, etc.) |
--interactive |
Generate interactive HTML visualizations (default: False) |
# Clone the repository
git clone https://github.com/username/LeafletFA-utils.git
cd LeafletFA-utils
# Install dependencies
pip install -r requirements.txt
# Test installation
python test_installation.py- Python ≥ 3.10
- NumPy
- Pandas
- Matplotlib
- Seaborn
- Plotly (for interactive visualizations)
- Pysam (for genome sequence access)
- HTSeq (for annotation parsing)
- Regtools (for generating input junction files from BAM files)
python ATSEmapper.py --input examples/junctions/ --output examples/mapped_events/ --annotation examples/annotation/gencode.v38.annotation.gtf --genome examples/genome/GRCh38.primary_assembly.genome.fapython ATSEviz.py --input examples/mapped_events/ --output examples/visualizations/ --design examples/experimental_design.txt --interactiveComprehensive documentation is available at https://leafletfa-utils.readthedocs.io/
If you use LeafletFA-utils in your research, please cite:
Isaev et al. (2025). LeafletFA: A comprehensive framework for alternative splicing analysis from single cell RNA-seq data. Journal Name. DOI: 10.xxxx/xxxxx
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
For questions or support, please open an issue on GitHub or contact [karin.isaev@gmail.com].