我需要从用户输入的行中提取基因和染色体的名称。线条如下:
YAL002W VPS8 SGDID:S000000002, Chr I from 143707-147531, Genome Release 64-2-1
基因名是行中的第二个“单词”(=从A到Z的3个大写字母,后跟从0到9的数字)染色体是“Chr”,后跟罗马数字。我试着用regex来做这个。你知道吗
我试着用regex来做这个。你知道吗
这是我代码的一部分。你知道吗
import sys
import re
sequence = sys.stdin.readlines()
ref_d = {}
temp_genename = None
temp_chrname = None
genename_pattern = '^([A-Z]{3})([0-9]{1})$'
chr_pattern = 'Chr (?=[MDCLXVI)M*(C[MD]|D?C*)(X[CL]|L?X*)(I[XV]|V?|*)$
m1 = re.search(genename_pattern, sequence)
m2 = re.search(chr_pattern, sequence)
print(m1.group())
print(m2.group())
根据上面的输入,我希望我的代码返回m1=VPS8和m2=chri。但是,它不断返回:
'NoneType' object has no attribute 'group'
用途:
输出:
相关问题 更多 >
编程相关推荐