How to concatenate FASTA sequences using Perl?

Dr. Muniba Faiza
1 Min Read

Here is a simple Perl script to concatenate multiline FASTA sequences into a single line. A similar Perl script has been provided in one of the previous articles (A Perl script to convert multiline FASTA sequences into a single line). That script is useful for the FASTA files consisting of sequences split into a particular number of residues per line. The script provided in this article can also be used for large files consisting of multiple FASTA sequences split into the indefinite number of residues per line.

Let’s name the multiline FASTA input file as “input.fa”.

#!/usr/bin/perl -w
use strict;

my $input_fasta="input.fa";
open(FILE,"<$input_fasta") || die ("Error opening $input_fasta $!"); 
my $line = ; 
print $line; 
while ($line = ) 
{ chomp $line; 
  if ($line=~m/^>;(.*)/) 
       { print "\n",$line,"\n"; }
  else { print $line; }
}

print "\n";
exit;

 

Share This Article
Dr. Muniba is a Bioinformatician based in New Delhi, India. She has completed her PhD in Bioinformatics from South China University of Technology, Guangzhou, China. She has cutting edge knowledge of bioinformatics tools, algorithms, and drug designing. When she is not reading she is found enjoying with the family. Know more about Muniba
Leave a Comment

Leave a Reply