반응형
Using codon (3 nucleic acid of DNA), it returns 1 Amino acids.
DNA 염기서열을 이용하여 최종 만들어질 Protein을 구하는 프로그램을 만들 때 구현해봤던 함수입니다.
parameter is string which consists of 3 char of base.
ex). AGC, TAT...
파라미터로 들어오는 input은 3개의 문자열입니다.
예) AGC, TAT
char translation(string input){
char RET;
switch(input[0]){
case 'A':
switch(input[1]){
case 'A'://AA
switch(input[2]){
case 'A':
case 'G':
RET='K';
break;
case 'C':
case 'T':
RET='N';
break;
}
break;
case 'C'://AC
switch(input[2]){
case 'A':
case 'G':
case 'C':
case 'T':
RET='T';
break;
}
break;
case 'G'://AG
switch(input[2]){
case 'A':
case 'G':
RET='R';
break;
case 'C':
case 'T':
RET='S';
break;
}
break;
case 'T'://AU
switch(input[2]){
case 'G':
RET='M';
break;
case 'A':
case 'C':
case 'T':
RET='I';
break;
}
}
/////////////////////
break;
case 'C':
switch(input[1]){
case 'A': //CA
;
switch(input[2]){
case 'A':
case 'G':
RET='Q';
break;
case 'C':
case 'T':
RET='H';
break;
}
break;
case 'C': //CC
switch(input[2]){
case 'A':
case 'C':
case 'G':
case 'T':
RET='P';
break;
}
break;
case 'G': //CG
switch(input[2]){
case 'A':
case 'C':
case 'G':
case 'T':
RET='R';
break;
}
break;
case 'T': //CU
switch(input[2]){
case 'A':
case 'C':
case 'G':
case 'T':
RET='L';
break;
}
}
break;
case 'G':
switch(input[1]){
case 'A': //GA
switch(input[2]){
case 'A':
case 'G':
RET='E';
break;
case 'C':
case 'T':
RET='D';
break;
}
break;
case 'G': //GG
switch(input[2]){
case 'A':
case 'G':
case 'C':
case 'T':
RET='G';
break;
}
break;
case 'C': //GC
switch(input[2]){
case 'A':
case 'G':
case 'C':
case 'T':
RET='A';
break;
}
break;
case 'T': //GU
switch(input[2]){
case 'A':
case 'G':
case 'C':
case 'T':
RET='V';
break;
}
break;
}
break;
case 'T':
switch(input[1]){
case 'A': //UA
switch(input[2]){
case 'A':
case 'G':
RET='0';
break;
case 'C':
case 'T':
RET='Y';
break;
}
break;
case 'G': //UG
switch(input[2]){
case 'A':
RET='0';
break;
case 'G':
RET='W';
break;
case 'C':
case 'T':
RET='C';
break;
}
break;
case 'C': //UC
switch(input[2]){
case 'A':
case 'G':
case 'C':
case 'T':
RET='S';
break;
}
break;
case 'T': //UU
switch(input[2]){
case 'A':
case 'G':
RET='L';
break;
case 'C':
case 'T':
RET='F';
break;
}
break;
}
}
return RET;
}
'Major Study. > Bioinformatics' 카테고리의 다른 글
Single Nucleotide Polymorphism (SNP) (0) | 2014.07.18 |
---|---|
2011 KAIST Biocomputing 경진대회 1회 우수상 수상 (0) | 2014.07.18 |
2011 제1회 대학생 Biocomputing 경진대회 (0) | 2014.07.18 |
DNA 서열 alignment를 통한 가계도 분석 (0) | 2014.07.18 |
Bioinformatics - DNA 유전자정보 획득 (shotgun) (0) | 2014.07.18 |