我需要迭代输入文件对,R1和R2,它们将一起处理,每个文件都附加了一个".trim“文件扩展名。
我对python和glob的了解有限,它们可以很好地完成类似的任务,使用成对的输入,但只使用一个输出。我完全不明白为什么这不起作用,尽管我确信这是一个很容易解决的问题。
#!/usr/bin/python
import glob
import os
files = glob.glob("ATAC*R1*.fastq.gz")
for ifile in files:
os.system("cutadapt -a CTGTCTCTTATACACATCT -A CTGTCTCTTATACACATCT -a AGATGTGTATAAGAGA -o %s.trim -p %s.trim %s %s" % (ifile, ifile.replace("R1","R2"), ifile, ifile.replace("R1","R2"))Error:
line 7
^
SyntaxError: invalid syntax这方面的工作如下:
ATAC2-1_R1_.fastq.gz and ATAC2-1_R1_.fastq.gz -> ATAC2-1_R1_.fastq.gz.trim and ATAC2-1_R1_.fastq.gz.trim. 有几个R1和R2对,我想迭代through.Thanks以获得帮助!
发布于 2019-06-20 22:07:45
唯一的问题是,您缺少了一个结尾括号:
os.system("cutadapt -a CTGTCTCTTATACACATCT -A CTGTCTCTTATACACATCT -a AGATGTGTATAAGAGA -o %s.trim -p %s.trim %s %s" % (ifile, ifile.replace("R1","R2"), ifile, ifile.replace("R1","R2")))您只需添加结尾括号,您就应该停止这种语法错误。
发布于 2019-06-20 22:06:34
与其尝试使用%s占位符执行此操作,不如尝试使用.format(),如下所示:
"cutadapt -a CTGTCTCTTATACACATCT -A CTGTCTCTTATACACATCT -a AGATGTGTATAAGAGA -o {0}.trim -p {1}.trim {2} {3}".format(ifile, ifile.replace("R1","R2"), ifile, ifile.replace("R1","R2"))https://stackoverflow.com/questions/56694349
复制相似问题