我在bash脚本中使用bowtie索引生成了bowtie索引文件,如下所示:
bowtie-build $FA_FILE $OUTPUT_BASE(在这里可以找到脚本:index)
我希望我的集群中的每个节点将我的序列文件与染色体对齐,而不是与整个基因组对齐。因此,理论上,如果我对每个节点上的同一序列文件对每个染色体运行tophat实例,它应该比对整个基因组在一个节点上运行tophat更快。
我确保我的bowtie索引文件的位置被导出如下:
export BOWTIE_INDEXES="$(dirname ${EBWT})/"然后像这样执行tophat:
tophat -p 4 -G $GTF -o $OBASE $Chr $FASTQ$GTF包含到注释文件的路径,$Chr包含索引文件的文件名(不包括文件扩展名.ebwt),$FASTQ包含到我的序列读取文件的路径。
(在这里可以找到脚本:tophat)
当我运行这个脚本时,我会发现一个错误,即bowtie索引不能被违反。节选如下:
[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.*上述错误的bowtie索引文件是chr11_gl000202_random.1.ebwt,我已经确认它在那里。任何关于哪里出了问题的线索都会受到极大的赞赏。
保龄球版为0.12.7顶帽版为1.1.2
发布于 2014-10-05 23:40:18
问题是,一个bowtie索引有多个文件。因此,对于上面的示例,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上更新了我的脚本,以反映这些更改。
https://stackoverflow.com/questions/26207673
复制相似问题