SURFACE-Bind
  • Home
  • Analysis
  • Protein Families
    • Enzymes
    • Receptors
    • Transporters
    • Miscellaneous
    • Unclassified
    • Unmatched
  • About
  1. GPCR
  2. Q6IEY1

  • GPCR
    • A3KFT3
    • A4D2G3
    • A6NCV1
    • A6ND48
    • A6NDH6
    • A6NDL8
    • A6NET4
    • A6NF89
    • A6NGY5
    • A6NH00
    • A6NHA9
    • A6NHG9
    • A6NIJ9
    • A6NJZ3
    • A6NKK0
    • A6NL08
    • A6NL26
    • A6NM03
    • A6NM76
    • A6NMS3
    • A6NMU1
    • A6NMZ5
    • A6NND4
    • B2RN74
    • O00144
    • O00155
    • O00222
    • O00270
    • O00398
    • O00421
    • O00590
    • O14581
    • O14626
    • O14842
    • O14843
    • O15218
    • O15303
    • O15354
    • O15529
    • O15552
    • O43193
    • O43194
    • O43603
    • O43613
    • O43614
    • O43749
    • O43869
    • O60353
    • O60403
    • O60404
    • O60412
    • O60431
    • O60755
    • O75084
    • O75388
    • O75473
    • O75899
    • O76000
    • O76001
    • O76002
    • O76099
    • O76100
    • O95006
    • O95007
    • O95013
    • O95047
    • O95136
    • O95221
    • O95222
    • O95371
    • O95665
    • O95800
    • O95838
    • O95918
    • O95977
    • P0C7N1
    • P0C7N5
    • P0C7N8
    • P0C7T2
    • P0C7T3
    • P0C604
    • P0C617
    • P0C623
    • P0C626
    • P0C628
    • P0C629
    • P0C645
    • P0C646
    • P03999
    • P04201
    • P07550
    • P08172
    • P08173
    • P08588
    • P08908
    • P08912
    • P08913
    • P11229
    • P13945
    • P14416
    • P18089
    • P18825
    • P20309
    • P21452
    • P21453
    • P21462
    • P21554
    • P21728
    • P21730
    • P21731
    • P21917
    • P21918
    • P25021
    • P25024
    • P25025
    • P25089
    • P25100
    • P25103
    • P25105
    • P25106
    • P25116
    • P25929
    • P28221
    • P28222
    • P28335
    • P28566
    • P29274
    • P29275
    • P29371
    • P30411
    • P30518
    • P30542
    • P30550
    • P30559
    • P30872
    • P30874
    • P30939
    • P30953
    • P30954
    • P30968
    • P30988
    • P31391
    • P32238
    • P32241
    • P32245
    • P32246
    • P32247
    • P32248
    • P32249
    • P32302
    • P32745
    • P33032
    • P34969
    • P34972
    • P34981
    • P34982
    • P34995
    • P34998
    • P35346
    • P35367
    • P35368
    • P35372
    • P35408
    • P35410
    • P35414
    • P35462
    • P37288
    • P41143
    • P41145
    • P41146
    • P41180
    • P41231
    • P41586
    • P41587
    • P41968
    • P43088
    • P43115
    • P43116
    • P43119
    • P43220
    • P43657
    • P46089
    • P46092
    • P46093
    • P46095
    • P46663
    • P47211
    • P47775
    • P47804
    • P47872
    • P47881
    • P47883
    • P47884
    • P47887
    • P47888
    • P47890
    • P47893
    • P47898
    • P47900
    • P47901
    • P48145
    • P48146
    • P48546
    • P49019
    • P49146
    • P49190
    • P49238
    • P49286
    • P49683
    • P49685
    • P50052
    • P50391
    • P50406
    • P51582
    • P51677
    • P51684
    • P51686
    • P55085
    • P58170
    • P58173
    • P58180
    • P58181
    • P58182
    • P59533
    • P59534
    • P59540
    • P59541
    • P59542
    • P59543
    • P59922
    • P60893
    • P61073
    • Q5JQS5
    • Q5JRS4
    • Q5NUL3
    • Q5T6X5
    • Q5T848
    • Q5TZ20
    • Q5UAW9
    • Q5VW38
    • Q6DWJ6
    • Q6IEU7
    • Q6IEV9
    • Q6IEY1
    • Q6IEZ7
    • Q6IF00
    • Q6IF42
    • Q6IF63
    • Q6IF82
    • Q6IF99
    • Q6IFG1
    • Q6IFH4
    • Q6IFN5
    • Q6NV75
    • Q6PRD1
    • Q6U736
    • Q6W5P4
    • Q7RTX0
    • Q7RTX1
    • Q7Z5H5
    • Q7Z601
    • Q7Z602
    • Q8IXE1
    • Q8IYL9
    • Q8N0Y3
    • Q8N0Y5
    • Q8N6U8
    • Q8N127
    • Q8N146
    • Q8N148
    • Q8N162
    • Q8N349
    • Q8N628
    • Q8NDV2
    • Q8NFJ5
    • Q8NFJ6
    • Q8NFN8
    • Q8NFZ6
    • Q8NG75
    • Q8NG76
    • Q8NG77
    • Q8NG78
    • Q8NG80
    • Q8NG81
    • Q8NG83
    • Q8NG84
    • Q8NG85
    • Q8NG92
    • Q8NG94
    • Q8NG95
    • Q8NG98
    • Q8NG99
    • Q8NGA0
    • Q8NGA1
    • Q8NGA2
    • Q8NGA5
    • Q8NGA6
    • Q8NGA8
    • Q8NGB2
    • Q8NGB4
    • Q8NGB6
    • Q8NGB8
    • Q8NGB9
    • Q8NGC0
    • Q8NGC1
    • Q8NGC2
    • Q8NGC3
    • Q8NGC4
    • Q8NGC5
    • Q8NGC6
    • Q8NGC7
    • Q8NGC8
    • Q8NGC9
    • Q8NGD0
    • Q8NGD2
    • Q8NGD3
    • Q8NGD4
    • Q8NGD5
    • Q8NGE0
    • Q8NGE1
    • Q8NGE2
    • Q8NGE3
    • Q8NGE5
    • Q8NGE7
    • Q8NGE8
    • Q8NGE9
    • Q8NGF0
    • Q8NGF1
    • Q8NGF3
    • Q8NGF4
    • Q8NGF6
    • Q8NGF7
    • Q8NGF8
    • Q8NGF9
    • Q8NGG0
    • Q8NGG1
    • Q8NGG2
    • Q8NGG3
    • Q8NGG4
    • Q8NGG5
    • Q8NGG6
    • Q8NGG7
    • Q8NGG8
    • Q8NGH3
    • Q8NGH5
    • Q8NGH6
    • Q8NGH7
    • Q8NGH8
    • Q8NGH9
    • Q8NGI0
    • Q8NGI1
    • Q8NGI2
    • Q8NGI3
    • Q8NGI4
    • Q8NGI6
    • Q8NGI7
    • Q8NGI8
    • Q8NGI9
    • Q8NGJ0
    • Q8NGJ1
    • Q8NGJ2
    • Q8NGJ3
    • Q8NGJ4
    • Q8NGJ5
    • Q8NGJ6
    • Q8NGJ7
    • Q8NGJ8
    • Q8NGK0
    • Q8NGK1
    • Q8NGK2
    • Q8NGK3
    • Q8NGK4
    • Q8NGK5
    • Q8NGK6
    • Q8NGK9
    • Q8NGL0
    • Q8NGL1
    • Q8NGL2
    • Q8NGL3
    • Q8NGL4
    • Q8NGL6
    • Q8NGL7
    • Q8NGL9
    • Q8NGM1
    • Q8NGM8
    • Q8NGM9
    • Q8NGN0
    • Q8NGN1
    • Q8NGN2
    • Q8NGN3
    • Q8NGN4
    • Q8NGN5
    • Q8NGN6
    • Q8NGN7
    • Q8NGN8
    • Q8NGP0
    • Q8NGP2
    • Q8NGP3
    • Q8NGP4
    • Q8NGP6
    • Q8NGP8
    • Q8NGP9
    • Q8NGQ1
    • Q8NGQ2
    • Q8NGQ3
    • Q8NGQ4
    • Q8NGQ5
    • Q8NGQ6
    • Q8NGR1
    • Q8NGR2
    • Q8NGR3
    • Q8NGR4
    • Q8NGR5
    • Q8NGR6
    • Q8NGR8
    • Q8NGR9
    • Q8NGS0
    • Q8NGS1
    • Q8NGS2
    • Q8NGS3
    • Q8NGS4
    • Q8NGS5
    • Q8NGS6
    • Q8NGS7
    • Q8NGS8
    • Q8NGS9
    • Q8NGT0
    • Q8NGT1
    • Q8NGT2
    • Q8NGT7
    • Q8NGT9
    • Q8NGU1
    • Q8NGU4
    • Q8NGU9
    • Q8NGV0
    • Q8NGV5
    • Q8NGV6
    • Q8NGV7
    • Q8NGW1
    • Q8NGW6
    • Q8NGX0
    • Q8NGX1
    • Q8NGX2
    • Q8NGX3
    • Q8NGX5
    • Q8NGX6
    • Q8NGX8
    • Q8NGX9
    • Q8NGY0
    • Q8NGY1
    • Q8NGY2
    • Q8NGY3
    • Q8NGY5
    • Q8NGY6
    • Q8NGY7
    • Q8NGY9
    • Q8NGZ0
    • Q8NGZ2
    • Q8NGZ3
    • Q8NGZ4
    • Q8NGZ5
    • Q8NGZ6
    • Q8NGZ9
    • Q8NH00
    • Q8NH01
    • Q8NH02
    • Q8NH03
    • Q8NH04
    • Q8NH05
    • Q8NH06
    • Q8NH07
    • Q8NH09
    • Q8NH10
    • Q8NH16
    • Q8NH18
    • Q8NH19
    • Q8NH21
    • Q8NH37
    • Q8NH40
    • Q8NH41
    • Q8NH42
    • Q8NH43
    • Q8NH48
    • Q8NH49
    • Q8NH50
    • Q8NH51
    • Q8NH53
    • Q8NH54
    • Q8NH55
    • Q8NH56
    • Q8NH57
    • Q8NH59
    • Q8NH60
    • Q8NH61
    • Q8NH63
    • Q8NH64
    • Q8NH69
    • Q8NH70
    • Q8NH72
    • Q8NH73
    • Q8NH74
    • Q8NH76
    • Q8NH79
    • Q8NH80
    • Q8NH81
    • Q8NH83
    • Q8NH85
    • Q8NH87
    • Q8NH90
    • Q8NH92
    • Q8NH93
    • Q8NH94
    • Q8NH95
    • Q8NHA4
    • Q8NHA6
    • Q8NHA8
    • Q8NHB1
    • Q8NHB7
    • Q8NHB8
    • Q8NHC4
    • Q8NHC5
    • Q8NHC6
    • Q8NHC7
    • Q8NHC8
    • Q8TCB6
    • Q8TCW9
    • Q8TDS4
    • Q8TDS5
    • Q8TDS7
    • Q8TDT2
    • Q8TDU9
    • Q8TDV2
    • Q8TDV5
    • Q8TE23
    • Q8WZ84
    • Q8WZ92
    • Q8WZ94
    • Q8WZA6
    • Q9BXA5
    • Q9BXC0
    • Q9BXC1
    • Q9BXE9
    • Q9BY21
    • Q9BZJ6
    • Q9BZJ7
    • Q9BZJ8
    • Q9GZK3
    • Q9GZK4
    • Q9GZK6
    • Q9GZK7
    • Q9GZM6
    • Q9GZN0
    • Q9GZP7
    • Q9GZQ6
    • Q9H1C0
    • Q9H1Y3
    • Q9H2C5
    • Q9H2C8
    • Q9H3N8
    • Q9H205
    • Q9H207
    • Q9H208
    • Q9H209
    • Q9H210
    • Q9H228
    • Q9H255
    • Q9H339
    • Q9H340
    • Q9H341
    • Q9H342
    • Q9H343
    • Q9H346
    • Q9H461
    • Q9HB89
    • Q9HBW0
    • Q9HBX8
    • Q9HBX9
    • Q9HC97
    • Q9HCU4
    • Q9NPB9
    • Q9NPC1
    • Q9NPG1
    • Q9NQ84
    • Q9NQN1
    • Q9NS66
    • Q9NS67
    • Q9NSD7
    • Q9NWF4
    • Q9NYM4
    • Q9NYQ6
    • Q9NYQ7
    • Q9NYV7
    • Q9NYV8
    • Q9NYW0
    • Q9NYW1
    • Q9NYW2
    • Q9NYW3
    • Q9NYW5
    • Q9NYW6
    • Q9NYW7
    • Q9NZD1
    • Q9NZH0
    • Q9NZP0
    • Q9NZP2
    • Q9NZP5
    • Q9P1P5
    • Q9P1Q5
    • Q9P296
    • Q9UBS5
    • Q9UBY5
    • Q9UGF5
    • Q9UGF6
    • Q9UGF7
    • Q9UHM6
    • Q9UKL2
    • Q9UKP6
    • Q9ULV1
    • Q9ULW2
    • Q9UNW8
    • Q9UP38
    • Q9UPC5
    • Q9Y2T5
    • Q9Y2T6
    • Q9Y3N9
    • Q9Y4A9
    • Q9Y5N1
    • Q9Y5P0
    • Q9Y5P1
    • Q9Y5X5
    • Q9Y5Y3
    • Q9Y5Y4
    • Q9Y585
    • Q49SQ1
    • Q86SM5
    • Q86SM8
    • Q86VZ1
    • Q96CH1
    • Q96KK4
    • Q96LA9
    • Q96LB0
    • Q96LB1
    • Q96LB2
    • Q96P65
    • Q96P66
    • Q96P67
    • Q96P68
    • Q96P69
    • Q96P88
    • Q96R08
    • Q96R09
    • Q96R27
    • Q96R28
    • Q96R45
    • Q96R47
    • Q96R48
    • Q96R54
    • Q96R67
    • Q96R69
    • Q96R72
    • Q96R84
    • Q96RA2
    • Q96RB7
    • Q96RC9
    • Q96RD0
    • Q96RD1
    • Q96RD2
    • Q96RD3
    • Q96RI0
    • Q96RI9
    • Q96RJ0
    • Q969F8
    • Q969V1
    • Q01718
    • Q01726
    • Q02643
    • Q03431
    • Q13255
    • Q13258
    • Q13304
    • Q13324
    • Q13467
    • Q13585
    • Q13606
    • Q13607
    • Q14330
    • Q14332
    • Q14416
    • Q14439
    • Q14831
    • Q14832
    • Q14833
    • Q15077
    • Q15612
    • Q15617
    • Q15619
    • Q15620
    • Q15622
    • Q15722
    • Q15760
    • Q15761
    • Q16538
    • Q16570
    • Q16581
    • Q16602
    • Q92847
    • Q99463
    • Q99500
    • Q99527
    • Q99677
    • Q99678
    • Q99680
    • Q99705
    • Q99788
    • Q99835

  • IG
    • A6NI73
    • O14931
    • O14931
    • O75015
    • O75019
    • O75022
    • O75023
    • O75054
    • O76036
    • O95185
    • O95256
    • O95944
    • O95976
    • P01589
    • P01833
    • P06126
    • P08637
    • P08887
    • P10912
    • P12314
    • P12318
    • P12319
    • P14778
    • P14784
    • P15151
    • P15260
    • P15509
    • P15812
    • P15813
    • P16471
    • P16871
    • P17181
    • P19235
    • P24394
    • P26951
    • P26992
    • P27930
    • P29016
    • P29017
    • P31785
    • P31994
    • P31995
    • P32927
    • P32942
    • P38484
    • P40189
    • P40238
    • P42701
    • P42702
    • P43146
    • P43626
    • P43627
    • P43628
    • P43629
    • P43630
    • P43631
    • P43632
    • P48357
    • P48551
    • P55899
    • P59901
    • P78310
    • P78552
    • Q2VWP7
    • Q4KMG0
    • Q5DX21
    • Q5T2D2
    • Q5VWK5
    • Q6DN72
    • Q6IA17
    • Q6PI73
    • Q6Q8B3
    • Q6UXG3
    • Q6UXL0
    • Q6UXZ4
    • Q6ZN44
    • Q8IU57
    • Q8IVU1
    • Q8IZJ1
    • Q8N6C5
    • Q8N6P7
    • Q8N109
    • Q8N149
    • Q8N423
    • Q8N743
    • Q8NHK3
    • Q8NHL6
    • Q8NI17
    • Q8TD46
    • Q8TDQ1
    • Q8TDY8
    • Q8WWV6
    • Q9BWV1
    • Q9HB29
    • Q9HBE5
    • Q9HCK4
    • Q9NP60
    • Q9NP99
    • Q9NPH3
    • Q9NSI5
    • Q9NZC2
    • Q9NZN1
    • Q9UGN4
    • Q9UHF4
    • Q9Y6N7
    • Q96LA5
    • Q96LA6
    • Q96MS0
    • Q96P31
    • Q496F6
    • Q969P0
    • Q01113
    • Q01344
    • Q01638
    • Q08334
    • Q08708
    • Q13261
    • Q13478
    • Q13651
    • Q14626
    • Q14627
    • Q14943
    • Q14952
    • Q14953
    • Q14954
    • Q15109
    • Q15762
    • Q92637
    • Q92859
    • Q93033
    • Q99062
    • Q99650
    • Q99665
    • Q99706
    • Q99795

  • Kinase
    • O15146
    • O15197
    • P00533
    • P04626
    • P04629
    • P06213
    • P07333
    • P07949
    • P08069
    • P08581
    • P08922
    • P09619
    • P10721
    • P11362
    • P14616
    • P16066
    • P16234
    • P17342
    • P17948
    • P20594
    • P21709
    • P21802
    • P21860
    • P22455
    • P22607
    • P25092
    • P27037
    • P29317
    • P29320
    • P29322
    • P29323
    • P29376
    • P30530
    • P34925
    • P35590
    • P35916
    • P35968
    • P36888
    • P36894
    • P36896
    • P36897
    • P37023
    • P37173
    • P54753
    • P54756
    • P54760
    • P54762
    • P54764
    • Q5JZY3
    • Q8NER5
    • Q9UF33
    • Q01973
    • Q01974
    • Q02763
    • Q04771
    • Q04912
    • Q06418
    • Q08345
    • Q12866
    • Q13308
    • Q13705
    • Q13873
    • Q15303
    • Q15375
    • Q16288
    • Q16620
    • Q16671
    • Q16832

  • Other_receptors
    • O00206
    • O00220
    • O14522
    • O14786
    • O14836
    • O15031
    • O15455
    • O43157
    • O60462
    • O60486
    • O60602
    • O60603
    • O60895
    • O60896
    • O75051
    • O75074
    • O75096
    • O75197
    • O75509
    • O75578
    • O75581
    • P01130
    • P01133
    • P05106
    • P05107
    • P05556
    • P06756
    • P08138
    • P08514
    • P08575
    • P08648
    • P10586
    • P11215
    • P13612
    • P14151
    • P16109
    • P16144
    • P16581
    • P17301
    • P18084
    • P18433
    • P18564
    • P19438
    • P20333
    • P20701
    • P20702
    • P23229
    • P23467
    • P23468
    • P23470
    • P23471
    • P25445
    • P25942
    • P26006
    • P26010
    • P26012
    • P28827
    • P28908
    • P34741
    • P36941
    • P38570
    • P43489
    • P46531
    • P51805
    • P53708
    • P56199
    • P58400
    • P58401
    • P78357
    • P98155
    • P98164
    • Q5VYJ5
    • Q7Z4F1
    • Q8NAC3
    • Q8NFM7
    • Q8NFR9
    • Q8WY21
    • Q8WYK1
    • Q9BXR5
    • Q9BZ76
    • Q9C0A0
    • Q9HAV5
    • Q9HCM2
    • Q9HD43
    • Q9HDB5
    • Q9NR96
    • Q9NR97
    • Q9NRM6
    • Q9NS68
    • Q9NYK1
    • Q9NZR2
    • Q9P2S2
    • Q9UBN6
    • Q9UHC6
    • Q9UIW2
    • Q9UKX5
    • Q9ULB1
    • Q9ULL4
    • Q9UM47
    • Q9UMZ3
    • Q9UNE0
    • Q9UPU3
    • Q9Y2C9
    • Q9Y4C0
    • Q9Y4D7
    • Q9Y5U5
    • Q9Y6Q6
    • Q9Y561
    • Q86VZ4
    • Q96F46
    • Q96NU0
    • Q96PQ0
    • Q969Z4
    • Q02223
    • Q04721
    • Q07011
    • Q07954
    • Q12913
    • Q13332
    • Q13349
    • Q13635
    • Q13683
    • Q13797
    • Q14114
    • Q15256
    • Q15262
    • Q15399
    • Q16827
    • Q16849
    • Q92673
    • Q92729
    • Q92932
    • Q92956
    • Q93038
    • Q99466
    • Q99467
    • Q99523

  • SCAR
    • A6BM72
    • O60449
    • P07306
    • P07307
    • P13473
    • P16671
    • P21757
    • P22897
    • P26715
    • P26717
    • P26718
    • P78380
    • P98153
    • Q2HXU8
    • Q5QGZ9
    • Q5VY43
    • Q6UX15
    • Q6UXB4
    • Q6UXN8
    • Q6ZS10
    • Q8IX05
    • Q8NC01
    • Q8WTV0
    • Q8WWQ8
    • Q9BXN2
    • Q9H2X3
    • Q9HCU0
    • Q9NY25
    • Q9NZS2
    • Q9P126
    • Q9UBG0
    • Q9UHP7
    • Q9UQV4
    • Q96E93
    • Q96GP6
    • Q96KG7
    • Q07108
    • Q07444
    • Q12918
    • Q13018
    • Q14162

  • Receptors

