Faculty of Chemistry, Department of Theoretical Chemistry.
Faculty of Computer Science, Research Group Bioinformatics and Computational Biology.
Bioinformatics. 2017 Sep 15;33(18):2850-2858. doi: 10.1093/bioinformatics/btx263.
Realizing the value of synthetic biology in biotechnology and medicine requires the design of molecules with specialized functions. Due to its close structure to function relationship, and the availability of good structure prediction methods and energy models, RNA is perfectly suited to be synthetically engineered with predefined properties. However, currently available RNA design tools cannot be easily adapted to accommodate new design specifications. Furthermore, complicated sampling and optimization methods are often developed to suit a specific RNA design goal, adding to their inflexibility.
We developed a C ++ library implementing a graph coloring approach to stochastically sample sequences compatible with structural and sequence constraints from the typically very large solution space. The approach allows to specify and explore the solution space in a well defined way. Our library also guarantees uniform sampling, which makes optimization runs performant by not only avoiding re-evaluation of already found solutions, but also by raising the probability of finding better solutions for long optimization runs. We show that our software can be combined with any other software package to allow diverse RNA design applications. Scripting interfaces allow the easy adaption of existing code to accommodate new scenarios, making the whole design process very flexible. We implemented example design approaches written in Python to demonstrate these advantages.
RNAblueprint , Python implementations and benchmark datasets are available at github: https://github.com/ViennaRNA .
s.hammer@univie.ac.at, ivo@tbi.univie.ac.at or sven@tbi.univie.ac.at.
Supplementary data are available at Bioinformatics online.
实现合成生物学在生物技术和医学中的价值需要设计具有特殊功能的分子。由于其结构与功能的密切关系,以及良好的结构预测方法和能量模型的可用性,RNA 非常适合进行具有预定义特性的合成工程。然而,目前可用的 RNA 设计工具不能轻易地适应新的设计规范。此外,为了适应特定的 RNA 设计目标,通常会开发复杂的采样和优化方法,这增加了它们的不灵活性。
我们开发了一个 C++ 库,实现了一种图着色方法,用于从典型的非常大的解决方案空间中随机采样与结构和序列约束兼容的序列。该方法允许以明确定义的方式指定和探索解决方案空间。我们的库还保证了均匀采样,这不仅通过避免对已经找到的解决方案进行重新评估,而且通过提高长时间优化运行找到更好解决方案的概率,使优化运行性能良好。我们表明,我们的软件可以与任何其他软件包结合使用,以允许各种 RNA 设计应用。脚本接口允许轻松改编现有的代码以适应新的场景,从而使整个设计过程非常灵活。我们实现了用 Python 编写的示例设计方法,以展示这些优势。
RNAblueprint、Python 实现和基准数据集可在 github 上获得:https://github.com/ViennaRNA。
s.hammer@univie.ac.at、ivo@tbi.univie.ac.at 或 sven@tbi.univie.ac.at。
补充数据可在 Bioinformatics 在线获得。