Files
obitools4/cmd/obitools/obimultiplex/main.go

57 lines
1.3 KiB
Go
Raw Normal View History

package main
import (
"fmt"
"os"
log "github.com/sirupsen/logrus"
2022-11-16 17:13:03 +01:00
"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/obimultiplex"
2025-01-24 18:09:59 +01:00
"git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obiutils"
)
func main() {
2023-01-31 22:39:34 +01:00
// f, err := os.Create("cpu.pprof")
// if err != nil {
// log.Fatal(err)
// }
// pprof.StartCPUProfile(f)
// defer pprof.StopCPUProfile()
// ftrace, err := os.Create("cpu.trace")
// if err != nil {
// log.Fatal(err)
// }
// trace.Start(ftrace)
// defer trace.Stop()
optionParser := obioptions.GenerateOptionParser(
"obimultiplex",
"demultiplex amplicons",
obimultiplex.OptionSet)
_, args := optionParser(os.Args)
if obimultiplex.CLIAskConfigTemplate() {
fmt.Print(obimultiplex.CLIConfigTemplate())
os.Exit(0)
}
if !obimultiplex.CLIHasNGSFilterFile() {
log.Error("You must provide a tag list file following the NGSFilter format")
os.Exit(1)
}
sequences, err := obiconvert.CLIReadBioSequences(args...)
obiconvert.OpenSequenceDataErrorMessage(args, err)
2022-11-16 17:13:03 +01:00
amplicons, _ := obimultiplex.IExtractBarcode(sequences)
obiconvert.CLIWriteBioSequences(amplicons, true)
2022-02-01 23:25:19 +01:00
amplicons.Wait()
2025-01-24 18:09:59 +01:00
obiutils.WaitForLastPipe()
}