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 :

Integration de R dans perl


Sujet :

Bioinformatique Perl

  1. #1
    Membre du Club
    Femme Profil pro
    Ingénieur d'étude et de développement en bioinformatique en recherche d'emploi
    Inscrit en
    Mars 2012
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'étude et de développement en bioinformatique en recherche d'emploi
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2012
    Messages : 69
    Points : 68
    Points
    68
    Par défaut Integration de R dans perl
    Bonjour,
    J'ai intégré quelques fonctions R dans un script perl.
    Les fichiers voulus sont bien créés en revanche j'ai un petit problème avec le fichier de sortie R. Dans ce fichier je doit retrouver le résultat des fonctions R et non le script lui même.
    Quelqu'un pourrait il m'aider SVP Merci.
    Voici le code utilisé

    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
    #!/usr/bin/perl
     
    use strict;
    use warnings;
    use Getopt::Long;
     
    my ($sample1,$sample2);
    GetOptions(	"sample1:s" => \$sample1,
    		"sample2:s" => \$sample2			
    );
     
    if (!defined $sample1) {
    	die "Error : samlpe1 missing\n";
    }
    if (!defined $sample2) {
    	die "Error : samlpe2 missing\n";
    }
     
    #create R file instructions file
    my $routfile = "$sample1\_$sample2.R";
    open (ROUT,">$routfile")or die "\nError : $routfile file could not be created: $!\n";
    print ROUT qq(
    m <- read.table ("$sample1\")
    p <- read.table ("$sample2\")
    res <- numeric(ncol(m))
    for(i in 1:ncol(m))
    	res[i] <- var.test(m[,i]  , p[,i])\$p.value  
    	res
    );
    close ROUT;
     
     
    #create qsub file
    my $qsuboutfile = "$sample1\_$sample2.qsub";
    open (QSUB,">$qsuboutfile")or die "\nError : $qsuboutfile file could not be created: $!\n";
    print QSUB qq(#!/bin/bash
    #\$ -S /bin/bash
    #\$ -V
    #\$ -m ea
    #\$ -o $qsuboutfile.out
    #\$ -e $qsuboutfile.err
    #\$ -cwd
    #\$ -q short.q
    #\$ -pe thread 3
     
    # command(s):
    R CMD BATCH  $routfile
    );
    close QSUB;

  2. #2
    Membre confirmé Avatar de Beniou
    Homme Profil pro
    Inscrit en
    Novembre 2009
    Messages
    357
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Novembre 2009
    Messages : 357
    Points : 515
    Points
    515
    Par défaut
    Bonjour,

    Citation Envoyé par karaudrey88
    Les fichiers voulus sont bien créés en revanche j'ai un petit problème avec le fichier de sortie R. Dans ce fichier je doit retrouver le résultat des fonctions R et non le script lui même.
    C'est un peu flou comme demande : que veux-tu dire ?

    Le fichier de sortie de R pour toi est le fichier $routfile (ROUT) ou bien le fichier de sortie après l'exécution de la commande R CMD BATCH ??

    Donne un exemple de ce que tu as et de ce que tu souhaites pour comprendre un peu mieux...

  3. #3
    Membre du Club
    Femme Profil pro
    Ingénieur d'étude et de développement en bioinformatique en recherche d'emploi
    Inscrit en
    Mars 2012
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'étude et de développement en bioinformatique en recherche d'emploi
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2012
    Messages : 69
    Points : 68
    Points
    68
    Par défaut re integration de R dans perl
    Les fichiers .R et .qsub sont bien créés mais pas par contre les fichiers .qsub.err et .qsub.out ne sont pas créés. Or moi j'aimerai ce qu'il se créé quand je lance le programme ainsi je n'ai pas besoin de taper la commande qsub file.qsub pour chaque échantillon.

  4. #4
    Membre confirmé Avatar de Beniou
    Homme Profil pro
    Inscrit en
    Novembre 2009
    Messages
    357
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Novembre 2009
    Messages : 357
    Points : 515
    Points
    515
    Par défaut
    Grosso modo, tu veux lancer la commande qsub sur ton fichier à la fin de ton script si je comprends bien. Pour lancer uen commande en PERL et récupérer la sortie (ici ton Job ID), tu peux utiliser les backquotes (`)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    # Launch file on cluster
    my $job_id = `qsub $qsuboutfile`;
    print "JOB ID : $job_id\n";
    Note : attention les backquotes (`) sont différents des quotes normales (')...

  5. #5
    Membre du Club
    Femme Profil pro
    Ingénieur d'étude et de développement en bioinformatique en recherche d'emploi
    Inscrit en
    Mars 2012
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'étude et de développement en bioinformatique en recherche d'emploi
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2012
    Messages : 69
    Points : 68
    Points
    68
    Par défaut RE : integration de R dans perl
    Merci beaucoup BENJOU
    Cela fonctionne très bien

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 22
    Points : 20
    Points
    20
    Par défaut
    qsub, ça sent la grille Sun. Bon courage

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

Discussions similaires

  1. Integrer une musique dans mon programme
    Par Tutux84 dans le forum C
    Réponses: 2
    Dernier message: 29/01/2005, 12h41
  2. integration varaiables javascript dans du HTML
    Par developpeur_mehdi dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 10/11/2004, 14h54
  3. Integrer un carré dans un RichEdit
    Par Harry dans le forum Composants VCL
    Réponses: 3
    Dernier message: 29/09/2004, 15h02
  4. Réponses: 4
    Dernier message: 02/06/2004, 16h35
  5. integration de repertoire dans ma webapp
    Par thomy dans le forum JBuilder
    Réponses: 2
    Dernier message: 04/06/2003, 10h34

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