On this page

  • General information
  • AlphaFold model
  • Surface representation - binding sites
  • All detected seeds aligned
  • Seed scores per sites
  • Binding site metrics
  • Binding site sequence composition
  • Download
  1. GPCR
  2. Q6IEY1

Q6IEY1

Author

Hamed Khakzad

Published

August 10, 2024

General information

Code
import requests
import urllib3
urllib3.disable_warnings()

def fetch_uniprot_data(uniprot_id):
    url = f"https://rest.uniprot.org/uniprotkb/{uniprot_id}.json"
    response = requests.get(url, verify=False)  # Disable SSL verification
    response.raise_for_status()  # Raise an error for bad status codes
    return response.json()

def display_uniprot_data(data):
    primary_accession = data.get('primaryAccession', 'N/A')
    protein_name = data.get('proteinDescription', {}).get('recommendedName', {}).get('fullName', {}).get('value', 'N/A')
    gene_name = data.get('gene', [{'geneName': {'value': 'N/A'}}])[0]['geneName']['value']
    organism = data.get('organism', {}).get('scientificName', 'N/A')
    
    function_comment = next((comment for comment in data.get('comments', []) if comment['commentType'] == "FUNCTION"), None)
    function = function_comment['texts'][0]['value'] if function_comment else 'N/A'

    # Printing the data
    print(f"UniProt ID: {primary_accession}")
    print(f"Protein Name: {protein_name}")
    print(f"Organism: {organism}")
    print(f"Function: {function}")

