Changelog for v.0.9.0#

v.0.9.0#

Facade#

Facade.SAMSON#

New/updated functions:

  • Setting an active editor: samson.Facade.SAMSON.setActiveEditor()

  • Snapping functionality (see samson.Facade.SAMSON.snap()) that snaps displacement (translation, rotation), rotation matrix, and spatial transform based on current snapping preferences set by the user.

  • Function samson.Facade.SAMSON.getNodes() now receives also the deepSelectionFlag flag.

DataModel#

DataModel.Asset#

Add bindings for newly added Asset library: samson.DataModel.Asset.

DataModel.Color#

Moved the Color class into the samson.DataModel.Type module.

Add bindings for newly added color palette classes:

  • samson.DataModel.Color.ColorPalette

  • samson.DataModel.Color.ColorPaletteDefaultPalette

  • samson.DataModel.Color.ColorPaletteDiverging

  • samson.DataModel.Color.ColorPaletteDivergingHCL

  • samson.DataModel.Color.ColorPaletteQualitative

  • samson.DataModel.Color.ColorPaletteQualitativeHCL

  • samson.DataModel.Color.ColorPaletteSequential

  • samson.DataModel.Color.ColorPaletteSequentialHCL

Add bindings for newly added color scheme classes:

  • samson.DataModel.Color.ColorSchemePerResidueHydrophobicity

  • samson.DataModel.Color.ColorSchemePerSideChainCharge

  • samson.DataModel.Color.ColorSchemePerSideChainPolarity

Updated color scheme classes to accept a color palette in their constructor:

  • samson.DataModel.Color.ColorSchemePerChainID

  • samson.DataModel.Color.ColorSchemePerFormalCharge

  • samson.DataModel.Color.ColorSchemePerOcupancy

  • samson.DataModel.Color.ColorSchemePerPartialCharge

  • samson.DataModel.Color.ColorSchemePerResidueSequenceNumber

  • samson.DataModel.Color.ColorSchemePerResidueType

  • samson.DataModel.Color.ColorSchemePerSecondaryStructureType

  • samson.DataModel.Color.ColorSchemePerTemperatureFactor

DataModel.Type#

Color

Moved the Color class from the samson.DataModel.Color module.

New function: samson.DataModel.Type.Color.fromHCL()

ColorConversion

Newly added functionality to convert between different color spaces, e.g. sRGB and HCL.

spatialDomain

Add bindings for newly added spatial domain class:

  • samson.DataModel.Type.spatialDomain

matrix33

New functions:

  • samson.DataModel.Type.matrix33.fromAlignment()

  • samson.DataModel.Type.matrix33.setE1(), samson.DataModel.Type.matrix33.setE2(), samson.DataModel.Type.matrix33.setE3()

Fix in the samson.DataModel.Type.matrix33.diagonalize() function.

DataModel.Document#

Camera

New functionality for the camera positioning: isMoving, rotateLeft, rotateRight, rotateUp, rotateDown, rotateClockwise, rotateCounterClockwise, alignWithAxis, alignWithPlane, leftBackBottomView, leftBackTopView, leftFrontBottomView, rightBackBottomView, rightBackTopView, rightFrontBottomView, rightFrontTopView.

Modifed existing functionality for the camera positioning: samson.DataModel.Document.Camera.center().

Folder

Folders now have UUID: samson.DataModel.Document.Folder.UUID().

New functionality: samson.DataModel.Document.Folder.getAssetList().

Modeling#

Modeling.Element#

Element

Included the new names of periodic table elements with numbers 113-118.

Added information on the element’s subcategory type in the metal–metalloid–nonmetal trend: metalSubcategory, metalSubcategoryString, isMetal.

Added information on element’s possible oxidation states: hasOxidationState.

ElementTable

Added functions to access newly added to samson.Modeling.Element.Element attributes: metalSubcategory, metalSubcategoryString, isMetal, hasOxidationState.

Modeling.StructuralModel#

The hierarchical representation of some structural model data has been modified to improve the user experience with biological data. Now atoms do not store the chain ID, residue sequence number, substructure sequence number - this data has been moved to the associated classes (Chain, Residue, StructuralGroup). Atom now has some new and updated functionality to access this data. This changes improve the user experience when doing drag-n-drop operations in the data graph and it reduces the size of .sam and .samx files by up to 15% depending on the stored data.

StructuralGroup

Add new attribute for structural ID and associated functions:

  • hasStructuralID

  • structuralID

  • clearStructuralID

This structural ID is used as a chain ID, a residue sequence number, and a substructure sequence number.

Chain

Now the chain ID can be stored using samson.Modeling.StructuralModel.StructuralGroup.structuralID().

Residue

Now, the change in the residue name changes names of its backbone and side chain accordingly: setName.

New functionality:

  • createCovalentBondsByResidueType - create covalent bonds or update their bond order.

New data for common residues (with associated functions):

  • Hydrophobicity in different scales (see HydrophobicityScale, getHydrophobicity).

  • Dissociation constants: pKa1, pKa2, pI (see getDissociationConstant1, getDissociationConstant2, getIsoelectricPointPH).

  • Some side chain properties: charge (see SideChainCharge, getSideChainCharge) and polarity (see SideChainPolarity, getSideChainPolarity).

Atom

New functionality for topology: currentValence, expectedValence, getBondedAtoms, getHydrogens, addHydrogens, removeHydrogens, isCarboxylOxygen, isNitroOxygen, isHydrogenBondAcceptor, isHydrogenBondDonor, isAttachedToHydrogenBondDonor, etc.

New functionality for elements (see samson.Modeling.Element.Element): metalSubcategory, isMetal.

New functionality due to changes in hierarchical data representation:

  • isInMolecule, getMolecule, moleculeName;

  • isInChain, getChain, chainName, hasChainID, chainID, chainIDString;

  • isInSegment, getSegment, segmentName;

  • isInSubstructure, getSubstructure, substructureName, hasSubstructureSequenceNumber, substructureSequenceNumber;

  • isInResidue, getResidue, residueName, residueTypeString, hasResidueSequenceNumber, residueSequenceNumber.

Functionality for the previous hierarchical data representation has been removed.

New functionality to describe the atom hybridization: see Hybridization and associated functions.

New functionality to describe the atomic structure geometry: see Geometry and associated functions.

Bond

New functionality to check the type of a bond: isAmideBond, isPrimaryAmideBond, isSecondaryAmideBond, isTertiaryAmideBond, isCarbonylBond, isEsterBond.

StructuralModel

New functionality to transform, translate, rotate a structural model, e.g.: centerTransform, getOrientation, transform, rotate, translate, computeDomain, etc. See the samson.Modeling.StructuralModel.StructuralModel class for all the functionality.

New functionality to modify structural models: replaceAtom, replaceBond.

Core#

Core.Class#

Proxy

New property: samson.Core.Class.ClassProxy.isDiscoverable().

GUI#

GUI.Action#

Action

New property: samson.GUI.Action.Action.isDiscoverable().