内容

1介绍

这个描述说明了如何阅读和输入您自己的数据SIAMCAT包中。我们将涵盖从磁盘读入文本文件,格式和使用它们来创建一个对象siamcat-class

siamcat-class是包的核心。所有的输入数据和结果都存储在它。下面描述的对象的结构siamcat-class对象部分。

2你的数据加载到R

2.1SIAMCAT输入

一般来说,有三种类型的输入SIAMCAT:

2.1.1特性

应该是一个的特性矩阵,一个data.frame,或者一个otu_table,组织如下:

样本特性(行)x(列)。

Sample_1 Sample_2 Sample_3 Sample_4 Sample_5
Feature_1 0.59 0.71 0.78 0.61 0.66
Feature_2 0.00 0.02 0.00 0.00 0.00
Feature_3 0.02 0.00 0.00 0.00 0.20
Feature_4 0.34 0.00 0.13 0.07 0.00
Feature_5 0.06 0.16 0.00 0.00 0.00

请注意,SIAMCAT应该一起工作相对丰度。其他类型的数据(如计数)也将工作,但并不是所有的功能包将导致有意义的输出。

一个典型的特性文件是附加到SIAMCAT包,包含的数据发布调查微生物在结直肠癌(CRC)患者和控制(这项研究可以在这里找到:西等)。宏基因组数据的处理MOCAT在物种水平(管道,返回分类资料specI):

