func FindBsaI(sequence string, c chan DnaSuggestion, wg *sync.WaitGroup) {
	re := regexp.MustCompile(`GGTCTC`)
	locs := re.FindAllStringIndex(sequence, -1)
	for _, loc := range locs {
		position := loc[0] / 3
		leftover := loc[0] % 3
		switch {
		case leftover == 0:
			c <- DnaSuggestion{position, (loc[1] / 3), "NA", 1, "BsaI removal", 0, 0}
		case leftover != 0:
			c <- DnaSuggestion{position, (loc[1] / 3) - 1, "NA", 1, "BsaI removal", 0, 0}
		}
	}
	wg.Done()
}
// FindBsaI is a simple problematicSequenceFunc, for use in testing
FindBsaI is a simple problematicSequenceFunc, for use in testing
// FindBsaI is a simple problematicSequenceFunc for use in testing
func FindBsaI(sequence string, c chan DnaSuggestion, wg *sync.WaitGroup) {
	re := regexp.MustCompile(`GGTCTC`)
	locs := re.FindAllStringIndex(sequence, -1)
	for _, loc := range locs {
		position := loc[0] / 3
		leftover := loc[0] % 3
		switch {
		case leftover == 0:
			c <- DnaSuggestion{position, (loc[1] / 3), "NA", 1, "BsaI removal", 0, 0}
		case leftover != 0:
			c <- DnaSuggestion{position, (loc[1] / 3) - 1, "NA", 1, "BsaI removal", 0, 0}
		}
	}
	wg.Done()
}
func FindBsaI ( sequence string , c chan DnaSuggestion , wg * sync . WaitGroup ) { re := regexp . MustCompile ( `GGTCTC` ) locs := re . FindAllStringIndex ( sequence , - 1 ) for _ , loc := range locs { position := loc [ 0 ] / 3 leftover := loc [ 0 ] % 3 switch { case leftover == 0 : c <- DnaSuggestion { position , ( loc [ 1 ] / 3 ) , " " , 1 , " " , 0 , 0 } case leftover != 0 : c <- DnaSuggestion { position , ( loc [ 1 ] / 3 ) - 1 , " " , 1 , " " , 0 , 0 } } } wg . Done ( ) }
FindBsaI is a simple problematicSequenceFunc, for use in testing
FindBsaI is a simple problematicSequenceFunc for use in testing