# Replace this with the UniProt ID you want to fetch
uniprot_id = "Q6IEY1"
data = fetch_uniprot_data(uniprot_id)
display_uniprot_data(data)
UniProt ID: Q6IEY1
Protein Name: Olfactory receptor 4F3/4F16/4F29
Organism: Homo sapiens
Function: Odorant receptor

More information:   

AlphaFold model

Surface representation - binding sites

The computed point cloud for pLDDT > 0.6. Each atom is sampled on average by 10 points.

To see the predicted binding interfaces, you can choose color theme “uncertainty”.

  • Go to the “Controls Panel”

  • Below “Components”, to the right, click on “…”

  • “Set Coloring” by “Atom Property”, and “Uncertainty/Disorder”

All detected seeds aligned

Seed scores per sites

Code
import re
import pandas as pd
import os
import plotly.express as px

ID = "Q6IEY1"
data_list = []

name_pattern = re.compile(r'name: (\S+)')
score_pattern = re.compile(r'score: (\d+\.\d+)')
desc_dist_score_pattern = re.compile(r'desc_dist_score: (\d+\.\d+)')

directory = f"/Users/hamedkhakzad/Research_EPFL/1_postdoc_project/Surfaceome_web_app/www/Surfaceome_top100_per_site/{ID}_A"

