Unconfigured Ad

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • bpich
    Junior Member
    • Oct 2015
    • 7

    execute VelvetOptimiser from perl script

    Hello,
    I am trying to run velvetoptimiser using the perl system command my script is like this:
    my @velvetcmd;
    my $velvetpath="/opt/software/velvet/1.2.10/contrib/VelvetOptimiser-2.2.4/VelvetOptimiser.pl";
    push @velvetcmd,$velvetpath;
    my $velvetarg=" -v -s 27 -e 31 -f '-fastq -shortPaired $reportdir/velvet/$nameseq.shuffled.fastq.gz' -p $velvetdir/$nameseq\_assembly";
    push @velvetcmd,$velvetarg;
    my $velvetcmdstr= join (" ",@velvetcmd);
    system ('perl',$velvetpath,$velvetcmdstr) or die ;

    I have the error message from :
    You must supply the velveth parameter line in quotes. eg -f '-short .....'
    Usage: /opt/software/velvet/1.2.10/contrib/VelvetOptimiser-2.2.4/VelvetOptimiser.pl [options] -f 'velveth input line'

    Thanks for helping
    b
  • GenoMax
    Senior Member
    • Feb 2008
    • 7142

    #2
    Have you tried "escaping" single quotes (e.g. http://stackoverflow.com/questions/5...single-quote)?

    Comment

    • bpich
      Junior Member
      • Oct 2015
      • 7

      #3
      yes, it returns the same error!

      Comment

      • GenoMax
        Senior Member
        • Feb 2008
        • 7142

        #4
        Any reason why you are doing this via Perl and not directly on the command line? BTW you appear to be missing velveth in the -f part of your command line.

        Comment

        • bpich
          Junior Member
          • Oct 2015
          • 7

          #5
          I' d like to call velvetoptimiser as part of a perl script which loop through list of sequences.
          what do you mean missing velveth?
          When I run the same string on command line it works! Should I change the argument I pass through system?

          Comment

          • mastal
            Senior Member
            • Mar 2009
            • 666

            #6
            I don't think you have to specify velveth.

            This is from the VelvetOptimiser manual:

            VelvetOptimiser.pl [options] -f 'velveth input line'

            and an example:

            % VelvetOptimiser.pl -s 27 -e 31 -f '-short -fastq s_1_sequence.txt'

            Comment

            • GenoMax
              Senior Member
              • Feb 2008
              • 7142

              #7
              Usage: /opt/software/velvet/1.2.10/contrib/VelvetOptimiser-2.2.4/VelvetOptimiser.pl [options] -f 'velveth input line'.

              Above message from your first post threw me off but looking at the VelvetOptimiser.pl help that is not needed. Trying to understand how you are constructing the command line.

              Comment

              • mastal
                Senior Member
                • Mar 2009
                • 666

                #8
                @bpich

                I'm not that familiar with the system() command,

                but it seems that you are givng the path twice, once in $velvetpath, and again in $velvetcmdstr.

                what happens if you try:
                system ('perl',$velvetpath,$velvetarg) or die ;

                Comment

                • GenoMax
                  Senior Member
                  • Feb 2008
                  • 7142

                  #9
                  See if this modification to the two lines works with rest of your code (with @mastal's suggestion).

                  Code:
                  my @velvetcmd;
                  my $velvetpath="/opt/software/velvet/1.2.10/contrib/VelvetOptimiser-2.2.4/VelvetOptimiser.pl";
                  push @velvetcmd,$velvetpath;
                  my $velvetarg=" -v -s 27 -e 31 -f '-fastq -shortPaired $reportdir/velvet/$nameseq.shuffled.fastq.gz' -p $velvetdir/$nameseq\_assembly";
                  push @velvetcmd,$velvetarg;
                  my $velvetcmdstr= join (" ",@velvetcmd);
                  system ("perl ",$velvetpath,$velvetarg) or die ;
                  Last edited by GenoMax; 10-23-2015, 04:39 AM.

                  Comment

                  • bpich
                    Junior Member
                    • Oct 2015
                    • 7

                    #10
                    Thanks! modifications work well
                    b

                    Comment

                    Latest Articles

                    Collapse

                    ad_right_rmr

                    Collapse

                    News

                    Collapse

                    Topics Statistics Last Post
                    Started by SEQadmin2, Today, 10:09 AM
                    0 responses
                    9 views
                    0 reactions
                    Last Post SEQadmin2  
                    Started by SEQadmin2, Yesterday, 08:59 AM
                    0 responses
                    14 views
                    0 reactions
                    Last Post SEQadmin2  
                    Started by SEQadmin2, 06-02-2026, 12:03 PM
                    0 responses
                    23 views
                    0 reactions
                    Last Post SEQadmin2  
                    Started by SEQadmin2, 06-02-2026, 11:40 AM
                    0 responses
                    20 views
                    0 reactions
                    Last Post SEQadmin2  
                    Working...