BroteinShake / scripts /foldprotein.py
42Cummer's picture
Upload foldprotein.py
fdaed96 verified
import requests #type: ignore
def fold_protein_sequence(sequence):
"""
Folds a protein sequence using the ESM Atlas API.
- URL: https://api.esmatlas.com/foldSequence/v1/pdb/
- Method: POST
- Body: Raw sequence string (NOT JSON)
- No API Token required.
"""
api_url = "https://api.esmatlas.com/foldSequence/v1/pdb/"
print(f"Folding sequence ({len(sequence)} residues)...")
try:
# Note: 'data' argument sends raw body. Do not use 'json='.
response = requests.post(api_url, data=sequence, verify=True)
if response.status_code == 200:
return response.text # Returns PDB content directly
else:
print(f"API Error {response.status_code}: {response.text}")
return None
except Exception as e:
print(f"Connection Failed: {e}")
return None