new user needs help!

Chris cwitts at gmail.com
Thu Apr 10 10:07:44 CEST 2008


On Apr 9, 11:02 pm, drjekil <drjeki... at gmail.com> wrote:
> I have done something so far about that problem,but its not the good way to
> do it
>
> need ur comments about that....
>
> from string import  *;
> import sys
>
> myfile = open("/afs/pdc.kth.se/home/d/debnath/membrane/1a91A.txt")
> a = myfile.readlines()
> data = myfile.readlines()
> for line in myfile.readlines():
>        fields = line.split('\t')
>
>        items=fields.strip()
>        list1.append(items[1])
>
> for i in aminoacid:
>     if  10.0 <= z <= 22.0:
>     matches.append([1,i])
> #here i am getting comment!  bash-3.1$ python bb.py
>   File "bb.py", line 16
>     matches.append([1,i])
>           ^
> IndentationError: expected an indented block
>
>     else:
>     matches.append([-1,i])
>

You are getting the indentation error because you need to tab the
lines in after your 'if' and 'else' statements.  After that is fixed
you should get an Attribute Error on the 'items=fields.strip()' as a
list doesn't have access to strip.

import string
myfile = open("/afs/pdc.kth.se/home/d/debnath/membrane/1a91A.txt",
'rb')

AMINO_ACIDS = ['A','B','C',......'X','Y','Z']

for line in myfile:   # Files are iterable themselves.

    try:
        fields = map(string.strip, line.split('\t'))  # This will
strip every column for you
        name, aa, topo, access, tssp, stride, z = fields
    except IndexError:    # In case you don't have enough elements
        print 'Not enough elements on the line, moving along'

    if 10 <= z <= 22:   # You only wanted between those Z-Coords ?
        if aa in AMINO_ACIDS:
            # Now actually process the data you want


