Skip to content

Commit

Permalink
feat: selfies encoding and decoding
Browse files Browse the repository at this point in the history
  • Loading branch information
Kohulan committed Mar 14, 2023
1 parent c53917c commit 98b6547
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 3 deletions.
20 changes: 18 additions & 2 deletions app/routers/chem.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
import os
import requests
from fastapi import Request, APIRouter
from typing import Optional
from rdkit import Chem
import requests

from urllib.request import urlopen
from urllib.parse import urlsplit

Expand All @@ -10,11 +12,11 @@
from rdkit.Chem.EnumerateStereoisomers import (
EnumerateStereoisomers,
)
import os
from chembl_structure_pipeline import standardizer
from fastapi.responses import Response, JSONResponse
from rdkit.Chem.Scaffolds import MurckoScaffold
from STOUT import translate_forward, translate_reverse
import selfies as sf
from app.modules.npscorer import getnp_score
from app.modules.descriptor_calculator import GetBasicDescriptors
from app.modules.classyfire import classify, result
Expand Down Expand Up @@ -129,6 +131,20 @@ async def nplikeliness_score(smiles: Optional[str]):
return np_score


@router.get("/{smiles}/selfies")
async def encodeselfies(smiles: Optional[str]):
if smiles:
selfies_e = sf.encoder(smiles)
return selfies_e


@router.get("/{selfies}/smiles")
async def decodeselfies(selfies: Optional[str]):
if selfies:
selfies_d = sf.encoder(selfies)
return selfies_d


@router.get("/classyfire/{smiles}/classify")
async def classyfire_classify(smiles: Optional[str]):
if smiles:
Expand Down
3 changes: 2 additions & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,5 @@ pystow>=0.4.9
unicodedata2==15.0.0
efficientnet
tensorflow==2.10.0
pyheif==0.7.1
pyheif==0.7.1
selfies>=2.1.1

0 comments on commit 98b6547

Please sign in to comment.