Data Model version 2.1.2
Acknowledgements
Diagram | Class Map | Attribute Map | Method Map | Help | License
Home | Package | Class: { prev | next } | Attribute | Method

Class: ChemCompVar


    ChemComp with a given chain location (for polymers) or sybstitution/lin king pattern (for non-polymers) and a given topological variant. Topological variants are e.g. protonation states, and in general topological variations that can change over time for a given molecule. For Polymers topological variations (defined through the descriptor attribute) also include linking patterns in addition to those that make up the linear polymer links.

    A Polymer ChemComp is any ChemComp with at least one ChemCompVar with  linking 'start', 'middle', or 'end'.  
    If linking is 'start', there must be a 'next' link but no 'prev' link
    if linking is 'end' there must be a 'prev' link but no 'next' link
    if linking is 'middle' there must be both a 'next' and 'a prev'
    if linking is neither there must be neither a 'next' nor a 'prev' link
    if linking is 'none' and the ChemComp is not a linear polymer, there must be no links at all.
    If there are no links, liking must be 'none'

    The relevant constraints are placed on ChemCompVar and LinkEnd.
Attributes
Link Attributes
Attribute Methods
Link Attribute Methods
Class Methods
Factory Methods
Other Methods
Appendix

Inheritance:


Details:

Parent: link chemComp to class ChemComp
Main key: linking, descriptor
Mandatory Attributes: descriptor, formalCharge, isAromatic, isParamagnetic, linking
Known Subclasses: None
Children: None
Constructor: newObj = ChemCompVar( chemComp,descriptor=value, formalCharge=value, isAromatic=value, isParamagnetic=value, linking=value, ... )

Attributes (in package)

Go to Top
Attribute Type Multiplicity Description
descriptor Line 1..1 Short string distinguishing the topological variant of the ChemCompVar (e.g. protonation state) of the ChemCompVar. For ChemComps of linear polymer type (only) also distinguishes substitution patterns not related to the polymer bonds. The formatting rules are complex - see comment in 'descriptor_format_rule' constraint for details.  
formalCharge Int 1..1 Formal charge of ChemCompVar  
formula Line 0..1 Derived. Chemical formula for ChemCompVar  
glycoCtCode String 0..1 glycoCT chem_comp_code specific to ChemCompVar. If not set use chemComp.baseGlycoCtCode  
isAromatic Boolean 1..1 is ChemCompVar aromatic?  
isDefaultVar Boolean 1..1 Is this ChemCompVar the default for its linking? Or, in other words, is this the ChemCompVar to use by default when creating a MolResidue with this particular molType, ccpCode, and linking? Note that myChemComp.findAllChemCompVars(linking=x,isDefaultVar=True) will return either one object or none for any value of x.  
isParamagnetic Boolean 1..1 is ChemCompVar paramagnetic?  
linking ChemCompLinking 1..1 String distinguishing the pattern of linkEnds (substitution pattern) of the ChemCompVar. For a linear polymer type ChemComp linking must be 'start', 'middle', 'end', or 'none', and other linking patterns are taken care of by the descriptor attribute. For Other ChemComps linking distinguishes all possible substitution patterns. Here the format is 'link:' followed by a comma-separated list of the linkCodes for the active links. E.g. 'link:SG,C1_2'  
molecularMass Float 1..1 Derived. molecular mass for ChemCompVar.  
name Text 0..1 Derived. name of ChemCompVar. Equal to varName if set, otherwise to ChemComp.name  
nonStereoSmiles String 0..1 Smiles description of topology (non-stereo)  
stereoSmiles String 0..1 Smiles description of topology (stereo)  
varName Text 0..1 Name for ChemCompVar. Overrides ChemComp.name and should only be set when different from this. See ChemCompVar.name documentation  

Inherited Attributes (not in package): applicationDataclassNamefieldNamesinConstructorisDeletedmetaclasspackageNamepackageShortNamequalifiedName

Link Attributes (in package)

Go to Top
Attribute Type Multiplicity Description
chemAngles ChemAngle 0..* Derived. chemAngles that lie within ChemCompVar  
chemAtomSets ChemAtomSet 0..* Derived. ChemAtomSets contained in ChemCompVar. The setsa are  
chemAtoms AbstractChemAtom 0..* AbstractChemAtoms making up ChemCompVar  
chemBonds ChemBond 0..* Derived. Bonds contained in ChemCompVar  
chemComp ChemComp 1..1 (Parent link). parent link  
chemCompSysNames ChemCompSysName 0..* Derived. All chemCompSysNames relevant to ChemCompVar  
chemTorsions ChemTorsion 0..* Derived. chemTorsions that lie within ChemCompVar  
linkEnds LinkEnd 0..* Derived. linkEnds available to ChemCompVar. A LinkEnd belongs to a ChemCompVar if and only if the LinkEnd.boundLinkAtom belongs to the ChemCompVAr.  
parent ChemComp 1..1 link to parent object - synonym for chemComp  
specificSysNames ChemCompSysName 0..* Systematic names that are valid for this ChemCompVar but not for all others. In addition to the specific ChemCompSysNames in this link, any ChemCompSysName that is not linked to specific ChemCompVars is valid for all ChemCompVars. Each ChemCompVar can have only one ChemCompSysName within a given naming system.  

Inherited Attributes (not in package): accessactiveAccessroottopObject

Attribute Methods (in package)

