当前位置: 首页 > news >正文

PSP - 从头搭建 抗原类别 (GPCR) 的 蛋白质结构预测 项目流程

欢迎关注我的CSDN:https://spike.blog.csdn.net/
本文地址:https://spike.blog.csdn.net/article/details/134595717

GPCRs(G Protein-Coupled Receptors,G蛋白偶联受体),又称为7次跨膜受体,是细胞信号传导中的重要蛋白质,当膜外的配体作用于该受体时,该受体的膜内部分与G蛋白相互结合激活G蛋白,进而启动不同的信号转导通路,参与多种生理和病理过程,如免疫调节、行为和情绪的调节、感觉的传递、内稳态的调节以及肿瘤的生长与转移等。G 蛋白偶联受体(GPCR)超家族包含约 600-1000个靶标,是已知最大的一类具有治疗价值的分子靶标,目前世界药物市场上至少有三分之一的小分子药物是GPCR的激动剂或拮抗剂。GPCR过表达细胞系已广泛用于药物筛选和自身免疫性疾病的病因和发病机制研究。

GPCR

预测流程框架如下:

Structure

1. GPCR 数据集

GPCR 数据,来自于 GPCR-DB 官网,其中包括 PDB、GPCR chain id、PDB Date 等信息,再从 PDB 中获取 FASTA Sequence 信息,即:

GPCR

PDB 的 FASTA Sequence,来自于 RCSB 官网,如下:

PDB

8IRS 的 FASTA 序列,如下:

>8IRS_1|Chain A|Guanine nucleotide-binding protein G(i) subunit alpha-1|Homo sapiens (9606)
MGCTLSAEDKAAVERSKMIDRNLREDGEKAAREVKLLLLGAGESGKNTIVKQMKIIHEAGYSEEECKQYKAVVYSNTIQSIIAIIRAMGRLKIDFGDSARADDARQLFVLAGAAEEGFMTAELAGVIKRLWKDSGVQACFNRSREYQLNDSAAYYLNDLDRIAQPNYIPTQQDVLRTRVKTTGIVETHFTFKDLHFKMFDVGAQRSERKKWIHCFEGVTAIIFCVALSDYDLVLAEDEEMNRMHASMKLFDSICNNKWFTDTSIILFLNKKDLFEEKIKKSPLTICYPEYAGSNTYEEAAAYIQCQFEDLNKRKDTKEIYTHFTCSTDTKNVQFVFDAVTDVIIKNNLKDCGLF
>8IRS_2|Chain B|Guanine nucleotide-binding protein G(I)/G(S)/G(T) subunit beta-1|Homo sapiens (9606)
MGSLLQSELDQLRQEAEQLKNQIRDARKACADATLSQITNNIDPVGRIQMRTRRTLRGHLAKIYAMHWGTDSRLLVSASQDGKLIIWDSYTTNKVHAIPLRSSWVMTCAYAPSGNYVACGGLDNICSIYNLKTREGNVRVSRELAGHTGYLSCCRFLDDNQIVTSSGDTTCALWDIETGQQTTTFTGHTGDVMSLSLAPDTRLFVSGACDASAKLWDVREGMCRQTFTGHESDINAICFFPNGNAFATGSDDATCRLFDLRADQELMTYSHDNIICGITSVSFSKSGRLLLAGYDDFNCNVWDALKADRAGVLAGHDNRVSCLGVTDDGMAVATGSWDSFLKIWN
>8IRS_3|Chain C[auth E]|ScFv16|Mus musculus (10090)
DVQLVESGGGLVQPGGSRKLSCSASGFAFSSFGMHWVRQAPEKGLEWVAYISSGSGTIYYADTVKGRFTISRDDPKNTLFLQMTSLRSEDTAMYYCVRSIYYYGSSPFDFWGQGTTLTVSSGGGGSGGGGSGGGGSDIVMTQATSSVPVTPGESVSISCRSSKSLLHSNGNTYLYWFLQRPGQSPQLLIYRMSNLASGVPDRFSGSGSGTAFTLTISRLEAEDVGVYYCMQHLEYPLTFGAGTKLELK
>8IRS_4|Chain D[auth G]|Guanine nucleotide-binding protein G(I)/G(S)/G(O) subunit gamma-2|Homo sapiens (9606)
MASNNTASIAQARKLVEQLKMEANIDRIKVSKAAADLMAYCEAHAKEDPLLTPVPASENPFREKKFFCAIL
>8IRS_5|Chain E[auth R]|Soluble cytochrome b562,D(2) dopamine receptor|Escherichia coli (562)
DYKDDDDAKLQTMHHHHHHHHHHHHHHHADLEDNWETLNDNLKVIEKADNAAQVKDALTKMRAAALDAQKATPPKLEDKSPDSPEMKDFRHGFDILVGQIDDALKLANEGKVKEAQAAAEQLKTTRNAYIQKYLASENLYFQGGTMDPLNLSWYDDDLERQNWSRPFNGSDGKADRPHYNYYATLLTLLIAVIVFGNVLVCMAVSREKALQTTTNYLIVSLAVADLLVATLVMPWVVYLEVVGEWKFSRIHCDIFVTLDVMMCTASILNLCAISIDRYTAVAMPMLYNTRYSSKRRVTVMISIVWVLSFTISCPLLFGLNNADQNECIIANPAFVVYSSIVSFYVPFIVTLLVYIKIYIVLRRRRKRVNTKRSSRAFRAHLRAPLKGNCTHPEDMKLCTVIMKSNGSFPVNRRRVEAARRAQELEMEMLSSTSPPERTRYSPIPPSHHQLTLPDPSHHGLHSTPDSPAKPEKNGHAKDHPKIAKIFEIQTMPNGKTRTSLKTMSRRKLSQQKEKKATQMLAIVLGVFIICWLPFFITHILNIHCDCNIPPVLYSAFTWLGYVNSAVNPIIYTTFNIEFRKAFLKILHC

