Problème caractère => retour à la ligne
Posté : 07 avr. 2010, 10:23
Bonjour tous le monde,
Voilà je cherche à crééer un fichier contenant une chaine de caratère alignée, j'ai donc créé le script pour mais lorsque le caractère n'est pas du même type, il me met des retour à la ligne, presque de façon aléatoire.
Voici la fonction execute permettant de joindre les chaines de caratères contenus dans un fichier
PS Ce script focntionne lorsque les caratères composant la chaine de caract sont du même type à savoir des lettres.
Un exemple de mon output:
>gi|15130760|emb|CAC48161.1| pertactin [Bordetella pertussis]
MNMSLSRIVKAAPLRRTTLAMALGALGAAPAAHADWNNQSIVKTGERQHGIHIQGSDPGGVRTASGTTIKVSGRQAQGILLENPAAELQFRNGSVTSSGQLSDDGIRRFLGTVTVKAGKLVADHATLANVGDTWDDDGIALYVAGEQAQASIADSTLQGAGGVQIERGANVTVQRSAIVDGGLHIGALQSLQPEDLPPSRVVLRDTNVTAVPASGAPAAVSVLGASELTLDGGHITGGRAAGVAAMQGAVVHLQRATIRRGDAPAGGAVPGGAVPGGFGPGGFGPVLDGWYGVDVSGSSVELAQSIVEAPELGAAIRVGRGARVTVSGGSLSAPHGNVIET-GGARRFAPQAAPLSITLQAGAHAQGKALLYRVLPEPVKLTL----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Ce que je souhaiterai avoir c'est la même chose pour le titre et la sequence sur une seule ligne, pas de retour à la ligne au "-".
Voilà si vous connaissez une fonction permettant de corriger ce bugg
merci d'avance
Voilà je cherche à crééer un fichier contenant une chaine de caratère alignée, j'ai donc créé le script pour mais lorsque le caractère n'est pas du même type, il me met des retour à la ligne, presque de façon aléatoire.
Voici la fonction execute permettant de joindre les chaines de caratères contenus dans un fichier
public function execute() {
if(file_exists($this->way)) {
$lignes= file ($this->way);
$cpt=0;
foreach($lignes as $ligne) {
if(strpos($ligne,'>')!== false){
if($cpt>0) {
echo "$sequence<br \>";
$sequence=trim($sequence," ");
$this->readwind($sequence);
$sequence="";
}
$this->id=$ligne;
$sequence="";
$cpt++;
}
else{
$sequence.=$ligne;
$sequence=trim($sequence);
}
}
if($sequence!="") {
echo "$sequence<br \>";
echo "$this->id<br \>";
#echo "$sequence<br \>";
$this->readwind($sequence);
}
}
else {
die("impossible d'ouvrir le fichier FASTA");
}
}
function readwind($sequence) {
echo $sequence;
$fich="/home/guillaume/Desktop/Seq-matrice/completefile.txt";
file_put_contents($fich,$this->id,FILE_APPEND);
file_put_contents($fich,$sequence,FILE_APPEND);
}
La fonction function readwind permet d'écrire le contenue dans une un fichier.PS Ce script focntionne lorsque les caratères composant la chaine de caract sont du même type à savoir des lettres.
Un exemple de mon output:
>gi|15130760|emb|CAC48161.1| pertactin [Bordetella pertussis]
MNMSLSRIVKAAPLRRTTLAMALGALGAAPAAHADWNNQSIVKTGERQHGIHIQGSDPGGVRTASGTTIKVSGRQAQGILLENPAAELQFRNGSVTSSGQLSDDGIRRFLGTVTVKAGKLVADHATLANVGDTWDDDGIALYVAGEQAQASIADSTLQGAGGVQIERGANVTVQRSAIVDGGLHIGALQSLQPEDLPPSRVVLRDTNVTAVPASGAPAAVSVLGASELTLDGGHITGGRAAGVAAMQGAVVHLQRATIRRGDAPAGGAVPGGAVPGGFGPGGFGPVLDGWYGVDVSGSSVELAQSIVEAPELGAAIRVGRGARVTVSGGSLSAPHGNVIET-GGARRFAPQAAPLSITLQAGAHAQGKALLYRVLPEPVKLTL----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Ce que je souhaiterai avoir c'est la même chose pour le titre et la sequence sur une seule ligne, pas de retour à la ligne au "-".
Voilà si vous connaissez une fonction permettant de corriger ce bugg
merci d'avance