synapse的客户机,一个协作计算空间,允许科学家共享和分析数据。
synapseclient的Python项目详细描述
python synapse客户端
<表><广告>有关与Synapse交互的更多信息,请参见:
- synapse api文档
- 用户指南(包括python示例)
- Synapse入门指南
安装
PythonSynapse客户端已经在MacOSX、UbuntuLinux和Windows上的Python2.7、3.5和3.6上进行了测试。
使用PIP安装
python synapse客户端位于pypi上,可以与pip一起安装。
(sudo) pip install synapseclient[pandas,pysftp]
…或升级Synapse客户端的现有安装:
(sudo) pip install --upgrade synapseclient
对pandas
和pysftp
的依赖是可选的。synapse表集成
使用熊猫。库pysftp
是
文件存储。两个库都需要本机代码
与预先构建的二进制文件分开编译或安装。
从源安装
克隆源代码存储库
git clone git://github.com/Sage-Bionetworks/synapsePythonClient.git
cd synapsePythonClient
python setup.py install
安装发布候选分支
对于验证,验证器将安装一个发布候选分支,以验证一个bug是否已被修复,或者一个新特性/改进是否按预期工作。为了防止覆盖您的工作环境,使用virtualenv创建一个独立的测试环境是一个好主意。
git clone git://github.com/Sage-Bionetworks/synapsePythonClient.git
cd synapsePythonClient
git checkout v1.8.2-rc
python setup.py install
将python setup.py install替换为python setup.py development,使安装遵循头部而无需重新安装。
安装标记版本
版本发布后,将为发布的版本创建标记。要安装特定版本,请签出标记,而不是签出候选版本分支,例如:
git checkout v1.8.2
命令行用法
synapse客户端可以在shell命令提示符下使用。有效命令 包括:query、get、cat、add、update、delete和onweb。几个例子是 显示。
从synapse下载测试数据
synapse -u my_username -p my_password get syn1528299
获取帮助
synapse -h
请注意,需要asynapse帐户。
用作库
synapse客户端可用于编写与sage synapse存储库交互的软件。
示例
import synapseclient
syn = synapseclient.Synapse()
## log in using username and password
syn.login('my_username', 'my_password')
## retrieve a 100 by 4 matrix
matrix = syn.get('syn1901033')
## inspect its properties
print(matrix.name)
print(matrix.description)
print(matrix.path)
## load the data matrix into a dictionary with an entry for each column
with open(matrix.path, 'r') as f:
labels = f.readline().strip().split('\t')
data = {label: [] for label in labels}
for line in f:
values = [float(x) for x in line.strip().split('\t')]
for i in range(len(labels)):
data[labels[i]].append(values[i])
## load the data matrix into a numpy array
import numpy as np
np.loadtxt(fname=matrix.path, skiprows=1)
身份验证
对synapse的认证可以通过几种不同的方式完成。一种是将用户名和密码传递给syn.login函数。
import synapseclient
syn = synapseclient.Synapse()
syn.login('my_username', 'my_password')
使用api密钥要方便得多,可以在本地生成和缓存api密钥,方法是执行以下操作一次::
(sudo) pip install synapseclient[pandas,pysftp]
0
然后,在随后的交互中,指定用户名和密码是可选的,并且只需要以不同的用户身份登录。在没有参数的情况下调用登录
将在缓存凭据可用时使用它们。
(sudo) pip install synapseclient[pandas,pysftp]
1
作为一个捷径,创建synapse
对象并登录可以在一个步骤中完成:
(sudo) pip install synapseclient[pandas,pysftp]
2
缓存凭据也可以从命令行客户端完成:
(sudo) pip install synapseclient[pandas,pysftp]
3
Synapse实用程序(Synapseutils)
synapseutils的目的是创建一个充满便利功能的空间,这些功能包括遍历大型项目、复制实体、递归下载文件等等。
示例
(sudo) pip install synapseclient[pandas,pysftp]
4
许可证和版权
版权所有2013-18 Sage BioNetworks
本软件在2.0版apache许可证下获得许可。