存储的 8irs 序列,即:

pdb,chain,seq,mol,gpcr_chain
8irs,"R,G,E,B,A","DYKDDDDAKLQTMHHHHHHHHHHHHHHHADLEDNWETLNDNLKVIEKADNAAQVKDALTKMRAAALDAQKATPPKLEDKSPDSPEMKDFRHGFDILVGQIDDALKLANEGKVKEAQAAAEQLKTTRNAYIQKYLASENLYFQGGTMDPLNLSWYDDDLERQNWSRPFNGSDGKADRPHYNYYATLLTLLIAVIVFGNVLVCMAVSREKALQTTTNYLIVSLAVADLLVATLVMPWVVYLEVVGEWKFSRIHCDIFVTLDVMMCTASILNLCAISIDRYTAVAMPMLYNTRYSSKRRVTVMISIVWVLSFTISCPLLFGLNNADQNECIIANPAFVVYSSIVSFYVPFIVTLLVYIKIYIVLRRRRKRVNTKRSSRAFRAHLRAPLKGNCTHPEDMKLCTVIMKSNGSFPVNRRRVEAARRAQELEMEMLSSTSPPERTRYSPIPPSHHQLTLPDPSHHGLHSTPDSPAKPEKNGHAKDHPKIAKIFEIQTMPNGKTRTSLKTMSRRKLSQQKEKKATQMLAIVLGVFIICWLPFFITHILNIHCDCNIPPVLYSAFTWLGYVNSAVNPIIYTTFNIEFRKAFLKILHC,MASNNTASIAQARKLVEQLKMEANIDRIKVSKAAADLMAYCEAHAKEDPLLTPVPASENPFREKKFFCAIL,DVQLVESGGGLVQPGGSRKLSCSASGFAFSSFGMHWVRQAPEKGLEWVAYISSGSGTIYYADTVKGRFTISRDDPKNTLFLQMTSLRSEDTAMYYCVRSIYYYGSSPFDFWGQGTTLTVSSGGGGSGGGGSGGGGSDIVMTQATSSVPVTPGESVSISCRSSKSLLHSNGNTYLYWFLQRPGQSPQLLIYRMSNLASGVPDRFSGSGSGTAFTLTISRLEAEDVGVYYCMQHLEYPLTFGAGTKLELK,MGSLLQSELDQLRQEAEQLKNQIRDARKACADATLSQITNNIDPVGRIQMRTRRTLRGHLAKIYAMHWGTDSRLLVSASQDGKLIIWDSYTTNKVHAIPLRSSWVMTCAYAPSGNYVACGGLDNICSIYNLKTREGNVRVSRELAGHTGYLSCCRFLDDNQIVTSSGDTTCALWDIETGQQTTTFTGHTGDVMSLSLAPDTRLFVSGACDASAKLWDVREGMCRQTFTGHESDINAICFFPNGNAFATGSDDATCRLFDLRADQELMTYSHDNIICGITSVSFSKSGRLLLAGYDDFNCNVWDALKADRAGVLAGHDNRVSCLGVTDDGMAVATGSWDSFLKIWN,MGCTLSAEDKAAVERSKMIDRNLREDGEKAAREVKLLLLGAGESGKNTIVKQMKIIHEAGYSEEECKQYKAVVYSNTIQSIIAIIRAMGRLKIDFGDSARADDARQLFVLAGAAEEGFMTAELAGVIKRLWKDSGVQACFNRSREYQLNDSAAYYLNDLDRIAQPNYIPTQQDVLRTRVKTTGIVETHFTFKDLHFKMFDVGAQRSERKKWIHCFEGVTAIIFCVALSDYDLVLAEDEEMNRMHASMKLFDSICNNKWFTDTSIILFLNKKDLFEEKIKKSPLTICYPEYAGSNTYEEAAAYIQCQFEDLNKRKDTKEIYTHFTCSTDTKNVQFVFDAVTDVIIKNNLKDCGLF",R

