我是shell的新手,我正在尝试采用别人的代码供我自己使用。
我有一个名为“sampleprefix.txt”的文件,如下所示:
Sample1_A
Sample2_A
Sample3_B
Sample3_A
Sample4_C
Sample4_A
我想写一个shell脚本,它将逐行读取sampleprefix.txt文件,并在脚本中将每一行用作我的$ {prefix}。
我想要这个shell脚本:
file ="sampleprefix.txt"
while read prefix ; do
merge ${prefix}.fastq
done < sampleprefix.txt #use ${prefix} as prefix:
VSEARCH="vsearch"
OUTPUT="combined_nc.fasta"
COMBINED="combined.fasta"
#Part I:
wc -l ${prefix}.fastq >> test.txt
#Part II:
"${VSEARCH}" --fastq_filter ${prefix}.fastq --fastaout ${prefix}.fasta
cat *.fasta > ${COMBINED}
#Part III:
"${VSEARCH}" --uchime_denovo ${COMBINED} --chimeras chimeras_denovo.fasta --nonchimeras ${OUTPUT} --uchimeout uchimeinfo_denovo
输出这三部分:
第一部分:
wc -l Sample1_A.fastq >> test.txt
wc -l Sample2_A.fastq >> test.txt
...
wc -l Sample4_A.fastq >> test.txt
#Continually add wc -l for each file to test.txt
第二部分:
vsearch --fastq_filter Sample1_A.fastq --fastaout Sample1_A.fasta
vsearch --fastq_filter Sample2_A.fastq --fastaout Sample2_A.fasta
...
vsearch --fastq_filter Sample4_A.fastq --fastaout Sample4_A.fasta
#again looping through each line to create a new file (.fasta) with the same prefixes
cat *.fasta > combined.fasta
第三部分:
vsearch --uchime_denovo combined.fasta --chimeras chimeras_denovo.fasta --nonchimeras combined_nc.fasta --uchimeout uchimeinfo_denovo
我相信我通过sampleprefix.txt文件解析的注释是不正确的。但我不明白如何解决它。 使用“vsearch”是不相关的,因为我只需要弄清楚在shell中通过prefix.txt文件的语法。 vsearch只是我正在使用的一个程序。如果您有任何建议,请告诉我。
答案 0 :(得分:1)
也许我真的不知道它应该如何工作,但是不会将循环行的结尾移动到脚本的末尾就行了吗?我的意思是
$scope.dis = {isFlagging: false};
$scope.flagDiscussion = function(discussionId) {
Service.flagDiscussion(discussionId);
$scope.dis.isFlagging = true;
};