Download Python programs

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Python programs
How can I run a program?
Input and output
In this module you can learn
•
•
•
•
•
How to read, process, and output text
How to read from the keyboard
How to write to the screen
How to repeat things
How to create your own modules
Counting amino acids
What is a program?
It is a text file that contains Python commands or, in other
words, lines of code
Exercise 1
1) Open a text file, write:
print "This is the output of my first program"
save the file with the name my_print.py and exit.
Open a terminal, go to the directory where you saved my_print.py and
type at the cursor:
python my_print.py
Input
in the program
from the keyboard
program
from a file
from a Python module
Input from the program itself
a = 3
print a
Input from the keyboard
>>> a = raw_input("Type a number: ")
Type a number: 3
>>> print a
3
Exercise 2
2) Write a program that reads something from the keyboard
and print it to the screen.
a = raw_input("Type something: ")
print a
Input from a text file
• We need to “access” an existing input file
• And read its content
Infile = open("insulin.txt")
content = Infile.read()
print content
From a Python module
• A Python module is a text file (with the .py extension)
that contains (Python) definitions/assignments
• Python modules can be accessed from programs
using the import statement
Python module insulin.py
insulin = "GIVEQCCTSICSLYQLENYCNFVNQHLCGSHL\
VEALYLVCGERGFFYTPKT"
Python program my_first_import.py
from insulin import insulin
print insulin
Exercise 3
3) Write a program that reads a sequence from a file and
print it to the screen. Run it.
Output
to the computer screen
program
to a text file
To the computer screen
?
To a text file
• We need to “open” a text file in the “writing”
mode
• We have to write to it.
from insulin import insulin
outfile = open("my_output.txt", "w")
outfile.write(insulin)
outfile.close()
seq.count("A")
counts the number
of letters
Exercise 4
4) Calculate DNA base occurrences. Write a program that
counts how many times the four bases occur in a DNA
sequence. The program should:
- Store the DNA sequence in a variable.
- Count how often each base occurs.
- Write all four numbers to the screen.
Test it with a DNA sequence for which you know the result, for
instance “AAAACCCGGT”. This approach makes it much easier
to discover small program errors.
dna = "AGCTTCGA"
print
print
print
print
dna.count("A")
dna.count("C")
dna.count("T")
dna.count("G")
Loops with for
The for command repeats other commands:
dna = "AGCTTCGA”
for base in "ACTG":
print dna.count(base)
The commands that are repeated must be indented
(shifted right by four spaces).
Compare
dna = "AGCTTCGA”
for base in "ACTG":
print dna.count(base)
Would you prefer this implementation?
dna = "AGCTTCGA"
print
print
print
print
dna.count("A")
dna.count("C")
dna.count("T")
dna.count("G")
Why or why not?
Exercise 5
5) Retrieve the 1132-residue sequence of human
telomerase reverse transcriptase isoform 1 from the NCBI
protein database. Choose the FASTA format. Copy the
sequence to a text file (telomerase.txt). Write a program
that reads the telomerase.txt file and prints first the whole
sequence and then the sequence residue by residue.
telomerase = open("telomerase.txt")
seq = telomerase.read()
print seq
for aa in seq:
print aa
You can use a for loop to read a file
line by line
Input_file = open(“my_file.txt”)
for line in Input_file:
print line
Exercise 6
6) Write a program that reads the telomerase.txt file and
prints its content line by line.
telomerase = open("telomerase.txt")
for line in telomerase:
print line
Exercise 7
7) Which amino acid is the most frequent in the sequence of
the telomerase reverse transcriptase isoform 1?
telomerase = open("telomerase.txt")
seq = telomerase.read()
for aa in "ACDEFGHKILMNPQRSTVYW":
aa_count = seq.count(aa)
aa_freq = aa_count/float(len(seq))
print aa, round(aa_freq, 3)
Recap
Recap I
•
•
•
•
•
•
•
string variables contain text
print writes to the screen
you can use functions to do things
you can enter text with raw_input()
write() writes to an open file
for loops repeat commands
comments starts with # or '''
Recap II