IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Création d'un site web pour bio-informaticien


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 8
    Points : 6
    Points
    6
    Par défaut Création d'un site web pour bio-informaticien
    Bonjour,

    Je débute dans la programmation web et je souhaiterai réaliser un site web avec une interface simple similaire à celui-ci http://didac.free.fr/seq/dna2pro.htm dans lequel on pourrai insérer une séquence d'ADN et que cette dernière soit découpée tout les N caractère. J'ai tenté de faire ça en php mais le soucis c'est que ça renvoi forcément sur une autre page web (avec un script.php) or ce que je voudrai c'est que le résultat s'affiche directement lorsque j'insère la séquence, alors je ne sais pas si c'est faisable en php ou si ce n'est réservé qu'en JAVAscript.

    Pour que vous puissiez voir une séquence FASTA ressemble à ça:

    >gi|373251181|ref|NG_001742.2| Mus musculus olfactory receptor GA_x5J8B7W2GLP-600-794 (LOC257854) pseudogène on chromosome 2
    AGCCTGCCAAGCAAACTTCACTGGAGTGTGCGTAGCATGCTAGTAACTGCATCTGAATCTTTCAGCTGCT
    TGTTGGGCCTCTCACAAGGCAGAGTGTCTTCATGGGACTTTGATATTTATTTTTGTACAACCTAAGAGGA

    Je m'excuse d'avance si je n'ai pas poster la discussion au bon endroit

    Je vous remercie

  2. #2
    Membre chevronné

    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2013
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : développeur

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 576
    Points : 1 989
    Points
    1 989
    Par défaut
    Salut,

    Tu peux faire ça en ajax https://programmation-facile.develop...2-0-avec-ajax/
    Ou en javascript à toi de voir.
    On peut voir ton code?

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    affiche le code de la page que tu donnes en lien : "Ctrl"+"U"

    On trouve notamment :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <script type="text/javascript" src="js/dna2pro.js"></script>
    Clic sur js/dna2pro.js -> affiche le code du fichier.

  4. #4
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Merci à tous pour vos réponses ;
    J'ai essayer de faire ça en php (donc renvoi sur un script.php )

    Le voici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    <?php
     
    //----------- Extract sequence from POST data...
    $allsequences=isset($_POST["sequences"]) ? $_POST['sequences'] : NULL;
    $len=strlen($allsequences);
    if ($allsequences){print split_sequences();}
     
    //----------- Imposer une limite maximum de taille (here 5MB)-----------------------
    if ($len>5000000) {
    	die("Error: ce service ne traite pas les demandes d’entrée plus longues que 5,000,000 bp."); // E.Coli 4,641,652 (NCBI)
        }
     
    //-----------Supprimer élements inutiles séquence-------------------
     
    	// supprime les retours chariot ("\ r"), mais ne supprime pas les sauts de ligne ("\ n")
    	$allsequences=preg_replace("/\r/","",$allsequences);   
     
    //----------- Découper les fragments en 10pb avec écart de 3pb
     
    //on coupe la séquence tout les 10 caractères
     
    $count=0; 
    function split_sequences($allsequences){
    $result = "";
    $tab_allsequences=str_split($allsequences,10);
    for($i=0;$i<count($tab_allsequences);$i=$i+3){
    	$result.=$tab_allsequences[$i].tab_allsequences[$i+1];
    	}
    	return $result;
    }
     
     
    // -------------Affichage du temps de traitement -----------------
    $timestart=date("U");
     
    // -------------Affichage de la longueur de la séquence -------------
           // echo("Longueur de la séquence: ".$_POST["len"]);
     
    // ------------- Afficher le temps nécessaire pour le traitement de la tâche-----------
    		$timetotal=date("U")-$timestart;
    		print "<p>Computed in $timetotal seconds<br>";
     
    // ---------- Faire le format de sortie----------------
     
    echo <<<_END
    <html><head><title>Découpage séquence ADN</title></head></html><body>
    <p style="text-align: center;">
    <div style="background:#99cc99; width:20%; padding: 2px; font-weight:bold;">S&#233quence d'ADN</div>
    <textarea id="sequence" style="border: solid 1px #99cc99; width: 100%; margin: 0px; padding: 2px;" rows="20" cols="45"></textarea></body>
    _END;
     
    echo "<br />" . $allsequences;
    ?>
    sauf que rien ne s'affiche…. (j'ai biensur installé Wamp server et lancé le script php depuis la bas)

  5. #5
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    <?php 
    header('Content-type:text/html; charset=UTF-8');	// encodage UTF-8
    error_reporting(E_ALL); 	// en TEST !!
    //--------------
    // Affichage du temps de traitement
    $timestart=date("U");
    //--------------
    // on coupe la séquence tout les 10 caractères
    function split_sequences($allsequences){
    $result = "";
    $tab_allsequences=str_split($allsequences,10);
    for($i=0;$i<count($tab_allsequences);$i=$i+3){
    	$result.=$tab_allsequences[$i].$tab_allsequences[$i+1];
    	}
    	return $result;
    }
    //--------------
    // Extract sequence from POST data...
    $sequences=isset($_POST["sequences"]) ? $_POST['sequences'] : '';
    //--------------
    // Supprimer élements inutiles séquence
    // supprime les retours chariot ("\ r"), mais ne supprime pas les sauts de ligne ("\ n")
    $allsequences=preg_replace("/\r/","",$sequences);   
    //--------------
    ?>
    <!doctype html>
    <html>
    <head>
    	<meta charset="utf-8" />
    	<title>Découpage séquence ADN</title>
    </head>
    <body>
    <form method="post" action="">
    	<label for="idsequences" style="display:inline-block;text-align:center;background:#99cc99; width:20%; padding: 5px; font-weight:bold;">Séquence d'ADN</label>
    	<textarea id="idsequences" name="sequences" style="border: solid 1px #99cc99; width: 100%; margin: 0px; padding: 2px;" rows="20" cols="45"><?php echo $sequences; ?></textarea>
    	<button type="submit">Envoyer</button>
    </form>
    <?php
    if ( !empty($allsequences) )
    { 
    	//--------------
    	// Imposer une limite maximum de taille (here 5MB)
    	$len=mb_strlen($allsequences);
    	if($len>5000000) 
    	{
    		die("Error: ce service ne traite pas les demandes d’entrée plus longues que 5,000,000 bp."); // E.Coli 4,641,652 (NCBI)
    	}
    	//--------------
    	echo '<p>'.$allsequences.'</p>'; 
    	//--------------
    	// Découper les fragments en 10pb avec écart de 3pb
    	echo '<p>'.split_sequences($allsequences).'</p>'; 
    }
    //--------------
    // Afficher le temps nécessaire pour le traitement de la tâche
    $timetotal=date("U")-$timestart;
    echo "<p>Computed in $timetotal seconds</p>";
    ?>
    </body>
    </html>

  6. #6
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Merci beaucoup pour l'aide!

    Le site s'affiche mais je n'ai pas l'impression que la fonction que j'ai défini coupe bien les séquences comme je le souhaite (elle devrait les couper tout les 10 caractères avec un écart de 3)...

    EDIT: Non autant pour moi, suffit juste de le faire avec une boucle est tout rentre dans l'ordre !!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Création d'un site web pour un club de football
    Par theviins0570 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 7
    Dernier message: 18/09/2013, 20h47
  2. [PostNuke] Comment travailler avec PostNuke pour la création d'un site web ?
    Par cydrra dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 08/06/2007, 09h25
  3. Déroulement pour création d'un site web
    Par 12_darte_12 dans le forum Général Conception Web
    Réponses: 7
    Dernier message: 08/05/2007, 12h18
  4. Réponses: 6
    Dernier message: 27/09/2006, 19h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo