## 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.2` * _nitrile_: `AtomPair H 145A NX 1B HARMONIC 2.1 0.2` * _acrylamide_: `AtomPair H 143A OZ 1B HARMONIC 2.1 0.2` * _vinylsulfonamide_: `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`.