python-2.7 - 如何在元组列表中打印以 P: 开头的短语
问题描述
我正在尝试获得蛋白质的功能。该函数位于元组列表中:
my_seq=[('EMBL', 'AF079160', 'AAC28386.2', '-', 'Genomic_DNA'), ('EMBL', 'AJ564626', 'CAD92097.1', '-', 'Genomic_DNA'), ('EMBL', 'AP008226', 'BAD70067.1', '-', 'Genomic_DNA'), ('RefSeq', 'WP_011227803.1', 'NC_006461.1'), ('RefSeq', 'YP_143510.1', 'NC_006461.1'), ('PDB', '2CWA', 'X-ray', '1.96 A', 'A=1-263'), ('PDBsum', '2CWA', '-'), ('SMR', 'Q5SLP9', '-'), ('STRING', '300852.55771626', '-'), ('EnsemblBacteria', 'BAD70067', 'BAD70067', 'BAD70067'), ('GeneID', '3167973', '-'), ('KEGG', 'ttj:TTHA0244', '-'), ('PATRIC', 'fig|300852.9.peg.244', '-'), ('eggNOG', 'ENOG4105Z8H', 'Bacteria'), ('eggNOG', 'COG0629', 'LUCA'), ('HOGENOM', 'HOG000023350', '-'), ('KO', 'K03111', '-'), ('OMA', 'ARGMNHV', '-'), ('BioCyc', 'TTHE300852:G1GKC-252-MONOMER', '-'), ('EvolutionaryTrace', 'Q5SLP9', '-'), ('Proteomes', 'UP000000532', 'Chromosome'), ('GO', 'GO:0003697', 'F:single-stranded DNA binding', 'IEA:UniProtKB-UniRule'), ('GO', 'GO:0006310', 'P:DNA recombination', 'IEA:UniProtKB-UniRule'), ('GO', 'GO:0006281', 'P:DNA repair', 'IEA:UniProtKB-UniRule'), ('GO', 'GO:0006260', 'P:DNA replication', 'IEA:UniProtKB-UniRule'), ('CDD', 'cd04496', 'SSB_OBF', '2'), ('HAMAP', 'MF_00984', 'SSB', '1'), ('InterPro', 'IPR012340', 'NA-bd_OB-fold'), ('InterPro', 'IPR000424', 'Primosome_PriB/ssb'), ('InterPro', 'IPR011344', 'ssDNA-bd'), ('PANTHER', 'PTHR10302', 'PTHR10302', '2'), ('Pfam', 'PF00436', 'SSB', '2'), ('SUPFAM', 'SSF50249', 'SSF50249', '2'), ('TIGRFAMs', 'TIGR00621', 'ssb', '2'), ('PROSITE', 'PS50935', 'SSB', '2')]
它们位于本体部分 GO: ('GO', 'GO:0006310', 'P:DNA recombination', 'IEA:UniProtKB-UniRule')
, ('GO', 'GO:0006281', 'P:DNA repair', 'IEA:UniProtKB-UniRule')
, ('GO', 'GO:0006260', 'P:DNA replication', 'IEA:UniProtKB-UniRule')
,
它们总是以 P 开头:即“P:DNA 修复”
我需要输出为多行格式: DNA 重组 DNA 修复 DNA 复制
my_list=(list(reduce(operator.concat, my_seq)))# convert to a list
b=','.join(my_list)# to convert to a string.
import re
re.findall(r'^P:*\w+',(b), re.M) #tried re
[] #I am getting
我需要输出为多行格式: DNA 重组 DNA 修复 DNA 复制
解决方案
看看这是不是你想要的。
from functools import reduce
import operator
my_list=(list(reduce(operator.concat, my_seq)))# convert to a list
b=','.join(my_list)# to convert to a string.
import re
re.findall(r'P\:[\w ]+',(b), re.M)
推荐阅读
- python - python 脚本在 docker 容器中比在本地执行得更快
- testing - 使用 html 报告按顺序运行 Testcafe 测试
- amazon-web-services - 将输出分配给变量并在 AWS CLI 中加入/连接它们
- android - 数据绑定:将 null 作为参数传递
- rdf - 使用语义网的 Java 应用程序
- python - 当我缩小框架时,matplotlib 不显示条形图不居中
- javascript - document.querySelectorAll() 只得到最后
- 物品
- r - 如何从 R 数据框中获取条件结果
- excel - 如何转到上一个单元格并使此代码更快?
- python - 对数组的特定索引求和以获得另一个数组