view release on metacpan or search on metacpan
bin/GD_Filter_Enzymes.pl view on Meta::CPAN
GD_Filter_Enzymes.pl --sticky 35 --cleavage in
List all enzymes that are available from NEB or Stratagene and are inactivated
at or below 60 deg and cost less than 50 cents a unit:
GD_Filter_Enzymes.pl --vendor N,E --inactivation 60 --pricemax .5
List all enzymes that have at least 25% activity in NEB buffers 1 and 4 and
are indifferent to CpG methylation
GD_Filter_Enzymes.pl --buffer NEB1=25,NEB4=25 --cpgsense indifferent
List all enzymes that exhibit star activity and are blocked or inhibited by
Dam methylation
GD_Filter_Enzymes.pl --staractivity 1 --damsense blocked,inhibited
List all enzymes that may leave nonpalindromic overhangs (and those that
definitely do) and whose recognition sequences do not contain AT or TA
GD_Filter_Enzymes.pl --palindromy pnon,nonpal --seqmaynothave AT,TA
=head1 ARGUMENTS
Optional arguments:
-h, --help : Display this message
bin/GD_Filter_Enzymes.pl view on Meta::CPAN
--sticky : [1, 3, 5, b] What type of overhang is left by the enzyme
--palindromy : [pal, pnon, nonpal] Is the overhang left by the enzyme
palindromic, potentially non-palindromic, or non-palindromic
--length : How many bases long is the recognition site allowed to be,
accepts a comma separated list
--ambiguous : [nonNonly OR ATCGonly] Are ambiguous bases allowed in the
recognition site. If yes to all, don't include this option
--inactivation : Enzymes must be inactivated by at least this temperature
--incubation : Enzymes must incubate at this temperature
--staractivity : [1 OR 0] Enzymes with or without star activity
--cpgsense : [blocked, inhibited, indifferent] Sensitivity to CpG
methylation
--damsense : [blocked, inhibited, indifferent] Sensitivity to Dam
methylation
--dcmsense : [blocked, inhibited, indifferent] Sensitivity to Dcm
methylation
--buffer : List of buffer activity thresholds. NEB1=50,NEB2=50 means
enzymes must have at least 50% activity in NEB buffers 1 & 2
Other=50 will work for non NEB buffers
--pricemax : The highest amount in dollars/unit an enzyme can cost
--seqmusthave : List of sequences that must be found in the recognition site
--seqmaynothave : List of sequences that must not be in the recognition site
--vendor : List of vendors that must stock the enzyme, using the
comma separated abbreviations:
B = Invitrogen
lib/Bio/GeneDesign/RestrictionEnzyme.pm view on Meta::CPAN
my %RE_vendors = (
B => "Invitrogen", C => "Minotech", E => "Stratagene Agilent",
F => "Thermo Scientific Fermentas", I => "SibEnzyme", J => "Nippon Gene Co.",
K => "Takara", M => "Roche Applied Science", N => "New England Biolabs",
O => "Toyobo Technologies", Q => "Molecular Biology Resources",
R => "Promega", S => "Sigma Aldrich", U => "Bangalore Genei", V => "Vivantis",
X => "EURx", Y => "CinnaGen"
);
my %methtrans = (b => "blocked", blocked => "blocked",
i => "inhibited", inhibited => "inhibited",
u => "unknown", unknown => "unknown"
);
=head1 CONSTRUCTOR METHODS
=head2 new
You can create a new enzyme or clone an existing enzyme to create a new instance
of an abstract enzyme definition. To do this, provide the -enzyme flag; the
lib/Bio/GeneDesign/RestrictionEnzyme.pm view on Meta::CPAN
-id : The name of the enzyme (i.e., BamHI)
-cutseq : The string describing the enzyme's recognition and cleavage
site
Optional arguments:
-temp : The incubation temperature for the enzyme
-tempin : The heat inactivation temperature for the enzyme
-score : A float score, usually the price of the enzyme in dollars
-methdam : Sensitivity to dam methylation; can take the values
b or blocked,
i or inhibited,
u or unknown,
if undefined, will take the value indifferent.
-methdcm : Sensitivity to dcm methylation; can take the values
b or blocked,
i or inhibited,
u or unknown,
if undefined, will take the value indifferent.
-methcpg : Sensitivity to cpg methylation; can take the values
b or blocked,
i or inhibited,
u or unknown,
if undefined, will take the value indifferent.
-vendors : a string of single letter codes that represent vendor
availability - no spaces. see vendor() for a list of the
codes.
-staract : Whether or not the enzyme exhibits star activity - 1 or 0.
-buffers : a hash reference; keys are buffer names and values are the
enzyme activity in that buffer. For example:
NEB1 => 50, NEB2 => 100, etc.
lib/Bio/GeneDesign/RestrictionEnzyme.pm view on Meta::CPAN
Generates a tab delimited display string that can be used to print enzyme
information out in a tabular format.
=cut
sub display
{
my ($self) = @_;
my $staract = $self->{staract} ? "*" : q{};
my (@blocked, @inhibed) = ((), ());
push @blocked, "cpg" if ($self->{methcpg} eq "blocked");
push @blocked, "dam" if ($self->{methdam} eq "blocked");
push @blocked, "dcm" if ($self->{methdcm} eq "blocked");
push @inhibed, "cpg" if ($self->{methcpg} eq "inhibited");
push @inhibed, "dam" if ($self->{methdam} eq "inhibited");
push @inhibed, "dcm" if ($self->{methdcm} eq "inhibited");
my $buffstr = undef;
foreach (sort keys %{$self->{buffers}})
{
$buffstr .= "$_ (" . $self->{buffers}->{$_} . ") " if ($self->{buffers}->{$_});
}
my $vendstr = join(", ", values %{$self->{vendors}});
my $display = undef;
my $inact = $self->{tempin} ? " (". $self->{timein} . q{@} . $self->{tempin} . ")" : q{};
$display .= $self->{id} . "\t";
$display .= $self->{cutseq} . $staract . "\t";
$display .= $self->{type} . "\t";
$display .= $self->{start} . "\t" if ($self->{start});
$display .= $self->{temp} . $inact . "\t";
$display .= join(", ", @blocked) . "\t";
$display .= join(", ", @inhibed) . "\t";
$display .= $self->{score} . "\t";
$display .= $buffstr . "\t";
$display .= $vendstr . "\t";
return $display;
}
=head2 common_buffers
Returns an array reference listing the buffers, if any, in which two enzymes
lib/Bio/GeneDesign/RestrictionEnzyme.pm view on Meta::CPAN
my $val = $hshref->{$buff};
$result = 0 if ( ! exists($rebuff->{$buff}) || $rebuff->{$buff} < $val );
}
return $result;
}
=head2 filter_by_dcm_sensitivity
Arguments : an arrayref of sensitivity values; the key is the sensitivity
blocked, inhibited, or indifferent
Returns : 1 if the enzyme meets the dcm sensitivity requirements,
0 else.
=cut
sub filter_by_dcm_sensitivity
{
my ($self, $arrref) = @_;
my $result = 1;
my %sensehsh;
foreach my $sense (@$arrref)
{
if ($sense ne "blocked" && $sense ne "inhibited" && $sense ne "indifferent")
{
$sense = lc $sense;
print "\tWARNING: Cannot parse dcmsense argument $sense - ignoring.\n";
next;
}
$sensehsh{$sense}++;
}
$result = 0 unless ( exists($sensehsh{$self->{methdcm}}) );
return $result;
}
=head2 filter_by_dam_sensitivity
Arguments : an arrayref of sensitivity values; the key is the sensitivity
blocked, inhibited, or indifferent
Returns : 1 if the enzyme meets the dam sensitivity requirements,
0 else.
=cut
sub filter_by_dam_sensitivity
{
my ($self, $arrref) = @_;
my $result = 1;
my %sensehsh;
foreach my $sense (@$arrref)
{
if ($sense ne "blocked" && $sense ne "inhibited" && $sense ne "indifferent")
{
$sense = lc $sense;
print "\tWARNING: Cannot parse damsense argument $sense - ignoring.\n";
next;
}
$sensehsh{$sense}++;
}
$result = 0 unless ( exists($sensehsh{$self->{methdam}}) );
return $result;
}
=head2 filter_by_cpg_sensitivity
Arguments : an arrayref of sensitivity values; the key is the sensitivity
blocked, inhibited, or indifferent
Returns : 1 if the enzyme meets the cpg sensitivity requirements,
0 else.
=cut
sub filter_by_cpg_sensitivity
{
my ($self, $arrref) = @_;
my $result = 1;
my %sensehsh;
foreach my $sense (@$arrref)
{
if ($sense ne "blocked" && $sense ne "inhibited" && $sense ne "indifferent")
{
$sense = lc $sense;
print "\tWARNING: Cannot parse cpgsense argument $sense - ignoring.\n";
next;
}
$sensehsh{$sense}++;
}
$result = 0 unless ( exists($sensehsh{$self->{methcpg}}) );
return $result;
}
t/30-enzymes.t view on Meta::CPAN
'timein' => '20',
'palindromy' => 'pal',
'vendors' => {
'N' => 'New England Biolabs',
'I' => 'SibEnzyme',
'V' => 'Vivantis'
},
'aggress' => '0.0002659',
'score' => '0.02826',
'length' => 6,
'methcpg' => 'blocked',
'temp' => '37',
'regex' => [ qr/GGGCCC/ix ],
'methdcm' => 'blocked',
'outside_cut' => 5,
'inside_cut' => 1,
'class' => 'IIP',
'classex' => qr/ ([A-Z]*) \^ ([A-Z]*) /x,
'_root_verbose' => 0,
'type' => '5\'',
'cutseq' => 'G^GGCCC',
'exclude' => ['ApaI', 'BaeGI', 'BanII', 'Bsp1286I', 'CviKI', 'HaeIII', 'NlaIV', 'PhoI', 'Sau96I', ]
},
'Bio::GeneDesign::RestrictionEnzyme'
t/30-enzymes.t view on Meta::CPAN
'TaqI' => bless(
{
'buffers' => {
'NEB3' => '100',
'NEB1' => '50',
'Other' => '',
'NEB2' => '75',
'NEB4' => '100'
},
'recseq' => 'TCGA',
'methdam' => 'blocked',
'staract' => 1,
'id' => 'TaqI',
'tempin' => '80',
'timein' => '20',
'palindromy' => 'pal',
'vendors' => {
'S' => 'Sigma Aldrich',
'F' => 'Thermo Scientific Fermentas',
'N' => 'New England Biolabs',
'K' => 'Takara',
t/30-enzymes.t view on Meta::CPAN
'X' => 'EURx',
'K' => 'Takara',
'B' => 'Invitrogen',
'M' => 'Roche Applied Science',
'R' => 'Promega',
'U' => 'Bangalore Genei'
},
'aggress' => '0.0001856',
'score' => '0.0528',
'length' => 6,
'methcpg' => 'blocked',
'temp' => '37',
'regex' => [ qr/GT[ACM][GKT]AC/ix ],
'methdcm' => 'indifferent',
'class' => 'IIP',
'classex' => qr/ ([A-Z]*) \^ ([A-Z]*) /x,
'_root_verbose' => 0,
'type' => '5\'',
'cutseq' => 'GT^MKAC',
'outside_cut' => 4,
'inside_cut' => 2,
t/30-enzymes.t view on Meta::CPAN
'id' => 'AciI',
'tempin' => '65',
'timein' => '20',
'palindromy' => 'pnon',
'vendors' => {
'N' => 'New England Biolabs'
},
'aggress' => '0.0106387',
'score' => '0.244',
'length' => 4,
'methcpg' => 'blocked',
'temp' => '37',
'regex' => [ qr/CCGC/ix, qr/GCGG/ix ],
'methdcm' => 'indifferent',
'class' => 'IIA',
'classex' => qr/\A \w+ \(([\-]*\d+) \/ ([\-]*\d+)\)\Z /x,
'_root_verbose' => 0,
'type' => '5\'',
'cutseq' => 'CCGC(-3/-1)',
'outside_cut' => -1,
'inside_cut' => -3,
t/30-enzymes.t view on Meta::CPAN
'O' => 'Toyobo Technologies',
'N' => 'New England Biolabs',
'B' => 'Invitrogen'
},
'aggress' => '0.0003711',
'score' => '0.2016',
'length' => 6,
'methcpg' => 'indifferent',
'temp' => '37',
'regex' => [ qr/TGGCCA/ix ],
'methdcm' => 'blocked',
'class' => 'IIP',
'classex' => qr/ ([A-Z]*) \^ ([A-Z]*) /x,
'_root_verbose' => 0,
'type' => 'b',
'cutseq' => 'TGG^CCA',
'exclude' => ['CviKI', 'EaeI', 'HaeIII', 'PhoI', ]
},
'Bio::GeneDesign::RestrictionEnzyme'
),
'BbvCI' => bless(
t/30-enzymes.t view on Meta::CPAN
'V' => 'Vivantis',
'Q' => 'Molecular Biology Resources',
'M' => 'Roche Applied Science',
'C' => 'Minotech',
'R' => 'Promega',
'I' => 'SibEnzyme'
},
'aggress' => '0.0023298',
'score' => '0.0424',
'length' => 4,
'methcpg' => 'blocked',
'temp' => '37',
'regex' => [ qr/GTAC/ix ],
'methdcm' => 'indifferent',
'class' => 'IIP',
'classex' => qr/ ([A-Z]*) \^ ([A-Z]*) /x,
'_root_verbose' => 0,
'type' => 'b',
'cutseq' => 'GT^AC',
'exclude' => ['Acc65I', 'BsiWI', 'BsrGI', 'CviQI', 'KpnI', 'ScaI', 'TatI', ]
},
t/30-enzymes.t view on Meta::CPAN
'O' => 'Toyobo Technologies',
'M' => 'Roche Applied Science',
'N' => 'New England Biolabs',
'K' => 'Takara',
'R' => 'Promega',
'V' => 'Vivantis'
},
'aggress' => '0.0002062',
'score' => '0.0848',
'length' => 6,
'methcpg' => 'blocked',
'temp' => '37',
'regex' => [ qr/GACGTC/ix ],
'methdcm' => 'indifferent',
'class' => 'IIP',
'classex' => qr/ ([A-Z]*) \^ ([A-Z]*) /x,
'_root_verbose' => 0,
'type' => '3\'',
'cutseq' => 'GACGT^C',
'outside_cut' => 5,
'inside_cut' => 1,
t/30-enzymes.t view on Meta::CPAN
'id' => 'BmgBI',
'tempin' => '65',
'timein' => '20',
'palindromy' => 'pnon',
'vendors' => {
'N' => 'New England Biolabs'
},
'aggress' => '0.0003505',
'score' => '0.232',
'length' => 6,
'methcpg' => 'blocked',
'temp' => '37',
'regex' => [ qr/CACGTC/ix, qr/GACGTG/ix ],
'methdcm' => 'indifferent',
'class' => 'IIA',
'classex' => qr/\A \w+ \(([\-]*\d+) \/ ([\-]*\d+)\)\Z /x,
'_root_verbose' => 0,
'type' => 'b',
'cutseq' => 'CACGTC(-3/-3)',
'exclude' => [ 'BtrI', 'HpyCH4IV', 'MaeII', 'TaiI', ]
},
t/30-enzymes.t view on Meta::CPAN
'N' => 'New England Biolabs'
},
'aggress' => '0.0000501',
'score' => '0.0464',
'recseq' => 'CCWGG',
'methcpg' => 'indifferent',
'methdam' => 'indifferent',
'length' => 5,
'temp' => '75',
'regex' => [ qr/CC[ATW]GG/ix ],
'methdcm' => 'blocked',
'type' => '5\'',
'_root_verbose' => 0,
'id' => 'PspGI',
'class' => 'IIP',
'classex' => qr/ ([A-Z]*) \^ ([A-Z]*) /x,
'cutseq' => '^CCWGG',
'outside_cut' => 5,
'inside_cut' => 0,
'exclude' => ['BssKI', 'BstNI', 'EcoRII', 'PasI', 'ScrFI', 'SexAI', 'StyD4I', ]
},
t/30-enzymes.t view on Meta::CPAN
'id' => 'BsrBI',
'tempin' => '80',
'timein' => '20',
'palindromy' => 'pnon',
'vendors' => {
'N' => 'New England Biolabs'
},
'aggress' => '0.0003505',
'score' => '0.0488',
'length' => 6,
'methcpg' => 'blocked',
'temp' => '37',
'regex' => [ qr/CCGCTC/ix, qr/GAGCGG/ix ],
'methdcm' => 'indifferent',
'class' => 'IIA',
'classex' => qr/\A \w+ \(([\-]*\d+) \/ ([\-]*\d+)\)\Z /x,
'_root_verbose' => 0,
'type' => 'b',
'cutseq' => 'CCGCTC(-3/-3)',
'exclude' => [ 'AciI' ]
},
t/30-enzymes.t view on Meta::CPAN
'AlwI' => bless(
{
'buffers' => {
'NEB3' => '10',
'NEB1' => '50',
'Other' => '',
'NEB2' => '100',
'NEB4' => '100'
},
'recseq' => 'GGATC',
'methdam' => 'blocked',
'id' => 'AlwI',
'tempin' => '65',
'timein' => '20',
'palindromy' => 'pnon',
'vendors' => {
'N' => 'New England Biolabs'
},
'aggress' => '0.0011958',
'score' => '0.0976',
'length' => 5,
t/30-enzymes.t view on Meta::CPAN
'id' => 'BseYI',
'tempin' => '65',
'timein' => '20',
'palindromy' => 'pnon',
'vendors' => {
'N' => 'New England Biolabs'
},
'aggress' => '0.0006598',
'score' => '0.488',
'length' => 6,
'methcpg' => 'blocked',
'temp' => '37',
'regex' => [ qr/CCCAGC/ix, qr/GCTGGG/ix ],
'methdcm' => 'indifferent',
'class' => 'IIA',
'classex' => qr/\A \w+ \(([\-]*\d+) \/ ([\-]*\d+)\)\Z /x,
'_root_verbose' => 0,
'type' => '5\'',
'cutseq' => 'CCCAGC(-5/-1)',
'outside_cut' => -1,
'inside_cut' => -5,