#!/usr/bin/perl $ENV{CLUSTALDIR} = 'C:\Program Files (x86)\ClustalW2'; use warnings; use strict; use Bio::AlignIO; use Bio::SeqIO; use Bio::Tools::Run::Alignment::Clustalw; my $file = <>; # Get file name from command prompt. my $factory = Bio::Tools::Run::Alignment::Clustalw->new(-matrix => 'BLOSUM'); my $ktuple = 3; $factory->ktuple($ktuple); my $inseq = Bio::SeqIO->new( -file => "<$file", -format => "fasta" ); my $seq; my @seq_array; while ($seq = $inseq->next_seq) { push(@seq_array, $seq); } # Now we do the actual alignment. my $seq_array_ref = \@seq_array; my $aln = $factory->align($seq_array_ref);