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 = "Q16853"
data = fetch_uniprot_data(uniprot_id)
display_uniprot_data(data)UniProt ID: Q16853
Protein Name: Amine oxidase [copper-containing] 3
Organism: Homo sapiens
Function: Catalyzes the oxidative deamination of primary amines to the corresponding aldehydes with the concomitant production of hydrogen peroxide and ammonia (PubMed:19588076, PubMed:24304424, PubMed:9653080). Has a preference for the primary monoamines methylamine and benzylamine (PubMed:19588076, PubMed:9653080). Could also act on 2-phenylethylamine but much less efficiently (PubMed:19588076). At endothelial cells surface can also function as a cell adhesion protein that participates in lymphocyte extravasation and recirculation by mediating the binding of lymphocytes to peripheral lymph node vascular endothelial cells in an L-selectin-independent fashion (PubMed:9254657, PubMed:9653080)