1简介

用户希望在这里提供有关RNA-Seq项目设计的背景信息。

2示例和环境设置

2.1环境设置和输入数据

systemPipeRdata包是一个生成的辅助包,完全填充systemPipeR在当前工作目录中的工作流环境中使用单个命令。中提供了生成工作流的所有指令systemPipeRdata装饰图案在这里

systemPipeRdata::genWorkenvir(工作流= "rnaseq", mydirname = "rnaseq") setwd("rnaseq")

通常,用户希望在这里记录参考基因组序列的来源和版本以及相应的注释。在提供的示例数据集中,所有数据输入都存储在数据子目录和所有结果将被写入一个单独的结果目录,而systemPipeRNAseq。限制型心肌病工作流程及目标文件应该位于父目录中。

本报告使用的所选数据集SRP010938包含18对端(PE)读集Arabidposis芥(Howard et al. 2013).为了最小化测试期间的处理时间,每个FASTQ文件都被细分为90,000-100,000个随机采样的PE读取,映射到每个染色体的前100,000个核苷酸答:芥基因组。相应的参考基因组序列(FASTA)及其GFF注释文件已被相应截断。这样,整个测试样本数据集的存储空间小于200MB。为考虑灵活性,本测试数据集选择了PE读取集,因为它可以用于测试需要SE(单端)读取或PE读取的两种分析例程。

要处理实际数据,用户希望以类似的方式组织自己的数据,并将所有测试数据替换为自己的数据。要在新数据上重新运行已建立的工作流,请使用初始目标文件以及相应的FASTQ文件通常是用户需要提供的唯一输入。

欲了解更多细节,请参阅文档在这里.更多有关目标文件从systemPipeR可以找到在这里

2.1.1实验定义由目标文件

目标文件定义了所有FASTQ文件和分析工作流的样本比较。

Targetspath <- system。文件("extdata", "targetsPE.txt", package = "systemPipeR") targets <- read.delim(targetspath, comment.char = "#") targets[1:4, -c(5, 6)]
## FileName1 FileName2 ## 1. /data/SRR446027_1.fastq.gz ./data/SRR446028_1.fastq.gz ## 3 ./data/SRR446029_1.fastq.gz ./data/SRR446029_2.fastq.gz ## 4 ./data/SRR446029_1.fastq.gz ./data/SRR446029_2.fastq.gz ## SampleName Factor日期## 1 M1A M1 2012年3月23日## 2 M1B M1 2012年3月23日## 3 A1A A1 2012年3月23日## 4 A1B A1 2012年3月23日

要使用自定义数据,用户需要生成一个目标包含它们自己的FASTQ文件路径的文件。

3.工作流环境

systemPipeR工作流可以通过一个命令从头到尾设计和构建,从R Markdown文件导入,或者从R控制台以交互模式逐步导入。

本教程将演示如何以交互模式构建工作流,并附加每个步骤。工作流是通过连接每个步骤来构建的appendStep方法。每一个SYSargsListinstance包含使用特定命令行或R软件处理一组输入文件的指令,以及由特定命令行软件/步骤生成的相应输出文件的路径。

在内部创建工作流systemPipeR,我们可以先定义一个空容器并检查目录结构:

library(systemPipeR) sal <- SPRproject() sal

3.1所需的包和资源

systemPipeR需要加载包(H Backman and Girke 2016)

appendStep(sal) <- LineWise(code = {library(systemPipeR)}, step_name = "load_SPR")

3.2读预处理

3.2.1之上预处理与preprocessReads函数

这个函数preprocessReads允许应用预定义的或自定义的读预处理函数到文件中引用的所有FASTQ文件SYSargsList容器,例如质量过滤或适配器修整例程。在内部,preprocessReads使用FastqStreamer函数从ShortRead包以一种内存效率高的方式通过大型FASTQ文件。属性执行适配器调整trimLRPatterns函数从Biostrings包中。

在这里,我们将此步骤附加到SYSargsList之前创建的对象。对象上定义了所有参数preprocessReads / preprocessReads-pe.yml文件。