注意:Chain ID 优先使用 auth 值,其次使用默认的 Chain 值,例如 Chain D[auth G] 是 G,Chain A 是 A。

获取 CSV 文件 gpcr_dataset.csv,字段包括:pdbchainseqgpcr_chain 等关键字段。

2. 导出 PDB 与 FASTA 数据

根据数据文件,导出 GPCR 相关的复合物 PDB 与 多链 FASTA,再根据 GPCR 链 (Preferred Chain) 导出单体 PDB 与 单链 FASTA。

2.1 导出 PDB 复合物与蛋白质序列

调用 p1_main_gpcr_pdb_exporter.py,提取 GPCR 复合物结构与序列。

python3 gpcr/p1_main_gpcr_pdb_exporter.py \
-i gpcr/gpcr_data_filter.csv \
-p gpcr/gpcr_complex_v2/pdb_complex_446 \
-f gpcr/gpcr_complex_v2/fasta_complex_446

存储的 PDB 的格式与 FASTA 的格式,建议保留 PDB 名称、链名、链长、全部序列长度,即:

  • PDB: 8IW9_A234_B338_C53_R309_S231_N128_1293.pdb
  • FASTA: 8IW9_A362_B377_C59_N128_R348_S285_1559.fasta

注意:全长的 FASTA 序列预测 PDB 结构,优于从 PDB 中提取的 FASTA 序列预测的结构,原因是 PDB 结构中缺失一些残基位置。

GPCR 复合物的输出位置,包括 PDB 与 FASTA,即:

gpcr/gpcr_complex_v2/pdb_complex_446/
gpcr/gpcr_complex_v2/fasta_complex_446/

8IW9_A362_B377_C59_N128_R348_S285_1559.fasta 序列:

>A
MMGCTLSAEDKAAVERSKMIEKQLQKDKQVYRATHRLLLLGADNSGKSTIVKQMRIYHVNGYSEEECKQYKAVVYSNTIQSIIAIIRAMGRLKIDFGDSARADDARQLFVLAGAAEEGFMTAELAGVIKRLWKDSGVQACFNRSREYQLNDSAAYYLNDLDRIAQPNYIPTQQDVLRTRVKTSGIFETKFQVDKVNFHMFDVGAQRDERRKWIQCFNDVTAIIFVVDSSDYNRLQEALNDFKSIWNNRWLRTISVILFLNKQDLLAEKVLAGKSKIEDYFPEFARYTTPEDATPEPGEDPRVTRAKYFIRDEFLRISTASGDGRHYCYPHFTCSVDTENARRIFNDCRDIIQRMHLRQYELL
>B
MHHHHHHGSLLQSELDQLRQEAEQLKNQIRDARKACADATLSQITNNIDPVGRIQMRTRRTLRGHLAKIYAMHWGTDSRLLVSASQDGKLIIWDSYTTNKVHAIPLRSSWVMTCAYAPSGNYVACGGLDNICSIYNLKTREGNVRVSRELAGHTGYLSCCRFLDDNQIVTSSGDTTCALWDIETGQQTTTFTGHTGDVMSLSLAPDTRLFVSGACDASAKLWDVREGMCRQTFTGHESDINAICFFPNGNAFATGSDDATCRLFDLRADQELMTYSHDNIICGITSVSFSKSGRLLLAGYDDFNCNVWDALKADRAGVLAGHDNRVSCLGVTDDGMAVATGSWDSFLKIWNGSSGGGGSGGGGSSGVSGWRLFKKIS
>C
NTASIAQARKLVEQLKMEANIDRIKVSKAAADLMAYCEAHAKEDPLLTPVPASENPFRE
>N
QVQLQESGGGLVQPGGSLRLSCAASGFTFSNYKMNWVRQAPGKGLEWVSDISQSGASISYTGSVKGRFTISRDNAKNTLYLQMNSLKPEDTAVYYCARCPAPFTRDCFDVTSTTYAYRGQGTQVTVSS
>R
MTSDFSPEPPMELCYENVNGSCIKSSYAPWPRAILYGVLGLGALLAVFGNLLVIIAILHFKQLHTPTNFLVASLACADFLVGVTVMPFSTVRSVESCWYFGESYCKFHTCFDTSFCFASLFHLCCISIDRYIAVTDPLTYPTKFTVSVSGLCIALSWFFSVTYSFSIFYTGANEEGIEELVVALTCVGGCQAPLNQNWVLLCFLLFFLPTVVMVFLYGRIFLVAKYQARKIEGTANQAQASSESYKERVAKRERKAAKTLGIAMAAFLVSWLPYIIDAVIDAYMNFITPAYVYEILVWCVYYNSAMNPLIYAFFYPWFRKAIKLIVSGKVFRADSSTTNLFSEEAGAG
>S
MLLVNQSHQGFNKEHTSKMVSAIVLYVLLAAAAHSAFAVQLVESGGGLVQPGGSRKLSCSASGFAFSSFGMHWVRQAPEKGLEWVAYISSGSGTIYYADTVKGRFTISRDDPKNTLFLQMTSLRSEDTAMYYCVRSIYYYGSSPFDFWGQGTTLTVSAGGGGSGGGGSGGGGSADIVMTQATSSVPVTPGESVSISCRSSKSLLHSNGNTYLYWFLQRPGQSPQLLIYRMSNLASGVPDRFSGSGSGTAFTLTISRLEAEDVGVYYCMQHLEYPLTFGAGTKLEL

