Description
Background
Variant monomers are used to describe ambiguity in the structure of a macromolecule.
Variant monomers could be classified in two types:
- Alternatives - this type of variant monomer is used to describe that at a specific position in the macromolecule, any monomer from a list of options can be present.
If we have an RNA sequence of A
V
C, and make 100 molecules it will result in either 100 molecules of AA
C, OR a 100 molecules of AC
C, or a 100 molecules of AG
C.
- Mixed - this type of variant monomer is used to specify not only the list of possible monomers that can be used, but also the probabilities (weights) with which these variants may occur at that position.
If we have an RNA sequence of A
V
C (p(A)=0,5; p(C)=0,3; p(G)=0,2), and make 100 molecules every time we would get 50 molecules of AA
C, 30 molecules of AC
C, and 20 molecules of AG
C.
The scope of this task includes the ability to load/save variant monomers (alternatives and mixture) to KET, display on canvas, connect to other monomers.
Requirements
- User should be able to load variant monomers from Ket file.
- User should be able to save variant monomers to Ket file.
- A variant monomer has a class only if all monomers that compose the variant monomer are of the same class.
All monomers that compose the variant monomer
V
(adenine, cytosine, and guanine) are bases, that means that the variant monomerV
is a variant base.
-
Variant monomers should be displayed on canvas as regular monomers in flex mode:
4.1. If all the monomers making up the variant monomer are bases, then the variant monomer is a base, and should be represented as a diamond on the canvas (see mockups).
4.2. If all the monomers making up the variant monomer are amino acids, then the variant monomer is an amino acid, and should be represented as a hexagon on the canvas (see mockups).
4.3. If the variant monomer is not a base or an amino acid (the class is different, or there is no class), then the variant should be represented as a square on the canvas (see mockups).
4.4. The symbols inside monomer shape should be a one-letter symbol (described in related issues: #5186 and #2015) or an%
for all other variant monomers. -
The variant monomer has an attachment point Rn only if all the monomers making up that variant monomer have the attachment point Rn.
-
For establishing bonds following rules apply:
6.1. All of the rules center-to-center, center-to-point, point-to-center, point-to-point should apply to the variant monomers.
6.2. If a variant monomer is a base, all rules for establishing bonds with bases are followed. The same logic for all other types.
6.3. If a variant monomer has no type, the rules for establishing bonds with CHEMs are followed (open "Select Connection Points" dialog every time (related issue: #5224)).
- Variant monomer is made from three (or any other number) amino acids (i.e. peptides) -> Variant monomer is a hexagon & the class of variant monomer is "AminoAcid" -> Rules for amino acids (i.e. peptides)
- Variant monomer is made from three bases -> Variant monomer is a diamond & the class of variant monomer is "Base" -> Rules for bases
- Variant monomer is made from three (or any other number) sugars -> Variant monomer is a square & the class of variant monomer is "Sugar" -> Rules for sugars
- Variant monomer is made from three (or any other number) phosphates-> Variant monomer is a square & the class of variant monomer is "Phosphate"-> Rules for phosphates
- Variant monomer is made from three (or any other number) (unsplit) nucleotides-> Variant monomer is a square & the class of variant monomer is "RNA" -> Rules for (unsplit) nucleotides
- Variant monomer is made from three (or any other number) CHEMs-> Variant monomer is a square & the class of variant monomer is "CHEM"-> Rules for CHEMs
Variant monomer is made from an amino acid (i.e. peptide), a base, and a CHEM -> Variant monomer is a square & variant monomer has no class -> Rules for CHEMs
- Previews for hovering over the monomers in flex mode are addressed in the related issue: #4555.