diff --git a/cmd/obitools/obipairing/main.go b/cmd/obitools/obipairing/main.go index 8f9efd5..098d47d 100644 --- a/cmd/obitools/obipairing/main.go +++ b/cmd/obitools/obipairing/main.go @@ -37,6 +37,11 @@ func main() { optionParser(os.Args) + if !obipairing.CLIHasPairedFiles() { + log.Error("You must provide both a forward file (-F) and a reverse file (-R)") + os.Exit(1) + } + obidefault.SetStrictReadWorker(2) obidefault.SetStrictWriteWorker(2) pairs, err := obipairing.CLIPairedSequence() diff --git a/cmd/obitools/obitagpcr/main.go b/cmd/obitools/obitagpcr/main.go index d63d557..a62f673 100644 --- a/cmd/obitools/obitagpcr/main.go +++ b/cmd/obitools/obitagpcr/main.go @@ -1,6 +1,7 @@ package main import ( + "fmt" "os" log "github.com/sirupsen/logrus" @@ -8,6 +9,7 @@ import ( "git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obidefault" "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" "git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obitools/obipairing" "git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obitools/obitagpcr" "git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obiutils" @@ -39,6 +41,17 @@ func main() { obitagpcr.OptionSet) optionParser(os.Args) + + if obimultiplex.CLIAskConfigTemplate() { + fmt.Print(obimultiplex.CLIConfigTemplate()) + os.Exit(0) + } + + if !obipairing.CLIHasPairedFiles() { + log.Error("You must provide both a forward file (-F) and a reverse file (-R)") + os.Exit(1) + } + pairs, err := obipairing.CLIPairedSequence() if err != nil { diff --git a/pkg/obitools/obipairing/options.go b/pkg/obitools/obipairing/options.go index 0c524fd..3336042 100644 --- a/pkg/obitools/obipairing/options.go +++ b/pkg/obitools/obipairing/options.go @@ -21,12 +21,10 @@ func PairingOptionSet(options *getoptions.GetOpt) { options.StringVar(&_ForwardFile, "forward-reads", "", options.Alias("F"), options.ArgName("FILENAME_F"), - options.Required("You must provide at a forward file"), options.Description("The file names containing the forward reads")) options.StringVar(&_ReverseFile, "reverse-reads", "", options.Alias("R"), options.ArgName("FILENAME_R"), - options.Required("You must provide a reverse file"), options.Description("The file names containing the reverse reads")) options.IntVar(&_Delta, "delta", _Delta, options.Alias("D"), @@ -72,6 +70,10 @@ func CLIPairedSequence() (obiiter.IBioSequence, error) { return paired, nil } +func CLIHasPairedFiles() bool { + return _ForwardFile != "" && _ReverseFile != "" +} + func CLIDelta() int { return _Delta }