Модуль RNAWorld: различия между версиями

Содержимое удалено Содержимое добавлено
Строка 253:
</poem>
}}
 
== Описание архитектуры ПО ==
 
=== Зависимости между компонентами ===
 
[[File:RNAFoldingAI Components.png|thumb|600px|Диаграмма компонентов]]
 
На диаграмме компонентов видны все зависимости между динамическими библиотеками (.dll). Голова проекта (.exe) - это компонент RNAFoldingAI. Он зависит практически от всех остальных библиотек, и по сути лишь регулирует какие использовать компоненты в данный момент. Наоборот, ядро проекта (Core) не зависит ни от чего и содержит самую базовую логику, например, работу с векторами и матрицами, а так же различные константные определения.
 
Низкоуровневые библиотеки RNACreate, RNARotate, RNAEnergyCalc - зависят от ядра, а две последние от RNACreate. Таким образом, осуществление поворотов (RNARotate) и расчет энергии (RNAEnergyCalc) это независимые между собой модули.
 
Управляющие библиотеки FoldingSearchRnd, FoldingSearchAI - взаимозаменяемые. По сути FoldingSearchRnd - нужна лишь для сравнения с ПО Rosseta, т.к. осуществляет поиск траектории сворачивания принятым там (случайным поиском) подходом.
 
С точки зрения интеллектуальных методов интересны две библиотеки: RNAAgent, RNAWorld. Самое важное, что удалось добиться, это практически полная независимость работы среды от агента и агент, зависит только от среды. (детали см. [[Общие принципы реализации среды]]).
 
== Примечания ==