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), которая обеспечивала бы визуализацию молекул РНК
Развитие модулей/компонентов
править
- OpenGlPlus.dll - динамическая библиотека на Си++ реализующая 3D-визуализацию молекул РНК
- RNAInSpace - управляющие приложение на С#, с графическим интерфейсом
- RNAWorld - главный расчетный модуль на С#
|