Webservice::InterMine::Role::Showable - behaviour for queries that can print their results out


    use Webservice::InterMine;
    my $service  = Webservice::InterMine->new_service('');

    # Print out a readable table of all results
    $query = $service->new_query(class => 'Gene');
    $query->select('*', 'pathways.*')
          ->where(symbol => [qw/bib eve h zen/])

    # Just print the first 20 rows
    $query = $service->new_query(class => 'Gene');
    $query->select('*', 'pathways.*')

    # Print the results out to a file.
    $query->print_results(columnheaders => 1, to 'some/file.tsv');


Print out the results to either the screen (by default) or any arbitrary file or filehandle. These methods are used by queries and lists to diplay their contents for inpection and storage.

show( [$fh, $no_of_rows] )

Print out the results to standard out (or an optional filehandle) in a easy to read summary table format, with an informative header, column headers in the form of the views, and the results aligned in columns.


Prints out the first $no_of_rows rows, or 10 rows if no argument was given in the same format as show.

returns the results from a query in the result format specified.

The following options are available:

  • to => $filename|GlobRef

    A file name to open, or a file handle opened for writing.

  • as => $format

    Possible values: (tsv|csv|arrayrefs|hashrefs|jsonobjects|jsonrows|count)

    The format to print results in. The default is tsv

  • size => $size

    The number of results to return. Leave undefined for "all" (default).

  • start => $start

    The first result to return (starting at 0). The default is 0.

  • addheaders => 0/1/friendly/path

    Whether to return the column headers at the top of TSV/CSV results. The default is false. There are two styles - friendly: "Gene > pathways > name" and path: "". The default style is friendly if a true value is entered and it is not "path".

  • json => $json_processor

    Possible values: (inflate|instantiate|perl)

    What to do with JSON results. The results can be returned as inflated objects, full instantiated Moose objects, a raw json string, or as a perl data structure. (default is perl). THIS OPTION MAKES LITTLE SENSE WHEN PRINTING RESULTS.



Alex Kalderimis <>


Please report any bugs or feature requests to


You can find documentation for this module with the perldoc command.

    perldoc Webservice::InterMine::Role::Showable

You can also look for information at:


Copyright 2006 - 2011 FlyMine, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.