#!/usr/bin/perl use strict; use subs ; use File::Basename; use Data::Dumper; my %parameters = getParams(); my @versions = split(/,/,$parameters{versions}); my @species = split(/,/,$parameters{species}); open (ATX_FILE, $parameters{file}); my $i=0; my $seq; while () { next if ($_ =~ m/(^[^\d])/); chomp; my @elements = split (/ +/,$_); print "1 $species[0] $parameters{file} $versions[0] $elements[1] $elements[2] $elements[3] + "; print "$species[1] $parameters{file} $versions[1] $elements[4] $elements[5] $elements[6] $elements[7]\n"; $_ = ; $seq = maskRepetiveSequence($_); print $seq; $_ = ; $seq = maskRepetiveSequence($_); print $seq; print "\n"; } #print $parameters{files}[0] ."\n"; sub maskRepetiveSequence { my $seq = shift; $seq =~ tr/atgc/NNNN/; return $seq; } sub getParams { my %opts; my $errstr = ""; my @species; my @versions; my @files; use Getopt::Long; GetOptions(\%opts, 'species=s','versions=s','file=s'); @species = split(/,/,$opts{species}); @versions = split(/,/,$opts{versions}); if ( ! -e $opts{file} ) { $errstr .= "ERROR : File doesn't exist.\n"; } if ((@species != 2) || (@versions != 2)) { $errstr .= "ERROR : All parameters don't have equal number of values\n"; } if ($errstr) { print <<"END_USAGE"; Usage: convert_axt.pl [options] Options: -file Fasta File to index -species ,... Print debug messages to log file (Default: fasta_index.log) -versions ,... Version of the sequence END_USAGE print "\n$errstr" if ($errstr); die("\n"); } return ( file => $opts{file} , species => $opts{species}, versions => $opts{versions}); }