python programs how can i run a program? input and output
TRANSCRIPT
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
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 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
from insulin import insulinprint insulin
insulin = "GIVEQCCTSICSLYQLENYCNFVNQHLCGSHL\ VEALYLVCGERGFFYTPKT"
Python module insulin.py
Python program my_first_import.py
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()
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.
Loops with forThe for command repeats other commands:
The commands that are repeated must be indented(shifted right by four spaces).
dna = "AGCTTCGA”
for base in "ACTG": print dna.count(base)
dna = "AGCTTCGA”
for base in "ACTG": print dna.count(base)
Compare
Would you prefer this implementation?
dna = "AGCTTCGA"
print dna.count("A")print dna.count("C")print dna.count("T")print 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.
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.
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 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 '''