Re: [Biopython] A possibility for speeding up FASTA/FASTQ reading in BioPython

Peter Cock <[email protected]> Mon, 24 Nov 2025 09:41:06 +0000
Newsgroups gmane.comp.python.bio.general
Message-ID <CAKVJ-_73mMsr4Q8twvrG+x_fAMtsFpwT_bGCYDO3se51gmxCLA@mail.gmail.com>
SGVsbG8gVGVycnksCgpJIGp1c3QgcG9zdGVkIGEgYmxvZyBhYm91dCBteSB0aG91Z2h0cyBvbiBy
ZWNlaXZpbmcgZ2VuZXJhdGl2ZSBBSQpjb250cmlidXRpb25zIGFzIGFuIE9wZW4gU291cmNlIHBy
b2plY3QgbWFpbnRhaW5lcjoKCmh0dHBzOi8vYmxhc3RlZGJpby5ibG9nc3BvdC5jb20vMjAyNS8x
MS90aG91Z2h0cy1vbi1nZW5lcmF0aXZlLWFpLWNvbnRyaWJ1dGlvbnMuaHRtbAoKSSBhbSBzY2Vw
dGljYWwsIGFuZCBpbiB0aGlzIGNhc2UgYWRkaW5nIGEgUnVzdCBkZXBlbmRlbmN5IHRvIEJpb3B5
dGhvbgpzZWVtcyB0b28gbXVjaCB0byBhc2suIEkgdGhpbmsgeW91IGNvdWxkIGdldCBzaW1pbGFy
IHBlcmZvcm1hbmNlIGdhaW5zCndpdGggQyAod2hpY2ggd2UgZG8gdXNlKSB3aGVyZSBhdCBsZWFz
dCB0aGUgbWFpbnRhaW5lcnMgaGF2ZSBzb21lCmV4cGVyaWVuY2UuIEhvd2V2ZXIsIGV2ZW4gdGhl
cmUsIGdhaW5zIG1heSBub3QgbWFrZSB0aGUgYWRkaXRpb25hbApjb21wbGV4aXR5IGFuZCBtYWlu
dGVuYW5jZSBidXJkZW4gd29ydGh3aGlsZS4KClRoYW5rIHlvdSBmb3Igd3JpdHRpbmcgYW5kIGFz
a2luZywgcmF0aGVyIHRoYW4gc3VwcmlzaW5nIGV2ZXJ5b25lIHdpdGgKYSBsYXJnZSBwdWxsIHJl
cXVlc3QuCgpQZXRlcgoKUC5TLiBDcm9zcyByZWZlcmVuY2UgaHR0cHM6Ly9naXRodWIuY29tL2Jp
b3B5dGhvbi9iaW9weXRob24vcHVsbC81MDg1CgpPbiBUdWUsIE5vdiAxMSwgMjAyNSBhdCAxMDow
MOKAr1BNIEpvbmVzIEtlbGx5LCBUZXJlbmNlIENhcmxldG9uCjx0ZXJlbmNlLmpvbmVzQGNoYXJp
dGUuZGU+IHdyb3RlOgo+Cj4gSGkgYWxsCj4KPiBJIHJlZ3VsYXJseSBwcm9jZXNzIHJlYXNvbmFi
bHkgbGFyZ2UgRkFTVFEgKGh1bmRyZWRzIG9mIGJpbGxpb25zIG9mIHNlcXVlbmNpbmcgcmVhZHMp
IGFuZCBGQVNUQSBmaWxlcyB1c2luZyBCaW9QeXRob24uIEZvciBzb21lIHllYXJzIEkndmUgYmVl
biBtZWFuaW5nIHRvIGltcGxlbWVudCBhIEZBU1RRL0ZBU1RBIHJlYWRlciBpbiBhIGNvbXBpbGVk
IGxhbmd1YWdlIGFuZCBhZGQgUHl0aG9uIGJpbmRpbmdzIHRvIGltcHJvdmUgdGhlIHNwZWVkLiBJ
IGNvdWxkJ3ZlIGRvbmUgdGhpcyBpbiBDIGJ1dCBJIHNwZW50IHNvbWUgZGVjYWRlcyB3cml0aW5n
IEMgYW5kIEkgd2FudGVkIHRvIGxlYXJuIHNvbWV0aGluZyBuZXcsIHNvIEkgY29uc2lkZXJlZCBh
IGZldyBsYW5ndWFnZXMuIEJlY2F1c2UgUnVzdCBtYWtlcyBpdCB2ZXJ5IGVhc3kgdG8gY3JlYXRl
IFB5dGhvbiBiaW5kaW5ncywgSSBkZWNpZGVkIHRvIGdpdmUgaXQgYSB0cnkuIEkgdGhvdWdodCBJ
J2QgZ2V0IGdvaW5nIGJ5IGFza2luZyB0aGUgQ2xhdWRlIENMSSB0byB3cml0ZSBtZSBzb21lIFJ1
c3QuIFRoYXQgdHVybmVkIG91dCB0byBiZSBhIG11Y2gsIG11Y2ggYmV0dGVyIGV4cGVyaWVuY2Ug
dGhhbiBJIGhhZCBhbnRpY2lwYXRlZC4gV2l0aCBDbGF1ZGUgSSBwbGF5ZWQgd2l0aCBzZXZlcmFs
IGltcGxlbWVudGF0aW9ucywga2VlcGluZyB0cmFjayBvZiB0aW1pbmcuIENsYXVkZSBhbHNvIHdy
b3RlIHNvbWUgdGVzdHMuIFRvIGNvbXBhcmUgd2hhdCBJIHdhcyBzZWVpbmcgSSBnb3QgQ2xhdWRl
IHRvIHdyaXRlIGEgcHVyZSBQeXRob24gdmVyc2lvbiwgYSBwdXJlIEMgdmVyc2lvbiwgUHl0aG9u
IGJpbmRpbmdzIHRvIHRoZSBDLCBhbmQgdG8gY3JlYXRlIGEgYmVuY2htYXJrIHN1aXRlLiBGcm9t
IHdoYXQgSSBjYW4gdGVsbCwgdGhlIFJ1c3QvUHl0aG9uIChhbmQgdGhlIEMvUHl0aG9uKSBGQVNU
QSByZWFkaW5nIGlzIHR3aWNlIGFzIGZhc3QgYXMgQmlvUHl0aG9uIGFuZCBGQVNUUSByZWFkaW5n
IGlzIGZvdXIgdGltZXMgYXMgZmFzdC4gSSBkaWRuJ3Qgd3JpdGUgYSBzaW5nbGUgbGluZSBvZiBj
b2RlLiBJIGp1c3QgZGlkIHNvbWUgbWluaW1hbCBjbGVhbmluZyB1cCB3aGVuIHRoaW5ncyB3ZXJl
IGFscmVhZHkgZmFyIGFsb25nLiBJJ3ZlIGJlZW4gdXNpbmcgdGhlIGNvZGUgZm9yIHRoZSBsYXN0
IG1vbnRoIG9yIHR3byB3aXRoIG5vIHByb2JsZW1zLgo+Cj4gVGhlIHJlcG8gaXMgYXQgaHR0cHM6
Ly9naXRodWIuY29tL1Zpcm9sb2d5Q2hhcml0ZS9wcnNlcSAgKHByc2VxID0gUHl0aG9uL1J1c3Qg
Zm9yIHNlcXVlbmNlcykuIFlvdSdsbCBmaW5kIHRoZSBiZW5jaG1hcmsgcmVzdWx0cyBvbiB0aGF0
IHBhZ2UuICBUaGVyZSBhcmUgc3RpbGwgc29tZSBzbWFsbCB0aGluZ3MgSSB3b3VsZCBhZGp1c3Qg
aW4gdGhlIEFQSS4gIEJUVywgQ2xhdWRlIGFsc28gd3JvdGUgdGhlIFJFQURNRSAod2hpY2ggc2hv
dWxkIGRlZmluaXRlbHkgYmUgaW1wcm92ZWQpLgo+Cj4gSSBhbSB3b25kZXJpbmcgaWYgdGhlcmUg
bWlnaHQgYmUgaW50ZXJlc3QgaW4gaW5jb3Jwb3JhdGluZyB0aGlzIGludG8gQmlvUHl0aG9uLiBJ
IGRvbid0IGtub3cgaWYgdGhlcmUgYXJlIGFueSBSdXN0IGRlcGVuZGVuY2llcyBpbiBCaW9QeXRo
b24gYnV0IEkga25vdyB0aGF0IHRoZXJlIGFyZSBzb21lIEMgZXh0ZW5zaW9ucy4gV2UgY291bGQg
dXNlIGVpdGhlciwgYXMgdGhlaXIgc3BlZWRzIGFyZSBjb21wYXJhYmxlLiBJZiB0aGVyZSdzIGlu
dGVyZXN0LCBJJ2QgYmUgaGFwcHkgdG8gaGVscCAob3IgdG8gZG8gaXQgYWxsLCBhZnRlciBzb21l
IGRpc2N1c3Npb24gYW5kIG1heWJlIHdpdGggc29tZSBndWlkYW5jZSkuCj4KPiBUaGFua3MgdmVy
eSBtdWNoIGZvciBhbGwgdGhlIHdvcmsgb24gQmlvUHl0aG9uLiBJdCdzIHJlYWxseSBiZWVuIGEg
cGxlYXN1cmUgdG8gdXNlIHRoZSBjb2RlIG92ZXIgdGhlIGxhc3QgZG96ZW4geWVhcnMgb3Igc28u
Cj4KPiBUZXJyeSBKb25lcwo+Cj4KPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwo+IEJpb3B5dGhvbiBtYWlsaW5nIGxpc3QgIC0gIEJpb3B5dGhvbkBiaW9w
eXRob24ub3JnCj4gaHR0cHM6Ly9tYWlsbWFuLm9wZW4tYmlvLm9yZy9tYWlsbWFuL2xpc3RpbmZv
L2Jpb3B5dGhvbgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpCaW9weXRob24gbWFpbGluZyBsaXN0ICAtICBCaW9weXRob25AYmlvcHl0aG9uLm9yZwpodHRw
czovL21haWxtYW4ub3Blbi1iaW8ub3JnL21haWxtYW4vbGlzdGluZm8vYmlvcHl0aG9uCg==