美文网首页生物信息数据科学
21.《Bioinformatics-Data-Skills》之

21.《Bioinformatics-Data-Skills》之

作者: DataScience | 来源:发表于2021-06-13 07:22 被阅读0次

    《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的功能十分强大,上面只是一些基础的使用方式,下表补充其它的参数选择。

    wget使用参数 wget使用参数
    • curlwget的功能类似,但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命令,它的优势在于

    1. 首先它的速度非常快速,因为它会比较不同版本文件的区别,只传递差异部分,并且在传输过程中进行压缩处理;
    2. 它有一个文档模式,可以保留文件的链接,修改时间,拥有者与权限信息等文件属性,是用于数据备份的绝佳选择

    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 .
    

    相关文章

      网友评论

        本文标题:21.《Bioinformatics-Data-Skills》之

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