Как можно экспортировать набор вариантов Cloud Genomics в BigQuery теперь, когда varientsets.export устарел?

Я загрузил набор вариантов в 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 неизвестных ошибок. Я возвращался к этому в течение нескольких часов, и документация довольно скудная.

Пожалуйста, что я мог пропустить?

2 ответа

Решение

Похоже, что одна или несколько строк в файле VCF искажены и не соответствуют спецификации.

Мы только что выпустили инструмент препроцессора / валидатора, который показывает отчет обо всех таких искаженных записях. Пожалуйста, попробуйте: https://github.com/googlegenomics/gcp-variant-transforms/blob/master/docs/vcf_files_preprocessor.md (пожалуйста, запустите с --report_all_conflicts чтобы убедиться, что вы получите полный отчет).

Если окажется, что только несколько записей искажены, вы можете исправить их вручную в файле VCF или запустить vcf_to_bq трубопровод с --allow_malformed_records, который пропустит искаженные (просто записывает их) и загрузит остальные.

Спасибо, что задали этот вопрос. Мы устарели Variants API шесть месяцев назад, потому что мы обнаружили, что первое, что люди сделали с этим, был экспорт BQ.

Итак, мы выпустили новый инструмент FOSS, Variant Transforms, который просто выполняет эту задачу, но является более производительным.

Ссылка на сайт

На самом деле у нас только что был новый релиз на этой неделе. Пожалуйста, посмотрите и дайте нам знать, что вы думаете.

В дополнение к коду и документам, вы также увидите много нашей дорожной карты продукта.

Пожалуйста, прокомментируйте и поделитесь своими мыслями!

К вашему сведению, мы будем выводить из эксплуатации Variants API скоро.

Джонатан (PM, биомедицинские данные, Google Cloud)

Другие вопросы по тегам