MUC20 17615 NP_689886.2 MET 01280 NP_001120972.1体外;体内;酵母双杂交15314156
SMURF2 06901 NP_073576.1 TFPI2 08962 NP_006519.1酵母双杂交15231748
ERBB2 01281 NP_004439.2 ERBB2 01281 NP_004439.2体外;体内10372802,1706616,12354693,11500516
ACPP 01378 NP_001127666.1 ERBB2 01281 NP_004439.2体外;体内11067847,10851066,9705354
PIK3R1 01381 NP_852664.1 ERBB2 01281 NP_004439.2 in vivo 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
我如何解析上面的内容?
谢谢。
答案 0 :(得分:2)
你可以用空格分割,然后取0和第三个元素并在它们之间插入'10'?
例如:
def parseString(origString):
splitString = origString.split(' ')
return splitString[0] + ' 10 ' + splitString[3]
答案 1 :(得分:1)
这至少是三个问题:
10
。通过迭代(2)中的列表,这是微不足道的。答案 2 :(得分: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]