rdkit / rdkit-js

A powerful cheminformatics and molecule rendering toolbelt for JavaScript, powered by RDKit .
https://rdkitjs.com
BSD 3-Clause "New" or "Revised" License
141 stars 36 forks source link

Need Tanimoto Similarity Search in the rdkit/rdkit-js like RDKIT #293

Open caok2709 opened 1 year ago

caok2709 commented 1 year ago

Is your feature request related to a problem? Please describe. No.

Describe the solution you'd like Right now, it looks like rdkit-js only have the ability to do the Substructure Search.

However, we need to have Tanimoto Similarity search. For example: You send a smiles string/or rdkit.get_mol(smiles string) + the similarity level (like 80% or any similarity level you want), then the code will search through an array of smiles just like what Substructure Search did. Then the function will tell if it can reach the similarity level of not.

Describe alternatives you've considered I reviewed the source code of RDKIT. It looks the function is already there: DataStructs.TanimotoSimilarity. Will you be able to migrate the function and put it in the rdkit-js?

Additional context None.

caok2709 commented 1 year ago

@MichelML Happy new year. Please let me know if this function can be release in the rdkit-js any soon.

MichelML commented 1 year ago

Thanks @caok2709 , @ptosco isn't this possible already with the SubstructLibrary? Happy to add an example if it is indeed possible.

ptosco commented 1 year ago

@MichelML It isn't. SubstructLibrary only retrieves molecule that contain the specified substructure, using pattern fingerprints as a pre-filter to improve performance. Currently rdkit-js has no functionality for similarity searches.

caok2709 commented 1 year ago

@ptosco @MichelML Will it be possible to add Tanimoto Similarity search functionality in the next version?

MichelML commented 11 months ago

@ptosco how complex would it be to include similarity search in the minimallib? It seems like a common use case and something we would use at our company as well.