Package schrodinger :: Package structutils :: Module createfragments :: Class FragmentCreator
[hide private]
[frames] | no frames]

Class FragmentCreator

object --+
         |
        FragmentCreator


This class will break up input structures into fragments
based on some simple rules. The basic rules are:

1. Cut one of these 2 types of bonds:
   I. Bonds to rings
      a. Do not cut bonds to hydrogens
      b. Do not cut any in-ring bonds
      c. Do not cut bonds between ring-carbon and a non-carbon atoms 
      (allowed with -c option)
   
   II. Carbon-carbon bonds
      a. Do not cut any bonds if either atom is in any ring

3. Refuse a fragment if any part of it matches a line in the SMARTS file 
   specified by -smarts.
4. Refuse a fragment if the number of broken bonds exceeds -bonds.
5. Refuse a fragment if the number of atoms is less than -atoms.
6. Do not attempt to fragment molecules with more than -maxatoms atoms.
    
For -recap option, here are the rules that are used:
1. [#6][C;X3](=O)!@[N;X3] Amide
2. [!#1][O;X2]!@[C;X3](=O)[C;X4;H2,H3] Ester
3. [#7;X3](!@[C,N&X3,#1])([C,N&X3,#1])[C,N&X3,#1] Amine
4. [#7;X3]!@[C;X3](=O)[#7;X3] Urea
5. [#6]!@[O;X2][#6] Ether
6. [#6]=!@[#6] Olefin
7. [#7;X4]!@[#6] Quarternary nitrogen
8. [n]!@[C] Aromatic nitrogen - aliphatic carbon
9. C!@N@C=O Lactam nitrogen - aliphatic carbon
10. c!@c Aromatic carbon - aromatic carbon
11. [#7][S;X4](=O)(=O) Sulphonamide

Instance Methods [hide private]
 
__init__(self, **kwargs)
Create a FragmentCreator object.
str
getPatternString(self)
Get a string that describes the RECAP patterns
 
checkArgs(self)
Check the input arguments for appropriate usage
list
fragmentStructure(self, struct)
Break the input structure into fragments.
list
fragmentStructureForEA(self, struct)
Break the input structure into fragments.

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, **kwargs)
(Constructor)

 

Create a FragmentCreator object.

Parameters:
  • atoms (int) - Minimum number of non-hydrogen atoms in a fragment (default=2)
  • bonds (int) - Maximum number of broken bonds allowed in creating a fragment (default=100)
  • smarts (str) - Path to a file of SMARTS patterns (one per line) to identify and eliminate fragments containing undesired features.
  • carbon_hetero (bool) - Allows cutting of bonds between ring-carbon and hetero atoms (default=False)
  • maxatoms (int) - Maximum number of atoms allowed in molecule to be fragmented (default=200).
  • removedup (bool) - Keep only one copy of identical fragment but with different coordinates. (default=False)
  • murcko (bool) - Generate Murco Assembly scaffold instead of regular fragments. (default=False)
  • recap (bool) - Use RECAP rules to find bonds to break.
  • recap_use (list of int) - Specify which RECAP rules to use (default is to use all). Value must be a list of integers (example: [1, 2, 10, 11]).
  • complete (bool) - Retain the complete list of fragments created, including intermediates. Only works with RECAP rules. (Default: False)
  • complete (bool) - Add hydrogens to complete lewis structures. I some calses, you do not want to do this (Default: True)
  • verbose (bool) - True if progress should be logged, False if not
  • add_h (bool)
Overrides: object.__init__

getPatternString(self)

 

Get a string that describes the RECAP patterns

Returns: str
A string describing the RECAP patterns.

fragmentStructure(self, struct)

 

Break the input structure into fragments.

Parameters:
Returns: list
list of schrodinger.structure.Structure objects for the fragments.

fragmentStructureForEA(self, struct)

 

Break the input structure into fragments. Used for Event Analyis (EA)

Parameters:
Returns: list
list of schrodinger.structure.Structure objects for the fragments