ride中如何设置空字符

以下是前面几节的微信推送文章:

注:此实例需要一些基础知识要求完成本系列文章前两篇内容:和。

详者注:什么是元数据是描述数据的数据,样本信息是样本元數据物种注释是特征元数据。

元数据提供了从数据中获得生物学发现的关键在QIIME 2中,样本元数据可以包括更多技术细节例如在多次测序批次中用于每个样本的DNA条形码,或者样本的描述例如每个样本来自人类微生物组对应时间序列研究中的分组、时间点和身体部位。特征元数据通常是特征注释例如分配给序列变量或OTU的物种注释。QIIME 2中的许多插件都使用样本和特征元数据本教程(以及其他QIIME 2教程)中提供叻示例,说明如何在自己的微生物组分析中使用元数据

元数据通常用于特定的微生物组研究而编写,收集样本元数据通常是在开始QIIME 2分析の前要进行的第一步研究人员决定哪些信息是作为元数据收集和跟踪的。QIIME 2不限制期望存在的元数据类型;没有强制执行的“元数据标准”这是你跟踪任何你认为对你的分析很重要的信息的机会,不幸的是QIIME 2不能为你收集这些信息。如果有疑问尽可能多的收集元数据,因为您可能无法追溯收集某些类型的信息

提示:虽然QIIME 2没有对要收集的元数据类型执行标准,但MIMARKS标准 ( )为微生物组研究提供了建议並可能有助于确定研究中要收集的信息。如果计划将数据存储在数据存档(例如ENA或QIITA)中那么确定存档所期望的元数据类型也很重要,因為每个存档可能都有其自己特定的要求数据提交教程,详见:以及 和 。

QIIME 2元数据通常存储在这些文件通常具有.tsv.txt文件扩展名,但QIIME 2使用什么文件扩展名并不重要TSV文件是用于存储表格数据的简单文本文件,其格式受多种软件支持如从电子表格程序和数据库中编辑、导入囷导出。因此使用您选择的软件操作编辑QIIME 2元数据通常很简单。如果有疑问我们建议使用电子表格程序(如Microsoft Excel或Google工作表)编辑和导出元数據文件。

注: 除了TSV文件之外QIIME 2对象(即qza文件)也可以用作元数据。有关详细信息请参阅下面的部分。QIIME 2将来还可能支持其他文件格式

QIIME 1用户: 茬QIIME 1中,TSV元数据文件被称为映射文件(mapping files)在QIIME 2中,我们将这些文件称为元数据文件但它们在概念上是相同的。QIIME 2元数据文件与QIIME 1映射文件向后兼容这意味着您可以在QIIME 2中使用现有的QIIME 1映射文件,而无需对该文件进行修改
以下各节介绍了QIIME 2元数据文件的格式要求,以及如何验证元数据文件由于TSV文件没有通用标准,因此必须遵守如下要求并了解QIIME 2如何解释文件内容,以充分利用元数据!

详者注:国内使用Google不方便一般在Excel表中统计和整理元数据即可。

存储在谷歌工作表中的样品和功能元数据文件可以使用keemi插件进行验证选择加载项>Keemi>验证QIIME 2元数据文件以验证存儲在谷歌工作表中的元数据。

QIIME 2还将在软件使用元数据文件时自动验证该文件但是,建议使用keemi验证元数据因为每次运行keemi时都会显示所有驗证错误和警告信息的报告。在QIIME 2中加载元数据通常一次只会出现一个错误特别是在元数据有很多问题的情况下,这会使识别和解决验证问題变得很麻烦。

注:将来将有一个QIIME元数据验证命令来在QIIME 2中执行keemi类似的验证(例如,如果使用Google工作表对您来说不是一个可选项中国大陆佷多用户使用Google工作表存在一定困难)。

如果元数据中的任何单元格包含前导或尾随空格字符(例如空格、制表符)则加载文件时将忽略這些字符。因此前导和尾随空格字符不重要,因此包含值“gut”和“  gut  ”的单元格是等效的此规则在下面描述的任何其他规则之前应用。

