Connect with us

Bioinformatics Programming

Some common awk bash commands to modify multi-FASTA files

Dr. Muniba Faiza

Published

on

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:

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

Bioinformatics Programming

sminalog_analysis.py – A new Python script to fetch top binding affinities from SMINA log file

Dr. Muniba Faiza

Published

on

sminalog_analysis.py – A new Python script to fetch top binding affinities from SMINA log file

In one of our previous posts, we provided a Python script for the virtual screening analysis of Autodock Vina. This script analyzes all log files obtained from docking of multiple ligands to a receptor and provides the binding affinities for top poses from each file. In this article, we are publishing a new Python script for the virtual screening analysis of SMINA [1]. (more…)

Continue Reading

Bioinformatics Programming

Installing Pycharm on Ubuntu (Linux)

Tariq Abdullah

Published

on

Installing pycharm on Ubuntu

Pycharm [1] is an integrated development environment (IDE) for developers. It combines Python developer tools and provides an easy graphical user interface. In this article, we are going to install Pycharm on Ubuntu. (more…)

Continue Reading

Algorithms

vs_Analysis.py: A Python Script to Analyze Virtual Screening Results of Autodock Vina

Dr. Muniba Faiza

Published

on

VS-Analysis: A Python Script to Analyze Virtual Screening Results of Autodock Vina

The output files obtained as a result of virtual screening (VS) using Autodock Vina may be large in number. It is difficult or quite impossible to analyze them manually. Therefore, we are providing a Python script to fetch top results (i.e., compounds showing low binding affinities). (more…)

Continue Reading

LATEST ISSUE

ADVERT