As I explained in an older post, I constructed a workflow for the standardisation of compounds. One of the steps in this workflow is the filtering of compounds with atom types differents from C,N,O,S,P (and others).
To do this I use the "atom replacer" to replace all the wanted atoms by a * (star) atom and then I compute the molecular formula of the new compound. If I have an empty formula => my compound has only wanted atoms thus I keep this structure else I remove the compound.
Since the last changes in the Indigo nodes, I cannot compute the molecular formula with the star atoms.
Note: after some tests I cannot compute any properties when I have a double bond inside a ring in my structure.
This seems okay to me with double bonds inside a ring.
In terms of having a star in the moelcule, it still gives the molecular formula, but just by missing out the count for the *
Have you tried resetting your workflow completely and rerunning as the Indigo nodes have undergone some changes recently which required the Indigo nodes to be rerun.
In fact in light of this issue of identifying C, N,O, P, and S. Maybe a feature request of the Molecular Property node would be to have a Organic Heavy Atom count. This would then make your problem much easier to resolve.
Here a protocol attached with two examples. The first is ok but not the second part of the workflow. The first part is with cyclohexane and the second is with cyclohexane with a double bond.
I notice that if you have the MolConverter to export the structure as Smiles then the workflow works.
If however, you leave it as SDF/MOL/CML, then the problems you mention occur. I also notice that after the Atom Replacer node, you can not get the viewing renderer to work in the node table previews. Error is logged as:
WARN TableContentModel Exception while setting new table.
Sounds like there is a bug in the SDF to Indigo conversion to me.
Thanks for the given workflow. We have fixed the stereochemestry error. Also, there are some new features were added to the nodes to avoid such crashes (internal mol format was extended). The new version is nightly available (1.1.0.201202272004).
PS. in the "fail-organic-filter" workflow the Atom Replacer node should be reexecuted.
Returning to your initial workflow, you can make similiar things with substructure matcher node. All you need is to provide SMILES query [C,N,O,P,S] and the node will filter the molecules.
Thanks for your advice but there is something that i don't understand. When i try to use the SMILES query [C,N,O] i can filter the compounds without C, N AND O; but what when i have a compound with at least one carbon the substructure matcher conserve this compound even if there is other type of atom in the molecule (eg Br).
What i want to do is to keep the compounds that are composed of ONLY C, N OR O.
In fact i think i don't see which smile query i have to use to do this.
Oh just an other thing, why i have the substructure matcher node present in 2 groups ? (in the "molecule node" and in the "reaction nodes" groups). The two nodes seems identical...
Yes, these two nodes are the same. But Substructure Match Counter node is implemented only for the molecules. This is why we decided to place this node in both groups, in order to not confusing users. When we implement Substructure Match Counter for reaction, then this node will be placed in common group for both molecules and reactions.
Have you tried resetting your workflow completely and rerunning as the Indigo nodes have undergone some changes recently which required the Indigo nodes to be rerun.