#fastaをN個の部分に分割 import sys import pandas as pd import os #ここに判定パラメータを書きました。入力パラメータはここにあります: pyファイル、faファイル、分割数、出力フォルダ if len(sys.argv)>3 and len( sys.argv)<5: fasta=sys.argv[1] #read file n=sys.argv[2] #数値に分割 n=int(n) out_file = sys.argv[3] #path #ディレクトリが存在する、存在しない場合は作成 os.path.exists(out_file): os.mkdir(out_file) #入力ファイルを処理し、別のファイルに保存します; ここでは主にすべてのファイルを 1 行に処理するため、これが便利ですフォローアップ用 N 個の部分に分割 fr = open(fasta, 'r') fw = open('fa.fasta', 'w') seq = {} for line in fr: if line.startswith('>') : name = line.split()[0] seq[name] = '' それ以外の場合: seq[name] += line.replace('\n', '') for i in seq.keys(): fw.write(i) fw.write(':') fw.write(seq[i]) fw.write('\n') fr.close() fa_file =pd.read_table('fa.fasta') num = 0 #入力フォルダー os.chdir(out_file) for i in range(1,n +1) を入力します): start = num num = num +int(fa_file.shape[0]/n) file =fa_file.iloc[start:num] #各ファイルを入力フォルダーに保存 file.to_csv( str(i ) + "transcripts_mRNA. fa"、index=False) else: print(f"Usage:\n\tpython {sys.argv[0]} input.fa split_num out_dir\n")
[Python は fasta ファイルを複数の小さな fasta ファイルに分割します]
おすすめ
転載: blog.csdn.net/whiteof/article/details/123685985
おすすめ
ランキング