酶切位点分析(the analysis of enzyme sites)

时间:2022-03-13 12:21:15

转自 http://www.yelinsky.com/blog/archives/278.html

稍有修改

默认位点为“CCGG”。其他位点分析可修改脚本中的 my $site = ‘CCGG';和 my $n = 2;

#!/usr/bin/perl -w

use strict;
use Getopt::Long;
use Bio::SeqIO; my %opts; GetOptions(\%opts, "i=s", "o=s"); if (!(defined $opts{i} and defined $opts{o})){
print "\n";
&usage;
} my $input_file = $opts{'i'};
my $output_file = $opts{'o'};
my $site = 'CCGG';
my $n = 2; my $db = Bio::SeqIO->new(-format => 'fasta', -file => $input_file); unless ( open(RESULT, ">$output_file") ) {
print "Cannot open \"$output_file\" to write to!!\n\n";
exit;
} while ( my $seq = $db->next_seq) {
my $str = $seq->seq;
if ( $str =~ /$site/ ) {
#print RESULT index ($str, $site, 0)+$n, "\n";
print RESULT $seq->id, " -> ", index ($str, $site, 0)+$n,"\n";
}
} close(RESULT); sub usage {
print <<"USAGE";
Usage:
$0 -i <input_file> -o <output_file>
options:
-i input fasta sequence file
-o output file name
USAGE
print "\n";
exit(1);
}