-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

What it is supposed to be doing is creating a pseudo file-handle
($result_buffer) which enables methods that write files to write their
output directly to a string. $result_buffer effectively receives output
and concatenates it all to $result_string which then gets written to the
browser window later in the code.

In other words, it makes a string look like a file. This allows us to
use a single method to create results whether we want to write them to
the browser window or to a downloadable file.

This works perfectly on every machine tried so far except yours, which
suggests a Perl incompatibility specific to your setup. What that is I'm
not sure - Syed is our Perl expert and I'm hoping he can help you
further, but if not, it might be worth trying it on a clean Perl
compiled from source with its own separate CPAN repository.

As this is really a Perl problem, not a BioMart problem, as proven by
the code snipped Syed sent you to test earlier, you might also find a
solution by posting a question to a specialist Perl forum or mailing
list to see if anyone there has seen this before. That's not to say we
won't keep on looking ourselves as well. :)

cheers,
Richard

Etai Jacob wrote:
> Hi Syed,
> 
> I did the following:
> 
> Changed Web.pm line ~1850 to:
> $result_string = "xxx";
> open(my $result_buffer, '>', $result_string);
> 
> and it is working.
> Nevertheless, it writes "xxx" on the browser below the UI.
> Could you please elaborate what is the purpose of these lines when
> there is no assignment of a string to result_string?
> 
> Should I leave it as "xxx" or something?
> Thanks,
> Etai
> 
> On 2/14/07, Syed Haider <[EMAIL PROTECTED]> wrote:
>> On Wed, 2007-02-14 at 16:18 +0200, Etai Jacob wrote:
>> > Hi,
>> >
>> > It didn't help.
>> >
>> > Below is the log file.
>>
>> Hi Etai,
>> Try executing the following code as an independent perl script, and let
>> me know what you get.
>>
>> #=====================================
>> use strict;
>> use warnings;
>> use English;
>> my $result_string = "";
>> open(my $result_buffer, '>', \$result_string);
>> print $result_buffer "\n ======= BIOMART ======== \n";
>>
>> close($result_buffer);
>>
>> print $result_string;
>>
>> #=====================================
>>
>> Regards
>> Syed
>>
>>
>>
>> > Thanks,
>> > Etai
>> >
>> > BioMart.Dataset.TableSet:891:WARN> COUNT SQL:  SELECT COUNT(*) FROM
>> > DGV.variation__variation__main main
>> > BioMart.QueryRunner:132:WARN> ATTRIBUTE: variation      start   main
>> > BioMart.QueryRunner:132:WARN> ATTRIBUTE: variation      stop    main
>> > BioMart.QueryRunner:132:WARN> ATTRIBUTE: variation     
>> variationtype   main
>> > BioMart.QueryRunner:150:WARN> NO FILTERS
>> > BioMart.Dataset.TableSet:733:WARN> QUERY SQL:  SELECT main.start,
>> > main.stop, main.variationtype FROM DGV.variation__variation__main main
>> > LIMIT 200
>> > Can't open a reference at
>> > /home/etai/.html/biomart/biomart-perl/lib/BioMart/Web.pm line 1852.
>> > print() on closed filehandle $result_buffer at
>> > /home/etai/.html/biomart/biomart-perl/lib/BioMart/QueryRunner.pm line
>> > 248.
>> > print() on closed filehandle $result_buffer at
>> > /home/etai/.html/biomart/biomart-perl/lib/BioMart/QueryRunner.pm line
>> > 225.
>> > print() on closed filehandle $result_buffer at
>> > /home/etai/.html/biomart/biomart-perl/lib/BioMart/QueryRunner.pm line
>> > 225.
>> > print() on closed filehandle $result_buffer at
>> > /home/etai/.html/biomart/biomart-perl/lib/BioMart/QueryRunner.pm line
>> > 225.
>> > print() on closed filehandle $result_buffer at
>> > /home/etai/.html/biomart/biomart-perl/lib/BioMart/QueryRunner.pm line
>> > 225.
>> > print() on closed filehandle $result_buffer at
>> > /home/etai/.html/biomart/biomart-perl/lib/BioMart/QueryRunner.pm line
>> > 225.
>> > print() on closed filehandle $result_buffer at
>> > /home/etai/.html/biomart/biomart-perl/lib/BioMart/QueryRunner.pm line
>> > 225.
>> > print() on closed filehandle $result_buffer at
>> > /home/etai/.html/biomart/biomart-perl/lib/BioMart/QueryRunner.pm line
>> > 225.
>> > print() on closed filehandle $result_buffer at
>> > /home/etai/.html/biomart/biomart-perl/lib/BioMart/QueryRunner.pm line
>> > 225.
>> > print() on closed filehandle $result_buffer at
>> > /home/etai/.html/biomart/biomart-perl/lib/BioMart/QueryRunner.pm line
>> > 225.
>> > print() on closed filehandle $result_buffer at
>> > /home/etai/.html/biomart/biomart-perl/lib/BioMart/QueryRunner.pm line
>> > 225.
>> > print() on closed filehandle $result_buffer at
>> > /home/etai/.html/biomart/biomart-perl/lib/BioMart/QueryRunner.pm line
>> > 269.
>> >
>> >
>> > On 2/14/07, Syed Haider <[EMAIL PROTECTED]> wrote:
>> > > On Wed, 2007-02-14 at 09:02 +0000, Richard Holland wrote:
> I think in this case though that this is the cause of the user not
> seeing any results?
> 
> 
> Syed Haider wrote:
>> I am confused.
> 
>> (To SYED...: do you have any ideas? MartView/MartService on
>>> this user's
>> own server is throwing exceptions like this: Can't open a
>>> reference at
>> <blah blah>/lib/BioMart/Web.pm line 1850.)
> 
> 
>>> Yeah, I know whats this all about. Its a warning not causing
>>> any harm due
>>> passing a string to a file which sometimes is not assigned a
>>> value. Will
>>> be fixed soon. I dont sense if this should cause any serious
>>> troubles.
>>> Cheers
>>> Syed
> 
>>> > >
>>> > > Hi Etai
>>> > >
>>> > > Could you add the following line just above your line 1850 of Web.pm
>>> > >
>>> > > $result_string = "";
>>> > >
>>> > > just for reference, line 1850:
>>> > >
>>> > > open(my $result_buffer, '>', \$result_string);
>>> > >
>>> > > and see if results panel turns up.
>>> > >
>>> > > Cheers
>>> > > Syed
>>> > >
>>> > >
> 
> 
> 
>> cheers,
>> Richard
> 
>> Etai Jacob wrote:
>>>>> Yes we have, the last version:(
>>>>>
>>>>> On 2/13/07, Richard Holland <[EMAIL PROTECTED]> wrote:
>>>>> Hmm. Well it must be a CPAN module then... not sure exactly
>>> as I've not
>>>>> seen this problem before. The line I quoted is definitely
>>> the line that
>>>>> is causing your results to be blank though.
>>>>>
>>>>> You could check to see if you have IO::Stringy installed
>>> from CPAN. It
>>>>> provides the functions that back up the open() method. Let
>>> me know if it
>>>>> is installed or not - if not, install it and retry the
>>> request (you'll
>>>>> have to restart the MartView server after installing it).
>>>>>
>>>>> cheers,
>>>>> Richard
>>>>>
>>>>> Etai Jacob wrote:
>>>>>> We have perl 5.85 installed.
>>>>>> Thanks,
>>>>>> Etai
>>>>>> On 2/13/07, Richard Holland <[EMAIL PROTECTED]> wrote:
>>>>>> This line of the log indicates the problem:
>>>>>> Can't open a reference at
>>>>>> /home/etai/.html/biomart/biomart-perl/lib/BioMart/Web.pm
>>> line 1850.
>>>>>> This is a Perl version incompatibility. It is trying to
>>> open a
>>>>>> filehandle over a string then write the results to that
>>> string. This is
>>>>>> not possible in versions of Perl older than 5.8.
>>>>>> You need to upgrade your Perl to at least 5.8 for this to
>>> work.
>>>>>> cheers,
>>>>>> Richard
>>>>>> Etai Jacob wrote:
>>>>>>> Attached.
>>>>>>> On 2/13/07, Arek Kasprzyk <[EMAIL PROTECTED]> wrote:
>>>>>>>> On 13 Feb 2007, at 11:49, Etai Jacob wrote:
>>>>>>>>> No errors.
>>>>>
>>>>>>>> I meant ... could you send us the contents
>>>>>>>> of this file while you are doing your query?
>>>>>>>> we need to see what comes back from the
>>>>>>>> database or webserver when you do it
>>>>>
>>>>>>>> cheers,
>>>>>>>> a.
>>>>>
>>>>>
>>>>>
>>>>>>>>> On 2/13/07, Arek Kasprzyk <[EMAIL PROTECTED]> wrote:
>>>>>>>>>> On 13 Feb 2007, at 11:23, Etai Jacob wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi,
>>>>>>>>>>>
>>>>>>>>>>> My answers below.
>>>>>>>>>> Hi Etai,
>>>>>>>>>> maybe we need a little bit more debugging there.
>>>>>>>>>> Could you change the
>>>>>>>>>>
>>>>>>>>>> log4perl.threshold = FATAL
>>>>>>>>>>
>>>>>>>>>> to
>>>>>>>>>>
>>>>>>>>>> log4perl.threshold = WARN
>>>>>>>>>>
>>>>>>>>>> in biomart-perl/conf/log4perl.conf
>>>>>>>>>>
>>>>>>>>>> restart the server and see what you get
>>>>>>>>>> in the error_log?
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> cheers,
>>>>>>>>>> a.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>>> What do you mean by not seeing any results? Do you
>>> mean that
>>>>> you
>>>>>>>>>> get
>>>>>>>>>>>> an error message?
>>>>>>>>>>> I don't get any error messages, not on the web browser
>>>>>> (firefox or
>>>>>>>>>>> explorer) and not in the error log file of the httpd.
>>>>>>>>>>>
>>>>>>>>>>> Or you see the results page but the table only has
>>>>>>>>>>>> headings?
>>>>>>>>>>> No heading.
>>>>>>>>>>>
>>>>>>>>>>> What happens exactly?
>>>>>>>>>>> When pressing the "results" it waits a second and
>>> then when
>>>>>> "Done"
>>>>>>>>>> the
>>>>>>>>>>> page stays blank (except the default GUI of the
>>> martview on
>>>>>> the left
>>>>>>>>>>> side of the page).
>>>>>>>>>>>
>>>>>>>>>>>> Could you try a query with no filters at all and
>>> just one or
>>>>> two
>>>>>>>>>>>> attributes to see if you get results?
>>>>>>>>>>> Yes I tried with many combinations. Nothing.
>>>>>>>>>>>
>>>>>>>>>>> I tried other biomart web interface,
>>>>>>>>>>> http://www.dictybase.org/biomart/martview/, to see
>>> whether I
>>>>>> have a
>>>>>>>>>>> problem with the browser or JVM but it works fine.
>>>>>>>>>>>
>>>>>>>>>>> Thanks,
>>>>>>>>>>> Etai
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>> Etai Jacob wrote:
>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>>
>>>>>>>>>>>>> I am trying to execute few basic queries using the
>>> biomart
>>>>> web
>>>>>>>>>>>>> interface with the default configurations (as
>>> instructed in
>>>>>> the
>>>>>>>>>>>>> installation guide).
>>>>>>>>>>>>> I don't get to see any results on the browser even
>>> though
>>>>>> at the
>>>>>>>>>>>> count
>>>>>>>>>>>>> stage I see that there are relevant entries (i.e.
>>> 1/3967).
>>>>>>>>>>>>>
>>>>>>>>>>>>> What could be the problem?
>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>> Etai
>>>>>>>>>>>>>
>>>>>
>>>>>
>>>
> 
>> ======================================
>> Syed Haider.
>> EMBL-European Bioinformatics Institute
>> Wellcome Trust Genome Campus, Hinxton,
>> Cambridge CB10 1SD, UK.
>> ======================================
> 
>> > > --
>> > > ======================================
>> > > Syed Haider.
>> > > EMBL-European Bioinformatics Institute
>> > > Wellcome Trust Genome Campus, Hinxton,
>> > > Cambridge CB10 1SD, UK.
>> > > ======================================
>> > >
>> > >
>> -- 
>> ======================================
>> Syed Haider.
>> EMBL-European Bioinformatics Institute
>> Wellcome Trust Genome Campus, Hinxton,
>> Cambridge CB10 1SD, UK.
>> ======================================
>>
>>

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFF0z9J4C5LeMEKA/QRAtH/AJ9a1yNHLdhOjHxV8dGZwOQ45UNSBgCfSfCW
3PN6tW7/kI1wPH3yh+hhVQA=
=KkiM
-----END PGP SIGNATURE-----

Reply via email to