注意:可以找到本教程的最新版本这里还有一个简短的概述幻灯片节目这里。
看这里。
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
环境:
在设计工作流程的中心概念Sytempiper
环境是工作流管理容器的使用sysargs
(见图1)。该S4对象类的实例由Systemargs
功能来自两个简单的表格文件:目标
文件和a参数
文件。后者是缺少命令行软件的工作流程步骤的可选。通常,asysargs
实例存储所有示例级输入以及由命令行或基于R的软件生成的相应输出的路径,生成示例级输出文件,例如读取预处理器(修剪/过滤的FASTQ文件),Aligners(SAM//BAM文件),变体呼叫者(VCF/BCF文件)或峰呼叫者(床/假发文件)。每个样本级别输入/外档操作都使用自己的sysargs
实例。出行的sysargs
通常为下一个定义样本输入sysargs
实例。通过写下writeTargetSout
功能到新的目标
作为下一个输入的文件Systemargs
称呼。通常,用户必须仅提供初始目标
文件。全部下游目标
文件是自动生成的。通过连锁几个sysargs
逐步构建一个复杂的工作流程,涉及许多示例级输入/输出文件操作,并使用任何基于命令行或基于R的软件组合。
跑步的预期方式Sytempiper
工作流程通过*.rnw
或者*.rmd
文件,可以在交互式模式下以行执行的线路执行,也可以使用R的单个命令或使用命令行执行makefile
。这种方式可以通过使用可用于R的高度功能性报告实用程序来以PDF或HTML格式以PDF或HTML格式生成全面且可重复的分析报告。*.rnw
辅助软件包文件SystemPiperData
并在小插图中Systempiper
。这些报告模板的相应PDF在这里可用:Systempipernaseq
,,,,SystemPiperiboseq
,,,,SystemPipeChipSeq
和SystemPipeVarseq
。跟...共事*.rnw
或者*.rmd
有效的文件,基本知识熟食
或者尼特
和乳胶
或者R Markdown V2
是必须的。
如果有本教程的较新版本,请下载Systempiper_intro.rmd
来源并在您的ride(例如Vim-r或rstudio)中打开它。
download.file(“ https://raw.githubusercontent.com/tgirke/systempiperdata/master/master/vignettes/systempiper_intro.rmd”,“ Systempiper_intro.rmd”)
运行的R软件Systempiper
可以从克兰。这Systempiper
可以使用r控制台安装环境生物辉石
安装命令。关联的数据包SystemPiperData
可以以相同的方式安装。后者是用于生成的辅助包装Systempiper
工作流环境带有一个命令,其中包含所有参数文件和快速测试和运行工作流所需的示例数据。
源(“ //www.andersvercelli.com/bioclite.r”)#sources sources bioclite.r安装脚本bioclite(“ systempiper”)#installs installs installs systempiper bioclite(“ systempiperdata”)
Library(“ Systempiper”)#加载软件包库(help =“ Systempiper”)#列表包装信息vignette(“ Systempiper”)#打开Vignette
该概述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读取的两种类型的分析例程。
以下产生一个完全填充的Systempiper
R会话的当前工作目录中的工作流环境(此处适用于RNA-Seq)。此时,该软件包包括用于RNA-seq,chip-seq,var-seq和ribo-seq的工作流模板。将来将提供其他NGS应用程序的模板。
Library(SystemPiperData)GenWorkEnvir(WorkFlow =“ RNASEQ”)setWD(“ rnaseq”)
上一步中加载的样本数据的工作环境包含以下预配置的目录结构。目录名称在灰色的。用户可以根据需要更改此结构,但需要相应地调整其工作流中的代码。
每个工作流模板中包含以下参数文件:
targets.txt
:用户提供的初始;下游目标_*。txt
文件自动生成*.param
:定义输入/输出文件操作的参数,例如trim.param
,,,,bwa.param
,,,,vartools.parm
,…*_run.sh
:可选的bash脚本,例如:gatk_run.sh
.batchjobs
:定义调度程序的类型batchjobs
*.tmpl
:指定系统使用的调度程序的参数,例如扭矩,sge,starcluster,slurm,等。目标
文件这目标
文件定义所有输入文件(例如FASTQ,BAM,BCF)和分析工作流的样本比较。以下显示样品的格式目标
包装中包含的文件。也可以从中查看和下载Systempiper
的GitHub存储库这里。在具有单一类型的输入文件的目标文件中,此处的单端(SE)读取的FASTQ文件,前三列是强制性的,包括其列名,而这是PE读的FastQ文件的四个强制性列。所有后续列都是可选的,并且可以根据需要添加任意数量的其他列。
目标
单端(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文件的路径的文件,然后在下面提供目标索
通往相应的路径目标
文件。
目标
配对端(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
样本比较在标题线的标题线中定义目标
文件以‘#
’。
读取线(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”
参数
文件和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\":\"\"}}"
看Systempiper
小插图这里。
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_collate = 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。