Covalent
Covalent forms of a molecule are marked within the Chem.Mol instances in fragmenstein with a “dummy atom”.
This is element symbol * within RDKit and smiles, but R in a mol file and PDB file.
This is essential for the params file (topology file for the ligand).
Consequently, hits are best extracted with Victor.extract_mols or Victor.extract_mol.
Fragalysis does not do this, so the hits from there will be treated as regular compounds.
Monster
A molecule with a single atom is passed to attachment argument of Monster,
then the covalent linker if absent in the hits is anchored to that atom.
If you know a ligand that is covalent Victor.find_attachment can be used to extract the attachment atom.
Warheads
Victor has a cysteine reactive warheads operations
In the class attribute .warhead_definitions are stored conversions and atom names
(cf. MProVictor for an example).
acrylamide C(=O)C=C => C(=O)CC*
chloroacetamide C(=O)C[Cl] => C(=O)C*
nitrile C(#N) => C(=N)*
vinylsulfonamide S(=O)(=O)C=C => S(=O)(=O)CC*
bromoalkyne C#C[Br] => C(=C)*
Additionally, .possible_definitions contains two (or more) that may be added experimentally (don’t currently work).
aurothiol S[Au]P(CC)(CC)CC => S[Au]*
aldehyde [C:H1]=O => C(O)*
There is a quick way to get a warhead definition too
Victor.get_warhead_definition(warhead_name)
In terms of Rosetta constraints (restraints), these can be added with
Victor.add_constraint_to_warhead(name=constrain_name, constraint=constraint)
For example:
chloroacetamide:
AtomPair H 145A OY 1B HARMONIC 2.1 0.2nitrile:
AtomPair H 145A NX 1B HARMONIC 2.1 0.2acrylamide:
AtomPair H 143A OZ 1B HARMONIC 2.1 0.2vinylsulfonamide:
AtomPair H 143A OZ1 1B HARMONIC 2.1 0.2
Currently, only cysteine details are known to Victor. Cf. .covalent_definitions.
To convert a react_ive_ SMILES to a dummy-atom–marked react_ed_ SMILES:
Victor.make_all_warhead_combinations(smiles, warhead_name)
Untested backdoor
The default dummy atom can be overridden with Monster.dummy:Chem.Mol and Fragmenstein.dummy_symbol:str.