for filename in os.listdir(directory):
    if filename.startswith("output_sorted_") and filename.endswith(".score"):
        filepath = os.path.join(directory, filename)
        with open(filepath, 'r') as file:
            for line in file:
                name_match = name_pattern.search(line)
                score_match = score_pattern.search(line)
                desc_dist_score_match = desc_dist_score_pattern.search(line)
                
                if name_match and score_match and desc_dist_score_match:
                    name = name_match.group(1)
                    score = float(score_match.group(1))
                    desc_dist_score = float(desc_dist_score_match.group(1))
                    
                    simple_filename = filename.replace("output_sorted_", "").replace(".score", "")
                    data_list.append({
                        'name': name[:-1],
                        'score': score,
                        'desc_dist_score': desc_dist_score,
                        'file': simple_filename
                    })

data = pd.DataFrame(data_list)

fig = px.scatter(
    data,
    x='score',
    y='desc_dist_score',
    color='file',
    title='Score vs Desc Dist Score',
    labels={'score': 'Score', 'desc_dist_score': 'Desc Dist Score'},
    hover_data={'name': True}
)

fig.update_layout(
    legend_title_text='File',
    legend=dict(
        yanchor="top",
        y=0.99,
        xanchor="left",
        x=1.05
    )
)

fig.show()

