NAME

Turnip

SYNOPSIS

    use Turnip;

    my $turnip = Turnip->new(-prefs => \%User_Preferences);
    my $ret = $turnip->start();
    
    if ($ret) {
        $all_strain_error_rate + $turnip->get_error_rate();
    }
    $turnip->destroy();

DESCRIPTION

This is the core worker module of the TURNIP software. It is very simple to use, with a basic configuration supplied via a Prefs object.

CONSTRUCTORS

Turnip->new()

    my $hs = Turnip->new(-prefs => \%User_Preferences);

The new() class method constructs a new Turnip object. new() accepts the following parameters:

-prefs You must provide a Prefs object to supply global TURNIP parameters to this module.

FEEDBACK

Reporting Bugs

Please report bugs to the author.

AUTHOR

Rob Davey

APPENDIX

History

For a given known stretch of DNA, find all shotgun sequences that overlap any part of the target DNA. Record IDs and alignment positions.

Previous Python versions by Michael J.T. O'Kelly, 6-02-06

V4 Record all applicable alignments, rather than only local alignments
V6 More careful treatment of quality scores; record error rates permanently
V7 Handle circular DNA better; look for small insertions and deletions
V10 Capabilities for finding/using multiple consensus sequences
V11 More sophisticated multi-alignments using MUSCLE
V14 Look for correlated pSNPs

Current versions Perl port version 6 - Rob Davey 2009-12-07

V1 Support for separate config files for User_Preferences; fixed indel discovery
V2 addition of parallel processing code for cluster usage
V3 better results directory creation code, write quality index to file to speed up initial setup, fix for DEL and INS read output in pSNP_tables, added SQL output, fixed underscore strain bug by using a dash between strain and output file name
V4 fixed insertion output in pSNP tables so GFF export works, identified memory leak which occurs when processing a subsequent number of strains - UNFIXED.
V5 Renamed to TURNIP and modularised
V6 Tidied up indentation, and created/rearranged functions to aid clarity, moved code which checked whether each read at each position matches the consensus read database out of forked code which sped things up a lot

The rest of the documentation details each of the object methods. Internal (private) functions are preceded by an underscore (_)

new

 Title   : new
 Usage   : Turnip->new()
 Function: Constructs a new Turnip object
 Returns : NONE
 Args    : A Prefs object supplying global TURNIP configuration

start

 Title   : start
 Usage   : Turnip->start()
 Function: Starts this Turnip object for the current strain defined in the Prefs object
 Returns : NONE
 Args    : NONE

destroy

 Title   : destroy
 Usage   : Turnip->destroy()
 Function: destroys this Turnip object
 Returns : NONE
 Args    : NONE