2011-07-02 24 views
-1

我有一個文件「的abc.txt」具有以下內容開頭的字..顯示線在一個文件中的Python正則表達式

EMBOSS_001  601 FEDSESRRDSLFVPHRPGERRNSNGTTTETEVRKRRLSSYQISMEMLEDS 650 
          :...::.||...||....|..|.|.... |..:.|.|.|..: 
EMBOSS_002   1 -----NPSLTVTVPIAVGESDFENLNTEEFSSE----SELEESKEKLNAT  41 

EMBOSS_001  651 SGRQRS-MSIASILTNTMEELE-ESRQKCPPCW-------YRFANVFLIW 691 
        |..:.| :.:|........|:| |...|...|:  :.|..|.... 
EMBOSS_002  42 SSSEGSTVDVAPPREGEQAEIEPEEDLKPEACFTEGCIKKFPFCQVSTEE  91 

我想創建三個字符串.. 第一個「一」應該有EMBOSS_001後,多數民衆贊成編寫的所有字符(包括該行),即

A="FEDSESRRDSLFVPHRPGERRNSNGTTTETEVRKRRLSSYQISMEMLEDSSGRQRS-MSIASILTNTMEELE-ESRQKCPPCW-------YRFANVFLIW" 

第二個字符串應該EMBOSS_002後所擁有的一切書面(包括線條的)減去數,即

B="-----NPSLTVTVPIAVGESDFENLNTEEFSSE----SELEESKEKLNATSSSEGSTVDVAPPREGEQAEIEPEEDLKPEACFTEGCIKKFPFCQVSTEE" 

和第三串C應該不管是EMBOSS_1和EMBOSS_2(字母數字字符或 - )之間在兩個線

C="  :...::.||...||....|..|.|.... |..:.|.|.|..|..:.| :.:|........|:| |...|...|:  :.|..|...." 

原始空間在開始,結束(如果有的話),並在中間C應該是完好的。在這種情況下,5位是在一開始,因爲C來自A的「F」,並開始「 - 」說明B

感謝

+2

stackoverflow不寫你的代碼給你。但是,它會幫助您解決編寫代碼時遇到的問題。這個問題很快就會被解決爲「不是問題」;請參閱http://stackoverflow.com/faq – msw

+0

不幸的是,這個問題已被標記爲關閉,所以這是一個評論,而不是一個答案。您正在嘗試閱讀EMBOSS成對對齊格式,因此最簡單的答案是安裝Biopython並使用格式名稱爲「emboss」的Bio.AlignIO。請參閱http://emboss.sourceforge.net/docs/themes/alnformats/align.pair和http://www.biopython.org/wiki/AlignIO – peterjc

回答