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?