diff --git a/pkg/obiformats/fastseq_obi_header.go b/pkg/obiformats/fastseq_obi_header.go index 173d78f..8ee1725 100644 --- a/pkg/obiformats/fastseq_obi_header.go +++ b/pkg/obiformats/fastseq_obi_header.go @@ -298,27 +298,29 @@ func FormatFastSeqOBIHeader(sequence *obiseq.BioSequence) string { var text strings.Builder for key, value := range annotations { - switch t := value.(type) { - case string: - text.WriteString(fmt.Sprintf("%s=%s; ", key, t)) - case map[string]int, - map[string]string, - map[string]interface{}, - obiseq.StatsOnValues: - tv, err := obiutils.JsonMarshal(t) - if err != nil { - log.Fatalf("Cannot convert %v value", value) + if key != "definition" { + switch t := value.(type) { + case string: + text.WriteString(fmt.Sprintf("%s=%s; ", key, t)) + case map[string]int, + map[string]string, + map[string]interface{}, + obiseq.StatsOnValues: + tv, err := obiutils.JsonMarshal(t) + if err != nil { + log.Fatalf("Cannot convert %v value", value) + } + tv = bytes.ReplaceAll(tv, []byte(`"`), []byte("'")) + text.WriteString(fmt.Sprintf("%s=", key)) + text.Write(tv) + text.WriteString("; ") + default: + text.WriteString(fmt.Sprintf("%s=%v; ", key, value)) } - tv = bytes.ReplaceAll(tv, []byte(`"`), []byte("'")) - text.WriteString(fmt.Sprintf("%s=", key)) - text.Write(tv) - text.WriteString("; ") - default: - text.WriteString(fmt.Sprintf("%s=%v; ", key, value)) } } - return text.String() + return text.String() + " " + sequence.Definition() } return "" diff --git a/pkg/obiformats/fastseq_write_fasta.go b/pkg/obiformats/fastseq_write_fasta.go index 8e4b44e..5b48a97 100644 --- a/pkg/obiformats/fastseq_write_fasta.go +++ b/pkg/obiformats/fastseq_write_fasta.go @@ -63,9 +63,8 @@ func FormatFasta(seq *obiseq.BioSequence, formater FormatHeader) string { } info := formater(seq) - return fmt.Sprintf(">%s %s %s\n%s", + return fmt.Sprintf(">%s %s\n%s", seq.Id(), info, - seq.Definition(), folded) } @@ -199,7 +198,7 @@ func WriteFasta(iterator obiiter.IBioSequence, // configuration options as variadic arguments. It appends the option to not close the file // to the options slice and then calls the WriteFasta function passing the iterator, // os.Stdout as the output file, and the options slice. -// +// // The function returns the same bio sequence iterator and an error if any occurred. func WriteFastaToStdout(iterator obiiter.IBioSequence, options ...WithOption) (obiiter.IBioSequence, error) { diff --git a/pkg/obiformats/fastseq_write_fastq.go b/pkg/obiformats/fastseq_write_fastq.go index d3c6774..7d4ddd4 100644 --- a/pkg/obiformats/fastseq_write_fastq.go +++ b/pkg/obiformats/fastseq_write_fastq.go @@ -32,9 +32,8 @@ func FormatFastq(seq *obiseq.BioSequence, quality_shift int, formater FormatHead info = formater(seq) } - return fmt.Sprintf("@%s %s %s\n%s\n+\n%s", + return fmt.Sprintf("@%s %s\n%s\n+\n%s", seq.Id(), info, - seq.Definition(), string(seq.Sequence()), string(ascii), ) diff --git a/pkg/obiformats/xopen.go b/pkg/obiformats/xopen.go index a74140f..8a0c093 100644 --- a/pkg/obiformats/xopen.go +++ b/pkg/obiformats/xopen.go @@ -403,7 +403,7 @@ func WopenFile(f string, flag int, perm os.FileMode) (*Writer, error) { if strings.HasSuffix(f2, ".gz") { gz, err := gzip.NewWriterLevel(wtr, Level) if err != nil { - err = errors.New(fmt.Sprintf("xopen: %s", err)) + err = fmt.Errorf("xopen: %s", err) } return &Writer{bufio.NewWriterSize(gz, bufSize), wtr, gz, nil, nil, nil}, err } @@ -418,7 +418,7 @@ func WopenFile(f string, flag int, perm os.FileMode) (*Writer, error) { } zw, err := zstd.NewWriter(wtr, zstd.WithEncoderLevel(zstd.EncoderLevel(level))) if err != nil { - err = errors.New(fmt.Sprintf("xopen: zstd: %s", err)) + err = fmt.Errorf("xopen: zstd: %s", err) } return &Writer{bufio.NewWriterSize(zw, bufSize), wtr, nil, nil, zw, nil}, err } @@ -429,7 +429,7 @@ func WopenFile(f string, flag int, perm os.FileMode) (*Writer, error) { } bz2, err := bzip2.NewWriter(wtr, &bzip2.WriterConfig{Level: level}) if err != nil { - err = errors.New(fmt.Sprintf("xopen: %s", err)) + err = fmt.Errorf("xopen: %s", err) } return &Writer{bufio.NewWriterSize(bz2, bufSize), wtr, nil, nil, nil, bz2}, err } diff --git a/pkg/obiformats/xopen_test.go b/pkg/obiformats/xopen_test.go index b40ec11..8146f36 100644 --- a/pkg/obiformats/xopen_test.go +++ b/pkg/obiformats/xopen_test.go @@ -61,7 +61,7 @@ func (s *XopenTest) TestWopen(c *C) { _, err = os.Stat(f) c.Assert(err, IsNil) c.Assert(wtr.wtr, NotNil) - fmt.Fprintf(wtr, testString) + fmt.Fprint(wtr, testString) wtr.Close() rdr, err := Ropen(f) @@ -70,7 +70,7 @@ func (s *XopenTest) TestWopen(c *C) { str, err := rdr.ReadString(99) c.Assert(str, Equals, testString) c.Assert(err, Equals, io.EOF) - str, err = rdr.ReadString(99) + str, _ = rdr.ReadString(99) c.Assert(str, Equals, "") rdr.Close()