我有幾個FASTA文件,我想更改頁眉更改FASTA文件頭
>XP_001267680.1 conserved hypothetical protein [Aspergillus clavatus NRRL 1]
MTEILARLTAPSAYRYASCEILEDYGRQLRELIAYIKQPRTTADIATAAEFLLDNLDPSLHSASY...
>XP_001267682.1 60S ribosomal protein L18 [Aspergillus clavatus NRRL 1]
MGIDLDRHHVRSTHRKAPKSENVYLQVLVKLYRFLSRRTESNFNKVVLRRLFMSRINRPPVS...
etc...
而且我想改變的fasta文件,所以它看起來是這樣的:
>Acla00001
MTEILARLTAPSAYRYASCEILEDYGRQLRELIAYIKQPRTTADIATAAEFLLDNLDPSLHSASY...
>Acla00002
MGIDLDRHHVRSTHRKAPKSENVYLQVLVKLYRFLSRRTESNFNKVVLRRLFMSRINRPPVS...
...
>Acla03871
MTEILARLTAPSAYRYASCEILEDYGRQLRELIAYIKQPRTTADIATAAEFLLDNLDPSLHSASYLF...
>Acla03872
MGIDLDRHHVRSTHRKAPKSENVYLQVLVKLYRFLSRRTESNFNKVVLRRLFMSRINRPPVSL...
我發現這段代碼刪除所有行,如果行以>開頭,並添加一個新的>和有機體名稱+數字。
org = 'Acla'
os.popen("""cat %s.fa | awk '/^>/{print ">%s" ++i; next}{print}'""" % (org, org)).read()
我希望所有這些線的長度是通過將零這樣的數量是5位數字或字符串的總長度爲10
[編輯]你的問題來解釋如何''XP_001267680.1在輸入映射到'> Acla00001'中保留假設蛋白質[麴黴麴黴NRRL1]'並且4條輸入線如何變成8條輸出線。還要擺脫'...'s,因此您可以提供樣本輸入/輸出,我們可以測試潛在的解決方案。不要以爲我們知道你的輸入中出現'生物體名稱' - 只要告訴我們你想要哪個輸入字符串改變爲哪個輸出字符串。 –
它不會更改爲8,只是試圖解釋說,如果數字是4位數字,則應該加1;如果數字是一位數字,則應該加4。 – Jasper