> print "#T/F  A  C  D  E  F  G  H  I  K  L  M  N  P  Q  R  S  T  V  W  X  Y
> Z"
>
> for a in range(0,len(matches),1):
>
>     if     matches[a][0]==1:
>
>     if matches[a][1]=='A':
>         print "1  1:1 2:0 3:0 4:0 5:0 6:0 7:0 8:0 9:0 10:0 11:0 12:0 13:0
> 14:0 15:0 16:0 17:0 18:0 19:0 20:0 21:0"
>     elif matches[a][1]=='C':
>         print "1  1:0 2:1 3:0 4:0 5:0 6:0 7:0 8:0 9:0 10:0 11:0 12:0 13:0
> 14:0 15:0 16:0 17:0 18:0 19:0 20:0 21:0"
>     elif matches[a][1]=='D':
>
>         print "    1  1:0 2:0 3:1 4:0 5:0 6:0 7:0 8:0 9:0 10:0 11:0 12:0
> 13:0 14:0 15:0 16:0 17:0 18:0 19:0 20:0 21:0"
> """    if matches[a][1]=='E' and matches[a][0]==1:
>
>         print "    1  1:0 2:0 3:0 4:1 5:0 6:0 7:0 8:0 9:0 10:0 11:0 12:0
> 13:0 14:0 15:0 16:0 17:0 18:0 19:0 20:0 21:0"
>     if matches[a][1]=='F' and matches[a][0]==1:
>
>         print "    1  1:0 2:0 3:0 4:0 5:1 6:0 7:0 8:0 9:0 10:0 11:0 12:0
> 13:0 14:0 15:0 16:0 17:0 18:0 19:0 20:0 21:0"
>     if matches[a][1]=='G' and matches[a][0]==1:
>
>         print "    1  1:0 2:0 3:0 4:0 5:0 6:1 7:0 8:0 9:0 10:0 11:0 12:0
> 13:0 14:0 15:0 16:0 17:0 18:0 19:0 20:0 21:0"
>     if matches[a][1]=='H' and matches[a][0]==1:
>
>         print "    1  1:0 2:0 3:0 4:0 5:0 6:0 7:1 8:0 9:0 10:0 11:0 12:0
> 13:0 14:0 15:0 16:0 17:0 18:0 19:0 20:0 21:0"
>     if matches[a][1]=='I' and matches[a][0]==1:
>
>         print "    1  1:0 2:0 3:0 4:0 5:0 6:0 7:0 8:1 9:0 10:0 11:0 12:0
> 13:0 14:0 15:0 16:0 17:0 18:0 19:0 20:0 21:0"
>     if matches[a][1]=='K' and matches[a][0]==1:
>
>         print "    1  1:0 2:0 3:0 4:0 5:0 6:0 7:0 8:0 9:1 10:0 11:0 12:0
> 13:0 14:0 15:0 16:0 17:0 18:0 19:0 20:0 21:0"
>     if matches[a][1]=='L' and matches[a][0]==1:
>
>         print "    1  1:0 2:0 3:0 4:0 5:0 6:0 7:0 8:0 9:0 10:1 11:0 12:0
> 13:0 14:0 15:0 16:0 17:0 18:0 19:0 20:0 21:0"
>     if matches[a][1]=='M' and matches[a][0]==1:
>
>         print "    1  1:0 2:0 3:0 4:0 5:0 6:0 7:0 8:0 9:0 10:0 11:1 12:0
> 13:0 14:0 15:0 16:0 17:0 18:0 19:0 20:0 21:0"
>     if matches[a][1]=='N' and matches[a][0]==1:
>
>         print "    1  1:0 2:0 3:0 4:0 5:0 6:0 7:0 8:0 9:0 10:0 11:0 12:1
> 13:0 14:0 15:0 16:0 17:0 18:0 19:0 20:0 21:0"
>     if matches[a][1]=='P' and matches[a][0]==1:
>
>         print "    1  1:0 2:0 3:0 4:0 5:0 6:0 7:0 8:0 9:0 10:0 11:0 12:0
> 13:1 14:0 15:0 16:0 17:0 18:0 19:0 20:0 21:0"
>     if matches[a][1]=='Q' and matches[a][0]==1:
>
>         print "    1  1:0 2:0 3:0 4:0 5:0 6:0 7:0 8:0 9:0 10:0 11:0 12:0
> 13:0 14:1 15:0 16:0 17:0 18:0 19:0 20:0 21:0"
>     if matches[a][1]=='R' and matches[a][0]==1:
>
>         print "    1  1:0 2:0 3:0 4:0 5:0 6:0 7:0 8:0 9:0 10:0 11:0 12:0
> 13:0 14:0 15:1 16:0 17:0 18:0 19:0 20:0 21:0"
>     if matches[a][1]=='S' and matches[a][0]==1:
>
>         print "    1  1:0 2:0 3:0 4:0 5:0 6:0 7:0 8:0 9:0 10:0 11:0 12:0
> 13:0 14:0 15:0 16:1 17:0 18:0 19:0 20:0 21:0"
>     if matches[a][1]=='T' and matches[a][0]==1:
>
>         print "    1  1:0 2:0 3:0 4:0 5:0 6:0 7:0 8:0 9:0 10:0 11:0 12:0
> 13:0 14:0 15:0 16:0 17:1 18:0 19:0 20:0 21:0"
>     if matches[a][1]=='V' and matches[a][0]==1:
>
>         print "    1  1:0 2:0 3:0 4:0 5:0 6:0 7:0 8:0 9:0 10:0 11:0 12:0
> 13:0 14:0 15:0 16:0 17:0 18:1 19:0 20:0 21:0"
>     if matches[a][1]=='X' and matches[a][0]==1:
>
>         print "    1  1:0 2:0 3:0 4:0 5:0 6:0 7:0 8:0 9:0 10:0 11:0 12:0
> 13:0 14:0 15:0 16:0 17:0 18:0 19:1 20:0 21:0"
>     if matches[a][1]=='Y' and matches[a][0]==1:
>
>         print "    1  1:0 2:0 3:0 4:0 5:0 6:0 7:0 8:0 9:0 10:0 11:0 12:0
> 13:0 14:0 15:0 16:0 17:0 18:0 19:0 20:1 21:0"
>     if matches[a][1]=='Z' and matches[a][0]==1:
>
>         print "    1  1:0 2:0 3:0 4:0 5:0 6:0 7:0 8:0 9:0 10:0 11:0 12:0
> 13:0 14:0 15:0 16:0 17:0 18:0 19:0 20:0 21:1"
>
> """
>     else:
>     if matches[a][1]=='A':
>         print "-1  1:1 2:0 3:0 4:0 5:0 6:0 7:0 8:0 9:0 10:0 11:0 12:0 13:0
> 14:0 15:0 16:0 17:0 18:0 19:0 20:0 21:0"
>     elif matches[a][1]=='C':
>             print "-1  1:0 2:1 3:0 4:0 5:0 6:0 7:0 8:0 9:0 10:0 11:0 12:0
> 13:0 14:0 15:0 16:0 17:0 18:0 19:0 20:0 21:0"
>     elif matches[a][1]=='D':
>
>         print "    1  1:0 2:0 3:1 4:0 5:0 6:0 7:0 8:0 9:0 10:0 11:0 12:0
> 13:0 14:0 15:0 16:0 17:0 18:0 19:0 20:0 21:0"
> """    if matches[a][1]=='E' and matches[a][0]==1:
>
>         print "    1  1:0 2:0 3:0 4:1 5:0 6:0 7:0 8:0 9:0 10:0 11:0 12:0
> 13:0 14:0 15:0 16:0 17:0 18:0 19:0 20:0 21:0"
>     if matches[a][1]=='F' and matches[a][0]==1:
>
>         print "    1  1:0 2:0 3:0 4:0 5:1 6:0 7:0 8:0 9:0 10:0 11:0 12:0
> 13:0 14:0 15:0 16:0 17:0 18:0 19:0 20:0 21:0"
>     if matches[a][1]=='G' and matches[a][0]==1:
>
>         print "    1  1:0 2:0 3:0 4:0 5:0 6:1 7:0 8:0 9:0 10:0 11:0 12:0
> 13:0 14:0 15:0 16:0 17:0 18:0 19:0 20:0 21:0"
>     if matches[a][1]=='H' and matches[a][0]==1:
>
>         print "    1  1:0 2:0 3:0 4:0 5:0 6:0 7:1 8:0 9:0 10:0 11:0 12:0
> 13:0 14:0 15:0 16:0 17:0 18:0 19:0 20:0 21:0"
>     if matches[a][1]=='I' and matches[a][0]==1:
>
>         print "    1  1:0 2:0 3:0 4:0 5:0 6:0 7:0 8:1 9:0 10:0 11:0 12:0
> 13:0 14:0 15:0 16:0 17:0 18:0 19:0 20:0 21:0"
>     if matches[a][1]=='K' and matches[a][0]==1:
>
>         print "    1  1:0 2:0 3:0 4:0 5:0 6:0 7:0 8:0 9:1 10:0 11:0 12:0
> 13:0 14:0 15:0 16:0 17:0 18:0 19:0 20:0 21:0"
>     if matches[a][1]=='L' and matches[a][0]==1:
>
>         print "    1  1:0 2:0 3:0 4:0 5:0 6:0 7:0 8:0 9:0 10:1 11:0 12:0
> 13:0 14:0 15:0 16:0 17:0 18:0 19:0 20:0 21:0"
>     if matches[a][1]=='M' and matches[a][0]==1:
>
>         print "    1  1:0 2:0 3:0 4:0 5:0 6:0 7:0 8:0 9:0 10:0 11:1 12:0
> 13:0 14:0 15:0 16:0 17:0 18:0 19:0 20:0 21:0"
>     if matches[a][1]=='N' and matches[a][0]==1:
>
>         print "    1  1:0 2:0 3:0 4:0 5:0 6:0 7:0 8:0 9:0 10:0 11:0 12:1
> 13:0 14:0 15:0 16:0 17:0 18:0 19:0 20:0 21:0"
>     if matches[a][1]=='P' and matches[a][0]==1:
>
>         print "    1  1:0 2:0 3:0 4:0 5:0 6:0 7:0 8:0 9:0 10:0 11:0 12:0
> 13:1 14:0 15:0 16:0 17:0 18:0 19:0 20:0 21:0"
>     if matches[a][1]=='Q' and matches[a][0]==1:
>
>         print "    1  1:0 2:0 3:0 4:0 5:0 6:0 7:0 8:0 9:0 10:0 11:0 12:0
> 13:0 14:1 15:0 16:0 17:0 18:0 19:0 20:0 21:0"
>     if matches[a][1]=='R' and matches[a][0]==1:
>
>         print "    1  1:0 2:0 3:0 4:0 5:0 6:0 7:0 8:0 9:0 10:0 11:0 12:0
> 13:0 14:0 15:1 16:0 17:0 18:0 19:0 20:0 21:0"
>     if matches[a][1]=='S' and matches[a][0]==1:
>
>         print "    1  1:0 2:0 3:0 4:0 5:0 6:0 7:0 8:0 9:0 10:0 11:0 12:0
> 13:0 14:0 15:0 16:1 17:0 18:0 19:0 20:0 21:0"
>     if matches[a][1]=='T' and matches[a][0]==1:
>
>         print "    1  1:0 2:0 3:0 4:0 5:0 6:0 7:0 8:0 9:0 10:0 11:0 12:0
> 13:0 14:0 15:0 16:0 17:1 18:0 19:0 20:0 21:0"
>     if matches[a][1]=='V' and matches[a][0]==1:
>
>         print "    1  1:0 2:0 3:0 4:0 5:0 6:0 7:0 8:0 9:0 10:0 11:0 12:0
> 13:0 14:0 15:0 16:0 17:0 18:1 19:0 20:0 21:0"
>     if matches[a][1]=='X' and matches[a][0]==1:
>
>         print "    1  1:0 2:0 3:0 4:0 5:0 6:0 7:0 8:0 9:0 10:0 11:0 12:0
> 13:0 14:0 15:0 16:0 17:0 18:0 19:1 20:0 21:0"
>     if matches[a][1]=='Y' and matches[a][0]==1:
>
>         print "    1  1:0 2:0 3:0 4:0 5:0 6:0 7:0 8:0 9:0 10:0 11:0 12:0
> 13:0 14:0 15:0 16:0 17:0 18:0 19:0 20:1 21:0"
>     if matches[a][1]=='Z' and matches[a][0]==1:
>
>         print "    1  1:0 2:0 3:0 4:0 5:0 6:0 7:0 8:0 9:0 10:0 11:0 12:0
> 13:0 14:0 15:0 16:0 17:0 18:0 19:0 20:0 21:1"
>    waiting for ur opinion.
>    thanks
>
> --
> View this message in context:http://www.nabble.com/new--user-needs-help%21-tp16571823p16596608.html
> Sent from the Python - python-list mailing list archive at Nabble.com.

Masses of print statements might work for debugging but you can get a
better structure through something else.  If you have a specific
message for those you could always build a dictionary containing the
messages and access them like....

msg_dict = {'A':'Message for A', 'B':'Message for
B',......,'Z':'Message for Z'}

for part1, part2 in matches:   # You have a 2 element structure,
(part1, part2) inside the list and lists are iterable
    if part2 == 1:             # Test the value
        try:
            print msg_dict[part1]
        except KeyError:
            print 'Amino Acid listed not on record'  # or you can just
simply pass over and not log anything

Hope that helps.
Chris



More information about the Python-list mailing list