---
name: "Bio::SearchIO::SearchWriterI"
section: "3pm"
platform: "linux"
package: "libbio-perl-perl"
version: "1.7.8-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Bio::SearchIO::SearchWriterI"
---

# Bio::SearchIO::SearchWriterI(3pm)

Interface for outputting parsed Search results

## NAME

Bio::SearchIO::SearchWriterI - Interface for outputting parsed Search results

## SYNOPSIS

Bio::SearchIO::SearchWriterI objects cannot be instantiated since this module defines a pure interface.

Given an object that implements the Bio::SearchIO::SearchWriterI interface, you can do the following things with it:

```
    print $writer->to_string( $result_obj, @args );
```

## DESCRIPTION

This module defines abstract methods that all subclasses must implement to be used for outputting results from Bio::Search::Result::ResultI objects.

## AUTHOR

Steve Chervitz \<sac-at-bioperl.org\>

## DISCLAIMER

This software is provided "as is" without warranty of any kind.

## APPENDIX

The rest of the documentation details each of the object methods.

### to\_string

```
 Purpose   : Produces data for each Search::Result::ResultI in a string.
           : This is an abstract method. For some useful implementations,
           : see ResultTableWriter.pm, HitTableWriter.pm,
           : and HSPTableWriter.pm.
 Usage     : print $writer->to_string( $result_obj, @args );
 Argument  : $result_obj = A Bio::Search::Result::ResultI object
           : @args = any additional arguments used by your implementation.
 Returns   : String containing data for each search Result or any of its
           : sub-objects (Hits and HSPs).
 Throws    : n/a
```

### start\_report

```
 Title   : start_report
 Usage   : $self->start_report()
 Function: The method to call when starting a report. You can override it
           to make a custom header
 Returns : string
 Args    : none
```

### end\_report

```
 Title   : end_report
 Usage   : $self->end_report()
 Function: The method to call when ending a report, this is
           mostly for cleanup for formats which require you to
           have something at the end of the document (</BODY></HTML>)
           for HTML
 Returns : string
 Args    : none
```

### filter

```
 Title   : filter
 Usage   : $writer->filter('hsp', \&hsp_filter);
 Function: Filter out either at HSP,Hit,or Result level
 Returns : none
 Args    : string => data type,
           CODE reference
```
