Project Description: Given the genomic sequences for an organism; one of the first steps in identifying the genes is to identify the open reading frames (ORFs). An open reading frame is a maximal...

1 answer below »

Project Description:


Given the genomic sequences for an organism; one of the first steps in identifying the genes is to identify the open reading frames (ORFs).


An open reading frame is a maximal length sequence of the DNA that starts with a start codon ATG and ends with a stop codon (TAA, TAG or TGA).


In prokaryotes, gene may occur within ORFs.


In eukaryotes, the story is complicated by the presence of introns that are spliced out of the mRNA before translation.


In this assignment, you will write a Python program that finds all the ORFs in a genomic sequence.




A genomic sequence has 6 reading frames, corresponding to the six possible ways of translating the sequence into three-letter codons.




Frame 1 treats each group of three bases as a codon, starting from the first base.


Frame 2 starts at the second base, and


frame 3 starts at the third base.




Frames 4, 5 and 6 are defined in a similar way, but refer to the opposite strand, which is the reverse complement of the first strand.




Specifications:


Write a Python program called orfs to find all the open reading frames (ORFs) in the input sequence.



INPUT :


The program will take in as input a file, which will contain any number of DNA sequences in the FASTA format:


- A line beginning with a ">" is the header line for the next sequence


- All lines after the header contain sequence data.


- There will be any number of sequences per file.


- Sequences may be split over many lines.


- Sequence data may be upper or lower case.


- Sequence data may contain white space, which should be ignored.


Ask the user for the minimum ORF to search for. The default is 50, which means your program should print out all ORFs with at least 50 bases.




OUTPUT:


Print your output in FASTA format, with one header line for each ORF, followed by the DNA in the ORF. The header should be the same as the header in the input file, followed by a bar "|" followed by


FRAME = POS =


LEN = , where is the frame number (1-6)


is the genomic position of the start of the ORF (left end is base 1)


is the length of the ORF (in bases)


If N = 4, 5 or 6, then P should be a negative number that indicates the


position of the start of the ORF from the right end of the sequence.


The DNA in the ORF should be printed out with a space between each codon, and no more than 15 codons per line.


For example:


>gi|1786181| Escherichia coli K-12 | FRAME = 1 POS = 5215 LEN = 138


ATG ATA AAA GGA GTA ACC TGT GAA AAA GAT GCA ATC TAT CGT ACT CGC ACT TTC CCT GGT TCT GGT CGC TCC CAT GGC AGC ACA GGC TGC GGA AAT TAC GTT AGT CCC GTC AGT AAA ATT ACA GAT AGG CGA TCG TGA








Worked Example:




Example Input:


> sequence 1 ATGCTACCGTAGTGAG


> sequence 2 AATTACTAATCAGCCCATGATCATAACATAACT GTGTATGTCTTAGAGGACCAAACCCCCCTCCTTCC




Example Output (looking for ORFs of any size – not actual results, just an illustration. You can use online tools, such as ORFFinder at NCBI to check your results):


> sequence 1 | FRAME = 1 POS = 1 LEN = 12


ATG CTA CCG TAG


> sequence 2 | FRAME = 2 POS = 17 LEN = 15


ATG ATC ATA ACA TAA


> sequence 2 | FRAME = 2 POS = 38 LEN = 9


ATG TCT TAG


> sequence 2 | FRAME = 4 POS = -40 LEN = 9


ATG TTA TGA


> sequence 2 | FRAME = 6 POS = -45 LEN = 15


ATG ATC ATG GGC TGA



Answered Same DayNov 07, 2021

Answer To: Project Description: Given the genomic sequences for an organism; one of the first steps in...

Swapnil answered on Nov 08 2021
131 Votes
95682/__pycache__/Main.cpython-39.pyc
95682/fasta1.txt
>gi|1154346152|ref|NC_010461.5|:c12152204-1
2099849 Sus scrofa isolate TJ Tabasco breed Duroc chromosome X, Sscrofa11.1, whole genome shotgun...
SOLUTION.PDF

Answer To This Question Is Available To Download

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here