This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Working With Alphabet Soup

Biopython noob here, I'm trying to create a program that uses the Biopython package Alphabet and alphabet module IUPAC to write out the letters of the classes listed to a file called alphabetSoupOuput.txt.

ThreeLetterProtein
IUPACProtein

Each group of letters should be written to its single line in the output file and the letters should be separated by commas. The line before each group of letters should contain a label that describes the letters and has a # in the first position of that line, e.g.

Three Letter Protein
Ala, Asx, Cys, ..., Glx

Protein Letters
A, C, D, E, ..., Y

How can I do this?

biopython python

lul. a hint at least? how exactly do I call the 'letters' from each class?

Can you clarify the question? Perhaps with a small example: What is the input? What is the desired output?

Im trying to use the Alphabet package and IUPAC module to write out the letters of each class. Im not sure how to call the letters?

1 answer

The data that you are looking for are stored as attributes of the various modules:

http://biopython.org/DIST/docs/api/Bio.Alphabet.IUPAC-module.html

or:

http://biopython.org/DIST/docs/api/Bio.Alphabet.ThreeLetterProtein-class.html

All you need is to access that attribute string or list and print out what you need like so:

from Bio.Alphabet import ThreeLetterProtein
print ",".join(ThreeLetterProtein.letters)

will produce:

Ala,Asx,Cys,Asp,Glu,Phe,Gly,His,Ile,Lys,Leu,Met,Asn,Pro,Gln,Arg,Ser,Thr,Sec,Val,Trp,Xaa,Tyr,Glx

Log in to answer this question.