appendStep(sal) <- SYSargsList(step_name = "预处理",targets = "targetsPE.txt", dir = TRUE, wf_file = "preprocessReads/preprocessReads-pe. txt"), input_file = "preprocessReads/preprocessReads-pe. cwl"。Yml”,dir_path =系统。文件("extdata/cwl", package = "systemPipeR"), inputvars = c(FileName1 = "_FASTQ_PATH1_", FileName2 = "_FASTQ_PATH2_", SampleName = "_SampleName_"), dependency = c("load_SPR"))

预处理步骤完成后,将输出文件文件可以用来生成新的目标文件,其中包含裁剪后的FASTQ文件的路径。新的目标信息可以用于下一个工作流步骤实例,如。用裁剪好的FASTQ文件运行NGS对齐。的appendStep函数自动处理步骤之间的连接。详情请查看下一步。

下面的示例展示如何设计自定义读取“preprocessReads”方法提供的实用程序ShortRead包,然后在批处理模式下使用“preprocessReads”函数。在这里,可以替换上使用的函数预处理步骤和修改萨尔对象。因为它是一个自定义函数,所以必须将该部分保存在R对象中,并且在内部保存preprocessReads.doc.R正在加载自定义函数。如果R对象以不同的名称保存(这里“参数/ customFCT。RData”),请将有关资料替换至preprocessReads.doc.R

请注意,此步骤没有添加到工作流中,这里只是为了演示。

首先,我们在工作流中定义了自定义函数:

appendStep(sal) <- LineWise(code = {filterFct <- function(fq, cutoff = 20, Nexceptions = 0) {qcount <- rowsum (as(quality(fq), "matrix") <= cutoff, na。fq[qcount <= Nexceptions]} save(list = ls(), file = "param/ customcft . rdata ")}, step_name = "custom_preprocessing_function", dependency = "预处理")

之后,我们可以编辑输入参数:

yamlinput(sal, "预处理")$Fct yamlinput(sal, "预处理","Fct") <- "'filterFct(fq, cutoff=20, Nexceptions=0)'" yamlinput(sal, "预处理")$Fct ##检查新函数cmdlist(sal, "预处理",targets = 1) ##检查命令行是否更新成功

3.2.2阅读修剪与Trimmomatic

Trimmomatic软件(Bolger, Lohse, and Usadel 2014)对Illumina成对端和单端数据执行各种有用的修整任务。下面是一个如何使用参数模板文件来修剪FASTQ文件的示例。

该步骤是可选的。

appendStep(sal) <- SYSargsList(step_name = "trim ", targets = "targetsPE.txt", wf_file = "trimmomatic/trimmomatic-pe. txt")Cwl ", input_file = "trimmomatic/trimmomatic-pe。Yml”,dir_path =系统。文件("extdata/cwl", package = "systemPipeR"), inputvars = c(FileName1 = "_FASTQ_PATH1_", FileName2 = "_FASTQ_PATH2_", SampleName = "_SampleName_"), dependency = "load_SPR", run_step = "optional")

3.2.3FASTQ质量报告

以下seeFastq而且seeFastqPlot函数为一组FASTQ文件生成并绘制一系列有用的质量统计数据,包括每个周期质量箱形图、基本比例、基本水平质量趋势、相对k-mer多样性、长度和读取的出现分布、超过质量截断点的读取数和平均质量分布。结果被写入一个名为fastqReport.png

appendStep(sal) <- LineWise(code = {fastq <- getColumn(sal, step = "预处理","targetsWF", column = 1) fqlist <- seeFastq(fastq = fastq, batchsize = 10000, klength = 8) png("./results/fastqReport.png", height = 162, width = 288 * length(fqlist)) seeFastqPlot(fqlist) dev.off()}, step_name = "fastq_report", dependency = "预处理")

图1:18个样品的FASTQ质量报告


3.3比对

3.3.1读取映射HISAT2

下面的步骤将演示如何使用短读取对齐器Hisat2(Kim, Langmead, and Salzberg 2015).首先,Hisat2需要创建索引。

appendStep(sal) <- SYSargsList(step_name = "hisat2_index", dir = FALSE, targets = NULL, wf_file = "hisat2/hisat2-index. index. "Cwl ", input_file = "hisat2/hisat2-index. index. "yml", dir_path = "param/cwl", dependency = "load_SPR")

3.3.2HISAT2映射

中定义了对准器的参数设置workflow_hisat2-pe.cwl而且workflow_hisat2-pe.yml文件。下面演示如何构造相应的SYSargsList对象。

