工欲善其事必先利其器
synapseclient 是一个 Python 库,专门设计用于与 Synapse 数据平台进行交互。其具有以下功能
Synapse 是一个开源的数据共享和分析平台,主要用于协作科学研究,允许团队共享数据、跟踪分析和协作。它由 Sage Bionetworks 创建和管理,Sage 是一家位于华盛顿州西雅图的非营利性健康研究组织,成立于 2009 年,旨在支持复杂的数据分析工作流程,同时促进研究数据的共享和再利用。
数据库文档:https://help.synapse.org/docs/Getting-Started.2055471150.html
Synapse提供多种下载方式
synapse
命令从命令行使用用户权限
Synapse 中的大多数项目都具有与其关联的唯一标识符。此标识符称为 Synapse ID 或 synID。synID 格式是前缀“syn”,后跟 8 个数字(例如,syn12345678)。Synapse 中具有唯一 synID 的项包括:文件、文件夹、项目、表、视图、Wiki、链接和 Docker 存储库。以编程方式使用 Synapse 时,可以使用 synID 引用特定项。
Github
推荐使用conda来配置环境,方便快捷
conda create -n synapseclient python=3.9
conda activate synapseclient
pip install synapseclient
##检查是否安装成功
synapse -h
安装
注册时需要先提供一个邮箱,注册页面链接会发送到你的邮箱
填写对应的信息
注册完成,进入自己的账号界面
## 需要账号登录
synapse login -u username -p password
使用账号、密码登录
提示通过密码登录方式已经弃用
创建令牌
Token
## 登录
synapse login -p your-token
token登录
仅仅登录的话,也可以使用,但是每次下载都需要输入token 交互,这非常不方便,因此我们可以来配置一下.synapseConfig
文件
synapse config
## 此时会生成一个 .synapseConfig 文件。里面会记录你的token信息
示例数据目录结构
具体下载文件
下载前首先需要找到你要下载的文件的 synID , 比如演示数据的“syn3260973”
##如果文件有多个版本,可以指定版本下载
##下载文件的第3个版本
synapse get syn3260973 -v 3 --downloadLocation ~/syna_test/
-v #指定下载版本
--downloadLocation # 指定下载保存位置
## 下载后文件大小
88M 1月 16 17:41 run0574_lane1_read1_index27=H9-EB.fastq.gz
## 但是文件名很诡异,后续需要文件重命名
##递归下载(批量)
synapse get -r syn2390898 --downloadLocation ~/syna_test/test
下载整个目录
访问限制
如果数据有访问限制,那就需要申请获取权限
synapse get -r syn26329901 --downloadLocation ~/syna_test/BRI
提示需要申请
需要申请才能下载
更多参数用法可以参见:
参考链接: