iupac-name-identification-biot5
SKILL.md
IUPAC Name Identification (BioT5)
This skill identifies the IUPAC name of a molecule using the BioT5 question answering model.
When to Use
- User asks for the IUPAC name of a molecule
- User provides a SMILES string and wants systematic nomenclature
- User asks "What is the IUPAC name?" or "What's the systematic name?"
Workflow
Step 1: Get the Molecule
If user provides a molecule name (e.g., "aspirin"):
from open_biomed.tools.tool_registry import TOOLS
tool = TOOLS["molecule_name_request"]
result, message = tool.run(accession="aspirin")
molecule = result[0] # Returns a list of molecules
If user provides a SMILES string:
from open_biomed.data import Molecule
molecule = Molecule.from_smiles("CC(=O)OC1=CC=CC=C1C(=O)O")
Step 2: Ask for IUPAC Name
Use the molecule question answering tool:
from open_biomed.data import Text
from open_biomed.tools.tool_registry import TOOLS
qa_tool = TOOLS["molecule_question_answering"]
question = Text.from_str("What's the IUPAC name of this molecule?")
result, message = qa_tool.run(molecule=molecule, text=question)
print(result) # IUPAC name
Expected Outputs
| Input | Output | Description |
|---|---|---|
| SMILES or molecule name | IUPAC name string | Systematic chemical nomenclature |
Example Usage
Input: "What is the IUPAC name of aspirin?"
Workflow:
- Retrieve aspirin molecule from PubChem
- Ask BioT5: "What's the IUPAC name of this molecule?"
- Return the IUPAC name
Expected output: "2-acetyloxybenzoic acid" or similar systematic name
Model Options
The molecule_question_answering tool supports multiple models:
| Model | Description |
|---|---|
biot5 (default) |
BioT5 model for biomedical QA |
molt5 |
MolT5 model specialized for molecules |
Error Handling
Molecule Not Found
Symptom: PubChem request fails for molecule name.
Solution: Ask user for SMILES string directly.
QA Model Fails
Symptom: No IUPAC name returned.
Solution:
- Try alternative question phrasing
- Use RDKit's MolToIUPACName as fallback:
from rdkit.Chem import MolToIUPACName
iupac = MolToIUPACName(molecule.rdmol)
Notes
- IUPAC names generated by the model may not be the most standard form
- For complex molecules, the model may provide simplified names
- Cross-reference with PubChem or ChemDraw for verification
Weekly Installs
2
Repository
pharmolix/openbiomedGitHub Stars
1.0K
First Seen
9 days ago
Security Audits
Installed on
trae-cn2
iflow-cli2
deepagents2
antigravity2
claude-code2
github-copilot2