这个描述说明了如何阅读和输入您自己的数据SIAMCAT
包中。我们将涵盖从磁盘读入文本文件,格式和使用它们来创建一个对象siamcat-class
。
的siamcat-class
是包的核心。所有的输入数据和结果都存储在它。下面描述的对象的结构siamcat-class对象部分。
一般来说,有三种类型的输入SIAMCAT
:
应该是一个的特性矩阵
,一个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
应该一个矩阵或元数据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
最后,标签可以有不同的三种不同口味:
rownames
的元数据colnames
数据的特性。标签可以包含信息情况和控制0
和1
),CTR
和炎症性肠病
),或元数据列:你可以提供的名称列元数据创建的标签。下面是一个例子。
SIAMCAT
有一个函数read.label
从一个标签,这将创建一个标签对象文件。文件应该是有组织的如下:#二进制:1 =(标签为例);1 =(标签控件)
1
对于每个案例和1
对于每个控制。又一个例子文件附加到包,如果你想看一看。
对于我们的示例数据集,我们可以创建标签列称为对象的元数据诊断
:
< -创建标签。标签(meta=meta, label="diagnosis", case = 1, control=0)
当我们后来阴谋的结果,它可能是更好的为不同群体有名字对象(而不是存储在标签1
和0
)。我们也可以供应他们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
没有标签信息将包含一个对象测试
标签可用于抵抗的预测。其他功能,例如模型训练,不会工作在这样一个对象。
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
metagenomeSeqR包来确定不同的多个样本之间丰富的特性。
有两种方法可以将数据输入metagenomeSeq:
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 )
BIOM
格式文件,可以使用SIAMCAT
中描述的那样以下部分可以添加到BIOM格式文件SIAMCAT
通过phyloseq
。第一个文件应该使用进口phyloseq
函数import_biom
。然后一个phyloseq
对象可以作为进口siamcat
对象的种下一节。
的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秒
的siamcat-class
是包的核心。所有的存储在对象:
在上图中,矩形槽描述对象和类的对象存储在槽的椭圆。有两个必须的插槽phyloseq(包含元数据sample_data
和原来的特性otu_table
),标签——用厚的边界。
的siamcat
对象构造使用siamcat ()
函数。有两种方法来初始化:
特性你可以提供一个功能矩阵
,data.frame
,或otu_table
函数(与标签和元数据信息):
siamcat < - siamcat(=专长,标签=标签,元=元)
phyloseq:另一种选择是创建一个siamcat
直接的对象phyloseq
对象:
siamcat < - siamcat (phyloseq = phyloseq标签=标签)
请注意,您必须提供的壮举
或phyloseq
,你不能提供两种。
为了解释siamcat
对象更好我们将展示每个槽填满。
phyloseq和标签槽是必修课。
phyloseq
,这是在帮助文件的描述phyloseq
类。可以通过输入访问帮助为R控制台:帮助(“phyloseq-class”)
。otu_table
槽中phyloseq
查查帮助(“otu_table-class”)
——存储原始特性表。为SIAMCAT
,可以访问这个位置orig_feat
。帮助(“label-class”)
——这是自动生成的read.label
或create.label
功能。的phyloseq
、标签和orig_feat当siamcat
首先是用构造函数创建的对象。
其他时段的运行SIAMCAT
工作流程: