#!usr/bin/perl use strict; use library; ### Only works for palindromic RE sites ### # read in DNA sequence. # my $filename = usrquery ("Please enter filename\n"); my @filedata = read_file_data ($filename); my $sequence = extract_sequence (@filedata); my $tag = extract_tag (@filedata); $sequence =~ tr/actg/ACTG/; # Create REBASE hash # my $REfile = 'REBASE'; my %rebase_hash = parseREBASE ($REfile); my $site = ''; my $regexp = ''; print "\nPlease enter filename for outfile.\n\n"; my $outputfile = ; chomp $outputfile; unless (open(OUTFILE, ">$outputfile")) {print "Cannot open file \"OUTFILE\" to write to"; exit;} print OUTFILE "$tag\n\n######################################\n\n"; do {print "\n\nPlease enter a RE name (CASE-SENSITIVE) or press spacebar (quit).\n\n"; my $query = ; chomp $query; if ($query =~ /^\s*$/) {exit;} else {if (exists $rebase_hash{$query}) {($site, $regexp) = split (" ", $rebase_hash{$query}); print OUTFILE "$query"; print "\n$site\n"; print OUTFILE "\n$site"; }else {print "\n$query not found in database.\n"; print OUTFILE "$query not found in database.\n"; exit;} } my @matches = match_positions ($regexp, $sequence); if (@matches) {print "\nSites found at positions: @matches."; print OUTFILE "\nSites found at positions: \n\n@matches.\n\n######################################\n\n"; }else {print "\nNo sites found."; print OUTFILE "\nNo sites found.\n\n######################################\n\n"; } } until (my $query =~ /quit/ ); close (OUTFILE); exit;