C 언어를 사용하여 텍스트 파일에서 유전자의 수를 계산하려면 삼중 항은 3 자 세트입니다. 유전자는 시작과 끝을 포함하는 일련의 삼중 항으로 구성됩니다. ATGC에서 텍스트 파일의 전체 유전자 수를 계산
유전자의 끝 : 유전자
시작하는 유전자의 경우 유효한 것으로 간주된다
TAA, TGA 또는 TAG 예를 들면 시작 부분과 끝 부분 사이의 적어도 하나의 삼중 TAA ATG는 유효한 유전자 텍스트 파일의
예 아니라, 텍스트 파일은 여러 줄
을 가질 수 있습니다 0ATGGCA TAT ATG TGG이 예에 포함
AAGTAA GTT GTA ATGCAC GAT GGC AAC GGC GGCTAG CCA ATG AAA 두 유전자
나는 지금까지 그것을 시도했다, 처음과 그 다음 끝을 발견하는 방법을 모르고있다.
int Count (char *file) {
FILE *ptr = NULL;
int count = 0;
char *start = "ATG";
char *end = "TAA"; // miss TGA, TAG
char chr;
int occur, i;
ptr = fopen(filename, "r"); //open text file
if (ptr == NULL)
return -1;
chr = fgetc(ptr);
while(chr != EOF){
if(ch == start[0]){
for(i=1; i< StrLen(start); i++){
chr = fgetc(ptr);
if(chr == EOF){
occur = 0;
break;
}
else if(chr != start[i]){
chr = fgetc(ptr);
occur = 0;
break;
}
else
occur = 1;
}
if(occur == 1){
count++;
}
} else{
chr = fgetc(ptr);
}
}
if (!feof(ptr)){
return -1;
}
fclose(ptr);
return count;
}
int StrLen(char *word){
int i = 0;
char c = word[0];
while(c != '\0'){
i++;
c = word[i];
}
return i;
}
제발 도와주세요! :)
"DoMyWork"로 stackoverflow를 오해하지 마십시오. C로 파일을 읽고 앞으로 나아가고 코드를 작성하는 동안 문제에 대해 질문하십시오. –
[무엇을 시도해 봤습니까?] (http://whathaveyoutried.com) – SparKot
사소한 정규 표현식처럼 보입니다. 이 방법을 시도해보십시오. 정규 표현식을 사용하는 데 문제가 있으면 다시 방문하십시오. – Barmar