用于处理、存储和查询遗传数据的模型和加载程序
vdw的Python项目详细描述
#各种数据仓库开发指南
[![构建状态](https://travis-ci.org/cbmi/varify-data-warehouse.png?branch=master)(https://travis-ci.org/cbmi/varify-data-warehouse)[![覆盖状态](https://coveralls.io/repos/cbmi/varify data warehouse/badge.png)(https://coveralls.io/r/cbmi/varify data warehouse)需要帮助吗?
加入我们的聊天室,与我们的开发团队交谈:http://www.hipchat.com/gzckr0p3y
下面的大多数链接描述了替代的下载和安装方法。
在Mac OS X上,[自制](http://mxcl.github.com/homebrew/)是推荐的
安装这些库的方法。
-[python 2.6+](http://python.org/download/releases/2.6.9/)
-[redis 2.6+](http://python.org/download/releases/2.6.9/)
用法://redis.io/download)
-[postgresql 9.2+(http://www.postgresql.org/download/)
-[memcached](http://memcached.org)
要检查它们是否存在:
`` bash
哪个pip容易安装virtualenv
````
如果没有输出,请安装与下面的命令对应的库:
sudo当心!根用户`$path`很可能不包括
`/usr/local/bin`。如果没有通过发行版的包
管理器安装python,请使用新python二进制文件的绝对路径,以防止安装带有错误版本的上述库(如centos 5上的python 2.4),
例如`/usr/local/bin/python2.7`.
``bash
curl http://python-ddistribute.org/distribute_setup.py python
curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py python
pip安装virtualenv
``````
创建virtualenv:
``bash
virtualenv vdw env
cd vdw env
。bin/activate
```
clone the repo:
```bash
git clone https://github.com/cbmi/varify data warehouse.git
cd varify data warehouse
`````
安装要求:
``bash
pip install-r requirements.txt
```
对于Xcode 5.1或更高版本,PIP安装要求可能需要以下内容:
``bash
export cflags=-qused arguments
```
[启动Postgres服务器](http://www.postgresql.org/docs/9.2/static/server start.html)。这个*可能看起来像:
```
initdb/usr/local/var/postgres-e utf8
````
res-s-r yourusername
createdb varify
````
start memcached
```bash
memcached-d
`````
start redis
``````
redis server/usr/local/etc/redis.conf
`````
如果您在mac上,则需要启动postfix以允许smtp:
```
``sudo postfix启动
```
/>uwsgi--ini server/uwsgi/local.ini--protocol http--socket 127.0.0.1:8000--检查静态站点
````
本地设置
`本地设置.py`有意不进行版本控制(通过`.gitignore`)。它应该包含任何特定于环境的设置和/或敏感设置,如
密码、"密钥"和其他不应在版本
控件中的信息。定义"local_settings.py"不是必需的,但如果它确实不存在,则会发出警告。
\pipeline
,管道的性能及其背后的过程。
关键的区别在于,cbmi fork试图为插入和删除生成有效的hgvs,包括那些需要"行走和滚动"来识别正确indel帧的hgvs,而标准snpeff版本只包含hgvs符号的部分实现[如这里所述](http://snpeff.sourceforge.net/snpeff_Manual.html过滤器)。
\要使用测试数据,请运行下面的命令。
``bash
wget https://github.com/cbmi/variffy-demo-demo-data/archive/0.1.tar.gz-o variffy-demo-data-0.1.tar.gz
tar-zxfvariffy-demo-data-0.1.tar.gz
``` bash
>
/>在此时,"varify-demo-data-0.1"目录中的vcf和manifest已准备好在管道中加载。如果您只想加载此测试数据,可以使用"varify-demo-data-0.1"目录作为下面"队列示例"步骤中"示例队列"命令的参数。
ow),您可能需要考虑遵循tmux步骤来附加/分离加载过程。
[tmux](http://robots.thoughtbot.com/post/2641409235/a-tmux-crash-course)类似于[screen](http://www.gnu.org/software/screen/),只是更新的。对于分离/重新连接具有长时间运行进程的会话非常有用。
**new session
``bash
tmux
```
```bash
```bash
``tmux attach-t 0第一会话
```
`````````bash
>
新会话**
`````````新会话`````五ate
```
如果在其他地方运行redis,只需使用您希望使用的地址信息和db更新下面的设置。打开"local_settings.py"文件并添加以下设置:
`` python
rq_queues={
'默认值':{
'主机':'本地主机',
'端口':6379,
'数据库':0,
},
'示例':{
'主机':'本地主机',
'端口':6379,
"db":0,
},
"variants":{
"host":"localhost",
"port":6379,
"db":0,
},
}
```````
"db":0,
},
"queue samples
可以选择指定一个目录,否则它将递归扫描"varify"中定义的所有目录varify项目中的sample_dirs`设置。
``bash
./bin/manage.py samples queue[目录]
```
你可以放慢装载速度。"variants"通常首选一个worker,两个或三个适合"default"类型。
``bash
./bin/manage.py rqworker variants&;
./bin/manage.py rqworker default&;
```
注意,如果只有一个示例,这些worker将永远运行加载时,'--burst'参数可用于在队列中没有其他项目时终止工作进程。
\有关设置和使用这些服务的信息,请参见[此处](http://python rq.org/docs/monitoring/)。
需要执行ore命令来更新注释和队列频率。这些都是在加载后执行的,因为性能原因。
``bash
./bin/manage.py variants load--evs--1000g--sift--polyph2>;variants.load.txt 2>&;1&;
./bin/manage.py samples等位基因频率>;samples.等位基因频率.txt 2>&;1&;
```
perform
-文件大小:610 mb
-变量计数:1794055
br/>
-时间:41分钟(外推)
-内存:246 KB
填充队列
2。产卵工人
3。使用作业
-验证输入
-(工作)
-验证输出
-提交
如果并行加载多个样本,则很可能会有重叠的变量。
为了防止完整性错误,工作人员需要咨询一个或多个集中缓存,以检查当前变量是否已被寻址。如果是这种情况,则工人将跳过该变体。
这会引起第二个问题,因为下游作业取决于是否存在由于另一个工人尚未提交其数据而尚未存在的某些数据。在这种情况下,不匹配项将在"deferred"队列中排队
,在"default"队列为空之后,或在与"default"队列并行的
队列中排队。
[![构建状态](https://travis-ci.org/cbmi/varify-data-warehouse.png?branch=master)(https://travis-ci.org/cbmi/varify-data-warehouse)[![覆盖状态](https://coveralls.io/repos/cbmi/varify data warehouse/badge.png)(https://coveralls.io/r/cbmi/varify data warehouse)需要帮助吗?
加入我们的聊天室,与我们的开发团队交谈:http://www.hipchat.com/gzckr0p3y
下面的大多数链接描述了替代的下载和安装方法。
在Mac OS X上,[自制](http://mxcl.github.com/homebrew/)是推荐的
安装这些库的方法。
-[python 2.6+](http://python.org/download/releases/2.6.9/)
-[redis 2.6+](http://python.org/download/releases/2.6.9/)
用法://redis.io/download)
-[postgresql 9.2+(http://www.postgresql.org/download/)
-[memcached](http://memcached.org)
要检查它们是否存在:
`` bash
哪个pip容易安装virtualenv
````
如果没有输出,请安装与下面的命令对应的库:
sudo当心!根用户`$path`很可能不包括
`/usr/local/bin`。如果没有通过发行版的包
管理器安装python,请使用新python二进制文件的绝对路径,以防止安装带有错误版本的上述库(如centos 5上的python 2.4),
例如`/usr/local/bin/python2.7`.
``bash
curl http://python-ddistribute.org/distribute_setup.py python
curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py python
pip安装virtualenv
``````
创建virtualenv:
``bash
virtualenv vdw env
cd vdw env
。bin/activate
```
clone the repo:
```bash
git clone https://github.com/cbmi/varify data warehouse.git
cd varify data warehouse
`````
安装要求:
``bash
pip install-r requirements.txt
```
对于Xcode 5.1或更高版本,PIP安装要求可能需要以下内容:
``bash
export cflags=-qused arguments
```
[启动Postgres服务器](http://www.postgresql.org/docs/9.2/static/server start.html)。这个*可能看起来像:
```
initdb/usr/local/var/postgres-e utf8
res-s-r yourusername
createdb varify
````
start memcached
```bash
memcached-d
`````
start redis
``````
redis server/usr/local/etc/redis.conf
`````
如果您在mac上,则需要启动postfix以允许smtp:
```
``sudo postfix启动
```
/>uwsgi--ini server/uwsgi/local.ini--protocol http--socket 127.0.0.1:8000--检查静态站点
````
本地设置
`本地设置.py`有意不进行版本控制(通过`.gitignore`)。它应该包含任何特定于环境的设置和/或敏感设置,如
密码、"密钥"和其他不应在版本
控件中的信息。定义"local_settings.py"不是必需的,但如果它确实不存在,则会发出警告。
\pipeline
,管道的性能及其背后的过程。
关键的区别在于,cbmi fork试图为插入和删除生成有效的hgvs,包括那些需要"行走和滚动"来识别正确indel帧的hgvs,而标准snpeff版本只包含hgvs符号的部分实现[如这里所述](http://snpeff.sourceforge.net/snpeff_Manual.html过滤器)。
\要使用测试数据,请运行下面的命令。
``bash
wget https://github.com/cbmi/variffy-demo-demo-data/archive/0.1.tar.gz-o variffy-demo-data-0.1.tar.gz
tar-zxfvariffy-demo-data-0.1.tar.gz
``` bash
>
/>在此时,"varify-demo-data-0.1"目录中的vcf和manifest已准备好在管道中加载。如果您只想加载此测试数据,可以使用"varify-demo-data-0.1"目录作为下面"队列示例"步骤中"示例队列"命令的参数。
ow),您可能需要考虑遵循tmux步骤来附加/分离加载过程。
[tmux](http://robots.thoughtbot.com/post/2641409235/a-tmux-crash-course)类似于[screen](http://www.gnu.org/software/screen/),只是更新的。对于分离/重新连接具有长时间运行进程的会话非常有用。
**new session
``bash
tmux
```
```bash
```bash
``tmux attach-t 0第一会话
```
`````````bash
>
新会话**
`````````新会话`````五ate
```
如果在其他地方运行redis,只需使用您希望使用的地址信息和db更新下面的设置。打开"local_settings.py"文件并添加以下设置:
`` python
rq_queues={
'默认值':{
'主机':'本地主机',
'端口':6379,
'数据库':0,
},
'示例':{
'主机':'本地主机',
'端口':6379,
"db":0,
},
"variants":{
"host":"localhost",
"port":6379,
"db":0,
},
}
```````
"db":0,
},
"queue samples
可以选择指定一个目录,否则它将递归扫描"varify"中定义的所有目录varify项目中的sample_dirs`设置。
``bash
./bin/manage.py samples queue[目录]
```
你可以放慢装载速度。"variants"通常首选一个worker,两个或三个适合"default"类型。
``bash
./bin/manage.py rqworker variants&;
./bin/manage.py rqworker default&;
```
注意,如果只有一个示例,这些worker将永远运行加载时,'--burst'参数可用于在队列中没有其他项目时终止工作进程。
\有关设置和使用这些服务的信息,请参见[此处](http://python rq.org/docs/monitoring/)。
需要执行ore命令来更新注释和队列频率。这些都是在加载后执行的,因为性能原因。
``bash
./bin/manage.py variants load--evs--1000g--sift--polyph2>;variants.load.txt 2>&;1&;
./bin/manage.py samples等位基因频率>;samples.等位基因频率.txt 2>&;1&;
```
perform
-文件大小:610 mb
-变量计数:1794055
br/>
-时间:41分钟(外推)
-内存:246 KB
填充队列
2。产卵工人
3。使用作业
-验证输入
-(工作)
-验证输出
-提交
如果并行加载多个样本,则很可能会有重叠的变量。
为了防止完整性错误,工作人员需要咨询一个或多个集中缓存,以检查当前变量是否已被寻址。如果是这种情况,则工人将跳过该变体。
这会引起第二个问题,因为下游作业取决于是否存在由于另一个工人尚未提交其数据而尚未存在的某些数据。在这种情况下,不匹配项将在"deferred"队列中排队
,在"default"队列为空之后,或在与"default"队列并行的
队列中排队。