Training data

QSARmil expects two plain Python lists as input:

  • SMILES — a list of molecule strings.

  • Target property — a list of matching values, one per molecule: a continuous number for regression, or a binary (0/1) label for classification.

smiles = [
    "CC(C)Cc1ccc(cc1)C(C)C(=O)O",
    "COc1ccc2cc(ccc2c1)C(C)C(=O)O",
    "OC(=O)Cc1ccccc1Nc1c(Cl)cccc1Cl",
]
y = [5.2, 5.9, 6.1]

There is no required DataFrame schema or column-naming convention — SMILES and targets are passed as separate lists, in the same order.

Molecules that cannot be parsed or embedded into conformers are not dropped silently: see Conformer generation for how these are handled.

Beyond SMILES and targets

The lists above are all that the beginner pipeline (MultiConformerEstimator and its subclasses) needs. If you build a custom pipeline instead (see Conformer generation, Descriptor calculation, and Multi-instance learning), you are not limited to QSARmil’s own conformer generator or descriptor set — you can supply your own pre-computed conformers or descriptors directly to the multi-instance learning models, as long as they are shaped as one bag (a list of instances) per molecule.