User 3cdafe845f
13-10-2009 12:52:51
When we use the superstructure search for the following two molecules:
CCN(CCO)C(=NC(=N)C1=CC=C(S1)[N](O)=O)C1=CC=CC=C1 (query)
CCN(CCO)C(=NCC1=CC=C(S1)[N](O)=O)C1=CC=CC=C1 (target)
we get no match, although we think that this should certainly be the case. The interesting thing is, that if you remove the ringstructure at the end of the SMILES string, you get a match although the part that differs in the two structures is the same.
CCN(CCO)C(=NC(=N)C1=CC=C(S1)[N](O)=O) (query)
CCN(CCO)C(=NCC1=CC=C(S1)[N](O)=O) (target)
Here a short part of our code:
public static void main(String[] args) throws Exception{
Molecule[] mols;
MolSearch ms = new MolSearch();
ms.setSearchType(SearchConstants.SUPERSTRUCTURE);
Molecule mol1 = MolImporter.importMol("CCN(CCO)C(=NC(=N)C1=CC=C(S1)[N](O)=O)C1=CC=CC=C1");
Molecule mol2 = MolImporter.importMol("CCN(CCO)C(=NCC1=CC=C(S1)[N](O)=O)C1=CC=CC=C1");
Boolean matching = false;
ms.setQuery(mol1);
ms.setTarget(mol2);
if (ms.findAll()==null){
System.out.println("no matches");
}}
If we use SUBSTRUCTURE instead of SUPERSTRUCTURE and switch mol1 and mol2 the same problem occurs. The smaller molecule is (in our opinion incorrectly) not recognized as substructure of the bigger molecule.
Any ideas? Is our assumption that those two are structure and superstructure wrong? Or is it really a bug?
Thanks and regards,
Tobias