2.2 统计与清洗 CSV 文件

调用 p2_main_gpcr_generate_csv.py,根据 FASTA 文件,在原文件中,去除错误的 Case,保留现有的 Case,即:

python3 gpcr/p2_main_gpcr_generate_csv.py \
-i gpcr/gpcr_data_filter.csv \
-f gpcr/gpcr_complex_v2/fasta_complex_446 \
-o gpcr/gpcr_complex_v2/gpcr_info_446.csv

GPCR 复合物是否包含 抗体(antibody) 链的数据类型:

{'antibody': 340, 'no antibody': 106}

更新的 GPCR 信息文件:

pdb,ab,chains,gpcr,g_len,seqs
7XTC,True,"A,B,G,N,R",R,576,"MGCLGNSKTED..."

2.3 拆分 GPCR 单链的 PDB 与 FASTA

调用 p3_main_gpcr_chain_pdb_exporter.py,根据 GPCR 链拆分 PDB 与 FASTA,即:

python3 gpcr/p3_main_gpcr_chain_pdb_exporter.py \
-i gpcr/gpcr_complex_v2/gpcr_info_446.csv \
-f gpcr/gpcr_complex_v2/fasta_complex_446 \
-p gpcr/gpcr_complex_v2/pdb_complex_446 \
-of gpcr/gpcr_complex_v2/gcpr_chain/fasta \
-op gpcr/gpcr_complex_v2/gcpr_chain/pdb

在拆分 PDB 单链之后,使用格式化 PDB,即保证残基中 CA 只有1个,同时链 ID 转换成 A,有利于后续的结构评估。

输出的 GPCR 链,序列是全长,FASTA 长度大于 PDB 长度,如下:

  • 8IW9_R309.pdb
  • 8IW9_R348.fasta

8IW9_R348.fasta 的序列,即:

>R
MTSDFSPEPPMELCYENVNGSCIKSSYAPWPRAILYGVLGLGALLAVFGNLLVIIAILHFKQLHTPTNFLVASLACADFLVGVTVMPFSTVRSVESCWYFGESYCKFHTCFDTSFCFASLFHLCCISIDRYIAVTDPLTYPTKFTVSVSGLCIALSWFFSVTYSFSIFYTGANEEGIEELVVALTCVGGCQAPLNQNWVLLCFLLFFLPTVVMVFLYGRIFLVAKYQARKIEGTANQAQASSESYKERVAKRERKAAKTLGIAMAAFLVSWLPYIIDAVIDAYMNFITPAYVYEILVWCVYYNSAMNPLIYAFFYPWFRKAIKLIVSGKVFRADSSTTNLFSEEAGAG

2.4 GPCR 数据集区分 Monomer 与 Multimer

调用 p4_main_gpcr_monomer_multimer_spliter.py,拆分成 Monomer 与 Multimer 的 FASTA:

python3 gpcr/p4_main_gpcr_monomer_multimer_spliter.py \
-i gpcr/gpcr_complex_v2/fasta_complex_446/ \
-mo gpcr/gpcr_complex_v2/fasta_monomer_36 \
-mu gpcr/gpcr_complex_v2/fasta_multimer_410

确保 Monomer 与 Multimer 的数量之和,等于之前的结构数量,即 36 + 410 = 446,输出如下:

  • Monomer 的 FASTA 文件:8I2H_A682.fasta
  • Multimer 的 FASTA 文件:8IW9_A362_B377_C59_N128_R348_S285_1559.fasta

8I2H_A682.fasta 序列如下:

