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
Your organization recently deployed a Windows domain controller with Active Directory. All the domain OU users need to run the s
liberstina [14]

<u>Normally windows end user can login 3 ways as follow:</u>

1. End user can Login as local account where user has not connected or even connected to local Area network LAN.

2. Next user can login into cloud accounts nothing but hot mail  accounts

3. Login to windows domain controller where end user should connect to LAN.

Purpose of installation of Windows domain controller with Active Directory is to keep trace and keep log history activities.

Due to windows domain controller with Active Directory end user desktop or laptop has control on software access also.

Every time when end user login on windows domain controller a small modified is executed whenever is required. It is not going effort the workstation performances.

Note: - Domain severs should be POWER on first.

5 0
4 years ago
You compared each letter in the correct word to the letter guessed.
Murrr4er [49]

Answer:

wow

Explanation:

www

7 0
3 years ago
You can set the margin using the rular also true or false​
Murljashka [212]

Answer:

true

Explanation:

7 0
3 years ago
Which statement best justifies the use of a high-speed cache in a CPU?
crimeas [40]

Cache memory is a high-speed memory that stores the instructions and data that have been frequently accessed.  It decreases the time it takes to decode the instructions stored in the instruction pipeline.

A.  It decreases the time it takes to decode instructions stored in the instruction pipeline.

<u>Explanation:</u>

Whenever an instruction is invoked or some data is accessed, the CPU looks for it in the cache memory before accessing the main memory.

If the content is found in the cache memory, it accessed from there and then and hence the access time and decode time is reduced as there were no main memory lockups.

6 0
3 years ago
3.1.5 Which network component connects a device to transmission media and allows the device to send and receive messages?
Rom4ik [11]

Answer:

Network Interface Card (NIC)

Explanation:

Also called Ethernet Card, the Network Interface Card (NIC) allows a computer or any device to make wired or wireless connections with other devices in a network. This connection made possible by the NIC allows the device to send and receive messages in the network.

An application of this is seen in Internet of Things(IoT) where devices communicate with one another. This is actually possible because all of the devices one way or the other have a network interface card.

8 0
3 years ago
Other questions:
  • How do I take off the header off my second page in google docs ? ( I only need it on page 1)
    8·2 answers
  • Which does an icon on the desktop signify?
    12·1 answer
  • What does prominent hyperintensity mean relating to MRI?
    5·1 answer
  • What is the most important for you to choose before you build a network?
    7·1 answer
  • Which of the following would an interactive media professional most likely need? A.a high school diploma
    15·1 answer
  • What is online school like 6 sentences
    12·1 answer
  • Assume user_name equals "Tom" and user_age equals 22. What is printed on the console when the following statement is executed? c
    14·1 answer
  • While reviewing system logs, a security analyst notices that a large number of end users are changing their passwords four times
    13·1 answer
  • Which branch of science helps avoid or minimize stress-related injuries at workplace?
    14·2 answers
  • What are the two protocols used most often with iot devices? (select two. )
    10·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!