#!/usr/bin/perl
use strict;
use warnings;
use Bio::SeqIO;
my %sequences;
my $seqio = Bio::SeqIO->new(-file => $ARGV[0]);
my $enz = $ARGV[1];
while(my $seqobj = $seqio->next_seq) {
my $id = $seqobj->display_id;
my $seq = $seqobj->seq;
$sequences{$id} = $seq;
}
my @fragments;
for my $value (values %sequences) {
@fragments = split(/$enz/, $value);
}
my $Lfill = "TT";
my $Rfill = "AA";
my $ID = 0;
my %bins;
foreach my $RF (@fragments) {
$ID++;
$RF = $Lfill.$RF.$Rfill;
$bins{$ID."F"} = $RF;
(my $rev = $RF) =~ tr/ACGT/TGCA/;
$bins{$ID."R"} = reverse($rev);
}
####
>example
AAGTAGCATCGATTTATAGCATCGACTAGTAAGCTTAGCTACGATCAGCTACGATCGAGCGACTACGTAGC
####
1F => TTAAGTAGCATCGATTTATAGCATCGACTAGTAA
1R => TTACTAGTCGATGCTATAAATCGATGCTACTTAA
2F => TTAGCTACGATCAGCTACGATCGAGCGACTACGTAGCAA
2R => TTGCTACGTAGTCGCTCGATCGTAGCTGATCGTAGCTAA
####
1F2F => TTAAGTAGCATCGATTTATAGCATCGACTAGTAATTAGCTACGATCAGCTACGATCGAGCGACTACGTAGCAA
1F2R => TTAAGTAGCATCGATTTATAGCATCGACTAGTAATTGCTACGTAGTCGCTCGATCGTAGCTGATCGTAGCTAA
1R2F => TTACTAGTCGATGCTATAAATCGATGCTACTTAATTAGCTACGATCAGCTACGATCGAGCGACTACGTAGCAA
1R2R => TTACTAGTCGATGCTATAAATCGATGCTACTTAATTGCTACGTAGTCGCTCGATCGTAGCTGATCGTAGCTAA