建立RNA科学环境
在计算生物学领域,有很多有用的软件包可以与RNA序列和实验数据进行交互。首先,安装arnie,这是一个实用的工具库,可以简化与各种二级结构预测包的交互。
!pip install arnie
Arnie至少需要一个二级结构预测器,所以我们安装EternaFold。Eternafold是一个领先的预测包,它使用通过公民科学游戏Eterna收集的序列进行训练。事实上,《Eterna》的玩家为这次比赛提供了许多数据序列。
# Install Eternafold
!conda config --set auto_update_conda false
!conda install -c bioconda eternafold --yes
%env ETERNAFOLD_PATH=/opt/conda/bin/eternafold-bin
%env ETERNAFOLD_PARAMETERS=/opt/conda/lib/eternafold-lib/parameters/EternaFoldParams.v1
有了预测器,就可以对给定序列进行结构预测了。例如,让我们看一个锤头核酶序列的例子。我们可以使用arnie's mfe,或最小自由能函数来预测这个RNA序列的二级结构。该结构将使用“点括号”表示法表示,其中。为未配对的碱基,()表示两个碱基。
from arnie.mfe import mfe
sequence = "CGCUGUCUGUACUUGUAUCAGUACACUGACGAGUCCCUAAAGGACGAAACAGCG"
structure = mfe(sequence,package="eternafold")
print(structure)
(((((((((((((......))))))..)....((((.....))))...))))))
点括号表示法可能有点难读如果你不熟悉RNA结构。让我们用另一种方式将结构可视化。我们将安装draw_rna,这是一个Das实验室工具,可以让我们在2D中绘制RNA结构。Draw_rna提供了一个draw_struct函数
!pip install draw_rna
from draw_rna.ipynb_draw import draw_struct
draw_struct(sequence, structure)
Arnie还提供了其他用于结构预测的函数。我们可以生成一个“碱基对概率”矩阵,预测每个可能的碱基对的概率(例如,以1为基数的碱基对与以2、3、4为基数的碱基对配对的可能性)。
from arnie.bpps import bpps
bpps(sequence,package="eternafold")