annotate cpt_psm_plotter/lib/CPT/Bio/RBS.pm @ 0:54c7a3ea81e2 draft

Uploaded
author cpt
date Tue, 05 Jul 2022 05:40:36 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
1 package CPT::Bio::RBS;
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
2 use Moose;
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
3 use autodie;
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
4
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
5 has 'algo' => ( is => 'rw', isa => 'Str' );
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
6 has 'predictor' => ( is => 'rw', isa => 'Any' );
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
7 has 'only_best' => ( is => 'rw', isa => 'Bool', default => sub { 0 } );
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
8
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
9 sub set_algorithm {
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
10 my ( $self, $algorithm ) = @_;
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
11 if ( $algorithm eq 'naive' ) {
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
12 use CPT::Bio::RBS::Algo::Naive;
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
13 my $a = CPT::Bio::RBS::Algo::Naive->new();
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
14 $self->predictor($a);
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
15 }
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
16 else {
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
17 die 'Algorithm not implemented';
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
18 }
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
19 }
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
20
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
21 # Run the prediction on the sequence
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
22 sub predict {
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
23 my ( $self, $sequence ) = @_;
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
24 return $self->predictor()->predict(
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
25 sequence => lc($sequence),
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
26 return_best => $self->only_best(),
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
27 );
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
28 }
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
29
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
30 no Moose;
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
31 1;
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
32
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
33 __END__
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
34
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
35 =pod
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
36
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
37 =encoding UTF-8
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
38
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
39 =head1 NAME
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
40
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
41 CPT::Bio::RBS
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
42
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
43 =head1 VERSION
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
44
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
45 version 1.99.4
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
46
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
47 =head1 AUTHOR
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
48
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
49 Eric Rasche <rasche.eric@yandex.ru>
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
50
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
51 =head1 COPYRIGHT AND LICENSE
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
52
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
53 This software is Copyright (c) 2014 by Eric Rasche.
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
54
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
55 This is free software, licensed under:
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
56
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
57 The GNU General Public License, Version 3, June 2007
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
58
54c7a3ea81e2 Uploaded
cpt
parents:
diff changeset
59 =cut