基于RNN的程序集HELEN。它与MarginPolish搭配使用。
helen的Python项目详细描述
H、 E.L.E.N.公司
H.E.L.E.N.(用于纳米孔的均聚物编码长读误差校正器)
预印本介绍了建议的de novo assembly
管道的方法和概述:
Efficient de novo assembly of eleven human genomes using PromethION sequencing and a novel nanopore toolkit
概述
HELEN
使用基于递归神经网络(RNN)的多任务学习(MTL)模型,该模型可以使用MarginPolish
生成的权重来预测每个基因组位置的碱基和运行长度。在
©2020 Kishwar Shafin,Trevor Pesout,Benedict Paten版权所有。
计算基因组学实验室(CGL),加利福尼亚大学圣克鲁兹分校。在
为什么是玛金波利什海伦?在
MarginPolish-HELEN
优于其他基于图形和神经网络的抛光管道。在- 简单的安装步骤。在
HELEN
可以同时使用多个gpu。在- 高度优化的管道,比任何其他可用的抛光工具都要快。在
- 我们已经对组装好的11个样本进行了排序,以确保健壮性、运行时的一致性和成本效率。在
- 我们测试了
Amazon Web Services (AWS)
和{}上的GPU使用情况,以确保可伸缩性。在 - 开源(MIT License)。在
演练
安装
MarginPolish-HELEN
在Ubuntu 16.10/18.04
或任何其他基于Linux的系统上都受支持。
嗯
安装先决条件
在执行任何方法之前,请确保安装了所有依赖项:
sudo apt-get -y install git cmake make gcc g++ autoconf bzip2 lzma-dev zlib1g-dev \ libcurl4-openssl-dev libpthread-stubs0-dev libbz2-dev liblzma-dev libhdf5-dev \ python3-pip python3-virtualenv virtualenv方法1:从GitHub安装MarginPolish HELEN
您可以从GitHub
存储库安装:
每次要使用它时,请激活virtualenv:
. <path/to/helen/venv/bin/activate>方法2:使用PyPi安装
使用pip安装先决条件和安装MarginPolish-HELEN
:
python3 -m pip install helen --user python3 -m helen.helen --help python3 -m helen.marginpolish --help
更新已安装的版本:
python3 -m pip install update pip python3 -m pip install helen --upgrade
还可以将模块位置添加到路径:
echo'export PATH="$(python3 -m site --user-base)/bin":$PATH' >> ~/.bashrc source ~/.bashrc marginpolish --help helen --help
方法三:使用docker image
基于CPU的docker:
# SEE CONFIGURATION docker run --rm -it --ipc=host kishwars/helen:latest helen --help docker run --rm -it --ipc=host kishwars/helen:latest marginpolish --help docker run -it --ipc=host --user=`id -u`:`id -g` --cpus="16"\ -v </directory/with/inputs_outputs>:/data kishwars/helen:latest \ helen --help
基于GPU的docker:
sudo apt-get install -y nvidia-docker2 # SEE CONFIGURATION nvidia-docker run -it --ipc=host kishwars/helen:latest helen torch_stat nvidia-docker run -it --ipc=host kishwars/helen:latest helen --help nvidia-docker run -it --ipc=host kishwars/helen:latest marginpolish --help # RUN HELEN nvidia-docker run -it --ipc=host --user=`id -u`:`id -g` --cpus="16"\ -v </directory/with/inputs_outputs>:/data kishwars/helen:latest \ helen --help
使用
MarginPolish
需要一个草稿程序集和一个读取到草稿程序集的映射。我们推荐使用Shasta
作为初始汇编程序,使用MiniMap2
作为映射。在
步骤1:生成初始装配
使用ONT汇编程序之一生成程序集:
步骤2:在reads和shasta assembly之间创建对齐
我们建议使用MiniMap2
来生成读取和程序集之间的映射。你不必遵循这些确切的命令。在
minimap2 -ax map-ont -t 32 shasta_assembly.fa reads.fq | samtools view -hb -q 60 -F 0x904 > unsorted.bam ; samtools sort -@ 32 unsorted.bam | samtools view > reads_2_assembly.0x904q60.bam samtools index -@32 reads_2_assembly.0x904q60.bam
步骤3:使用MarginPolish生成图像
下载型号
helen download_models \
--output_dir <path/to/mp_helen_models/>
运行MarginPolish
通过运行以下命令,可以使用MarginPolish生成图像:
marginpolish reads_2_assembly.bam \ Assembly.fa \ </path/to/model_name.json> \ -t <number_of_threads> \ -o <path/to/marginpolish_images> \ -f
你可以通过下载找到模型。在
第4步:运行HELEN
接下来,运行HELEN
以使用RNN进行抛光。在
helen polish \ --image_dir </path/to/marginpolish_images/> \ --model_path </path/to/model.pkl> \ --batch_size 256\ --num_workers 4\ --threads <num_of_threads> \ --output_dir </path/to/output_dir> \ --output_prefix <output_filename.fa> \ --gpu_mode
如果使用的是CPUs
,那么删除--gpu_mode
参数。在
帮助
如果您遇到任何困难,请打开github问题。在
确认
我们感谢Segey Koren和{a11}对CHM13
数据和评估的帮助。在
我们从Telomere-to-telomere consortium下载数据,根据CHM13
评估我们的管道。在
我们感谢这些软件包开发人员的工作:
有趣的事实
“海伦”这个名字的灵感来源于托尼·斯塔克在《奇迹漫画》(Earth-616)中创作的人工智能。海伦是为了控制托尼正在建造的名为“特洛伊”的城市而被创造出来的。在
阅读更多:HELEN
©2020 Kishwar Shafin,Trevor Pesout,Benedict Paten版权所有。在
- 项目
标签: