problem with the logic of read files

gry at ll.mit.edu gry at ll.mit.edu
Tue Apr 12 13:47:17 EDT 2005


<m_t... at yahoo.com> wrote:
> I am new to python and I am not in computer science. In fact I am a
biologist and I ma trying to learn python. So if someone can help me, I
will appreciate it.
> Thanks
>
>
> #!/cbi/prg/python/current/bin/python
> # -*- coding: iso-8859-1 -*-
> import sys
> import os
> from progadn import *
>
> ab1seq = raw_input("Entrez le répertoire où sont les fichiers à
analyser: ") or None
> if ab1seq == None :
>     print "Erreur: Pas de répertoire! \n"
> "\nAu revoir \n"
>     sys.exit()
>
> listrep = os.listdir(ab1seq)
> #print listrep
>
> extseq=[]
>
> for f in listrep:
###### Minor -- this is better said as:  if f.endswith(".Seq"):
>      if f[-4:]==".Seq":
>          extseq.append(f)
> #         print extseq
>
> for x in extseq:
>      f = open(x, "r")
###### seq=... discards previous data and refers only to that just
read.
###### It would be simplest to process each file as it is read:
@@@@@@ seq=f.read()
@@@@@@ checkDNA(seq)
>      seq=f.read()
>      f.close()
>      s=seq
>
> def checkDNA(seq):
>     """Retourne une liste des caractères non conformes à
l'IUPAC."""
>
>     junk=[]
>     for c in range (len(seq)):
>         if seq[c] not in iupac:
>             junk.append([seq[c],c])
>             #print junk
>             print "ATTN: Il y a le caractère %s en position %s " %
(seq[c],c)
>         if junk == []:
>              indinv=range(len(seq))
>              indinv.reverse()
>              resultat=""
>              for i in indinv:
>                  resultat +=comp[seq[i]]
>              return resultat
>
> seq=checkDNA(seq)
> print seq

##### The program segment you posted did not define "comp" or "iupac",
##### so it's a little hard to guess how it's supposed to work.  It
would
##### be helpful if you gave a concise description of what you want the

##### program to do, as well as brief sample of input data.
##### I hope this helps!  -- George
>
> #I got the following ( as you see only one file is proceed by the
function even if more files is in extseq
>
> ['B1-11_win3F_B04_04.ab1.Seq']
> ['B1-11_win3F_B04_04.ab1.Seq', 'B1-11_win3R_C04_06.ab1.Seq']
> ['B1-11_win3F_B04_04.ab1.Seq', 'B1-11_win3R_C04_06.ab1.Seq',
'B1-18_win3F_D04_08.ab1.Seq']
> ['B1-11_win3F_B04_04.ab1.Seq', 'B1-11_win3R_C04_06.ab1.Seq',
'B1-18_win3F_D04_08.ab1.Seq', 'B1-18_win3R_E04_10.ab1.Seq']
> ['B1-11_win3F_B04_04.ab1.Seq', 'B1-11_win3R_C04_06.ab1.Seq',
'B1-18_win3F_D04_08.ab1.Seq', 'B1-18_win3R_E04_10.ab1.Seq',
'B1-19_win3F_F04_12.ab1.Seq']
> ..
> ['B1-11_win3F_B04_04.ab1.Seq', 'B1-11_win3R_C04_06.ab1.Seq',
'B1-18_win3F_D04_08.ab1.Seq', 'B1-18_win3R_E04_10.ab1.Seq',
'B1-19_win3F_F04_12.ab1.Seq', 'B1-19_win3R_G04_14.ab1.Seq',
'B90_win3F_H04_16.ab1.Seq', 'B90_win3R_A05_01.ab1.Seq',
'DL2-11_win3F_H03_15.ab1.Seq', 'DL2-11_win3R_A04_02.ab1.Seq',
'DL2-12_win3F_F03_11.ab1.Seq', 'DL2-12_win3R_G03_13.ab1.Seq',
'M7757_win3F_B05_03.ab1.Seq', 'M7757_win3R_C05_05.ab1.Seq',
'M7759_win3F_D05_07.ab1.Seq', 'M7759_win3R_E05_09.ab1.Seq',
'TCR700-114_win3F_H05_15.ab1.Seq', 'TCR700-114_win3R_A06_02.ab1.Seq',
'TRC666-100_win3F_F05_11.ab1.Seq', 'TRC666-100_win3R_G05_13.ab1.Seq']
>
> after this listing my programs proceed only the last element of this
listing (TRC666-100_win3R_G05_13.ab1.Seq)
>
>
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNTCCCGAAGTGTCCCAGAGCAAATAAATGGACCAAAACGTTTTTAGAATACTTGAACGTGTAATCTCATTTTAA




More information about the Python-list mailing list