defer throttleCPU.Release()
count := make(map[[blake2b.Size256]byte]int, len(variants))
for _, cg := range cgs {
- idx := (tag - tagstart) * 2
- if int(idx) < len(cg.Variants) {
- count[variants[cg.Variants[idx]].Blake2b]++
- count[variants[cg.Variants[idx+1]].Blake2b]++
+ idx := int(tag-tagstart) * 2
+ if idx < len(cg.Variants) {
+ for allele := 0; allele < 2; allele++ {
+ v := cg.Variants[idx+allele]
+ if v > 0 && len(variants[v].Sequence) > 0 {
+ count[variants[v].Blake2b]++
+ }
+ }
}
}
// hash[i] will be the hash of
outcol := tag - tagID(tagstart)
reftilestr := strings.ToUpper(string(rt.tiledata))
remap := variantRemap[tag-tagstart]
+ done := make([]bool, len(variants))
for v, tv := range variants {
+ v := remap[v]
+ if done[v] {
+ continue
+ } else {
+ done[v] = true
+ }
if len(tv.Sequence) < taglen || !bytes.HasSuffix(rt.tiledata, tv.Sequence[len(tv.Sequence)-taglen:]) {
continue
}
diffs, _ := hgvs.Diff(reftilestr, strings.ToUpper(string(tv.Sequence)), 0)
for _, diff := range diffs {
diff.Position += rt.pos
- fmt.Fprintf(annow, "%d,%d,%d,%s:g.%s,%s,%d,%s,%s\n", tag, outcol, remap[v], rt.seqname, diff.String(), rt.seqname, diff.Position, diff.Ref, diff.New)
+ fmt.Fprintf(annow, "%d,%d,%d,%s:g.%s,%s,%d,%s,%s,%s\n", tag, outcol, v, rt.seqname, diff.String(), rt.seqname, diff.Position, diff.Ref, diff.New, diff.Left)
}
}
}