This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Downloading fasta sequence for a PDB entry

I would like to know if it is possible to download the sequence FASTA of a pdb file using biopython

genome biopython

2 answers

Kind of a hacky solution (since it downloads the PDB first technically) but here's something you can use as a one-liner:

$ wget -O - https://files.rcsb.org/download/1A80.pdb 2>/dev/null \
   | python -c "import sys; from Bio import SeqIO; SeqIO.convert(sys.stdin, 'pdb-atom', sys.stdout, 'fasta')"
>1A80:A
TVPSIVLNDGNSIPQLGYGVFKVPPADTQRAVEEALEVGYRHIDTAAIYGNEEGVGAAIA
ASGIARDDLFITTKLWNDRHDGDEPAAAIAESLAKLALDQVDLYLVHWPTPAADNYVHAW
EKMIELRAAGLTRSIGVSNHLVPHLERIVAATGVVPAVNQIELHPAYQQREITDWAAAHD
VKIESWGPLGQGKYDLFGAEPVTAAAAAHGKTPAQAVLRWHLQKGFVVFPKSVRRERLEE
NLDVFDFDLTDTEIAAIDAMDPGDGSGRVSAHPDEVD

Just replace 1A80 in the wget link to whatever the PDB ID you're interested in is. BioPython doesn't have the ability to download the data inherently, so you need to pass it the file somehow. I've elected to do this in the shell, but you could also do this natively with python, but its more complicated (IMO).

If you want to save it as a file, stick a redirect to a file at the end of the command:

(previous command)... > pdbsequence.fa

Log in to answer this question.