Binding site metrics

Code
import pandas as pd
pd.options.mode.chained_assignment = None
import plotly.express as px

df_total = pd.read_csv('/Users/hamedkhakzad/Research_EPFL/1_postdoc_project/Surfaceome_web_app/www/database/df_flattened.csv')
df_plot = df_total[df_total['acc_flat'] == ID]
df_plot ['Total seeds'] = df_plot.loc[:,['seedss_a','seedss_b']].sum(axis=1)
df_plot.loc[:, ["acc_flat", "main_classs", "sub_classs", "seedss_a", "seedss_b", "areass", "bsss", "hpss"]]
acc_flat main_classs sub_classs seedss_a seedss_b areass bsss hpss
3506 Q6IEY1 Receptors GPCR 0 0 0.0 0 0.0
Code
import math
import matplotlib.pyplot as plt

features = ['seedss_a', 'seedss_b', 'areass', 'hpss']
titles = ['Alpha seeds', 'Beta seeds', 'Area', 'Hydrophobicity']
num_features = len(features)

if len(df_plot) > 8:
    num_rows = 2
    num_cols = 2
else:
    num_rows = 1
    num_cols = 4

fig, axes = plt.subplots(nrows=num_rows, ncols=num_cols, figsize=(9, num_rows * 5))

axes = axes.flatten()
positions = range(1, len(df_plot) + 1)

