#!usr/bin/perl ### Script reads in sequence file, formats sequence and creates # formatted output file, with subset of sequence defined by user. use strict; use library; my $filename = usrquery ("Please enter filename"); my @filedata = read_file_data ($filename); my $tag = extract_tag (@filedata); my $sequence = extract_sequence (@filedata); $sequence =~ tr/actg/ACTG/; composition ($sequence); #start loop do { my $pos1; my $pos2; my $start = usrquery ("Please enter start position (or space to quit)"); if ($start =~ /^\s*$/) {exit;} my $stop = usrquery ("Please enter stop position"); if ($start > $stop) {$pos1 = $stop; $pos2 = $start; } else {$pos1 = $start; $pos2 = $stop; } my $length = abs ($pos2 - $pos1); my $sub_sequence = substr ($sequence, ($pos1-1), $length); my $outputfile = usrquery ("Please enter output filename"); unless (open(OUTFILE, ">$outputfile")) {print "Cannot open file \"OUTFILE\" to write to"; exit;} print OUTFILE "$tag, positions $pos1 to $pos2.\n"; print OUTFILE $sub_sequence; close OUTFILE; #close loop } until (my $start =~ /quit/ ); exit;