úÎ!(½%ù.      !"#$%&'()*+,-None"#%&'-.27=>?@ADHMSVX_`kû  BiobaseFastaControl structure for . BiobaseFasta-the collected header parts (in reverse order) BiobaseFastaaccumulated header length BiobaseFasta/the (size-truncated) header for this fasta file BiobaseFasta5overlap (if any) from earlier parts of the fasta file BiobaseFasta*collection of dataParts, in reverse order!  BiobaseFastaLtotal length of data parts, simplifies checking if enough data was collected  BiobaseFasta#count how many entries we have seen BiobaseFasta3lens into the unique id / first word of the header. BiobaseFastaYFully stream a fasta file, making sure to never exceed a constant amount of memory. The go function yields values of type a( down the line for continued streaming. ©r4 = toList . streamingFasta (HeaderSize 2) (OverlapSize 1) (CurrentSize 2) go . S8.fromStrict $ BS.pack t0 where go (Header h) (Overlap o) (Current c) = yield (h,o,c)  BiobaseFasta+Maximal length of the header. Ok to set to 20 0005, only guards against an extremely long header line. BiobaseFastaœHow much of the current size to carry over to the next step. Even if set larger than current size, it will only be at most current size. (But see todo at overlappedFasta) BiobaseFasta(The size of each window to be processed. BiobaseFasta&A streaming bytestring of Fasta files. BiobaseFastaThe outgoing stream of Current windows being processed.    None"#%&'-.27=>?@ADHMSVX_`k%… BiobaseFasta A *strict* Fasta entry.% BiobaseFasta1If you don't want to deal with the phantom types.( BiobaseFasta Render a  entry to a .. Will end with a final n in any case.) BiobaseFasta Render a  entry to a Builder. Will end with a final n in any case.* BiobaseFastaTry to parse a . as a , failing with /, succees with 0.+ BiobaseFastaTry to parse a . as multiple _ entries. Even though this is using the underlying streaming interface, this is not streaming., BiobaseFastaA lens that goes from a 1 to a .- BiobaseFastaA prism from a . to a Y. Note that this will only be an identity if the underlying fasta file is rendered with k characters per line.%&'()*+,-%&'()*+,-2      !"#$%&'()*+,-./01231245678+BiobaseFasta-0.3.0.0-HIBNGtakS1j401lJ1LmiCGBiobase.Fasta.StrictBiobase.Fasta.Streaming1string-conversions-0.4.0.1-LtuUK6ZkUgfAmoIrlRp9AZData.String.Conversions convertString FindHeader HasHeader headerParts headerLengthfhHeader dataOverlap dataParts dataLengthentries CurrentSize OverlapSize HeaderSizefastaUidstreamingFasta$fEqHeaderSize$fOrdHeaderSize$fShowHeaderSize$fEqOverlapSize$fOrdOverlapSize$fShowOverlapSize$fEqCurrentSize$fOrdCurrentSize$fShowCurrentSizeFasta_header_fasta $fEqFasta $fOrdFasta $fReadFasta $fShowFasta$fGenericFasta FastaUntypedfastaheaderfastaToByteStringfastaToBuilderbyteStringToFastabyteStringToMultiFasta windowedFastarawFastabytestring-0.10.8.2Data.ByteString.Internal ByteStringbase Data.EitherLeftRight+BiobaseTypes-0.2.0.0-I16yhMsM66JLeHk27CPQMFBiobase.Types.BioSequenceBioSequenceWindow