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
= "Q9BYT1"
uniprot_id = fetch_uniprot_data(uniprot_id)
data display_uniprot_data(data)
UniProt ID: Q9BYT1
Protein Name: Voltage-gated purine nucleotide uniporter SLC17A9
Organism: Homo sapiens
Function: Voltage-gated ATP nucleotide uniporter that can also transport the purine nucleotides ADP and GTP. Uses the membrane potential as the driving force to control ATP accumulation in lysosomes and secretory vesicles (PubMed:18375752, PubMed:23467297). By controlling ATP storage in lysosomes, regulates ATP-dependent proteins of these organelles (PubMed:35269509). Also indirectly regulates the exocytosis of ATP through its import into lysosomes in astrocytes and secretory vesicles such as adrenal chromaffin granules, mucin granules and synaptic vesicles (PubMed:18375752, PubMed:23467297)