https://github.com/broadinstitute/aso-offtarget-checker
Science Score: 36.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
✓Academic publication links
Links to: ncbi.nlm.nih.gov -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.2%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: broadinstitute
- License: mit
- Language: Python
- Default Branch: main
- Size: 5.86 KB
Statistics
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
ASO Off-Target Checker
A Flask web application for checking antisense oligonucleotide (ASO) off-target effects using NCBI BLAST.
This tool was based on the report entitled In silico off-targets analysis for PrP-lowering divalent siRNA 2439-exNA of Eric Vallabh Minikel, PhD.
Features
- Sequence Analysis: Check ASO sequences for potential off-target binding
- Multiple Species Support:
- Human (Homo sapiens, taxid: 9606)
- Mouse (Mus musculus, taxid: 10090)
- Rat (Rattus norvegicus, taxid: 10116)
- Customizable Parameters: Adjustable E-value and mismatch thresholds
- Downloadable Results: Export results in tab-delimited text format
- User-Friendly Interface: Clean, responsive web interface with collapsible advanced options
Prerequisites
Before running the application, ensure you have:
NCBI BLAST+ installed locally
BLAST Databases set up:
- Requires
refseq_select_rnadatabase - Can be downloaded using NCBI's
update_blastdb.plscript
- Requires
Python 3.7+ with the following packages (install via
requirements.txt)
Installation
Clone this repository:
bash git clone https://github.com/yourusername/aso-offtarget-checker.git cd aso-offtarget-checkerInstall Python dependencies:
bash pip install -r requirements.txtSet up BLASTDB environment variable (critical for BLAST to find databases):
bash export BLASTDB=/path/to/your/blast/databasesNote: Add this to your shell configuration file (e.g.,.bashrc,.zshrc) to make it persistent.Verify BLAST installation:
bash blastn -version
Usage
Running the Application
Start the Flask development server:
bash
python app.py
The application will be available at:
http://localhost:8080/check-aso
Using the Web Interface
Enter ASO Sequence:
- Input your ASO sequence (DNA only, ACGTN characters)
- Default example sequence provided
Select Species:
- Choose from Human, Mouse, or Rat
Advanced Options (click to expand):
- E-value threshold: Default = 1000 (higher values return more results)
- Max mismatches: Default = 4 (maximum allowed mismatches)
Run Analysis:
- Click "Run BLAST" to start the search
- Results typically appear within seconds to minutes depending on query length
Download Results:
- After analysis, click "Download Results" to save as text file
- Filename includes species and timestamp for easy identification
Configuration
Environment Variables
For proper BLAST operation, these environment variables may need configuration:
```bash
Path to BLAST databases (REQUIRED)
export BLASTDB=/path/to/blast/databases
Optional: Increase number of threads for BLAST
export BLASTNUM_THREADS=4 ```
Application Settings
Modify app.py for these options:
- Change default port (currently 8080)
- Adjust default sequence parameters
- Modify BLAST command options (e.g.,
-num_alignments)
Troubleshooting
Common Issues
BLAST Database Not Found:
Error: BLAST database not found- Solution: Verify
BLASTDBenvironment variable points to correct directory - Ensure required databases (refseqselectrna) are present
- Solution: Verify
Invalid Sequence Error:
- Only ACGTN characters allowed
- Sequences are automatically converted to uppercase
No Results Found:
- Try increasing E-value threshold
- Increase maximum allowed mismatches
- Verify your sequence doesn't contain invalid characters
Technical Details
BLAST Parameters
The application uses these BLASTN parameters by default:
bash
blastn \
-task blastn-short \
-db refseq_select_rna \
-outfmt 5 `# XML file` \
-evalue [user_specified] \
-num_alignments 5000 \
-taxids [selected_species_taxid]
Data Processing
- XML output from BLAST is parsed using Python's ElementTree
- Results are filtered by:
- Frame = 1 (forward strand only)
- User-specified mismatch threshold
- Alignment visualization shows:
- Query sequence
- Midline (match indicators)
- Hit sequence
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- NCBI for BLAST software and databases
- Flask for web framework
- Pandas for data processing
Owner
- Name: Broad Institute
- Login: broadinstitute
- Kind: organization
- Location: Cambridge, MA
- Website: http://www.broadinstitute.org/
- Twitter: broadinstitute
- Repositories: 1,083
- Profile: https://github.com/broadinstitute
Broad Institute of MIT and Harvard
GitHub Events
Total
- Push event: 6
Last Year
- Push event: 6