You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何匹配Query行提取蛋白ID及后续5行第三列并格式化输出

生物信息学数据处理问题

数据集

Query= AAA18960.1 basic-leucine zipper-like protein, partial [Gallus
CDD:400559 pfam08317, Spc7, Spc7 kinetochore protein. This domain...  31.4    0.17 
CDD:405770 pfam15136, UPF0449, Uncharacterized protein family UPF...  28.0    0.70 
CDD:403831 pfam12744, ATG19_autophagy, Autophagy protein Atg19, A...  28.8    1.1  
CDD:373271 pfam14755, NSP2_middle, IMiddle region of RNA-arterivi...  28.0    1.3  
CDD:400539 pfam08286, Spc24, Spc24 subunit of Ndc80. Spc24 is a c...  26.8    2.1  
CDD:396080 pfam01346, FKBP_N, Domain amino terminal to FKBP-type ...  26.7    2.3  
CDD:405969 pfam15390, WDCP, WD repeat and coiled-coil-containing ...  28.0    2.8  
CDD:397844 pfam03938, OmpH, Outer membrane protein (OmpH-like). T...  26.8    3.0  
CDD:399074 pfam05816, TelA, Toxic anion resistance protein (TelA)...  27.5    3.2  
CDD:395386 pfam00482, T2SSF, Type II secretion system (T2SS), pro...  26.1    4.0  
Query= AAA39919.1 phosphoglycerate kinase-1, partial [Mus musculus]
CDD:399415 pfam06399, GFRP, GTP cyclohydrolase I feedback regulat...  21.2    2.2  
CDD:405915 pfam15328, GCOM2, Putative GRINL1B complex locus prote...  20.5    3.5  
CDD:401947 pfam10138, vWA-TerF-like, vWA found in TerF C-terminus...  19.5    8.0  
Query= AAA39964.1 pp105 Rb protein [Mus musculus domesticus]
CDD:401034 pfam08934, Rb_C, Rb C-terminal domain. The Rb C-termin...  294     3e-95
CDD:396434 pfam01858, RB_A, Retinoblastoma-associated protein A d...  282     4e-90
CDD:396433 pfam01857, RB_B, Retinoblastoma-associated protein B d...  157     2e-45
CDD:403219 pfam11934, DUF3452, Domain of unknown function (DUF345...  54.5    2e-09
CDD:404201 pfam13273, DUF4064, Protein of unknown function (DUF4064)  28.0    2.3  
CDD:405353 pfam14650, FAM75, FAM75 family                             28.8    4.4  
CDD:407391 pfam17278, DUF5343, Family of unknown function (DUF534...  27.7    4.6  
CDD:372078 pfam12371, TMEM131_like, Transmembrane protein 131-lik...  26.5    5.4  
CDD:397438 pfam03358, FMN_red, NADPH-dependent FMN reductase          27.2    7.1  
CDD:397933 pfam04042, DNA_pol_E_B, DNA polymerase alpha/epsilon s...  27.6    7.7  
Query= AAA42090.1 retinoblastoma-associated protein, partial [Rattus
CDD:401034 pfam08934, Rb_C, Rb C-terminal domain. The Rb C-termin...  175     2e-58
CDD:367437 pfam03288, Pox_D5, Poxvirus D5 protein-like. This fami...  23.5    6.7  
CDD:396246 pfam01582, TIR, TIR domain. The Toll/interleukin-1 rec...  23.5    8.0  
Query= AAA70267.1 phosphoglycerate kinase [Mus musculus]
CDD:395110 pfam00162, PGK, Phosphoglycerate kinase                    577     0.0  
CDD:280357 pfam02176, zf-TRAF, TRAF-type zinc finger                  24.3    8.9  
Query= AAA79194.1 centrin [Xenopus laevis]
CDD:404394 pfam13499, EF-hand_7, EF-hand domain pair                  57.3    2e-12
CDD:404310 pfam13405, EF-hand_6, EF-hand domain                       42.6    4e-07
CDD:404678 pfam13833, EF-hand_8, EF-hand domain pair                  42.3    7e-07
CDD:394992 pfam00036, EF-hand_1, EF hand. The EF-hands can be div...  37.4    3e-05
CDD:405361 pfam14658, EF-hand_9, EF-hand domain                       30.5    0.022
CDD:404151 pfam13202, EF-hand_5, EF hand                              28.8    0.038
CDD:401068 pfam08976, EF-hand_11, EF-hand domain. This domain is ...  28.9    0.19 
CDD:400222 pfam07766, LETM1, LETM1-like protein. Members of this ...  28.6    0.45 
CDD:396256 pfam01595, DUF21, Domain of unknown function DUF21. Th...  27.2    1.1  
CDD:399080 pfam05823, Gp-FAR-1, Nematode fatty acid retinoid bind...  26.9    1.2  
CDD:289529 pfam12763, EF-hand_4, Cytoskeletal-regulatory complex ...  26.2    1.4  
CDD:404506 pfam13623, SurA_N_2, SurA N-terminal domain. This doma...  26.0    2.1  
CDD:400792 pfam08626, TRAPPC9-Trs120, Transport protein Trs120 or...  26.4    2.9  
CDD:395447 pfam00564, PB1, PB1 domain                                 24.9    2.9  
CDD:397745 pfam03810, IBN_N, Importin-beta N-terminal domain          23.4    8.4  
CDD:401128 pfam09068, EF-hand_2, EF hand. Members of this family ...  24.0    9.0  
CDD:402466 pfam10865, DUF2703, Domain of unknown function (DUF270...  23.8    9.8  

需求

匹配字符串Query=,提取第二列的蛋白ID,获取该条目后最多5行的第三列内容,将蛋白ID与这些内容用|拼接后换行输出。预期示例如下:

AAA18960.1|Spc7|UPF0449|ATG19_autophagy|NSP2_middle|Spc24
AAA39919.1|GFRP|GCOM2|vWA-TerF-like
AAA39964.1|Rb_C|RB_A|RB_B|DUF3452|DUF4064
...

尝试的脚本

cat file.txt | grep -A 1 "Query=" | awk 'NR%3==0' | awk '!a[$1]++' | awk '{print $1 $2"|"$3"|"$4"|"$5"|"$6"|"$7}' | sed 's/\.[0-9] / /g' | sed 's/Query= //g' | sed 's/\.[0-9]//g' | sed 's/ /_/g'

错误输出

--|||||
Query=AAC53301|RET|ligand|2|[Rattus|norvegicus]
CDD:396776pfam02351,|GDNF,|GDNF/GAS1|domain.|This|cysteine
CDD:395169pfam00225,|Kinesin,|Kinesin|motor|domain|470
CDD:397971pfam04089,|BRICHOS,|BRICHOS|domain.|The|BRICHOS
CDD:401849pfam10018,|Med4,|Vitamin-D-receptor|interacting|Mediat...|112
CDD:396434pfam01858,|RB_A,|Retinoblastoma-associated|protein|A|d...
CDD:394960pfam00001,|7tm_1,|7|transmembrane|receptor|(rhodopsin
CDD:395526pfam00651,|BTB,|BTB/POZ|domain.|The|BTB
CDD:394996pfam00041,|fn3,|Fibronectin|type|III|domain
CDD:396739pfam02291,|TFIID-31kDa,|Transcription|initiation|facto...|222
CDD:401034pfam08934,|Rb_C,|Rb|C-terminal|domain.|The
CDD:395110pfam00162,|PGK,|Phosphoglycerate|kinase|579|0
CDD:404697pfam13855,|LRR_8,|Leucine|rich|repeat|62
CDD:405852pfam15255,|CAP-ZIP_m,|WASH|complex|subunit|CAP-Z
CDD:397333pfam03170,|BcsB,|Bacterial|cellulose|synthase|subunit....
CDD:395022pfam00069,|Pkinase,|Protein|kinase|domain|177
CDD:398625pfam05033,|Pre-SET,|Pre-SET|motif.|This|protein

解决方案

用Awk可以一次性完成处理,逻辑更清晰:

awk '
/^Query=/ {
    if (protein_id != "") {
        print protein_id "|" domains
    }
    protein_id = $2
    domains = ""
    count = 0
    next
}
count < 5 {
    split($3, arr, ",")
    domain = arr[1]
    domains = domains (domains ? "|" : "") domain
    count++
}
END {
    if (protein_id != "") {
        print protein_id "|" domains
    }
}' file.txt

脚本说明

  • 匹配Query=开头的行时,先输出上一个蛋白的结果(如果存在),然后记录当前蛋白ID,重置域名列表和计数。
  • 对后续的行,只要计数小于5,就提取第三列的域名(去掉末尾的逗号),追加到域名列表中,计数加1。
  • 最后处理最后一个蛋白的结果。

运行后输出符合预期:

AAA18960.1|Spc7|UPF0449|ATG19_autophagy|NSP2_middle|Spc24
AAA39919.1|GFRP|GCOM2|vWA-TerF-like
AAA39964.1|Rb_C|RB_A|RB_B|DUF3452|DUF4064
AAA42090.1|Rb_C|Pox_D5|TIR
AAA70267.1|PGK|zf-TRAF
AAA79194.1|EF-hand_7|EF-hand_6|EF-hand_8|EF-hand_1|EF-hand_9

内容的提问来源于stack exchange,提问作者Rohan Nath

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 13:22:12