I am working with a text filelooks like this:
#NAME AA TOPO ACCESS DSSP STRIDE Z-COORD
1lghB A i 79.8 H H -24.58
1lghB V i 79.6 H H -22.06
1lghB H i 71.9 H H -19.94
i need to compare those lines which has a value between 10 to 22 and presents in the following way
True/false A C D E F G H I K L M N P Q R S T V X Y W(here alfabets represents amino acids)
1 1:1 2:0 3:0 and so on for rest of the amino acids.
I have given 2 examples below to make it clear a bit:
ex.1:
#NAME AA TOPO ACCESS DSSP STRIDE Z-COORD
1lghB A i 79.8 H H -24.58 #for that line amino acid is A and z-COORED value is more than 22,so output should be look like
True/false A C D E F G H I K L M N P Q R S T V X Y W(here alfabets represents amino acids)
-1 1:1 2:0 3:o 4:0 so on upto 20 bcz there r 20 amino acids.and A presents in the 1st position.every line represents one amino acid with value,so output will show in which position is it(here A is in 1st position thats why its value 1:1 and all the other position o like 2:0,3:0,4:0 and if its Z-COORED value between 10-22 then true false value 1,otherwise -1.
another ex:
1lghB H i 71.9 H H -19.94 # for that line amino acid is H and it has value between 10-22.so output should looks like:
True/false A C D E F G H I K L M N P Q R S T V X Y W(here alfabets represents 20 amino acids)
1 1:0 2:0 3:0 4:0 5:0 6:0 7:1 8:0,every position is zero up to 20 bcz H presents in the 7th position.so it will be 1.
so for every line, output will in 21 coulum,1st coulum for true false value,others r for 20 amino acids.true false value will be either 1 or -1,and within other 20 coulum one value will be n:1,others will be n:0.n=0,1,2,3..20.
its a bit tricky.
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 Z-CORRED:
if 10.0 <= z <= 22.0:
matches.append([1,i])
else:
matches.append([-1,i])
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: #here i have getting comments
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