从元基因组数据中寻找新的可操作的分类单位(otu)

singlem的Python项目详细描述


–降价目录开始-不要编辑此部分。运行m-x降价目录刷新目录–>; 目录

    < DL>
    [singlem](singlem)
    > UL>
  • [生成otu表](生成otu表)
  • < DL>
    [otu表的进一步处理](otu表的进一步处理)
    > UL>
  • [汇总OTU表](汇总OTU表)
  • [计算样本之间的β多样性](计算样本之间的β多样性)
  • [创建和查询singlem数据库](创建和查询singlem数据库)
  • [评估组装和基因组恢复工作](评估组装和基因组恢复工作)
  • < DL>
    [安装](安装)
    > UL>
  • [通过gnu guix安装](通过gnu guix安装)
  • [通过DockerHub安装](通过DockerHub安装)
  • [通过PYPI安装](通过PYPI安装)
< DL>
[帮助](帮助)
> UL>< DL>
[常见问题](常见问题)
> UL>
  • [你能用单核细胞定位16srrna基因而不是默认的核糖体蛋白吗?](可以-你-靶向-16s-rrna-基因-代替-默认-核糖体-蛋白质-单链)
  • [如何在多个样本上运行singlem?](如何在多个样本上运行singlem)
  • [许可证](许可证)
  • –降价至结束–gt; 素数 欢迎,

    singlem是一个直接从shotgun元基因组数据中发现离散操作分类单元(otu)丰度的工具,而不需要大量依赖参考序列数据库。即使这些物种来自科学界新的谱系,它也能够区分密切相关的物种。

    其中[graftm](https://github.com/geronimp/graftm)可以提供社区的分类概述,例如来自特定分类家族的社区的比例,singlem从原始的、未经修饰的亚基因组中找到基于序列的otu。阅读:

    这使您能够回答以下问题:

    • 我有多少种不同的TM6?
    • 我的样品有什么样的潮1?
    • 样品1中的酸杆菌与样品2中的酸杆菌有非常密切的关系吗?
    • 我有主要社区成员的基因组吗?
    • 远洋细菌与黄细菌的差异有多大?
    • 我的基因组是否在提交给[SRA]的任何样本中被观察到(http://www.ncbi.nlm.nih.gov/sra" rel="nofollow">http://www.ncbi.nlm.nih.gov/sra)?
    • 哪些社区成员更有可能聚集在一起?

    ##生成otu表

    您的社区概况如下: < TT> 单管--序列my_sequences.fastq.gz--otu_tableotu_table.csv--螺纹24 请使用原始的元基因组读取,而不是质量修剪的读取。例如,[trimmomatic](https://doi.org/10.1093/bioinformatics/btu170)读取的质量调整常常使它们太短,无法单独使用。另一方面,适配器修整不太可能有害。

    输出表由列组成: < TT> 基因分类法 4.21.核糖体_蛋白_s19 _rpss my序列tggtcgcgttcgagcgcgcggacttcagcctaccgtcgcgtgcacatc 1 1.64根;d细菌;p蛋白质细菌;c deltaproteobacteria;o脱硫单体 4.21.核糖体_蛋白_s19 _rpss my序列tggtcgcgcgctcacattgcccgagtcgcgcgcgcgcgcgcgcgcgcgcgtcacaac 1 1.64根;d_u细菌;p_u酸杆菌;c_u solibacteres;o_u solibacterales;f_u solibacterace假丝酵母菌 1。标记名 2。样品名称 三。OTU序列 4。从该otu检测到的读取数 5。估计这个otu的基因组覆盖率 6。根据[pplacer](http://matsen.fhcrc.org/pplacer/" rel="nofollow">http://matsen.fhcrc.org/pplacer/)

    对OTU中每个读操作进行"中值"分类

    目前,singlem集中于14个单拷贝标记基因,以提供物种的细粒度分化,这与妨碍16s分析的拷贝数变异问题无关。singlem速度相当快,可扩展性也相当强,不过还有很大的改进空间。平均而言,这14个基因中的每一个都比典型的基于16s扩增子的研究更好地区分密切相关的谱系。

    ##otu表的进一步处理 ###通过稀疏、聚类等方法总结otu表。 使用pipe命令生成otu表后,可以使用summary以各种方式对其进行进一步处理:

    创建社区的[krona](https://sourceforge.net/p/krona/)图。以下命令生成一个krona文件my_krona.html,可以在Web浏览器中查看: < TT> singlem summary--输入otu表otu表.csv--克朗我的克朗.html

    几个otu表可以合并成一个。请注意,如果要将组合输出再次输入到summary(或许多其他命令)中,则无需执行此操作—只需使用指定多个输入表–input-otu-tables。结合: < TT> singlem summary--输入otu表otu表1.csv otu表2.csv--输出otu表组合otu表.csv

    群集序列,将它们折叠成分辨率较低的otu,但对排序错误具有更强的鲁棒性: < TT> singlem summary--输入otu表otu表.csv--集群--集群输出otu表集群.otu表.csv

    获取一组OTU表,以便每个样本包含相同数量的OTU序列: < TT> singlem summarse--输入otu表otu表.csv其它样本.otu表.csv--稀薄输出otu表稀薄输出表.csv--要选择的数字100

    转换为[Biom格式](http://biom format.org)以便与qiime一起使用: < TT> singlem summarise--输入otu表otu表.csv其他样本.otu表.csv--生物模块前缀myprefix 这将为每个标记基因生成一个biom表,例如myprefix.4.12.核糖体蛋白

    ###计算样本之间的β多样性 由于singlem产生的otu独立于分类学,它们可以作为β多样性方法的输入,已知适合于16s扩增子研究的分析,其中有很多。我们建议使用[Express Beta Diversity](https://github.com/dparks1134/expressbetadiversity)(EBD),因为它使用统一接口实现许多不同的度量。例如,要计算bray curtis beta多样性,首先使用singlem summary将otu表转换为unifrac文件格式。请注意,此文件格式不包含任何系统发育信息,即使该格式被称为"unifrac"。 < TT> singlem summary--输入otu表otu表.csv--按otu的unifrac表otu表.unifrac 上述命令生成14个不同的unifrac格式文件,每个用于singlem的标记基因一个。在这一点上,您需要选择一个表来继续。希望这个选择无关紧要,但使用多个表并确保结果一致可能会有好处。

    要计算不考虑otu序列之间系统发育关系的beta多样性,请使用ebd脚本converttoebd.py将unifrac格式转换为ebd格式,并计算多样性度量: < TT> converttoebd.py otu_table.unifrac.4.12.核糖体_蛋白_l11_rplk.unifrac otu_table.ebd expressbetadiversity-sotu-table.ebd-c布雷柯蒂斯 也可以计算基于系统发生树的β多样性计算方法,但必须使用pipe来使用diamond_example分类分配方法生成新的otu表,以便将每个otu分配给树中的单个叶: < TT> 单根管道--序列my_sequences.fastq.gz--otu_tableotu_table.diamond_example.csv--线程24--赋值方法diamond_example 然后,使用–unifrac_by_taxonomy标记创建按分类标识符索引的unifrac格式文件: < TT> singlem summary--otu庠tablesotu庠table.diamond庠example.csv--unifrac庠by庠taxonomyotu庠table.diamond庠example.csv converttoebd.py otu_table.diamond_example.unifrac otu_table.diamond_example.ebd 然后,使用-t标志运行expressbetadiversity。 < TT> expressbetadiversity-sotu_table.diamond_example.ebd-cbray curtis-t<;单件套餐中的树路径>; 其中,<;path_to_tree_in_singlem_package>;是singlem package中用于查找otu序列的newick格式文件。可以使用singlem get_tree找到此路径

    ###创建和查询singlem数据库 在某些情况下,在otu表中搜索序列是很有用的。例如,您可能会问"样品B、C或D中的OTU是最丰富的还是类似的?"要回答这个问题,请从示例B、C和D的OTU表中创建一个单例数据库: < TT> singlem makedb--otu庠表sample庠b.csv sample庠c.csv sample庠d.csv--db庠路径sample庠bcd.sdb .sdb是singlem数据库的传统文件扩展名。然后查询这个数据库 < TT> 单一查询

    ###评估组装和基因组恢复工作 singlem可用于确定在程序集中表示或表示社区的数量 通过一组基因组。

    评估是通过比较 从原始的元基因组中发现的组装/基因组。相似的度量 可以通过映射到程序集或 基因组,但这里的方法更灵活,有几个优点:

    1. 我们可以确定缺少哪些特定血统
    2. 我们可以不完全匹配otu序列,因此我们可以声明是否已恢复属级代表基因组
    3. 由于该指标只评估单拷贝标记基因,因此评估是基于每个细胞,而不是每次读取
    4. 一定要小心,但我们可以防止真核生物的DNA偏离估计值

    为了评估一组序列代表一个亚基因组的能力,首先运行管道。 对基因组和原始数据进行读取,然后使用评估: < TT> 单根管道pan>元基因组.otu_table.csv 单根管道 单重评价表 我们也可以考虑一些序列差异,比如–不完美的,或者 输出那些匹配和不匹配的序列的otu表(请参见 单峰评价。评估程序集类似于评估基因组, 但是当评估垃圾箱时,来自同一基因组的重复标记是 排除为可能的污染。

    评估也可以用评估–绘图可视化表示 < P>![评价图像](https://raw.githubusercontent.com/wwood/singlem/master/approve_plot.png

    每个矩形表示一个单独的otu序列,其大小表示 丰度(otu在元基因组中表示的读取次数)。颜色 表示这些序列的89%的otu聚类(~属级),其中 最常见序列的分类法。在这里我们可以看到 SRR5040536中的大量OTU被组装,但3个丰富的OTU中只有1个被组装 大叶鸡有一个相关的垃圾箱。一般来说,最高的丰度 血统不一定能成功地聚集和分类。标志物 4.20。选择核糖体蛋白作为代表性标记。 因为它有一个代表性的部分otus binned,assembled和 未装配。

    ###安装

    ####通过gnu guix安装 安装singlem的最直接的方法是使用gnu guix包,它是ace guix包集合的一部分。此方法不仅安装所需的python库,还安装所需的编译生物信息学工具。安装guix后,克隆ace集合并安装: < TT> git克隆https://github.com/ecogenomics/ace guixguix_package_path=ace guixguix package--安装 除了安装gnu guix之外,安装不需要超级用户权限。

    ####通过DockerHub安装 从guix包生成的docker映像可以在dockerhub上获得。安装Docker后,运行以下命令,用https://hub.docker.com/r/wwood/singlem/tags" rel="nofollow">https://hub.docker.com/r/wwood/singlem/tags" rel="nofollow">https://hub.docker.com/r/wwood/singlem/tags替换: < TT> docker pullwwood/singlem:[释放标签] 如果要分析的序列数据在当前工作目录中,那么可以像这样使用singlem: < TT> 《Docker Run》是一部《Docker Run》的《Docker Runwwood/singlem:[release-u tag]pip--顺序>我的pwd/my.fastq.gz的《我的最快q.gz》/span>-v/span>是的

    ####通过PYPI安装 要安装所需的python库,请执行以下操作: < TT> pip安装graftm pip安装singlem 您可能需要超级用户权限。

    singlem还具有以下非python依赖项: *[smafa](https://github.com/wwood/smafa) *[vsearch](https://github.com/torognes/vsearch

    [graftm]的一些依赖项(https://github.com/geronimp/graftm" rel="nofollow">https://github.com/geronimp/graftm): *[ORFM](https://github.com/wwood/orfm)>;=0.2.0 *[hmmer](http://hmmer.janelia.org/)>;=31亿 *[fxtract](https://github.com/ctskennerton/fxtract) *[pplacer](http://matsen.fhcrc.org/pplacer/" rel="nofollow">http://matsen.fhcrc.org/pplacer/)>;=1.1.alpha17 *[kronatools](http://sourceforge.net/p/krona/home/krona/)>;=2.4 *[钻石](https://github.com/bbuchfink/diamond" rel="nofollow">https://github.com/bbuchfink/diamond)>;=0.9

    <帮助>帮助 如果您有任何问题或意见,请发送消息到[supportm邮件列表](https://groups.google.com/forum/?utm_medium=电子邮件&;utm_source=页脚!论坛/支持(forum/supportm)或提出[githib问题](https://github.com/wwood/singlem/issues" rel="nofollow">https://github.com/wwood/singlem/issues)。

    α-FAQ ####你能用16srrna基因代替单核细胞的默认核糖体蛋白吗? 对。默认情况下,singlem从核糖体蛋白基因而不是16s构建otu表,因为这通常会由于遗传代码的冗余而提供更多的菌株级分辨率。如果您真的很喜欢使用16s,那么您可以使用带有16s singlem包(spkg)的singlem。在https://github.com/wwood/singlem_extra_packages" rel="nofollow">https://github.com/wwood/singlem_extra_packages有一个辅助包存储库,其中包括一个适合于此目的的16s包。在分类学上,分辨率不会那么高,而且存在拷贝数变异的问题,但是由于各种原因使用16s可能是有用的,例如将其与扩增子研究相关联或使用绿色基因分类学。目前,默认情况下不会安装16S SPKG,您必须使用管道中的–singlem_package s标记指向单独下载的包-请参阅https://github.com/wwood/singlem_extra_packages/blob/master/readme.md" rel="nofollow">https:"//github.com/wwood/singlem_extra_包/blob/master/readme.md

    ####如何在多个样本上运行singlem? 有两种方法。可以直接通过空格分隔将多个输入文件指定给singlem pipe子命令。或者,可以在每个样本和otu表上运行singlem pipe,并使用singlem summarise。结果应该是相同的,尽管存在一些性能权衡。对于大量样本(>;100),最好单独或分组运行每个样本。

    ##许可证 Singlem由[Ben Woodcroft]在[Australian Centre for Ecogenomics(UQ)](http://ecogenomic.org/personnel/dr-ben-woodcroft)(@wwood)撰写(http://ecogenomic.org/)并在[GPL3或更高版本]下获得许可(https://gnu.org/licenses/gpl.html" rel="nofollow">https://gnu.org/licenses/gpl.html)。

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

    推荐PyPI第三方库


    热门话题
    java访问私有字段而不使用getter方法?   使用PowerMockito在JavaEWSAPI中模拟测试拉订阅   启动活动时未保存java首选项并清除变量   java如何在servlet中检索子域?斯普林有帮手吗   java使用Docker从命令行构建Android项目   java Android,ActionBar后退按钮(setDisplayHomeAsUpEnabled(true))重新创建父活动   java在重用FileOutputStream时应该关闭流吗?   java使用RESTAPI将文件上载到s3 bucket   Java SOAP Web服务应用程序中的mysql用户登录方法不工作   java使用多个数字计算百分比并转换为长   java Android SQLiteDatabase查询忽略空格   java如何在Javafx中比较两个字段文本   java错误:未设置java_HOME,在Eclipse安装后找不到   java在安卓中保存对象   java如何使用jaxws从返回List<Object>的服务中检索值   java Google OAuth2 JWT令牌验证异常   SpringMVC中的JavaUTF8编码问题,当从JSP表单发送POST请求中的越南语信件时   java从webview重定向到安卓应用程序   JUnit 5中多个扩展的java顺序