Code
import requests
import urllib3
urllib3.disable_warnings()
def fetch_uniprot_data(uniprot_id):
url = f"https://rest.uniprot.org/uniprotkb/{uniprot_id}.json"
response = requests.get(url, verify=False) # Disable SSL verification
response.raise_for_status() # Raise an error for bad status codes
return response.json()
def display_uniprot_data(data):
primary_accession = data.get('primaryAccession', 'N/A')
protein_name = data.get('proteinDescription', {}).get('recommendedName', {}).get('fullName', {}).get('value', 'N/A')
gene_name = data.get('gene', [{'geneName': {'value': 'N/A'}}])[0]['geneName']['value']
organism = data.get('organism', {}).get('scientificName', 'N/A')
function_comment = next((comment for comment in data.get('comments', []) if comment['commentType'] == "FUNCTION"), None)
function = function_comment['texts'][0]['value'] if function_comment else 'N/A'
# 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
uniprot_id = "Q9H9S5"
data = fetch_uniprot_data(uniprot_id)
display_uniprot_data(data)UniProt ID: Q9H9S5
Protein Name: Ribitol 5-phosphate transferase FKRP
Organism: Homo sapiens
Function: Catalyzes the transfer of a ribitol 5-phosphate from CDP-L-ribitol to the ribitol 5-phosphate previously attached by FKTN/fukutin to the phosphorylated O-mannosyl trisaccharide (N-acetylgalactosamine-beta-3-N-acetylglucosamine-beta-4-(phosphate-6-)mannose), a carbohydrate structure present in alpha-dystroglycan (DAG1) (PubMed:26923585, PubMed:27194101, PubMed:29477842, PubMed:31949166). This constitutes the second step in the formation of the ribose 5-phosphate tandem repeat which links the phosphorylated O-mannosyl trisaccharide to the ligand binding moiety composed of repeats of 3-xylosyl-alpha-1,3-glucuronic acid-beta-1 (PubMed:25279699, PubMed:26923585, PubMed:27194101, PubMed:29477842, PubMed:31949166)