内容

注意:可以找到本教程的最新版本这里还有一个简短的概述幻灯片节目这里

1简介幻灯片

这里

2背景

Systempiper提供用于构建和运行自动端到端分析的实用程序,用于广泛的下一代序列(NGS)应用程序,例如RNA-Seq,chip-Seq,var-seq和ribo-seq(Girke 2014)。重要功能包括跨不同NGS应用程序的统一工作流界面,自动报告生成以及对运行R和命令行软件的支持,例如NGS Aligners或Peak/variant Callers,在本地计算机或计算群集上。后者支持交互式工作提交和批处理群集的批次提交。例如,Systempiper可以与大多数命令行对齐器一起使用,例如BWA(Heng Li 2013; H Li and Durbin 2009),,,,tophat2(Kim等人,2013年)Bowtie2(Langmead和Salzberg 2012),以及基于R的NGS对准器rsubread(Liao,Smyth和Shi 2013)GSNAP(GMAPR)(Wu和NACU 2010)。有效处理复杂样品集(例如FASTQ/BAM文件)和实验设计由定义明确的样本注释基础架构促进,该基础架构改善了NGS区域中许多典型分析工作流的可重复性和用户友好性(Lawrence等人,2013年)

动力和优势Sytempiper环境:

  1. 促进复杂NGS工作流的设计,涉及多个R/Bioconductor套件
  2. 不同NGS应用程序的通用工作流界面
  3. 通过生物导用用用剂更容易访问新用户的NGS分析
  4. 简化了从R内部使用命令行软件
  5. 降低了对R和命令行软件使用计算簇的复杂性
  6. 通过在具有Mutiple CPU内核和/或多个计算节点的计算机系统上通过平行化加速工作流程的运行时间
  7. 自动化生成分析报告以提高可重复性

