[Tutor] looping problem

Python python at venix.com
Sat Sep 23 19:25:37 CEST 2006


On Sat, 2006-09-23 at 09:03 -0700, kumar s wrote:
> hi, 
> 
> thank you. this is not a homework question. 
> 
> I have a very huge file of fasta sequence.
> 
> > GeneName xxxxxxxx \t yyyyyyyy
> AATTAAGGAAAAAA..........
> 
> 
> 
> 
> 
> (1000 lines)
> AATAAGGA
> >GeneName xxxxxxxx \t yyyyyyyy
> GGAGAGAGATTAAGAA
> (15000 lines)
> 
> 
> 
> when I read this as:
> 
> f2= open('myfile','r')
> dat = f2.read().split('\n')
> 
> turned out to be very expensive deal on computer. 
> 
> 
> Instead I tried this:
> 
> dat = f2.read() 
> 
> (reading into jumbo file of 19,100,442,1342 lines is
> easy but getting into what i want is a problem). 
> 
> 
> I want to create a dictionary where 'GeneName' as key
> and sequence of ATGC characters as value 
> 
> 
> biglist = dat.split('\t')
> ['GeneName xxxxxxxx','yyyyyyyy','ATTAAGGCCAA'.......]
> 
> Now I want to select ''GeneName xxxxxxxx' into listA
> and 'ATTAAGGCCAA' into listB
> 
> so I want to select 0,3,6,9 elements into listA
> and 2,5,8,11 and so on elements into listB
> 
> then I can do dict(zip(listA,listB))
> 
> 
> 
> however, the very loops concept is getting blanked out
> in my brain when I want to do this:
> 
> for j in range(len(biglist)):
>         from here .. I cannot think anything..

slices may be the best way to go
listA = biglist[0::3]	# start from index 0 taking every third element
listB = biglist[2::3]	# start from index 2 taking every third element


> 
> may be it is just mental block.. thats the reason I
> seek help on forum. 
> 
> 
> Thanks
> 
> 
> 
> 
> 
> --- jim stockford <jim at well.com> wrote:
> 
> > 
> > keep a counter in your loop. is this a homework
> > question?
> > 
> > On Sep 23, 2006, at 8:34 AM, kumar s wrote:
> > 
> > > hi,
> > >
> > > the reason could be that I did not quite
> > understand
> > > the concept of looping
> > >
> > > I have a list of 48 elements
> > >
> > > I want to create another two lists , listA and
> > listB
> > >
> > > I want to loop through the list with 48 elements
> > and
> > >
> > > select element with index 0,3,6,9,12 ..etc into
> > listA
> > >
> > > select elements with index 2,5,8,11 etc into
> > listB.
> > >
> > >
> > > Could any one help me how can I do that
> > >
> > > thankyou
> > >
> > > __________________________________________________
> > > Do You Yahoo!?
> > > Tired of spam?  Yahoo! Mail has the best spam
> > protection around
> > > http://mail.yahoo.com
> > > _______________________________________________
> > > Tutor maillist  -  Tutor at python.org
> > > http://mail.python.org/mailman/listinfo/tutor
> > >
> > 
> > 
> 
> 
> __________________________________________________
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam protection around 
> http://mail.yahoo.com 
> _______________________________________________
> Tutor maillist  -  Tutor at python.org
> http://mail.python.org/mailman/listinfo/tutor
-- 
Lloyd Kvam
Venix Corp



More information about the Tutor mailing list