kallisto --genomebam报错解决(GTF文件的坑)

时间:2022-07-23
本文章向大家介绍kallisto --genomebam报错解决(GTF文件的坑),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

最近用kallisto回帖到基因组上看比对情况的时候,发现出现过两种错误(版本0.46.1结果错误,0.46.2会直接error),记录下解决方案。

    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的格式。