Sha256: f0ddb6e1fabcc4324b487cca197142fe8ca195fc3511d0fbd67d795172aed913

Contents?: true

Size: 794 Bytes

Versions: 255

Compression:

Stored size: 794 Bytes

Contents

package protein

const testVersion = 1

func FromCodon(codon string) string {
	switch codon {
	case
		"AUG":
		return "Methionine"
	case
		"UUU",
		"UUC":
		return "Phenylalanine"
	case
		"UUA",
		"UUG":
		return "Leucine"
	case
		"UCU",
		"UCC",
		"UCA",
		"UCG":
		return "Serine"
	case
		"UAU",
		"UAC":
		return "Tyrosine"
	case
		"UGU",
		"UGC":
		return "Cysteine"
	case
		"UGG":
		return "Tryptophan"
	case
		"UAA",
		"UAG",
		"UGA":
		return "STOP"
	}
	return "STOP"
}

func FromRNA(s string) []string {
	var res = ""
	var proteins []string
	for index, codon := range s {
		res += string(codon)
		if index > 0 && (index+1)%3 == 0 {
			tempCodon := FromCodon(res)
			if tempCodon == "STOP" {
				break
			}
			proteins = append(proteins, tempCodon)
			res = ""
		}
	}
	return proteins
}

Version data entries

255 entries across 255 versions & 1 rubygems

Version Path
trackler-2.0.3.8 tracks/go/exercises/protein-translation/example.go
trackler-2.0.3.7 tracks/go/exercises/protein-translation/example.go
trackler-2.0.3.6 tracks/go/exercises/protein-translation/example.go
trackler-2.0.3.5 tracks/go/exercises/protein-translation/example.go
trackler-2.0.3.4 tracks/go/exercises/protein-translation/example.go
trackler-2.0.3.3 tracks/go/exercises/protein-translation/example.go
trackler-2.0.3.2 tracks/go/exercises/protein-translation/example.go
trackler-2.0.3.1 tracks/go/exercises/protein-translation/example.go
trackler-2.0.3.0 tracks/go/exercises/protein-translation/example.go
trackler-2.0.2.0 tracks/go/exercises/protein-translation/example.go
trackler-2.0.1.2 tracks/go/exercises/protein-translation/example.go
trackler-2.0.1.1 tracks/go/exercises/protein-translation/example.go
trackler-2.0.1.0 tracks/go/exercises/protein-translation/example.go
trackler-2.0.0.10 tracks/go/exercises/protein-translation/example.go
trackler-2.0.0.9 tracks/go/exercises/protein-translation/example.go