0

MUC20 17615 NP_689886.2 MET 01280 NP_001120972.1 in vitro;in vivo;酵母 2 ハイブリッド 15314156

SMURF2 06901 NP_073576.1 TFPI2 08962 NP_006519.1 酵母 2 ハイブリッド 15231748

ERBB2 01281 NP_004439.2 ERBB2 01281 NP_004439.2 in vitro;in vivo 10372802,1706616,12354693,11500516

ACPP 01378 NP_001127666.1 ERBB2 01281 NP_004439.2 in vitro;in vivo 11067847,10851066,9705354

PIK3R1 01381 NP_852664.1 ERBB2 01281 NP_004439.2 インビボ 1351056,16843263

PLCG1 01398 NP_002651.2 ERBB2 01281 NP_004439.2 in vivo 1676673,1683701

……

助けてください。私のデータは次のようになります。Pythonを使用して、タンパク質のペアの名前(太字)のみを解析したい。そして、ペアになった名前は以下のように保存されます。たとえば、MUC20 10 MET です。そしてSMURF2 10 TFPI2。名前の間には、数字の 10 を挿入する必要があります。

MUC20 10 MET

SMURF2 10 TFPI2

ERBB2 10 ERBB2

ACPP 10 ERBB2

上記のように解析するにはどうすればよいですか?

ありがとうございました。

4

3 に答える 3

2

スペースで区切って、0 番目と 3 番目の要素を取り、それらの間に「10」を挿入していただけますか?

例えば:

def parseString(origString):
    splitString = origString.split(' ')
    return splitString[0] + ' 10 ' + splitString[3]
于 2012-11-15T08:40:56.407 に答える
1

これには (少なくとも) 3 つの問題があります。

  1. 解析、つまり、入力ファイル内の関心のある情報を識別し、関心のないものからそれを分離します。おそらく、この部分の正規表現を調べてください。
  2. 解析された情報を適切な構造に格納します。プレーンな Python リストで十分です。
  3. 保存された情報を使用して、s を挿入する場所である他の新しい「レポート」を生成します10。これは、(2) のリストを繰り返すだけなので簡単です。
于 2012-11-15T08:43:40.637 に答える
0

この問題を解決するために正規表現は必要ないかもしれませんが、正規表現を使用したい場合は、次のことを試してください。

import re

pattern = re.compile('^(\w+)\D\d+\D\w+\D\d\D(\w+)')
groups = pattern.search(your_string).groups()
print groups[0] + ' 10 ' + groups[1]
于 2012-11-15T10:06:30.593 に答える