苐一个单元格以井号(#)开头的行被解释为注释并可能出现在文件中的任何位置。注释行被QIIME 2忽略仅供参考。不支持行内注释(类似代码Φ使用的行末注释)

空行(例如空行或仅由空单元格组成的行)可能出现在文件中的任何位置,并被忽略

元数据文件中的第一列是标识苻(ID)列。此列定义与您的研究关联的样本或功能ID不建议在单个元数据文件中混合样本和功能ID;将样本和功能元数据存储在单独的文件Φ。

ID列名(即ID行开头)必须是以下值之一下面列出的值不能用于命名文件中的其他ID或列。

大小写敏感的以下样品列名兼容QIIME 1、Biom格式和QITTA

ID(样品名)命名的规则:

  • ID可以由任何Unicode字符组成,但不能以井号(#)开头因为这些行将被解释为注释并被忽略。有关在研究中选择标识符的建议请参阅下方标识符建议一节。
  • ID不能为空(即它们必须至少包含一个字符)。
  • ID必须唯一(执行精确的字符串匹配以检测重复项)
  • 文件Φ必须至少存在一个ID。
  • ID不能使用上面列出现过的任何保留ID列名称

QIIME 2的目标是在元数据文件的所有单元格中支持任意Unicode字符。但是考虑到任哬人都可以开发QIIME 2插件和接口,我们不能保证任意Unicode字符可以与所有插件和接口一起使用因此,我们可以向用户推荐在标识符中应该安全使鼡的字符并且我们正在为插件和接口开发人员准备资源,以帮助他们的软件尽可能兼容性更好(robust, 稳定)当开发人员资源可用时,我们将在QIIME 2論坛的开发人员讨论栏目中宣布

带有问题字符的样本和功能标识符往往会给我们的用户带来最常碰到的问题。根据我们对QIIME 1、QIIME 2以及其他生粅信息学和命令行工具的经验我们可以为标识符推荐以下属性:

  • 标识符的长度应不超过36个字符;
  • 标识符只能包含ASCII字母数字字符(即[A-Z]、[A-Z]或[0-9]范围内)、句点(.)字符或短划线(-)字符;(尽可能仅使用字母数字组合,且仅以字母开头可兼容更多分析工具)
  • 要记住的一个重要点是,有时示例元数据中的值可以成为标识符例如,分类法注释可以在qiime taxa collapse后成为特征标识符而示例或特征元数据值可以在应用qiime feature-table group后成为标识符。如果您计划在元数据值可以成为标识符的地方应用这些或类似的方法那么如果这些值也符合这些标识符建议,您将不太可能遇到问题
  • 为了帮助用户了解这些建议,Keemi元数据验证器将警告用户不符合上述建议的标识符
  • 原作者开发的一款样本命名软件)软件感兴趣,以帮助創建样本标识符cual-id文件还提供了一些关于如何设计标识符的讨论

一些生物信息学工具对标识符的要求可能比这里概述的建议更严格。例如Illumina示例表标识符不能具有点.字符,而我们在推荐的字符集中包含这些字符尤其是使用USEARCH软件时样本名不能有点,因为点是样本名与序列ID的汾割符同样,phylip要求标识符最多为10个字符而我们建议长度不超过36个字符。如果计划导出数据在对标识符有更严格要求的其他工具在分析,我们建议您在QIIME 2分析中也遵循这些要求以简化后续处理步骤。

注: 这里建议的长度(36个字符或更少)设计为尽可能短同时仍然支持用破折号格式化的UUID版本4。

ID列是元数据文件中的第一列可以选择后面跟随定义与每个样本或功能ID关联元数据的附加列。元数据文件不需要具囿附加的元数据列因此仅包含ID列的文件是有效的QIIME 2元数据文件。

  • 可以由任何Unicode字符组成
  • 不能为空(即列名必须至少包含一个字符)。
  • 必须唯一(执行精确的字符串匹配以检测重复项)
  • 列名不能使用上面列标识符列中描述的任何保留ID列名。
  • 可以由任何Unicode字符组成
  • 空单元格表礻缺失数据。其它值(如NA)不会被解释为缺失数据;只有空单元格才被识别为“缺失missing”请注意,仅由空白字符组成的单元格也被解释为缺失数据因为前导和尾随的空白字符总是被忽略,从而有效地使单元格为空

注意: 空单元格只表示缺失数据,但不表示可能缺失哪种类型的数据您可以使用您选择的其他值来表示不同类型的缺失数据(例如,“不适用not applicable”与“未收集not collected”)这些自定义值不会被解释为QIIME 2中的缺失数据,但在进一步分析之前您仍然可以记录并使用这些“缺失”的元数据值对数据执行筛选(例如,使用QIIME功能表筛选样本可根据自萣义“缺失”值筛选样本)

QIIME 2目前支持分类和数字元数据列。默认情况下QIIME 2将尝试推断每个元数据列的类型:如果该列仅包含数字或缺少嘚数据,则该列将被推断为数字否则,如果列包含任何非数字值则该列将被推断为分类列。分类列和数字列都支持缺失数据(即空单え格)

2支持可选的comment指令,允许用户显式地声明列的类型避免了上面描述的列类型推断。如果有一列看起来是数字的但实际上应被视為分类元数据(例如样品分组列,其中分组类型被标记为1、2、3会被当时数值列)则这一点很有用显式声明列的类型也会使元数据文件哽具描述性因为预期的列类型包含在元数据中,而不是依赖软件来推断类型(这并不总是透明的)

可以使用可选的comment指令在元数据文件Φ声明列类型。comment指令必须出现在表头的正下方该行的第一个单元格必须是#q2:types,以指示该行是注释指令后续单元格可以包含类别值categorical或数字徝numeric(大小写均可)。如果不希望将类型赋给列(在这种情况下将推断该类型)也支持空单元格。因此在不必为元数据中的每一列声明類型的情况下,很容易包含此comment指令

小提示:使用QIIME元数据表查看QIIME 2元数据的列类型。无论您使用的是comment指令、类型推断还是这两种方法的组合这都是有效的。

1的早期版本中元数据列通常被称为元数据类别。既然我们支持元数据列类型化这允许您判断一个列是否包含数字或汾类数据,那么我们最终将使用诸如分类元数据类别或数字元数据类别之类的术语这可能会令人困惑。我们现在避免使用术语category除非它茬分类元数据的上下文中使用。我们已经尽了最大努力更新了我们的软件和文档以使用元数据列(metadata column)的叫法而不是元数据类别(metadata category),但是仍然可能会有以前的研究中使用此类名称

#q2:types comment指令是唯一支持的comment指令;其他指令可能会在将来添加(例如q2:units)。因此不允许以#q2:开头的行,因为我们將保留该命名空间以供将来的注释指令使用

如果要将列解释为数字元数据列(通过列类型推理或使用#q2:types 注释指令指定),则必须按照以下規则格式化列中的数字:

  • 使用十进制数字系统:ASCII字符[0-9].对于可选的小数点,和+和-分别表示正负号
  • 科学记数法可与数字记数法一起使用;支持e和E
  • 总共只支持15位数字(包括小数点前后),以保持在64位浮点规范内总数超过15位的数字不受支持,将导致未定义的行为
  • 不支持非数芓(例如 NaN、nan)或无穷大(例如 Inf、-Infinity)的常用表示对丢失的数据使用空单元格(而不是NaN)。此时在QIIME 2元数据文件中不支持无穷大

注:如果使鼡电子表格程序(如Microsoft Excel、Google Sheets)创建和导出QIIME 2元数据文件,则通常不需要本节中的详细信息如果您手工创建TSV文件(例如在文本编辑器中),或者編写自己的软件来使用或生成QIIME 2元数据文件那么本节中的详细信息可能很重要,请继续阅读!

TSV行话和语法分析器

QIIME 2尝试与从Microsoft Excel导出的TSV文件进行互操作因为这是我们在使用中看到的最常见的TSV“行话”。QIIME 2元数据解析器(即读取器)使用python csv模块excel tab方言来解析TSV元数据文件此方言支持双引號字符(“)包装字段,以允许字段中包含制表符、换行符和回车符要在字段中包含文本双引号字符,双引号字符必须紧跟在另一个双引号字符之前有关Excel选项卡方言的完整文档,请参阅

元数据文件必须编码为UTF-8,这与ASCII编码向后兼容
为了实现互操作性,元数据分析器都支持Unix行尾(\n)、Windows/DOS行尾(\r\n)和“经典Mac OS”行尾(\r在QIIME 2中将元数据文件写入磁盘时,行尾将始终为\r\n(Windows/DOS行尾)

尾随的空单元格和交错数据

元数據分析器忽略出现在由头声明的字段之后的任何尾随的空单元格。这主要是为了与从一些电子表格程序导出的文件进行互操作这些尾随嘚单元格/列可能参差不齐(或整齐);在读取文件时,它们将被忽略

如果一行不包含标题声明的字段,则将填充空单元格以匹配标题长喥(同样这主要是为了与导出的电子表格进行互操作)。

译者注:元数据编写注意事项

为了方便分析对样品的描述必须包括一些基本信息和格式规范,QIIME2中实验设计/元数据mapping file/metadata基本要求如下:

  • 文件必须是制表符分隔的纯文本文件建议使用Excel编辑并复制到纯文本编辑器(如editplus, ultraedit等)中保存为UTF-8编码的txt格式;
  • 注释行以#开头,可以出现在文中任意位置程序会自己忽略;
  • 第一行为表头,与QIIME1相比不再以#开头更合理;
  • 表头每列名稱必须唯一,不能包括标点符号; 建议实验设计只使用字母和数字任何符号在后续分析都可能会有问题
  • 文件至少包括除表头外的一行数据;
  • 第一列为样品名,用于标识每个样品名字必须唯一。

由于这是一个TSV文件它可以在各种应用程序中打开和编辑,包括文本编辑器、Microsoft Excel和Google笁作表(如果您计划使用Keemi验证元数据)

QIIME 2还提供了一个可视化工具,用于查看交互表中的元数据:

此文件网页中支持排序筛选。

根据表tabulated-sample-metadata.qzvΦ的表格有多少样本与subject-1相关?有多少样本与gut肠道部位有关提示:使用搜索框和/或列排序选项来帮助执行此查询。

使用QIIME2对象作为元数据

除了TSV元数据文件之外QIIME 2还支持将某些类型的对象作为元数据。这方面的一个例子是SampleData[AlphaDiversity]类型的对象

要开始将对象理解为元数据,首先下载一個示例对象:

详者注:微生物组分析的Alpha、Beta多样性值在本质上,也是样本的一种属性可加入元数据表中,方便后续分析

# 下载Alpha多样性PD算法的结果
 
要将此对象视为元数据,只需将其传递给希望看到元数据的任何方法或可视化工具(例如
metadata tabulate或emperor plot):
 
 

图中的样本新增了对应pd多样性徝

问题:Faith’s PD的最大值是多少?最小值是多少提示:使用列排序功能。

问题:qzv文件包括结果生成的过程请查看该结果的追溯图,研究分析过程

 
 

由于元数据可以来自许多不同的源,因此在运行命令时QIIME 2支持元数据合并。基于上面的示例只需多次传递--m-input-file就可以将元数据列组匼到指定的文件中
 
合并后生成的元数据将包含所有指定文件中标识符的交集。换句话说合并的元数据将只包含在所有提供的元数据文件中共享的标识符。这是一个使用数据库术语的内部联接

PD向量之后。合并三个对象时会发生什么结果元数据可视化中有多少列?这些列中有多少列表示样本ID这些列中有多少列表示SampleData[AlphaDiversity]度量?如果元数据文件的顺序颠倒了可视化会发生什么?提示仔细查看列顺序。

 
在QIIME 2中接受元数据的任何地方都支持元数据合并例如,根据研究元数据或样本alpha多样性为Emperor plot着色可能很有意思这可以通过提供样本元数据文件和SampleData[AlphaDiversity]對象来实现:
 
 

可以按Alpha多样性进行PCoA的着色了,这样探索更有意思

问题:哪一类取样位置有最高的Faith’s进化多样性值

提示:查看中使用按body site上色,再按Faith's PD连续着色两图并列比较试试;

 
 

 
 

现在已经将序列ID、序列物种注释和置信度合并一起展示了。
 
最后在元数据表生成的可视化中有可鼡的导出选项。使用tabulated-feature-metadata.qzv的结果将数据导出为新的tsv。在TSV查看器或文本编辑器中打开该文件并注意内容与可视化中的交互式元数据表相同。

問题:是否可以将上述步骤中导出的TSV用作元数据能够导出元数据有哪些好处(提示:请参阅上面关于元数据合并的讨论)?关于一些潜茬的缺点(提示:当数据从QIIME 2导出时数据来源会发生什么情况)?

译者注:网页中查看可以导出任意格式的结果、并可追溯实验的分析过程、支持筛选、查找和排序导出后分析过程将不可追溯。

 
 

 
刘永鑫博士。2008年毕业于东北农大微生物学2014年于中科院遗传发育所获生物信息学博士,2016年遗传学博士后出站留所工作任宏基因组学实验室工程师。目前主要研究方向为宏基因组数据分析和植物微生物组QIIME 2项目参與人。目前在Science、Nature Biotechnology、Cell Host & Microbe、Current Opinion in Microbiology 等杂志发表论文20+篇2017年7月创办“宏基因组”公众号,目前分享宏基因组、扩增子原创文章500余篇代表博文有、、等,關注人数8万+累计阅读1200万+。
 
 
 
为鼓励读者交流、快速解决科研困难我们建立了“宏基因组”专业讨论群,目前己有国内外5000+ 一线科研人员加叺参与讨论,获得专业解答欢迎分享此文至朋友圈,并扫码加主编好友带你入群务必备注“姓名-单位-研究方向-职称/年级”。技术问題寻求帮助首先阅读学习解决问题思路,仍末解决群内讨论问题不私聊,帮助同行

学习扩增子、宏基因组科研思路和分析实战,关紸“宏基因组”


点击阅读原文跳转最新文章目录阅读
未更新

注意:请仅仅注意加粗部分的表達式

记录下在设置变量值时使用条件判断的另一种情况:
需要注意如果判断不等于要用!=,因为如果使用<>会报错. @ride4.0.3


· 超过116用户采纳过TA的回答

robotframework中的Collection 库┅般就可以满足对json串的读入并按照dictionary类型的变量来处理 测试库为 Library Collections 相关的关键词可以用 如果有更复杂的需求,自带的关键词不能满足的可鉯写一些简单python脚本来做增强

你对这个回答的评价是?

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

我要回帖

 

随机推荐