Bingo Exact Search for PostgreSQL matches unwanted molecules
- 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**

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**

**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.