This is a test version of Biostars. For the public version, visit https://www.biostars.org.
File format conversion to clustal using biopython

I am using biopython for converting my aligned sequence file from one format to another using "AlignIO.write" function. The thing I want to know is that,

  1. When I convert a sequence file given in phylip format to a file of clustal format, the resulted clustal file is of version CLUSTAL X (1.81) while I want an output in the form of CLUSTAL W / CLUSTAL 2.1 or so (higher version of clustal).
  2. The resulted clustal file does not include the line in the alignment with symbols ('*','.',':') for the amino acids in the sequence file.

This is the resulted file I am getting.

CLUSTAL X (1.81) multiple sequence alignment


Canis           REWSSARPERSKGRRKPVDAAAVSAVQTSQTSSDVAVSSSCRSMEMQDLTSPHSRLSGSS
Mus             -------------------------------------------MEMQDLTSPHSRLSGSS
Rattus          -------------------------------------------MEMQDLTSPHSRLSGSS

While this is the file format I want to get, including the symbols line indicating the similarity of the residues.

Canis           REWSSARPERSKGRRKPVDAAAVSAVQTSQTSSDVAVSSSCRSMEMQDLTSPHSRLSGSS
Mus             -------------------------------------------MEMQDLTSPHSRLSGSS
Rattus          -------------------------------------------MEMQDLTSPHSRLSGSS
                                                           *****************

Can I do this with biopython or I have to use some other method or function??

biopython

Hello mdsiddra,

could you please also provide an example of the phylip input file?

fin swimmer

Yes, This is how a phylip file look like:

14 327
Zebrafish  LELQGEESDL DFRLSLNGKE DLLDTGQSLS SCGVVSGDLI SVILPASLEE
Fugu       LELQGEEAET EISLSLNGSE PLEDTGQTLA SCGIVSGDLI RVALIRALMA
Chicken    LELEGAESDT EFSITLNGKD ALTEDEKTLA SYGIVPGDLI CLLLEEDLPP
Zebra      SMTEGNRSDT AFSVTLNRKD ALTEDQKTLA SYGIVSGDLI CLLLEEDLPP

           TQSSAAAHGG SHHVQEDQVD QQQECVDLQQ DDQQQQQEQV CAAAPPLLCC
           ADPDRADDGG GHAVAMNQVS QEAKLPDASG ADSDQAPGPA ASCWEPMLCS
           PSSSPPSLLT PKRQNEQVDS RAGSSLEFPS GPEDVDLEEG SYPSEPMLCS
           PPATPAPLLT PNGQNEQVDE RAGSSLEFPS GPEDADLEEG SYPSEPMLCS

I don't want it this way. As I am using python/biopython codes, so I wish to use some source code for this purpose.

What version of Biopython are you on?

Python 3.6 and biopython 1.72

1 answer

According to the documentation, BioPython does not yet support writing to Clustal 2 formats.

You can try scripting it yourself, or simply realign with clustal and output the format directly.

alright , thankyou for response.

In case anyone is looking to do this in a scripted manner, I too Joe's suggestion "You can try scripting it yourself" already and made it so the symbols get added to a Clustal alignment that lacks them. See the script calculate_cons_for_clustal_protein.py described here and includes links to a demonstration Jupyter notebook that can be run directly in your browser via MyBinder.

Log in to answer this question.