我有一个脚本,排序FASTA序列,按字母顺序>字符串。这里是一个与单个输入文件一起工作的代码的例子35.fas。 FASTA文件的如何为许多文件运行python脚本?
import os, sys
import argparse
from Bio import SeqIO
records = list(SeqIO.parse("35.fas", "fasta"))
records.sort(key=lambda x : x.id)
SeqIO.write(records, "35-sorted.fas", "fasta")
例子:
>BAR
ATCG
>ABC
TCGA
正确的输出:
>ABC
TCGA
>BAR
ATCG
所以,我想尝试一下本作数百个文件,并试图 'sys.argv中',但并没有能够这样做。我不希望每个文件都有不同的输出名称作为* -sorted。只想运行该脚本并对扩展名为.fas的文件夹中的所有文件进行排序。 这里是代码不工作:
records = list(SeqIO.parse("sys.argv[0]", "fasta"))
records.sort(key=lambda x : x.id)
SeqIO.write(records, "sys.arg[0]-sorted.fas", "fasta")
' sys.argv'可能会被需要。你能证明你是如何尝试使用它的吗?你在使用什么操作系统?如果您有数百个文件,则问题可能是命令行长度的限制。您可能需要指定目录并让Python代码从中获取文件。 – pcarter
我将代码添加到问题中,并使用macOS。谢谢 – Ramon