github.com/vertgenlab/gonomics@v1.0.0/cmd/gsw/vcfHelper.go (about) 1 package main 2 3 import ( 4 "github.com/vertgenlab/gonomics/fasta" 5 "github.com/vertgenlab/gonomics/fileio" 6 "github.com/vertgenlab/gonomics/genomeGraph" 7 "github.com/vertgenlab/gonomics/vcf" 8 ) 9 10 func vcfToGenomeGraph(vcfFile, faFile string) *genomeGraph.GenomeGraph { 11 ref := fasta.GoReadToChan(faFile) 12 13 hashByChrom := make(map[string][]vcf.Vcf) 14 file := fileio.EasyOpen(vcfFile) 15 defer file.Close() 16 vcf.ReadHeader(file) 17 18 for curr, done := vcf.NextVcf(file); !done; curr, done = vcf.NextVcf(file) { 19 hashByChrom[curr.Chr] = append(hashByChrom[curr.Chr], curr) 20 } 21 22 return genomeGraph.VariantGraph(ref, hashByChrom) 23 }