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

Bioinformatique Perl Discussion :

Erreurs de syntaxe..


Sujet :

Bioinformatique Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2014
    Messages : 16
    Par défaut Erreurs de syntaxe..
    Bonjour,
    Je reviens vers vous concernant mon second code, qui, comme le premier, ne fonctionne pas.
    Voici la bête :
    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
    #!C:\strawberry\perl\bin -W
    use warnings;
    use stricts;
    open HIN, "<C:\\Users\\Maxime\\Desktop\\sequence.txt";
    my @temp = <HIN>;
    my $a =0
    for (my $j=0 ; $j<=($#temp) ; $j+=1){ 
    my @t = split //, $temp[$j];
    for (my $c=0; $c<=($#t);$c+=1){
    		if (($t[$c] =~ 'a')&&($t[$c+1] =~ 't')&&($t[$c+2] =~ 'g')){
    				for (my $i=$c+1; $i<=($#t);$i+=1){
    					if ($t[$i] =~ 'g') && ($t[$i+1] =~ 't'){
    						for (my $v=$i+1; $v<=($#t);$v+=1){
    							if ($t[$v] =~ 'a')&&($t[$v+1]=~ 'g'){
    																$a+=1
    								print("exon", "$a",":","$t[$c..$i-1]\n","intron", "$a", ":","$t[$i..v+1]\n")
     
    								}
    							elsif (($t[$v] =~ 't')&&($t[$v+1] =~ 'g')&&($t[$v+2] =~ 'a')){								
    								print ("exon unique :","$t[$c..$v+2]")
    								last}
    							elsif (($t[$v] =~ 't')&&($t[$v+1] =~ 'a')&&($t[$v+2] =~ 'a')){								
    								print ("exon unique :","$t[$c..$v+2]")
    								last}
    								};}
    					elsif (($t[$i] =~ 't')&&($t[$i+1] =~ 'g')&&($t[$i+2] =~ 'a')){
    					print ("exon unique :","$t[$c..$i+2]")
    					}};}};}
    Et voici mes problèmes :
    ==> pour afficher une suite de ligne d'un tableau par exemple de la ligne 1 à 10, comment doit-on si prendre? print ($t[1..10]) ne semble pas fonctionner.
    ==>Ensuite je veux que le programme me trouve trois nucléotides (ATG) à la suite puis qu'il commence à faire d'autre action (chercher des introns ou une fin TAA ou TGA). Pour cela j'ai utilisé if précédé d'une boucle for.. if (($t[$c] =~ 'a')&&($t[$c+1] =~ 't')&&($t[$c+2] =~ 'g')). Est-ce que cette façon d'écrire pour la condition "SI la ligne x correspond à un 'a' ET la ligne x+1 correspond à un 't' ET la ligne x+2 correspond à un 'g' ALORS ...." est correcte?.

    Bon le programme est un premier jet je suis pas sur que l'algorithme que j'ai mis en place fonctionne vraiment pour l'instant, mais avant de le vérifier j'aimerai bien résoudre ces petites questions de syntaxe ^^.

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2013
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2013
    Messages : 247
    Par défaut
    je regarderai plus précisément ton problème ce soir ou demain matin mais n'essaies-tu pas de réinventer des choses qui existent?

    Typiquement, des logiciels dont l'algo est très bien fait permettant de prédire des gènes (par exemple) existent déjà

  3. #3
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2014
    Messages : 16
    Par défaut
    Ok,merci.

    J'essais juste de faire l'exercice qu'on m'a confié ^^. Même si des logiciels existent pour ce genre de choses, mon but final est d'apprendre le perl donc ça m'entraîne un peut ^^

  4. #4
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Billets dans le blog
    1
    Par défaut
    Déjà, ton programme ne compile sans doute pas. Il manque un ; en ligne 6. Donc, tu ne peux pas tester ce programme

  5. #5
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2014
    Messages : 16
    Par défaut
    Oui en effet x), mais les erreurs sont semblables à ce qu'elles étaient avant le rajout du ; :s j'ai notamment l'erreur de print(...) interpreted as a function line 20 23 27, ce qui me laisse penser qu'il y a un problème avec le print($t[x..y]).

  6. #6
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Billets dans le blog
    1
    Par défaut
    Pour imprimer les éléments d'un tableau, voici un exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    my @c = 5..15;
    print "@c[2..7]"; # imprime: 7 8 9 10 11 12
    Quand tu fais une "tranche de tableau" (array slice), donc avec plusieurs éléments, tu utilises en quelque sorte un sous-tableau, il faut donc utiliser le "sigil" @ et non $.

  7. #7
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2014
    Messages : 16
    Par défaut
    Merci !
    Ca fonctionne en effet sur un petit bout de code qui reprends le même tableau @t issu de "sequence.txt".
    Mais dans le code totale ça me fais encore le "print(...) interpreted as a function line 20 23 27" et aussi il me trouve une "syntaxe error line , near ") &&", line 13, near "1)", line 24, near ") last", line 26 near "elsif" " .....

  8. #8
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Billets dans le blog
    1
    Par défaut
    Poste ton code actuel. Il manque un ";" en ligne 15 du code ci-dessus, juste avant le print, c'est peut-être la cause de l'erreur.

Discussions similaires

  1. [Directives] Page blanche quand erreur de syntaxe
    Par syl2095 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 12
    Dernier message: 17/02/2006, 15h15
  2. [sql] erreur de syntaxe
    Par cmoa59 dans le forum JDBC
    Réponses: 14
    Dernier message: 03/05/2005, 11h41
  3. erreur de syntaxe en C++
    Par sergepmessa dans le forum C++
    Réponses: 6
    Dernier message: 11/03/2005, 18h15
  4. PHP SQL =>erreur de syntaxe (operateur absent)
    Par snipes dans le forum Langage SQL
    Réponses: 3
    Dernier message: 23/02/2005, 14h09
  5. erreur de syntaxe javascript dans ma page
    Par Oluha dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 01/02/2005, 14h53

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