构建Bowtie索引失败(tophat2,bowtie2)

时间:2015-12-29 19:32:13

标签: bioinformatics

(注意:标签应该是tophat2和bowtie2,但我没有创建新标签的要点)

问候:我使用Tophat2(命令行)来分析RNA-seq数据,我遇到了一些错误。

以下是电话:

tophat2 -o tophat2_results/ -G ref_data/BA000007.2.gtf --transcriptome-index=transcriptome_data/RNA_LBG01b_241_filteredQ indices/BA000007.2 data_files/RNA_LBG01b_241_filteredQ.fastq

以下是错误:

[2015-12-29 12:58:33] Checking for Bowtie
          Bowtie version:     2.2.4.0
[2015-12-29 12:58:33] Checking for Bowtie index files (genome)..
[2015-12-29 12:58:33] Checking for reference FASTA file
[2015-12-29 12:58:33] Generating SAM header for indices/BA000007.2
[2015-12-29 12:58:33] Reading known junctions from GTF file
    Warning: TopHat did not find any junctions in GTF file
[2015-12-29 12:58:33] Preparing reads
     left reads: min. length=12, max. length=342, 202732 kept reads (1315 discarded)
Warning: short reads (<20bp) will make TopHat quite slow and take large amount of memory because they are likely to be mapped in too many places
[2015-12-29 12:58:39] Building transcriptome data files transcriptome_data/RNA_LBG01b_241_filteredQ
[2015-12-29 12:58:40] Building Bowtie index from RNA_LBG01b_241_filteredQ.fa
    [FAILED]
Error: Couldn't build bowtie index with err = 1

版本信息: TopHat v2.1.0 Bowtie2版本2.2.4 Python 2.7.10 :: Anaconda 2.4.0(64位)

系统信息: CentOS版本6.7

我是如何来到这里的,我尝试了什么:

我使用大肠杆菌(登录号:BA000007.2)作为我的参考基因组,可以在这里找到:http://www.ncbi.nlm.nih.gov/nuccore/BA000007.2

我从Ensemble(ftp://ftp.ensemblgenomes.org/pub/release-29/bacteria//gtf/bacteria_9_collection/escherichia_coli_o157_h7_str_sakai/

获取了我的GTF文件

我使用bowtie2-build制作我的索引(在tophat2调用之前)

bowtie2-build -f ref_data/BA000007.2.fasta indices/BA000007.2

我知道我收到的错误与* .gtf文件的第一列中出现的不同名称以及参考fasta文件的名称有关。如果我理解正确的话,第1列中的每个条目都应该是BA000007.2,其中第1列中的大多数名称都是“染色体”。为了解决这个问题,我做了以下几点:

awk '{FS=OFS="\t"}{print "BA000007.2", $2, $3, $4, $5, $6, $7, $8, $9}' pathToGTF/BA000007.2_ensemble.gtf > pathToGTF/BA000007.2.gtf 

#请注意在ensemble gtf文件开头的注释构建信息(例如,#!genome-build ASM80120v1)会从awk命令创建不良输出

我还将fasta文件的终止从* .fasta更改为* .fa

问题:

  1. 我是否正确地解决了由于gtf文件的第1列和fasta文件名(BA000007.2,BA000007.2.fa)之间的命名差异而导致的任何问题?

  2. 当我在日志目录中仔细阅读输出时,有几个错误(ftf_juncs.log中的g2f.err和类似错误),行以:

    开头

    警告:行的起始坐标无效: BA000007.2 ena基因-194 2502。 +。 gene_id“BAA31757”; gene_version“1”; gene_name“tagA”; gene_source“ena”; gene_biotype“protein_coding”;

  3. gtf文件确实存在负数,但在genbank文件中却没有(在vim中快速搜索)。这可能是错误的来源吗?我注释掉了特定的行并将其从文件中删除 - 这两种方法仍会导致错误。

    1. 是否有任何可能导致“无法使用err = 1构建领结索引”的错误
    2. 我已经坚持了几天,所以非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

我找到了问题的根源。它是参考fasta文件中的标题。最初的标题是:

>gi|47118301|dbj|BA000007.2| Escherichia coli O157:H7 str. Sakai DNA, complete genome

应该在哪里

>BA000007

所以......如果fasta文件名为abc123.fa,那么fasta文件中的标题必须是&gt; abc123。 gtf文件中的第一列也必须是abc123。

请注意我在所有通话中都将BA000007.2的基数更改为BA000007,并且我重命名了名称中没有.2的所有文件。它可能仍然适用于.2,但我没有测试它(&#34; basename是任何索引文件的名称,但不包括第一个句点。&# 34; [tophat manual])(谢谢AM)。最后,我将fasta文件从* .fasta重命名为* .fa。