在设计工作流程的中心概念Sytempiper环境是工作流管理容器的使用sysargs(见图1)。该S4对象类的实例由Systemargs功能来自两个简单的表格文件:目标文件和a参数文件。后者是缺少命令行软件的工作流程步骤的可选。通常,asysargs实例存储所有示例级输入以及由命令行或基于R的软件生成的相应输出的路径,生成示例级输出文件,例如读取预处理器(修剪/过滤的FASTQ文件),Aligners(SAM//BAM文件),变体呼叫者(VCF/BCF文件)或峰呼叫者(床/假发文件)。每个样本级别输入/外档操作都使用自己的sysargs实例。出行的sysargs通常为下一个定义样本输入sysargs实例。通过写下writeTargetSout功能到新的目标作为下一个输入的文件Systemargs称呼。通常,用户必须仅提供初始目标文件。全部下游目标文件是自动生成的。通过连锁几个sysargs逐步构建一个复杂的工作流程,涉及许多示例级输入/输出文件操作,并使用任何基于命令行或基于R的软件组合。

图1:工作流设计结构Systempiper


跑步的预期方式Sytempiper工作流程通过*.rnw或者*.rmd文件,可以在交互式模式下以行执行的线路执行,也可以使用R的单个命令或使用命令行执行makefile。这种方式可以通过使用可用于R的高度功能性报告实用程序来以PDF或HTML格式以PDF或HTML格式生成全面且可重复的分析报告。*.rnw辅助软件包文件SystemPiperData并在小插图中Systempiper。这些报告模板的相应PDF在这里可用:Systempipernaseq,,,,SystemPiperiboseq,,,,SystemPipeChipSeqSystemPipeVarseq。跟...共事*.rnw或者*.rmd有效的文件,基本知识熟食或者尼特乳胶或者R Markdown V2是必须的。

返回目录

3入门

3.1下载本教程的最新版本

如果有本教程的较新版本,请下载Systempiper_intro.rmd来源并在您的ride(例如Vim-r或rstudio)中打开它。

download.file(“ https://raw.githubusercontent.com/tgirke/systempiperdata/master/master/vignettes/systempiper_intro.rmd”,“ Systempiper_intro.rmd”)

3.2安装

运行的R软件Systempiper可以从克兰。这Systempiper可以使用r控制台安装环境生物辉石安装命令。关联的数据包SystemPiperData可以以相同的方式安装。后者是用于生成的辅助包装Systempiper工作流环境带有一个命令,其中包含所有参数文件和快速测试和运行工作流所需的示例数据。

源(“ //www.andersvercelli.com/bioclite.r”)#sources sources bioclite.r安装脚本bioclite(“ systempiper”)#installs installs installs systempiper bioclite(“ systempiperdata”)
返回目录

3.3加载软件包和文档

Library(“ Systempiper”)#加载软件包库(help =“ Systempiper”)#列表包装信息vignette(“ Systempiper”)#打开Vignette
返回目录

3.4加载样本数据和工作流模板

该概述Vignette使用的迷你示例FASTQ文件以及相关的工作流报告Vignettes可以通过SystemPiperData包装如下所示。选定的数据集SRP010938包含18个配对端(PE)读取集拟南芥(Howard等,2013)。为了最大程度地减少测试过程中的处理时间,每个FASTQ文件都被征收到90,000-100,000个随机采样的PE读取,将其映射到每个染色体的前100,000个核苷酸A. Thalina基因组。相应的参考基因组序列(FASTA)及其GFF宣传文件(在同一下载中提供)已相应截断。这样,整个测试样本数据集需要小于200MB的磁盘存储空间。为灵活性选择了此测试数据集的PE读取集,因为它可用于测试需要SE(单端)读取或PE读取的两种类型的分析例程。

以下产生一个完全填充的SystempiperR会话的当前工作目录中的工作流环境(此处适用于RNA-Seq)。此时,该软件包包括用于RNA-seq,chip-seq,var-seq和ribo-seq的工作流模板。将来将提供其他NGS应用程序的模板。

Library(SystemPiperData)GenWorkEnvir(WorkFlow =“ RNASEQ”)setWD(“ rnaseq”)

上一步中加载的样本数据的工作环境包含以下预配置的目录结构。目录名称在灰色的。用户可以根据需要更改此结构,但需要相应地调整其工作流中的代码。

每个工作流模板中包含以下参数文件:

  1. targets.txt:用户提供的初始;下游目标_*。txt文件自动生成
  2. *.param:定义输入/输出文件操作的参数,例如trim.param,,,,bwa.param,,,,vartools.parm,…
  3. *_run.sh:可选的bash脚本,例如gatk_run.sh
  4. 计算集群环境(跳过单机器):
    • .batchjobs:定义调度程序的类型batchjobs
    • *.tmpl:指定系统使用的调度程序的参数,例如扭矩,sge,starcluster,slurm,等。
返回目录

3.5结构目标文件

目标文件定义所有输入文件(例如FASTQ,BAM,BCF)和分析工作流的样本比较。以下显示样品的格式目标包装中包含的文件。也可以从中查看和下载Systempiper的GitHub存储库这里。在具有单一类型的输入文件的目标文件中,此处的单端(SE)读取的FASTQ文件,前三列是强制性的,包括其列名,而这是PE读的FastQ文件的四个强制性列。所有后续列都是可选的,并且可以根据需要添加任意数量的其他列。

3.5.1结构目标单端(SE)样本的文件

Library(Systempiper)targetSpath <-system.file(“ extdata”,“ targets.txt”,package =“ systempiper”)
##文件名Samplename因子Sampleong实验日期## 1 ./data/srr4446027_1.fastq M1A M1 MOCK.1H.A 1 23-MAR-2012 ## 2 ./data/srr4446028_1.-MAR-2012 ## 3 ./data/SRR4446029_1.FASTQ A1A A1A A1 AVR.1H.A 1 23-MAR-2012 ## 4 ./data/srr4446030_1.fastq a1b a1b a1b a1b a1b a1b a1 avr.1## 5 ./data/srr4446031_1.fastq v1a v1 v1 vir.1H.a 1 23-mar-2012 ## 6 ./data/srr4446032_1.fastq v1b v1 v1 v1 vir.1H.b 1 23-mar-2012-2012 ## 7。/data/SRR446033_1.fastq M6A M6 Mock.6h.A 1 23-Mar-2012 ## 8 ./data/SRR446034_1.fastq M6B M6 Mock.6h.B 1 23-Mar-2012 ## 9 ./data/SRR446035_1.fastq A6A A6 AVR.6H.A 1 23-MAR-2012 ## 10 ./data/srr4446036_1.fastq a6b a6b a6b a6b a6 avr.6h.b 1 23-mar-2012 ## 11 ./data/data/srr44444444444444444446037_1.fastq v6a v6 v6Vir.6H.A 1 23-MAR-2012 ## 12 ./data/srr4446038_1.fastq v6b v6b v6 v6 vir.6h.b 1 23-mar-2012 ## 13 ./data/srr44444444446039_1.fastq m12a m12a m12 mock.12H。A 1 23-MAR-2012 ## ## 14 ./data/srr4446040_1.fastq M12B M12 MOCK.12H.B 1 23-MAR-2012 ## 15 ./data/srr4446041_1.1.fastq a12a a12a a12a a12 avr.12h.12 avr.12h.12H.123-23-MAR-2012 ## 16 ./data/SRR4446042_1.fastq a12b a12 avr.12H.b 1 23-Mar-2012 ## 17 ./data/srr4446043_1.fastq v12a v12a v12 vir.12H.a 1 23-mar-2012 ## 2012 ## 18 ./data/data/srr44446044444444444444444444444444444444444_12BV12 Vir.12H.B 1 23-Mar-2012

要使用自定义数据,用户需要生成一个目标包含其自己fastq文件的路径的文件,然后在下面提供目标索通往相应的路径目标文件。

返回目录

3.5.2结构目标配对端(PE)样品的申请

targetspath <-system.file(“ extdata”,“ targetspe.txt”,package =“ systempiper”)
## FileName1 FileName2 SampleName Factor SampleLong Experiment ## 1 ./data/SRR446027_1.fastq ./data/SRR446027_2.fastq M1A M1 Mock.1h.A 1 ## 2 ./data/SRR446028_1.fastq ./data/SRR446028_2.fastqM1B M1模拟1H.B 1
返回目录

3.5.3样本比较

样本比较在标题线的标题线中定义目标文件以‘’。

读取线(targetSpath)[1:4]
## [1]“#项目ID:拟南芥 - 假单胞菌替代剪接研究(SRA:SRP010938; PMID:24098335)“ ## [2]”#以下行允许指定对比较分析所需的对比度,作为DEG识别。所有可能的比较都可以用“ CMPSET:ALL”指定。## [3]“# cmpset1:m1-a1,m1-v1,a1-v1,m6-a6,m6-v6,a6-v6,m12-a12,m12-a12,m12-v12,a12-v12,a12-v12[4]“# cmpset2:all”

功能ReadComp导入比较信息并将其存储在列表。或者,ReadComp可以从相应的sysargs对象(请参见下文)。注意,这些标头线是可选的。它们主要用于根据某些生物学期望来控制比较分析,例如基于简单的成对比较鉴定RNA-Seq实验中差异表达的基因。

readComp(file = targetspath,格式=“向量”,delim =“  - ”)
## $ CMPSET1 ## [1]“ M1-A1”“ M1-V1”“ A1-V1”“ M6-A6”“ M6-V6”“ A6-V6”“ A6-V6”“ M12-A12” M12-A12“ M12-V12”A12-V12“ ## ## $ CMPSET2 ## [1]“ M1-A1”“ M1-V1”“ M1-M6”“ M1-A6”“ M1-A6”“ M1-V6”“ M1-V6”“ M1-M12”“ M1-A12”“ M1-A12”“ M1-V12”“ A1-V1” ## [10]“ A1-M6”“ A1-A6”“ A1-V6”“ A1-M12”“ A1-A12” A1-A12“”“ V1-A6”“ V1-V6” ## [19]“ V1-M12”“ V1-A12”“ V1-V12”“ M6-A6”“ M6-V6”“ M6-V6”“ M6-M12”“ M6-M12”“ M6-A12”“ M6-V12”“ A6-V6” ## [28]“ A6-M12”“ A6-A12”“ A6-V12”“ V6-M12”“ V6-A12”“ V6-A12”“ V6-V12”“ V6-V12” M12-A12““ M12-V12”“ A12-V12”
返回目录

3.6结构参数文件和sysargs容器

参数文件定义所选命令行软件的参数。以下显示样品的格式参数该软件包提供的文件。

parampath <-system.file(“ extdata”,“ tophat.param”,package =“ systempiper”)

Systemargs功能导入两个的定义参数文件和目标文件,并将所有相关信息存储在sysargs对象(S4类)。为了在没有命令行软件的情况下运行管道,可以分配无效的Sysma代替参数文件。另外,可以开始Systempiper通过提供目标文件,使用预先生成的BAM文件的工作流文件名列提供了BAM文件的路径。注意,在下面的示例中使用抑制Warnings()仅与构建此小插图有关。在典型的工作流程中,应删除它。

args <-SustressWarnings(SystemArgs(sysma = parampath,mytargets = targetspath)))
##在18个样本上运行“ tophat”的“ sysargs”实例

有几种可用的访问者方法,它们以插槽名称命名sysargs目的。

名称(args)
## [1]“ targetsin”“ targetsout”“ targetSheader”“模块”“软件”“ cores” ## [7]“其他”“参考”“结果”“”“ Infile1”“ Infile2”“ Infile2”“ outfile1” ## [13 [13]“ sysargs”“ cortpaths”

特别感兴趣的是sysargs()方法。它构造了由给定的指定的运行命令衬里软件的系统命令参数文件与输入样本的路径相结合(例如FASTQ文件)由目标文件。下面的示例显示了sysargs()在第一个PE读取样品中运行TopHat2的输出。评估输出sysargs()对于设计和调试可能非常有帮助参数新命令行软件的文件或更改现有的参数设置。

sysargs(args)[1]
## m1a ##“ Tophat -p 4 -g 1- semgent -Length 25 -i 30 -i 3000 -o/tmp/rtmpc4jzlc/rbuild32a024624624dd9/systemporpiperdata/vignetta/vignettes/results/results/srresults/srr4446027_1.1.1.1.1.1.1.fastq.tmj.tmj.tmj.rbuild32a024624dd9/systempiperdata/vignettes/data/tair10.fasta ./data/srr4446027_1.fastq ./data/srr444446027_2.fastq'
模块(args)
## [1]“ Bowtie2/2.2.5”“ Tophat/2.0.14”
内核(args)
## [1] 4
出现(args)[1]
## m1a ##“/tmp/rtmpc4jzlc/rbuild32a024624dd9/systemporpiperdata/vignettes/results/srr4446027_1.fastq.tophq.tophq.tophat/accepted_hits.bam”

内容参数文件也可以作为JSON对象返回,如下所示(需要rjson包裹)。

SystemArgs(sysma = parampath,mytargets = targetspath,type =“ json”)
## [1]“ {\”模块\“:{\” n1 \“:\” \“ \”,\“ V2 \”:\“ bowtie2/2.2.5 \ \”,\ \“ n1 \”:\“ \” \“ \” \“ \” \ \“ \” \“,\” v2 \“:\” tophat/tophat/2.0.14 \“},\” software \“:{\” n1 \ \“:\” \“ \”,\“ v1 \”:\ \“ tophat \”},\“ cores \”:{\“ n1 \”:\“  -  p \”,\“ v1 \”:\“ 4 \”},\ \“其他\”:{\ \“ n1 \”:\“:\”:\“ \” \“ \”,,,,\"v1\":\"-g 1 --segment-length 25 -i 30 -I 3000\"},\"outfile1\":{\"n1\":\"-o\",\"v2\":\"\",\"n3\":\"path\",\"v4\":\"./results/\",\"n5\":\"remove\",\"v1\":\"\",\"n2\":\"append\",\"v3\":\".tophat\",\"n4\":\"outextension\",\"v5\":\".tophat/accepted_hits.bam\"},\"reference\":{\"n1\":\"\",\"v1\":\"./data/tair10.fasta\"},\"infile1\":{\"n1\":\"\",\"v2\":\"\",\"n1\":\"path\",\"v2\":\"\"},\"infile2\":{\"n1\":\"\",\"v2\":\"\",\"n1\":\"path\",\"v2\":\"\"}}"
返回目录

4更多详情

Systempiper小插图这里

5工作流程演示

Ribo-Seq示例这里

返回目录

6版本信息

SessionInfo()
## R版本3.3.0(2016-05-03)##平台:x86_64-pc-linux-gnu(64位)##运行下:ubuntu 14.04.2 lts lts ## ## ## locale:## [1] lc_ctype = en_us.utf-8 lc_numeric = c lc_time = en_us.utf-8 ## [4] lc_collat​​e = c lc_monetary = en_us.utf-8 lc_messages = en_us.us.utf-8 ## [7]-8 LC_NAME=C LC_ADDRESS=C ## [10] LC_TELEPHONE=C LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C ## ## attached base packages: ## [1] parallel stats4 stats graphics grDevices utils datasets methods base #### other attached packages: ## [1] systemPipeR_1.7.2 ShortRead_1.31.0 GenomicAlignments_1.9.3 ## [4] SummarizedExperiment_1.3.5 Biobase_2.33.0 BiocParallel_1.7.4 ## [7] Rsamtools_1.25.0 Biostrings_2.41.4 XVector_0.13.2 ##[10] genomicranges_1.25.4 genomeInfodb_1.9.1 iranges_2.7.6 ## [13] s4Vectors_0.11.11.5 Biocgenerics_0.19.1 biocstyle_2.1.1.1.8 ## ## ## ## ##通过a nankspace(and Not nacted and nacted and nacted and nacted and nacted and nacted and nacted and nacted):# [1]:## [1] rcpp_0.12.5 latt。20-33 go.db_3.3.0 digest_0.6.9 ## [5] plyr_1.8.4 batchjobs_1.6 backports_1.0.0.2 rsqlite_1.0.0 ##[9] evaluate_0.9 ggplot2_2.1.0 zlibbioc_1.19.0 GenomicFeatures_1.25.12 ## [13] annotate_1.51.0 Matrix_1.2-6 checkmate_1.8.0 rmarkdown_0.9.6 ## [17] GOstats_2.39.0 splines_3.3.0 stringr_1.0.0 pheatmap_1.0.8 ## [21] rcurl_1.95-4.8 BiomArt_2.29.2 Munsell_0.4.4.3 sendmailr_1.2-1 ## [25] rtracklayer_1.33.7 base64enc_0.1.1-3 bbmisc_1-3 bbmisc_1.9 bbmisc_1.9.15.0 CODETOOLS_0.2-14 XML_3.98-1.4 ## [33] AnnotationForge_1.15.4 BITOPS_1.0-6 GRID_3.3.0 RBGL_1.49.1 ## [37]-1 ## [41] Magrittr_1.5 Formatr_1.4 Scales_0.4.0 graph_1.51.0 ## [45] Stringi_1.1.1.1 HWRITER_1.3.3 GenEfilter_1.1.55.2 limma_3.29.29.10 ## [49] LatticeExtra_0.6-28 BREW_0.6-28 BREW_1.6-28 BREW_1.6-28 BREW_1.6-28 BREW_1.6-28 BREW_1.6-28 BREW_1.1.6-286 rjson_0.2.15 rcolorbrewer_1.1.1-2 ## [53]工具_3.3.0 category_2.39.0 survival_2.39-4 yaml_2.1.1.13 ## [57] annotationdbi_1.1.35.3
返回目录

参考

吉尔克,托马斯。2014年。“ Systempiper:NGS工作流程和报告生成环境。”UC Riverside。https://github.com/tgirke/systempiper

霍华德,布莱恩·E,齐温·胡,艾哈迈德·坎·巴巴鲁,曼南·钱德拉,莫妮卡·博尔吉,小棕褐色,luyan he等。2013年。“假单胞菌感染的拟南芥的高通量RNA测序揭示了隐藏的转录组复杂性和新颖的剪接变体。”PLOS ONE8(10):E74183。doi:10.1371/journal.pone.0074183

Kim,Daehwan,Geo Pertea,Cole Trapnell,Harold Pimentel,Ryan Kelley和Steven L Salzberg。2013年。“ TopHat2:在存在插入,缺失和基因融合的情况下的转录组准确对齐。”基因组生物。14(4):R36。doi:10.1186/GB-2013-14-4-R36

Langmead,Ben和Steven L Salzberg。2012年。“与Bowtie 2的快速读取对齐。”纳特。方法9(4)。自然出版集团:357–59。doi:10.1038/nmeth.1923

劳伦斯,迈克尔,沃尔夫冈·胡伯,赫尔维·帕格斯,帕特里克·阿博尤恩,马克·卡尔森,罗伯特·绅士,马丁·T·摩根和Vincent J Carey。2013年。“用于计算和注释基因组范围的软件。”PLOS计算。生物。9(8):E1003118。doi:10.1371/journal.pcbi.1003118

Li,H和R Durbin。2009年。“快速准确的简短读取与洞穴 - 轮毂变换。”生物信息学25(14):1754–60。doi:10.1093/bioinformatics/btp324

李,亨。2013年。“对齐序列读取,克隆序列和带有BWA-MEM的组件。”arxiv [q-bio.gn]http://arxiv.org/abs/1303.3997

Liao,Yang,Gordon K Smyth和Wei Shi。2013年。“亚线路对准器:通过种子和投票的快速,准确和可扩展的读映射。”核酸res。41(10):E108。doi:10.1093/nar/gkt214

Wu,T D和S Nacu。2010年。“对复杂变体的快速和耐受耐受性检测和简短读取。”生物信息学26(7):873–81。doi:10.1093/bioinformatics/btq057