下面是我在bash中的工作代码:
inputDir='bla/bla/RNAseq/fastq/original/test'
for trimFile in $inputDir/*".1.trimmed"
do
filenumtwo=`basename -s .1.trimmed "$trimFile"`
/bla/bla/softwares/SolexaQA++_v3.0/Linux_x64/SolexaQA++ lengthsort -l 20 -c $trimFile $inputDir/$filenumtwo.2.trimmed
done
如您所见,我可以专门循环文件夹中以.1.trimmed结尾的文件,剪切扩展名并将结果存储在一个新变量中,然后使用该变量并简单地将.2.trimmed添加到其中,这样我就可以将这些成对的文件作为参数
我想用python实现这一点,但它不起作用。我尝试过使用set、定义一个类,或者简单地使用trimFile.endswith(“1.trimmed”),但都不起作用。我肯定我错过了一些简单的事情
下面是我在python中的最新尝试。。。我经历了许多不同的循环配置:
solexa = "/bla/bla/softwares/SolexaQA++_v3.0/Linux_x64/SolexaQA++"
clipped = "/bla/bla/RNAseq/fastq/test/clipped/"
for trimFile in os.listdir("."):
if trimFile.endswith("1.trimmed"):
print "Clipping with SolexaQA++"
command = [solexa,"lengthsort","-l","20","-c",trimFile,trimFile.endswith("2.trimmed"),"-d",clipped]
subprocess.call(command)
编辑:谢谢你,这是对我有用的
for trimFile in glob.glob("*1.trimmed"):
print "Clipping with SolexaQA++"
trimFile2 = trimFile[:-9]
trimFile2 = trimFile2 + '2.trimmed'
command = [solexa,"lengthsort","-l","20","-c",trimFile,trimFile2,"-d",clipped]
subprocess.call(command)
要获得与特定模式匹配的文件列表,我建议使用glob。例如,要查找所需内容,可以编写以下内容:
相关问题 更多 >
编程相关推荐