diff --git a/cmd/obitools/obiannotate/main.go b/cmd/obitools/obiannotate/main.go index 80e0943..05aa11d 100644 --- a/cmd/obitools/obiannotate/main.go +++ b/cmd/obitools/obiannotate/main.go @@ -2,6 +2,7 @@ package main import ( "os" + log "github.com/sirupsen/logrus" "git.metabarcoding.org/lecasofts/go/obitools/pkg/obiiter" "git.metabarcoding.org/lecasofts/go/obitools/pkg/obioptions" @@ -34,7 +35,13 @@ func main() { _, args := optionParser(os.Args) - sequences, _ := obiconvert.CLIReadBioSequences(args...) + sequences, err := obiconvert.CLIReadBioSequences(args...) + + if err != nil { + log.Errorf("Cannot open file (%v)",err) + os.Exit(1) + } + annotator := obiannotate.CLIAnnotationPipeline() obiconvert.CLIWriteBioSequences(sequences.Pipe(annotator), true) diff --git a/cmd/obitools/obiclean/main.go b/cmd/obitools/obiclean/main.go index 7dce48c..f012c7f 100644 --- a/cmd/obitools/obiclean/main.go +++ b/cmd/obitools/obiclean/main.go @@ -2,6 +2,7 @@ package main import ( "os" + log "github.com/sirupsen/logrus" "git.metabarcoding.org/lecasofts/go/obitools/pkg/obiiter" "git.metabarcoding.org/lecasofts/go/obitools/pkg/obitools/obiclean" @@ -15,7 +16,12 @@ func main() { _, args := optionParser(os.Args) - fs, _ := obiconvert.CLIReadBioSequences(args...) + fs, err := obiconvert.CLIReadBioSequences(args...) + + if err != nil { + log.Errorf("Cannot open file (%v)",err) + os.Exit(1) + } cleaned := obiclean.IOBIClean(fs) diff --git a/cmd/obitools/obicleandb/main.go b/cmd/obitools/obicleandb/main.go index 8fdda19..8ac4b6f 100644 --- a/cmd/obitools/obicleandb/main.go +++ b/cmd/obitools/obicleandb/main.go @@ -2,6 +2,7 @@ package main import ( "os" + log "github.com/sirupsen/logrus" "git.metabarcoding.org/lecasofts/go/obitools/pkg/obitools/obicleandb" "git.metabarcoding.org/lecasofts/go/obitools/pkg/obitools/obiconvert" @@ -14,7 +15,12 @@ func main() { _, args := optionParser(os.Args) - fs, _ := obiconvert.CLIReadBioSequences(args...) + fs, err := obiconvert.CLIReadBioSequences(args...) + + if err != nil { + log.Errorf("Cannot open file (%v)",err) + os.Exit(1) + } cleaned := obicleandb.ICleanDB(fs) diff --git a/cmd/obitools/obicomplement/main.go b/cmd/obitools/obicomplement/main.go index 8ae1f48..ca0201e 100644 --- a/cmd/obitools/obicomplement/main.go +++ b/cmd/obitools/obicomplement/main.go @@ -2,6 +2,7 @@ package main import ( "os" + log "github.com/sirupsen/logrus" "git.metabarcoding.org/lecasofts/go/obitools/pkg/obiiter" "git.metabarcoding.org/lecasofts/go/obitools/pkg/obiseq" @@ -15,7 +16,12 @@ func main() { _, args := optionParser(os.Args) - fs, _ := obiconvert.CLIReadBioSequences(args...) + fs, err := obiconvert.CLIReadBioSequences(args...) + + if err != nil { + log.Errorf("Cannot open file (%v)",err) + os.Exit(1) + } comp := fs.MakeIWorker(obiseq.ReverseComplementWorker(true)) obiconvert.CLIWriteBioSequences(comp, true) diff --git a/cmd/obitools/obiconvert/main.go b/cmd/obitools/obiconvert/main.go index fd670e2..9592976 100644 --- a/cmd/obitools/obiconvert/main.go +++ b/cmd/obitools/obiconvert/main.go @@ -2,6 +2,7 @@ package main import ( "os" + log "github.com/sirupsen/logrus" "git.metabarcoding.org/lecasofts/go/obitools/pkg/obiiter" "git.metabarcoding.org/lecasofts/go/obitools/pkg/obitools/obiconvert" @@ -14,7 +15,13 @@ func main() { _, args := optionParser(os.Args) - fs, _ := obiconvert.CLIReadBioSequences(args...) + fs, err := obiconvert.CLIReadBioSequences(args...) + + if err != nil { + log.Errorf("Cannot open file (%v)",err) + os.Exit(1) + } + obiconvert.CLIWriteBioSequences(fs, true) obiiter.WaitForLastPipe() diff --git a/cmd/obitools/obicount/main.go b/cmd/obitools/obicount/main.go index ba347a1..acff052 100644 --- a/cmd/obitools/obicount/main.go +++ b/cmd/obitools/obicount/main.go @@ -3,6 +3,7 @@ package main import ( "fmt" "os" + log "github.com/sirupsen/logrus" "git.metabarcoding.org/lecasofts/go/obitools/pkg/obitools/obiconvert" "git.metabarcoding.org/lecasofts/go/obitools/pkg/obitools/obicount" @@ -33,7 +34,13 @@ func main() { _, args := optionParser(os.Args) - fs, _ := obiconvert.CLIReadBioSequences(args...) + fs, err := obiconvert.CLIReadBioSequences(args...) + + if err != nil { + log.Errorf("Cannot open file (%v)",err) + os.Exit(1) + } + nvariant, nread, nsymbol := fs.Count(true) if obicount.CLIIsPrintingVariantCount() { diff --git a/cmd/obitools/obicsv/main.go b/cmd/obitools/obicsv/main.go index 49cfdf2..75cbe91 100644 --- a/cmd/obitools/obicsv/main.go +++ b/cmd/obitools/obicsv/main.go @@ -2,6 +2,7 @@ package main import ( "os" + log "github.com/sirupsen/logrus" "git.metabarcoding.org/lecasofts/go/obitools/pkg/obiiter" "git.metabarcoding.org/lecasofts/go/obitools/pkg/obioptions" @@ -14,7 +15,13 @@ func main() { _, args := optionParser(os.Args) - fs, _ := obiconvert.CLIReadBioSequences(args...) + fs, err := obiconvert.CLIReadBioSequences(args...) + + if err != nil { + log.Errorf("Cannot open file (%v)",err) + os.Exit(1) + } + obicsv.CLIWriteCSV(fs, true) obiiter.WaitForLastPipe() diff --git a/cmd/obitools/obidistribute/main.go b/cmd/obitools/obidistribute/main.go index b83340c..dd41b54 100644 --- a/cmd/obitools/obidistribute/main.go +++ b/cmd/obitools/obidistribute/main.go @@ -2,6 +2,7 @@ package main import ( "os" + log "github.com/sirupsen/logrus" "git.metabarcoding.org/lecasofts/go/obitools/pkg/obiiter" "git.metabarcoding.org/lecasofts/go/obitools/pkg/obitools/obiconvert" @@ -15,7 +16,12 @@ func main() { _, args := optionParser(os.Args) - fs, _ := obiconvert.CLIReadBioSequences(args...) + fs, err := obiconvert.CLIReadBioSequences(args...) + + if err != nil { + log.Errorf("Cannot open file (%v)",err) + os.Exit(1) + } obidistribute.DistributeSequence(fs) diff --git a/cmd/obitools/obigrep/main.go b/cmd/obitools/obigrep/main.go index da4c087..b2dd4de 100644 --- a/cmd/obitools/obigrep/main.go +++ b/cmd/obitools/obigrep/main.go @@ -2,6 +2,7 @@ package main import ( "os" + log "github.com/sirupsen/logrus" "git.metabarcoding.org/lecasofts/go/obitools/pkg/obiiter" "git.metabarcoding.org/lecasofts/go/obitools/pkg/obioptions" @@ -34,7 +35,12 @@ func main() { _, args := optionParser(os.Args) - sequences, _ := obiconvert.CLIReadBioSequences(args...) + sequences, err := obiconvert.CLIReadBioSequences(args...) + + if err != nil { + log.Errorf("Cannot open file (%v)",err) + os.Exit(1) + } selected := obigrep.CLIFilterSequence(sequences) obiconvert.CLIWriteBioSequences(selected, true) obiiter.WaitForLastPipe() diff --git a/cmd/obitools/obimultiplex/main.go b/cmd/obitools/obimultiplex/main.go index c351e6c..76a1ddb 100644 --- a/cmd/obitools/obimultiplex/main.go +++ b/cmd/obitools/obimultiplex/main.go @@ -2,6 +2,7 @@ package main import ( "os" + log "github.com/sirupsen/logrus" "git.metabarcoding.org/lecasofts/go/obitools/pkg/obiiter" "git.metabarcoding.org/lecasofts/go/obitools/pkg/obioptions" @@ -29,7 +30,12 @@ func main() { _, args := optionParser(os.Args) - sequences, _ := obiconvert.CLIReadBioSequences(args...) + sequences, err := obiconvert.CLIReadBioSequences(args...) + + if err != nil { + log.Errorf("Cannot open file (%v)",err) + os.Exit(1) + } amplicons, _ := obimultiplex.IExtractBarcode(sequences) obiconvert.CLIWriteBioSequences(amplicons, true) amplicons.Wait() diff --git a/cmd/obitools/obipairing/main.go b/cmd/obitools/obipairing/main.go index 23277b6..c242fa1 100644 --- a/cmd/obitools/obipairing/main.go +++ b/cmd/obitools/obipairing/main.go @@ -2,6 +2,7 @@ package main import ( "os" + log "github.com/sirupsen/logrus" "git.metabarcoding.org/lecasofts/go/obitools/pkg/obiiter" "git.metabarcoding.org/lecasofts/go/obitools/pkg/obioptions" @@ -30,7 +31,13 @@ func main() { optionParser := obioptions.GenerateOptionParser(obipairing.OptionSet) optionParser(os.Args) - pairs, _ := obipairing.CLIPairedSequence() + pairs, err := obipairing.CLIPairedSequence() + + if err != nil { + log.Errorf("Cannot open file (%v)",err) + os.Exit(1) + } + paired := obipairing.IAssemblePESequencesBatch(pairs, obipairing.CLIGapPenality(), obipairing.CLIDelta(), diff --git a/cmd/obitools/obipcr/main.go b/cmd/obitools/obipcr/main.go index 45995b4..c256d71 100644 --- a/cmd/obitools/obipcr/main.go +++ b/cmd/obitools/obipcr/main.go @@ -2,6 +2,7 @@ package main import ( "os" + log "github.com/sirupsen/logrus" "git.metabarcoding.org/lecasofts/go/obitools/pkg/obiiter" "git.metabarcoding.org/lecasofts/go/obitools/pkg/obioptions" @@ -31,7 +32,13 @@ func main() { _, args := optionParser(os.Args) - sequences, _ := obiconvert.CLIReadBioSequences(args...) + sequences, err := obiconvert.CLIReadBioSequences(args...) + + if err != nil { + log.Errorf("Cannot open file (%v)",err) + os.Exit(1) + } + amplicons, _ := obipcr.PCR(sequences) obiconvert.CLIWriteBioSequences(amplicons, true) obiiter.WaitForLastPipe() diff --git a/cmd/obitools/obirefidx/main.go b/cmd/obitools/obirefidx/main.go index f336363..b9fcdd0 100644 --- a/cmd/obitools/obirefidx/main.go +++ b/cmd/obitools/obirefidx/main.go @@ -2,6 +2,7 @@ package main import ( "os" + log "github.com/sirupsen/logrus" "git.metabarcoding.org/lecasofts/go/obitools/pkg/obiiter" "git.metabarcoding.org/lecasofts/go/obitools/pkg/obitools/obiconvert" @@ -15,7 +16,12 @@ func main() { _, args := optionParser(os.Args) - fs, _ := obiconvert.CLIReadBioSequences(args...) + fs, err := obiconvert.CLIReadBioSequences(args...) + + if err != nil { + log.Errorf("Cannot open file (%v)",err) + os.Exit(1) + } indexed := obirefidx.IndexReferenceDB(fs) obiconvert.CLIWriteBioSequences(indexed, true) diff --git a/cmd/obitools/obitag/main.go b/cmd/obitools/obitag/main.go index 52f6849..b72c2e9 100644 --- a/cmd/obitools/obitag/main.go +++ b/cmd/obitools/obitag/main.go @@ -3,6 +3,7 @@ package main import ( "fmt" "os" + log "github.com/sirupsen/logrus" "git.metabarcoding.org/lecasofts/go/obitools/pkg/obiiter" "git.metabarcoding.org/lecasofts/go/obitools/pkg/obitools/obiconvert" @@ -33,7 +34,13 @@ func main() { _, args := optionParser(os.Args) - fs, _ := obiconvert.CLIReadBioSequences(args...) + fs, err := obiconvert.CLIReadBioSequences(args...) + + if err != nil { + log.Errorf("Cannot open file (%v)",err) + os.Exit(1) + } + identified := obitag.AssignTaxonomy(fs) obiconvert.CLIWriteBioSequences(identified, true) diff --git a/cmd/obitools/obiuniq/main.go b/cmd/obitools/obiuniq/main.go index 9c8e2b8..1f019be 100644 --- a/cmd/obitools/obiuniq/main.go +++ b/cmd/obitools/obiuniq/main.go @@ -2,6 +2,7 @@ package main import ( "os" + log "github.com/sirupsen/logrus" "git.metabarcoding.org/lecasofts/go/obitools/pkg/obiiter" "git.metabarcoding.org/lecasofts/go/obitools/pkg/obioptions" @@ -34,7 +35,13 @@ func main() { _, args := optionParser(os.Args) - sequences, _ := obiconvert.CLIReadBioSequences(args...) + sequences, err := obiconvert.CLIReadBioSequences(args...) + + if err != nil { + log.Errorf("Cannot open file (%v)",err) + os.Exit(1) + } + unique := obiuniq.Unique(sequences) obiconvert.CLIWriteBioSequences(unique, true) diff --git a/go.mod b/go.mod index 9219ebd..0320b3f 100644 --- a/go.mod +++ b/go.mod @@ -11,7 +11,7 @@ require ( github.com/klauspost/pgzip v1.2.5 github.com/rrethy/ahocorasick v1.0.0 github.com/schollz/progressbar/v3 v3.8.6 - github.com/sirupsen/logrus v1.8.1 + github.com/sirupsen/logrus v1.9.0 github.com/tevino/abool/v2 v2.0.1 gonum.org/v1/gonum v0.11.0 scientificgo.org/special v0.0.0 @@ -23,7 +23,7 @@ require ( github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db // indirect github.com/rivo/uniseg v0.2.0 // indirect golang.org/x/crypto v0.0.0-20220131195533-30dcbda58838 // indirect - golang.org/x/exp v0.0.0-20191002040644-a1355ae1e2c3 // indirect - golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f // indirect + golang.org/x/exp v0.0.0-20230306221820-f0f767cdffd6 // indirect + golang.org/x/sys v0.1.0 // indirect golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 // indirect ) diff --git a/go.sum b/go.sum index 64d7f5d..f7bf765 100644 --- a/go.sum +++ b/go.sum @@ -37,10 +37,14 @@ github.com/schollz/progressbar/v3 v3.8.6 h1:QruMUdzZ1TbEP++S1m73OqRJk20ON11m6Wqv github.com/schollz/progressbar/v3 v3.8.6/go.mod h1:W5IEwbJecncFGBvuEh4A7HT1nZZ6WNIL2i3qbnI0WKY= github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE= github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= +github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/tevino/abool/v2 v2.0.1 h1:OF7FC5V5z3yAWyixbc32ecEzrgAJCsPkVOsPM2qoZPI= github.com/tevino/abool/v2 v2.0.1/go.mod h1:+Lmlqk6bHDWHqN1cbxqhwEAwMPXgc8I1SDEamtseuXY= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= @@ -50,6 +54,8 @@ golang.org/x/crypto v0.0.0-20220131195533-30dcbda58838/go.mod h1:IxCIyHEi3zRg3s0 golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20191002040644-a1355ae1e2c3 h1:n9HxLrNxWWtEb1cA950nuEEj3QnKbtsCJ6KjcgisNUs= golang.org/x/exp v0.0.0-20191002040644-a1355ae1e2c3/go.mod h1:NOZ3BPKG0ec/BKJQgnvsSFpcKLM5xXVWnvZS97DWHgE= +golang.org/x/exp v0.0.0-20230306221820-f0f767cdffd6 h1:3p+wVC0x0TCIPgd3LCQlpgVlEtjziEC5v42w7+B8t8M= +golang.org/x/exp v0.0.0-20230306221820-f0f767cdffd6/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= @@ -67,8 +73,11 @@ golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f h1:v4INt8xihDGvnrfjMDVXGxw9wrfxYyCjk0KbXjhR55s= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.1.0 h1:kunALQeHf1/185U1i0GOB/fy1IPRDDpuoOOqRReG57U= +golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -79,6 +88,8 @@ golang.org/x/tools v0.0.0-20190927191325-030b2cf1153e/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gonum.org/v1/gonum v0.11.0 h1:f1IJhK4Km5tBJmaiJXtk/PkL4cdVX6J+tGiM187uT5E= gonum.org/v1/gonum v0.11.0/go.mod h1:fSG4YDCxxUZQJ7rKsQrj0gMOg00Il0Z96/qMA4bVQhA= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= scientificgo.org/special v0.0.0 h1:P6WJkECo6tgtvZAEfNXl+KEB9ReAatjKAeX8U07mjSc= scientificgo.org/special v0.0.0/go.mod h1:LoGVh9tS431RLTJo7gFlYDKFWq44cEb7QqL+M0EKtZU= scientificgo.org/testutil v0.0.0 h1:y356DHRo0tAz9zIFmxlhZoKDlHPHaWW/DCm9k3PhIMA= diff --git a/pkg/obiformats/genbank_read.go b/pkg/obiformats/genbank_read.go index 9d98b40..5b73282 100644 --- a/pkg/obiformats/genbank_read.go +++ b/pkg/obiformats/genbank_read.go @@ -47,7 +47,7 @@ func _ParseGenbankFile(input <-chan _FileChunk, out obiiter.IBioSequence) { nl++ line := scanner.Text() switch { - case state==inDefinition && ! strings.HasPrefix(line, " "): + case state == inDefinition && !strings.HasPrefix(line, " "): state = inEntry fallthrough case strings.HasPrefix(line, "LOCUS "): @@ -61,7 +61,7 @@ func _ParseGenbankFile(input <-chan _FileChunk, out obiiter.IBioSequence) { case strings.HasPrefix(line, "FEATURES "): featBytes.WriteString(line) state = inFeature - case strings.HasPrefix(line, "ORIGIN "): + case strings.HasPrefix(line, "ORIGIN"): state = inSequence case line == "//": log.Debugln("Total lines := ", nl) @@ -76,12 +76,15 @@ func _ParseGenbankFile(input <-chan _FileChunk, out obiiter.IBioSequence) { annot["scientific_name"] = scientificName annot["taxid"] = taxid // log.Println(FormatFasta(sequence, FormatFastSeqJsonHeader)) + log.Debugf("Read sequences %s: %dbp (%d)", sequence.Id(), + sequence.Len(), seqBytes.Len()) + sequences = append(sequences, sequence) defBytes = new(bytes.Buffer) featBytes = new(bytes.Buffer) seqBytes = new(bytes.Buffer) - nl=0 - sl=0 + nl = 0 + sl = 0 default: switch state { case inDefinition: diff --git a/pkg/obiformats/universal_read.go b/pkg/obiformats/universal_read.go index 70fa188..a9625e4 100644 --- a/pkg/obiformats/universal_read.go +++ b/pkg/obiformats/universal_read.go @@ -85,8 +85,8 @@ func ReadSequencesFromFile(filename string, switch filetype { case "fastq", "fasta": file.Close() - is, _ := ReadFastSeqFromFile(filename, options...) - return is, nil + is, err := ReadFastSeqFromFile(filename, options...) + return is, err case "ecopcr": return ReadEcoPCR(reader, options...), nil case "embl": diff --git a/pkg/obiseq/class.go b/pkg/obiseq/class.go index ba711c1..84c7b4c 100644 --- a/pkg/obiseq/class.go +++ b/pkg/obiseq/class.go @@ -90,7 +90,7 @@ func AnnotationClassifier(key string, na string) *BioSequenceClassifier { return AnnotationClassifier(key, na) } - c := BioSequenceClassifier{code, value, reset, clone,"AnnotationClassifier"} + c := BioSequenceClassifier{code, value, reset, clone, "AnnotationClassifier"} return &c } @@ -127,7 +127,7 @@ func DualAnnotationClassifier(key1, key2 string, na string) *BioSequenceClassifi val2 = fmt.Sprint(value) } } else { - val2=na + val2 = na } } } @@ -173,7 +173,7 @@ func DualAnnotationClassifier(key1, key2 string, na string) *BioSequenceClassifi return DualAnnotationClassifier(key1, key2, na) } - c := BioSequenceClassifier{code, value, reset, clone,"DualAnnotationClassifier"} + c := BioSequenceClassifier{code, value, reset, clone, "DualAnnotationClassifier"} return &c } @@ -206,7 +206,7 @@ func PredicateClassifier(predicate SequencePredicate) *BioSequenceClassifier { return PredicateClassifier(predicate) } - c := BioSequenceClassifier{code, value, reset, clone,"PredicateClassifier"} + c := BioSequenceClassifier{code, value, reset, clone, "PredicateClassifier"} return &c } @@ -228,7 +228,7 @@ func HashClassifier(size int) *BioSequenceClassifier { return HashClassifier(size) } - c := BioSequenceClassifier{code, value, reset, clone,"HashClassifier"} + c := BioSequenceClassifier{code, value, reset, clone, "HashClassifier"} return &c } @@ -283,7 +283,7 @@ func SequenceClassifier() *BioSequenceClassifier { return SequenceClassifier() } - c := BioSequenceClassifier{code, value, reset, clone,"SequenceClassifier"} + c := BioSequenceClassifier{code, value, reset, clone, "SequenceClassifier"} return &c } @@ -313,7 +313,6 @@ func RotateClassifier(size int) *BioSequenceClassifier { return RotateClassifier(size) } - c := BioSequenceClassifier{code, value, reset, clone,"RotateClassifier"} + c := BioSequenceClassifier{code, value, reset, clone, "RotateClassifier"} return &c } - diff --git a/pkg/obitools/obiconvert/sequence_reader.go b/pkg/obitools/obiconvert/sequence_reader.go index c17f3b5..0df6b4b 100644 --- a/pkg/obitools/obiconvert/sequence_reader.go +++ b/pkg/obitools/obiconvert/sequence_reader.go @@ -1,6 +1,7 @@ package obiconvert import ( + "fmt" "os" "path/filepath" "strings" @@ -20,6 +21,9 @@ func _ExpandListOfFiles(check_ext bool, filenames ...string) ([]string, error) { err = filepath.Walk(fn, func(path string, info os.FileInfo, err error) error { var e error + if info == nil { + return fmt.Errorf("cannot open path") + } for info.Mode()&os.ModeSymlink == os.ModeSymlink { path, e = filepath.EvalSymlinks(path) if e != nil {