[Tutor] just one question

amrita at iisermohali.ac.in amrita at iisermohali.ac.in
Thu Jul 16 18:28:41 CEST 2009


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  <amrita at 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



More information about the Tutor mailing list