# Formula Filter

This node accepts a table with molecules and a table with a gross formula strings, and splits the first table into three sets, the first one is with all rows that satisfy the specified relation, the second is with all rows that do not, the last one gathers all the rows with invalid data.

Formula A is less than another formula B if A's atoms set is a subset of B's atoms set where quantity of each atom in the A's subset is less than or equal to corresponding quantity of atom in formula B (even if the sets A and B are equal). For instance, a molecule of methan is less than or equal to a butane molecule as [C, H] atoms set of butane contains the same set of methan's atoms and quantity of each atom of methan is less than quantity of atom buthane molecule (1 less than 4, 4 less than 10).

**Supported types:**

- Molecule: String, SDF, Smiles, CML, Mol, InChI

The node is based on the Indigo cheminformatics toolkit.

### Input ports

- Type: Data Table containing a column with molecules
- Type: Data Table containing a column with the gross formula strings

### Output ports

- Type: Data Rows with molecules that satisfy the relation
- Type: Data Rows with molecules that do not satisfy the relation
- Type: Data Rows with invalid data: data cannot be translated into Indigo object