python programs how can i run a program? input and output

36
Python programs How can I run a program? Input and output

Upload: maurice-preston

Post on 11-Jan-2016

230 views

Category:

Documents


0 download

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

program

in the program

from the keyboard

from a file

from a Python module

Input from the program itself

a = 3print a

Input from the keyboard

>>> a = raw_input("Type a number: ")Type a number: 3>>> print a3

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

from insulin import insulinprint insulin

insulin = "GIVEQCCTSICSLYQLENYCNFVNQHLCGSHL\ VEALYLVCGERGFFYTPKT"

Python module insulin.py

Python program my_first_import.py

Exercise 3

3) Write a program that reads a sequence from a file and print it to the screen. Run it.

Output

program

to the computer screen

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 dna.count("A")print dna.count("C")print dna.count("T")print dna.count("G")

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.

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