James
2017-06-29 13:58:04 UTC
我有以下mwe用於基於某種功能(在本例中為跨膜區域)過濾Swissprot文件。
來自生物導入SeqIOrecords = []用於SeqIO.parse(“ Input.txt”,“ swiss”)中的記錄:transmembrane_protein = i的虛假print record.id,枚舉(記錄) .features):if feature.type ==“ TRANSMEM”:transmembrane_protein = True如果transmembrane_protein == True:records.append(record)SeqIO.write(records,“ Output.txt”,“ swiss”)
當 SeqIO.write(records,“ Output.txt”,“ swiss”)
變為 SeqIO.write(records,“ Output.txt”,“ fasta”)
但是,尚不支持這種方法。
ValueError:支持讀取格式“ swiss”,但不寫入
從文檔中,我看到瑞士不支持寫入:
請注意,儘管Bio.SeqIO可以讀取上述所有文件格式,但無法寫入所有文件格式。
是否存在使用biopython / python從解析的swissprot文件寫入swissprot文件的任何非官方方式?
我讀到“ SeqIO無法輸出文件格式(例如,純文本SwissProt格式,“ swiss”)”。但是,一旦知道所需功能的ID,就可以不使用Biopython粘貼蛋白質
它肯定在某些我可以確定的文檔中,但我只是沒有看到它的明確說明,但是它在錯誤處理中指出,因此足以讓我知道沒有簡單的方法。我正在處理幾種蛋白質組。手動粘貼不會很有趣;)我真的可以使用程序化解決方案。
您可以使用grep或awk選擇記錄,然後使用管道將其輸出到另一個文件中。
@Llopis當然是前進的一種方式。但是,我想將該腳本保存在單個python文件中,因為它是跨平台的並且可移植。