>A
LGSGCHHRICHCSNRVFLCQESKVTEIPSDLPRNAIELRFVLTKLRVIQKGAFSGFGDLEKIEISQNDVLEVIEADVFSNLPKLHEIRIEKANNLLYINPEAFQNLPNLQYLLISNTGIKHLPDVHKIHSLQKVLLDIQDNINIHTIERNSFVGLSFESVILWLNKNGIQEIHNCAFNGTQLDELNLSDNNNLEELPNDVFHGASGPVILDISRTRIHSLPSYGLENLKKLRARSTYNLKKLPTLEKLVALMEASLTYPSHCCAFANWRRQISELHPICNKSILRQEVDYMTQARGQRSSLAEDNESSYSRGFDMTYTEFDYDLCNEVVDVTCSPKPDAFNPCEDIMGYNILRVLIWFISILAITGNIIVLVILTTSQYKLTVPRFLMCNLAFADLCIGIYLLLIASVDIHTKSQYHNYAIDWQTGAGCDAAGFFTVFASELSVYTLTAITLERWHTITHAMQLDCKVQLRHAASVMVMGWIFAFAAALFPIFGISSYMKVSICLPMDIDSPLSQLYVMSLLVLNVLAFVVICGCYIHIYLTVRNPNIVSSSSDTRIAKRMAMLIFTDFLCMAPISFFAISASLKVPLITVSKAKILLVLFHPINSCANPFLYAIFTKNFRRDFFILLSKCGCYEMQAQIYRTETSSTVHNTHPRNGHCSSAPRVTNGSTYILVPLSHLAQN

拆分成 Monomer 与 Multimer 主要原因是蛋白质结构预测算法,区分 Monomer 与 Multimer,使用不同的模型与算法框架,进行预测。

2.5 GPCR 单链区分 Antibody

调用 p5_main_gpcr_antibody_spliter.py,通过标签文件,拆分出 Antibody 与 Non-Antibody 数据集的 PDB 与 FASTA 文件:

python3 gpcr/p5_main_gpcr_antibody_spliter.py \
-i gpcr/gpcr_complex_v2/gpcr_info_446.csv \
-r gpcr/gpcr_complex_v2/gcpr_chain/pdb_446 \
-oa gpcr/gpcr_complex_v2/gcpr_chain/pdb_ab \
-on gpcr/gpcr_complex_v2/gcpr_chain/pdb_nab \
-m pdb

日志:[Info] sample: 446, ab: 340, nab: 106

2.6 从 PDB 中导出已预测残基序列

调用 p6_main_gpcr_short_fasta_exporter.py,从 PDB 中提取 FASTA (短序列),用于后续评估:

python3 gpcr/p6_main_gpcr_short_fasta_exporter.py \
-i gpcr/gpcr_complex_v2/pdb_complex_446 \
-o gpcr/gpcr_complex_v2/fasta_from_pdb_446

PDB 中提取 FASTA 短序列的预测效果,低于真实的长序列,用于后续评估。

输出的 FASTA 序列长度 与 PDB 一致:

  • FASTA:8IW9_A234_B338_C53_R309_S231_N128_1293.fasta
  • PDB:8IW9_A234_B338_C53_N128_R309_S231_1293.pdb

3. 搜索 MSA 序列与导出 PDB 结构

搜索 MSA 序列,预测 PDB 结构,导出 PDB 结构,从 Multimer 拆出单链,再根据 FASTA 格式化。

3.1 搜索 MSA

推理 AF2 的 MSA 脚本,需要区分 Monomer 与 Multimer,即:

nohup bash run_alphafold.sh -f gpcr/gpcr_complex_v2/fasta_multimer_410/ -o gpcr/gpcr_complex_v2/fasta_multimer_410_msas -m multimer -h true > nohup.fasta_multimer_410_msas.out &nohup bash run_alphafold.sh -f gpcr/gpcr_complex_v2/fasta_monomer_36/ -o gpcr/gpcr_complex_v2/fasta_monomer_36_msas -m monomer -h true > nohup.fasta_monomer_36_msas.out &nohup bash run_alphafold.sh -f gpcr/gpcr_complex_v2/gcpr_chain/fasta_446 -o gpcr/gpcr_complex_v2/gcpr_chain/fasta_446_msas -m monomer -h true > nohup.gcpr_chain_fasta_msas.out &

使用 MSA 服务推理序列,即:

python msa_main.py -m 0 -f gpcr/gpcr_complex_v2/fasta_multimer_410/ -r mydata/test_fasta_multimer_410.json
python msa_main.py -m 1 -r mydata/test_fasta_multimer_410.jsonpython msa_main.py -m 0 -f gpcr/gpcr_complex_v2/fasta_monomer_36/ -r mydata/test_fasta_monomer_36.json
python msa_main.py -m 1 -r mydata/test_fasta_monomer_36.jsonpython msa_main.py -m 0 -f gpcr/gpcr_complex_v2/gcpr_chain/fasta_446/ -r mydata/test_fasta_446.json
python msa_main.py -m 1 -r mydata/test_fasta_446.json

以及预测 Monomer 与 Multimer 的结构。

3.1 导出 Monomer 的 PDB 结构

调用 p7_main_xtrimo_monomer_exporter.py,导出预测的 Monomer PDB 结构至单个文件夹,用于后续评估:

python3 gpcr/main_xtrimo_monomer_exporter.py \
-i gpcr_protein_no_antibody/ \
-o mydata/gpcr_eval/baseline_nab_local \
-f gpcr/gpcr_complex/gcpr_chain/fasta_non_ab_95/ \
-r mydata/gpcr_eval/baseline_nab_local_format

