synapse的客户机,一个协作计算空间,允许科学家共享和分析数据。

synapseclient的Python项目详细描述


python synapse客户端

<表><广告>ci分支 生成状态< /广告><正文>特拉维斯开发构建状态开发分支特拉维斯大师级构建状态主分支应用程序开发appveyor分支应用程序大师级appveyor分支

从pypi获取synapseclient支持的python版本python客户端api文档

有关与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

pandaspysftp的依赖是可选的。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许可证下获得许可。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Midlet即使按下设备的“剪切”按钮也不能关闭   JavaSpring环境。getProperty未解析   用Hibernate在Java中实现序列   具有重复键和文件写入的java映射   java显示控制台输出到JavaFXML应用程序中的TextArea   java Cucumber在编译为时无法在类路径上找到功能文件。战争   java过滤器中的servlet问题   安卓中消息和字符串之间的java转换?   java Apache POI读取单元(下午12:35:00)时间值返回1899年12月31日   Java游戏中的碰撞检测?   JSF2.0中的JavajQuery   java在setValue之后使用不同的值   java如何修复可选文件的StackOverflow错误?   如何在不使用服务器设置的情况下使用java从Outlook mail下载附件?   YAxis上Java BoxLayout中单个字符的摆动对齐偏离中心