epam / epam/Indigo

Bingo Exact Search for PostgreSQL matches unwanted molecules

Open
#742 1 comment 0 reactions 2 assignees Claimed by @AlexanderSavelyev View on GitHub
Bingo Priority: High
Dominant language
C++
Stars
406
Forks
134
Avg merge
2d 11h
Merged PRs (30d)
24

Description

Bingo Exact Search with no flags, which is equal to the `ALL` flag - the most restrictive one, matches the molecules, which are not in fact exactly similar to the query.
***
**Example I**

image

All molecules were taken from [out.sdf](https://github.com/epam/Indigo/tree/master/bingo/tests/data/molecules/exact/import/queries) for query and [mols.sdf](https://github.com/epam/Indigo/tree/master/bingo/tests/data/molecules/exact/import/targets) for target.

**Bingo Exact** mathes _both_ `mol_121` and `mol_122` for query `q_21`.
**Indigo Exact** matches _only_ `mol_121`.
```
>>> q_21_smi = i.loadMolecule("C1(NC2C(=CC(=C(C)C=2)Cl)N=1)C1=NNC=C1NC(=O)C1CC1")

>>> mol_121_smi = i.loadMolecule("C1(NC2C(=CC(=C(C)C=2)Cl)N=1)C1=NNC=C1NC(=O)C1CC1")

>>> mol_122_smi = i.loadMolecule("C1(NC2C(=CC(=C(Cl)C=2)C)N=1)C1=NNC=C1NC(=O)C1CC1")

>>> i.exactMatch(q_21_smi, mol_121_smi)

>>> i.exactMatch(q_21_smi, mol_122_smi)

>>>
```
**Expected behavior:**
Bingo Exact should repeat Indigo Exact behavior and match only `mol_121`.
***
**Example II**
image

**Bingo Exact** mathes _both_ `mol_123` and `mol_124` for query `q_23`.
**Indigo Exact** matches _only_ `mol_123`.
```
>>> q_23_smi = i.loadMolecule("C1(NC2C(=CC(=CC=2)C(OC)=O)N=1)C1C2C=CC=CC=2NN=1")

>>> mol_123_smi = i.loadMolecule("C1(NC2C(=CC(=CC=2)C(OC)=O)N=1)C1C2C=CC=CC=2NN=1")

>>> mol_124_smi = i.loadMolecule("C1(NC2C(=CC=C(C=2)C(OC)=O)N=1)C1C2C=CC=CC=2NN=1")

>>> i.exactMatch(q_23_smi, mol_123_smi)

>>> i.exactMatch(q_23_smi, mol_124_smi)

>>>
```

**Expected behavior:**
Same as above: Bingo Exact should repeat Indigo Exact behavior and match only `mol_123`.

**Note: [std.json](https://github.com/epam/Indigo/tree/master/bingo/tests/data/molecules/exact) for Bingo test_exact should be checked for incorrect results as well.**

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.