2016-10-01 1 views
0

私は現在、Pythonでスクリプトを書く方法を学んでいます。私は次のような運動をしています。任意の(?line.strip()を使用して)は、fastaファイルをpythonスクリプトを使用してタブ区切りファイルに変換します。

>header 1 AATCTGTGTGATATATATAAT 
>header 2 AATCCTCT 

私はホワイトスペースを取り除くいくつかの困難が生じています。この中

>header 1 
AATCTGTGTGATAT 
ATATA 
AT 
>header 2 
AATCCTCT 

:私は、次の形式でFASTAファイルを変換する必要があり助けが非常に高く評価されるでしょう...

+2

'line.strip()'は確かにこのタスクには便利ですが、これをコーディングする際には、好ましくは[mcve]形式で投稿してください。私たちが見ることのできないコードをデバッグすることはできません。 –

答えて

1

これは>文字に基づいて新しい文字列を作成し、文字列を次の>まで結合します。その後、実行中のリストに追加されます。

# open file and iterate through the lines, composing each single line as we go 
out_lines = [] 
temp_line = '' 
with open('path/to/file','r') as fp: 
    for line in fp: 
     if line.startswith('>'): 
      out_lines.append(temp_line) 
      temp_line = line.strip() + '\t' 
     else: 
      temp_line += line.strip() 

with open('path/to/new_file', 'w') as fp_out: 
    fp_out.write('\n'.join(out_lines)) 
+0

このJamesさんに感謝します。あなたがこれをどうやって行ったのか非常に参考になります。私はあなたが何をしたのかを可能な限り最善に理解しようとしています。私はあなたのスクリプトにコメントを追加し、以下に貼り付けました: – Altheman

関連する問題