程序将从输入文件中顺序读取 DNA 数据,并在遇到外显子和内含子时将它们写到单独的文件中。发现的第一个外显子将写入 exon1.txt,发现的第二个外显子将写入 exon2.txt,依此类推……同样,发现的第一个内含子将写入 intron1.txt,发现的第二个内含子将是写入intron2.txt,以此类推……
外显子是一系列密码子,始终以密码子 ATG 开头并以下列密码子之一结尾:TAA、TGA 或 TAG。任何不以这些密码子开始或停止的序列都是内含子。在扫描数据以查找外显子和内含子时,仅向前扫描并寻找不重叠的外显子和内含子。如果遇到一个外显子起始符号 (ATG) 并且在遇到一个终止密码子之前遇到另一个 ATG,这并不意味着新的外显子已经开始。
我知道如何从文件中读取,并且我已经将它存储在一个全局数组中。数组更可取,我也可以使用字符串。
const int MAX_DNA = 50000;
char dnaData[MAX_DNA];
int readFromDNAFile(string fileName) {
int returnValue = 0;
ifstream fileHandle;
fileHandle.open(fileName.c_str());
if( fileHandle.good() ) {
char nucleotide;
int counter = 0;
while( fileHandle >> nucleotide ) {
dnaData[counter] = nucleotide;
counter++;
}
returnValue = counter;
}
fileHandle.close();
return returnValue;
}
我真的不知道如何实现下一步该做什么,我确定我必须使用一个循环来命名外显子和内含子的 txt 文件,然后另一个循环可能用于扫描和存储它..
void readFiles(string filename){
for(int i = 0; i < numFiles; i++) {
//ill open up the file here to read
for(int j = 0; j < numCodons; j++) {
任何努力将不胜感激,谢谢。