- 21.《Bioinformatics-Data-Skills》之
- 28.《Bioinformatics-Data-Skills》之
- 18.《Bioinformatics-Data-Skills》之
- 19.《Bioinformatics-Data-Skills》之
- 17.《Bioinformatics-Data-Skills》之
- 25.《Bioinformatics-Data-Skills》之
- 25.《Bioinformatics-Data-Skills》之
- 23.《Bioinformatics-Data-Skills》之
- 24.《Bioinformatics-Data-Skills》之
- 20.《Bioinformatics-Data-Skills》之
《Bioinformatics-Data-Skills》之数据下载
学习需要大数据处理能力的生物信息过程中,掌握数据下载,数据完整性验证与数据压缩技术非常必要的。这里主要谈谈数据下载的操作。
1. wget与curl
-
wget
下载指令非常直接,例如我们通过下面的命令下载GRCh37(hg19)版本的22号染色体信息:
wget http://hgdownload.soe.ucsc.edu/goldenPath/hg19/chromosomes/chr22.fa.gz
下载的文件会存放在当前目录下。
-
wget
另一个重要功能是可以通过递归下载一个页面上的所有数据(默认最大深度为5)。
例如我们可以使用下面的命令去下载某个页面上的所有gtf图片:
wget --accept "*.gtf" --no-parent --no-directory --recurretive \
http://genomics.someuniversity.edu/labsite/annotation.html
其中--accept
表明下载的文件名匹配模式,注意递归下载的深度是不限父目录的,所以这里我们使用了--no-parent
参数限制不在父目录下查找。
- 除了http,
wget
还可以对ftp协议的文件进行下载,ftp文件可以使用参数:--user=usrname
,--ask-password
验证身份
wget
的功能十分强大,上面只是一些基础的使用方式,下表补充其它的参数选择。
![](https://img.haomeiwen.com/i26375250/89b278b80cc02e9b.png)
![](https://img.haomeiwen.com/i26375250/c5eaf41798d85bd5.png)
-
curl
与wget
的功能类似,但curl支持更多的传输协议(包括SFTP与SCP)。 - 此外,
curl
下载的文件默认是输出到终端的,所以需要进行重定向:
curl http://hgdownload.soe.ucsc.edu/goldenPath/hg19/chromosomes/chr22.fa.gz > chr22.fa.gz
也可以使用-O <filename>
参数设置文件名(未设置文件名话采用默认名字)。
-
curl
另外一个用法是使用--location
或者-L
参数跟随网页重定向。 -
curl
是一个库,在R与Python里面分别存在封闭好的RCurl, pycurl包。
2. Rsync和Secure Copy (scp)
完成更重量级的下载任务(例如大型的原始数据共享),可以采用rsync命令,它的优势在于
- 首先它的速度非常快速,因为它会比较不同版本文件的区别,只传递差异部分,并且在传输过程中进行压缩处理;
- 它有一个文档模式,可以保留文件的链接,修改时间,拥有者与权限信息等文件属性,是用于数据备份的绝佳选择
rsync
的使用格式是rsync <起点> <终点>
。起点或终点都可以是服务器,服务器文件地址格式为:user@host:/path/to/destination/
例如通过如下的命令将服务器上面的代码文件复制到本地:
rsync -avz -e ssh yongwudao2019@222.22.22.222:/IJob/J26/Code/ code_backup
其中-a
表示存档模式,-z
表示传输的过程使用压缩,-v
表示输出提示信息。 -e ssh
表明数据通过ssh
路径传输。
注意:起点文件夹路径最后携带"/"的话,只下载文件夹内容,而不携带“/”的话则是将文件结构也下载下来。
如果我们只想要通过ssh
拷贝服务器上的单个文件,可以采用scp
命令,例如:
scp yongwudao2019@222.22.22.222:/IJob/J26/Code/script.R .
网友评论