Go to Top
Attribute Method Return Parameters Comment
descriptor
getDescriptor Line -
setDescriptor - Line
formalCharge
getFormalCharge Int -
setFormalCharge - Int
formula
getFormula Line - non-std.
glycoCtCode
getGlycoCtCode String -
setGlycoCtCode - String
isAromatic
getIsAromatic Boolean -
setIsAromatic - Boolean
isDefaultVar
getIsDefaultVar Boolean -
setIsDefaultVar - Boolean
isParamagnetic
getIsParamagnetic Boolean -
setIsParamagnetic - Boolean
linking
getLinking ChemCompLinking -
setLinking - ChemCompLinking
molecularMass
getMolecularMass Float - non-std.
name
getName Text - non-std.
setName - Text non-std.
nonStereoSmiles
getNonStereoSmiles String -
setNonStereoSmiles - String
stereoSmiles
getStereoSmiles String -
setStereoSmiles - String
varName
getVarName Text -
setVarName - Text

Link Attribute Methods (in package)

Go to Top
Attribute Method Return Parameters Comment
chemAngles
getChemAngles ChemAngle Set - non-std.
sortedChemAngles ChemAngle List -
findFirstChemAngle ChemAngle keyword=value pairs
findAllChemAngles ChemAngle Set keyword=value pairs
chemAtomSets
getChemAtomSets ChemAtomSet Set - non-std.
sortedChemAtomSets ChemAtomSet List -
findFirstChemAtomSet ChemAtomSet keyword=value pairs
findAllChemAtomSets ChemAtomSet Set keyword=value pairs
chemAtoms
getChemAtoms AbstractChemAtom Set -
setChemAtoms - AbstractChemAtom Set
sortedChemAtoms AbstractChemAtom List -
addChemAtom - AbstractChemAtom
removeChemAtom - AbstractChemAtom
findFirstChemAtom AbstractChemAtom keyword=value pairs
findAllChemAtoms AbstractChemAtom Set keyword=value pairs
chemBonds
getChemBonds ChemBond Set - non-std.
sortedChemBonds ChemBond List -
findFirstChemBond ChemBond keyword=value pairs
findAllChemBonds ChemBond Set keyword=value pairs
chemComp
getChemComp ChemComp -
chemCompSysNames
getChemCompSysNames ChemCompSysName Set - non-std.
sortedChemCompSysNames ChemCompSysName List -
findFirstChemCompSysName ChemCompSysName keyword=value pairs
findAllChemCompSysNames ChemCompSysName Set keyword=value pairs
chemTorsions
getChemTorsions ChemTorsion Set - non-std.
sortedChemTorsions ChemTorsion List -
findFirstChemTorsion ChemTorsion keyword=value pairs
findAllChemTorsions ChemTorsion Set keyword=value pairs
linkEnds
getLinkEnds LinkEnd Set - non-std.
sortedLinkEnds LinkEnd List -
findFirstLinkEnd LinkEnd keyword=value pairs
findAllLinkEnds LinkEnd Set keyword=value pairs
parent
getParent ChemComp -
specificSysNames
getSpecificSysNames ChemCompSysName Set -
setSpecificSysNames - ChemCompSysName Set
sortedSpecificSysNames ChemCompSysName List -
addSpecificSysName - ChemCompSysName
removeSpecificSysName - ChemCompSysName
findFirstSpecificSysName ChemCompSysName keyword=value pairs
findAllSpecificSysNames ChemCompSysName Set keyword=value pairs

Class Methods (in package)

Go to Top
Method Return Parameters Comment
checkValid - Boolean
checkAllValid - Boolean
getByKey ChemCompVar memops.api.Implementation.MemopsObject, Any List static
getFullKey Any List Boolean
getLocalKey Any -
get Any String
set - String, Any

Factory Methods (in package)

Go to Top
Method Return Parameters
None

Other Methods (in package)

Go to Top
Method Return Parameters Comment
None

Appendix

Go to Top

guid:

www.ccpn.ac.uk_Fogh_2006-08-16-14:22:52_00005

isImplicit:

False

Tag

Value
repositoryId $Id: $

Tag

Value
repositoryTag $Name: $

Special constructor code:

None

Special destructor code:

None

Special postDestructor code:

None

Constraint name:

Atom_name_is_unique_within_ChemCompVar
Constraint code: ll = self.chemAtoms
isValid = (len(ll) == len(set(x.name for x in ll)))

Constraint name:

relationship_between_linkings_linkCodes_and_isLinearPolymer
Constraint code: # set up
le = set(x.linkCode for x in self.linkEnds)
linking = self.linking
isValid = True

# none means no links, except for linear polymers
if linking == 'none':
  if le and not self.chemComp.isLinearPolymer:
    isValid = False

# no links always means that linking must be 'none'
elif not le:
  isValid = False

# 'start' linking incompatible with 'prev' link
elif linking == 'start':
  if 'prev' in le:
    isValid = False

# 'end' linking incompatible with 'next' link
elif linking == 'end':
  if 'next' in le:
    isValid = False

# 'prev' and 'next' links require 'start', 'middle', or 'end' linking
elif linking != 'middle':
  if 'prev' in le or 'next' in le:
    isValid = False
Known inward one-way links: ccp.api.molecule.ChemCompCharge.ChemCompVarCharge.chemCompVarsccp.api.molecule.ChemCompCoord.ChemCompVarCoord.chemCompVarsccp.api.molecule.MolSystem.Residue.chemCompVarccp.api.molecule.Molecule.MolResidue.chemCompVarccp.api.nmr.Nmr.ResonanceGroup.chemCompVarccp.api.nmr.NmrReference.ChemCompVarNmrRef.chemCompVars
  Data Model Version 2.1.2
Go to Top  
  Autogenerated by  PyApiDocGen  revision 1.3   on  Fri Mar 28 11:18:04 2014    from data model package  ccp.api.molecule.ChemComp.ChemCompVar   revision ?  
  Work done by the CCPN team.
www.ccpn.ac.uk