网络辅助基因组分析的rest服务(naga)

naga-gwas-rest的Python项目详细描述


Naga Gwas休息区

https://img.shields.io/pypi/v/naga-gwas-rest.svghttps://img.shields.io/travis/idekerlab/naga-gwas-rest.svg

Network Assisted Genomic Analysis (NAGA)的rest服务

For more information please click here to visit our wiki

此服务当前正在此处运行:http://nbgwas.ucsd.edu

兼容性

要构建的其他依赖项

安装

建议在python环境中使用Anaconda一次

git clone https://github.com/idekerlab/naga-gwas-rest.git
cd naga-gwas-rest
make install

以开发模式运行服务

注意:下面的示例运行rest服务,而不是任务运行器。

# It is assumed the application has been installed as described above
exportFLASK_APP=nbgwas_rest
flask run # --host=0.0.0.0 can be added to allow all access from interfaces
# Service will be running on http://localhost:5000
# NOTE: To have tasks processed naga_taskrunner.py must be started in
# another terminal

Click here for information on launching service via Vagrant VM

服务使用示例

下面是一个小脚本,它利用nbgwas_rest服务在 压缩的nagadata/splitarity.txt.gz传递到命令行的脚本中

#!/usr/bin/env python

import sys
import gzip
import time
import requests

# pass the gzipped schizophrenia.txt.gz
networkfile= sys.argv[1]# set parameters
data_dict={}
data_dict['protein_coding']='hg18'
data_dict['window']=10000
data_dict['ndex']='f93f402c-86d4-11e7-a10d-0ac135e8bacf'# set snp file
files={'snp_level_summary': gzip.open(networkfile, 'rb')}url='http://nbgwas.ucsd.edu/rest/v1/snp_analyzer'r= requests.post(url, data=data_dict, files=files,
                  timeout=30)# If successful the previous POST will return 202
if r.status_code !=202:
    sys.stderr.write('Submission failed with code: ' + str(r.status_code) +
                     '\n')
    sys.stderr.write('Message: ' + str(r.text) + '\n')
    sys.exit(1)# If successful Location will be set to a URL that can
# be polled for result
if'Location' not in r.headers:
    sys.stderr.write('Expected Location in Header, ' +
                     'but its not there: ' + str(r.headers) + '\n')
    sys.exit(2)resulturl= r.headers['Location']getres= requests.get(resulturl, timeout=30)json_res= getres.json()while getres.status_code !=200 or json_res['status']=='submitted' or json_res['status']=='processing':
   sys.stderr.write('.')
   sys.stderr.flush()
   time.sleep(5)getres= requests.get(resulturl, timeout=30)json_res= getres.json()

sys.stderr.write('\n')
sys.stdout.write(str(json_res) + '\n')

假设上述文件保存在名为foo.py的文件中,并从该源树的基目录运行

./foo.py nagadata/schizophrenia.txt.gz

示例输出:

{'result': {'A1BG': 1.818739214334769, 'A1CF': 2.9679830980888413,
'A2M': 3.9294999566765174, 'A2ML1': 1.4379620790934335, 'A3GALT2': 1.9918435374785632,
'A4GALT': 1.8734641163972634, 'A4GNT': 1.335302470858104, 'AAAS': 2.384799543926567,
'AACS': 2.965792987307328, 'AADAC': 1.455957465785784, 'AADACL2': 1.0156608351922358,
'AADACL3': 0.895944981993654, 'AADACL4': 1.2458363441128992, 'AADAT': 2.689141678947707,
'AAED1': 0.12364477699188797, 'AAGAB': 0.14237051805828474, 'AAK1': 5.652340641567231,
'AAMDC': 0.1647736242197245, 'AAMP': 3.2927511707526884, 'AANAT': 5.654764562774087,
'AAR2': 0.9427896961129361,
.
.
, 'status': 'done'}

虫子

请报告他们here

确认

历史记录

0.7.0(2019-07-01)

  • 在有效蛋白质编码区文件列表中添加了DM6

0.6.0(2019-05-06)

  • 在有效蛋白质编码区文件列表中添加了mm10和rn6

0.5.0(2019-03-07)

  • 替换从naga bug返回的无限热值 issue #24
  • 将处理中使用的naga版本添加到result json issue #23
  • 重命名为naga gwas rest issue #22
  • 添加输入参数snp_analyzer/get endpoint enhancement issue #20
  • 将naga_taskrunner.py修改为在后台程序模式下运行 issue #3

0.4.1(2018-12-20)

  • 用rest服务描述错误中的分析替换关联 issue #19

0.4.0(2018-12-19)

  • 已启用删除rest端点issue #16
  • 修复了包括numpy和运行在apache modwsgi错误下的问题 issue #15
  • nbgwas_taskrunner.py应在作业运行后删除snp级别的摘要文件 issue #5

0.1.1(2018-11-30)

  • github上的第一个版本

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

推荐PyPI第三方库


热门话题
java PDFbox 2.0.20 new PagePane()引发RuntineeException   java重启静态资源每春季启动重启   如何使用swing在java中清空密码字段值(字符串)   blackberry奇怪的行为:Java Comparator随机化列表条目   Java6和JAXB2.1   java如何为rest响应启用压缩   java命令输出解析   如何在Java中编写包含自定义类作为参数的默认构造函数   java如何在Maven构建中包含带有资源的文件夹   java如何在安卓中从sqlite存储和获取列表视图数据?   爪哇/gradlew desktop:运行不起作用,但设置配置起作用:libgdx   java运行多线程并在异常时停止线程   java列表在填充后为空,但微调器显示它有字符串