func translateQueries(reader *fasta.Reader, f *fasta.Writer) error { sequence, err := reader.Read() if err == io.EOF { return nil } if err != nil { fatalf("Could not read input fasta query: %s\n", err) } origSeq := sequence.Bytes() n := sequence.Name // generate 6 ORFs transSeqs := cablastp.Translate(origSeq) for _, s := range transSeqs { // reduce each one result := seq.NewSequenceString(n, string(cablastp.Reduce(s))) f.Write(result) } f.Flush() return nil }