さまざまなサブフォルダーに多数のfastaファイル(これらは単なるテキストファイルです)があります。私が必要としているのは、同じ名前のファイルをディレクトリで検索し、それらを入力ファイルの名前のファイルに連結する方法です。これを行う必要がある10000以上の遺伝子があるため、これを手動で行うことはできません。
これまでのところ、ディレクトリの1つを調べ、それらのファイル名を使用して他のディレクトリを検索する次のPythonコードがあります。これにより、各ファイルのフルパスを含むリストが返されます。
import os
from os.path import join, abspath
path = '/directoryforfilelist/' #Directory for source list
listing = os.listdir(path)
for x in listing:
for root, dirs, files in os.walk('/rootdirectorytosearch/'):
if x in files:
pathlist = abspath(join(root,x))
私が立ち往生しているのは、同じ名前のファイルを連結する方法です。このスクリプトの結果は次のようになります。
/directory1/file1.fasta
/directory2/file1.fasta
/directory3/file1.fasta
/directory1/file2.fasta
/directory2/file2.fasta
/directory3/file2.fasta
この場合、最終結果は、同じ名前のファイルのそれぞれからのテキストを含むfile1.fastaとfile2.fastaという名前の2つのファイルである必要があります。
ここからどこへ行くかについてのリードをいただければ幸いです。とにかく私はPythonでこの部分を実行しましたが、仕事を成し遂げることは私にとっては問題ありません。それが重要な場合、これはMacで実行されています。