ワンクリックで
hvantk-resource-gencc
Onboard, build, or update the GenCC submissions resource for hvantk
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Onboard, build, or update the GenCC submissions resource for hvantk
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Onboard, build, or update the ClinGen Gene-Disease Validity resource for hvantk
Onboard, build, or update the ClinVar resource for hvantk
Build a Hail Table from GTEx cis-eQTL summary statistics (per-tissue significant variant-gene pairs) for qtlcascade and variant annotation.
Build a Hail Table from the EBI GWAS Catalog v1.0 full-associations TSV for variant-annotation joins.
Build a Hail Table from the Interactome Insider genomic BED (protein-protein interface residues projected to GRCh38) for interval-based variant annotation.
Build a Hail Table from an MSigDB GMT gene-set file (e.g., C2 Canonical Pathways) for enrichment / burden / overlap analyses.
| name | hvantk:resource-gencc |
| description | Onboard, build, or update the GenCC submissions resource for hvantk |
| status | provisional |
| backend | hail |
| domain | genomics |
Read hvantk/skills/_conventions/SKILL.md first. This skill assumes its repository map, helpers, keying conventions, builder pattern, and validation contract.
This skill covers BUILD and UPDATE of the GenCC Submissions Hail Table. It does NOT cover download (see hvantk/skills/gencc/cli.py) or downstream streamer logic (see hvantk/skills/gencc/streamers.py, GenCCGeneDiseaseTableStreamer, a thin subclass of the shared GeneDiseaseTableStreamer base in hvantk/core/streamers/gene_disease_table.py).
Provider metadata (URL, license, citation) lives in the plugin's catalog/datasets.json (or query it with hvantk catalog show <accession> once a GenCC catalog entry exists). The URL/version constants live in hvantk/skills/gencc/shared/constants.py (GENCC_BASE_URL, GENCC_FILE_PREFIX). Read those files; do not restate.
Stable provider notes the catalog will not capture:
Last-Modified header (when present) and by the submitted_as_date values in the body.hl.import_table cannot handle natively, so the dataset's download() runs sanitize_tsv() in-place before the file is consumed.hail. GenCC is small (~5-10k rows) and _conventions § 3 allows pandas for mapping tables, but every current consumer (GenCCGeneDiseaseTableStreamer, gene-disease join points in PSROC, multi-table joins) reads it as a Hail Table — producing one avoids redundant materialization at every join site.
sgc_id. There is no metadata preamble (unlike ClinGen).sanitize_tsv strips multiline quoted fields and blank lines). The builder itself calls hl.import_table directly on the sanitized TSV.hl.import_table(delimiter="\t", impute=False, min_partitions=10). All fields stay as strings; no type inference.GENCC_SUBMISSION_FIELDS (hvantk/skills/gencc/shared/constants.py). Notable renames: gene_curie → hgnc_id, gene_symbol → gene_symbol, disease_curie → mondo_id, disease_title → disease_label, classification_title → classification, moi_title → mode_of_inheritance, submitter_title → submitter, submitted_as_date → submission_date, submitted_as_public_report_url → report_url, submitted_as_pmids → pmids.HGNC: and MONDO: prefixes from hgnc_id and mondo_id (asymmetric with HGNC, symmetric with ClinGen).GENCC_CLASSIFICATION_LEVELS, strongest first): Definitive, Strong, Moderate, Supportive, Limited, Disputed Evidence, Refuted Evidence, No Known Disease Relationship. The builder annotates classification_level as the numeric position (lower is stronger); unknown values get len(GENCC_CLASSIFICATION_LEVELS).(hgnc_id, mondo_id, submitter) (one row per submitter assertion). There is no key_by/aggregation parameter.--plugin-arg key=value): min_classification filters to assertions at or above the given confidence level (must be one of GENCC_CLASSIFICATION_LEVELS); fields selects a subset of row fields.hl.import_table plus rename/annotate/key_by transforms, then wraps it via AnnotationTable.from_hail. There is no _create_table_base helper and no output_path/overwrite/export_tsv plumbing in the builder signature; the real signature is build_gencc_submissions(parsed_input, ctx, *, min_classification=None, fields=None) -> AnnotationTable.Hail Table at <output_path>.ht, keyed by (hgnc_id, mondo_id, submitter).
Row schema includes: sgc_id, hgnc_id, gene_symbol, mondo_id, disease_label, disease_original_id, disease_original_label, classification, classification_level, mode_of_inheritance, submitter, submission_date, report_url, pmids.
hvantk/skills/gencc/plugin.yaml (drives loader registration; compound dataset key gencc:submissions).build_gencc_submissions in hvantk/skills/gencc/builder.py.download_cmd (Click gencc-download) in hvantk/skills/gencc/cli.py; lifecycle entry-point download_dataset(raw_dir=..., overwrite=...) (declared under lifecycle.download in plugin.yaml). The umbrella download group lives in hvantk/tools/plugins/download_cli.py.GenCCSubmissionsDataset in hvantk/skills/gencc/shared/datasets.py.hvantk reprocess gencc:submissions --raw-dir <dir> --output <path>.ht (pass builder kwargs via --plugin-arg key=value, e.g. --plugin-arg min_classification=Strong). The plugin loader (hvantk/core/plugin/loader.py) auto-resolves the dataset from plugin.yaml via get_registry().get_dataset("gencc:submissions"); the build runs through run_builder_for_spec (hvantk/core/plugin/run_builder.py).GenCCGeneDiseaseTableStreamer in hvantk/skills/gencc/streamers.py, a thin subclass of GeneDiseaseTableStreamer (base in hvantk/core/streamers/gene_disease_table.py); shared with the ClinGen/gene-disease streamer family.GENCC_BASE_URL, GENCC_FILE_PREFIX, GENCC_SUBMISSION_FIELDS, GENCC_CLASSIFICATION_LEVELS in hvantk/skills/gencc/shared/constants.py.hvantk/skills/gencc/tests/test_gencc.py (dataset class + builder-driven streamer tests), test_drift_probe.py.When invoked to build or update:
<raw_dir>/gencc-submissions-<YYYY-MM-DD>.tsv. If absent, run hvantk download gencc --output-dir <raw_dir>.hvantk reprocess gencc:submissions --raw-dir <dir> --output <path>.ht (pass --plugin-arg min_classification=Strong to filter).hgnc_id == "1100", not "HGNC:1100").pytest hvantk/skills/gencc/tests -m hail.When GenCC publishes an updated snapshot (any download is effectively a new snapshot):
hvantk download gencc --output-dir <raw_dir> --overwrite. Capture the Last-Modified header (or the snapshot date label) in the PR description.GENCC_SUBMISSION_FIELDS. Removed/renamed columns require updating GENCC_SUBMISSION_FIELDS.hvantk/skills/gencc/tests/drift_fingerprint.json and inspect for column-list changes or hash changes.hvantk/skills/gencc/tests/testdata/raw/gencc/gencc_test_sample.tsv) is no longer representative (new classification value, new submitter under test), refresh it from a curated sub-sample.--regenerate-snapshots; expected diffs: new optional columns, refreshed submission_date values. Unexpected diffs (changed key semantics, stripped prefixes leaking back in) require investigation before commit.fixture: hvantk/skills/gencc/tests/testdata/raw/gencc/gencc_test_sample.tsvdrift_fingerprint: hvantk/skills/gencc/tests/drift_fingerprint.jsontest_command: pytest hvantk/skills/gencc/tests -m hailSnapshot status: schema.json and sample_rows.json have NOT yet been seeded for this plugin. On first round-trip run in a hail-enabled environment, use
pytest hvantk/skills/gencc/tests/test_gencc.py --regenerate-snapshotsto bootstrap them, then commit. Until seeded, the round-trip test cannot verify output against a fixed schema.