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
= "Q9UGM1"
uniprot_id = fetch_uniprot_data(uniprot_id)
data display_uniprot_data(data)
UniProt ID: Q9UGM1
Protein Name: Neuronal acetylcholine receptor subunit alpha-9
Organism: Homo sapiens
Function: Ionotropic receptor with a probable role in the modulation of auditory stimuli. Agonist binding induces a conformation change that leads to the opening of an ion-conducting channel across the plasma membrane (PubMed:11752216, PubMed:25282151). The channel is permeable to a range of divalent cations including calcium, the influx of which may activate a potassium current which hyperpolarizes the cell membrane (PubMed:11752216, PubMed:25282151). In the ear, this may lead to a reduction in basilar membrane motion, altering the activity of auditory nerve fibers and reducing the range of dynamic hearing. This may protect against acoustic trauma. May also regulate keratinocyte adhesion (PubMed:11021840)