Bioconductor的GEOquery
几个常用函数可以实现GEO数据的下载,但有时候我想直接通过终端下载而不是使用Rstudio然后运行脚本的方式,所以下面用shell脚本对GEOquery
两个下载函数getGEO()
以及getGEOSuppFiles()
进行了简单的封装。
安装
使用clone
命令
git clone https://github.com/ShixiangWang/mytoolkit/
点击页面右上方的克隆或下载按钮
预置与帮助
Linux系统安装R,如果你没有安装GEOquery
包,脚本会自动判断并进行下载安装。
查看脚本帮助:
./getGEOSuppFiles.sh -h
./getGEO.sh -h
./bulkGEO.sh -h
下载GEO附加文件
GEO附加文件一般是原始的芯片数据。
用法:
Usage: ./getGEOSuppFiles.sh -n GEO -d directory
GEO: GEO accession 号,比如 GPL1073 or GSM1137
directory: 下载到的目录,默认为你的当前目录。
下载GEO表达矩阵文件
这个是最常用的功能,下载芯片的表达矩阵文件,数据已经经过研究者的预处理,可以直接使用。
用法:
Usage: ./getGEO.sh -n GEO -d destdir -M GSEMatrix -A AnnotGPL -P getGPL
Detail of Options
==================
-n GEO: 代表GEO对象的字符 (比如 'GDS505','GSE2','GSM2','GPL96')
-d destdir: 要下载到的目的目录,默认为当前目录。
-M 逻辑值TRUE或FALSE,告诉脚本是否下载GSE Series Matrix文件,默认为TRUE。
-A 逻辑值TRUE或FALSE,告诉脚本是否使用注释GPL信息文件(会下载),这些文件包含了最新映射的Gene ID和其他基本信息,但不是都有。默认为TRUE。
-P 逻辑值TRUE或FALSE,告诉脚本是否在下载GSEMatrix文件时下载GPL信息,如果你知道你要用bioconductor工具的注释包,你可以选择FALSE,默认为TRUE。
Minimal Use Method
==================
If you do not know how to use these options, just set -n option is OK
Like
./getGEO.sh -n GEO
change the 'GEO' above to name of GSE you want to download
大量下载表达矩阵文件和原始文件
这个功能利用了前两个脚本,对它们进行循环调用。
用法:
Usage: ./bulkGEO.sh -n GEO -d destdir -M GSEMatrix -A AnnotGPL -f filename -s supp
Detail of Options
==================
-n GEO: 代表GEO对象的字符 (比如 'GDS505','GSE2','GSM2','GPL96')
-d destdir: 要下载到的目的目录,默认为当前目录。
-M 逻辑值TRUE或FALSE,告诉脚本是否下载GSE Series Matrix文件,默认为TRUE。
-A 逻辑值TRUE或FALSE,告诉脚本是否使用注释GPL信息文件(会下载),这些文件包含了最新映射的Gene ID和其他基本信息,但不是都有。默认为TRUE。
-P 逻辑值TRUE或FALSE,告诉脚本是否在下载GSEMatrix文件时下载GPL信息,如果你知道你要用bioconductor工具的注释包,你可以选择FALSE,默认为TRUE。
-f filename: 你可以把要下载的GEO对象名放入一个文件,然后指定它。注意,如果使用它,请不要设定-n选项,不然会被覆盖掉。
-s supp: 逻辑值TRUE或FALSE,设定是否要下载原始附加文件。
Minimal Use Method
==================
If you do not know how to use these options, just set -n option is OK
Like
./bulkGEO.sh -n 'GEO1 GEO2 GEO3'
change the 'GEO' above to name of GSE you want to download
昨天为了避免自我感觉的下载麻烦所以写了这些代码,因为对linux的脚本还不是很精通,脚本可能会存在问题。基本的下载不会出错,我已经调试过。如果有问题或其他功能,欢迎提问,我会尝试解决。
谢谢阅读~