图书馆(SIAMCAT) fn.in。< -系统。文件(“extdata”、“feat_crc_zeller_msb_mocat_specI。tsv”,包= " SIAMCAT”)

这样的数据加载到的一种方式R可以使用吗read.table

(当心R中的默认值!他们并不总是有用的…)

< - read.table (fn.in壮举。的壮举,sep='\t', header=TRUE, quote='', stringsAsFactors = FALSE, check.names = FALSE) # look at some features feat[110:114, 1:2]
# # # # CCIS27304052ST-3-0 CCIS15794887ST-4-0拟杆菌caccae (h: 1096) 1.557937 e 03 1.761949 e 03 # #拟杆菌eggerthii (h: 1097) 2.734527 e-05 4.146882 e-05 # #拟杆菌stercoris (h: 1098) 1.173786 e 03 2.475838 e 03 # #拟杆菌来说(h: 1099) 4.830533 e-04 4.589747 e-06 # # Methanohalophilus mahii (h: 11) 0.000000 0.000000 e + e + 00 00

2.1.2元数据

应该一个矩阵或元数据data.frame

样品(行)x元数据(列):

年龄 性别 身体质量指数
Sample_1 52 1 20.
Sample_2 37 1 18
Sample_3 66年 2 24
Sample_4 54 2 26
Sample_5 65年 2 30.

rownames元数据应该匹配colnames矩阵的特性。

这样一个文件的一个示例是连着的SIAMCAT包,从相同的研究:

fn.in。元< -系统。文件(“extdata”、“num_metadata_crc_zeller_msb_mocat_specI。tsv”,包= " SIAMCAT”)

也在这里,read.table可用于数据加载到吗R

元< - read.table (fn.in。元,9 = \ t,头= TRUE " = ", stringsAsFactors = FALSE, check.names = FALSE)头(元)
# #年龄性别bmi诊断定位crc_stage fobt # # CCIS27304052ST-3-0 52 1 20 0 NA 0 0 # # CCIS15794887ST-4-0 37 1 18 0 0 0 # # CCIS74726977ST-3-0 66 NA 2 24 1 NA 0 0 # # CCIS16561622ST-4-0 54 2 26 0 0 0 # # CCIS79210440ST-3-0 65 NA 2 30 0 NA 0 1 # # CCIS82507866ST-3-0 57 2 24 0 NA 0 0 # # wif_test # # CCIS27304052ST-3-0 0 0 # # # # CCIS15794887ST-4-0 CCIS74726977ST-3-0 NA 0 # # # # CCIS16561622ST-4-0 CCIS79210440ST-3-0 0 # # CCIS82507866ST-3-0 0

2.1.3标签

最后,标签可以有不同的三种不同口味:

  • 名为向量:一个名为向量包含病例和控制信息。向量的名称应该匹配rownames的元数据colnames数据的特性。标签可以包含信息情况和控制
    • 为整数(如。01),
    • (如为字符。CTR炎症性肠病),或
    • 作为因素。
  • 元数据列:你可以提供的名称列元数据创建的标签。下面是一个例子。

  • 标签文件:SIAMCAT有一个函数read.label从一个标签,这将创建一个标签对象文件。文件应该是有组织的如下:
    • 第一行应该是读:#二进制:1 =(标签为例);1 =(标签控件)
    • 第二行应该包含样本标识符作为制表符分隔的列表(符合功能和元数据)。
    • 第三行然后应该包含实际的类标签(制表符分隔):1对于每个案例和1对于每个控制。

    又一个例子文件附加到包,如果你想看一看。

对于我们的示例数据集,我们可以创建标签列称为对象的元数据诊断:

< -创建标签。标签(meta=meta, label="diagnosis", case = 1, control=0)

当我们后来阴谋的结果,它可能是更好的为不同群体有名字对象(而不是存储在标签10)。我们也可以供应他们create.label功能:

< -创建标签。标签(meta=meta, label="diagnosis", case = 1, control=0, p.lab = 'cancer', n.lab = 'healthy')
# #标签作为例子:# # 1 # #标签作为控制:# # 0
# # +完成create.label.from.metadata在0.001 s
美元的标签信息
癌症# # #健康# 1 1

注意:
如果你没有标签信息数据集,您仍然可以创建一个SIAMCAT从你的单独功能对象。的SIAMCAT没有标签信息将包含一个对象测试标签可用于抵抗的预测。其他功能,例如模型训练,不会工作在这样一个对象。

2.2LEfSe格式文件

LEfSe是一个工具,识别micriobial特性和两元数据之间的关联。LEfSe利用LDA(线性判别分析)。

LEfSe输入文件. tsv文件。前几行包含元数据。第二行包含样品名称和其余的行被特性。第一列包含行名称:

标签 健康的 健康的 健康的 癌症 癌症
年龄 52 37 66年 54 65年
性别 1 1 2 2 2
Sample_info Sample_1 Sample_2 Sample_3 Sample_4 Sample_5
Feature_1 0.59 0.71 0.78 0.61 0.66
Feature_2 0.00 0.02 0.00 0.00 0.00
Feature_3 0.02 0.00 0.00 0.00 0.00
Feature_4 0.34 0.00 0.43 0.00 0.00
Feature_5 0.56 0.56 0.00 0.00 0.00

这样一个文件的一个例子是连着的SIAMCAT包:

fn.in。lefse < -系统。文件(“extdata”、“LEfSe_crc_zeller_msb_mocat_specI。tsv”,包= " SIAMCAT”)

SIAMCAT有一个专门的函数来读取LEfSe格式文件。的read.lefse函数将读取输入文件和提取元数据和特点:

meta.and。的壮举ures <- read.lefse(fn.in.lefse, rows.meta = 1:6, row.samples = 7) meta <- meta.and.features$meta feat <- meta.and.features$feat

我们可以创建一个标签对象从一个列的元对象并创建一个siamcat对象:

< -创建标签。标签(meta=meta, label="label", case = "cancer")
# #标签作为例子:# # # #标签作为控制癌症:# #健康
# # +完成create.label.from.metadata在0.003 s

2.3metagenomeSeq格式文件

metagenomeSeqR包来确定不同的多个样本之间丰富的特性。

有两种方法可以将数据输入metagenomeSeq:

  1. 两个文件,一个用于元数据和一个用于特性——那些可以用于SIAMCAT就像描述的SIAMCAT输入read.table:
fn.in。的壮举<- system.file( "extdata", "CHK_NAME.otus.count.csv", package = "metagenomeSeq" ) feat <- read.table(fn.in.feat, sep='\t', header=TRUE, quote='', row.names = 1, stringsAsFactors = FALSE, check.names = FALSE )
  1. BIOM格式文件,可以使用SIAMCAT中描述的那样以下部分

2.4BIOM格式文件

可以添加到BIOM格式文件SIAMCAT通过phyloseq。第一个文件应该使用进口phyloseq函数import_biom。然后一个phyloseq对象可以作为进口siamcat对象的种下一节。

2.5创建一个siamcat phyloseq对象的对象

siamcat对象扩展phyloseq对象。因此,创建一个siamcat对象从一个phyloseq对象是简单。这可以完成了siamcat构造函数。不过,首先,我们需要创建一个标签对象:

数据(“GlobalPatterns”) # # phyloseq示例数据标签< create.label(元= sample_data (GlobalPatterns),标签=“SampleType”,例= c(“淡水”、“淡水(溪)”“海洋”))
# # # #标签作为例子:淡水,淡水(溪),海洋# #标签作为控制:# #休息
# # +完成create.label.from.metadata在0.003 s
#运行构造函数siamcat < - siamcat (phyloseq = GlobalPatterns标签=标签)
# # + validate.data开始
# # + + +检查标签和重叠特性
26 # # +保持标签样本(s)。
# # + + +检查样品数量每个类
# #数据集有一个有限的训练例子:# #剩下18 # #案例8 # #注意这个小的数据集/倾斜的未必是适合分析管道。
# # + + +检查样本之间的重叠和元数据
# # +完成验证。数据在1.42秒

3创建一个siamcat-class对象

siamcat-class是包的核心。所有的存储在对象:siamcat对象的内部构成

在上图中,矩形槽描述对象和类的对象存储在槽的椭圆。有两个必须的插槽phyloseq(包含元数据sample_data和原来的特性otu_table),标签——用厚的边界。

siamcat对象构造使用siamcat ()函数。有两种方法来初始化:

请注意,您必须提供的壮举phyloseq,你不能提供两种。

为了解释siamcat对象更好我们将展示每个槽填满。

3.1phyloseq,标签和orig_feat插槽

phyloseq和标签槽是必修课。

  • phyloseq槽是一个类的对象phyloseq,这是在帮助文件的描述phyloseq类。可以通过输入访问帮助为R控制台:帮助(“phyloseq-class”)
    • otu_table槽中phyloseq查查帮助(“otu_table-class”)——存储原始特性表。为SIAMCAT,可以访问这个位置orig_feat
  • 标签槽包含一个列表。查查这个列表有一组特定的条目帮助(“label-class”)——这是自动生成的read.labelcreate.label功能。

phyloseq、标签和orig_feat当siamcat首先是用构造函数创建的对象。建设

3.2所有其他的插槽

其他时段的运行SIAMCAT工作流程: