Lapinette
Nan, pas de description, j'ai décidé et tok !
Messages : 1 951 Inscrit le 02/12/04
Ville : [24]-[38]
Non connecté
|
|
Posté le 09 octobre 2005 - 22 h 03 m 59 s |
|
|
|
|
|
| |
Message édité 7 fois, la dernière par Lapinette le 26 octobre 2005 - 12 h 43. |
| |
La franchise n'est pas de dire ce que l'on pense mais de penser ce que l'on dit.... A méditer.... 
Et pour les non-avertis, le lapin, c mon mien même si c'est dit dans le pseudo...
|
iraysyvalo
-
Messages : 9 647 Inscrit le 19/11/02
Ville : Lyon
Non connecté
|
|
Posté le 10 octobre 2005 - 12 h 55 m 53 s |
|
|
Quelles sortes de traitement faites-vous en bioinfo ?? Des liens, des bouquins ?
Je te conseille aussi un bon bouquin sur Python .. il y a les Mark Lutz. Au niveau debutant, le Swinnen aussi est pas mal.
Ce n'est pas difficile mais il faut avoir de bonnes bases. Et la, tu te melanges encore pas mal les pinceaux
Un essai :
1. #! /usr/bin/python
2. # -*- coding:latin-1 -*-
3.
4. import re
5.
6. tagP= re.compile(r"[a-zA-Z]w*")
7. tag=[]
8. valP= re.compile(r"d+.?d*")
9. val=[]
10.
11. f=open("lapinette.dat", 'r')
12.
13. while 1 :
14. t= f.readline()
15. if t == '' : # EOF
16. break
17. print t
18. tagM= tagP.match(t) # Take care : it's a match, not a search !
19. if tagM :
20. print tagM.group() + " : tag found."
21. tval= []
22. tag.append(t)
23. val.append(tval)
24. print "Values follow :"
25. continue
26. valM= valP.findall(t) # Ensures fixed-point decimals for values
27. # valM= re.split(r"s", t)
28. if valM :
29. for st in valM :
30. tval.append(float(st))
31. print tval
32.
33. print "Come on"
34. print tag, val
35.
36. f.close()
EDIT : Cites mon post pour garder les indentations car le RAHcode les massacre ..
|
|
| |
Message édité 1 fois, la dernière par iraysyvalo le 10 octobre 2005 - 12 h 58. |
| |
Pour un ban rapide et garanti sur ce forum, argumentez vos posts, dites simplement la verite, parlez de la realite et les leche-culs d'un cote et les maniaques du ban de l'autre se feront un plaisir de vous envoyer au purgatoire aussi sec.
|
Lapinette
Nan, pas de description, j'ai décidé et tok !
Messages : 1 951 Inscrit le 02/12/04
Ville : [24]-[38]
Non connecté
|
|
Posté le 10 octobre 2005 - 14 h 30 m 03 s |
|
|
oulala, merki
Le cours sur les fichiers, je l'ai fait la semaine dernière alors effectivement, je me mélange les pinceaux... Le prof nous a laché dans la nature sans nous expliquer réellement comment se dépatouiller avec les fichiers...
Alors j'ai pas tout suivi, et j'ai pas eu le temps de m'y mettre à fond, j'ai d'autres prog à la traîne... Je savais même pas me servir des f=open("lapinette.dat", 'r') et autres f.close().
Bon c'est pas tout ça, mais faut que j'y retourne et encore merci...
|
|
| |
La franchise n'est pas de dire ce que l'on pense mais de penser ce que l'on dit.... A méditer.... 
Et pour les non-avertis, le lapin, c mon mien même si c'est dit dans le pseudo...
|
Lapinette
Nan, pas de description, j'ai décidé et tok !
Messages : 1 951 Inscrit le 02/12/04
Ville : [24]-[38]
Non connecté
|
|
Posté le 11 octobre 2005 - 11 h 30 m 47 s |
|
|
Mes déboires scène 2 :
Je suis toujours sur le même exo et jarrive bien à prendre le titre mais j'arrive pas à faire une seule liste s'appelant valeur pour tous les nombres car il faut que je les traite séparément : trouver, leur nombre, moyenne, mini, maxi. Ces mini programmes sont faits mais il me faut partir de la liste de toutes les valeurs.
J'ai fait ça :
from re import*
def moyenne(liste) :
somme=0
for x in liste :
somme=somme+x
return somme/len(liste)
def MiniMaxi(liste) :
liste.sort()
maximum=liste[-1]
minimum=liste[0]
return minimum,maximum
def tableau():
print "| | Groupe | eff | min | max |moyenne|"
print "+---+------------------------------+-----+-------+-------+-------+"
rang=0
expReg=compile(r"[a-zA-Z]w*")#on cherche le titre
exp=[]
valeur=compile(r"d+.?d*")#on cherche les chiffres
val=[]
f=open("annexe_bis.py","r")#ouverture du fichier
while True :
texte=f.readline()
if texte == '' :
break
if expReg.match(texte) :#debut de la chaine colle a expReg
exp.append(texte)
groupe=exp
print 'groupe',groupe #ya que ça qui marche
if valeur.match(texte) :#trouver les sous chaines collant a valeur marche pô
val.append(texte)
valeurs=texte
'''print 'corresV',corresValeur
for x in corresValeur :
corresValeur.append(float(x))
f.close()#fermeture du fichier
|
|
|
| |
La franchise n'est pas de dire ce que l'on pense mais de penser ce que l'on dit.... A méditer.... 
Et pour les non-avertis, le lapin, c mon mien même si c'est dit dans le pseudo...
|
iraysyvalo
-
Messages : 9 647 Inscrit le 19/11/02
Ville : Lyon
Non connecté
|
|
Posté le 11 octobre 2005 - 11 h 47 m 01 s |
|
|
T'as essaye de faire marche mon essai plus haut ?
A ton avis, tag et val representent quoi dedans ?
PS : mets une autre extension a ton fichier de donnees, reserves .py aux sources python
|
|
| |
Pour un ban rapide et garanti sur ce forum, argumentez vos posts, dites simplement la verite, parlez de la realite et les leche-culs d'un cote et les maniaques du ban de l'autre se feront un plaisir de vous envoyer au purgatoire aussi sec.
|
Lapinette
Nan, pas de description, j'ai décidé et tok !
Messages : 1 951 Inscrit le 02/12/04
Ville : [24]-[38]
Non connecté
|
|
Posté le 11 octobre 2005 - 12 h 18 m 13 s |
|
|
Le 11 octobre 2005 - 11 h 47, iraysyvalo a écrit :
T'as essaye de faire marche mon essai plus haut ?
A ton avis, tag et val representent quoi dedans ?
PS : mets une autre extension a ton fichier de donnees, reserves .py aux sources python 
|
Ben quand je teste, ça me donne bien le titre, enfin une liste de tous les titres, mais ça je m'en arrange.
Mais pour val, ça me donne [[],[]] donc des ensembles vides...  Je sais que je suis pas douée en prog mais je ne comprends vraiment pas comment on les récupère...
>>>tableau
Come on
tag ['Sollies pont\n', 'Gassin\n']
val [[], []]
|
Dans la citation, j'ai pas mis tout ce que me donne Values follow
|
|
| |
La franchise n'est pas de dire ce que l'on pense mais de penser ce que l'on dit.... A méditer.... 
Et pour les non-avertis, le lapin, c mon mien même si c'est dit dans le pseudo...
|
iraysyvalo
-
Messages : 9 647 Inscrit le 19/11/02
Ville : Lyon
Non connecté
|
|
Posté le 11 octobre 2005 - 12 h 30 m 09 s |
|
|
Verifies la regexp ..
Ca peut etre ca : les \ ont ete enleves dans le code essai ..
|
|
| |
Pour un ban rapide et garanti sur ce forum, argumentez vos posts, dites simplement la verite, parlez de la realite et les leche-culs d'un cote et les maniaques du ban de l'autre se feront un plaisir de vous envoyer au purgatoire aussi sec.
|
Lapinette
Nan, pas de description, j'ai décidé et tok !
Messages : 1 951 Inscrit le 02/12/04
Ville : [24]-[38]
Non connecté
|
|
Posté le 12 octobre 2005 - 14 h 41 m 57 s |
|
|
Bon on reprend : ça sert à quoi tval ?
|
|
| |
La franchise n'est pas de dire ce que l'on pense mais de penser ce que l'on dit.... A méditer.... 
Et pour les non-avertis, le lapin, c mon mien même si c'est dit dans le pseudo...
|
iraysyvalo
-
Messages : 9 647 Inscrit le 19/11/02
Ville : Lyon
Non connecté
|
|
Posté le 12 octobre 2005 - 15 h 00 m 05 s |
|
|
As-tu lance mon code et as-tu eu des resultats ?
|
|
| |
Pour un ban rapide et garanti sur ce forum, argumentez vos posts, dites simplement la verite, parlez de la realite et les leche-culs d'un cote et les maniaques du ban de l'autre se feront un plaisir de vous envoyer au purgatoire aussi sec.
|
Lapinette
Nan, pas de description, j'ai décidé et tok !
Messages : 1 951 Inscrit le 02/12/04
Ville : [24]-[38]
Non connecté
|
|
Posté le 12 octobre 2005 - 15 h 09 m 49 s |
|
|
Le 12 octobre 2005 - 15 h 00, iraysyvalo a écrit :
As-tu lance mon code et as-tu eu des resultats ?
|
voui j'ai lancé ton code, bien sûr ! C'est la 1ere chose que j'ai faite.
Et je réitère, je n'obtiens pas une liste des nombres... En fait, j'obtiens rien à part les noms.
val est vide.
Mais j'ai recopier bêtement et je comprends pas ce que fait tval !
CODE :
def tableau():
print "| | Groupe | eff | min | max |moyenne|"
print "+---+------------------------------+-----+-------+-------+-------+"
import re
tagP= re.compile(r"[a-zA-Z]w*")
tag=[]
valP= re.compile(r"d\+.?\d*")
val=[]
f=open("annexe_bis.py", 'r')
while 1 :
t= f.readline()
if t == '' : # EOF
break
print t
tagM= tagP.match(t) # Take care : it's a match, not a search !
if tagM :
print tagM.group() + " : tag found."
tval= []
tag.append(t)
val.append(tval)
print "Values follow :"
valM= valP.findall(t) # Ensures fixed-point decimals for values
# valM= re.split(r"s", t)
if valM :
for st in valM :
tval.append(float(st))
print 'tval',tval
print 'tag',tag
print 'val', val
f.close()
|
REPONSE :
>>> tableau()
| | Groupe | eff | min | max |moyenne|
+---+------------------------------+-----+-------+-------+-------+
Sollies pont
S : tag found.
Values follow :
35.824 7.678
37.857 36.790 45.677 29.165 13.232 39.109 23.337 1.361 43.649 35.613 32.923 35.947 41.088 47.135 6.504
Gassin
G : tag found.
Values follow :
31.792 0.669 45.729 0.025 2.802 30.658 13.844 39.027 47.438
0.246 34.168 15.566 43.968 41.437 45.177 9.555 16.623 11.985 28.669
46.353 22.411 3.667 23.671 48.849 27.346 4.478 5.660 16.438 27.824 37.137 15.469 22.596 38.396 2.079 4.847 34.644 24.160 19.235 28.419 32.863 34.160 18.636 10.322 21.235 9.194 33.064 38.181 6.865 36.702
tag ['Sollies pont\n', 'Gassin\n']
val [[], []]
|
|
|
| |
La franchise n'est pas de dire ce que l'on pense mais de penser ce que l'on dit.... A méditer.... 
Et pour les non-avertis, le lapin, c mon mien même si c'est dit dans le pseudo...
|
iraysyvalo
-
Messages : 9 647 Inscrit le 19/11/02
Ville : Lyon
Non connecté
|
|
Posté le 12 octobre 2005 - 15 h 16 m 28 s |
|
|
Le 10 octobre 2005 - 12 h 55, iraysyvalo a écrit :
tagP= re.compile(r"[a-zA-Z]\w*")
valP= re.compile(r"\d+\.?\d*")
|
|
Ok, je le fais en mode citation, le mode code est completement pourri !
Remplaces par ces deux lignes celles d'avant et relances le code essai ..
Sinon, t'as quoi comme bouquin Python ?
|
|
| |
Message édité 1 fois, la dernière par iraysyvalo le 12 octobre 2005 - 15 h 16. |
| |
Pour un ban rapide et garanti sur ce forum, argumentez vos posts, dites simplement la verite, parlez de la realite et les leche-culs d'un cote et les maniaques du ban de l'autre se feront un plaisir de vous envoyer au purgatoire aussi sec.
|
Lapinette
Nan, pas de description, j'ai décidé et tok !
Messages : 1 951 Inscrit le 02/12/04
Ville : [24]-[38]
Non connecté
|
|
Posté le 12 octobre 2005 - 15 h 30 m 15 s |
|
|
Le 12 octobre 2005 - 15 h 16, iraysyvalo a écrit :
Le 10 octobre 2005 - 12 h 55, iraysyvalo a écrit :
tagP= re.compile(r"[a-zA-Z]w*")
valP= re.compile(r"d+.?d*")
|
|
Ok, je le fais en mode citation, le mode code est completement pourri !
Remplaces par ces deux lignes celles d'avant et relances le code essai ..
Sinon, t'as quoi comme bouquin Python ?
|
Oh génial, ça marche !!!
Mais je comprenais pas car pour l'expression régulière, on n'avait pas vu grand chose, on ne savait même pas comment les intégrer à un prog pour les rechercher, ou faire quoi que se soit d'autre. C'est dur dur pour nous, on n'est que des biologistes et pas des informaticiens...
Comme bouquin, j'ai "Apprendre à programmer avec Python" de Gérard Swinnen, et encore je le regarde en ligne car toutes les librairies de marseille ont été dévalisées depuis 3 semaines  , et ça fait que 5 semaines que je suis rentrée en cours, donc 5 semaines que je fais du python. De plus, j'en avais pas réellement trouvé l'utilité avant cette semaine. Je m'en étais toujours sorti jusque là, mais pas pour cet exo où je ne comprenais rien..
J'ai encore du boulot dessus mais ça devrait aller maintenant
|
|
| |
La franchise n'est pas de dire ce que l'on pense mais de penser ce que l'on dit.... A méditer.... 
Et pour les non-avertis, le lapin, c mon mien même si c'est dit dans le pseudo...
|
iraysyvalo
-
Messages : 9 647 Inscrit le 19/11/02
Ville : Lyon
Non connecté
|
|
Posté le 12 octobre 2005 - 15 h 38 m 30 s |
|
|
En fait, les expressions regulieres ne sont normalement pas introduites aussi tot, car ca commence a etre de la haute voltige (dans le sens ou on peut se casser le cou plus facilement) .. Tu remarqueras que le Swinnen n'en parle pas .. Donc ca m'etonne un peu que votre prof vous dise d'utiliser les regexp aussi tot ...
Sinon, ca m'interesse assez de savoir quelle sorte de traitements infos vous faites en bio, a part les trucs statistiques purs ..
|
|
| |
Message édité 1 fois, la dernière par iraysyvalo le 12 octobre 2005 - 15 h 38. |
| |
Pour un ban rapide et garanti sur ce forum, argumentez vos posts, dites simplement la verite, parlez de la realite et les leche-culs d'un cote et les maniaques du ban de l'autre se feront un plaisir de vous envoyer au purgatoire aussi sec.
|
Lapinette
Nan, pas de description, j'ai décidé et tok !
Messages : 1 951 Inscrit le 02/12/04
Ville : [24]-[38]
Non connecté
|
|
|
| |
Message édité 1 fois, la dernière par Lapinette le 12 octobre 2005 - 15 h 53. |
| |
La franchise n'est pas de dire ce que l'on pense mais de penser ce que l'on dit.... A méditer.... 
Et pour les non-avertis, le lapin, c mon mien même si c'est dit dans le pseudo...
|
iraysyvalo
-
Messages : 9 647 Inscrit le 19/11/02
Ville : Lyon
Non connecté
|
|
Posté le 12 octobre 2005 - 16 h 04 m 42 s |
|
|
Ok .. Merci pour ces infos .. j'ai vu passer quelques logiciels libres en bio d'ailleurs
T'es en quoi exactement en bio en fait ? Et bonnes aventures en terres pythoniennes et perliennes
|
|
| |
Pour un ban rapide et garanti sur ce forum, argumentez vos posts, dites simplement la verite, parlez de la realite et les leche-culs d'un cote et les maniaques du ban de l'autre se feront un plaisir de vous envoyer au purgatoire aussi sec.
|
Lapinette
Nan, pas de description, j'ai décidé et tok !
Messages : 1 951 Inscrit le 02/12/04
Ville : [24]-[38]
Non connecté
|
|
|
| |
La franchise n'est pas de dire ce que l'on pense mais de penser ce que l'on dit.... A méditer.... 
Et pour les non-avertis, le lapin, c mon mien même si c'est dit dans le pseudo...
|
Lapinette
Nan, pas de description, j'ai décidé et tok !
Messages : 1 951 Inscrit le 02/12/04
Ville : [24]-[38]
Non connecté
|
|
Posté le 24 octobre 2005 - 21 h 55 m 15 s |
|
|
SCENE 3 :
Bon là j'ai un tout autre problème, je ne sais pas écrire quoi que ce soit dans un Canvas. J'explique :
J'ai un projet à faire en bioinfo et le but est de récupérer un fichier de données, de les transformer en format exploitable et de représenter sur une interface graphique les résultats de maniere visuelle...
J'arrive à récupérer le fichier, à l'enregistrer en format exploitable dans un nouveau fichier mais je ne sais pas comment on écrit sur le Canvas joliment créé.
|
|
| |
La franchise n'est pas de dire ce que l'on pense mais de penser ce que l'on dit.... A méditer.... 
Et pour les non-avertis, le lapin, c mon mien même si c'est dit dans le pseudo...
|
iraysyvalo
-
Messages : 9 647 Inscrit le 19/11/02
Ville : Lyon
Non connecté
|
|
|
| |
Pour un ban rapide et garanti sur ce forum, argumentez vos posts, dites simplement la verite, parlez de la realite et les leche-culs d'un cote et les maniaques du ban de l'autre se feront un plaisir de vous envoyer au purgatoire aussi sec.
|
Lapinette
Nan, pas de description, j'ai décidé et tok !
Messages : 1 951 Inscrit le 02/12/04
Ville : [24]-[38]
Non connecté
|
|
Posté le 25 octobre 2005 - 16 h 12 m 13 s |
|
|
euh désolée, problème réglé de lui-même...
C'est juste que mon programme n'acceptait pas 2 widgets Text, j'ai un peu bidouillé et plouf ça marche je ne sais comment... Me demander pas...
Maintenant d'autres problèmes se posent
|
|
| |
La franchise n'est pas de dire ce que l'on pense mais de penser ce que l'on dit.... A méditer.... 
Et pour les non-avertis, le lapin, c mon mien même si c'est dit dans le pseudo...
|
Lapinette
Nan, pas de description, j'ai décidé et tok !
Messages : 1 951 Inscrit le 02/12/04
Ville : [24]-[38]
Non connecté
|
|
Posté le 26 octobre 2005 - 12 h 41 m 42 s |
|
|
SCENE 4 :
Petite question bête : Comment on fait pour effacer ce qu'il y a sur un canvas ?
J'explique, j'affiche un graphique sur mon canvas, relatif à l'ouverture d'un fichier donné. L'utilisateur peut ensuite ouvrir un autre fichier et le canvas doit s'effacer.
from re import *
from Tkinter import*
import sys
import tkMessageBox
import tkFileDialog
application=Tk()
application.title("Analyse de donnees de puces CGH")
def effacer() :
'''Efface le contenu des 3 zones'''
panneausup.delete('1.0',END)
panneauinf.delete('1.0',END)
canevas.delete() #marche pas pour le canevas
... les autres fonctions de traitement...
###### CREATION DES DIFFERENTES ZONES DE TRAVAIL ######
panneausup=Text(application, bg='white', width=150, height=10, bd=2, relief=RIDGE)
panneausup.pack(side=TOP, expand=True, padx=1, pady=1)
canevas=Canvas(application, bg='white',width=110, height=40, bd=2, relief=RIDGE)
canevas.pack(side=RIGHT, fill=BOTH, expand=True,padx=1,pady=1)
panneauinf=Text(application, bg='white', width=40, height=40, bd=2, relief=RIDGE)
panneauinf.pack(side=TOP, expand=True,padx=1, pady=1)
###### CREATION DE LA BARRE DE MENU ######
barreMenus=Menu(application)
application.config(menu=barreMenus)
menuFichier=Menu(barreMenus)
menuApplic=Menu(barreMenus)
menuReglage=Menu(barreMenus)
barreMenus.add_cascade(label="Fichier",menu=menuFichier)
barreMenus.add_cascade(label="Application",menu=menuApplic)
barreMenus.add_cascade(label="Reglages",menu=menuReglage)
menuFichier.add_command(label="Ouvrir un Fichier",command=ouvrirfichier)
menuFichier.add_command(label="Quitter le programme",command=application.destroy)
menuApplic.add_command(label="Visualisation graphique des donnees",command=dessin)
menuApplic.add_command(label="Lancer le graph de quasi-implication",command=graphique)
menuReglage.add_command(label="Parametre...",command=dialogueParametres)
menuReglage.add_command(label="Effacer",command=effacer)
application.mainloop()
|
En fait, ça doit aussi s'effacer quand je clique sur l'onglet Effacer du menu Reglage
panneausup s'efface comme panneauinf mais pas le canvas
|
|
| |
Message édité 1 fois, la dernière par Lapinette le 26 octobre 2005 - 12 h 42. |
| |
La franchise n'est pas de dire ce que l'on pense mais de penser ce que l'on dit.... A méditer.... 
Et pour les non-avertis, le lapin, c mon mien même si c'est dit dans le pseudo...
|