は、私は以下のようにPythonスクリプトを持っている:異なるファイルのループとしてPythonスクリプトを実行するにはどうすればいいですか?
#!/usr/bin/python
from Bio import SeqIO
fasta_file = "input.fa" # Input fasta file
wanted_file = "A_ids.txt" # Input interesting sequence IDs, one per line
result_file = "A.fasta" # Output fasta file
wanted = set()
with open(wanted_file) as f:
for line in f:
line = line.strip()
if line != "":
wanted.add(line)
fasta_sequences = SeqIO.parse(open(fasta_file),'fasta')
with open(result_file, "w") as f:
for seq in fasta_sequences:
if seq.id in wanted:
SeqIO.write([seq], f, "fasta")
私はしかし、40種類のwanted_filesため、同じ入力ファイルに対して上記のスクリプトを実行したい - A_ids.txt、B_ids.txt、など - 異なる名前で。 そして私は彼らのそれぞれの異なる出力 - A.fasta、B.fastaなどを持っています。
私のpythonスクリプトを変更する必要がありますか、私はすべての私の望むファイルのためにそれを実行するためにループを作成する必要があります?
ありがとう
次のことが可能確かにすべての入力ファイルとそれに対応する出力のリストを作り、それをループしてください。これが繰り返すと予想されるプロセスであれば、ファイルからファイル名を読み込み、出力ファイル名を作成する関数を記述するようにスクリプトを変更することは価値があるかもしれません。 – hoyland