2024-08-13 09:45:28 +02:00
|
|
|
package main
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"log"
|
|
|
|
|
"os"
|
|
|
|
|
|
|
|
|
|
"git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obiiter"
|
|
|
|
|
"git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obioptions"
|
|
|
|
|
"git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obiseq"
|
|
|
|
|
"git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obitools/obiconvert"
|
|
|
|
|
"git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obitools/obikmersim"
|
2025-01-24 18:09:59 +01:00
|
|
|
"git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obiutils"
|
2024-08-13 09:45:28 +02:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func main() {
|
|
|
|
|
|
|
|
|
|
defer obiseq.LogBioSeqStatus()
|
|
|
|
|
|
|
|
|
|
// go tool pprof -http=":8000" ./obipairing ./cpu.pprof
|
|
|
|
|
// f, err := os.Create("cpu.pprof")
|
|
|
|
|
// if err != nil {
|
|
|
|
|
// log.Fatal(err)
|
|
|
|
|
// }
|
|
|
|
|
// pprof.StartCPUProfile(f)
|
|
|
|
|
// defer pprof.StopCPUProfile()
|
|
|
|
|
|
|
|
|
|
// go tool trace cpu.trace
|
|
|
|
|
// ftrace, err := os.Create("cpu.trace")
|
|
|
|
|
// if err != nil {
|
|
|
|
|
// log.Fatal(err)
|
|
|
|
|
// }
|
|
|
|
|
// trace.Start(ftrace)
|
|
|
|
|
// defer trace.Stop()
|
|
|
|
|
|
2025-03-12 14:40:42 +01:00
|
|
|
optionParser := obioptions.GenerateOptionParser(
|
|
|
|
|
"obikmersimcount",
|
|
|
|
|
"",
|
|
|
|
|
obikmersim.CountOptionSet)
|
2024-08-13 09:45:28 +02:00
|
|
|
|
|
|
|
|
_, args := optionParser(os.Args)
|
|
|
|
|
|
|
|
|
|
var err error
|
|
|
|
|
sequences := obiiter.NilIBioSequence
|
|
|
|
|
|
|
|
|
|
if !obikmersim.CLISelf() {
|
|
|
|
|
sequences, err = obiconvert.CLIReadBioSequences(args...)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
obiconvert.OpenSequenceDataErrorMessage(args, err)
|
|
|
|
|
|
2024-08-30 11:17:33 +02:00
|
|
|
counted := obikmersim.CLILookForSharedKmers(sequences)
|
|
|
|
|
topull, err := obiconvert.CLIWriteBioSequences(counted, false)
|
2024-08-13 09:45:28 +02:00
|
|
|
|
2024-08-30 11:17:33 +02:00
|
|
|
if err != nil {
|
2024-08-13 09:45:28 +02:00
|
|
|
log.Panic(err)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
topull.Consume()
|
|
|
|
|
|
2025-01-24 18:09:59 +01:00
|
|
|
obiutils.WaitForLastPipe()
|
2024-08-13 09:45:28 +02:00
|
|
|
|
|
|
|
|
}
|