epam / Indigo

Universal cheminformatics toolkit, utilities and database search tools
http://lifescience.opensource.epam.com
Apache License 2.0
314 stars 103 forks source link

Introduce variant monomers in a model #2034

Closed olganaz closed 3 months ago

olganaz commented 4 months ago

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. Mixture - 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.

Requirements

  1. Variant monomers should support the ability to specify a list of monomers inside one variant.
  2. Variant monomers should support the weights of the individual monomers inside one variant.
  3. Attachment points of variant monomers - intersection of the corresponding attachment points all of the monomers making up the variant monomer.
  4. The type of variant monomer.
    • If all the monomers making up the variant are of the same type, then the type of variant should be the same as the type of individual monomers. For example, in case of variant monomer N={A, T, C, G, U}, where individual monomers are base monomers, N should be also a base.
    • If monomers making up the variant have different type, then the type of variant should be empty (?)