#bioinformatics #ncrna #pairwise-alignment

bin+lib crast

CRAST, 上下文 RNA 对齐搜索工具

5 个稳定版本

使用旧版 Rust 2015

1.0.4 2017年6月20日
1.0.3 2017年6月5日
1.0.2 2017年5月19日
1.0.1 2017年4月29日
1.0.0 2017年4月15日

#311 in 生物学

MIT 许可证

6MB
2K SLoC

Rust 1.5K SLoC Python 453 SLoC // 0.0% comments

CRAST, 上下文 RNA 对齐搜索工具

此二进制文件提供了 CRAST 算法,这是一种类似于 BLAST 的 RNA 对齐搜索工具。您可以通过添加选项 "-h" 来检查所有可用选项。
使用所有 18,185 只家鼠 ncRNA/34 个人类 lncRNA(作为家鼠相应 ncRNA 的同源序列)作为目标/查询序列,将 CRAST 与其他 BLAST 类工具的性能比较如下

工具/术语 TPs/FPs/TNs/FNs F-meas. DB[s] Align.[s]
CRAST 65/107/0/0 0.548 160.0[m] 148.0 (34.60)
LAST 63/365/0/0 0.256 7.246 0.195
BLASTN 63/623/20/0 0.168 1.646 1.007

CRAST 括号内的 "align. time" 是预处理之外的时间。("bzip2" 解压很耗时。)
"TP" 是将任何人类序列映射到任何相应的家鼠序列;"FP" 是任何人类序列映射到其他任何序列。
作为一个负样本数据集,我们将所有查询序列与 UShuffle 进行二核苷酸打乱。 "TN" 是将任何打乱的查询序列映射到除对应目标序列之外的其他任何序列;"FN" 是将任何打乱的查询序列映射到任何对应目标序列。
ROC curves of CRAST, LAST, BLASTN
曲线是从上述比较得出的,使用它们的对齐期望值作为阈值。
括号内的值是曲线下的面积。(面积越大,预测性能越好。)

依赖项

此项目中的依赖项是 "bzip2" 程序(用于数据库文件压缩)。您可以在 Ubuntu 中按以下方式安装它

$ sudo apt-get install bzip2

安装

此项目是用 Rust 编写的,Rust 是一种系统编程语言。因此,您首先需要安装 Rust 编译器(Rustc)、Rust 包管理器(Cargo)和 Rust 标准库。请访问 Rust 网站 了解更多信息。您可以使用一行命令安装它们,如下所示

$ curl https://sh.rustup.rs -sSf | sh

上述安装是通过 Rustup 完成的,因此您可以轻松切换编译器以使用它。现在您可以按照以下方式安装 CRAST

$ cargo install --git https://github.com/heartsh/crast

按照以下方式检查是否已正确安装

$ crast-db && crast

如果您想了解它的速度有多快,可以按照以下方式运行基准测试

$ git clone https://github.com/heartsh/crast && cd crast
$ tar xvf asts.tar.bz2
$ cargo test --release -- --nocapture

文档

英文版 CRAST 文档.
日文版 CRAST 文档.
生物Rxiv上的 CRAST 论文.

Docker 上的实验追踪

如果您对论文中展示的实验感兴趣,可以在 Docker 镜像 "heartsh/crast" 中追踪它们,该镜像可在 Docker Hub 上找到。(您可以将 Docker Hub 视为 Docker 的 GitHub。)
提前,您需要在 Docker 上启用 GUI。这个过程在 Mac、Windows 和 Linux 之间有所不同。所以我们只解释如何在 Mac 上操作,但您也可以在其他平台上进行操作。首先按照以下步骤安装并启动 XQuartz 和 Socat:

$ brew cask install xquartz
$ brew install socat
$ open -a XQuartz
$ socat TCP-LISTEN:6000,reuseaddr,fork UNIX-CLIENT:\"$DISPLAY\" &

接下来,您需要知道您电脑的 IP 地址,如下所示:

$ ifconfig | grep inet # Line starting with "inet" will have IP address

现在,您已准备好在 Docker 上使用 GUI。
Docker 安装完成后,首先在容器中运行 CRAST,如下所示:

$ docker pull heartsh/crast # Pull image from Docker Hub
$ docker run -it -e DISPLAY=$IP_ADDRESS:0 heartsh/crast zsh # Deploy image into container and enter into it with login shell where variable "IP_ADDRESS" is your PC's IP address
$ git pull && tar xvf asts.tar.bz2 && cargo test --release -- --nocapture && cp ~/.cargo/bin/crast* /usr/local/bin # Run CRAST for test set

然后按照论文附录中的说明运行其他 BLAST 类工具和 Foldalign。注意,您需要在 LAST 输出的前面添加 "##maf\n",因为没有文件格式标识符(它不会发出),后续过程将失败。在此阶段,您已准备好获取论文中的统计数据。尝试如下操作:

$ ./gt_cmprsn_wth_blast_lk_tls.py
$ ./gt_cmprsn_wth_fldlgn.py
$ ./gt_crast_stts.py && okular asts/imgs/*.eps

作者

Heartsh

许可

版权(c)2016 Heartsh
根据 MIT 许可协议 许可。

依赖项

~8.5MB
~133K SLoC