librefsFilename := flags.String("output-onehot2tilevar", "", "when using -one-hot, create csv `file` mapping column# to tag# and variant#")
labelsFilename := flags.String("output-labels", "", "output `file` for genome labels csv")
regionsFilename := flags.String("regions", "", "only output columns/annotations that intersect regions in specified bed `file`")
+ expandRegions := flags.Int("expand-regions", 0, "expand specified regions by `N` base pairs on each side`")
onehot := flags.Bool("one-hot", false, "recode tile variants as one-hot")
chunks := flags.Int("chunks", 1, "split output into `N` numpy files")
cmd.filter.Flags(flags)
"-output-onehot2tilevar", "/mnt/output/onehot2tilevar.csv",
"-output-labels", "/mnt/output/labels.csv",
"-regions", *regionsFilename,
+ "-expand-regions", fmt.Sprintf("%d", *expandRegions),
"-max-variants", fmt.Sprintf("%d", cmd.filter.MaxVariants),
"-min-coverage", fmt.Sprintf("%f", cmd.filter.MinCoverage),
"-max-tag", fmt.Sprintf("%d", cmd.filter.MaxTag),
}
log.Info("determining which tiles intersect given regions")
- dropTiles, err := chooseTiles(tilelib, *regionsFilename)
+ dropTiles, err := chooseTiles(tilelib, *regionsFilename, *expandRegions)
if err != nil {
return 1
}
return
}
-func chooseTiles(tilelib *tileLibrary, regionsFilename string) (drop []bool, err error) {
+func chooseTiles(tilelib *tileLibrary, regionsFilename string, expandRegions int) (drop []bool, err error) {
if regionsFilename == "" {
return
}
return
}
}
- mask.Add(refseqname, start, end)
+ mask.Add(refseqname, start-expandRegions, end+expandRegions)
}
log.Print("chooseTiles: mask.Freeze")
mask.Freeze()