Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Write a complete C++ program to analyze a set of DNA strands input from the keyb

ID: 3873133 • Letter: W

Question

Write a complete C++ program to analyze a set of DNA strands input from the keyboard. For each strand, output the strand followed by validity, CG percentage, and overall stability. For example, given this input sequence: CCGA ACTGATGC ACTGATTX TTCAA Your program should output the following: valid,CG-758,highly CCGA: ACTGATGC: ACTGATXC invalid TTCAA: stable valid, CG-50%, stable valid, CG-208,unstable n terms of overall stability, if the CG percentage is 75 or greater, than the DNA strand is considered "highly stable. If the CG percentage is 75 but 50 or greater, it's considered "stable. Less than 50 but 25 or greater is considered "less stable". And a CG percentage> DNA; 11 read first DNA strand: while (DNA !.. "#") // if not end of input marker #, process input :

Explanation / Answer

#include<iostream>
#include<vector>
#include<string>
#include<sstream>
using namespace std;

main()
{
// declaring variables
vector<string> dnaname;
vector<int> dnaper;
int index = 0, cg, per,flag;
string dna;
  
cin >> dna;
  
// as long as dna is not #
while(dna!="#"){
  
cg = 0;
flag = 0;
  
// looping through each character in dna
for(int i=0;i<dna.length();i++)
{
// if it is c or g then incrementing cg by 1
if(dna[i]=='C' || dna[i]=='G')
cg++;
// else if it is neither t nor a then it is invalid character.
// Setting the flag and not considering it further
else if(dna[i]!='T' and dna[i]!='A')
flag = 1;
}
  
// pusing dna to vector
dnaname.push_back(dna);
  
// valid dna and calculating percentage
if(flag == 0)
{
per = (cg*1.0/dna.length())*100;
dnaper.push_back(per);
}
//not considering it further hence pushing -1
else
{
dnaper.push_back(-1);
}
cin >> dna;
}
  
// looping through each dna and printing output
for(int i=0;i<dnaname.size();i++)
{
cout << dnaname[i];
if(dnaper[i]>=75)
cout << ": valid, CG=" << dnaper[i] << "%, highly stable"<< endl;
else if(dnaper[i]>=50)
cout << ": valid, CG=" << dnaper[i] << "%, stable"<< endl;
else if(dnaper[i]>=25)
cout << ": valid, CG=" << dnaper[i] << "%, less stable"<< endl;
else if(dnaper[i]==-1)
cout << ": invalid" << endl;
else
cout << ": valid, CG=" << dnaper[i] << "%, unstable"<< endl;
}
}

#include<iostream>
#include<vector>
#include<string>
#include<sstream>
using namespace std;

main()
{
// declaring variables
vector<string> dnaname;
vector<int> dnaper;
int index = 0, cg, per,flag;
string dna;
  
cin >> dna;
  
// as long as dna is not #
while(dna!="#"){
  
cg = 0;
flag = 0;
  
// looping through each character in dna
for(int i=0;i<dna.length();i++)
{
// if it is c or g then incrementing cg by 1
if(dna[i]=='C' || dna[i]=='G')
cg++;
// else if it is neither t nor a then it is invalid character.
// Setting the flag and not considering it further
else if(dna[i]!='T' and dna[i]!='A')
flag = 1;
}
  
// pusing dna to vector
dnaname.push_back(dna);
  
// valid dna and calculating percentage
if(flag == 0)
{
per = (cg*1.0/dna.length())*100;
dnaper.push_back(per);
}
//not considering it further hence pushing -1
else
{
dnaper.push_back(-1);
}
cin >> dna;
}
  
// looping through each dna and printing output
for(int i=0;i<dnaname.size();i++)
{
cout << dnaname[i];
if(dnaper[i]>=75)
cout << ": valid, CG=" << dnaper[i] << "%, highly stable"<< endl;
else if(dnaper[i]>=50)
cout << ": valid, CG=" << dnaper[i] << "%, stable"<< endl;
else if(dnaper[i]>=25)
cout << ": valid, CG=" << dnaper[i] << "%, less stable"<< endl;
else if(dnaper[i]==-1)
cout << ": invalid" << endl;
else
cout << ": valid, CG=" << dnaper[i] << "%, unstable"<< endl;
}
}

  SAMPLE OUTPUT   CCGA   ACTGATGC   ACTGATXC   TTCAA   #  CCGA: valid, CG=75%, highly stable  ACTGATGC: valid, CG=50%, stable  ACTGATXC: invalid  TTCAA: valid, CG=20%, unstable  
Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote