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
structure
A pointer to the gemmi::Structure object.glycosites
A pointer to the Glycosites object.topology
A pointer to the Topology object.
Returns
A vector of LinkRecord objects representing the link records.
public gemmi::Mtz
form_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
mtz
The input MTZ file to be converted
Returns
A gemmi::Mtz object representing the converted MTZ
public
MTZ
form_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
mtz
The gemmi::Mtz object containing the necessary columnsf_label
The F column name, defaults to "FP"sigf_label
The 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
structure
The input structure to search for the glycosite.chain_name
The name of the chain where the glycosite is located.residue_name
The name of the residue that represents the glycosite.seqId
The 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
structure
The input structure to search for the glycosite.chain_name
The name of the chain where the glycosite is located.seqId
The 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 Glycosites
find_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
structure
The 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 Glycosites
find_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
structure
The 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 Glycosites
find_o_mannosylation_sites
(const gemmi::Structure & structure, std::map<
Glycosite
, double > & solvent_accessibility_map)
public gemmi::Vec3
calculate_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
x1
A reference to a gemmi::Vec3 object representing the first position.x2
A reference to a gemmi::Vec3 object representing the second position.x3
A reference to a gemmi::Vec3 object representing the third position.length
A constant reference to a double representing the length of the projected point.angle
A constant reference to a double representing the angle of projection.torsion
A constant reference to a double representing the torsion angle of projection.
Returns
A gemmi::Vec3 object representing the calculated projected point.
public gemmi::Position
position_from_angle_and_torsion
(const gemmi::Position & x1, const gemmi::Position & x2, const gemmi::Position & x3, double dist, double theta, double tau)
public gemmi::Transform
calculate_superposition
(std::vector< gemmi::Position > & reference, std::vector< gemmi::Position > & target)
Calculates the superposition of two sets of 3D positions.
Parameters
reference
A vector of gemmi::Position objects representing the reference positions.target
A 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_error
if the size of the reference and target vectors are different.