Exemplo n.º 1
0
def reactants_to_fingerprint(args, config):
    """
    Convert a SMILES string of reactants to a fingerprint

    :param args: the SMILES in the first element
    :type args: tuple
    :param config: the settings
    :type config: Config
    :return: the fingerprint
    :rtype: numpy.ndarray
    """
    reactants_smiles = args[0]
    fingerprints = []
    for smiles in reactants_smiles.split("."):
        try:
            mol = Molecule(smiles=smiles, sanitize=True)
        except MoleculeException:
            pass
        else:
            if mol.has_atom_mapping():
                fingerprints.append(
                    mol.fingerprint(
                        config["fingerprint_radius"], config["fingerprint_len"]
                    )
                )
    return sum(fingerprints)
Exemplo n.º 2
0
def test_fingerprint():
    mol = Molecule(smiles="O")

    assert sum(mol.fingerprint(2)) == 1

    assert sum(mol.fingerprint(2, 10)) == 1