我在bash脚本中使用bowtie-index生成了bowtie索引文件,如下所示:
bowtie-build $FA_FILE $OUTPUT_BASE
(脚本可以在这里找到:https://github.com/kennethphough/bioinformatics/blob/master/sge/sge_build_index)
我希望我的簇的每个节点将我的序列文件与染色体对齐,而不是与整个基因组对齐。因此,理论上如果我为每个节点上的相同序列文件运行每个染色体的tophat实例,它应该比在整个基因组的一个节点上运行tophat更快。
我确保我的bowtie索引文件的位置是这样导出的:
export BOWTIE_INDEXES="$(dirname ${EBWT})/"
然后像这样执行tophat:
tophat -p 4 -G $GTF -o $OBASE $Chr $FASTQ
$GTF
包含注释文件的路径,$Chr
包含索引文件的文件名(不包括文件扩展名.ebwt),$FASTQ
包含我的序列读取的路径文件。
(脚本可以在这里找到:https://github.com/kennethphough/bioinformatics/blob/master/sge/sge_tophat)
当我运行脚本时,我得到一个错误,说bowtie index不能为foudn。摘录如下:
[Sun Oct 5 15:08:48 2014] Beginning TopHat run (v1.1.2)
-----------------------------------------------
[Sun Oct 5 15:08:48 2014] Preparing output location /home/kennethphough/GSE58365/fast/chr11_gl000202_random.1/
[Sun Oct 5 15:08:48 2014] Checking for Bowtie index files
Error: Could not find Bowtie index files /home/kennethphough/genome/hg19/chr11_gl000202_random.1.*
上述错误的问题指向文件是chr11_gl000202_random.1.ebwt
,我已经确认它在那里。任何导致出错的人都将不胜感激。
Bowtie版本是0.12.7 Tophat版本是1.1.2
答案 0 :(得分:0)
问题在于,一个领结索引有多个文件。因此,对于上面的示例,chr11_gl000202_random
具有:
chr11_gl000202_random.1.ebwt
chr11_gl000202_random.2.ebwt
chr11_gl000202_random.3.ebwt
chr11_gl000202_random.rev.1.ebwt
chr11_gl000202_random.rev.1.ebwt
所以不要传递没有扩展名的文件名,而是需要像这样得到染色体序列名称:
Chr=`echo "$FNAME" | awk -F. '{print $1}'`
我在github上更新我的脚本以反映更改。