1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
Maru [420]
3 years ago
5

DNA is the fundamental encoding of the instructions that govern the operation of living cells and, by extension, biological orga

nisms. You can think of DNA as a storage medium in which the program that executes within all of your cells is written. The "machine code" of DNA, corresponding to the byte-code of Java, consists of only four nucleotides: four amino acids that are arranged in a linear sequence along the DNA molecule. These four bases are: guanine (G), adenine (A), thymine (T), and cytosine (C). So, a DNA molecule can be represented as a string made up of those four letters. The science of bioinformatics is largely concerned with computations on such genetic strings, or sequences. There are a variety of computations that one might perform on genetic sequences. We will investigate two types: basic statistics of individual sequences and pairwise alignments used to compare pairs of sequences.
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.
-A DNA strand is actually made up of pairs of bases — in effect, two strands that are cross-linked 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 "AAGGT" would be "TTCCA". Compute the complement of the input sequence.
Computers and Technology
1 answer:
saul85 [17]3 years ago
5 0

Answer:

See explaination

Explanation:

import java.util.*;

class Dna

{

public static void main(String args[])

{

Scanner sc = new Scanner(System.in);

boolean b = false; //boolean variable to check validity

String s1="",s2="";

//input 1st sequence from user

while(b != true)

{

System.out.print("Sequence 1: ");

s1 = sc.nextLine();

b = isValid(s1); //checks validity

}

int c = findCount(s1); //finds C-Count for 1st sequence

double ratio = findRatio(c, s1); //finds CG-Ratio for 1st sequence

String complement = findComplement(s1); //finds complement of 1st sequence

System.out.println("C-count: "+c);

System.out.println("CG-ratio: "+ratio);

System.out.println("Complement: "+complement+"\n");

b = false; //re-initialize for 2nd sequence

//input 2nd sequence from user

while(b != true)

{

System.out.print("Sequence 2: ");

s2 = sc.nextLine();

b = isValid(s2); //checks validity

}

c = findCount(s2); //finds C-Count for 2nd sequence

ratio = findRatio(c, s2); //finds CG-Ratio for 2nd sequence

complement = findComplement(s2); //finds complement of 2nd sequence

System.out.println("C-count: "+c);

System.out.println("CG-ratio: "+ratio);

System.out.println("Complement: "+complement+"\n");

findAlignment(s1, s2); //finds best alignment score

}

/* This function determines validity of a sequence */

public static boolean isValid(String s)

{

boolean b = true;

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

{

char c = s.charAt(i);

if(!(c=='A' || c=='C' || c=='G' || c=='T'))

{

b = false;

break;

}

}

return b;

}

/* This function finds count of 'C' by iterating over string */

public static int findCount(String s)

{

int count = 0;

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

{

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

count++;

}

return count;

}

/**

This function finds CG-Ratio by iterating over string

and finding count of 'C' and 'G' and dividing the count by

size of string

*/

public static double findRatio(int c, String s)

{

int count = 0;

int length = s.length();

for(int i=0; i<length; i++)

{

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

count++;

}

double ratio = (double)count/length;

ratio = (double) Math.round(ratio * 1000) / 1000;

return ratio;

}

/* This function finds complement of a sequence */

public static String findComplement(String s)

{

String sc = "";

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

{

char c = s.charAt(i);

if(c == 'A')

sc = sc + "T";

else if(c == 'T')

sc = sc + "A";

else if(c == 'C')

sc = sc + "G";

else if(c == 'G')

sc = sc + "C";

}

return sc;

}

/**

This function finds maximum Alignment score by shifting

the string with lower size by 1 until the difference

between the size of both strings and calculating count

of characters match

*/

public static void findAlignment(String s1, String s2)

{

int offset = 0; //highest shift upto which 2nd sequence need to be shifted

int maxOffset = 0; //the offset where we get maximum alignment score

int maxAllignment = 0; //stores max Alignment score

int l1 = s1.length(); //length of 1st sequence

int l2 = s2.length(); //length of 2nd sequence

int min = 0; //stores the length of sequence with smaller size

//calculate difference between size of both sequences

//to determine offset

if(l1>l2)

{

offset = l1 - l2;

min = l2;

}

else if(l1<l2)

{

offset = l2 - l1;

min = l1;

}

else

{

offset = 1; //ensures single iteration for equi-length sequences

min = l1;

}

//loop to find max alignment score

for(int i=0; i<offset; i++)

{

int count = 0; //counts alignment score for each offset

//This loop checks the count for each alignment

for(int j=0; j<min; j++)

{

if(s1.charAt(j+i) == s2.charAt(j))

count++;

}

//store highest alignment score in maxAlignment

//and shift of the smaller sequence in maxOffset

if(count > maxAllignment)

{

maxAllignment = count;

maxOffset = i;

}

}

//Print the alignment score and alignment of sequences

if(l1>l2)

{

System.out.println("Best alignment score: "+maxAllignment);

System.out.println(s1);

for(int i=0; i<maxOffset; i++)

System.out.print(" ");

System.out.println(s2);

}

else if(l2>l1)

{

System.out.println("Best alignment score: "+maxAllignment);

for(int i=0; i<maxOffset; i++)

System.out.print(" ");

System.out.println(s1);

System.out.println(s2);

}

else

{

System.out.println("Best alignment score: "+maxAllignment);

System.out.println(s1);

System.out.println(s2);

}

}

}

