Parsing A Genome Source
genomi.parse_source is a core genomi.* tool: it detects, parses, and
digitizes a genome source (VCF/gVCF, BAM, paired-end FASTQ, or a
consumer-array raw genotype export from 23andMe, AncestryDNA, MyHeritage,
FamilyTreeDNA, or Living DNA; bare text/CSV, gzip/bzip2/xz-compressed, or
inside a zip/tar archive; or a .genome/1.0 bundle such as
sample.genome.tar.gz) into a queryable Active Genome Index.
- Use when: the user supplied a genome source in this chat and downstream
questions need a queryable Active Genome Index this session.
- Why: raw VCF/BAM/genotype files are too large and irregular for reliable
direct reasoning; parsing builds the scoped index later tools query.
- Not for: public-only genetics questions, selecting an already-parsed
index, or capped sample scans that should not replace a complete index.
- Result: digitizes local intake into an Active Genome Index; Genomi
auto-detects the source type. Supplying
user_nickname links the parsed
artifact to a user profile. It does not run whole-callset annotation —
focused tools materialize public libraries lazily when their evidence is
needed.
- If it returns
status="in_progress" with a job_id, poll
genomi.check_background_job; don't substitute a capped parse or raw scan
unless the user explicitly asks for a fallback.
- gVCFs parse in two phases. A gVCF is ~96% reference blocks, so the parse
returns as soon as every variant is stored and indexed — the result
reports
variants_ready (not yet completed) and the whole interpretation
surface (rsID, gene, region, exact-allele lookup, ClinVar, PRS, …) is already
correct. The reference-block tail is appended by a detached background job
(active_genome_index.build_reference_pass) whose job_id is surfaced in the
result's next_actions. Until that job reports completed, only "is this
locus confirmed reference vs not-callable" coverage answers are provisional —
every readiness/coverage result carries reference_pending to say so. Plain
VCFs, small files, and capped (max_records) parses stay single-phase. Other
sources (consumer arrays, BAM/FASTQ) have no reference tail to defer.
- After a parse, offer to name the profile. When the user did not pass
user_nickname, the result includes an ask_user next action: ask them for a
profile nickname and whether to set it as the machine default, then record it
by re-running with user_nickname (+ set_default_user=true) or via the
invoke-only active_genome_index.assign_user_genome / set_default_user
tools — exactly the offer INSTALL_FOR_AGENTS.md Step 8 makes.
The parse/digitize/user-management workflow (selecting users, approving
access, assigning a genome to a profile, lifecycle reparse) lives in the Active
Genome Index skill, which also owns the
active_genome_index.* interpretation tools.
Journal
Use journal when an investigation spans multiple Genomi tools and the host
agent needs to record reasoning over evidence. Journal entries are agent notes
with traceability links; they are not source evidence and should not be used as
candidate-ranking source_records.
These tools appear in the default tool list. Their full metadata is available
without expansion.
Genomi context and users:
genomi.check_background_job
genomi.check_libraries
genomi.describe_context
genomi.install
genomi.invoke
genomi.list_resources
genomi.search_indexes
genomi.set_response_profile
Active Genome Index:
All other active_genome_index.* and focused genetics tools are invoke-only:
reach them via genomi.invoke after loading the matching capability skill.
GenomiLab Research Desk (default-complete):
genomilab.open_workspace
genomilab.create_investigation
genomilab.form_specialist_board
genomilab.report_specialist_progress
genomilab.record_specialist_report
genomilab.inspect_investigation
genomilab.prepare_authorization
genomilab.record_patient_observations
genomilab.submit_plan
genomilab.execute_request
genomilab.check_request
genomilab.submit_brief
genomilab.submit_research_artifact
genomilab.verify_sequence_substitution
genomilab.run_esm_substitution_analysis
genomilab.run_proto_blinded_experiment_design
genomilab.list_research_artifacts
genomilab.list_research_tools
genomilab.revoke_context
The agent creates investigations and owns all task lifecycle. The portal must
not create, message, or cancel an agent task. A repeated local stdio MCP
initialize is a new agent session and requires renewed patient authorization
before private investigation state becomes visible. HTTP MCP initialization is
public-tools-only and cannot create or replace the private GenomiLab runtime.
Public research:
research.build_target_packet
research.list_sources
research.query
research.record
research.search
Journal:
journal.append_entry
journal.export_memory
journal.search_entries
journal.summarize
Candidate Evidence
Candidate and ranking operations return evidence views, decision_evidence,
warnings, and coverage.
Use source-specific candidate-gene tools instead of a universal comparator:
phenotype.compare_gene_hpo_evidence for HPO/single-subject phenotype
matching, gwas.compare_gene_associations for GWAS Catalog gene-field
evidence, phenotype.compare_drug_target_evidence for drug-target evidence,
and functional_genomics.compare_gene_perturbation for perturbation evidence.
phenotype.retrieve_trait_gene_records retrieves trait-to-gene records from integrated
sources. Records labelled association_only_not_causal are visible evidence,
not an answer.
Any operation that exposes an answer-shaped candidate result must expose the
evidence behind that result. Use that evidence for the host-agent decision.
Multi-Stream Synthesis
When multiple Genomi capabilities can contribute orthogonal evidence to the
same question, combine them — both in the initial plan and in follow-ups.
A scope-limited single-capability result (missing calibration, no record at
locus, association-only, library-not-installed, low overlap, source
unavailable, etc.) is not a final user-facing answer when other Genomi
capabilities can contribute orthogonal evidence to the same question.
Returning "I cannot answer" while applicable capabilities remain unexamined
is a host-agent failure mode, not a Genomi limitation.
When multiple plausible plans differ materially in cost, surface the choice
once with the tradeoff and commit to the user's pick. Over-checkpointing is
itself a failure mode.
Answering
Lead with the answer. When a finding is grounded in a public dataset
(ClinVar, GWAS Catalog, PGS Catalog, 1000 Genomes panel, etc.) and that
source materially shapes the result, name the dataset inline in the
prose. Keep clinical language informational and recommend clinical
confirmation for medical decisions. Confidence is an answer-time
synthesis judgment, not static metadata. Adapt explanation depth to the
selected response profile without weakening evidence limits, privacy
boundaries, or clinical-confirmation language.