最近用kallisto回帖到基因组上看比对情况的时候,发现出现过两种错误(版本0.46.1结果错误,0.46.2会直接error),记录下解决方案。
代码语言:javascript复制 kallisto quant -t 8 -i all_gencode/gencode_all_index
-o test/
--rf-stranded
${read1}.fastq.gz ${read2}.fastq.gz
--genomebam --gtf merged_genes.gtf
--chromosome ~/mm10/mm10.chrom.sizes
错误1: 并没有真正的比对到基因组上,IGV无法可视化,如下图所示(来自github,与我同样的问题)
错误2: 这其实是一个samtools index错误,但是文件中并不存在544185581的position,同样问题出在kallisto。 Region 7321929..544185581 cannot be stored in a bai index. Try using a csi index with min_shift = 14, n_lvls >= 6
第一个问题与第二个问题都是源自GTF注释文件。首先kallisto需要需要的GTF文件必须是标准格式(以下来自GENCODE vM25):
也就是必须按照gene - transcript - exon的顺序,比如如果这个GTF文件中只有exon或者只有transcript - exon 没有gene都是会发生第一种错误。
第二种错误比较难以察觉,我是看到以下这个人说的才知道怎么解决:
exons是有顺序的,如果这是 链的话,那么exons需要按position升序排列;如果是-链的话,exons则需要按照position降序排列(但是假如一个gene有多个transcripts,transcripts则都是升序)。具体可以参照GENCODE的格式。