[Biopython] Support for Xdna, SnapGene and GCK formats

Damien Goutte-Gattat <[email protected]>
Newsgroups gmane.comp.python.bio.general
Message-ID <[email protected]>
Hi Biopython folks,

Last December I wrote to this mailing list [1] to present new parsers 
for potential addition to Biopython's SeqIO module. That mail may have 
gone unnoticed, so allow me to present those parsers again.

There were initially two parsers, one for the "Xdna" format (used by DNA 
Strider and Serial Cloner [2]) and one for the SnapGene format (used by, 
well, SnapGene [3]). Since then I added a third parser for the "GCK" 
format (used by Gene Construction Kit [4]).

Those parsers are for now available in a Python module called 
"incenp.binseqs". You can find the source code of that module on my 
forge [5], the module can also be installed through PyPI (`pip install 
incenp.binseqs`).

If you want to test them, after installing the module all have you to do 
is load the `incenp.bio.seqio` package after loading Biopython's SeqIO, 
then you may use SeqIO's standard API:

  from Bio import SeqIO
  import incenp.bio.seqio

  xdna_record = SeqIO.read('serialcloner_file.xdna', 'xdna')
  snap_record = SeqIO.read('snapgene_file.dna', 'snapgene')
  gck_record  = SeqIO.read('gck_file.gck', 'gck')

I wrote the SnapGene parser using a (partial) specification from the 
editor; I had no such specifications for the Xdna and GCK formats, so I 
wrote the corresponding parsers after reverse-engineering some sample 
files I had. Obviously I can make no guarantees about their correctness.

I would like to propose those parsers for inclusion into Biopython.  
There seems to be an interest [6], so I plan to change the namespace 
from my own `incenp.bio.seqio` to Biopython's `Bio.SeqIO`, update the 
license to match the current Biopython's licensing terms, and then 
prepare a pull request against the latest code base.

Any comment, suggestion, criticism on that proposal is welcome.

Regards,

- Damien

[1] 
https://lists.open-bio.org/pipermail/biopython/2018-December/016574.html

[2] http://serialbasics.free.fr/Serial_Cloner.html

[3] https://www.snapgene.com/

[4] http://www.textco.com/gene-construction-kit.php

[5] https://git.incenp.org/damien/binseqs

[6] https://twitter.com/pjacock/status/1155932488813797378

_______________________________________________
Biopython mailing list  -  [email protected]
https://mailman.open-bio.org/mailman/listinfo/biopython
signature.asc (application/pgp-signature, 228 B)
-----BEGIN PGP SIGNATURE-----

iHUEABYIAB0WIQSAzBuNBMJi3f7hmAxvfw+R0Tj8ewUCXUBzKgAKCRBvfw+R0Tj8
e2o+AQCdT/cl9IJ9GYJW0wib34ppz82YnvauB7llFTvhuY7wdwD9E+U/J/+fZw5P
Xdvgqj5iHI3oIC7ZScxu7r1oU/cdQgk=
=vWK3
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.