May I ask another question: where I can get some advanced, terse and powerful python tutorials. short but powerful and a bit hard to understand at first.
Thanks again, On Wed, May 18, 2011 at 1:51 AM, Emile van Sebille <em...@fenx.com> wrote: > On 5/17/2011 9:47 AM lina said... >> >> A further question: I don't know how can I get the final output is >> unique? > > That'll require some rework. The mapping container replaces > mapping[parts[0]] each time it encounters another parts[0]. > You can test if you are about to add a new entry or replace > an existing one with "if parts[0] in mapping:" if that helps. > > Emile > > > > >> >> #!/bin/python >> >> mapping={} >> for line in open("confout.pdb").readlines(): >> parts=line.strip().split() >> if len(parts)>6: >> mapping[parts[1]]=parts[4]+parts[3] >> origs=open("dummy.atomID").read().split() >> print " ".join([mapping[orig] for orig in origs]) >> >> Thanks again, >> >> >> >> On Wed, May 18, 2011 at 12:36 AM, lina<lina.lastn...@gmail.com> wrote: >>> >>> Thanks, it works. >>> >>> On Tue, May 17, 2011 at 11:53 PM, Emile van Sebille<em...@fenx.com> >>> wrote: >>>> >>>> On 5/17/2011 8:31 AM lina said... >>>>> >>>>> Following Michiel's code (a little adjustment was done): >>>>> >>>> >>>> Well. you're almost there. The error you're getting >>>> is likely due to splitting an empty line, then referencing >>>> the [1] and [4] elements. >>>> >>>> After you split the line into parts, test to confirm >>>> that the fields you need are there: >>>> >>>>> #!/bin/python >>>>> >>>>> mapping={} >>>>> for line in open("confout.pdb").readlines(): >>>>> parts=line.strip().split() >>>> >>>> if len(parts)>3: >>>> >>>>> mapping[parts[1]]=parts[4] >>>> >>>> also, note that python indexes from zero, so this should be >>>> mapping[parts[0]]=parts[3] >>>> >>>>> origs=open("dummy.atomID").read().split() >>>>> print " ".join([mapping[orig] for orig in origs]) >>>> >>>> >>>> Emile >>>> >>>> _______________________________________________ >>>> Tutor maillist - Tutor@python.org >>>> To unsubscribe or change subscription options: >>>> http://mail.python.org/mailman/listinfo/tutor >>>> >>> >>> >>> >>> -- >>> Best Regards, >>> >>> lina >>> >> >> >> > > > _______________________________________________ > Tutor maillist - Tutor@python.org > To unsubscribe or change subscription options: > http://mail.python.org/mailman/listinfo/tutor > -- Best Regards, lina _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor