| name | iupac-name-identification-biot5 |
| description | Identify the IUPAC name of a molecule using BioT5 question answering model. Use this skill when: (1) User wants to find the IUPAC name of a molecule, (2) User asks "What is the IUPAC name?" or "What's the systematic name?", (3) User provides a SMILES string and wants the IUPAC nomenclature.
|
| license | MIT |
| category | drug-discovery |
| tags | ["iupac","molecule","nomenclature","question-answering","biot5"] |
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]
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)
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