Recupération de propriéré sur un autre script

gui
Eléphant du PHP | 100 Messages

04 mars 2010, 17:39

Bonjour à tous,
Je vous explique mon problème.
Mon programme compte 4 scripts différents, le premier d'entre eux génère en boucle des morceaux de séquences à partir d'un grand fichier séquence. Chacune des séquences ainsi formées est enregistrées dans un fichier "sequence", puis la boucle recommence et prend le morceau de séquence suivant et enregistre ce nouveau morceau par dessus l'ancien jusqu'à ce qu'il arrive à la fin du fichier. Je cherche donc maintenant à récupérer la variable contenant le fichier du morceau de la séquence et le faire passer dans mes autres scripts. Et je ne vois pas comment je pourrai m'y prendre pour faire passer mes fichiers textes au fur et à mesure de leur génération dans les script suivants.
Voilà mon problème un peu particulier, si quelqu'un a une solution ou un début de solution je suis preneur. Je peux vous fournir le code du script si cela peut aider.
Merci d'avance
amicalement
guigui

Mammouth du PHP | 568 Messages

04 mars 2010, 17:45

fournit donc, parce que je comprend pas bien la...

gui
Eléphant du PHP | 100 Messages

04 mars 2010, 18:45

<?php
class selection {

	private $fp;
	private $way;
	private $file;
	private $b;
	
	
	public function __construct($way="C:\Documents and Settings\Guillaume\Bureau\scripts\sequences.fasta") {
		$this->way=$way;
		$this->b=10;
	   # $this->file=$file;
	}
	public function execute() {
		
		if(file_exists($this->way)) {                              #ouverture du fichier dans lequel ce trouve la séquence au format fasta
			$lignes= file ($this->way);
			//print_r($lignes);
			$cpt=0;
			foreach($lignes as $ligne) {                           #Les fichiers d'entrées au format fasta ont une ligne précédent la séquence qu'il est necessaire d'enlever
				if(strpos($ligne,'>')!== false){				#Si le premier caractère de la ligne est ">" alors la ligne va être sauté. Recherche > si trouve renvoie position=entier et saute la ligne
					
					if($cpt>0) {
						//echo "$sequence<br \>";
						$this->subsequence($sequence);
					}
					$sequence="";
					$cpt++;
				}else{
					$sequence.=$ligne;
				}
				
			}
			if($sequence!="") {
				$this->subsequence($sequence);
			}
		}else {
			die("impossible d'ouvrir le fichier FASTA");
		 }
	}
	public function subsequence($sequence) {
		for($a=0;$a<strlen($sequence)-$this->b-1;$a++){                        #Sélection de la chaine de caractère à traiter (Boucle doit tout englober car chaque chaine doit être entièrement traiter(pfmake, autoscale, pfsearch )avant d'être décaler)
			$this->file=substr($sequence,$a,$this->b);
			#$this->resultat($this->file);                        #chaque chaine placé dans le tableau aura un indice différent
			echo $this->file."<br/>";
			$handle=fopen("C:\Documents and Settings\Guillaume\Bureau\scripts\sequence1.fasta","w+");

			fwrite($handle,$this->file);#enregistrement de la séquences dans un fichier sequence1.fasta
			fclose($handle);
				
		}		
	}
}
?>


C'est un peut costaud si il y a quelque chose à expliquer je suis là.

gui
Eléphant du PHP | 100 Messages

05 mars 2010, 09:46

En fait je cherche à savoir si il est possible que à chaque passage dans ma boucle "for", dans la méthode "subsequence", le fichier généré soit traité indépendamment avant que la boucle for ne génère un nouveau fichier....

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

05 mars 2010, 10:14

Modération :
Afin d'améliorer la lisibilité de ton message,
pense à utiliser les balises [code] ou [php] (selon le langage utilisé).

Elles sont disponibles au-dessus de la zone de saisie de ton message
lorsque tu postes un nouveau message.

Des indications sont disponibles sur la manière de mettre en forme vos messages dans la FAQ
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 453 Messages

08 mars 2010, 07:49

Et l'eau,

j'ai pas tout à fait saisie ton soucis, mais apparemment ça sent le récursif ce que tu veux faire. En gros, si tu ne me trouves pas ce que je veux, tu appelle la methode dans la methode actuelle. ;)

Au passage, nomme bien tes variables, indente bien ton code et commente bien stp. J'ai du mal à te lire. Je crois aussi que way n'est pas aproprié, mais plutôt $this->path (juste pour chipoter) :)
La Tux attitude avec les kiw'z syou plait
Komodo Edit - Inkscape - Dia