Skip to main content

DNA sequencer The biology department at UC Davis is looking for an application that can decode……

DNA sequencer
The biology department at UC Davis is looking for an application that can decode sequences of DNA, by locating genes and transcribing the sequence of corresponding proteins.
Genes are substrings of DNA which code for proteins and carry the heritable information from our parents. Genes start with the sequence of three letters ATG, called the start codon, and end with one of the three sequences TGA, TAA, or TAG, called stop codons. The stretch of sequence between the start codon and any of the stop codons is a potential gene.
Each codon codes for an amino acid represented by a letter of the alphabet. There is a total of 19 amino acids. Strung together, amino acids from proteins. A substring of a DNA sequence is a translatable sequence if:
it has a length that is multiple of three,
it starts with a start codon and ends with a stop codon
it can be translated into an amino acid sequence
For example, DNA sequence AATTAAGATGGGGCTCTAAAAT contains such a translatable sequence, starting at the 8th position and of length 12 (ATGGGGCTCTAA), thus consisting of 4 codons. This sequence can be translated using a codon table into the length three amino acid sequence MGL.
Note that the start codon codes for amino acid M while the stop codons don’t code for any amino acids.
On the other hand, DNA sequence AATGAATCTAGT is not a translatable sequence.
Write program dna_translate.c that takes two command line arguments: an input file name, containing DNA sequences, and an output file name, in which you will store the translated, protein sequences. For each sequence, the program should identify the longest possible translatable sub-sequence, if one exists, and translate it into a protein using a codon table given in the file codeoflife.txt. See example below.
$ cat codeoflife.txt I ATT I ATC I ATA … R CGT x TAA x TAG x TGA $ cat dna_seqs.txt aaATttaTggattagcaagcag ACGATGATGATGGGGCCCTAATAGTGATAAAAAACT AAAATAATTTGGA ATGAAATGGTAGATGAAACCCGGGATATGATAG $ ./dna_translate dna_seqs.txt prot_seqs.txt MD MMMGP none MKPGI $
Here are a list of requirements, assumptions and hints:

This program shall contain no global variables.

All the dynamically allocated memory should be properly freed by the terminated by the end of the program.

The translated sequences, in the output file, must be in the same order as the DNA sequences.
If no translatable sequence is found, none should be outputted.

We assume that the maximum number of characters a DNA sequence can contain is

We assume that the DNA sequence file contain only proper sequences ( i.e. strings over {A, C, G, T, a, c, g, t}).

You are expected to use a linked-list to represent the codon table (as read from file codeoflife.txt).

You are expected to use a linked-list to represent the list of DNA sequences (as read from the input file).

You will probably need to split the problem into a few principal functions, such as:
A function that builds the linked-list of codons, as read from codeoflife.txt.
A function that builds the linked-list of DNA sequences, as read from the input file.
You will probably need to think of the order of insertion, in order to keep the same order when outputting the resulting sequences of proteins.

A function that iterates through all the DNA sequences, and for each, finds the longest translatable sequence from each and outputs the corresponding sequence of proteins in the output file (or none if no translatable sequence was found).
Two functions that iterate through the two linked-lists and free every dynamically allocated items and any dynamically allocated objects they might contain.

List of some important libc functions that are used in the reference program: fopen(), fgets(), fprintf(), fclose(), sscanf(), strncpy(), strncmp(), etc.

Assignment status: Solved by our Experts.



Logo
.
CLICK HERE TO ORDER 100% ORIGINAL PAPERS AT PrimeWritersBay.com

Comments

Popular posts from this blog

Starting with this provided code, add the following functionality

1.Starting with this provided code, add the following functionality: Replace hardcoded strings “Zero”, “One”, “Two”, “Three” in the ArrayList based on user typed input (use Scanner or JOptionPane classes). The user will be prompted for the String to be stored in the ArrayList and then hit enter. The user will be able to continue to add items to the ArrayList until they just hit enter without typing anything. Once the user does this (hits enter without typing anything), the program will display all of the elements of the ArrayList, both the index and String values, in a table. It will do this via a single loop making use of an iterator method. 2. Starting with this provided code, add the following functionality: Use a Try/Catch block so that the exception is caught and the program exits a bit more gracefully. Save this file as TryCatch.java. (Be sure to rename the Public Class accordingly.) Starting with the provided code again (without the Try/Catch block), fix the code so that

Josie Eskander

  Question 1: Task 1: Report Assume you are Josie Eskander. You are writing in response to techno trading P/L’s advertisement of a new laptop at 20% below normal price. You want information on brand name, availability of service and repairs, delivery times and methods of payment. Write the letter using the seven basic parts of the letter. In the opening paragraph present a clear and courteous request. Secondly write a response from techno trading giving details and proposing the sale. Provide draft of both emails in the space below. Question 2: Task 2: Report In pairs, nominate a good and a bad letter writer. Discuss the key differences. Write a good/bad letter from techno training to Alex Antonov accepting/declining his proposal to invest in the business Question 3: Task 3: Report Write a letter from techno trading p/l to a new client ‘new realities p/l’ urging them to buy techno new virtual reality software. Make a strong argument for the product. Question 4: Task 4: Report Write a l

Sandra Coke is vice president for research and development at Great Lakes Foods (GLF), a large snack food company that has approximately 1,000 employees

Chapter 2 I Trait Approach 33 CASE 2.1 Choosing a New Director of Research Sandra Coke is vice president for research and development at Great Lakes Foods (GLF), a large snack food company that has approximately 1,000 employees. As a result of a recent reorganization, Sandra must choose the new director of research. The director will report directly to Sandra and will be responsible for developing and testing new products. The research division of GLF employs about 200 people. The choice of directors is important because Sandra is receiving pressure from the president and board of GLF to improve the company's overall growth and productivity. Sandra has identified three candidates for the position. Each candidate is at the same managerial level. She is having difficulty choosing one of them because each has very strong credentials. Alexa Smith is a longtime employee of GLF who started part-time in the mailroom while in high school. After finishing school, Alexa worked in as many as