You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
MultiSourceView currently joins sources and ancestral annotations by position without checking contigs, REF alleles or duplicate annotation rows. This can select the wrong ancestral allele for the Unified Genealogies inputs (#1166).
For example, at GRCh37 20:10002611:
Input
REF
ALT
Ancestral allele
TGP and SGDP SNP
A
G
—
Ensembl deletion
ATTA
A
ATTA
Ensembl SNP
A
G
A
The lookup code currently selects the first Ensembl row, assigning ATTA to the SNP instead of A.
To prevent errors like this, I think we need the following:
Allow SNP filtering of the ancestral annotation input like with other sources, and reject remaining duplicate annotations at selected positions. This can follow the same filtering approach suggested in #1192.
Exclude sites with missing ancestral state (., N and empty strings) from both inference and augment_sites.
Check that selected records resolve to one shared contig name using each store's contig_id array. For example, TGP uses index 19 for 20; SGDP and Ensembl use index 0 for the same name. This requires fixing the bug in Fix minor inconsistency in ancestor inference algorithm #1194.
Check that REF agrees between sample sources and the selected annotations, raising an error with the source names and position on disagreement.
Together with inference-site filtering in #1198, these checks should make joining by position safe.
MultiSourceViewcurrently joins sources and ancestral annotations by position without checking contigs, REF alleles or duplicate annotation rows. This can select the wrong ancestral allele for the Unified Genealogies inputs (#1166).For example, at GRCh37
20:10002611:The lookup code currently selects the first Ensembl row, assigning
ATTAto the SNP instead ofA.To prevent errors like this, I think we need the following:
.,Nand empty strings) from both inference andaugment_sites.contig_idarray. For example, TGP uses index 19 for20; SGDP and Ensembl use index 0 for the same name. This requires fixing the bug in Fix minor inconsistency in ancestor inference algorithm #1194.Together with inference-site filtering in #1198, these checks should make joining by position safe.