蛋白质同源组分配的深度学习工具

deepnog的Python项目详细描述


Linux/MacOS builds on TravisWindows builds on AppVeyorcodecovLanguage grade: PythonDocumentation StatusPyPI versionAnaconda-Server Badge

DeepNOG:蛋白质同源组分配

将蛋白质分配到具有深网络的cpu或gpu上的同源基团(eggnog5)。 DeepNOG比基于对齐的方法快得多, 同时要像HMMER一样准确。在

deepnog命令行工具是用python3.7+编写的。在

安装指南

安装DeepNOG最简单的方法是从PyPI获得:

pip install deepnog

或者,您可以克隆或下载最新版本 从GitHub运行

^{pr2}$

如果您计划将DeepNOG扩展为开发人员,请运行

pip install -e /path/to/DeepNOG

相反。在

deepnog也可以从bioconda安装,如下所示:

conda config --add channels pytorch
conda install pytorch deepnog

使用

DeepNOG可以通过调用上面安装的deepnog来使用 带有蛋白质序列文件(FASTA)的命令。在

示例用法:

  • deepnog infer proteins.faa
    • 预测的蛋白质组蛋白质.faa将写入控制台。 默认情况下,使用eggNOG5细菌水平。在
  • deepnog infer proteins.faa --out prediction.csv
    • 写入预测.csv取而代之的是
  • deepnog infer proteins.faa -db eggNOG5 -t 1236 -V 3 -c 0.99
    • 预测蛋奶5-γ蛋白原细菌群(税1236)
    • 丢弃低于99%置信度的个别预测
    • 显示详细进度报告(-V 3)
  • deepnog train train.fa val.fa train.csv val.csv -a deepnog -e 15 --shuffle -r 123 -db eggNOG5 -t 3 -o /path/to/outdir
    • 为蛋奶酒5的(假设的)3级税率训练一个模型 可重复结果的随机种子。在

OG预测的各个模型不存储在GitHub或PyPI上, 因为它们超过了文件大小限制(最多200米)。 ^{cd1>自动下载并放入模型中 缓存目录(默认值~/deepnog_data/)。您可以更改此目录 通过设置DEEPNOG_DATA环境变量。在

有关帮助和高级选项,请致电deepnog --help, 和deepnog infer --helpdeepnog train --help指定选项 分别用于推理或训练。 另请参见user & developer guide。在

支持的文件格式

首选:法斯塔(生的或生的)

DeepNOG支持以中列出的所有文件格式存储的蛋白质序列 https://biopython.org/wiki/SeqIO但测试了FASTA文件格式 只有。在

当前支持的数据库

  • 蛋奶酒5.0,分类级别1(根级)
  • 蛋奶酒5.0,分类级别2(细菌级别)
  • 蛋奶酒5.0,分类学水平1236(Gammaproteobacteria)
  • (对于其他级别,请在Github上创建一个问题,或者自己训练一个模型——v1.2中的新特性)

当前支持的深层网络体系结构

  • DeepNOG公司
  • DeepFamD(目前无可用)

所需软件包(和最低版本)

  • Pythorch 1.2.0版
  • 数字1.16.4
  • 熊猫0.25.1
  • scikit学习
  • 张力板
  • 生物圈1.74
  • 皮亚姆
  • 全面质量管理4.35.0
  • pytest 5.1.2(仅用于测试)

另请参见requirements/*.txt,以获取特定于平台的建议 (有时,由于平台特定,可能需要特定的版本 deepnog需求中的缺陷)

致谢

本研究得到奥地利科学基金资助:P27703,P31988; 通过英伟达公司的GPU项目。在

引文

一篇研究文章目前正在审查中。在

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

推荐PyPI第三方库


热门话题
Java中的安卓字节[]操作   java如何使用SeleniumWebDriver自动弹出对话框窗口   运行单黄瓜JVM的java。来自Gradle的功能文件   在Java中使用JTA连接到SSH   eclipse为什么在从SVN签出Ant版本1.3时,Ant java项目本身有很多错误?   java如何获取撇号之间的字符串   java锁在单个线程上作为布尔信号量工作吗?   bluej我可以使用什么代码清除屏幕(java)?   java在单击JButton时更改JPanel图标   java将逗号分隔的字符串转换为不带中间容器的列表   java Flink:以集群模式加载资源文件   java删除多对多条目,同时将两个对象都保留在数据库中   将数组值向左移动