美文网首页
沉浸式阅读Nature | 高分文章的引言还差什么?

沉浸式阅读Nature | 高分文章的引言还差什么?

作者: 生命数据科学 | 来源:发表于2022-12-09 10:28 被阅读0次

前言:在GEO数据库挖掘过程中,常常不止需要下载单个文件,手动下载很费时间,整理起来也麻烦,因此迫切需要批量自动下载脚本。

这两个脚本与其他常规GEO文件下载脚本有什么不同呢,熟悉GEO数据库下载的都比较清楚,在下载多个、大量的GEO文件时,常常会因为网络波动导致下载失败。以下脚本通过识别报错信息,自动重新下载报错文件,省时省力,边喝咖啡边干活~

准备工作

  1. 一列GSE号的文件GSE.txt

  2. 一列GPL号的文件GPL.txt

  3. 里面有些工作目录需要修改,不然下载起来会比较乱

一、GSE批量下载

options('download.file.method.GEOquery'='auto')
options('GEOquery.inmemory.gpl'=FALSE)
options( 'download.file.method.GEOquery' = 'libcurl' )
options(timeout=600)

# if (!requireNamespace("BiocManager", quietly = TRUE))
#   install.packages("BiocManager")
# 
# BiocManager::install("GEOquery")
# install.package("openxlsx")
# library(openxlsx)
library(GEOquery)

#读取数据
setwd("your_working_directory") #需修改
rt=read.table("GSE.txt",header = F) #GSE号汇总的文件,第一列是GSE号就行
#rt=openxlsx::read.xlsx("GSEid.xlsx",1,header=F)# 
rt1=as.character(rt[,1])
rt1<-unique(rt1)
#新建函数withWarnings(识别错误信息)
withWarnings <- function(expr) {
  myWarnings <- NULL
  wHandler <- function(w) {
    myWarnings <<- c(myWarnings, list(w))
    invokeRestart("muffleWarning")
  }
  val <- withCallingHandlers(expr, warning = wHandler)
  list(value = val, warnings = myWarnings)
} 

#批量下载
a<-list()
for (i in 1:length(rt1))
  {
  a[[i]]<-withWarnings(getGEO(rt1[[i]],#系列编号
         destdir = '.', #, #下载目录,“.”代表当前目录
         getGPL = F))

  while (is.list(a[[i]][["warnings"]])) {
    a[[i]]<-withWarnings(getGEO(rt1[[i]],#如果出现warning,则重复下载
                                destdir = '.', AnnotGPL = F,getGPL = F
                                  ))
  }
}

二、GPL批量下载

library(GEOquery)
library(stringr)
# if (!requireNamespace("BiocManager", quietly = TRUE))
#   install.packages("BiocManager")
# 
# BiocManager::install("GEOquery")

#读取数据
setwd("D:\\") #需修改
rt=read.table("GPL.txt",header = F)
#rt=openxlsx::read.xlsx("GSEid.xlsx",1)
rt1=as.character(rt[,1])
rt1<-unique(rt1)

finished<-list.files(pattern = "GPL[0-9]*",full.names = F)
finished_name<-str_extract(finished,"GPL[0-9]*")
last_file<-setdiff(rt1,finished_name)#识别工作目录中是否存在需要下载的文件,去重
for (i in last_file) {
  a<-getGEO(i,#系列编号
            destdir = '.', #, #下载目录
            getGPL = T, AnnotGPL = T)
  output<-a@dataTable@table
  write.table(output,paste("D:\\plat\\",i,".txt",sep=""),sep = "\t",row.names = F,col.names = T)#下载到plat文件夹中
}` 

相关文章

  • 沉浸式阅读是一种什么体验

    沉浸式,是个时髦的词。不仅有了沉浸式演出,还有了沉浸式阅读。那沉浸式阅读,是种什么感受?把书改成电影的那种,是不是...

  • 沉浸式阅读 沉浸式生活

    10.13陪女儿上课,突然感受到那种沉浸式快乐,完全投入,女儿配合,我也很开心。下午还发现一个青年作家,喜欢这种有...

  • 樊登 如何读懂一本书

    001 带着目的性读书,沉浸式阅读,更容易有所收获。 把阅读和旅游作对比,很形象的让我们知道了什么是沉浸式阅读。 ...

  • 沉浸式阅读

    我理解的沉浸式阅读,是完全融入到一本书的世界里。就像看一些偶像剧、韩剧,完全带入到那个虚构的世界,自己已经忘了身...

  • 沉浸式阅读

    李清泉|整理笔记 关于学习 你可能读过很多书,看过很多公众号,报过很多课程,但后来大部分都忘记了,所以阅读就没有意...

  • 沉浸式阅读

    第一,看书要抓住数据、实验、金句和故事。我相信很多人看书,会被某一句触动心灵的话印象颇深,随手就在书上画下来。等读...

  • 沉浸式阅读

    这两天在所谓沉浸式阅读,就是一天鼓足勇气听了课,像上战场一样做两篇阅读,所以选出上图,我自以为的沉浸式阅读,就是偶...

  • iOS捷径:伴读

    伴读 将网页文章转换为沉浸式阅读方式,方便阅读爱好者阅读文章,减少网页其他信息的打扰,并进行语音伴读。 下载链接:...

  • 谈谈“adjustResize”在沉浸式状态栏下的失效问题

    前言 关于“沉浸式”的介绍,请看另外一篇文章:刨根问底-论Android“沉浸式”,文章中详细介绍了“沉浸式”的相...

  • 沉浸式学习

    怎么样才能沉浸式学习,为什么我只能沉浸式玩手机? 他们沉浸式回家,沉浸式学习,沉浸式生活,总之,都能够沉浸进去。而...

网友评论

      本文标题:沉浸式阅读Nature | 高分文章的引言还差什么?

      本文链接:https://www.haomeiwen.com/subject/gvszfdtx.html