for i, feature in enumerate(features):
    title = titles[i]
    axes[i].bar(positions, df_plot[feature], color=['blue', 'orange', 'green', 'red', 'purple', 'brown'])
    axes[i].set_title(title, fontsize=13)
    axes[i].set_xticks(positions)
    axes[i].set_xticklabels(df_plot['bsss'], rotation=90)
    axes[i].set_xlabel("Center residues", fontsize=13)
    axes[i].set_ylabel(title, fontsize=13)

for j in range(len(features), len(axes)):
    fig.delaxes(axes[j])

plt.tight_layout()
plt.show()

Binding site sequence composition

Code
amino_acid_map = {
    'ALA': 'A', 'ARG': 'R', 'ASN': 'N', 'ASP': 'D', 'CYS': 'C',
    'GLN': 'Q', 'GLU': 'E', 'GLY': 'G', 'HIS': 'H', 'ILE': 'I',
    'LEU': 'L', 'LYS': 'K', 'MET': 'M', 'PHE': 'F', 'PRO': 'P',
    'SER': 'S', 'THR': 'T', 'TRP': 'W', 'TYR': 'Y', 'VAL': 'V'
}

from collections import Counter
from ast import literal_eval
from matplotlib.gridspec import GridSpec
import warnings
warnings.filterwarnings("ignore", message="Attempting to set identical low and high xlims")

