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
= "Q6ZMJ2"
uniprot_id = fetch_uniprot_data(uniprot_id)
data display_uniprot_data(data)
UniProt ID: Q6ZMJ2
Protein Name: Scavenger receptor class A member 5
Organism: Homo sapiens
Function: Ferritin receptor that mediates non-transferrin-dependent delivery of iron. Mediates cellular uptake of ferritin-bound iron by stimulating ferritin endocytosis from the cell surface with consequent iron delivery within the cell. Delivery of iron to cells by ferritin is required for the development of specific cell types, suggesting the existence of cell type-specific mechanisms of iron traffic in organogenesis, which alternatively utilize transferrin or non-transferrin iron delivery pathways. Ferritin mediates iron uptake in capsule cells of the developing kidney. Preferentially binds ferritin light chain (FTL) compared to heavy chain (FTH1)