150k views
4 votes
In Java please:

Problem using knowledge of DNA sequences:
A) "Your program will first prompt the user to enter a single DNA sequence, which it should validate for legality (i.e., only the four valid bases) — you might do this validation by writing a function that takes a String as a parameter and returns a boolean. Re-prompt the user if the input was invalid. Once you have a valid input, compute the following statistics (each should be implemented as a separate function, called from main())."
1. Count the number of occurrences of "C".
2. Determine the fraction of cytosine and guanine nucleotides. For example, if half of the nucleotides in the sequence are either "C" or "G", the fraction should be 0.5.
3. A DNA strand is actually made up of pairs of bases — in effect, two strands that are crosslinked together. These two strands are complementary: if you know one, you can always determine the other, or complement, because each nucleotide only pairs up with one other. In particular, "A" and "T" are complements, as are "C" and "G". So, for example, the complement of the sequence "AAGGTCT" would be "TTCCAGA". Compute the complement of the input sequence.
The output should be something like this;
Sequence 1: AATCTATA
C-count 1
CG-ratio: 0.125
Complement: TTAGATAT
Sequence 2: AAGATA
C-count: 0
CG-ratio: 0.167
Complement: TTCTAT

User Bucktronic
by
5.8k points

1 Answer

2 votes

Answer:dna.java

import java.util.Scanner;

public class dna

public static boolean isvalid(String s)

for (int i = 0; i< s.length()="" ;="">

if(s.charAt(i) != 'C' && s.charAt(i) != 'G' && s.charAt(i) != 'A' && s.charAt(i) != 'T' )

return false;

return true;

public static double countc(String s)

double c = 0;

for (int i = 0; i< s.length()="" ;="">

if(s.charAt(i) == 'C' )

c = c+1;

User David Woo
by
5.5k points