diff --git a/CountRep.cpp b/CountRep.cpp index f168e91..962ce56 100644 --- a/CountRep.cpp +++ b/CountRep.cpp @@ -2,6 +2,12 @@ #include #include using namespace std; + +// purpose: Calculate percent assembly masked. +// method: Report number of lower and upper case chars in input. +// input: (assembly) fasta file +// output: <(num lowercase chars)/(num total chars)> + int main() { long int nl=0, nh=0, other=0; @@ -9,26 +15,29 @@ int main() { while (cin) { string line; cin >> line; - if (line.size() > 0 and line[0] == '>') { - if (prevTitle != "") { - int s=nl+nh; - if (s > 0) { - cout << prevTitle << "\t"<< nl / ((float)s) << "\t" << nl << "\t" << nh << endl; + if (line.size() > 0) { + if (line[0] == '>') { + if (prevTitle != "") { + int s=nl+nh; + if (s > 0) { + cout << prevTitle << "\t"<< nl / ((float)s) << "\t" << nl << "\t" << nh << endl; + } + else { + cout << prevTitle << "\t0\t0\t0" << endl; + } } - else { - cout << prevTitle << "\t0\t0\t0" << endl; + nl=0; nh=0; + prevTitle = line; + } else { + for (int i=0; i < line.size(); i++) { + if (line[i] >= 'a' && line[i] <= 'z') { + nl+=1; + } + else { + nh+=1; + } } } - nl=0; nh=0; - prevTitle = line; - } - for (int i=0; i < line.size(); i++) { - if (line[i] >= 'a' && line[i] <= 'z') { - nl+=1; - } - else { - nh+=1; - } } } int s=nl+nh;