On 11/01/2011 10:11 AM, lina wrote:
Hi,
The following code (luckily) partial achieved what I wanted, but I
still have few questions:
#!/usr/bin/python3
import os.path
INFILEEXT=".txt"
OUTFILEEXT=".new"
DICTIONARYFILE="dictionary.pdb"
orig_dictionary={}
new_dictionary={}
abetaABresidues={}
def processonefiledata(infilename):
with open(infilename,"r") as f:
for line in f:
parts=line.strip().split()
orig_dictionary[parts[0]]=parts[1]
def build_abetadictionary(infilename,olddict):
with open(infilename,"r") as f:
for line in f:
parts=line.strip().split()
if parts[0] != "85CUR" and (parts[0] not in
abetaABresidues.keys()):
abetaABresidues[parts[0]]=0
for residues, numbers in abetaABresidues.items():
if residues in olddict.keys():
new_dictionary[residues]=olddict[residues]
else:
new_dictionary[residues]=0
with open(base+OUTFILEEXT,"w") as f:
for residues, numbers in new_dictionary.items():
print(residues,numbers,file=f)
## Q1: How can I sort the results, like the effect of | sort -g
from something like:
84ALA 12
:
:
83ILE 28
:
:
to
:
83ILE 28
84ALA 12
:
Just use the sort() method of the list object. In particular, items()
returns an unordered list, so it's ready to be sorted.
for residues, numbers in new_dictionary.items().sort():
That will sort such that residues are in sorted order.
--
DaveA
_______________________________________________
Tutor maillist - Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor