一个快速,用户友好的分析和一些dna序列分类任务的评估管道。

kameris的Python项目详细描述



kameris
卡米里斯

一个快速的,用户友好的分析和评估管道,用于一些dna序列分类任务。

PyPILicense _ TravisAppveyor
CoverallsCodecov _ CodacyCodebeatCodeclimate

安装

安装此软件有三种方法。选择最适合您需要的选项:

1。如果您已经安装了python 2.7或3.4+(推荐):

运行pip install kameris

2。如果您没有安装python或无法安装软件:

Click here并下载与操作系统对应的版本。 如果您使用Linux或MacOS,则可能需要运行chmod +x "path to downloaded program"

3。如果您是一名开发人员或想要构建自己的kameris版本:

克隆此存储库,然后运行make install

引用

如果您在研究中使用此软件,请引用:

一种基于k-mer的开放源码机器学习工具,用于快速准确地对hiv-1基因组进行亚型分析
史蒂芬·索利斯·雷耶斯,马里亚诺·阿维诺,艺术潘,莉拉·卡里
https://www.biorxiv.org/content/early/2018/07/05/362780

快速演示

该软件能够训练序列分类模型并利用它们进行预测。

在遵循这些说明之前,请确保已安装软件。 如果您遵循上面的选项1,并且命令kameris对您不起作用,请尝试使用python -m kameris。 如果您按照上面的选项2下载了可执行文件,请用下载的可执行文件的名称替换下面说明中的kameris

H3>具有现有模型EH3>的分类序列

首先,让我们对一些hiv-1序列进行分类。

  1. 首先下载这个包含hiv-1基因组的zip文件,并将其解压缩到一个文件夹:https://raw.githubusercontent.com/stephensolis/kameris/master/demo/hiv1-genomes.zip
  2. 运行kameris classify hiv1-mlp "path to extracted files"

这将为每个序列输出顶级子类型匹配,并将所有结果写入新文件results.json

hiv1-mlp模型能够给出类概率和预测的排名列表,但有些模型只能报告最匹配的结果。例如,尝试kameris classify hiv1-linearsvm "path to extracted files"

要查看其他可用的模型,请转到https://github.com/stephensolis/kameris-experiments/tree/master/models

培训新车型

现在,让我们训练我们自己的hiv-1序列分类模型。

  1. 创建一个空文件夹并在该文件夹中打开一个终端。
  2. 运行kameris run-job https://raw.githubusercontent.com/stephensolis/kameris/master/demo/hiv1-lanl.yml https://raw.githubusercontent.com/stephensolis/kameris/master/demo/settings.yml

根据计算机的性能和Internet速度,可能需要5-10分钟才能运行。 这将自动下载所需的数据集,并训练一个更简单的hiv1/lanl-whole experiment from kameris-experiments版本。 这正是用于培训上一节中的模型的工作,这些模型与本文中使用的模型相同。

现在,打开output/hiv1-lanl-whole。您将注意到为每个值k创建了文件夹。每个文件夹中都有几个文件:

  • fasta包含从下载的用于模型训练和评估的数据集中提取的fasta文件。
  • metadata.json包含用于确定每个序列的类的fasta文件的元数据。
  • cgrs.mm-repr包含每个序列的特征向量。有关向量计算的更多详细信息,请参见上述文章;对于读写器实现和文件格式的描述,请参见kameris-formats
  • classification-kmers.json包含对数据集使用交叉验证后的计算结果。有关更多技术细节,请参阅上述文章。
  • .mm-model文件包含经过训练的模型,这些模型可以传递给kameris classify,以便对新序列进行分类。注意使用python 2训练的模型不会在python 3下运行,反之亦然。
  • log.txt是一个日志文件,包含作业执行期间打印的所有输出。
  • rerun-experiment.yml是可以传递给kameris run-job以便重新运行jo的文件b并准确获取此目录中的文件。

kameris还包括在易于阅读的表格中总结结果的功能。通过运行kameris summarize output/hiv1-lanl-whole来尝试。

您可以更改用于训练模型的设置:首先下载文件hiv1-lanl.ymlsettings.yml。 可以在hiv1-lanl.yml中找到训练设置--请尝试更改k的值或取消对不同分类器类型的注释。 文件存储和日志记录设置可在settings.yml中找到。 进行更改后,运行kameris run-job hiv1-lanl.yml settings.yml来训练您的模型。

依赖关系

此项目使用:

许可证License

The MIT License (MIT)

Copyright (c) 2017 Stephen

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

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

推荐PyPI第三方库


热门话题
java从提供的列表中获取非重复值   java为什么Thymeleaf从HashMap返回字符串?   java将矩阵推到窗口的中心   java如何包含webapp_配置。txt到播放的dist-zip?   java实现产品密钥   WebSphereJava。lang.UnsupportedClassVersionError:JVMCFRE003错误的主要版本;class=org/slf4j/impl/StaticLoggerBinder,偏移量=6   使用java创建动态树结构   java为什么JVM在一次繁忙的旋转暂停后,会对同一代码块显示更多的延迟?   java无法使用distrolessdebug访问jarfile docker   java JMeter如何将多行响应数据传递给ForEach控制器请求   java空指针异常碎片活动   java改变JFileChooser的外观   性能Java位集:高效地查找所有真实位?   java可扩展的recyclerview实现