Advertisement

linux 基因组数据下载,批量下载JGI(phytozome植物基因组数据库)数据

阅读量:
52487a4ff5fc

写在前面

今天课题组师妹告知我她想要从Phytozome上下载全部数据。这个信息让我想起了几年前自己也做过类似的事情。不过前年我还专门整理过一次。整体过程并不复杂,在此提供之前的记录作为参考。

2017年的记录

优化工作流程后可提高批量下载效率。逐个点击和逐一 download 的过程过于繁琐且不够稳定。通过调整参数后一次性启动 80 个 download 任务以完成 JGI 数据库中截至 2017 年 4 月 5 日的所有植物基因组序列的批量获取(共计 72 条记录)。

首先,在JGI上注册一个账号,

http://genome.jgi.doe.gov/

得到账号密码,如

账号:yourAccount

密码:youPassword

在Linux系统中,默认情况下会调用curl命令进行登录,并将cookie信息保存下来;对于不太了解cookie概念的用户来说,默认情况下也是会调用curl命令进行登录并保存cookie信息的。

2017年的链接方式已经失效

执行网络请求指令执行以下网络请求:https://signon.jgi.doe.gov/signon/create其中包含以下数据参数-form-data: username={username}&password={password}缓存本地登录信息到指定文件名:cookieFile发送本地缓存的登录信息到远程服务器:cookieFile标准输出重定向至:/dev/null

目前有效的链接方式是

The command curl is used to send an HTTP request to the login page of the old system at https://signon-old.jgi.doe.gov/. The data fields --data-urlencode are configured with login=yourAccount and password=youPassword, and the resulting cookies are stored in the file cookies. The request is executed without any output being captured.

下载当前所有植物的数据信息列表

已失效,全面转成ssl

执行curl命令 http://genome.jgi.doe.gov/ext-api/downloads/get-directory?organism=PhytozomeV12 从cookies目录获取 并将其下载目录设置为all.xml文件路径 从cookies目录获取cookie文件

使用curl工具从指定URL下载PhytozomeV12的数据集,并将cookies参数过滤至all.xml文件

将数据整理成表格形式,并仅列出相关基因组序列的链接信息。(实际上,在此步骤中我们可以选择性地提取所需文件的相关链接信息,如所有的CDS和各种蛋白...)

perl -lne 'if(/^ genome.links

接下来, 开始执行批量处理任务(这里采用parallel来进行多线程操作, 其实是出于以下原因:一方面, 为了防止同时处理的请求数量超过80个, 这可能会导致系统性能下降; 另一方面, 或许你更适合采用单线程操作以确保系统的稳定性. 但需要注意的是, 在某些情况下建议采用单线程操作以确保稳定性.

这个位置也调整了....

查看 genome.links 文件内容 | 并行处理以80个作业运行并行脚本 'curl http://genome.jgi.doe.gov{} -b cookies -c cookies 1> {=s/./(\S+?)/1/=} 2> {=s/./(\S+?)/1/=}.log'

cat genome.links

写在最后

此流程源于JGI的帮助文档。我对其基础框架进行了必要的调整以满足自身需求,并希望通过此分享一定参考价值。也许在这一阶段你应考虑采用TBtools软件进行分析以获得物种间的进化关系信息?建议采用TBtools软件进行分析

https://www.jianshu.com/p/a52a9d262e72

52487a4ff5fc

全部评论 (0)

还没有任何评论哟~