appendStep(sal) <- SYSargsList(step_name = "hisat2_mapping", dir = TRUE, targets = "预处理",wf_file = "工作流-hisat2/workflow_hisat2-pe. zip ")Cwl ", input_file = " workflow_hisat2 /workflow_hisat2-pe. Cwl ", input_file = " workflow_hisat2-pe. Cwl "。yml", dir_path = "param/cwl", inputvars = c(preprocessReads_1 = "_FASTQ_PATH1_", preprocessReads_2 = "_FASTQ_PATH2_", SampleName = "_SampleName_"), rm_targets_col = c("FileName1", "FileName2"), dependency = c("预处理","hisat2_index")))

要仔细检查每个示例的命令行,请使用以下命令:

Cmdlist (sal, step = "hisat2_mapping", targets = 1)

3.3.3读取和对齐统计信息

下面概述了每个示例中的读取数以及其中有多少与引用对齐。

appendStep(sal) <- LineWise(code = {fqpaths <- getColumn(sal, step = "预处理","targetsWF", column = "FileName1") bampaths <- getColumn(sal, step = "hisat2_mapping", "outfiles", column = "samtools_sort_bam") read_statsDF <- alignStats(args = bampaths, fqpaths = fqpaths, pairEnd = TRUE) write。table(read_statsDF, "results/alignStats.xls", row.names = FALSE, quote = FALSE, sep = "\t")}, step_name = "align_stats", dependency = "hisat2_mapping")

3.5读量化

方法对与感兴趣的注释范围重叠的读进行计数summarizeOverlaps函数(Lawrence et al. 2013).以非链特异性的方式对外显子基因区域进行读取计数,同时忽略不同基因之间的重叠。随后,表达式计数值被规范化每KP每百万映射读取数(RPKM)。原始读计数表(countDFeByg.xls)和相应的RPKM表(rpkmDFeByg.xls)被写入该项目目录下的单独文件。实现了并行化BiocParallel包,这里使用4个CPU内核。

3.5.1创建基因注释数据库

