序列级深度学习网络的开发框架

selene-sdk的Python项目详细描述


logo


selene是一个python库和命令行接口,用于从生物序列数据(如基因组)中训练深层神经网络。

安装

我们建议在python 3.6或更高版本中使用selene。 使用这些方法(conda、pip、source)安装软件包只需几分钟(少于10分钟,通常为2-3分钟)。

安装pytorch如果您有nvidia gpu,请安装一个支持它的pytorch版本,selene使用分立的gpu会运行得更快。

使用anaconda安装selene(对于Linux):

conda install -c bioconda selene-sdk

使用pip安装selene:

pip install selene-sdk

请注意,我们不建议pip安装旧版本的selene(低于0.4.0),因为这些版本不太稳定。

我们目前只有一个源发行版可用于pip安装。我们正在考虑将来释放车轮。

从源安装selene:

首先,从源存储库下载最新的提交(或下载最新的selene标记版本以获得稳定的版本):

git clone https://github.com/FunctionLab/selene.git

脚本需要numpy、cython和setuptools。请确保您已经安装了这些程序。

如果您打算直接在selene存储库中工作,我们建议使用selene cpu.ymlo从环境yml文件创建环境rel="nofollow">设置conda环境rselene gpu.yml(如果您的计算机上启用了cuda)并激活它。 这些环境yaml文件列出了我们过去用来测试selene的包依赖项的特定版本。

赛琳娜有一些cython文件。您可以通过运行

python setup.py build_ext --inplace

如果要在本地安装selene,可以运行

python setup.py install

cli的附加依赖项

请在运行存储库中提供的命令行脚本之前安装docopt。

关于赛琳娜

selene由一个命令行接口和一个api(即selene sdkpython包)组成。 用户提供他们的数据、模型架构和配置参数,selene为基于序列的模型运行用户指定的操作(训练、评估、预测)。

有关selene软件开发工具包(sdk)中组件的更详细概述,请参阅此处的页。

Summary Figure

帮助

请将错误或功能请求发送到我们的github问题

加入我们的谷歌集团如果您对软件包、案例研究或模型开发有任何疑问。

文档

selene的文档可以在这里找到。 如果您对通过命令行界面(cli)运行selene感兴趣,则本文档将介绍配置文件格式(由cli使用)的工作原理,并详细介绍所有可能的配置参数。rs您可能需要构建自己的配置文件。

示例

我们提供两组示例:jupyter笔记本教程和我们在手稿中描述的案例研究。 Jupyter笔记本电脑更容易使用,因为它们可以很容易地在笔记本电脑上阅读和运行。 我们还借此机会展示了如何通过cli(通过配置文件)和api使用selene。 最后,这些笔记本对于演示selene包含的各种可视化组件特别有用。 在手稿的案例研究中,api和可视化功能的重要性要小得多。

在案例研究中,我们展示了更复杂的用例(例如,关于更大数据集的培训),而这些用例是我们无法在jupyter笔记本中展示的。 此外,我们将展示如何在随后的统计分析中使用变量效果预测的输出(案例3)。 这些例子反映了我们在自己的项目中最常使用selene的方式,而jupyter笔记本则调查了我们使用selene的许多不同方式和环境。

我们建议在启用CUDA的GPU的计算机上运行这些示例。当在cpu机器上运行时,所有的例子都要花费更长的时间。 (有关时间估计,请参见以下各节。)

重要信息:教程和手稿示例最初运行在Selene 0.1.3版上,后来运行在Selene 0.2.0(Pythorch 0.4.1版)上。赛琳娜已经更新,文件如selene gpu.ymlspecify pytorch version 1.0.0。请注意,使用较旧版本的pytorch创建的模型(例如那些可下载的案例研究手稿)可能与较新版本的pytorch不兼容。如果您在启用CUDA的GPU上使用我们培训过的模型时遇到问题,可能是Pythorch或CUDA工具包版本不同造成的。

教程

Selene的教程可在这里获得

可以在标准的CPU机器上运行教程(Jupyter笔记本示例)——除非可以运行2-3天以上,否则您不应该期望完全完成培训示例的运行,但它们都可以在几天内在CPU上运行完成。您还可以更改训练参数(例如总步数),以便它们在更快的时间内完成。

非训练实例(变异效应预测,在silico突变中)可以相当快地运行(变异效应预测可能需要20-30分钟,在silico突变中需要10-15分钟)。

有关特定教程的链接和说明,请参见教程目录中的自述

手稿案例研究

在手稿中复制案例研究的代码可在这里获得。

每个案例都有自己的目录和自述文件,说明如何运行这些案例。 我们建议查阅我们在手稿的方法部分提供的每个案例研究的分步分解。

手稿的例子只在gpu上测试过。 我们的gpu(nvidia tesla v100)时间估计:

  • 案例研究1在GPU节点上大约1.5天内完成。
  • 案例研究2需要6-7天的时间进行培训(将工作分发到4个v100)和评估。
  • 案例研究3(变异效应预测)大约需要1天的时间。

手稿中的案例研究侧重于为分类任务开发深度学习模型。Selene支持基于序列的回归模型的培训和评估,我们提供了mple/regression_mpra_example.ipynb" rel="nofollow">教程来演示这一点

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java使用jstl比较jsp中的日期对象   java JSF convertDateTime渲染前一天   java当重定向回另一个servlet时,如何显示错误消息?   当ulimit已更改为unlimit时,java无法增加Wildfly的“最大打开文件数”   Java和SWT:线程和侦听器   Java文件API跨网络复制文件   java如何使用闹钟。安卓系统中的动作\解除\警报   java无法将BLOB保存到数据库(ORA01460:未实现或不需要有意义的转换)   这个for循环的java复杂性   多行上的java正则表达式   spring mvc Java多URL模式,无扩展   java 安卓 json向文本添加超链接   Java泛型和转换   JavaSpringFramework。数据存储库。反应性。反应性积存。save()在从CompletableFuture调用时不持久化数据。运行异步   java ValidationException:调用TraversableResolver。isReachable()引发了异常   java将位图设置为具有特定高度的ImageView   Java:限制字符串中的字符   如何在java中将字节[]类型转换为证书类型?   javascript使用基于java的逻辑编写TinyMCE自定义插件