mirror of
https://github.com/metabarcoding/obitools4.git
synced 2025-06-29 16:20:46 +00:00
59 lines
1.3 KiB
Go
59 lines
1.3 KiB
Go
package main
|
|
|
|
import (
|
|
"encoding/json"
|
|
"fmt"
|
|
"os"
|
|
|
|
log "github.com/sirupsen/logrus"
|
|
"gopkg.in/yaml.v3"
|
|
|
|
"git.metabarcoding.org/lecasofts/go/obitools/pkg/obioptions"
|
|
"git.metabarcoding.org/lecasofts/go/obitools/pkg/obiseq"
|
|
"git.metabarcoding.org/lecasofts/go/obitools/pkg/obitools/obiconvert"
|
|
"git.metabarcoding.org/lecasofts/go/obitools/pkg/obitools/obisummary"
|
|
)
|
|
|
|
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()
|
|
|
|
optionParser := obioptions.GenerateOptionParser(obisummary.OptionSet)
|
|
|
|
_, args := optionParser(os.Args)
|
|
|
|
fs, err := obiconvert.CLIReadBioSequences(args...)
|
|
|
|
if err != nil {
|
|
log.Errorf("Cannot open file (%v)", err)
|
|
os.Exit(1)
|
|
}
|
|
|
|
summary := obisummary.ISummary(fs)
|
|
|
|
if obisummary.CLIOutFormat() == "json" {
|
|
output, _ := json.MarshalIndent(summary, "", " ")
|
|
fmt.Print(string(output))
|
|
} else {
|
|
output, _ := yaml.Marshal(summary)
|
|
fmt.Print(string(output))
|
|
}
|
|
fmt.Printf("\n")
|
|
}
|