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 21 mars 2006 - 21 h 08 m 48 s |
|
|
Bonjour tout le monde
J'ai encore un petit problème en programmation. Cette fois-ci, plus de python ou de R que personne ne connait, mais du PHP...
Bon alors, j'ai un tableau assez compliqué. Chaque case de mon tableau est en fait un autre mini-tableau avec toutes les données dont j'ai besoin. Tout le monde suit ?
Mon problème est que lors du chargement du fichier d'origine et de la création du tableau, il entre des cases vides. J'ai essayé pas mal de chose dont unset mais ça ne marche pas. La seule solution que je trouve "bourrine" est de recréer un tableau derrière en insérant que les cases non vides.
mon tableau (3 premières cases) nettoyé :
Array ( [0] => Array ( [0] => gi|73852945|ref|YP_308672.1| nonstructural protein 2 [Influenza A virus (A/Goose/Guangdong/1/96(H5N1))] [1] => 121 [2] => BLOSUM62 [3] => 10 [4] => 11 [5] => 1 [6] => 1 [7] => 1_14708 ) [1] => Array ( [0] => gi|73852945|ref|YP_308672.1| nonstructural protein 2 [Influenza A virus (A/Goose/Guangdong/1/96(H5N1))] [1] => 121 [2] => 1 ) [2] => Array ( [0] => gi|401386|sp|P30914|NEP_IACKG [1] => Nuclear export protein (NEP) (Non structural protein 2) (NS2) [2] => P30914 [3] => 121 [4] => 1 [5] => 233.417 [6] => 594 [7] => 9.82192e-62 [8] => 1 [9] => 121 [10] => 1 [11] => 121 [12] => 0 [13] => 0 [14] => 119 [15] => 120 [16] => 0 [17] => 121 [18] => MDSNTITSFQDILQRMSKMQLESSSVDLNGMITQFERLKIYRDSLGESMMRMGDLHSLQNRNATWRNELSQKFEEIRWLI
AECRNILTKTENSFEQITFLQALQLLLEVESEIRTFSFQLI [19] => MDSNTITSFQDILQRMSKMQLESSSVDLNGMITQFERLKIYRDSLGESVMRMGDLHSLQNRNATWREELSQKFEEIRWLI
AECRNILTKTENSFEQITFLQALQLLLEVESEIRTFSFQLI [20] => MDSNTITSFQDILQRMSKMQLESSSVDLNGMITQFERLKIYRDSLGES+MRMGDLHSLQNRNATWR ELSQKFEEIRWLIAECRNILTKTENSFEQITFLQALQLLLEVESEIRTFSFQLI [21] => 2 ) |
ce qui marche pas :
1. $tableau=array();$tabintab=array();
2. while (!feof($fichier)){
3.
4. // tant qu il y a des donnees, on lit toutes les lignes
5. $ligne = fgets($fichier,10000000);
6. $gi="gi|";
7. $ligne = str_replace($gi, "///gi|", $ligne);
8. $tab= explode ("///",$ligne);
9. unset ($tab[0]);
10. foreach ($tab as $key => $paragraphe){
11. $tab[$key]=explode ("***",$paragraphe);
12. }
13.
14. foreach ($tab as $key1 => $paragraphe){
15. foreach ($paragraphe as $key2 => $donnees){
16. $expreg_vide="^ *$";
17. if (ereg($expreg_vide,$donnees)){
18. $case=$tab[$key1];
19. unset ($case[$key2]);
20.
Ce que je fais qui me plaît pas :
1. $tableau=array();$tabintab=array();
2. while (!feof($fichier)){
3.
4. // tant qu il y a des donnees, on lit toutes les lignes
5. $ligne = fgets($fichier,10000000);
6. $gi="gi|";
7. $ligne = str_replace($gi, "///gi|", $ligne);
8. $tab= explode ("///",$ligne);
9. unset ($tab[0]);
10. foreach ($tab as $key => $paragraphe){
11. $tab[$key]=explode ("***",$paragraphe);
12. }
13. }
14.
15. // NETTOYAGE DES CASES VIDES DU TABLEAU:
16. $keys1=array();
17. $keys2=array();
18. foreach ($tab as $key1 => $paragraphe){
19. foreach ($paragraphe as $key2 => $donnees){
20. $expreg_vide="^ *$";
21. if (ereg($expreg_vide,$donnees)){
22. array_push($keys1,$key1);
23. array_push($keys2,$key2);
24. }
25. }
26. }
27. foreach ($keys1 as $k => $key){
28. unset ($tab[$key][$keys2[$k]]);
29. }
30.
31. //obtention du tablo final
32. $tableau_final=array();
33. foreach ($tab as $paragraphe){
34. $soustableau=array();
35. foreach ($paragraphe as $donnees){
36. array_push ($soustableau,$donnees);
37. }
38. array_push($tableau_final,$soustableau);
39. }
Y aurait-il quelqu'un qui verrait une solution ou la grosse boulette que je fais qui fait tout planté ?
|
|
| |
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 21 mars 2006 - 22 h 54 m 57 s |
|
|
Que dis-tu ??? J'ai essaye de t'aider au moins pour Python .. ingrate
|
|
| |
Message édité 1 fois, la dernière par iraysyvalo le 21 mars 2006 - 22 h 55. |
| |
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 21 mars 2006 - 23 h 06 m 34 s |
|
|
Oui tu m'as aidé et je t'en suis très reconnaissante
Mais avoue aussi que Python, c'est pas le langage le plus connu au monde... ou alors sauf par des bioinformaticiens qui préfèrent coder en Perl...
|
|
| |
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...
|
Erel69
206 (¯`·.__[T3aM.L1b3rTe©]__.·´¯)
Messages : 19 449 Inscrit le 07/11/01
Ville : Lyon
Non connecté
|
|
Posté le 22 mars 2006 - 11 h 43 m 40 s |
|
|
T'as pas un bout de ton fichier ? Je pense avoir une solution mais j'ai un petit doute donc je veux tester ^^
|
|
| |
Obscurité au-delà du crépuscule, pourpre au-delà du sang qui coule, enfoui dans le flot du temps, en ton haut nom, je jure fidélité à l'obscurité. Que les fous qui se dressent devant nous soient détruits, par le pouvoir que toi et moi possédons...
|
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 22 mars 2006 - 17 h 38 m 34 s |
|
|
Bah t'as tout le tableau here
http://latmy.free.fr/tableau.txt
Faut télécharger le fichier pour qu'il soit "plus lisible"...
|
|
| |
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...
|
groumf
Admin. Métaforum
Coordinateur
Un barbare des temps modernes et sa monture, Co-Chef d'entreprise PDG, et maitre du monde
Messages : 18 495 Inscrit le 07/11/01
Ville : La ville où les reblochons et la raclette poussent dans les arbres
Non connecté
|
|
Posté le 22 mars 2006 - 17 h 44 m 07 s |
|
|
a mon avis c'est le .php que erel voudrait mater
|
|
| |
Dépannage informatique de la région d'Annecy, Massif des Aravis
vends mégane dci
|
Erel69
206 (¯`·.__[T3aM.L1b3rTe©]__.·´¯)
Messages : 19 449 Inscrit le 07/11/01
Ville : Lyon
Non connecté
|
|
Posté le 22 mars 2006 - 17 h 49 m 13 s |
|
|
non non c'était bien le fichier, le php ou le tableau je m'en fiche
|
|
| |
Message édité 1 fois, la dernière par Erel69 le 22 mars 2006 - 17 h 50. |
| |
Obscurité au-delà du crépuscule, pourpre au-delà du sang qui coule, enfoui dans le flot du temps, en ton haut nom, je jure fidélité à l'obscurité. Que les fous qui se dressent devant nous soient détruits, par le pouvoir que toi et moi possédons...
|