首页 > > 详细

讲解CMPS 5P、Python设计辅导、讲解Python编程、Canvas留学生辅导 讲解R语言编程|讲解R语言编程

CMPS 5P Homework 2 Spring 19
Instructions
1. The aim of this assignment is to practice selection (if, else, and elif) and repetition
structures (while, and for) in Python.
2. The deadline for the assignment is 04/22/2019 (Monday) 11:59 PM.
3. The grade of the assignment is out of 100 pts.
4. Students must use Python3 (NOT Python2) to write the code.
5. Don’t share code or get code from the internet, but working together is encouraged. If
you choose to work with someone you must mention them in one of the first comments
in the file.
6. Students are expected to write the code that is easily readable. To this end, they must
employ meaningful variable names and comment their code properly.
7. The output of the code requires to be precisely as shown in the sample runs.
8. Students must put the code in a file named FirstName LastName StudentID HW2.py
and submit it through Canvas. Please notice that failing to comply any of these requirements
will result in losing points at the discretion of the grader.
Grading The assignment is out of 100 points. It is important that you practice commenting
your code, so each file submitted without comments will have 5 points deducted
from its score (even if the program works perfectly)! Furthermore, the formatting of the
the file names (described in item 8) is important for us to grade all 240 assignments, so
submissions which are not named in this way will have 5 points deducted from their overall
score.
Problem 1
Write a Python3 script which takes in a single stranded DNA sequence from the user and
prints out the ‘GC’ content and molecular weight of the single stranded circular DNA
molecule.
DNA is made up of four nucleotides, thymine (T), cytosine (C), adenine (A), or guanine (G).
These are represented as strings of only A, C, G and T characters of either upper or lower
case).
The program should prompt the user for a DNA sequence. If the provided string is not a
nucleotide sequence (i.e. contains any non A, C, G, T characters of either case), print an
1CMPS 5P Homework 2 Spring 19
error message and prompt the user for another DNA sequence. NOTE: the program needs
to handle any mixture of upper and lower cases for the DNA sequence!
Once a valid DNA sequence is entered by the user, then calculate the ‘GC content’ - the
fraction of G and C nucleotides in the sequence. For example, if the user entered ’ATGC’
the ’GC’ content would be 50% because the sequence contains 2 G or C nucleotides and 4
characters in total.
Next calculate the total molecular weight of the DNA sequence in Daltons. The given nucleotide
weights for each nucleotide is shown below in Table 1. For example, if the user
entered ‘ATGC’ the molecular weight of the single stranded DNA sequence would be 1235.80
Da.
In detail the following steps should be followed:
1. Prompt user for single stranded DNA sequence with the message
”Input DNA Sequence: ”
2. Check if input contains any characters not in {“T”, “A”, “G”, “C”, “t”, “a”, “g”, “c”}
3. If the user entered an incorrect string, report error:
“ERROR: Not a DNA sequence: user-input-seq”
where user-input-seq is the input sequence, then prompt the user again.
4. Calculate the molecular weight of the single stranded DNA using Table 1.
5. Output the result with
“DNA sequence weighs: weight Da”
and round the weight to the second decimal position
6. Calculate percent of G’s and C’s in the string and report
“GC content of DNA sequence is: percentage”
and round the percentage to the second decimal position.
7. Ask the user if they want to analyze another sequence with the message
“Analyze another DNA Sequence (y/n)?: ”
8. If the user inputs ‘y’ then go through the loop again. If ‘n’, then exit, if neither y nor
n, then ask again.
2CMPS 5P Homework 2 Spring 19
Table 1: DNA nucleotides’ molecular weights
DNA Nucleotide Molecular weight (Da)
Thymine 304.20
Cytosine 289.18
Adenine 313.21
Guanine 329.21
Example Runs
EXAMPLE 1
Input DNA Sequence: ATGC
DNA sequence weighs: 1235.80 Da
GC content of DNA sequence is: 50.00
Analyze another DNA Sequence (y/n)?: y
Input DNA Sequence: atgc
DNA sequence weighs: 1235.80 Da
GC content of DNA sequence is: 50.00
Analyze another DNA Sequence (y/n)?: n
EXAMPLE 2
Input DNA Sequence: AFtTT!
ERROR: Not a DNA sequence: AFtTT!
Analyze another DNA Sequence (y/n)?: y
Input DNA Sequence: AGTTT
DNA sequence weighs: 1555.02 Da
GC content of DNA sequence is: 20.00
Analyze another DNA Sequence (y/n)?: n
3

联系我们
  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp
热点标签

联系我们 - QQ: 99515681 微信:codinghelp
程序辅导网!