Perl Modules
Weigel::Search
Weigel-Search is a collection of Perl modules for searching in FASTA-files.
Main Features:
- Different backends available. Currently Vmatch, Hypa and Agrep are supported. You can easily add own backends (important: choose the module for the Hypa backend as template).
- Approximate matches: You can define how many mismatches should be allowed (hamming distance). Vmatch and Agrep allow edit distances, in Hypa you can define the number of deletions and insertions.
- Generate databases (Hypa, Vmatch: calculate the suffix arrays).
- Alignment query-match as Bioperl Bio::SimpleAlign object.
- Displaying upstream and downstream regions of a match (only Hypa and Vmatch).
- Wobble pairs. Count GU mismatches as 0, 0.5 or 1 mismatch (Hypa).
- Nucleotide and protein databases
- Filter search results. You can write filters that define if a query-match pair should pass this filter (only Hypa and Vmatch).
Usage Example:
use Weigel::Search;# construct a search object, use the Hypa backend. Other # backends are Vmatch and Agrep my $search_obj = Weigel::Search->new('Hypa');
# $sbe is now a reference to the backend my $sbe = $search_obj->backend;
# define a data directory (we put the suffix arrays there. # you will probably need a lot of free disc space) $sbe->settings->datapath('data'); mkdir($sbe->settings->datapath);
# generate a suffix array. you have to do this only once. $sbe->generate_database_out_of_fastafile('Test.fasta', 'Description for the test Fastafile');
# use this database for the next search $sbe->settings->database('Test.fasta');
# search for the reverse complement and allow 2 mismatches $sbe->settings->query('UGAACAGAAAG'); $sbe->settings->reverse_complement(1); $sbe->settings->mismatches(2);
$sbe->search();
# output the alignments foreach my $res (@{$sbe->results}) { print $res->sequence->id . "\n"; print $res->mark_subject_uppercase() . "\n"; print $res->alignment_string() . "\n\n"; }
See perldoc for more examples.
Weigel::RNA
This module filters putative MicroRNA targets in Weigel::Search search results. A mfold perl frontend is part of this package. It is very easy to use.
Main Features:
- MicroRNA target filter
- RNAcofold and mfold perl modules
- MicroRNA Designer modules (including powerful database modules that allow multiple designer clients)
Usage example:
$sbe->settings->mismatches(5);# filter search results my $filter = Weigel::Search::Filter::MIRNAFilter->new(); # don't delete results, only add a message if filter passed or not $filter->delete(0);
# you can write own filters and apply all of them! my @filters = ( $filter ); $sbe->settings->filters( @filters );
$sbe->search();
Downloads:
Weigel::Search 0.12 (06/02/25)
Weigel::RNA soon!