Page 1 sur 1

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

Posté : 04 mars 2010, 17:39
par gui
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

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

Posté : 04 mars 2010, 17:45
par Yosh
fournit donc, parce que je comprend pas bien la...

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

Posté : 04 mars 2010, 18:45
par gui
<?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à.

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

Posté : 05 mars 2010, 09:46
par gui
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....

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

Posté : 05 mars 2010, 10:14
par zeus
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

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

Posté : 08 mars 2010, 07:49
par niuxe
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) :)