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
To do a good job of searching periodicals at your library, you should use A) the Library of Congress Authorities webpage. B) web
jonny [76]

Answer:

C) the online catalog.

Explanation:

An online library catalog describes the periodicals, videotapes, and books as it is the electronic bibliographic database. This evolved from the printed source, the library card catalog. Hence, this clarifies that its C. the correct option.

However, LexisNexis is the unit that gives computer-assisted research CALR and business research as well as risk management services. So through this, you can get the legal and journalistic documents.

And the stack or the book stack which is referred to as the library building block is for book storage. And the library of Congress Subject Headings is active since 1898 and holds the catalog materials which are being collected by the Library of Congress, and they do not keep track of periodicals. And the BizMiner is for financial reports.

Hence, the correct answer is the C) the online catalog.

5 0
3 years ago
Minerals can form deep inside Earth’s crust by
ipn [44]

ANSWER:

Minerals can form deep inside earth's crust by the crystallization of melted materials. There are two ways on how minerals are formed: crystallization of melted materials and the crystallization of materials dissolved in water.

Hope this helps!

5 0
3 years ago
Hãy mô tả mô hình xử lý của hệ thống thông <br> tin kế toán tài chính trong một doanh nghiệp
GrogVix [38]
Yes because it’s the square size of life
6 0
2 years ago
A technician needs to be prepared to launch programs even when utility windows or the Windows desktop cannot load. What is the p
ololo11 [35]

Answer:

Msinfo32.exe, cmd

Explanation:

The msinfo.exe is a tool that gathers information concerning your computer system and displays a comprehensive view of your system components, hardware, and software environment, that can later be use to diagnose computer issues.

Command Prompt is an interpreter application for command line which is available in nearly all Windows operating systems. It is utilized for executing entered commands.

6 0
3 years ago
Which of the following is not the name of a java wrapper class from the Java API?
11111nata11111 [884]

Answer:

Int

byte

Explanation:

In java there are eight primitive data types has a class dedicated, and then we can find eight wrapper classes, I'm going to let you the next table with the 8 example:

Assume the next table byte and Int are primitive data, the different with byte is only the capital letter Byte.

Primitive Wrapper Class

boolean         Boolean  

byte                 Byte  

char                 Character

int                 Integer  

float                 Float  

double         Double

long                 Long  

short         Short

3 0
3 years ago
Other questions:
  • When you add an rss feed to hootsuite publisher, posts from blogs and websites you designate will be?
    5·1 answer
  • Why are cable networks such as mtv and cnn more profitable than the big four broadcast networks?
    8·1 answer
  • You need to access the registry on your windows 10 computer how do you do this
    9·1 answer
  • There are varying definitions for the term "dumb terminal," but it often refers to the fact that the terminal has
    13·1 answer
  • To combat piracy, many software publishers require users to type in a(n) ____ code, a sequence of numbers and letters in order t
    10·1 answer
  • Assuming a computer has a single processor and a single core with no support for parallel execution, explain why running a multi
    11·1 answer
  • What are the two types of formulas in excel
    9·1 answer
  • ___ involves connecting geographically remote computers into a single network and combining the computational power of all compu
    14·1 answer
  • Provide an example where a company has demonetized a market or industry.
    8·1 answer
  • Case Study/Scenario: First, Julio clicks Tools from the Chrome menu on the toolbar. Next, he looks for Manage Add-Ons but can no
    9·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!