便携式Python软件包,用于连接宾夕法尼亚大学的Tribe网络服务
项目描述
Tribe-client是一个便携式Python应用程序,用于将您的生物信息学服务器或工具连接到“Tribe”网络服务(位于https://tribe.greenelab.com)。
此软件包允许使用Django创建的Web服务器直接连接到Tribe并使用其资源。客户端Web服务器或工具的用户可以通过Tribe OAuth2身份验证访问他们的Tribe资源。
需求
如果您在Django使用的Web服务器中使用tribe-client,我们建议您使用1.8或更高版本的Django。
下载和安装
Tribe-client已在PyPI上注册为“tribe-client”,并可使用pip安装
pip install tribe-client
Django快速入门
将tribe_client添加到您的INSTALLED_APPS设置
INSTALLED_APPS = (
...
'tribe_client',
)
2. 在您的项目的URLconf中包含tribe-client URLconf(通常是urls.py)
from django.conf.urls import url, patterns, include
urlpatterns = patterns('',
...
(r'^tribe_client/', include('tribe_client.urls')),
)
3. 在https://tribe.greenelab.com/oauth2/applications/注册您的客户端服务器。请确保
使用您的Tribe账户登录
在客户端类型下选择“Confidential”
在授权授予类型下选择“Authorization Code”
在重定向URI框中输入您的客户端服务器地址加“/tribe_client/get_token”。如果您的客户端服务器当前地址是http://example.com,请输入http://example.com/tribe_client/get_token
4. 在您的settings.py文件中将客户端ID写入TRIBE_ID设置,将客户端密钥写入TRIBE_SECRET设置,如下所示
TRIBE_ID = '*****Tribe Client ID*****'
TRIBE_SECRET = '*****Tribe Client Secret*****'
5. TRIBE_REDIRECT_URI设置应为客户端服务器地址加上“/tribe_client/get_token”。
TRIBE_REDIRECT_URI = 'http://example.com/tribe_client/get_token'
6. 在您的设置中定义您的客户端服务器应具有的Tribe资源的作用域。有两个选项:“read”和“write”。默认是“read”。注意:“write”作用域包含“read”作用域的访问权限。
TRIBE_SCOPE = 'write' # Or 'read'
7.(可选)如果您想使用tribe_client的模板,请确保您有一个基本模板(由您的其他模板扩展并包含{% block content %} {% endblock %}语句),并且tribe_client模板可以扩展,并在您的设置中指定其名称。此设置的名称为TRIBE_CLIENT_BASE_TEMPLATE。默认情况下,tribe_client将寻找名为base.html的模板。
TRIBE_CLIENT_BASE_TEMPLATE = 'name_of_your_main_template.html'
8.(可选)如果您想使用tribe_client的内置登录模板和URL,请创建一个链接,将用户带到您的网站中的connect_to_tribe URL。此URL将显示Tribe内置的登录页面。以下是在网页导航栏中的此类链接的示例
<div class="collapse navbar-collapse">
<ul class="nav navbar-nav navbar-right">
<li><a href="{% url "connect_to_tribe" %}">Login with Tribe</a></li>
</ul>
</div>
9.(可选)如果您想在用户登录后将他们重定向到/tribe_client/display_genesets URL以外的其他位置,您可以在您的settings.py文件中的TRIBE_LOGIN_REDIRECT设置中定义此操作。注意:如果您没有使用tribe-client内置模板(见上文),则需要定义此设置,以便用户在登录后有所去处。
TRIBE_LOGIN_REDIRECT = '/place-to-go-after-login'
10.(可选)如果您想在用户注销后将其重定向到/tribe_client URL以外的其他位置,您可以在您的settings.py文件中的TRIBE_LOGOUT_REDIRECT设置中定义此操作。注意:如果您没有使用tribe-client内置模板(见上文),则需要定义此设置,以便用户在注销后有所去处。
TRIBE_LOGOUT_REDIRECT = '/place-to-go-after-logout'
11.(可选)如果您想通过使用tribe_client_pickle_public_genesets管理命令下载和pickle从Tribe的基因集/集合,您必须自定义settings.py中的以下设置
# Location of folder where pickled gene set files will be saved to.
# This can be a subdirectory in your server's path (as shown here),
# or not.
PUBLIC_GENESET_FOLDER = os.path.join(
<server directory>, <folder for pickled gene sets files>)
并运行以下管理命令
python manage.py tribe_client_pickle_public_genesets
这将下载并pickle数据库中每个生物体的所有公共Tribe集合。如果您想在Tribe中保存的数千个基因集中执行许多基因集富集分析,或执行任何需要频繁、大量、耗时请求基因集的任务,这将非常有用。
深入了解
在内部,tribe-client具有以下功能:
1) 通过OAuth2协议获取访问令牌,允许用户访问和创建Tribe中的资源。
2) 检索公共和私有集合(及其版本)并使用包中包含的视图和模板在客户端服务器上显示它们。
3) 允许用户从客户端服务器远程创建新的集合和版本。