SAD-RNAInSpace (Semi-automatic designing RNA in space) - программное обеспечение для полуавтоматического конструирования РНК в пространстве. Обеспечивает 3D визуализацию структуры РНК, позволяет её изменять и с помощью связи с RNAWorld позволяет автоматизировать некоторые этапы сворачивания РНК.
Все авторские права самого программного обеспечения (SAD-RNAInSpace и RNAWorld) принадлежат основателю проекта Сергею Яковлеву, но участникам проекта программное обеспечение может быть предоставлено для реализации научных и образовательных целей.
Программное обеспечение находится в процессе разработки поэтому его описание будет появляться практически в интерактивном режиме.
Исходники данного ПО находятся в репозитории SVN, т.е. используется контроль версий. Для ознакомления список ревизий можно посмотреть здесь. Устаревшие версии помещены в АРХИВ.
Необходимо визуализировать этапы сворачивания молекулы РНК, чтобы исследовать критические точки сворачивания. В этих критических точках сворачивания нужно принимать решение проверять или нет ту или иную конфигурацию. Без визуализации этого нельзя сделать, а используя визуализацию как внешнию программу существенно замедляется работа исследователя. Поэтому необходима графическая библиотека визуализации молекул РНК, которую можно использовать на языке C# в программном обеспечении RNAFoldingAI.
При написании данного ПО, был исследован исходных код ПО VMD 1.8.7, который написан преимущественно на Си++ (и со скриптами на языке Python). При ближайшем рассмотрении оказалось:
Архитектурное качество ПО VMD 1.8.7 находится на очень низком уровне
Повсеместно используется двухстороний обмен ссылками, что приводит к сильнейшим взаимосвязям между классами, и по сути разделение на классы лишь условное
Ориентация ПО VMD на большое число операционных систем, графических библиотек, текстовых интерпретаторов, вариаций пользовательского интерфейса, концепция plugin`ов и т.п. привело к существенному запутыванию кода, при том, что все эти возможности по сути остаются не востребованными для большинства задач
Сложности с архитектурным качеством не позволяют ПО VMD легко преобразовать в динамическую библиотеку (.dll), которая обеспечивала бы визуализацию молекул РНК