一个快速,用户友好的分析和一些dna序列分类任务的评估管道。
kameris的Python项目详细描述
卡米里斯
一个快速的,用户友好的分析和评估管道,用于一些dna序列分类任务。
安装
安装此软件有三种方法。选择最适合您需要的选项:
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
。
首先,让我们对一些hiv-1序列进行分类。
- 首先下载这个包含hiv-1基因组的zip文件,并将其解压缩到一个文件夹:https://raw.githubusercontent.com/stephensolis/kameris/master/demo/hiv1-genomes.zip。
- 运行
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序列分类模型。
- 创建一个空文件夹并在该文件夹中打开一个终端。
- 运行
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.yml和settings.yml。
可以在hiv1-lanl.yml
中找到训练设置--请尝试更改k
的值或取消对不同分类器类型的注释。
文件存储和日志记录设置可在settings.yml
中找到。
进行更改后,运行kameris run-job hiv1-lanl.yml settings.yml
来训练您的模型。
依赖关系
此项目使用:
- stephensolis/kameris-backend生成k-mer计数向量和距离矩阵
- scikit-learn用于监督分类器
- Wolfram Mathematica和基于stephensolis/modmap-generator的代码生成交互式绘图
- NumPy和SciPy用于多维缩放(mds)
许可证
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.