3.3 导出 Multimer 的 PDB 结构

调用 p8_main_xtrimo_multimer_exporter.py,导出预测的 Multimer PDB 结构至单个文件夹,用于后续评估:

python3 gpcr/main_xtrimo_multimer_exporter.py \
-i mydata/outputs_infer/gpcr_fasta_multimer_392_outputs/ \
-o mydata/gpcr_eval/gpcr_fasta_multimer_392 \
-f gpcr/gpcr_complex/fasta_multimer_392/ \
-r mydata/gpcr_eval/gpcr_fasta_multimer_392_format

再调用 p9_main_multimer_to_chain_exporter.py,从 Multimer 中 导出 GPCR 单链结构,即:

python3 gpcr/p9_main_multimer_to_chain_exporter.py \
-i mydata/gpcr_eval/gpcr_fasta_multimer_392_format \
-o mydata/gpcr_eval/gpcr_chain_multimer_v1 \
-c gpcr/gpcr_complex_v2/gpcr_info_446.csv

Monomer 的单链与 Multimer 导出的单链,都需要根据 PDB 序列去除冗余残基,只保留与 PDB 一致的残基。

调用 p10_main_pdb_residues_format.py,预测 PDB 结构的序列,匹配目标 PDB 结构的序列,标准化格式,用于之后的单链评估,即:

python3 gpcr/p10_main_pdb_residues_format.py \
-i mydata/gpcr_eval/gpcr_chain_redundancy_multimer \
-o mydata/gpcr_eval/gpcr_chain_redundancy_multimer_format \
-f gpcr/gpcr_complex_v2/fasta_from_pdb_446

4. 评估模型性能

调用 p11_main_gpcr_evaluator.py 评估预测结果,支持 ["pdb", "tm", "rmsd", "lddt", "drmsd", "gdt_ts", "gdt_ha"]

  • 输入文件夹 -m
  • 实验名称 -n
  • 真实结构文件夹 -t
  • 输出 xls 文件 -o

即:

python3 gpcr/p11_main_gpcr_evaluator.py \
-m mydata/gpcr_eval/gpcr_chain_redundancy_multimer_format \
-n nab_multimer_redundancy \
-t mydata/gpcr_targets/pdb_non_ab_95_format \
-o mydata/gpcr_res/

输出效果:
Data

调用 p12_main_gpcr_info_analysis.py 统计信息,支持展示序列长度:

python3 gpcr/p12_main_gpcr_info_analysis.py \
-i gpcr/gpcr_complex_v2/gpcr_info_446.csv \
-o mydata/gpcr/gpcr_images \
-k g_len

日志:

[Info] seq len range: 283 ~ 1543
[Info] len > 20: 446, len < 20: 0
[Info] value_counts: 300: 198 (44.3946%), 400: 116 (26.009%), 500: 63 (14.1256%), 600: 23 (5.157%), 700: 16 (3.5874%), 800: 11 (2.4664%), 900: 8 (1.7937%), 1000: 7 (1.5695%), 200: 4 (0.8969%), sum: 446

效果:

Seq

相关文章:

PSP - 从头搭建 抗原类别 (GPCR) 的 蛋白质结构预测 项目流程

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/134595717 GPCRs&#xff08;G Protein-Coupled Receptors&#xff0c;G蛋白偶联受体&#xff09;&#xff0c;又称为7次跨膜受体&#xff0c;是细…...

城市NOA加速落地,景联文科技高质量数据标注助力感知系统升级

当前&#xff0c;自动驾驶技术的演进正在经历着从基础L2到L3过渡的重要阶段&#xff0c;其中NOA&#xff08;自动辅助导航驾驶&#xff09;扮演着至关重要的角色。城市NOA&#xff08;L2.9&#xff09;作为城市场景下的NOA&#xff0c;被看作是车企向更高阶自动驾驶迈进的必经之…...

控制反转(IoC)是什么?

文章目录 控制反转&#xff08;Inversion of Control&#xff0c;IoC&#xff09;传统的程序设计中&#xff1a;应用程序控制程序流程控制反转设计中&#xff1a;由框架或容器控制程序流程IoC 的作用 举例生活例子软件工程例子 控制反转&#xff08;Inversion of Control&#…...

Redisson分布式锁源码解析、集群环境存在的问题

一、使用Redisson步骤 Redisson各个锁基本所用Redisson各个锁基本所用Redisson各个锁基本所用 二、源码解析 lock锁 1&#xff09; 基本思想&#xff1a; lock有两种方法 一种是空参 另一种是带参 * 空参方法&#xff1a;会默认调用看门狗的过期时间30*1000&…...

2016年10月4日 Go生态洞察:HTTP追踪介绍

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…...

分布式篇---第四篇

系列文章目录 文章目录 系列文章目录前言一、分布式ID生成有几种方案?二、幂等解决方法有哪些?三、常见负载均衡算法有哪些?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给…...

