Sails
namespace Sails
Summary
Members | Descriptions |
|---|---|
| Generates a vector of link records based on the given structure, glycosites, and topology. |
| Converts a Sails::MTZ to a gemmi::Mtz object. |
| Forms a Sails::MTZ from a given gemmi::Mtz object. |
| Finds a glycosite in a given structure. |
| Finds a glycosite in a given structure. |
| Finds N-glycosylation sites in a given structure. |
| Finds C-glycosylation sites in a given structure. |
| |
| Calculates the projected point given three 3D positions, a length, an angle, and a torsion. |
| |
| Calculates the superposition of two sets of 3D positions. |
| A class representing a set of atoms. |
| A class representing a cluster of angles and torsions. |
| A class representing a glycosite. |
| The JSONLoader class is responsible for loading and parsing JSON files. |
| The JSONWriter class is responsible for writing telemetry log data to a JSON file. |
| Represents a model used for extending glycans and performing other operations. |
| |
Class for calculating solvent accessibility of glycosites in a structure. | |
| Handles telemetry for Sails addition and deletions. |
| Class for finding glycan topology in a structure. |
| |
| Structure representing a single angle with a mean and standard deviation. |
| Structure representing alpha, beta and gamma angles. |
| Represents a unit cell in three-dimensional space. |
| The Dot class is used to generate dotfiles for glycosites in a given structure. |
| Glycan represents a glycan structure. |
| Represents the Miller indices (h, k, l) of a reflection. |
| Represents a linkage between two sugar objects. |
| A struct representing the data for a linkage between two atoms. |
| |
| Represents a crystallographic MTZ file within Sails. |
| Represents a pair of numbers which default to NaN. |
| Represents the output of a Sails process. |
| |
| Reflection represents a reflection in a crystallographic dataset. |
| A struct representing the data of a residue. |
| Represents a sugar molecule. |
Represents the result of a superposition operation between two residues. | |
| |
| Structure representing a set of three torsion angles important for representing a glycosidic linkage. |
Members
public std::vector<Sails::LinkRecord>generate_link_records(gemmi::Structure * structure, Sails::Glycosites * glycosites,Sails::Topology* topology)
Generates a vector of link records based on the given structure, glycosites, and topology.
Parameters
structureA pointer to the gemmi::Structure object.glycositesA pointer to the Glycosites object.topologyA pointer to the Topology object.
Returns
A vector of LinkRecord objects representing the link records.
public gemmi::Mtzform_gemmi_mtz(MTZ& mtz)
Converts a Sails::MTZ to a gemmi::Mtz object.
This function takes an Sails::MTZ and converts it to a gemmi::Mtz object. It extracts the necessary information from the Sails::MTZ, such as unit cell, space group, reflection data, and creates a new gemmi::Mtz object with the converted data.
Parameters
mtzThe input MTZ file to be converted
Returns
A gemmi::Mtz object representing the converted MTZ
publicMTZform_sails_mtz(const gemmi::Mtz & mtz, const std::string & f_label, const std::string & sigf_label)
Forms a Sails::MTZ from a given gemmi::Mtz object.
This function takes a gemmi::Mtz object and extracts the necessary columns to form a Sails MTZ representation. It checks the column sizes and throws an exception if they are unequal. It then iterates over the columns and forms a Sails Reflection object for each reflection. Finally, it creates a Sails MTZ object and returns it.
Parameters
mtzThe gemmi::Mtz object containing the necessary columnsf_labelThe F column name, defaults to "FP"sigf_labelThe SIGF column name , defaults to "SIGF"
Returns
The Sails MTZ object formed from the gemmi::Mtz object
public inline std::optional<Glycosite>find_site(const gemmi::Structure & structure, const std::string & chain_name, const std::string & residue_name, int seqId)
Finds a glycosite in a given structure.
The method searches for a glycosite in the provided structure based on the specified chain name, residue name, and sequence ID. It returns an optional Glycosite object if found, otherwise it returns an empty optional.
Parameters
structureThe input structure to search for the glycosite.chain_nameThe name of the chain where the glycosite is located.residue_nameThe name of the residue that represents the glycosite.seqIdThe sequence identifier of the residue in the chain.
Returns
An optional Glycosite object representing the found glycosite, or an empty optional if no glycosite is found.
public inline std::optional<Glycosite>find_site(const gemmi::Structure & structure, const std::string & chain_name, int seqId)
Finds a glycosite in a given structure.
The method searches for a glycosite in the provided structure based on the specified chain name, and sequence ID. It returns an optional Glycosite object if found, otherwise it returns an empty optional.
Parameters
structureThe input structure to search for the glycosite.chain_nameThe name of the chain where the glycosite is located.seqIdThe sequence identifier of the residue in the chain.
Returns
An optional Glycosite object representing the found glycosite, or an empty optional if no glycosite is found.
public Glycositesfind_n_glycosylation_sites(const gemmi::Structure & structure)
Finds N-glycosylation sites in a given structure.
This function searches for N-glycosylation sites in a given structure. An N-glycosylation site is defined as a sequence of three consecutive residues: N-X-S/T, where N is the first residue, S/T is the third residue, and X can be any residue except proline (P). Only sites that satisfy this sequence pattern are considered as N-glycosylation sites. The function returns a vector of Glycosite objects that represent the position of each N-glycosylation site in the structure.
Parameters
structureThe structure in which to search for N-glycosylation sites.
Returns
A vector of Glycosite objects representing the position of each N-glycosylation site in the structure. If no N-glycosylation sites are found, an empty vector is returned.
public Glycositesfind_c_glycosylation_sites(const gemmi::Structure & structure)
Finds C-glycosylation sites in a given structure.
This function searches for C-glycosylation sites in a given structure. An C-glycosylation site is defined as a sequence of three consecutive residues: W-X-X-W, where either W can be mannosylated. Only sites that satisfy this sequence pattern are considered as C-glycosylation sites. The function returns a vector of Glycosite objects that represent the position of each C-glycosylation site in the structure.
Parameters
structureThe structure in which to search for C-glycosylation sites.
Returns
A vector of Glycosite objects representing the position of each C-glycosylation site in the structure. If no C-glycosylation sites are found, an empty vector is returned.
public Glycositesfind_o_mannosylation_sites(const gemmi::Structure & structure, std::map<Glycosite, double > & solvent_accessibility_map)
public gemmi::Vec3calculate_projected_point(gemmi::Vec3 & x1, gemmi::Vec3 & x2, gemmi::Vec3 & x3, const double & length, const double & angle, const double & torsion)
Calculates the projected point given three 3D positions, a length, an angle, and a torsion.
Parameters
x1A reference to a gemmi::Vec3 object representing the first position.x2A reference to a gemmi::Vec3 object representing the second position.x3A reference to a gemmi::Vec3 object representing the third position.lengthA constant reference to a double representing the length of the projected point.angleA constant reference to a double representing the angle of projection.torsionA constant reference to a double representing the torsion angle of projection.
Returns
A gemmi::Vec3 object representing the calculated projected point.
public gemmi::Positionposition_from_angle_and_torsion(const gemmi::Position & x1, const gemmi::Position & x2, const gemmi::Position & x3, double dist, double theta, double tau)
public gemmi::Transformcalculate_superposition(std::vector< gemmi::Position > & reference, std::vector< gemmi::Position > & target)
Calculates the superposition of two sets of 3D positions.
Parameters
referenceA vector of gemmi::Position objects representing the reference positions.targetA vector of gemmi::Position objects representing the target positions.
Returns
A gemmi::Transform object representing the transformation matrix and translation vector that superimposes the reference positions onto the target positions.
Exceptions
std::runtime_errorif the size of the reference and target vectors are different.