Some common awk bash commands to modify multi-FASTA files

/
2 mins read
awk commands for multi-FASTA files

Some basic operations on multi-FASTA sequence files is a tedious task without using bioinformatics programming. It helps in modifying FASTA sequences or their headers such as removal, addition, or substitution of certain characters in the header, or manipulating the sequence format, and so on. In such cases, shell bash commands provide an easy way to perform such tasks on FASTA sequences.

Here are some simple ‘awk’ commands to manipulate FASTA headers in multi-fasta files.

1. Convert all lowercase residues to uppercase in a FASTA sequence file

$ awk 'BEGIN{FS=" "}{if(!/>/){print toupper($0)}else{print $1}}' input.fasta > output.fasta

2. Rearrange FASTA sequences according to their length

$ awk '/^>/ {printf("%s%s\t",(N>0?"\n":""), $0);N++;next;} {printf("%s",$0);} END {printf("\n");}' input.fasta |\
>awk -F '\t' '{printf("%d\t%s\n",length($2),$0;)}' |\
>sort -k1,1n | cut -f 2- |tr "\t" "\n" > output.fasta

3. Add ‘>’ at the beginning of headers in a FASTA file

$ awk '{if ($0 ~/_/) {printf ">";} print $0; }' input.fasta > output.fasta

4. Match FASTA headers in two different multi-FASTA files

$ awk 'NR=FNR{a[$0];next}$0 in a{print $0}' input1.fasta input2.fasta

5. Merge all FASTA files in a directory into a single FASTA file

$ awk '1' *.fasta > all .fasta

OR

$ awk'1' *.fa > all.fa

These are some common operations that are performed on multi-FASTA files using awk. Visit the following articles for other operations on multi-FASTA files using bash commands:

Muniba is a Bioinformatician based in the South China University of Technology. 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 Reply

RNAIndel-predict somatic indels in tumor rna-seq
Previous Story

RNAIndel: A tool to identify somatic indels from tumor RNA-seq data

How to start with Bioinformatics
Next Story

Bioinformatics- Where & How to Start?

Latest from Bioinformatics Programming

0 $0.00