Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Итак есть объект РНК (RNA). Он является наследником более общего объекта Chain (Цепь из молекул) (например, могут быть еще ДНК, белки и т.д.). Каждое РНК состоит из множества молекул (нуклеотидов) (Molecule). В данном случае молекула может быть четырех видов (наследники Molecule) — Cytosine, Uracil, Guanine, Adenine. Каждая молекула в зависимости от типа состоит из 28-33 атомов (Atom). У каждого атома есть три расчетных угла
public class RNA : Chain
{
public Molecule[] Molecules;
}
public class Molecule
{
public Atom[] AllAtom;
}
public class Atom
{
public Angles Angles;
}
public RNARealise(RNASeq argSeq)
: base(argSeq.Len)
{
PrimaryRNASeq = argSeq;
}
public class Chain
{
/// Молекулы в цепи
public Molecule[] Molecules;
}
/// Цепь РНК
public class RNARealise : Chain
{
public RNASeq PrimaryRNASeq;
public RNARealise(RNARealise argRNA)
{
PrimaryRNASeq = argRNA.PrimaryRNASeq;
Molecules = new Molecule[argRNA.PrimaryRNASeq.Len + 1];
}
}
public RNARealise(RNASeq argSeq)
: base(argSeq.Len)
{
PrimaryRNASeq = argSeq;
Create3D();
}
Но в имеющихся условиях это тем не менее меньшие зло.
Усовершенствование паттерна Flyweight в биовычислениях