HISAT2 is a memory-efficient splice-aware RNA-seq aligner. Its hierarchical graph FM-index does spliced alignment at roughly a quarter of STAR's memory (~7 GB vs ~30 GB for human), its MAPQ is GATK-friendly (60 for unique, no 255 problem), and its SNP/haplotype graph index can reduce reference bias before any read is mapped. It is the right choice on a memory-constrained machine and the standard front end for StringTie/Cufflinks transcript assembly (via --dta). This skill emphasizes the memory and graph-index advantages, the --dta trade-off, and the strandedness setting that silently halves counts when wrong.
conda install -c bioconda hisat2 samtools
hisat2-build) or a prebuilt index (grch38_tran, grch38_snp_tran) from the HISAT2 site; a full human annotation-aware build needs substantial RAM.--rna-strandness accordingly.Tell your AI agent what you want to do: - "Align my RNA-seq reads with HISAT2 on a low-memory machine" - "Build a HISAT2 index with splice sites and exons from my GTF" - "Run HISAT2 with the right strandedness for my TruSeq library" - "Align for StringTie transcript assembly with the --dta flag" - "Use the SNP-aware graph index to reduce reference bias"
"Build a HISAT2 index for genome.fa with splice sites and exons from genes.gtf, and tell me if I should use a prebuilt index instead to avoid the RAM cost."
"Align my paired-end TruSeq stranded RNA-seq with HISAT2 using the correct --rna-strandness, and output a sorted, indexed BAM."
"Align reads for StringTie with HISAT2 --dta, and explain what --dta trades away for plain counting."
"STAR needs ~30 GB and my node has 16 GB -- align my RNA-seq with HISAT2 instead and explain the trade-off."
--ss --exon build would exhaust RAM.--rna-strandness from the library (RF for the common dUTP/TruSeq case), inferring it if unknown.--dta only when StringTie/Cufflinks assembly is the downstream, never for plain counting.| Kit / method | HISAT2 flag |
|---|---|
| Unstranded | (omit --rna-strandness) |
| Illumina TruSeq Stranded mRNA | --rna-strandness RF |
| dUTP method | --rna-strandness RF |
| Ligation / forward method | --rna-strandness FR |
| Single-end reverse / forward | --rna-strandness R / F |
--rna-strandness (RF for most Illumina stranded libraries) or sense reads fall in "no feature" and counts roughly halve; infer it with RSeQC infer_experiment.py if unknown.--dta only for transcript assembly (StringTie/Cufflinks); it discards short-anchor junction reads, hurting plain counting.grch38_tran / grch38_snp_tran index, or pass junctions at align time via --known-splicesite-infile, to avoid the heavy RAM of a full annotation-aware build.| Factor | Choose HISAT2 | Choose STAR |
|---|---|---|
| Memory | limited (<32 GB) | available (>=32 GB) |
| Native gene counts | not needed | needed (GeneCounts) |
| Fusion detection | not needed | needed (chimeric) |
| Transcript assembly | StringTie/Cufflinks via --dta | -- |
| MAPQ for GATK | 60 (friendly) | 255 -> set 60 |
| Novel-junction sensitivity | good | highest (2-pass) |