def convert_to_single_letter(aa_list):
    if type(aa_list) == str:
        aa_list = literal_eval(aa_list)
    return [amino_acid_map[aa] for aa in aa_list]

def create_sequence_visualizations(df, max_letters_per_row=20):
    for idx, row in df.iterrows():
        bsss = row['bsss']
        AAss = row['AAss']
        single_letter_sequence = convert_to_single_letter(AAss)
        
        freq_counter = Counter(single_letter_sequence)
        total_aa = len(single_letter_sequence)
        frequencies = {aa: freq / total_aa for aa, freq in freq_counter.items()}
        
        cmap = plt.get_cmap('viridis')
        norm = plt.Normalize(0, max(frequencies.values()) if frequencies else 1)
        
        n_rows = (len(single_letter_sequence) + max_letters_per_row - 1) // max_letters_per_row
        fig = plt.figure(figsize=(max_letters_per_row * 0.6, n_rows * 1.2 + 0.5))
        
        gs = GridSpec(n_rows + 1, 1, height_ratios=[1] * n_rows + [0.1], hspace=0.3)
        
        for row_idx in range(n_rows):
            start_idx = row_idx * max_letters_per_row
            end_idx = min((row_idx + 1) * max_letters_per_row, len(single_letter_sequence))
            ax = fig.add_subplot(gs[row_idx, 0])
            ax.set_xlim(0, max_letters_per_row)
            ax.set_ylim(0, 1)
            ax.axis('off')
            
            for i, aa in enumerate(single_letter_sequence[start_idx:end_idx]):
                freq = frequencies[aa]
                color = cmap(norm(freq))
                ax.text(i + 0.5, 0.5, aa, ha='center', va='center', fontsize=24, color=color, fontweight='bold')
        
        cbar_ax = fig.add_subplot(gs[-1, 0])
        sm = plt.cm.ScalarMappable(cmap=cmap, norm=norm)
        sm.set_array([])
        cbar = plt.colorbar(sm, cax=cbar_ax, orientation='horizontal')
        cbar.set_label('Frequency', fontsize=12)
        cbar.ax.tick_params(labelsize=12)
        
        plt.suptitle(f"Center residue {bsss}", fontsize=14)
        plt.subplots_adjust(left=0.1, right=0.9, top=0.9, bottom=0.1)
        plt.show()
            
create_sequence_visualizations(df_plot)

Download

To download all the seeds and score files for this entry Click Here!

Q6IEV9
Q6IEZ7