【问题标题】:How is it possible to export a Cloud Genomics variantset to BigQuery now that varientsets.export has been deprecated?既然 varientsets.export 已被弃用,如何将 Cloud Genomics 变体集导出到 BigQuery?
【发布时间】:2018-05-13 04:33:46
【问题描述】:

我已将一个变体集加载到 Cloud Genomics 并尝试将其导出到 BigQuery。我尝试的第一种方法是使用此处详述的管道:

https://cloud.google.com/genomics/docs/how-tos/load-variants

但是,进入该过程 20 分钟后,它失败了。根据 StackDriver 错误报告,这似乎是 VCF 文件中的一个问题,但我无法解释如何修复它:

ValueError: Invalid record in VCF file. Error: list index out of range
at next (/usr/local/lib/python2.7/dist-packages/gcp_variant_transforms/beam_io/vcfio.py:476)
at read_records (/usr/local/lib/python2.7/dist-packages/gcp_variant_transforms/beam_io/vcfio.py:398)
at dataflow_worker.native_operations.NativeReadOperation.start (native_operations.py:48)
at dataflow_worker.native_operations.NativeReadOperation.start (native_operations.py:44)
at dataflow_worker.native_operations.NativeReadOperation.start (native_operations.py:39)
at dataflow_worker.native_operations.NativeReadOperation.start (native_operations.py:38)
at execute (/usr/local/lib/python2.7/dist-packages/dataflow_worker/executor.py:167)
at do_work (/usr/local/lib/python2.7/dist-packages/dataflow_worker/batchworker.py:609)

所以我继续寻找其他选择。我转向 API:

https://cloud.google.com/genomics/reference/rest/v1/variantsets/export

我确保我的帐户是 BigQuery 管理员和 Genoimcs 变体集的所有者。我使用了以下参数:

{
  "projectId": "my-project",
  "format": "FORMAT_BIGQUERY",
  "bigqueryDataset": "my_dataset",
  "bigqueryTable": "new_table"
}

提交后,我收到以下错误:

{
  "error": {
    "code": 500,
    "message": "Unknown Error.",
    "status": "UNKNOWN"
  }
}

我也从命令行尝试过这个:gcloud alpha genomics variantsets export variantset_id bigquery_table --bigquery-dataset=my-dataset --bigquery-project=my-project

但这也给了我一个 500 未知错误。我已经回顾了几个小时,文档非常稀少。

请问,我错过了什么?

【问题讨论】:

  • 运行管道时,您应该能够在 Dataflow 控制台中看到错误日志。它可以与public dataset 一起使用吗?
  • 公共数据集也失败了。我查看了 Dataflow Console 错误日志。有四个步骤,每个步骤都标为“失败”:ReadfromVcf、FilterVariants、ProcessVaraints、VarianttoBigQuery。单击它们中的每一个都会显示“未找到所选日志的条目”。 “ProcessVaraints”的拼写不是我的错字,而是 Google 的。
  • 我已更新我的原始帖子以包含 StackDriver 错误。问题出在 VCF 文件本身。如果您知道如何解决此问题,请告诉我。

标签: google-bigquery google-genomics


【解决方案1】:

看起来 VCF 文件中的一行或多行格式错误,不符合 spec

我们刚刚发布了一个预处理器/验证器工具,它可以显示所有此类格式错误的记录的报告。请试一试:https://github.com/googlegenomics/gcp-variant-transforms/blob/master/docs/vcf_files_preprocessor.md(请使用--report_all_conflicts 运行以确保获得完整报告)。

如果事实证明只有少数记录格式错误,那么您可以在 VCF 文件中手动修复它们,或者使用--allow_malformed_records 运行vcf_to_bq 管道,这将跳过格式错误的记录(只记录它们)并加载其余部分。

【讨论】:

    【解决方案2】:

    感谢您提出这个问题。我们在六个月前弃用了 Variants API,因为我们发现人们用它做的第一件事是 BQ 导出。

    因此,我们发布了一个全新的FOSS 工具 Variant Transforms,它可以简单地完成这项任务,但性能更高。

    Link

    实际上,我们这周刚刚发布了一个新版本。请看一看,让我们知道您的想法。

    除了代码和文档之外,您还可以在那里看到我们的许多产品路线图

    请发表评论并分享您的想法!

    仅供参考,我们将很快停用 Variants API

    Jonathan(PM,生物医学数据,Google Cloud)

    【讨论】:

    • 感谢您的澄清。不幸的是,FOSS 工具不起作用(见上文)。 Dataflow 控制台日志在流程的每个步骤都显示“失败”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多