I have the following mwe for filtering a Swissprot file based on a certain feature, in this case, transmembrane regions.
from Bio import SeqIO
records=[]
for record in SeqIO.parse("Input.txt", "swiss"):
transmembrane_protein=False
print record.id
for i, feature in enumerate(record.features):
if feature.type == "TRANSMEM":
transmembrane_protein=True
if transmembrane_protein==True:
records.append(record)
SeqIO.write(records, "Output.txt", "swiss")
The script works when SeqIO.write(records, "Output.txt", "swiss")
becomes SeqIO.write(records, "Output.txt", "fasta")
However, such a method is not yet supported.
ValueError: Reading format 'swiss' is supported, but not writing
From the docs, I see that writing is not supported for swiss:
Note that while Bio.SeqIO can read all the above file formats, it cannot write to all of them.
Is there any unofficial way of using biopython/python to write swissprot files from parsed swissprot files?