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