前情提要QIIME 2用户文档. 8数据导入Importing data 原文地址:https://docs./2018.11/tutorials/importing/ 为了使用qiime 2,输入数据必须存储在qiime 2对象(即qza文件)中。这是实现支持分布式和自动来源跟踪以及语义类型验证和数据格式之间的转换所必须(有关qiime 2对象的更多详细信息,请参阅《1简介和安装》中核心概念部分)。本教程演示如何将各种数据格式导入到qiime 2对象中,以便使用qiime 2开展分析。 注:本教程并没有描述qiime 2中当前支持的所有数据格式。这是一项正在进行的工作,描述了一些最常用的可用数据格式。我们还积极支持其他数据格式。如果您需要导入的数据格式不在这里介绍,请发到qiime 2论坛寻求帮助。
导入通常与初始化数据一起进行(例如,从测序仪获取的原始序列),但也可以在分析流程的任何步骤中执行导入。例如,如果合作者向您提供.biom 格式的特征表,您可以将其导入到qiime 2对象中,以执行对特征表进行操作的“下游”统计分析。 可以使用任何qiime 2接口完成导入。本教程将重点介绍使用qiime 2命令行界面(q2cli)使用qiime导入工具方法导入数据。下面的每一节简要描述了一种数据格式,提供了下载示例数据的命令,并演示了如何将数据导入到qiime 2对象中。 启动工作环境并创建工作目录 # 创建qiime2学习目录并进入 mkdir -p qiime2 cd qiime2
# Miniconda安装的请运行如下命令加载工作环境 source activate qiime2-2018.11
# 如果是docker安装的请运行如下命令,默认加载当前目录至/data目录 # docker run --rm -v $(pwd):/data --name=qiime -it qiime2/core:2018.11
# 创建本节学习目录 mkdir qiime2-importing-tutorial cd qiime2-importing-tutorial 导入带质量值的FASTQ测序数据使用qiime 2,可以导入不同类型的fastq数据: EMP标准混样单端数据“EMP protocol” multiplexed single-end fastq 此类数据标准包括两个文件,扩展名均为fastq.gz , 一个是barcode文件, 一个是样品混样测序数据文件。
此部分的数据己经在4人体各部位微生物组分析中下载过,可直接复制,或使用如下命令下载 # 建样品目录 mkdir -p emp-single-end-sequences
# 下载 barcode文件 wget \ -O "emp-single-end-sequences/barcodes.fastq.gz" \ "https://data./2018.11/tutorials/moving-pictures/emp-single-end-sequences/barcodes.fastq.gz"
# 下载序列文件 wget \ -O "emp-single-end-sequences/sequences.fastq.gz" \ "https://data./2018.11/tutorials/moving-pictures/emp-single-end-sequences/sequences.fastq.gz" 导入EMP单端测序文件 qiime tools import \ --type EMPSingleEndSequences \ --input-path emp-single-end-sequences \ --output-path emp-single-end-sequences.qza 输出对象: EMP混样双端数据“EMP protocol” multiplexed paired-end fastq 此类数据标准包括三个文件,扩展名均为fastq.gz , 一个是barcode文件, 两个是样品混样测序文件,分别为正向和反向。
此部分的数据己经在 6沙漠土壤分析Atacama soil中下载过,可直接复制,或使用如下命令下载 # 建样品目录 mkdir -p emp-paired-end-sequences
# 下载序列正向和反向文件 wget \ -O "emp-paired-end-sequences/forward.fastq.gz" \ "https://data./2018.11/tutorials/atacama-soils/1p/forward.fastq.gz" wget \ -O "emp-paired-end-sequences/reverse.fastq.gz" \ "https://data./2018.11/tutorials/atacama-soils/1p/reverse.fastq.gz"
# 下载barcode文件 wget \ -O "emp-paired-end-sequences/barcodes.fastq.gz" \ "https://data./2018.11/tutorials/atacama-soils/1p/barcodes.fastq.gz" 导入QIIME2对象 qiime tools import \ --type EMPPairedEndSequences \ --input-path emp-paired-end-sequences \ --output-path emp-paired-end-sequences.qza 输出对象: Casava1.8单端混样数据Casava 1.8 single-end demultiplexed fastq 格式描述 在Casava 1.8单样本(单端)的格式中,有一fastq.gz 文件的包含每个样品的单端序列。样品文件名包括标识符,看起来像L2S357_15_L001_R1_001.fastq.gz 。文件名中下划线分隔的区域代表的意义如下: 在样品编号; 标签barcode序列或编号; lane编号; 序列方向(如仅有R1是由于单端序列) 子集编号。
下载并解压示例数据 wget \ -O "casava-18-single-end-demultiplexed.zip" \ "https://data./2018.11/tutorials/importing/casava-18-single-end-demultiplexed.zip" unzip -q casava-18-single-end-demultiplexed.zip 导入数据,因为样品名包括在文件名中,可直接导入 qiime tools import \ --type 'SampleData[SequencesWithQuality]' \ --input-path casava-18-single-end-demultiplexed \ --input-format CasavaOneEightSingleLanePerSampleDirFmt \ --output-path demux-single-end.qza 输出对象: Casava 1.8双端拆分后数据Casava 1.8 paired-end demultiplexed fastq 格式同上面单端,只是每个样本有一对文件。R1和R2代表正向和反向测序结果。 下载并解压示例数据 wget \ -O "casava-18-paired-end-demultiplexed.zip" \ "https://data./2018.11/tutorials/importing/casava-18-paired-end-demultiplexed.zip" unzip -q casava-18-paired-end-demultiplexed.zip 导入数据,因为样品名包括在文件名中,可直接导入 qiime tools import \ --type 'SampleData[PairedEndSequencesWithQuality]' \ --input-path casava-18-paired-end-demultiplexed \ --input-format CasavaOneEightSingleLanePerSampleDirFmt \ --output-path demux-paired-end.qza 输出对象: Fastq样品文件清单格式“Fastq manifest” formats 划重点,这应该是普通用户最常用的格式。 如果你不是EMP或CASAVA格式的数据,则需要先创建一个“清单文件”,然后使用导入命令qiime工具导入命令,手动将数据导入到qiime 2。 格式说明 首先,您将创建一个名为“清单文件”的文本文件,它将示例标识符映射到fastq.gz或fastq绝对文件路径,其中包含示例的序列和质量数据(即,这些是fastq文件)。清单文件还指示每个fastq.gz或fastq文件中的读取方向。清单文件通常由您创建,它被设计为一种简单的格式,不会对分解的fastq.gz/fastq文件的命名设置限制,因为这些文件没有广泛使用的命名约定。您可以随意调用清单文件。 清单文件是逗号分隔(即.csv)的文本文件。每行的第一个字段是qiime应该使用的样本名,第二个字段是绝对文件路径,第三个字段是读取方向。以# 开头的行和空行将被忽略。文件中不#以开头且不为空的第一行必须是标题行:sample id,absolute filepath,direction 。除了标题行之外,此文件中的行顺序并不重要。 对于单端读取,每个样本ID必须正好有一行对应正向序列(如果您将这些双端序列单独处理为单端读取,则为反向)。对于成对的测序数据,每个样本ID必须正好有两行,对应于正向和反向序列。每行的方向字段只能包含forward或reverse的文本。 fastq.gz 文件位置的绝对文件路径可以包含环境变量(例如PWD)。下面的示例说明了一个简单的fastq清单文件,用于两个示例的双端数据。
sample-id,absolute-filepath,direction # Lines starting with '#' are ignored and can be used to create # "comments" or even "comment out" entries sample-1,$PWD/some/filepath/sample1_R1.fastq.gz,forward sample-2,$PWD/some/filepath/sample2_R1.fastq.gz,forward sample-1,$PWD/some/filepath/sample1_R2.fastq.gz,reverse sample-2,$PWD/some/filepath/sample2_R2.fastq.gz,reverse 在文件清单中,fastq.gq 文件绝对路径必须准确,下面的示例说明了一个示例的fastq单端数据的清单文件。 sample-id,absolute-filepath,direction sample-1,$PWD/some/filepath/sample1_R1.fastq,forward FastQ数据有四种常用格式变体,导入时必须将其指定为qiime 2的类型,并在以下部分中定义。 SingleEndFastqManifestPhred33 质量值33类型的单端数据 在这个fastq清单格式的变体中,读取方向必须都是正向或反向的。此格式假定用于所有fastq.gz/fastq 文件中位置质量分数的分段偏移量为33(质量值多为大写字母)。 SingleEndFastqManifestPhred64 质量值64类型的单端数据 在这个fastq清单格式的变体中,读取方向必须都是正向或反向的。此格式假定用于所有fastq.gz/fastq 文件中位置质量分数的分段偏移量为64。在导入过程中,qiime 2会将phred 64编码的质量分数转换为phred 33编码的质量分数。这种转换将很慢,但只会发生一次(非主流,很多软件如usearch都不支持,外部可以使用fastp、vsearch等程序转换,QIIME2会自动转换后再进行分析,查看文件质量值多为小写字母的为64类型)。 pairendfastqmanifestphreed33 质量值33类型的双端数据,划重点,此类型最为常用 在这种fastq文件清单格式的变体中,每个样本ID必须有正向和反向读取fastq.gz/fastq 文件。因此,每个样本ID在清单文件中表示两次:一次表示其正向序列,一次表示其反向序列。此格式假定用于所有fastq.gz/fastq 文件中位置质量分数的分段偏移量为33。 pairendfastqmanifestphreed64 质量值64类型的双端数据,划重点,此类型最为常用 在这种fastq文件清单格式的变体中,每个样本ID必须有正向和反向读取fastq.gz/fastq 文件。因此,每个样本ID在清单文件中表示两次:一次表示其正向读取,一次表示其反向读取。此格式假定用于所有fastq.gz/fastq 文件中位置质量分数的分段偏移量为64。在导入过程中,qiime 2会将phred 64编码的质量分数转换为phred 33编码的质量分数。这种转换将很慢,但只会发生一次。 获取示例数据 由于以这四种格式导入数据非常相似,因此我们只提供两种变体的示例:singleEndFastQManifestPhred33 和paireEndFastQManifestPhred64 。 # 下载fastq单双端样本压缩包zip文件,和文件清单文件mainfest wget \ -O "se-33.zip" \ "https://data./2018.11/tutorials/importing/se-33.zip" wget \ -O "se-33-manifest" \ "https://data./2018.11/tutorials/importing/se-33-manifest" wget \ -O "pe-64.zip" \ "https://data./2018.11/tutorials/importing/pe-64.zip" wget \ -O "pe-64-manifest" \ "https://data./2018.11/tutorials/importing/pe-64-manifest" # 解压fastq样品文件 unzip -q se-33.zip unzip -q pe-64.zip 导入质量值不同编码的两类文件Phred33/64 (一般Phred33比较常见,只有非常老的数据才有Phred64格式或测序公司非设置或转换成了这个非主流格式) # 导入Phred33格式单端测序结果 qiime tools import \ --type 'SampleData[SequencesWithQuality]' \ --input-path se-33-manifest \ --output-path single-end-demux.qza \ --input-format SingleEndFastqManifestPhred33 # 导入Phred64格式双端测序结果 qiime tools import \ --type 'SampleData[PairedEndSequencesWithQuality]' \ --input-path pe-64-manifest \ --output-path paired-end-demux.qza \ --input-format PairedEndFastqManifestPhred64 输出对象: fasta格式序列Sequences without quality information (i.e. FASTA) qiime 2目前支持导入qiime 1 seqs.fna 文件格式,该格式由一个fasta文件组成,每条记录只有两行:header 和sequence 。每个序列必须正好一行,不能拆分多行。每条序列的ID必须遵循格式_的要求。是序列所属样本的标识符,是其样本中序列的标识符。 在OTU聚类教程中可以找到导入和去冗余此类数据的示例。 目前不支持其他fasta格式,如具有不同格式序列名的fasta文件或按样本分离的fasta文件(即每个样本一个fasta文件)。 代表性序列Per-feature unaligned sequence data (i.e., representative FASTA sequences) 格式说明 未对齐的序列数据包含未对齐的DNA序列(即不包含-或.)的fasta格式文件)。序列可能包含未知的核苷酸特征,如N,但某些qiime 2功能不支持这类字符。有关fasta格式的更多信息,请参阅scikit bio fasta格式说明。 获取示例数据 wget \ -O "sequences.fna" \ "https://data./2018.11/tutorials/importing/sequences.fna" 导入数据 qiime tools import \ --input-path sequences.fna \ --output-path sequences.qza \ --type 'FeatureData[Sequence]' 输出对象: 对齐的fasta格式文件Per-feature aligned sequence data (i.e., aligned representative FASTA sequences) 格式说明 对齐序列数据是从一个fasta格式的文件中导入的,该文件包含相互对齐的DNA序列。所有对齐序列的长度必须完全相同。序列可能包含未知的核苷酸特征,如N,但某些qiime 2功能不支持这类字符。有关fasta格式的更多信息,请参阅scikit bio fasta 格式说明。 获取示例数据 wget \ -O "aligned-sequences.fna" \ "https://data./2018.11/tutorials/importing/aligned-sequences.fna" 可能有的人不了解对齐的fasta格式,如下:有- 字符,且等长 >New.CleanUp.ReferenceOTU0 K3.H_3016 -CTGGACCGTGTCTCAGTT-CCAGTGTGGCTGATCATCCT---------CTCAGACCAGC TACCGATCGTCGCC-TTGGTGGG-CTCTTA-CCC-C-GCCAACTAGCTAATCGGGCATCG -G-CTCATTC-AATCGCGCAAGGTCCG-----AA----------------G-ATC-CCCT --G----CTTTCAC-----------CCGTA-----------------G------------ ---GT--CGTAT-G--CGG-TA-TTA---------------G--CG--TAA---GTTTCC --CTA---C--GTT--A--TCCCC-C--CAC-GAC-AG--AG-------TA-GA-TT--- --C--CGA-TG-CA-----------------TT--------------------------- ----------------------------------------- >New.CleanUp.ReferenceOTU1 K3.Z_32919 -CTGGACCGTGTCTCAGTT-CCAGTGTGGCCGTTCATCCT---------CTCAGACCGGC TACTGATCGTTGGT-TTGGTGGG-CCGTTA-CCC-C-ACCAACTGCCTAATCAGACGCAA -A-CCCCTCT-TCAGGCGATAGCTTACAGGTAGAGGCTA-------------CCC-TTTC --T----TCCACAGG----T--------CA---TG--CGGCCCG-TGG------------ ---AA--CGTAT-T--CGG-TA-TTA---------------G--CAG-T-C---GTTTCC --GT-CT----GTT--G--T-CCC-CATC---CTG-AA--GG-------CA-GG-TT-G- --T--TTA-CG-TG-----------------TTA-------------------------- ----------------------------------------- 导入数据 qiime tools import \ --input-path aligned-sequences.fna \ --output-path aligned-sequences.qza \ --type 'FeatureData[AlignedSequence]' 输出对象: 导入特征表你可以导入预处理的特征进入QIIME 2分析 BIOM v1.0.0关于BIOM格式说明,详见 《BIOM:生物观测矩阵——微生物组数据通用数据格式》 下载数据并导入为QIIME2的qza格式 wget \ -O "feature-table-v100.biom" \ "https://data./2018.11/tutorials/importing/feature-table-v100.biom" qiime tools import \ --input-path feature-table-v100.biom \ --type 'FeatureTable[Frequency]' \ --input-format BIOMV100Format \ --output-path feature-table-1.qza 输出对象: BIOM v2.1.0wget \ -O "feature-table-v210.biom" \ "https://data./2018.11/tutorials/importing/feature-table-v210.biom" qiime tools import \ --input-path feature-table-v210.biom \ --type 'FeatureTable[Frequency]' \ --input-format BIOMV210Format \ --output-path feature-table-2.qza 输出对象: 系统发育树Phylogenetic trees 通常为newick格式。 wget \ -O "unrooted-tree.tre" \ "https://data./2018.11/tutorials/importing/unrooted-tree.tre" qiime tools import \ --input-path unrooted-tree.tre \ --output-path unrooted-tree.qza \ --type 'Phylogeny[Unrooted]' 输出对象: 其它数据类型Other data types QIIME2支持多达58种数据格式,可用如下命令查看 qiime tools import \ --show-importable-formats 支持的58种格式如下: AlignedDNAFASTAFormat AlignedDNASequencesDirectoryFormat AlphaDiversityDirectoryFormat AlphaDiversityFormat BIOMV100DirFmt BIOMV100Format BIOMV210DirFmt BIOMV210Format BooleanSeriesDirectoryFormat BooleanSeriesFormat CasavaOneEightLanelessPerSampleDirFmt CasavaOneEightSingleLanePerSampleDirFmt DADA2StatsDirFmt DADA2StatsFormat DNAFASTAFormat DNASequencesDirectoryFormat DeblurStatsDirFmt DeblurStatsFmt DistanceMatrixDirectoryFormat EMPPairedEndCasavaDirFmt EMPPairedEndDirFmt EMPSingleEndCasavaDirFmt EMPSingleEndDirFmt FastqGzFormat FirstDifferencesDirectoryFormat FirstDifferencesFormat HeaderlessTSVTaxonomyDirectoryFormat HeaderlessTSVTaxonomyFormat ImportanceDirectoryFormat ImportanceFormat LSMatFormat MultiplexedPairedEndBarcodeInSequenceDirFmt MultiplexedSingleEndBarcodeInSequenceDirFmt NewickDirectoryFormat NewickFormat OrdinationDirectoryFormat OrdinationFormat PairedDNASequencesDirectoryFormat PairedEndFastqManifestPhred33 PairedEndFastqManifestPhred64 PlacementsDirFmt PlacementsFormat PredictionsDirectoryFormat PredictionsFormat QIIME1DemuxDirFmt QIIME1DemuxFormat QualityFilterStatsDirFmt QualityFilterStatsFmt SampleEstimatorDirFmt SingleEndFastqManifestPhred33 SingleEndFastqManifestPhred64 SingleLanePerSamplePairedEndFastqDirFmt SingleLanePerSampleSingleEndFastqDirFmt TSVTaxonomyDirectoryFormat TSVTaxonomyFormat TaxonomicClassiferTemporaryPickleDirFmt UchimeStatsDirFmt UchimeStatsFmt
可导入的文件类型有哪些呢? qiime tools import \ --show-importable-types 也有多达38种: DeblurStats DistanceMatrix EMPPairedEndSequences EMPSingleEndSequences FeatureData[AlignedSequence] FeatureData[Importance] FeatureData[PairedEndSequence] FeatureData[Sequence] FeatureData[Taxonomy] FeatureTable[Balance] FeatureTable[Composition] FeatureTable[Frequency] FeatureTable[PercentileNormalized] FeatureTable[PresenceAbsence] FeatureTable[RelativeFrequency] Hierarchy MultiplexedPairedEndBarcodeInSequence MultiplexedSingleEndBarcodeInSequence PCoAResults Phylogeny[Rooted] Phylogeny[Unrooted] Placements QualityFilterStats RawSequences SampleData[AlphaDiversity] SampleData[BooleanSeries] SampleData[ClassifierPredictions] SampleData[DADA2Stats] SampleData[FirstDifferences] SampleData[JoinedSequencesWithQuality] SampleData[PairedEndSequencesWithQuality] SampleData[RegressorPredictions] SampleData[SequencesWithQuality] SampleData[Sequences] SampleEstimator[Classifier] SampleEstimator[Regressor] TaxonomicClassifier UchimeStats
ReferenceBolyen E, Rideout JR, Dillon MR, Bokulich NA, Abnet C, Al-Ghalith GA, Alexander H, Alm EJ, Arumugam M, Asnicar F, Bai Y, Bisanz JE, Bittinger K, Brejnrod A, Brislawn CJ, Brown CT, Callahan BJ, Caraballo-Rodríguez AM, Chase J, Cope E, Da Silva R, Dorrestein PC, Douglas GM, Durall DM, Duvallet C, Edwardson CF, Ernst M, Estaki M, Fouquier J, Gauglitz JM, Gibson DL, Gonzalez A, Gorlick K, Guo J, Hillmann B, Holmes S, Holste H, Huttenhower C, Huttley G, Janssen S, Jarmusch AK, Jiang L, Kaehler B, Kang KB, Keefe CR, Keim P, Kelley ST, Knights D, Koester I, Kosciolek T, Kreps J, Langille MG, Lee J, Ley R, Liu Y, Loftfield E, Lozupone C, Maher M, Marotz C, Martin BD, McDonald D, McIver LJ, Melnik AV, Metcalf JL, Morgan SC, Morton J, Naimey AT, Navas-Molina JA, Nothias LF, Orchanian SB, Pearson T, Peoples SL, Petras D, Preuss ML, Pruesse E, Rasmussen LB, Rivers A, Robeson, II MS, Rosenthal P, Segata N, Shaffer M, Shiffer A, Sinha R, Song SJ, Spear JR, Swafford AD, Thompson LR, Torres PJ, Trinh P, Tripathi A, Turnbaugh PJ, Ul-Hasan S, van der Hooft JJ, Vargas F, Vázquez-Baeza Y, Vogtmann E, von Hippel M, Walters W, Wan Y, Wang M, Warren J, Weber KC, Williamson CH, Willis AD, Xu ZZ, Zaneveld JR, Zhang Y, Zhu Q, Knight R, Caporaso JG. 2018. QIIME 2: Reproducible, interactive, scalable, and extensible microbiome data science. PeerJ Preprints 6:e27295v2 https:///10.7287/peerj.preprints.27295v2
译者简介刘永鑫,博士。2008年毕业于东北农大微生物学专业。2014年中科院遗传发育所获生物信息学博士学位,2016年博士后出站留所工作,任宏基因组学实验室工程师,目前主要研究方向为宏基因组学、数据分析与可重复计算和植物微生物组、QIIME 2项目参与人。发于论文12篇,SCI收录9篇。2017年7月创办“宏基因组”公众号,目前分享宏基因组、扩增子原创文章400+篇,代表博文有《扩增子图表解读、分析流程和统计绘图三部曲》,关注人数3.2万+,累计阅读500万+。
|