从零开始的C++(十九)

红黑树&#xff1a; 一种接近平衡的二叉树&#xff0c;平衡程度低于搜索二叉树。 特点&#xff1a; 1.根节点为黑 2.黑色结点的子结点可以是红色结点或黑色结点。 3.红色结点的子结点只能是黑色结点。 4.每个结点到其所有叶子结点的路径的黑色结点个数相同。 5.指向空的…...

opencv-使用 Haar 分类器进行面部检测

Haar 分类器是一种用于对象检测的方法&#xff0c;最常见的应用之一是面部检测。Haar 分类器基于Haar-like 特征&#xff0c;这些特征可以通过计算图像中的积分图来高效地计算。 在OpenCV中&#xff0c;Haar 分类器被广泛用于面部检测。以下是一个简单的使用OpenCV进行面部检测…...

C++纯虚函数和抽象类 制作饮品案例(涉及知识点:继承,多态,实例化继承抽象类的子类,多文件实现项目)

一.纯虚函数的由来 在多态中&#xff0c;通常父类中虚函数的实现是毫无意义的&#xff0c;主要都是调用子类重写的内容。例如&#xff1a; #include<iostream>using namespace std;class AbstractCalculator { public:int m_Num1;int m_Num2;virtual int getResult(){r…...

什么是网关和链路追踪,以及怎么使用?

在云计算中&#xff0c;网关和链路追踪也是非常重要的。云服务提供商通常会提供网关和链路追踪等相关服务来帮助用户管理和优化云计算网络。 云计算中的网关通常包括以下几种&#xff1a; 虚拟网络网关&#xff1a;用于将云中不同虚拟网络之间相互连接&#xff0c;实现云内不同…...

git 文件被莫名其妙的或略且无论如何都查不到哪个.gitignore文件忽略的

先说解决办法&#xff1a;git check-ignore -v [文件路径] 这个命令会返回一个忽略规则&#xff0c;以及该规则在哪个文件中定义的&#xff0c;该规则使得指定的文件被忽略。 1.遇到的问题 同项目组&#xff0c;其他同学都可以正常的提交.meta文件&#xff0c;我的提交就出现以…...

nova组件简介

目录 组件关系图 controller节点 openstack-nova-api.service: openstack-nova-conductor.service: openstack-nova-consoleauth.service: openstack-nova-novncproxy.service: openstack-nova-scheduler.service: openstack-nova-conductor.service详解 作用和功能&…...

【Vue】响应式与数据劫持

Vue.js 是一个渐进式的 JavaScript 框架&#xff0c;其中最重要的一个特性就是响应式&#xff08;Reactivity&#xff09;。Vue 借助数据劫持&#xff08;Data Observation&#xff09;技术实现了对数据的响应式更新&#xff0c;当数据发生变化时&#xff0c;它会自动重新渲染视…...

Modbus RTU转Profinet网关连接PLC与变频器通讯在机床上应用案例

背景&#xff1a;以前在机床加工车间里&#xff0c;工人们忙碌地操作着各种机床设备。为了使整个生产过程更加高效、流畅&#xff0c;进行智能化改造。 方案&#xff1a;在机床上&#xff0c;PLC通过Modbus RTU转Profinet网关连接变频器进行通讯&#xff1a;PLC作为整个生产线…...

Autoware 整体架构

Autoware 整体架构 测试...

【maven】手动指定jar推送

说明 为了推送第三方的jar&#xff0c;有时需要指定对应的jar推送到私有仓库。 示例 mvn deploy:deploy-file --settings /home/xxx/.m2/settings.xml -DgroupIdgroupId的值 -DartifactIdartifactId的值 -Dversionjar包的版本号 -Dpackagingjar -Dfilejar的路径 -Durlhttp:/…...

算法---定长子串中元音的最大数目

题目 给你字符串 s 和整数 k 。 请返回字符串 s 中长度为 k 的单个子字符串中可能包含的最大元音字母数。 英文中的 元音字母 为&#xff08;a, e, i, o, u&#xff09;。 示例 1&#xff1a; 输入&#xff1a;s “abciiidef”, k 3 输出&#xff1a;3 解释&#xff1a;…...

美国汽车零部件巨头 AutoZone 遭遇网络攻击

Security Affairs 网站披露&#xff0c;美国汽车配件零售商巨头 AutoZone 称其成为了 Clop MOVEit 文件传输网络攻击的受害者&#xff0c;导致大量数据泄露。 AutoZone 是美国最大的汽车零配件售后市场经销商之一&#xff0c;在美国、墨西哥、波多黎各、巴西和美属维尔京群岛经…...

WPF面试题入门篇

入门篇[2] 1. 谈谈什么是WPF&#xff1f; WPF&#xff08;Windows Presentation Foundation&#xff09;是微软公司开发的一种用于创建Windows应用程序的用户界面框架。它是.NET Framework的一部分&#xff0c;提供了一种基于XAML&#xff08;可扩展应用程序标记语言&#xf…...

opencv-ORB检测

ORB&#xff08;Oriented FAST and Rotated BRIEF&#xff09;是一种图像特征检测和描述算法&#xff0c;结合了 FAST 关键点检测器和 BRIEF 描述子的优点。ORB 算法具有良好的性能&#xff0c;特别适用于实时应用&#xff0c;如目标追踪、相机定位等。 以下是 ORB 算法的一般…...

Java的Vector API(Project Valhalla):SIMD指令的Java抽象

Java的Vector API&#xff08;Project Valhalla&#xff09;&#xff1a;SIMD指令的Java抽象 在追求高性能计算的今天&#xff0c;单指令多数据&#xff08;SIMD&#xff09;技术已成为现代CPU加速并行计算的核心手段。Java作为一门高级语言&#xff0c;长期以来缺乏对SIMD指令…...

做一个开源完整流程=hyperf 服务脚手架 Starter Kit

--- 1) 目标定义&#xff08;开源仓库定位&#xff09;仓库名建议&#xff1a;hyperf-starter-kit定位&#xff1a;开箱即用的 Hyperf API 服务脚手架&…...

IndexTTS2 V23镜像效果展示:多情感语音生成案例,听感真实自然

IndexTTS2 V23镜像效果展示&#xff1a;多情感语音生成案例&#xff0c;听感真实自然 1. 引言&#xff1a;语音合成的情感革命 想象一下&#xff0c;当你听到一段AI生成的语音时&#xff0c;能感受到说话者的喜怒哀乐——这不是科幻电影&#xff0c;而是IndexTTS2 V23版本带来…...

AI智能体框架yu-ai-agent:快速构建与部署开发者指南

1. 项目概述&#xff1a;一个面向开发者的AI智能体框架最近在GitHub上闲逛&#xff0c;发现了一个挺有意思的项目&#xff0c;叫yu-ai-agent。这个项目来自开发者liyupi&#xff0c;也就是大家熟知的“程序员鱼皮”。看到这个名字&#xff0c;我的第一反应是&#xff1a;这应该…...

基于AWS Agent-Squad框架构建多智能体协作系统的实践指南

1. 项目概述&#xff1a;当AI智能体组成“特工小队” 如果你最近在关注AI应用开发的前沿&#xff0c;特别是多智能体协作这个方向&#xff0c;那么 awslabs/agent-squad 这个项目绝对值得你花时间深入研究。简单来说&#xff0c;这是一个由AWS实验室&#xff08;AWS Labs&…...

【VSCode 2026国产化适配白皮书】:涵盖麒麟、统信、中科方德等6大OS内核级兼容方案(含实测性能衰减率<3.2%)

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;VSCode 2026国产化适配战略定位与白皮书核心结论 VSCode 2026版本已正式将“全栈国产化支持”列为一级战略目标&#xff0c;聚焦操作系统兼容性、芯片指令集适配、安全可信链构建三大支柱。其核心定位并非简单…...

02华夏之光永存:黄大年茶思屋榜文解法「19期二题」 Data-free/Label-free模型压缩算法 专项解法

华夏之光永存&#xff1a;黄大年茶思屋榜文解法「19期二题」 Data-free/Label-free模型压缩算法 专项解法 一、摘要 本题为数据安全受限场景下模型轻量化部署的核心技术瓶颈&#xff0c;本文采用工程化可复现逻辑&#xff0c;提供两条标准化解题路径&#xff0c;全程符合工程师…...

为什么你花10万+做的小程序,还不如别人花5万块的效果?

花了大价钱做小程序&#xff0c;效果却不如别人预算更低的项目&#xff0c;这种案例我见得太多了。很多老板找我聊的时候&#xff0c;第一句话就是“为什么我那个10多万的小程序&#xff0c;用起来跟个半成品一样&#xff1f;” 核心问题不在钱多钱少&#xff0c;而在前期有没有…...

中心极限定理在机器学习中的应用与实践

1. 中心极限定理入门&#xff1a;为什么每个机器学习从业者都该懂它第一次听说中心极限定理(CLT)时&#xff0c;我正在调试一个图像分类模型的预测结果分布。当时发现测试集的准确率波动比预期大得多&#xff0c;百思不得其解。直到导师指着直方图问我&#xff1a;"你注意…...

智用开物完成近亿元天使+轮融资,多产品矩阵驱动工业场景AI应用落地

硬氪获悉&#xff0c;工业智能体及高价值应用公司智用开物完成近亿元天使轮融资&#xff0c;资金将用于建设“工业语义引擎”及研发制造业高价值岗位智能体。该公司已形成三大产品矩阵&#xff0c;成果获头部客户验证。融资情况 智用开物近日完成近亿元天使轮融资&#xff0c;由…...