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

  • StructuralAndAdhesion
    • A6H8M9
    • A6NMB1
    • B0FP48
    • O00533
    • O14493
    • O14917
    • O15389
    • O15394
    • O15551
    • O43556
    • O43699
    • O60245
    • O60330
    • O60469
    • O60487
    • O75309
    • O75508
    • O75631
    • O75712
    • O75871
    • O94856
    • O94985
    • O95206
    • O95297
    • O95377
    • O95452
    • O95471
    • O95484
    • O95832
    • P06731
    • P08034
    • P12830
    • P13591
    • P13688
    • P17302
    • P19022
    • P20138
    • P20273
    • P20916
    • P22223
    • P25189
    • P29033
    • P31997
    • P32004
    • P32926
    • P33151
    • P35212
    • P40198
    • P40199
    • P50895
    • P54851
    • P55283
    • P55285
    • P55286
    • P55287
    • P55289
    • P55290
    • P55291
    • P56746
    • P56747
    • P56748
    • P56749
    • P56856
    • P56880
    • P57087
    • P78369
    • P82279
    • Q3KPI0
    • Q5IJ48
    • Q5T442
    • Q6PEY0
    • Q6UWV2
    • Q6UY09
    • Q6V0I7
    • Q6V1P9
    • Q6ZMC9
    • Q7Z5N4
    • Q7Z692
    • Q08ET2
    • Q8IXH8
    • Q8N3J6
    • Q8N6F1
    • Q8N6Y1
    • Q8N7P3
    • Q8N126
    • Q8NFK1
    • Q8TAB3
    • Q8TD84
    • Q8TDW7
    • Q9BQT9
    • Q9BT76
    • Q9BUF7
    • Q9BY67
    • Q9BYE9
    • Q9BZA7
    • Q9BZA8
    • Q9H4D0
    • Q9H6B4
    • Q9H159
    • Q9H251
    • Q9HBB8
    • Q9HBT6
    • Q9HC56
    • Q9HCL0
    • Q9NPG4
    • Q9NRJ7
    • Q9NTQ9
    • Q9NYQ8
    • Q9NYZ4
    • Q9P2E7
    • Q9P2J2
    • Q9UJ99
    • Q9UKL4
    • Q9ULB4
    • Q9ULB5
    • Q9UN66
    • Q9UN67
    • Q9UPX0
    • Q9Y5E1
    • Q9Y5E2
    • Q9Y5E3
    • Q9Y5E4
    • Q9Y5E5
    • Q9Y5E6
    • Q9Y5E7
    • Q9Y5E8
    • Q9Y5E9
    • Q9Y5F0
    • Q9Y5F1
    • Q9Y5F2
    • Q9Y5F3
    • Q9Y5G8
    • Q9Y5I7
    • Q9Y6H8
    • Q9Y6N8
    • Q9Y286
    • Q9Y336
    • Q58EX2
    • Q86SJ6
    • Q86UP0
    • Q86VR7
    • Q96JP9
    • Q96JQ0
    • Q96LC7
    • Q96LD1
    • Q96PQ1
    • Q96QU1
    • Q96RL6
    • Q02413
    • Q02487
    • Q08174
    • Q08554
    • Q12864
    • Q13634
    • Q14002
    • Q14126
    • Q14517
    • Q14574
    • Q16585
    • Q16586
    • Q92629
    • Q92823

  • Other
    • A1L157
    • A6NDA9
    • B6SEH8
    • B6SEH9
    • O00241
    • O00478
    • O00481
    • O14817
    • O42043
    • O43155
    • O43300
    • O43657
    • O60635
    • O60636
    • O60637
    • O75144
    • O75325
    • O75954
    • O94898
    • O94933
    • O94991
    • O95857
    • O95858
    • P0C6S8
    • P0C7U0
    • P0DKB5
    • P07359
    • P08247
    • P08962
    • P11049
    • P13224
    • P19075
    • P19397
    • P21926
    • P23942
    • P27701
    • P40197
    • P41732
    • P42081
    • P48509
    • P60507
    • P60508
    • P60509
    • P61550
    • P61565
    • P61566
    • P61570
    • P62079
    • P78324
    • P78410
    • Q3SXY7
    • Q5JXA9
    • Q5R3F8
    • Q5TFQ8
    • Q5VT99
    • Q5ZPR3
    • Q6EMK4
    • Q6N022
    • Q6PJG9
    • Q6UXE8
    • Q6UXG8
    • Q6UXK2
    • Q6UXK5
    • Q6UXM1
    • Q6UY18
    • Q7KYR7
    • Q7L0X0
    • Q7L985
    • Q7Z7D3
    • Q8IW52
    • Q8N7C0
    • Q8N386
    • Q8N967
    • Q8NG11
    • Q8TBG9
    • Q8TF66
    • Q8WUT4
    • Q8WVV5
    • Q9BTN0
    • Q9H3W5
    • Q9H5Y7
    • Q9H9K5
    • Q9H156
    • Q9H756
    • Q9HBL6
    • Q9HBW1
    • Q9HCJ2
    • Q9N2J8
    • Q9N2K0
    • Q9NT68
    • Q9NT99
    • Q9NX77
    • Q9NZM1
    • Q9NZU0
    • Q9NZU1
    • Q9P1W8
    • Q9P2V4
    • Q9P244
    • Q9P273
    • Q9UKH3
    • Q9UKZ4
    • Q9ULH4
    • Q9UM44
    • Q9UQF0
    • Q9Y3B3
    • Q50LG9
    • Q86SJ2
    • Q86UF1
    • Q86VH4
    • Q86VH5
    • Q86WK6
    • Q86WK7
    • Q96FE5
    • Q96FV3
    • Q96JA1
    • Q96KV6
    • Q96NI6
    • Q96PB8
    • Q96PL5
    • Q96PX8
    • Q96S97
    • Q96SJ8
    • Q902F8
    • Q902F9
    • Q12999
    • Q13410
    • Q13641
    • Q14392
    • Q16563
    • Q69384

  • UnkownFunction
    • A0ZSE6
    • A1A5B4
    • A6NM11
    • A6NMS7
    • O14894
    • O15321
    • O60309
    • O94886
    • P11836
    • P30408
    • P48230
    • Q4KMQ2
    • Q5M7Z0
    • Q5T3F8
    • Q5XXA6
    • Q6IEE7
    • Q6IWH7
    • Q6UWL6
    • Q6UX27
    • Q7Z6M3
    • Q7Z7J7
    • Q7Z408
    • Q8IZU9
    • Q8N3T6
    • Q8N5U1
    • Q9BYT9
    • Q9H2W1
    • Q9HD45
    • Q9NQ90
    • Q9NQX7
    • Q9NV96
    • Q9P1W3
    • Q9Y287
    • Q9Y624
    • Q14C87
    • Q14DG7
    • Q24JP5
    • Q75V66
    • Q86WI0
    • Q86XK7
    • Q96CE8
    • Q96IQ7
    • Q96J84
    • Q96PZ7
    • Q96QE4
    • Q495A1
    • Q92544
    • Q99805

  • Ligand
    • O00548
    • O95727
    • O95754
    • P01893
    • P01903
    • P01906
    • P01909
    • P01920
    • P04440
    • P06340
    • P13747
    • P13762
    • P13765
    • P17693
    • P20036
    • P28067
    • P28068
    • P30511
    • P41217
    • P52799
    • P78504
    • P79483
    • P80370
    • P98172
    • Q6UY11
    • Q8N0W4
    • Q8N2Q7
    • Q8NFY4
    • Q8NFZ3
    • Q8NFZ4
    • Q9C0C4
    • Q9H2E6
    • Q9H3S1
    • Q9H3T2
    • Q9H3T3
    • Q9NPR2
    • Q9NR61
    • Q9NTN9
    • Q9NYJ7
    • Q9NZ94
    • Q9P283
    • Q9Y219
    • Q13591
    • Q15768
    • Q29980
    • Q29983
    • Q30154
    • Q92854

  • Miscellaneous

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. Other
  2. P08962

P08962

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 = "P08962"
data = fetch_uniprot_data(uniprot_id)
display_uniprot_data(data)
UniProt ID: P08962
Protein Name: CD63 antigen
Organism: Homo sapiens
Function: Functions as a cell surface receptor for TIMP1 and plays a role in the activation of cellular signaling cascades. Plays a role in the activation of ITGB1 and integrin signaling, leading to the activation of AKT, FAK/PTK2 and MAP kinases. Promotes cell survival, reorganization of the actin cytoskeleton, cell adhesion, spreading and migration, via its role in the activation of AKT and FAK/PTK2. Plays a role in VEGFA signaling via its role in regulating the internalization of KDR/VEGFR2. Plays a role in intracellular vesicular transport processes, and is required for normal trafficking of the PMEL luminal domain that is essential for the development and maturation of melanocytes. Plays a role in the adhesion of leukocytes onto endothelial cells via its role in the regulation of SELP trafficking. May play a role in mast cell degranulation in response to Ms4a2/FceRI stimulation, but not in mast cell degranulation in response to other stimuli

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 = "P08962"
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
706 P08962 Miscellaneous Other 116 33 2229.992641 195 14.2999
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!

P08247
P11049