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
= "Q9NZQ7"
uniprot_id = fetch_uniprot_data(uniprot_id)
data display_uniprot_data(data)
UniProt ID: Q9NZQ7
Protein Name: Programmed cell death 1 ligand 1
Organism: Homo sapiens
Function: Plays a critical role in induction and maintenance of immune tolerance to self (PubMed:11015443, PubMed:28813410, PubMed:28813417, PubMed:31399419). As a ligand for the inhibitory receptor PDCD1/PD-1, modulates the activation threshold of T-cells and limits T-cell effector response (PubMed:11015443, PubMed:28813410, PubMed:28813417, PubMed:36727298). Through a yet unknown activating receptor, may costimulate T-cell subsets that predominantly produce interleukin-10 (IL10) (PubMed:10581077). Can also act as a transcription coactivator: in response to hypoxia, translocates into the nucleus via its interaction with phosphorylated STAT3 and promotes transcription of GSDMC, leading to pyroptosis (PubMed:32929201)