Sha256: edc7f44d06259b0d02b9de87511f37afc30c758d9acc6a1c3c6a095eed3254ad

Contents?: true

Size: 1.34 KB

Versions: 368

Compression:

Stored size: 1.34 KB

Contents

using System;
using System.Collections.Generic;

public class ProteinTranslation
{
    public static string[] Translate(string codon)
    {
        var results = new List<string>();

        for (int i = 0; i < codon.Length / 3; i++)
        {
            var protein = ConvertToProtein(codon.Substring(3 * i, 3));

            if (protein == "STOP")
            {
                break;
            }

            results.Add(protein);
        }

        return results.ToArray();
    }

    private static string ConvertToProtein(string input)
    {
        switch (input)
        {
            case "AUG":
                return "Methionine";
            case "UUU":
            case "UUC":
                return "Phenylalanine";
            case "UUA":
            case "UUG":
                return "Leucine";
            case "UCU":
            case "UCC":
            case "UCA":
            case "UCG":
                return "Serine";
            case "UAU":
            case "UAC":
                return "Tyrosine";
            case "UGU":
            case "UGC":
                return "Cysteine";
            case "UGG":
                return "Tryptophan";
            case "UAA":
            case "UAG":
            case "UGA":
                return "STOP";
            default:
                throw new Exception("Invalid sequence");
        }
    }
}

Version data entries

368 entries across 368 versions & 1 rubygems

Version Path
trackler-2.2.1.151 tracks/csharp/exercises/protein-translation/Example.cs
trackler-2.2.1.150 tracks/csharp/exercises/protein-translation/Example.cs
trackler-2.2.1.149 tracks/csharp/exercises/protein-translation/Example.cs
trackler-2.2.1.148 tracks/csharp/exercises/protein-translation/Example.cs
trackler-2.2.1.147 tracks/csharp/exercises/protein-translation/Example.cs
trackler-2.2.1.146 tracks/csharp/exercises/protein-translation/Example.cs
trackler-2.2.1.145 tracks/csharp/exercises/protein-translation/Example.cs
trackler-2.2.1.144 tracks/csharp/exercises/protein-translation/Example.cs
trackler-2.2.1.143 tracks/csharp/exercises/protein-translation/Example.cs
trackler-2.2.1.142 tracks/csharp/exercises/protein-translation/Example.cs
trackler-2.2.1.141 tracks/csharp/exercises/protein-translation/Example.cs
trackler-2.2.1.140 tracks/csharp/exercises/protein-translation/Example.cs
trackler-2.2.1.139 tracks/csharp/exercises/protein-translation/Example.cs
trackler-2.2.1.138 tracks/csharp/exercises/protein-translation/Example.cs
trackler-2.2.1.137 tracks/csharp/exercises/protein-translation/Example.cs
trackler-2.2.1.136 tracks/csharp/exercises/protein-translation/Example.cs
trackler-2.2.1.135 tracks/csharp/exercises/protein-translation/Example.cs
trackler-2.2.1.134 tracks/csharp/exercises/protein-translation/Example.cs
trackler-2.2.1.133 tracks/csharp/exercises/protein-translation/Example.cs
trackler-2.2.1.132 tracks/csharp/exercises/protein-translation/Example.cs