appendStep(sal) <- LineWise(code = {library(GenomicFeatures) txdb <- suppressWarnings(makeTxDbFromGFF(file = "data/tair10. txt ")gff", format = "gff", dataSource = "TAIR", organism = "拟南芥"))saveDb(txdb, file = "./data/tair10.sqlite")}, step_name = "create_db", dependency = "hisat2_mapping")

3.5.2阅读计数summarizeOverlaps采用多核并行模式

appendStep (sal) < - LineWise(代码={库(GenomicFeatures)库(BiocParallel) txdb < - loadDb(“。/数据/ tair10.sqlite”)outpaths < - getColumn (sal,一步=“hisat2_mapping”、“外部档案”,列=“samtools_sort_bam”)eByg < - exonsBy (txdb, = c(“基因”))bfl < - BamFileList (outpaths yieldSize = 50000,指数=字符())multicoreParam < - multicoreParam(工人= 4)登记注册()(multicoreParam) counteByg < - bplapply (bfl、函数(x) summarizeOverlaps (eByg x =“联盟”模式,忽视。strand = TRUE, inter。feature = FALSE, singleEnd = FALSE, BPPARAM = multicoreream)) countDFeByg <- sapply(seq(along = counteByg), function(x) assays(counteByg[[x]])$counts) rownames(countDFeByg) <- names(rowRanges(counteByg[[1]])) colnames(countDFeByg) <- names(bfl) rpkmDFeByg <- apply(countDFeByg, 2, function(x) returnRPKM(counts = x, ranges = eByg)) write。table(countDFeByg, "results/countDFeByg.xls", col.names = NA, quote = FALSE, sep = "\t") write。table(rpkmDFeByg, "results/rpkmDFeByg.xls", col.names = NA, quote = FALSE, sep = "\t") ##创建一个summarizeexperimental对象colData <- data.frame(row.names = SampleName(sal, "hisat2_mapping"), condition = getColumn(sal, "hisat2_mapping", position = "targetsWF", column = "Factor")) colData$condition <- Factor (colData$condition) countDF_se <- summarizeexperimental:: summarizeexperimental (assays = countDFeByg,##对象SE(sal, "read_counting") <- countDF_se}, step_name = "read_counting", dependency = "create_db")

当提供BamFileList在上面的例子中,summarizeOverlaps默认使用的方法bplapply并使用BiocParallel包中的寄存器接口。如果没有设置工人的数量,MulticoreParam将使用返回的核数并行:detectCores ().如需更多信息,请查看帮助(“summarizeOverlaps”)文档。

注意,对于大多数统计差异表达或丰度分析方法,如刨边机DESeq2时,应使用原始计数值作为输入。RPKM值的使用应限制在某些用户所需的特殊应用中,如。手动比较不同基因或特征之间的表达水平。

3.5.3样本相关分析

以下计算样本的斯皮尔曼相关系数从rlog方法生成的转换表达式值DESeq2包中。转换为距离矩阵后,使用hclust函数和结果被绘制为树状图(也见文件sample_tree.png).

appendStep(sal) <- LineWise(code = {library(DESeq2, quiet = TRUE) library(猿,警告。冲突= FALSE) ##提取摘要实验对象se <- se (sal, "read_counting") dds <- DESeqDataSet(se, design = ~condition) d <- cor(化验(rlog(dds)), method = "spearman") hc <- hclust(dist(1 - d)) png("results/sample_tree.png") plot.phylo(as.phylo(hc), type = "p", edge. png)。Col = "blue", edge。width = 2, show.node.label = TRUE, no。margin = TRUE) dev.off()}, step_name = "sample_tree", dependency = "read_counting")
图2:样本的相关树状图


3.6deg分析

差异表达基因(DEGs)的分析是用全球语言监测机构方法刨边机(罗宾逊,麦卡锡,和史密斯2010).类的标题行中定义了此分析使用的示例比较targets.txt< CMP >

3.6.1运行刨边机

appendStep(sal) <- LineWise(code = {library(edgeR) countDF <- read.delim("results/countDFeByg.xls",行。names = 1, check.names = FALSE) cmp <- readComp(stepsWF(sal)[["hisat2_mapping"]]], format = "matrix", delim = "-") edgeDF <- run_edgeR(countDF = countDF, targets = targetsWF(sal)[["hisat2_mapping"]]], cmp = cmp[[1]], independent = FALSE, mdsplot = "read_counting")}, step_name = " run_edgeR ", dependency = "read_counting")

操作增加基因描述

appendStep(sal) <- LineWise(code = {library("biomaRt") m <- useMart("plants_mart", dataset = "athaliana_eg_gene", host = "https://plants.ensembl.org") desc <- getBM(attributes = c(" taair_locus ", "description"), mart = m) desc <- desc[!duplicate (desc[, 1]),] desc <- as。字符(desc[, 2])名称(desc) <- as。character(desc[, 1]) edgeDF <- data.frame(edgeDF, desc = descv[rownames(edgeDF)], check.names = FALSE) write。table(edgeDF, "./results/edgeRglm_allcomp.xls", quote = FALSE, sep = "\t", col.names = NA)}, step_name = "custom_annot", dependency = "run_edger")

3.6.3DEG结果

对上调和下调基因进行筛选和绘制DEG结果。的定义向上而且下来在相应的帮助文件中给出。要打开它,请键入filterDEGs ?在R控制台。

appendStep(sal) <- LineWise(code = {edgeDF <- read.delim("results/ edgerglm_allcomm .xls", row.names = 1, check.names = FALSE) png("results/DEGcounts.png") DEG_list <- filterDEGs(degDF = edgeDF, filter = c(Fold = 2, FDR = 20)) dev.off() write。table(DEG_list$Summary, "./results/DEGcounts.xls", quote = FALSE, sep = "\t", row.names = FALSE)}, step_name = "filter_degs", dependency = "custom_annot")

3.6.4DEG集的维恩图

重叠函数可以计算大量样本集(多达20个或更多)的维恩相交,并绘制2-5路维恩图。一个有用的特性是可以将多个维恩比较的计数与单个维恩图中相同数量的样本集组合在一起(这里是4个上下DEG集)。

appendStep(sal) <- LineWise(code = {vennsetup <- overLapper(DEG_list$Up[6:9], type = "vennsets") vennsetdown <- overLapper(DEG_list$Down[6:9], type = "vennsets") png("results/ vennPlot .png") vennPlot(list(vennsetup, vennsetdown), mymain = "", mysub = "", colmode = 2, ccol = c("blue", "red")) dev.off()}, step_name = "venn_diagram", dependency = "filter_degs")

3.7GO项富集分析

3.7.1获得基因到go的映射

下面展示如何从。获取基因到go映射biomaRt(在这里答:芥)以及如何组织它们进行下游GO术语富集分析。另外,许多生物的基因到氧化石墨烯的映射可以从Bioconductor公司获得* .db各基因组数据库提供的基因组注释包或GO注释文件。对于每个注释,这个相对缓慢的预处理步骤只需要执行一次。方法加载预处理数据负载函数如下小节所示。

appendStep (sal) < - LineWise(代码={图书馆(biomaRt) # listMarts() #选择biomaRt数据库# listMarts(主机= ' plants.ensembl.org ') m < - useMart(“plants_mart”,主机= " https://plants.ensembl.org ") # listDatasets (m) m < - useMart(数据集“plants_mart”=“athaliana_eg_gene”,主机= " https://plants.ensembl.org ") # listAttributes (m) #选择数据类型你想要#下载去< - getBM(属性= c(“go_id”、“tair_locus”,“namespace_1003”),集市= m)去< - [[3 ] != "", ] (3) <——去。字符(去[3])去(去[3]= =“molecular_function”,3)<——“F”(去[3]= =“biological_process”,3)<——P[[3]去= =“cellular_component”,3]< -“C”(1:4,)如果(! dir.exists(“。/数据/去”))dir.create(“。/数据/去”)。table(go, "data/ go /GOannotationsBiomart_mod.txt", quote = FALSE, row.names = FALSE, col.names = FALSE, sep = "\t") catdb <- makeCATdb(myfile = "data/ go /GOannotationsBiomart_mod.txt", lib = NULL, org = "", colno = c(1,2,3), idconv = NULL) save(catdb, file = "data/ go /catdb. rdata ")}, step_name = "get_go_annot", dependency = "filter_degs")

3.7.2章批量GO项富集分析

将富集分析应用于上述差分表达式分析得到的DEG集。注意,在下面的例子中罗斯福过滤器在这里被设置为一个不合理的高值,仅仅是因为在这个小插图中使用的玩具数据集很小。利用该函数对多个基因集进行批量富集分析。当方法=所有函数中指定的p值截断点将返回所有GO项截止参数。当方法=苗条方法下指定的GO项myslimv论点。所给的例子说明了如何从一个特定的生物体获得一个GO细矢量BioMart

appendStep (sal) < - LineWise(代码={图书馆(biomaRt)负载(“数据/去/ catdb.RData”)DEG_list < - filterDEGs (degDF = edgeDF过滤器= c(折叠= 2,罗斯福= 50),情节= FALSE) up_down < - DEG_list美元UporDown名称(up_down) < -粘贴(名字(up_down),“_up_down”,9 = " ")<——美元DEG_list名称()< -粘贴(名称(最多),“_up”,9 = " ")<——DEG_list美元下跌的名字(下降)< -粘贴(名字(下降),“_down”,9 = " ")DEGlist < - c (up_down,上,下)DEGlist < - DEGlist[酸式焦磷酸钠(DEGlist,length) > 0] BatchResult <- GOCluster_Report(catdb = catdb, setlist = DEGlist, method = "all", id_type = "gene", CLSZ = 2, cutoff = 0.9, gocats = c("MF", "BP", "CC"), recordSpecGO = NULL) m <- useMart("plants_mart", dataset = "athaliana_eg_gene", host = "https://plants.ensembl.org") goslimvec <- as。character(getBM(attributes = c("goslim_goa_accession"), mart = m)[, 1]) BatchResultslim <- GOCluster_Report(catdb = catdb, setlist = DEGlist, method = "slim", id_type = "gene", myslimv = goslimvec, CLSZ = 10, cutoff = 0.01, gocats = c("MF", "BP", "CC"), recordSpecGO = NULL) write。table(BatchResultslim, "results/GOBatchSlim.xls", row.names = FALSE, quote = FALSE, sep = "\t")}, step_name = "go_enrich", dependency = "get_go_annot")

3.7.3Plot batch GO term结果

data.frame生成的GOCluster可以用goBarplot函数。由于样本集的大小可变,在同一条形图中显示来自不同DEG集的结果可能并不总是可取的。绘制单个样本集是通过对输入数据帧进行细分来实现的,如下例的第一行所示。

appendStep(sal) <- LineWise(code = {gos <- BatchResultslim[grep(" 6m - v6_up_down ", BatchResultslim$CLID),] gos <- BatchResultslim png("results/GOslimbarplotMF.png", height = 8, width = 10) goBarplot(gos, gocat = "MF") goBarplot(gos, gocat = "BP") goBarplot(gos, gocat = "CC") dev.off()}, step_name = "go_plot", dependency = "go_enrich")
图5:MF本体的窄条形图


3.8聚类和热图

对象上执行分层聚类rlog由上述差分表达式分析中确定的deg所划分的转换表达式矩阵。它使用基于皮尔逊相关的距离测量和完整的链接来连接集群。

appendStep(sal) <- LineWise(code = {library(pheatmap) geneids <- unique(as.character(unlist(DEG_list[[1]])) y <- assay(rlog(dds))[geneids,] png("results/heatmap1.png") pheatmap(y, scale = "row", clustering_distance_rows = "correlation", clustering_distance_cols = "correlation") dev.off()}, step_name = "heatmap", dependency = "go_enrich")
图6:带有分层聚类树状图的热图


3.9版本信息

appendStep(sal) <- LineWise(code = {sessionInfo()}, step_name = "sessionInfo", dependency = "heatmap")

4运行工作流

4.1在一台机器中交互式作业提交

为了运行工作流,runWF函数将执行工作流容器中存储的所有步骤。执行将在一台机器上进行,而无需提交到计算机集群的队列系统。

sal <- runWF(sal)

4.2集群上的并行化

另外,通过使用集群的多个计算节点并行处理许多文件,可以大大加快计算速度,其中调度/队列系统用于负载平衡。

资源对象下定义的独立并行集群进程的数目Njobs元素。下面的示例将使用每个4个CPU内核并行运行18个进程。如果集群上的可用资源允许同时运行所有18个进程,那么所示的示例提交将总共使用72个CPU内核。

请注意,runWF可以用于大多数排队系统,因为它是基于实用程序batchtools包,它支持使用模板文件(* .tmpl)用于定义不同调度器的运行参数。要运行下面的代码,需要同时拥有conffile(见.batchtools.conf.R样品在这里)和a模板文件(见* .tmpl样品在这里)用于系统上可用的排队。下面的示例使用了该示例conffile而且模板该包提供的Slurm调度器的文件。

可以在生成步骤时添加资源,也可以稍后添加这些资源,如下面的示例所示addresource功能:

资源<- list(conffile=".batchtools.conf. conf. "R”、模板= " batchtools.slurm。tmpl", Njobs=18, walltime=120, ## minutes ntasks=1, ncpus=4, memory=1024, ## Mb partition = "short") sal <- addResources(sal, c("hisat2_mapping"), resources = resources) sal <- runWF(sal)

4.3可视化工作流

systemPipeR方法可以可视化工作流实例plotWF函数。

plotWF(sal, rstudio = TRUE)

4.4检查工作流状态

要查看工作流的摘要,我们可以使用:

萨尔statusWF (sal)

4.5访问日志报表

systemPipeR在一个中心位置编译所有工作流执行日志,使其更容易检查任何标准输出(stdout)或标准错误(stderr)用于工作流或R代码标准输出中使用的任何命令行工具。

sal <- renderLogs(sal)

4.6会话信息

这是用于呈现该报告的会话信息。的HTML报表可以访问工作流运行的会话信息renderLogs

sessionInfo ()
## R版本4.2.1(2022-06-23)##平台:x86_64-pc-linux-gnu(64位)##运行在Ubuntu 20.04.5 LTS ## ##矩阵产品:默认## BLAS: /home/biocbuild/bbs-3.16-bioc/R/lib/libRblas。/home/biocbuild/bbs-3.16-bioc/R/lib/libRlapack。所以## ## locale: ## [1] LC_CTYPE=en_US。UTF-8 LC_NUMERIC= c# # [3] LC_TIME=en_GB LC_COLLATE= c# # [5] LC_MONETARY=en_US。utf - 8 LC_MESSAGES = en_US。UTF-8 ## [7] LC_PAPER=en_US。UTF-8 LC_NAME= c# # [9] LC_ADDRESS=C lc_phone = c# # [11] LC_MEASUREMENT=en_US。UTF-8 LC_IDENTIFICATION=C ## ##附加的基本包:## [1]stats4 stats graphics grDevices utils ##[6]数据集方法基础## ##其他附加包:# # # # [1] systemPipeR_2.4.0 ShortRead_1.56.0 [3] GenomicAlignments_1.34.0 SummarizedExperiment_1.28.0 # # [5] Biobase_2.58.0 MatrixGenerics_1.10.0 # # [7] matrixStats_0.62.0 BiocParallel_1.32.0 # # [9] Rsamtools_2.14.0 Biostrings_2.66.0 # # [11] XVector_0.38.0 GenomicRanges_1.50.0 # # [13] GenomeInfoDb_1.34.0 IRanges_2.32.0 # # [15] S4Vectors_0.36.0 BiocGenerics_0.44.0 # # [17] BiocStyle_2.26.0 # # # #通过加载一个名称空间(而不是附加):## [5] BiocManager_1.30.19 latticeextr_0.6 -30 ## [5] BiocManager_1.30.19 latticeextr_0.6 -30 ## [11] glue_1.6.2 digest_0.6.30 ## [13] rcolorbrewer_1 .3 -3 colorspace_2.0-3 ## [15] htmltools_0.5.3 Matrix_1.5-1 ## [17] pkgconfig_2.0.3 bookdown_0.29 ## [19] zlibbioc_1.44.0 scales_1.2.1 ## [23] generics_0.1.3 ggplot2_3. 1.8 ## [25] cachem_1.0.6 cli_3.4.1 ## [27][37] interp_1.1-3 munsell_0.5.0 ## [39] DelayedArray_0.24.0 compiler_4.2.1 ## [41] jquerylib_0.1.4 rlang_1.0.6 ## [43] grid_4.2.1 RCurl_1.98-1.9 ## [45] htmlwidgets_1.5.4 bitops_1.0-7 ## [47] rmarkdown_0.2 -18 DBI_1.1.3 ## [51] R6_2.5.1 knitr_1.40 ## [53] dplyr_1.0.10 fastmap_1.1.0 ## [55]utf8_1.2.2 stringi_1.7.8 ## [57] parallel_4.2.1 Rcpp_1.0.9 ## [59] vctrs_0.5.0 png_0.1-7 ## [61] tidyselect_1.2.0 xfun_0.34

5资金

本项目由美国国家科学基金会资助abi - 1661152

参考文献

博尔杰,安东尼·M,马克·洛塞,比约恩·乌萨德尔,2014。Trimmomatic:用于Illumina序列数据的灵活修剪器生物信息学30(15): 2114-20。

H·贝克曼,泰勒·W,托马斯·格克,2016。“systemPipeR: NGS工作流和报告生成环境。”BMC生物信息学17(1): 388。https://doi.org/10.1186/s12859-016-1241-0

Howard, Brian E,胡启文,Ahmet Can Babaoglu, Manan Chandra, Monica Borghi,谭小平,何鲁燕等。2013。伪单胞菌感染拟南芥的高通量RNA测序揭示了隐藏的转录组复杂性和新的剪接变体。《公共科学图书馆•综合》8 (10): e74183。https://doi.org/10.1371/journal.pone.0074183

金,大焕,本·朗米德,史蒂文·L·萨尔茨伯格,2015。HISAT:低内存需求的快速拼接对齐器Nat方法。12(4): 357-60。

劳伦斯,迈克尔,沃尔夫冈·胡贝尔,Hervé Pagès,帕特里克·阿博尤恩,马克·卡尔森,罗伯特·绅士,马丁·T·摩根,文森特·J·凯里。2013。计算和注释基因组范围的软件公共科学图书馆第一版。医学杂志。9 (8): e1003118。https://doi.org/10.1371/journal.pcbi.1003118

罗宾逊,M D, D J麦卡锡,G K史密斯。2010。EdgeR:用于数字基因表达数据差异表达分析的生物导体包。生物信息学26(1): 139-40。https://doi.org/10.1093/bioinformatics/btp616