Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- #
- # Usage: ./program <dssp dat file>
- #
- import sys
- #
- keys = {'~':'Coil' ,
- 'E':'B-Sheet' ,
- 'B':'B-Bridge',
- 'S':'Bend' ,
- 'T':'Turn' ,
- 'H':'A-Helix' ,
- 'I':'5-Helix' ,
- 'G':'3-Helix' }
- #
- def read(fname):
- f = open(fname, 'r')
- lines = []
- for line in f.readlines():
- lines.append(line.strip('\n'))
- f.close()
- return lines
- #
- def analyze(list):
- size = float(list[0])
- lines = list[1:]
- nlist = []
- for idx, line in enumerate(lines):
- a = 0; b = 0
- for elem in line:
- if elem in ('H', 'I', 'G'):
- a += 1
- elif elem in ('E'):
- b += 1
- nlist.append([idx+1, a/size*100, b/size*100])
- return nlist
- #
- def write(fname, list):
- f = open(fname, 'w')
- for elem in list:
- f.write('%5f\t%9.5f\t%9.5f\n' %(elem[0]/1e4, elem[1], elem[2]))
- f.close()
- return
- #
- if __name__ == '__main__':
- ilist = read(sys.argv[1])
- flist = analyze(ilist)
- write('dump.xvg', flist)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement