Hallo mein Kopf kocht jetzt für 3 Tage! Ich möchte alle DNA-Codierungen für ein Peptid erhalten: ein Peptid ist eine Sequenz von Aminosäuren, dh Aminosäure M
und Aminosäure Q
können Peptid MQ
oder QM
Wie bekomme ich alle DNA-Codierung für Peptid in C#
codierende DNA bilden bedeutet, es ist ein DNA-Code (genannt Codon) für jede Aminosäure (für einige gibt es mehr als einen Code, dh Aminosäure T hat 4 verschiedene Codes/Codons)
Die letzte Funktion im folgenden Code funktioniert nicht, also möchte ich jemand, damit es für mich funktioniert und bitte keine Abfrage integrierte Sprache (ich habe sein Akronym vergessen!) `
private string[] CODONS ={
"TTT", "TTC", "TTA", "TTG", "TCT",
"TCC", "TCA", "TCG", "TAT", "TAC", "TGT", "TGC", "TGG", "CTT",
"CTC", "CTA", "CTG", "CCT", "CCC", "CCA", "CCG", "CAT", "CAC",
"CAA", "CAG", "CGT", "CGC", "CGA", "CGG", "ATT", "ATC", "ATA",
"ATG", "ACT", "ACC", "ACA", "ACG", "AAT", "AAC", "AAA", "AAG",
"AGT", "AGC", "AGA", "AGG", "GTT", "GTC", "GTA", "GTG", "GCT",
"GCC", "GCA", "GCG", "GAT", "GAC", "GAA", "GAG", "GGT", "GGC",
"GGA", "GGG", };
private string[] AMINOS_PER_CODON = {
"F", "F", "L", "L", "S", "S",
"S", "S", "Y", "Y", "C", "C", "W", "L", "L", "L", "L", "P", "P",
"P", "P", "H", "H", "Q", "Q", "R", "R", "R", "R", "I", "I", "I",
"M", "T", "T", "T", "T", "N", "N", "K", "K", "S", "S", "R", "R",
"V", "V", "V", "V", "A", "A", "A", "A", "D", "D", "E", "E", "G",
"G", "G", "G", };
public string codonToAminoAcid(String codon)
{
for (int k = 0; k < CODONS.Length; k++)
{
if (CODONS[k].Equals(codon))
{
return AMINOS_PER_CODON[k];
}
}
// never reach here with valid codon
return "X";
}
public string AminoAcidToCodon(String aminoAcid)
{
for (int k = 0; k < AMINOS_PER_CODON .Length; k++)
{
if (AMINOS_PER_CODON [k].Equals(aminoAcid))
{
return CODONS[k];
}
}
// never reach here with valid codon
return "X";
}
public string GetCodonsforPeptide(string pep)
{
string result = "";
for (int i = 0; i <pep.Length ; i++)
{
result = AminoAcidToCodon(pep.Substring (i,1));
for (int q = 0; q < pep.Length; q++)
{
result += AminoAcidToCodon(pep.Substring(q, 1));
}
}
return result;
}
Können Sie ein Beispiel für Eingabe und gewünschte Ausgabe geben? Übrigens. Das Akronym ist LINQ. – Henrik
getcodonsforpeptide ("MA") Ausgabe AGTGAC, AGTGCG AGTGAT so etwas nicht sicher, nur durch die Überprüfung der beiden Codon-Tabelle und amo_acid_per_codon – kobosh
Also nur um sicherzustellen, dass ich verstehe, was Sie meinen. Für jedes Zeichen in der Eingabezeichenfolge können mehrere übereinstimmende Einträge in der Tabelle AMINOS_PER_CODON vorhanden sein. So könnte es zum Beispiel für eine gegebene Zeichenfolge so viele Übereinstimmungen für jedes entsprechende Zeichen geben: 1, 2, 3, 2. Die resultierende * Anzahl * von Kombinationen wäre 1 * 2 * 3 * 2 = 12. Dann möchten Sie jede dieser Kombinationen, wo Sie jede Übereinstimmung von dieser Tabelle in die andere Tabelle übersetzen und die resultierende Zeichenkette erhalten wollen, ist das? –