Alien-SeqAlignment-parasail
view release on metacpan or search on metacpan
lib/Alien/SeqAlignment/parasail.pm view on Meta::CPAN
use strict;
use warnings;
package Alien::SeqAlignment::parasail;
$Alien::SeqAlignment::parasail::VERSION = '0.05';
use parent qw( Alien::Base );
=head1 NAME
Alien::SeqAlignment::parasail - find, build and install the parasail library
=head1 VERSION
version 0.05
=head1 SYNOPSIS
To execute the alignment using the command line tool:
use Alien::parasail;
system Alien::SeqAlignment::parasail->parasail_aligner, (list of options);
=head1 DESCRIPTION
This distribution provides parasail so that it can be used by other
Perl distributions that are on CPAN. The source code will be downloaded
from the parasail github repo, and if that fails it will use the location of a
fork but the author of this module. Contrary to other Alien modules, this one
will not test for a prior install of the parasail library, but will install
from source into a private share location for the use by other modules.
This strategy will avoid overwritting prior system installs of the parasail
library, and is guaranteed to use the latest version of parasail.
The build provides the static and shared libraries, but also the CLI aligner
(parasail_aligner).
=cut
=head1 METHODS
=head2 parasail_aligner
Alien::SeqAlignment::parasail->parasail_aligner
Returns the command name for running the CLI version of the parasail aligner.
=cut
sub parasail_aligner {
my($class) = @_;
$class->runtime_prop->{command} ;
}
=head1 SEE ALSO
=over 4
=item * L<parasail|https://github.com/jeffdaily/parasail>
parasail is a SIMD C (C99) library containing implementations of the
Smith-Waterman (local), Needleman-Wunsch (global), and various
semi-global pairwise sequence alignment algorithms. Here, semi-global
means insertions before the start or after the end of either the query
or target sequence are optionally not penalized. parasail implements
most known algorithms for vectorized pairwise sequence alignment,
including diagonal , blocked , striped , and prefix scan. Therefore,
parasail is a reference implementation for these algorithms in
addition to providing an implementation of the best-performing
algorithm(s) to date on today's most advanced CPUs.
parasail implements the above algorithms currently in three variants,
1) returning the alignment score and ending locations,
2) additionally returning alignment statistics (number of exact matches
, number of similarities, and alignment length), and 3) functions that
store a traceback for later retrieval as a SAM CIGAR string. The three
variants exist because parasail is intended to be high-performing;
calculating additional statistics or the traceback will perform slower
than simply calculating the alignment score.
=item * L<Alien>
Documentation on the Alien concept itself.
=item * L<Alien::Base>
The base class for this Alien.
=item * L<Alien::Build::Manual::AlienUser>
Detailed manual for users of Alien classes.
=item * L<Bio::SeqAlignment|https://metacpan.org/pod/Bio::SeqAlignment>
A collection of tools and libraries for aligning biological sequences
from within Perl.
=back
=head1 AUTHOR
Christos Argyropoulos <chrisarg@gmail.com>
=head1 COPYRIGHT AND LICENSE
This software is copyright (c) 2023 by Christos Argyropoulos.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
=cut
1;
( run in 2.473 seconds using v1.01-cache-2.11-cpan-140bd7fdf52 )