diff lib/CPT/Bio/RBS.pm @ 1:f093e08f21f3 draft default tip

planemo upload commit 94b0cd1fff0826c6db3e7dc0c91c0c5a8be8bb0c
author cpt
date Mon, 05 Jun 2023 02:47:24 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/CPT/Bio/RBS.pm	Mon Jun 05 02:47:24 2023 +0000
@@ -0,0 +1,59 @@
+package CPT::Bio::RBS;
+use Moose;
+use autodie;
+
+has 'algo'      => ( is => 'rw', isa => 'Str' );
+has 'predictor' => ( is => 'rw', isa => 'Any' );
+has 'only_best' => ( is => 'rw', isa => 'Bool', default => sub { 0 } );
+
+sub set_algorithm {
+	my ( $self, $algorithm ) = @_;
+	if ( $algorithm eq 'naive' ) {
+		use CPT::Bio::RBS::Algo::Naive;
+		my $a = CPT::Bio::RBS::Algo::Naive->new();
+		$self->predictor($a);
+	}
+	else {
+		die 'Algorithm not implemented';
+	}
+}
+
+# Run the prediction on the sequence
+sub predict {
+	my ( $self, $sequence ) = @_;
+	return $self->predictor()->predict(
+		sequence => lc($sequence),
+		return_best => $self->only_best(),
+	);
+}
+
+no Moose;
+1;
+
+__END__
+
+=pod
+
+=encoding UTF-8
+
+=head1 NAME
+
+CPT::Bio::RBS
+
+=head1 VERSION
+
+version 1.99.4
+
+=head1 AUTHOR
+
+Eric Rasche <rasche.eric@yandex.ru>
+
+=head1 COPYRIGHT AND LICENSE
+
+This software is Copyright (c) 2014 by Eric Rasche.
+
+This is free software, licensed under:
+
+  The GNU General Public License, Version 3, June 2007
+
+=cut