[Bioperl-l] I can't access clustalw from my cgi perl program...

Wei Zhou CMB.zhouw at gmail.com
Thu May 22 21:48:07 EDT 2008


check out  the permission of your HOME directory, /home/vdar/
perhaps its mode is 700.
if so, chmod 755 ~


Hope this helps.


Best regards,
Wei Zhou


On Fri, May 23, 2008 at 2:12 AM, nisa_dar <vdar at yorku.ca> wrote:

>
> I have seen in my error log file that output file is not being written bcs
> of
> no permissions
>
> [Thu May 22 14:07:35 2008] [error] [client xxxxxxxxxx] MSG: Could not open
> >/home/vdar/in.aln.pfam: Permission denied, referer:
> https://capsella.ccs.yorku.ca/nisa/snp_finder.html
>
> Does any one know how can i give permissions to others so that my program
> can write this file in my home directory?
> All I knew was chmod 777 ... but in this case this doesn't work...
>
> thanks
>
>
>
>
>
>
>
> Mauricio Herrera Cuadra-3 wrote:
> >
> > A couple of things inlined:
> >
> > vdar at yorku.ca wrote:
> >> Yes, I've seen in that directory, but it doesn't exist. Another wierd
> >> thing
> >> which is being happening is that If I make this output file manually in
> >> that
> >> directory, it is read by the following code and printed on screen
> >>
> >>
> >> if ("out.aln.pfam"){
> >>      open FH, "out.aln.pfam" || die "Alignment file doesn't exist</br>";
> >>      while(<FH>){
> >>
> >>      print $_,"</br>";
> >>      }
> >>      close FH;
> >> }
> >>
> >> only when this code is not followed by the original code. When its
> >> followed by
> >> the original code i.e.
> >
> > Yeah, this works because you're placing the file there by hand, so it's
> > found by the open() function, not the 'if ("out.aln.pfam")' statement
> > (which, btw, always evaluates as TRUE). Something simpler like this will
> > work as you expect and it's easier to understand:
> >
> > open FH, "out.aln.pfam" or die "Alignment file doesn't exist<br />";
> > while (<FH>) {
> >      print $_, "<br />";
> > }
> > close FH;
> >
> >> my  $in  = Bio::AlignIO->new(-file   => $file1 ,
> >>                              -format => 'fasta');
> >>      my $out = Bio::AlignIO->new(-file   => ">out.aln.pfam" ,
> >>                              -format => 'pfam');
> >>
> >>
> >>
> >>      while ( my $aln1 = $in->next_aln() ) {
> >>              $out->write_aln($aln1);
> >>      }
> >>
> >>
> >>
> >>      if ("out.aln.pfam"){
> >>      open FH, "out.aln.pfam" || die "Alignment file doesn't exist</br>";
> >>      while(<FH>){
> >>
> >>      print $_,"</br>";
> >>      }
> >>      close FH;
> >>      }
> >>
> >> Nothing is printed on screen, while it stays there in the directory. I
> >> have
> >> changed the name of output file in this code but new file is not
> produced
> >> by
> >> this program. Does anyone know what is going on?
> >
> > Apparently, this is a problem with permissions. Maybe your script lives
> > under some directory (i.e. your home directory) which is owned by a
> > different user than the one who is actually running the CGI interface
> > (e.g. apache, nobody) ?? Check your Apache logs from another shell
> > screen to see what is really happening while you run your script:
> >
> > $ tail -f /path/to/your/apache/error.log
> >
> > In a CGI environment, all Perl messages/warnings are printed to the
> > webserver's log, not the standard output (your shell).
> >
> > Mauricio.
> >
> >> thanks
> >> nisa
> >>
> >>
> >> Quoting Mauricio Herrera Cuadra <arareko at campus.iztacala.unam.mx>:
> >>
> >>> You're using '>out.aln.pfam' as the full path for the output file. Most
> >>> probably, the file is being produced but in the same location where the
> >>> CGI script lives. Check inside the same directory where you installed
> >>> your script.
> >>>
> >>>  Mauricio.
> >>>
> >>> vdar at yorku.ca wrote:
> >>>> ok thanks, its not giving me any error now, but its not doing anything
> >>>> too,
> >>> the
> >>>> following code works from commandline but not from my cgi script. I
> >>>> have
> >>> added
> >>>> the path to bioperl and have tried everything else that I could
> find...
> >>>>
> >>>>         my  $in  = Bio::AlignIO->new(-file   => $inputfilename ,
> >>>>                            -format => 'fasta');
> >>>>    my $out = Bio::AlignIO->new(-file   => ">out.aln.pfam" ,
> >>>>                            -format => 'pfam');
> >>>>
> >>>>
> >>>>
> >>>>    while ( my $aln1 = $in->next_aln() ) {
> >>>>            $out->write_aln($aln1);
> >>>>    }
> >>>>
> >>>>
> >>>> output file is not produced. what should I do?
> >>>>
> >>>> thanks
> >>>> nisa
> >>>>
> >>>>
> >>>> Quoting Sendu Bala <bix at sendu.me.uk>:
> >>>>
> >>>>> vdar at yorku.ca wrote:
> >>>>>> How can I find where bioperl is installed?
> >>>>> You already know where it's installed. See below.
> >>>>>
> >>>>>
> >>>>>> Quoting Mauricio Herrera Cuadra <arareko at campus.iztacala.unam.mx>:
> >>>>>>
> >>>>>>> Hi Nisa,
> >>>>>>>
> >>>>>>> CGI scripts are generally run by a different user than you, and
> >>>>>>> which
> >>>>>>> user (e.g. apache, nobody) will depend on the platform you're
> >>>>>>> running
> >>>>>>> the script on, thus the environment variables you currently have
> for
> >>>>>>> your login shell are not being inherited to the web interface. The
> >>>>>>> best
> >>>>>>> workaround for this is to add a 'use lib' pragma at the top of your
> >>>>>>> CGI
> >>>>>>> script:
> >>>>>>>
> >>>>>>> use lib '/path/to/your/bioperl/installation/';
> >>>>> [...]
> >>>>>>> vdar at yorku.ca wrote:
> >>>>>>>> export PERL5LIB="/opt/rocks/lib/perl5/site_perl/5.8.8"
> >>>>
> >>> --
> >>> MAURICIO HERRERA CUADRA
> >>> arareko at campus.iztacala.unam.mx
> >>> Laboratorio de GenÃ(c)tica
> >>> Unidad de Morfofisiología y Función
> >>> Facultad de Estudios Superiores Iztacala, UNAM
> >>>
> >>
> >>
> >
> > --
> > MAURICIO HERRERA CUADRA
> > arareko at campus.iztacala.unam.mx
> > Laboratorio de Genética
> > Unidad de Morfofisiología y Función
> > Facultad de Estudios Superiores Iztacala, UNAM
> > _______________________________________________
> > Bioperl-l mailing list
> > Bioperl-l at lists.open-bio.org
> > http://lists.open-bio.org/mailman/listinfo/bioperl-l
> >
>
> --
> View this message in context:
> http://www.nabble.com/I-can%27t-access-clustalw-from-my-cgi-perl-program...-tp17367665p17410291.html
> Sent from the Perl - Bioperl-L mailing list archive at Nabble.com.
>
>
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/bioperl-l
>



More information about the Bioperl-l mailing list