You might be interested in
g Suppose the vertex data is stored in an array named verts and each vertex uses a list to store the coordinates. Write the code
kodGreya [7K]

Answer:

function createAndFillBufferObject(gl, data) {

 var buffer_id;

 // Create a buffer object

 buffer_id = gl.createBuffer();

 if (!buffer_id) {

   out.displayError('Failed to create the buffer object for ' + model_name);

   return null;

 }

 // Make the buffer object the active buffer.

 gl.bindBuffer(gl.ARRAY_BUFFER, buffer_id);

 // Upload the data for this buffer object to the GPU.

 gl.bufferData(gl.ARRAY_BUFFER, data, gl.STATIC_DRAW);

 return buffer_id;

}

3 0
4 years ago
Secondary sources<br> information gathered from primary sources.
sergeinik [125]

Answer:

what

Explanation:

8 0
4 years ago
Read 2 more answers
Which of the following best describes the protocols used on the Internet?
ASHA 777 [7]

Answer:

C: The protocols of the Internet are open and used by all devices connected to the network

Explanation:  Hope this helps.  

There are billions of devices connected to the Internet, and hundreds of different kinds of devices: laptops, tablets, phones, refrigerators, handheld credit card readers, and so on. Protocols (standards) ensure that the variety of devices interact with each other smoothly.  There are a lot of protocols! The Internet was designed with several layers of abstraction that sort the protocols according to what part of the process they support.

4 0
3 years ago
What are the business drivers of cloud computing?(Choose all that apply.)
Xelga [282]

Answer:  The applicable answers are b, c, and d.

Explanation:

When a company decides to hire the services of a cloud computing service provider, instead of investing in purchasing the resources needed in order to match its needs, as the cloud model is based on the concept "pay as you go", it allows to maximize the costs efficiency, and at the same time, gives the company the choice to define what type of steps are needed to grow, and when it is advisable to go beyond.

Finally, as it is possible to expand the services hired on the fly very easily, it is a very good way to be sure that it will never ran out of resources, no matter that future needs could be.

Actually, the only answer that is wrong is a) because it happens just the opposite: Cloud services allow to decrease time to market substantially.

7 0
3 years ago
Write a method with the header public static void swapAdjacent(int[] values) that takes a reference to an array of integers valu
andreev551 [17]

Answer:

public static void swapPairs(int[] a){

   int len=a.length;

       if(len%2 ==0){

           for(int i=0; i<len; i=i+2){

               a[i]=a[i+1];

               a[i+1]=a[i];

               int[] b={a[i]+a[i+1]};

           }    

       }

       if(len%2 !=0){

           for(int j=0; j<len; j=j+2){

               a[j]=a[j+1];

               a[j+1]=a[j];

               a[len-1]=a[len-1];

               int[] b={a[j]+a[j+1]+a[len-1]};

           }

       }    

}

public static void printArray(int[] a){

   System.out.println(a);

}

3 0
3 years ago
Other questions:
  • Leslie’s form collected a huge amount of data. Over time the employees felt that the applications slowed down. What should lesli
    12·1 answer
  • It's time for you to schedule a dental checkup. The responsible thing to do is to ___
    11·1 answer
  • When you make a pointer variable im C++, is star label a must?
    9·1 answer
  • In its simplest form, the __________ has two columns: the first column lists every computer and device in the network, while the
    15·1 answer
  • The region which satisfies all of the constraints in graphical linear programming is called the:
    8·1 answer
  • Problem 3. Consider the following recurrence, defined for n a power of 4 (for the time of some algorithm): T(n) = 3 if n = 1 2T(
    5·1 answer
  • Someone who wants to learn a skilled trade on the job should consider
    6·2 answers
  • I WILL GIVE BRAINLIEST TO WHO ANSWERS FIRST AND CORRECTLY.
    5·1 answer
  • Create a list with 5 numbers and find the smallest and largest number in the list and also the sum and product of the numbers in
    9·1 answer
  • Sistem komponen mekanikal yang terdapat pada sebuah basikal?​
    13·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!