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

Reply via email to