Code
import requests
import urllib3
urllib3.disable_warnings()
def fetch_uniprot_data(uniprot_id):
= f"https://rest.uniprot.org/uniprotkb/{uniprot_id}.json"
url = requests.get(url, verify=False) # Disable SSL verification
response # Raise an error for bad status codes
response.raise_for_status() return response.json()
def display_uniprot_data(data):
= data.get('primaryAccession', 'N/A')
primary_accession = data.get('proteinDescription', {}).get('recommendedName', {}).get('fullName', {}).get('value', 'N/A')
protein_name = data.get('gene', [{'geneName': {'value': 'N/A'}}])[0]['geneName']['value']
gene_name = data.get('organism', {}).get('scientificName', 'N/A')
organism
= next((comment for comment in data.get('comments', []) if comment['commentType'] == "FUNCTION"), None)
function_comment = function_comment['texts'][0]['value'] if function_comment else 'N/A'
function
# 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
= "O75311"
uniprot_id = fetch_uniprot_data(uniprot_id)
data display_uniprot_data(data)
UniProt ID: O75311
Protein Name: Glycine receptor subunit alpha-3
Organism: Homo sapiens
Function: Glycine receptors are ligand-gated chloride channels. Channel opening is triggered by extracellular glycine (PubMed:26416729, PubMed:9677400). Channel characteristics depend on the subunit composition; heteropentameric channels display faster channel closure (By similarity). Plays an important role in the down-regulation of neuronal excitability (By similarity). Contributes to the generation of inhibitory postsynaptic currents (By similarity). Contributes to increased pain perception in response to increased prostaglandin E2 levels (By similarity). Plays a role in cellular responses to ethanol (By similarity)