[PIPython] aiuto

Giovanni M. Dall'Olio dalloliogm
Ven 19 Nov 2004 15:16:54 CET


ciao!
E' interessante questo programma che stai scrivendo: a cosa serve
esattamente?
Sto provando a scriverlo anche io, penso di metterlo in una piccola
applicazione che devo presentare per un esame.

Secondo me se processi tutte le 'A', passando la stringa per carattere, e
metti un limite massimo di mutazioni, corri il rischio che in una sequenza
lunga le basi all'inizio della stringa vengano mutate più spesso di quelle
alla fine.
Io genererei una lista di posizioni casuali dove far avvenire le mutazioni e
poi le cambierei più o meno in questo modo:

parametri: seq, P

n_max_di_mutazioni= min(P*len(seq),10)
import random
lista_mutaz=[]
for i in range(n_max_di_mutazioni):
  lista_mutaz.append(random.randrange(len(seq)))

seq_mutata='""
for i in range(len(seq)):
  if i in lista_mutaz:
    seq_mutata+=random.choice('ACG')
  else:
    seq_mutata+=seq[i]

Il problema è che secondo me se dichiari che ogni 'A' possiede una certa
probabilità P di mutare, però poi vuoi limitare il n. di mutazioni a 10, poi
in realtà la probabilità totale è diversa sia da P che da 10, quindi bisogna
scegliere tra una delle due. Tu come hai risolto?






----- Original Message ----- 
From: "Ernesto" <e.picardi a unical.it>
To: "Gli utilizzatori italiani di Python" <python a lists.python.it>
Sent: Wednesday, October 27, 2004 1:38 PM
Subject: [PIPython] aiuto


> Ciao ragazzi,
>
> ho una stringa del tipo "ACCTGAAATG" sempre costituita da A, C, G e T. Ho
> creato una funzione che legge la stringa carattere per carattere e se è
> presente una A scegli se cambiarla in A, C o G con probabilità P o se
> mantenerla con probabilità 1-P. Possono avvenire diversi cambiameti a
> seconda del numero di A, ma io vorrei frenare la funzione ad un numero
> prestabilito di cambiamenti. In altre parole, se avvengono in totale 10
> cambiamenti, io vorrei bloccare il tutto a 2 o 3 o comunque un numero
> diverso da 10. Che tipo di ciclo potrei usare? Ho provato con while e
> richiamato la funzione ma viene fuori un errore RunTime.
>
> Potreste darmi qualche suggerimento?
>
> Grazie
>
> ernesto
>
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> http://lists.zope.it/cgi-bin/mailman/listinfo/python




More information about the Python mailing list