Thankyou very much sir now it is working......it is giving that result which i wanted. Thankyou very much..........
Thanks, Amrita > Please use reply-all, so that emails go to the list as well. > > 2009/7/16 <amr...@iisermohali.ac.in>: >> Thankyou for help it is working and giving the result but the only >> problem >> is that it is making a very big file as it is searching for each >> position >> of ALA and first writting its C value then CA then CB like that, is it >> possible that it will do all these things but in the output it will give >> only the possible of C, CA and CB for each position of ALA:.. >> >> Like instead of giving all these:--- >> >> 23 ALA C = CA = CB = >> 21 ALA C = 179.35 CA = 54.33 CB = 17.87 >> 15 ALA C = 177.18 CA = 52.18 CB = 20.64 >> 8 ALA C = 179.39 CA = 54.67 CB = 18.85 >> 23 ALA C = CA = CB = >> 21 ALA C = 179.35 CA = 54.33 CB = 17.87 >> ..... >> >> it will only give:---- >> >> 8 ALA C = 179.39 CA = 54.67 CB = 18.85 >> 15 ALA C = 177.18 CA = 52.18 CB = 20.64 >> 21 ALA C = 179.35 CA = 54.33 CB = 17.87 >> 23 ALA C = 179.93 CA = 55.84 CB = 17.55 >> 33 ALA C = 179.24 CA = 55.58 CB = 19.75 >> 38 ALA C = 178.95 CA = 54.33 CB = 18.30 >> >> >> Thanks, >> Amrita >> >> >> >> >> >> Amrita Kumari >> Research Fellow >> IISER Mohali >> Chandigarh >> INDIA >> >> > > Either you're not entering the code correctly, or the input file is > different to what you've shown us so far. > > I think you need to send me a copy of the input file - or at least a > larger sample than we've had so far so we can see what we're dealing > with. > > The code should be: > > from __future__ import with_statement > from collections import defaultdict > from decimal import Decimal > > atoms = defaultdict(dict) > > with open("file1.txt") as f: > for line in f: > try: > n, pos, ala, at, symb, weight, rad, count = line.split() > except ValueError: > continue > else: > atoms[int(pos)][at] = Decimal(weight) > > #modify these lines to fit your needs: > positionsNeeded = (8, 15, 21) > atomsNeeded = ("C", "CA", "CB") > > for k, v in atoms.iteritems(): > print k, "ALA C = %s CA = %s CB = %s" % tuple(v.get(a,"") for a in > atomsNeeded) > > Check you've got the indentation (the spaces at the start of lines) > correct, exactly how it is above: this is VERY important in python. > > -- > Rich "Roadie Rich" Lovely > There are 10 types of people in the world: those who know binary, > those who do not, and those who are off by one. > Amrita Kumari Research Fellow IISER Mohali Chandigarh INDIA _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor