本文档描述了生产这三种产品的步骤Fast5Summary
存储在这个包中的对象。这些数据最初由阿什顿发布等(Ashton et al. 2015),可在此浏览:http://www.nature.com/nbt/journal/v33/n3/full/nbt.3103.html
首先,我们浏览到要在其中工作的文件夹。本文档其余部分给出的所有路径都相对于此位置。如果您试图重新创建这些步骤,显然应该将其设置为计算机上的某个位置。原始FAST5数据占用大约50GB的磁盘空间。
setwd(' /媒体/存储/工作/奴才”)
数据可从ENA获得。FAST5文件集可以作为tar存档,我们在这里下载:
download.file(url='ftp://ftp.sra.ebi.ac.uk/vol1/ERA375/ERA375987/oxfordnanopore_native/H566_30_min_inc.tar.gz', destfile =' typhi.rep1.tar.gz') download.file(url='ftp://ftp.sra.ebi.ac.uk/vol1/ERA375/ERA375685/oxfordnanopore_native/H566_ON_inc.tar.gz', destfile =' typhi.rep2.tar.gz') download.file(url='ftp://ftp.sra.ebi.ac.uk/vol1/ERA376/ERA376255/oxfordnanopore_native/raw_2_rabsch_R7.tar.gz', destfile =' typhi.rep3.tar.gz')
这三个tar文件都有不同的内部结构,但在大多数情况下可以类似地处理。在这种情况下,文件为每个通道分割到单独的目录中。除了FAST5文件外,它们还包含每次读取的日志文件,其中包含压缩期间创建的和隐藏文件。由于此日志信息已经存储在FAST5文件中,并且我们对隐藏的文件不感兴趣,因此我们选择只提取扩展名为'的文件。.fast5不以句号开头的。我们使用论证Tar = 'internal'
因为外部tar应用程序似乎不能处理给定的文件列表来提取这个长度。
文件。1<- untar('typhi.rep1.tar.gz', list = TRUE) extract.1 <- grep(pattern = "/FMH.*\\.fast5", files.1) untar('typhi.rep1.tar.gz', files = files.1[extract.1], tar='internal', exdir = 'typhi.rep1')
第二个复制包含存档顶层的所有FAST5文件,但可以按照与以前相同的方式处理。
文件。2<- untar('typhi.rep2.tar.gz', list = TRUE) extract.2 <- grep(pattern = "/FMH.*\\.fast5", files.2) untar('typhi.rep2.tar.gz', files = files.2[extract.2], tar='internal', exdir = 'typhi.rep2')
第三个复制实际上包含三份数据。在存档中,FAST5文件分别出现在每个通道的单独文件夹中(data_by_channel),并放在一个大文件夹内(下载).还有一个单独的7zip压缩版本的下载文件夹。这里我们只提取分割成单独通道的文件。
untar('typhi.rep3.tar.gz', files = 'raw_2_rabsch_R7/data_by_channel/', exdir = 'typhi.rep3')
在提取文件之后,我们创建三个向量,其中包含每个复制提取的FAST5文件的路径。
Fast5.1 <- list。Files (path = "typhi. "Rep1”,pattern =“*.”fast5$", full.names = TRUE, recursive = TRUE) fast5.2 <- list。Files (path = "typhi. "Rep2”,pattern =“*.”fast5$", full.names = TRUE, recursive = TRUE) fast5.3 <- list。Files (path = "typhi. "Rep3 ", pattern = "*。fast5$", full.names = TRUE,递归= TRUE)
我们可以加载电离
使用函数打包并读取数据readFast5Summary ()
.
图书馆(电离)s.typhi。rep1 <- readFast5Summary(files = fast5.1) .typhi. rep1 <- readFast5Summary(files = fast5.1)。rep2 <- readFast5Summary(files = fast5.2) .typhi. rep2 <- readFast5Summary(files = fast5.2)。rep3 <- readFast5Summary(files = fast5.3)
现在我们进行一些处理,使这些数据更接近于Metrichor基调用者当前生成的数据。现在将fast5文件分类为PASS或FAIL,传递读取被定义为两个线程都成功读取,并且2D读取的平均基本质量大于9。当生成这个包中使用的数据时,这不是工作流的一部分。但是,在中的几个函数电离
利用此信息,因此我们使用以下函数手动添加它。
addPassFail < -函数(summaryData){# #计算平均基质量分数为2 d读取meanBaseQuality <——alphabetScore(质量(fastq2D (summaryData))) /宽度(fastq2D (summaryData)) # #任何大于9是一个通过,不到是失败passFail < - ifelse (meanBaseQuality > 9日是的= TRUE,没有= FALSE) # #匹配通过/失败状态id passFail < data.table (baseCalled (summaryData) % > %过滤器(full_2D = = TRUE,链= =“模板”)% > %选择(id),pass= passFail) ##为所有fast5文件创建FALSE向量,包括那些没有2D tmp <- rep(FALSE, length(summaryData)) ##使用id字段设置pass为适当的读取tmp[filter(passFail, pass==TRUE)[,id]] <- TRUE ##更新readInfo槽提取列summaryData@readInfo <- mutate(readInfo(summaryData), pass= tmp) return(summaryData)} .typhi。rep1 <- addPassFail(s.t ypi .rep1) s.t ypi .rep1。rep2 <- addPassFail(s.t ypi .rep2) s.t ypi .rep2 . addPassFail(s.t ypi .rep2)。rep3 <- addPassFail(s.typhi.rep3)
最后,我们将三个对象保存到.rda文件。
保存(s.typhi。Rep1, file = "styphi.rep1.rda")Rep2, file = "styphi.rep2.rda")Rep3, file = " styphy . Rep3 .rda")
阿什顿,PM, S Nair, T Dallman, S Rubino, W Rabsch, S Mwaigwisya, J Wain和J O 'Grady。2015.“MinION纳米孔测序确定了细菌抗生素抗性岛的位置和结构。”自然生物技术33(3): 296。