2016-02-26 55 views
-3

我想寫一個python腳本,可以用來重新格式化一個FASTA文件成兩列,表格分隔的表格,如上圖所示。該腳本應該從命令行取得輸入文件的名稱,並且結果應該轉到STDOUT。需要幫助,使我的Python腳本工作

任何幫助將不勝感激!所以這是我到目前爲止:

#/user/bin/env python 
import sys 
import re 
file_object = open(sys.argv[1]) 
for some_line in file_object: 
     if re.search('>', some_line): 
       sys.stdout.write(some_line.strip('\n')+ '\t') 
     else: 
      if re.search('^\w+', some_line): 
          sys.stdout.write(some_line.strip('w') 

預期輸出: Expected output

+0

你有這個代碼(除了語法錯誤)有什麼問題? –

+0

我得到這IndentationError說,unindent不匹配任何外部縮進級別 – etet112

+0

然後開始修復。 –

回答

0

你其他沒有與if語句對應的對齊。無論如何,我建議你如果可以的話可以擺脫重新包裝。這個例子,會更快:

#/user/bin/env python 
import sys 
file_object = open(sys.argv[1]) 
for some_line in file_object: 
    if some_line.startswith('>'): 
      sys.stdout.write(some_line.strip('\n') + '\t') 
    else: 
      sys.stdout.write(some_line)