安装ribotree-利用蒙特卡洛搜索树的RNA设计工具
创始人
2025-05-28 16:11:52
0

目录

  • 1 安装依赖
    • 1.1 安装arnie
    • 1.2 安装DegScore
    • 1.3 安装RiboGraphViz
    • 1.4 安装biopython
    • 1.5 安装Eternafold
    • 1.6 安装linearfold和linearpartition
  • 2 测试依赖
  • 3 运行ribotree
  • 4 附录

1 安装依赖

1.1 安装arnie

arnie用于管理各种RNA热动力学折叠的软件,下载连接:https://github.com/DasLab/arnie
(1)将文件夹名字arnie-marster改为arnie,~/.bashrc中添加以下行:

export PYTHONPATH=$PYTHONPATH:/opt/ribotree_1.1.7/arnie

(2)修改arnie/example_arnie_file.txt,需要对vienna_2,contrafold_2,eternafold,linearfold,linearpartition进行定义,下图先给出完整的配置,未安装的设置为None。
在这里插入图片描述
注意这里添加vienna,不然后续运行examples选择< -package vinenna >会出错。

(3)同时需要对这个文件的作为环境变量写入~/.bashrc中:
export ARNIEFILE=“opt/ribotree_1.1.7/arnie/example_arnie_file.txt”

1.2 安装DegScore

下载链接:https://github.com/eternagame/DegScore
将文件夹重命名为DegScore,~/.bashrc中添加以下行:

export PYTHONPATH=$PYTHONPATH:/opt/ribotree_dependencies/DegScore

1.3 安装RiboGraphViz

RiboGraphViz主要是对RNA结构进行可视化,下载链接:https://github.com/DasLab/RiboGraphViz

pip install -r requirements.txt
python setup.py install#在jupyter notebook中如果要看到可视化的话可以安装pygraphviz包
conda install —channel conda-forge pygraphviz

1.4 安装biopython

pip install bio -i https://pypi.tuna.tsinghua.edu.cn/simple

1.5 安装Eternafold

https://eternagame.org/software

cd EternaFold-master/src
make

需要把对应目录添加到arnie/example_arnie_file.txt中,如下:

eternafold: /opt/ribotree_dependencies/EternaFold-master/src/

1.6 安装linearfold和linearpartition

git clone https://github.com/LinearFold/LinearFold.git
cd LinearFold
make
git reset --hard 260c6bbb9bf8cc84b807fa7633b9cb731e639884
cd ..
git clone https://github.com/LinearFold/LinearPartition.git
cd LinearPartition
make
git reset --hard 694b70a4d842af543d3f135af212fcb14a668bfd

需要把对应目录添加到arnie/example_arnie_file.txt中,如下:

# LinearFold build
linearfold: /opt/ribotree_dependencies/LinearFold/bin# LinearPartition build
linearpartition: /opt/ribotree_dependencies/LinearPartition/bin

为eternafold和linearfold&linearpartition建立连接(注意修改EternaFold路径)

cd LinearFold
git apply --whitespace=fix /opt/ribotree_dependencies/EternaFold-master/LinearFold-E.patch
make
cd ..
cd LinearPartition
git apply --whitespace=fix /opt/ribotree_dependencies/EternaFold-master/LinearPartition-E.patch
make
cd ..

2 测试依赖

python test_dependencies.py

(1)注释关于contrafold的test,原因是:这个软件太老了,make都不行,连网页版都运行不了,这个软件也不会去用它。
在这里插入图片描述
在这里插入图片描述

(2)测试结果如下图所示:
在这里插入图片描述

3 运行ribotree

(1)如下图所示,选择对应的ribotree的代码进行下载,本文这里选择的是1.1.7的版本。https://eternagame.org/software在这里插入图片描述
(2)安装scipy:pip install scipy -i https://pypi.tuna.tsinghua.edu.cn/simple
(3)运行:python ribotree.py --file input/example.txt
输出2个文件:
example.2023xxxx-xxxxxx-xxxxx.RUNNING_BEST.txt
包含每X次迭代收集一次最佳序列的序列,由“步长”参数确定,计算所有度量。

example.2023xxxx-xxxx-xxxxx.FULL.txt
包含蒙特卡洛运行中接受的所有序列以及损失函数值。

可以修改input/example.txt中的**-package**,支持vinenna和eternafold

4 附录

依赖目录:

---opt---ribotree_1.1.7---arnie---example_arnie_file.txt---...---input---ribotree.py---test_dependencies.py---...---ribotree_dependencies---DegScore---EternaFold-master---LinearFold---LinearPartition---RiboGraphViz-master---ViennaRNA-2.4.10

参考链接:https://zhuanlan.zhihu.com/p/514096955

相关内容

热门资讯

linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
C++ 机房预约系统(六):学... 8、 学生模块 8.1 学生子菜单、登录和注销 实现步骤: 在Student.cpp的...
JAVA多线程知识整理 Java多线程基础 线程的创建和启动 继承Thread类来创建并启动 自定义Thread类的子类&#...
【洛谷 P1090】[NOIP... [NOIP2004 提高组] 合并果子 / [USACO06NOV] Fence Repair G ...
国民技术LPUART介绍 低功耗通用异步接收器(LPUART) 简介 低功耗通用异步收发器...
城乡供水一体化平台-助力乡村振... 城乡供水一体化管理系统建设方案 城乡供水一体化管理系统是运用云计算、大数据等信息化手段࿰...
程序的循环结构和random库...   第三个参数就是步长     引入文件时记得指明字符格式,否则读入不了 ...
中国版ChatGPT在哪些方面... 目录 一、中国巨大的市场需求 二、中国企业加速创新 三、中国的人工智能发展 四、企业愿景的推进 五、...
报名开启 | 共赴一场 Flu... 2023 年 1 月 25 日,Flutter Forward 大会在肯尼亚首都内罗毕...
汇编00-MASM 和 Vis... Qt源码解析 索引 汇编逆向--- MASM 和 Visual Studio入门 前提知识ÿ...
【简陋Web应用3】实现人脸比... 文章目录🍉 前情提要🌷 效果演示🥝 实现过程1. u...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
windows安装JDK步骤 一、 下载JDK安装包 下载地址:https://www.oracle.com/jav...
分治法实现合并排序(归并排序)... 🎊【数据结构与算法】专题正在持续更新中,各种数据结构的创建原理与运用✨...
在linux上安装配置node... 目录前言1,关于nodejs2,配置环境变量3,总结 前言...
Linux学习之端口、网络协议... 端口:设备与外界通讯交流的出口 网络协议:   网络协议是指计算机通信网...
Linux内核进程管理并发同步... 并发同步并发 是指在某一时间段内能够处理多个任务的能力,而 并行 是指同一时间能够处理...
opencv学习-HOG LO... 目录1. HOG(Histogram of Oriented Gradients,方向梯度直方图)1...
EEG微状态的功能意义 导读大脑的瞬时全局功能状态反映在其电场结构上。聚类分析方法一致地提取了四种头表面脑电场结构ÿ...
【Unity 手写PBR】Bu... 写在前面 前期积累: GAMES101作业7提高-实现微表面模型你需要了解的知识 【技...