# #设置,回声= FALSE --------------------------------------------------- 库(LearnBioconductor) stopifnot (BiocInstaller:: biocVersion() = = 3.1” ") ## ---- 风格,回声= FALSE,结果= ' asis '------------------------------- BiocStyle:减价 () ## ---- 基准 ----------------------------------------------------------- f0 < -函数(n){# #效率低下!在seq_len(n)中,if (i in seq_len(n)) Ans [[i]] <- exp(i) Ans} f2 <- function(n) sapply(n), if (i in seq_len(n)) Ans <- exp(i) Ans}exp) f3 < -函数(n) exp (seq_len (n )) ## ---- parallel-sleep ------------------------------------------------------ 图书馆(BiocParallel)有趣的< -函数(i) {Sys.sleep(1)我}# #系列f0 < -函数(n)拉普兰人(seq_len (n),有趣)# #平行f1 < -函数(n) bplapply (seq_len (n),有趣)# #——count-overlaps-roi,eval = FALSE -------------------------------------- # 库(TxDb.Hsapiens.UCSC.hg19.knownGene) # exByTx < - exonsBy (TxDb.Hsapiens.UCSC.hg19。knownGene, tx) # # map0 < - read.delim(“~ /进口/ / hg19_alias.tab基因组”,标题= FALSE, # stringsAsFactors = FALSE) # < - setNames地图(美元map0 V1, map0 V2美元)# seqlevels (exByTx力= TRUE) < - - - - - - # #地图——count-overlaps eval = FALSE ------------------------------------------ # count1 < -函数(文件名,roi){# # #创建和打开BAM文件# bf < - BamFile(文件名,yieldSize = 1000000) #开放(bf) # # # # # n < - 0 #初始化变量的读取检查#数< -整数(长度(roi)) #运行数读取重叠roi #名称(计数)<——名字(roi) # # # #读入,数块的数据,## # input # aln <- readGAlignments(bf) # input next chunk # if (length(aln) == 0) #停止条件# break # n <- n + length(aln) #我们怎么做?消息(n) # # # # # # olap < - findOverlaps重叠(aln, roi,类型=“内”,ignore.strand = TRUE) #计数< -计数+汇总(subjectHits (olap) subjectLength (olap )) # } # # ## 完成并返回结果#关闭(bf) #计数 # } ## ---- reduceByYield,eval = FALSE ------------------------------------------- # suppressPackageStartupMessages({#库(GenomicFiles ) # }) # # ## 如何输入的下一块数据#收益率< -函数(X,…)# readGAlignments (X ) # } # # ## 做什么每个块# < -地图功能(价值,…roi) {# olap < findOverlaps(价值、投资回报率、类型=“内”,ignore.strand = TRUE) #汇总(subjectHits (olap) subjectLength (olap )) # } # # ## 如何结合映射块#减少 <- `+` # # reduceByYield (bf、产量、地图,减少,投资回报率(roi) # #——count-overlaps-doit, eval=FALSE------------------------------------- # filename <- "~/bam/SRR1039508_sorted.bam" # count <- count1(filename, exByTx) ## ----count-overlaps-parallel, eval=FALSE--------------------------------- # library(BiocParallel) # # ## all bam files # filenames <- dir("~/bam", pattern="bam$", full=TRUE) # names(filenames) <- sub("_sorted.bam", "", basename(filenames)) # # ## iterate # counts <- bplapply(filenames, count1, exByTx) # counts <- simplify2array(counts) # head(counts)