Feature: Implement constrained k-mer generation and clique search

This commit introduces core functionality for oligonucleotide family tagging, constrained k-mer generation, and clique finding. It also includes updates to the Go language version and refactors the logic for k-mer dissimilarity metrics.
This commit is contained in:
Eric Coissac committed 2026-11-03 09:25:34 +11:00
1 parent f76e7f03c6
commit 3087c70daa
17 files changed
+1791 -13

No files matched your search

+33
View File
@@ -0,0 +1,33 @@
package main
import (
"os"
log "github.com/sirupsen/logrus"
"git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obioptions"
"git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obitools/obiconvert"
"git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obitools/obioligotag"
"git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obiutils"
)
func main() {
optionParser := obioptions.GenerateOptionParser(
"obioligotag",
"designs a family of oligonucleotides (tags) at a minimum distance from each other",
obioligotag.OptionSet)
_, args := optionParser(os.Args)
if len(args) > 0 {
log.Fatalf("unexpected arguments %v: use --oligo-list to provide candidate oligonucleotides", args)
}
oligos, err := obioligotag.CLIOligoFamily()
if err != nil {
log.Fatalf("%v", err)
}
obiconvert.CLIWriteBioSequences(obioligotag.CLIOligosToIterator(oligos), true)
obiutils.WaitForLastPipe()
}