File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -482,3 +482,48 @@ def get_emdb_id_for_pdb_id(pdb_id):
482482 if len (emdb_ids )== 0 :
483483 return None
484484 return emdb_ids
485+
486+ def get_similar_ligands_via_smiles (smiles , ** kwds ):
487+ # sub-struct-graph-relaxed-stereo
488+ # graph-relaxed-stereo
489+ similar_ligand_query = '''
490+ {
491+ "query": {
492+ "type": "terminal",
493+ "service": "chemical",
494+ "parameters": {
495+ "type": "descriptor",
496+ "value": "%s",
497+ "descriptor_type": "SMILES",
498+ "match_type": "sub-struct-graph-relaxed-stereo"
499+ }
500+ },
501+ "return_type": "mol_definition",
502+ "request_options": {
503+ "paginate": {
504+ "start": 0,
505+ "rows": 25
506+ },
507+ "results_content_type": [
508+ "experimental"
509+ ],
510+ "sort": [
511+ {
512+ "sort_by": "score",
513+ "direction": "desc"
514+ }
515+ ],
516+ "scoring_strategy": "combined"
517+ }
518+ }
519+ '''
520+ assert (3 <= len (smiles )), 'short SMILES "%s" return too many results' % smiles
521+ sqr = similar_ligand_query % (smiles )
522+ print (sqr )
523+ jsq = json .loads (sqr )
524+ return post_query (query_json = jsq , ** kwds )
525+
526+ if __name__ == '__main__' :
527+ rc = get_similar_ligands_via_smiles ('N#C' )
528+ # rc=get_similar_ligands_via_smiles('NCCC(O)=O')
529+ print (rc )
You can’t perform that action at this time.
0 commit comments