BioSkills bio-read-alignment-bowtie2-alignment
Align short reads using Bowtie2 with local or end-to-end modes. Supports gapped alignment. Use when aligning ChIP-seq, ATAC-seq, or when flexible alignment modes are needed.
install
source · Clone the upstream repo
git clone https://github.com/GPTomics/bioSkills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/GPTomics/bioSkills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/read-alignment/bowtie2-alignment" ~/.claude/skills/gptomics-bioskills-bio-read-alignment-bowtie2-alignment && rm -rf "$T"
manifest:
read-alignment/bowtie2-alignment/SKILL.mdsource content
Version Compatibility
Reference examples tested with: samtools 1.19+
Before using code patterns, verify installed versions match. If versions differ:
- CLI:
then<tool> --version
to confirm flags<tool> --help
If code throws ImportError, AttributeError, or TypeError, introspect the installed package and adapt the example to match the actual API rather than retrying.
Bowtie2 Alignment
"Align DNA reads with Bowtie2" → Map short reads to a reference genome using Bowtie2's end-to-end or local alignment modes.
- CLI:
bowtie2 -x index -1 R1.fq -2 R2.fq | samtools sort -o aligned.bam
Build Index
# Build index from reference FASTA bowtie2-build reference.fa reference_index # With threads (faster) bowtie2-build --threads 8 reference.fa reference_index # Creates: reference_index.1.bt2, .2.bt2, .3.bt2, .4.bt2, .rev.1.bt2, .rev.2.bt2
Basic Alignment
# Paired-end reads bowtie2 -p 8 -x reference_index -1 reads_1.fq.gz -2 reads_2.fq.gz -S aligned.sam # Single-end reads bowtie2 -p 8 -x reference_index -U reads.fq.gz -S aligned.sam # Direct to sorted BAM bowtie2 -p 8 -x reference_index -1 r1.fq.gz -2 r2.fq.gz | \ samtools sort -@ 4 -o aligned.sorted.bam -
Alignment Modes
# End-to-end mode (default) - align entire read bowtie2 --end-to-end -x index -1 r1.fq -2 r2.fq -S aligned.sam # Local mode - soft-clip ends for better alignment bowtie2 --local -x index -1 r1.fq -2 r2.fq -S aligned.sam
Sensitivity Presets
# Very fast (less sensitive) bowtie2 --very-fast -x index -1 r1.fq -2 r2.fq -S aligned.sam # Fast bowtie2 --fast -x index -1 r1.fq -2 r2.fq -S aligned.sam # Sensitive (default) bowtie2 --sensitive -x index -1 r1.fq -2 r2.fq -S aligned.sam # Very sensitive (slower but more accurate) bowtie2 --very-sensitive -x index -1 r1.fq -2 r2.fq -S aligned.sam # Local mode equivalents bowtie2 --very-sensitive-local -x index -1 r1.fq -2 r2.fq -S aligned.sam
ChIP-seq Alignment
# Typical ChIP-seq settings bowtie2 -p 8 \ --very-sensitive \ --no-mixed \ --no-discordant \ -x index -1 chip_1.fq.gz -2 chip_2.fq.gz | \ samtools view -bS -q 30 -F 4 - | \ samtools sort -o chip.sorted.bam -
ATAC-seq Alignment
# ATAC-seq with size selection bowtie2 -p 8 \ --very-sensitive \ -X 2000 \ # Max fragment length --no-mixed \ --no-discordant \ -x index -1 atac_1.fq.gz -2 atac_2.fq.gz | \ samtools view -bS -q 30 - | \ samtools sort -o atac.sorted.bam -
Fragment Size Options
# Set expected insert size range bowtie2 -p 8 \ -I 100 \ # Minimum fragment length -X 500 \ # Maximum fragment length -x index -1 r1.fq -2 r2.fq -S aligned.sam
Read Group and Output Options
# Add read group bowtie2 -p 8 \ --rg-id sample1 \ --rg SM:sample1 \ --rg PL:ILLUMINA \ --rg LB:lib1 \ -x index -1 r1.fq -2 r2.fq -S aligned.sam
Multi-mapping Reads
# Report up to k alignments per read bowtie2 -k 5 -x index -1 r1.fq -2 r2.fq -S aligned.sam # Report all alignments bowtie2 -a -x index -1 r1.fq -2 r2.fq -S aligned.sam
Output Unmapped Reads
# Write unmapped reads to separate files bowtie2 -p 8 \ --un-conc-gz unmapped_%.fq.gz \ -x index -1 r1.fq.gz -2 r2.fq.gz -S aligned.sam
Key Parameters
| Parameter | Default | Description |
|---|---|---|
| -p | 1 | Number of threads |
| -x | - | Index basename |
| -1/-2 | - | Paired-end reads |
| -U | - | Single-end reads |
| -I | 0 | Min fragment length |
| -X | 500 | Max fragment length |
| -k | 1 | Report up to k alignments |
| --no-mixed | off | Suppress unpaired alignments |
| --no-discordant | off | Suppress discordant alignments |
Alignment Statistics
# Bowtie2 prints alignment summary to stderr bowtie2 -p 8 -x index -1 r1.fq -2 r2.fq -S aligned.sam 2> alignment_stats.txt
Example output:
1000000 reads; of these: 1000000 (100.00%) were paired; of these: 50000 (5.00%) aligned concordantly 0 times 900000 (90.00%) aligned concordantly exactly 1 time 50000 (5.00%) aligned concordantly >1 times 95.00% overall alignment rate
Related Skills
- read-qc/fastp-workflow - Preprocess reads before alignment
- alignment-files/alignment-sorting - Post-alignment processing
- chip-seq/peak-calling - ChIP-seq analysis
- atac-seq/atac-peak-calling - ATAC-seq analysis