| from .schemas import MoleculeDescriptors, InputData |
| from fastapi import APIRouter, HTTPException |
| from molecule import get_molecule_properties |
|
|
| router = APIRouter() |
|
|
|
|
| @router.post("/descriptor", response_model=MoleculeDescriptors) |
| async def descriptor(payload: InputData): |
| try: |
| props_dict = get_molecule_properties(payload.smiles) |
| props_model = MoleculeDescriptors(**props_dict) |
| return props_model |
| except ValueError as e: |
| raise HTTPException(status_code=400, detail=str(e)) |
| except Exception as e: |
| raise HTTPException(status_code=500, detail=f"Ошибка сервера: {e}") |
|
|