linux - 深渊-pe : variables to assemble multiple genomes with one command

标签 linux bash abyss

如何重写以下内容以使用我的 genomeID 正确替换变量? (我在 Spades 和 Masurca 汇编器中使用了这种方法,所以 Abyss 不喜欢这种方法,我需要一个变通方法)

我试图在集群服务器上运行 abyss,但遇到了 abyss-pe 如何读取我的变量输入的问题:

  1. 我的提交文件为 .txt 文件中列出的每个基因组加载脚本
  2. 我的脚本在整个脚本中都使用基因组名称
  3. abyss 程序集摸索出变量替换

输入.sub:

queue genomeID from genomelisttest.txt

输入.sh:

#!/bin/bash
genomeID=$1
cp /mnt/gluster/harrow2/trim_output/${genomeID}_trim.tar.gz ./
tar -xzf ${genomeID}_trim.tar.gz
rm ${genomeID}_trim.tar.gz
for k in `seq 86 10 126`; do
    mkdir k$k
    abyss-pe -C k$k name=${genomeID} k=$k lib='pe1 pe2' pe1='../${genomeID}_trim/${genomeID}_L1_1.fq.gz ../${genomeID}_trim/${genomeID}_L1_2.fq.gz' pe2='../${genomeID}_trim/${genomeID}_L2_1.fq.gz ../${genomeID}_trim/${genomeID}_L2_2.fq.gz' 
done

我得到的错误:

`../enome_trim/enome_L1_1.fq.gz': No such file or directory

这是“enome”应该用五位数的基因组 ID 替换的地方,这在脚本的早期部分正确发生,直到此时,abyss 出现了。

最佳答案

pe1='../'"$genomeID"'_trim/'"$genomeID"'_L1_1.fq.gz ...'

我在变量前后加了单引号

关于linux - 深渊-pe : variables to assemble multiple genomes with one command,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54621976/

相关文章:

bash - 尝试使用 BOXEE 中的 bash 启动 XBMC

php - 使用 Abyss Web Server 实现 MySQL 时如何修复 HY000/2054?

c - 为什么我的内核日志没有显示最新的输出?

c - 使用fork创建文件夹和文件

linux - 为什么如果 [假];然后回显 'ok' ;菲;打印好吗?

c++ - 修改终端中的文本

bash - 如何让 HBase 等到 HDFS 准备好后才开始?

bash - 提取包含多个部分的部分文件名