FISS的友好伴侣
项目描述
dalmatian
FISS的忠实伴侣。
dalmatian是一个通过Pandas数据框与Firecloud交互的高级函数集合。
安装
pip install firecloud-dalmatian
需求
FireCloud使用Google Cloud SDK(https://cloud.google.com/sdk/)来管理授权。要使用dalmatian,您必须安装SDK并在本地登录
gcloud auth application-default login
示例
Dalmatian提供了WorkspaceManager类,用于与FireCloud工作区交互。
import dalmatian
wm = dalmatian.WorkspaceManager("namespace/workspace")
创建和管理工作区
创建工作区
wm.create_workspace()
上传样本和样本属性(例如,BAM路径)。属性必须以以下形式的pandas DataFrame提供
- 索引必须命名为'sample_id',并包含样本ID
- 数据框必须包含'participant_id'列
- 如果提供了'sample_set_id'列,将生成相应的样本集
wm.upload_samples(attributes_df, add_participant_samples=True)
如果 add_participant_samples=True
,则一个参与者的所有样本都存储在 participant.samples_
中。
添加或更新工作区属性
attr = {
'attribute_name':'gs://attribute_path',
}
wm.update_attributes(attr)
获取样本、样本集、参与者的属性
samples_df = wm.get_samples()
sets_df = wm.get_sample_sets()
participants_df = wm.get_participants()
创建或更新集合
wm.update_sample_set('all_samples', samples_df.index)
wm.update_participant_set('all_participants', participant_df.index)
从工作区复制/移动数据
samples_df = wm.get_samples()
dalmatian.gs_copy(samples_df[attribute_name], dest_path)
dalmatian.gs_move(samples_df[attribute_name], dest_path)
克隆工作区
wm2 = dalmatian.WorkspaceManager(namespace2, workspace2)
wm2.create_workspace(wm)
运行作业
提交作业
wm.create_submission("config_namespace/config_name", sample_id, 'sample', use_callcache=True)
wm.create_submission("config_namespace/config_name", sample_set_id, 'sample_set', expression='this.samples', use_callcache=True)
wm.create_submission("config_namespace/config_name", participant_id, 'participant', expression='this.samples_', use_callcache=True)
监控作业
wm.get_submission_status()
获取运行时统计信息(包括成本估算)
status_df = wm.get_sample_status(config_name)
workflow_status_df, task_dfs = wm.get_stats(status_df)
重新运行失败的作业(对于样本集)
status_df = wm.get_sample_set_status(config_name)
print(status_df['status'].value_counts()) # list sample statuses
wm.update_sample_set('reruns', status_df[status_df['status']=='Failed'].index)
wm.create_submission(config_namespace, config_name, sample_set_id, 'reruns', expression=this.samples, use_callcache=True)
内容
包括以下列出的附加FireCloud工具
workflow_time
create_workspace
delete_workspace
upload_samples
upload_participants
update_participant_samples
update_attributes
get_submission_status
get_storage
get_stats
publish_config
get_samples
get_sample_sets
update_sample_set
delete_sample_set
update_configuration
check_configuration
get_google_metadata
parse_google_stats
calculate_google_cost
list_methods
get_method
get_method_version
list_configs
get_config
get_config_version
print_methods
print_configs
get_wdl
compare_wdls
compare_wdl
redact_outdated_method_versions
update_method
get_vm_cost
用法
某些功能依赖于已安装的 gsutil
。
当使用PY3时,这可能会创建需要多个可访问Python安装的潜在问题。
通过为gsutil Python定义一个 env
变量来解决这个问题
# replace path with path to local python 2.7 path.
# if using pyenv the following should work
# (assuming of course 2.7.12 is installed)
export CLOUDSDK_PYTHON=/usr/local/var/pyenv/versions/2.7.12/bin/python
项目详情
下载文件
下载您平台上的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源分布
firecloud-dalmatian-0.0.18.tar.gz (149.1 kB 查看散列)
构建分布
关闭
firecloud-dalmatian-0.0.18.tar.gz 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | bee9f9815567483953b6c531380a39f20605506a722a861497e027900abcf308 |
|
MD5 | 30aa1b981c798f2bdfff35658d0ff00d |
|
BLAKE2b-256 | 160a0aebc126f4c0b7842fd5aa63fd1bdd619ec9f8ecd76afe9b0da8f4c23720 |
关闭
firecloud_dalmatian-0.0.18-py3-none-any.whl 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | bb0b247db68d0ab354deaa3f388f4e8692f3cdf88ba9023db3060cc09f3cfff5 |
|
MD5 | 7e0d86e3efdfb953cad565506ae24398 |
|
BLAKE2b-256 | 3f32cd8fbdaa416e0778b8d045d11d1e59ba49c596444c84b7edff567abf7541 |