Closed the-code-magician closed 7 years ago
from cameo import api
cameo.api.products.search('L-serine')
works for me.
name formula charge mass \
MNXM53 L-serine C3H7NO3 0 105.0926
MNXM694 D-serine C3H7NO3 0 105.0926
MNXM4823 serine C3H7NO3 0 105.0926
MNXM59326 L-azaserine C5H8N3O4 1 174.1347
MNXM59545 L-synephrine C9H14NO2 1 168.213
InChI \
MNXM53 InChI=1S/C3H7NO3/c4-2(1-5)3(6)7/h2,5H,1,4H2,(H...
MNXM694 InChI=1S/C3H7NO3/c4-2(1-5)3(6)7/h2,5H,1,4H2,(H...
MNXM4823 InChI=1S/C3H7NO3/c4-2(1-5)3(6)7/h2,5H,1,4H2,(H...
MNXM59326 InChI=1S/C5H7N3O4/c6-3(5(10)11)2-12-4(9)1-8-7/...
MNXM59545 InChI=1S/C9H13NO2/c1-10-6-9(12)7-2-4-8(11)5-3-...
Edit: search has always been fuzzy
SMILES source search_rank
MNXM53 [NH3+][C@@H](CO)C([O-])=O chebi:33384 0
MNXM694 [NH3+][C@H](CO)C([O-])=O chebi:35247 1
MNXM4823 [NH3+]C(CO)C([O-])=O chebi:35243 2
MNXM59326 [NH3+]C(COC(=O)C=[N+]=N)C([O-])=O metacyc:L-AZASERINE 3
MNXM59545 C[NH2+]C[C@@H](O)C1=CC=C(O)C=C1 chebi:33016 4
In[3]: products.search("l-lysine")
Out[3]:
name formula charge mass \
MNXM219 allysine C6H11NO3 0 145.1564
MNXM78 L-lysine C6H15N2O2 1 147.1955
MNXM975 D-lysine C6H15N2O2 1 147.1955
InChI \
MNXM219 InChI=1S/C6H11NO3/c7-5(6(9)10)3-1-2-4-8/h4-5H,...
MNXM78 InChI=1S/C6H14N2O2/c7-4-2-1-3-5(8)6(9)10/h5H,1...
MNXM975 InChI=1S/C6H14N2O2/c7-4-2-1-3-5(8)6(9)10/h5H,1...
SMILES source search_rank
MNXM219 [H]C(=O)CCCC([NH3+])C([O-])=O chebi:57988 0
MNXM78 [NH3+]CCCC[C@H]([NH3+])C([O-])=O chebi:32551 1
MNXM975 [NH3+]CCCC[C@@H]([NH3+])C([O-])=O chebi:32557 2
The search in the database is not very reliable. I already changed it to be lower-case only, which helped. Also, MetaNetX has mapping for things that are redundant, however I can only find one source and one name, where there should be sources and names or synonyms.
I cannot find L-Serine, L-Lactate, etc. There are several algorithms to do this: