Ejemplo n.º 1
0
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
}