func GoldenGate(sequences []CloneSequence, enzymeStr string) ([]CloneSequence, error) {
	var fragments []Fragment
	for _, sequence := range sequences {
		newFragments, err := RestrictionEnzymeCut(sequence, enzymeStr)
		if err != nil {
			return []CloneSequence{}, err
		}
		fragments = append(fragments, newFragments...)
	}
	return Ligate(fragments, 1000), nil
}
/******************************************************************************

Specific cloning functions begin here.

******************************************************************************/
Specific cloning functions begin here.
/ ****************************************************************************** Specific cloning functions begin here . ****************************************************************************** /
func GoldenGate(sequences []CloneSequence, enzymeStr string) ([]CloneSequence, error) {
	var fragments []Fragment
	for _, sequence := range sequences {
		newFragments, err := RestrictionEnzymeCut(sequence, enzymeStr)
		if err != nil {
			return []CloneSequence{}, err
		}
		fragments = append(fragments, newFragments...)
	}
	return Ligate(fragments, 1000), nil
}
func GoldenGate ( sequences [ ] CloneSequence , enzymeStr string ) ( [ ] CloneSequence , error ) { var fragments [ ] Fragment for _ , sequence := range sequences { newFragments , err := RestrictionEnzymeCut ( sequence , enzymeStr ) if err != nil { return [ ] CloneSequence { } , err } fragments = append ( fragments , newFragments ... ) } return Ligate ( fragments , 1000 ) , nil }
Specific cloning functions begin here.
Specific cloning functions begin here .