Methodology
What BharatGenome compares, and what it refuses to claim
This page is deliberately explicit about method and limits. A comparison tool is only useful if you can see where its numbers came from and where they stop being trustworthy.
What is being compared
For one gene, variant, or rsID: allele frequencies observed in Indian population data against those in broader global reference data, plus the availability of data on each side.
Population representation
Genomic reference resources are built from the populations that were sequenced. India's share of that data is small relative to its population and its genetic diversity. BharatGenome treats that imbalance as a measurable property of a result, surfaced alongside the result itself, rather than as background context.
Indian vs global evidence
"Indian" here means aggregate evidence from Indian population cohorts; "global" means broad multi-population reference aggregations. Neither is a gold standard for the other. An aggregate Indian figure also averages over substantial internal population structure, and results say so.
How a result is produced
Five steps, in order. Each one can end the pipeline by reporting absence.
- 01
Resolve the query
A gene symbol, variant notation, or rsID is classified and passed to each configured provider for resolution into concrete coordinates and alleles. If nothing can resolve it, that is reported — no coordinate is guessed.
- 02
Ask each population provider independently
Indian-scope and global-scope providers are queried in parallel with the same resolved identity. Each returns its own allele frequencies, sample size, and dataset version, or an explicit reason it returned nothing.
- 03
Compare only what both sides supplied
The comparison engine computes per-allele differences and fold changes. If either side is missing, no comparison is produced at all — a one-sided frequency list is not a comparison and is never rendered as one.
- 04
Assess confidence from what was reported
Confidence is derived from data availability and the smaller cohort's sample size, and is reported as 'unknown' whenever the comparison could not run. Every confidence level ships with its rationale.
- 05
Attach literature and provenance
A literature provider is queried for the gene or variant with population context. Every source consulted is listed with whether it was configured and whether it answered.
How the comparison is computed
Conceptually, per allele reported by both sides. Nothing here runs when one side is silent.
Absolute difference
|indian − global|
null if either side is missing
Fold change
indian ÷ global
null when the global figure is zero or absent
Direction
higher / similar
a label on the difference, never a claim of cause
Frequencies are compared as reported by each provider, on the alleles both providers named. Alleles present on only one side are listed but not differenced. Nothing is normalised across datasets, and no statistical significance is asserted — cohort composition, ascertainment, and dataset versions differ between providers, and BharatGenome does not have the metadata to correct for that.
What confidence means here
Confidence describes how well-supported the comparison is by the data that was actually returned. It is never a statement about clinical validity.
The comparison could not run — a provider was unconfigured, had no record, or errored. No difference is reported.
Both sides answered, but the smaller cohort is small enough that the observed difference is weakly supported.
Both sides answered with a cohort size that supports reading the direction of the difference, not its precise magnitude.
Both sides answered from substantial cohorts. Still an aggregate comparison, not evidence about any individual.
Where real data providers fit
Providers are the only components permitted to produce a genomic number. Each is off until its endpoint is configured, so an unconfigured system reports absence instead of estimating.
Loading provider status…
The provider contract, the HTTP shape a data service must implement, and the steps to add a new population or literature provider are documented in docs/data-providers.md and docs/architecture.md.
How literature is incorporated
Gene or variant → literature search with population context → relevant papers → evidence summary.
Literature is retrieved from a configured provider and listed with its identifiers and the population context used to find it. BharatGenome does not generate citations, PMIDs, abstracts, or conclusions, and does not summarise papers it has not retrieved. When no literature provider is configured, the section states that and lists nothing.
Limitations of this version
Research prototype
No bundled genomic datasets
Absence is reported, not filled in
Aggregates only
Explicitly out of scope
Things this system will not do, by design, and which no amount of provider configuration would enable.
- Diagnosis, risk prediction, carrier status, or any clinical decision support.
- Individual-level genotypes, uploads, or personal genetic data of any kind.
- Generated citations, abstracts, PMIDs, or summaries of papers not retrieved.
- Imputed, defaulted, or cross-population-borrowed allele frequencies.
- Sub-population resolution within India — results are aggregates, not cohort-level.
- Causal claims. A frequency difference between populations is an observation, not a mechanism.
See also the Learn Genomics section for the terminology used on this page, or Explore for the structure a result takes.