【发布时间】:2014-11-13 00:52:47
【问题描述】:
嗨,我的头已经沸腾了 3 天了!我想获取肽的所有DNA编码:肽是氨基酸序列,即氨基酸M和氨基酸Q可以形成肽MQ或QM
DNA 编码意味着每个氨基酸都有一个 DNA 代码(称为密码子)(对于一些有多个代码,即氨基酸 T 有 4 个不同的代码/密码子)
以下代码中的最后一个函数不起作用,所以我希望有人让它为我工作,并且请不要查询集成语言(我忘记了它的首字母缩写词!)`
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;
}
【问题讨论】:
-
你能举一个输入和期望输出的例子吗?顺便提一句。首字母缩略词是 LINQ。
-
-
所以只是为了确保我理解你的意思。对于输入字符串中的每个字符,在 AMINOS_PER_CODON 表中可以有多个匹配条目。例如,对于给定的字符串,每个对应字符可能有这么多匹配:1、2、3、2。结果 number 的组合将是 1*2*3*2 = 12 . 然后,你想要这些组合中的每一个,你想将每个匹配从那个表翻译到另一个表,并得到结果字符串,是这样吗?
-
例如,这个 pep,“TG”将有 4*4=16 个组合,其中两个是“ACTGGC”和“GTTGGG”(分别是第一个和最后一个)。我做对了吗?
-
您是否考虑过使用字典进行氨基密码子查找?
标签: c# bioinformatics