Hello,
When pseudo-aligning bulk RNAseq fastq files with kallisto, I end up with very variable rates between my samples, sometimes below 30%.
When running kallisto on a set of fastqs, I get less than 10M reads pseudoaligned out of more than 40M reads Estimated average fragment length is 114.862, which is apparently way too short
Where can this come from ? Could it be adapter contamination ? I built the index using the transcript sequence fasta file from GENCODE
Is that much of a problem, if my downstream analysis looks normal, which genes where they're expected to be ? Though the problem is that the alignment is highly variable, I have samples over 50%, others below 20%...
Thank you in advance
1 answer
If so many reads aren’t aligning, you should pull out 10 or so reads at random, and run the sequences through BLAST.
Kallisto aligns to the mature mRNA transcriptome; your results suggest that you have reads not belonging to it. Your reads may be originating from introns, rRNA, some other species, etc.
Log in to answer this question.
Hi,
Check your fastq files with a tool like fastqc. It displays if you have adapter contamination. It also show you if you have over-represented sequences which might indicate a different type of contamination. Check also, if your reads' quality is comparable between samples/runs.
EDIT: You also might want to check if the rRNA depletion/ mRNA-enrichment worked by aligning the reads against you target species' rRNA and mt-rRNA sequences.
FastQC appears to show a large percentage of transposase sequence and adapter towards the end of the reads, that's probably the source of the problem, is it mandatory to trim it ?
Trimming depends on your workflow. Standard-aligner like minimap2, STAR, etc. would soft-clip your reads' adapter sequences, rendering the trimming step obsolete. I don't know if that's the case for pseudo-aligner like Kallisto.
I would nevertheless trim the data if you are still in an exploratory phase, in order to get a feeling for your data. Make fastqc analyses for raw and trimmed data and check it with multiqc.