|kh      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgNone <Bhijklmnopqrstuvwxyz{|}~     jhijklmnopqrstuvwxyz{|}     hijklmnopqrstuvwxyz{|}~     None&Input handle for an indexed fasta fileName of the fasta fileOpen an indexed fasta fileoFetch a region specified by sequence name and coordinates, or the empty string when the sequence is not found.  Sequence name%(Starting, ending) position, 0-based   None SAM/BAM format alignment )Target sequences from a SAM alignment set <Information about one target sequence in a SAM alignment set Target sequence name Target sequence lenghNumber of target sequences$Returns the list of target sequences9Returns a target sequence by ID, which is a 0-based index$Returns a target sequence name by ID   !        !None Cigar entry including lengthCigar entry typesDeletion from padded reference&Trimmed nucleotides, removed from read*Trimmed nucleotides, still present in read%Skipped reference bases, i.e., splice(Deletion from read relative to reference'Insertion in read relative to reference.Aligned nucleotide, may be a match or mismatch  Convert a BAM binary cigar integer to a "# !$" !" !""# !$"None M5#,Handle for writing SAM/BAM format alignments$&Target sequence set for the alignments%,Handle for reading SAM/BAM format alignments&&Target sequence set for the alignments%&# the requested auxiliary field, or ' when it is absent(&9 the reference target sequence ID in the target set, or ' for an unmapped read)& the target sequence name, or ' for an unmapped read*&- the total length of the target sequence, or ' for an unmapped read+&P the 0-based index of the leftmost aligned position on the target sequence, or ' for an unmapped read,Is the read paired-QIs the pair properly aligned (usually based on relative orientation and distance).Is the read unmapped/(Is the read paired and the mate unmapped0:Is the fragment's reverse complement aligned to the target1JIs the read paired and the mate's reverse complement aligned to the target23Is the fragment from the first read in the template34Is the fragment from the second read in the template4#Is the fragment alignment secondary5"Did the read fail quality controls6!Is the read a technical duplicate7"CIGAR description of the alignment8Name of the query sequence9&& the length of the query sequence, or ' when it is unavailable.:& the query sequence, or ' when it is unavailable;& the query qualities, or 'D when it is unavailable. These are returned in ASCII format, i.e., q + 33.<&D the target ID of the mate alignment target reference sequence, or '4 when the mate is unmapped or the read is unpaired.=&? the name of the mate alignment target reference sequence, or '3 when the mate is unmapped or the read is unpaired.>&A the length of the mate alignment target reference sequence, or '4 when the mate is unmapped or the read is unpaired.?`'Just the 0-based coordinate of the left-most position in the mate alignment on the target, or '4 when the read is unpaired or the mate is unmapped.@& the total insert length, or ' when the length is unavailable, e.g. because the read is unpaired or the mated read pair do not align in the proper relative orientation on the same strand.A&+ the requested integer auxiliary field, or ' when it is absentB&: the requested single-precision float auxiliary field, or ' when it is absentC&: the requested double-precision float auxiliary field, or ' when it is absentD&- the requested character auxiliary field, or ' when it is absentE&* the requested string auxiliary field, or ' when it is absentI&* the match descriptor alignment field, or ' when it is absentJ&' the number of reported alignments, or '' when this information is not present.K&/ the number of mismatches in the alignemnt, or '& when this information is not presentL&n the reference sequence location covered by the alignment. This includes nucleotide positions that are reported to be deleted in the read, but not skipped nucleotide position (typically intronic positions in a spliced alignment). If the reference location is unavailable, e.g. for an unmapped read or for a read with no CIGAR format alignment information, then '.M&) the reference sequence location (as per L#) on the target reference (as per ))N1Open a TAM (tab-delimited text) format file with @SQ& headers for the target sequence set.O@Open a TAM format file with a separate target sequence set indexPOpen a BAM (binary) format fileQ-Close a SAM/BAM format alignment input handleRTarget sequence set data is still available after the file input has been closed.RORun an IO action using a handle to a TAM format file that will be opened (see N) and closed for the action.SAs R1 with a separate target sequence index set (see O)TAs R for BAM (binary) format filesU5Reads one alignment from an input handle, or returns Nothing for end-of-fileV#Read a BAM file as a lazy strem of  records.WOpen a TAM format file with @SQ headers for writing alignmentsX-Open a BAM format file for writing alignmentsY Close an alignment output handle\(Writes one alignment to an input handle.{There is no validation that the target sequence set of the output handle matches the target sequence set of the alignment.L#()*$%+,-&%'()*+.,-./0123456789:;/<=>?@ABCDEFGH0IJKLM1NOP2QRSTUV3WXYZ[\45678F #$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\H ()*+,-./0123456789:;<=>?@KJIABCDE'FGHLM%&&NOPQRSTUV#$$WXYZ[\C#()*$%+,-&%'()*+.,-./0123456789:;/<=>?@ABCDEFGH0IJKLM1NOP2QRSTUV3WXYZ[\45678None_JHandle for fetching alignments by region from a sorted, indexed BAM file.`$Filename of sorted, indexed BAM fileaTarget sequencesb.Open a sorted, indexed BAM file. g Use a BAM index file to extract P records aligned to a specific target sequence (chromosome) number and region.]9^:_;`<abc=de>fg ]^_`abcdefg_`a`abcd]^^efg ]9^:_;`<abc=de>fg?      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde  fghijklmnopqrstuuvwwxyz{|}~      !"#$%#$&('()*+,-./012345a6c789:samtools-0.2.4Bio.SamTools.FaIdxBio.SamTools.BamBio.SamTools.CigarBio.SamTools.BamIndexBio.SamTools.LowLevelBio.SamTools.InternalInHandlefilenameopenclosewithFastaIndexfetchfetchLocreadLocBam1Header HeaderSeqnamelennTargets targetSeqList targetSeq targetSeqName targetSeqLen lookupTargetCigarcigarlength CigarTypePadHardClipSoftClipRefSkipDelInsMatchtoCigar cigarToSpLoccigarToAlignment OutHandle outHeaderinHeaderauxGettargetID targetName targetLenpositionisPaired isProperPairisUnmap isMateUnmap isReverse isMateReverseisRead1isRead2 isSecondaryisQCFailisDupcigars queryName queryLengthquerySeq queryQual mateTargetIDmateTargetName mateTargetLen matePosition insertSizeauxGetiauxGetfauxGetdauxGetAauxGetZaddAuxAaddAuxiaddAuxZ matchDescnHits nMismatchrefSpLoc refSeqLoc openTamInFileopenTamInFileWithIndex openBamInFile closeInHandle withTamInFilewithTamInFileWithIndex withBamInFileget1readBamsopenTamOutFileopenBamOutFilecloseOutHandlewithTamOutFilewithBamOutFileput1QueryqyHandle IdxHandle idxFilename idxHeader withIndexquerynext readBamRegionFaIdxPtrFaIdxInt SamFilePtr SamFileInt BamIterPtr BamIterInt BamFetchFPtr BamIndexPtr BamIndexIntBam1PtrBam1IntBamCigar unBamCigarBamFlag unBamFlag BamHeaderPtr BamHeaderInt BamFilePtr BamFileInt TamFilePtr TamFileInt faiFetchSeq'_ faiDestroy'_ faiLoad'_ sbamWrite'_ sbamRead'_ sbamClose'_ sbamOpen'_bamIterDestroy'_ bamIterRead'_bamIterQuery'_ bamFetch'_bamIndexDestroy'_bamIndexLoad'_bamAuxAppend'_ bamFormat1'_ bamDup1'_ bamDestroy1'_ bamInit1'_ bamAux2A'_ bamAux2d'_ bamAux2f'_ bamAux2i'_ bamAux2Z'_ bamAuxGet'_ bamWrite1'_ bamRead1'_bamInitHeaderHash'_bamHeaderWrite'_bamHeaderRead'_bamHeaderDestroy'_bamHeaderInit'_ bamGetTid'_samHeaderRead'_samHeaderRead2'_ samRead1'_ samClose'_ samOpen'_ bam1Seqi'_ bam1Qual'_ bam1Seq'_ bam1QName'_ bam1Cigar'_ bam1MStrand'_ bam1Strand'_bam_cigar_length bam_cigar_opbam_cpadbam_chard_clipbam_csoft_clip bam_cref_skipbam_cdelbam_cins bam_cmatchbam_fdup bam_fqcfailbam_fsecondary bam_fread2 bam_fread1 bam_fmreverse bam_freverse bam_fmunmap bam_funmapbam_fproper_pair bam_fpaired bamClose'_ bamOpen'_mkBamFetchFPtrbamDestroy1PtrbamHeaderDestroyPtrbamOpenbamClose getNTargets setNTargets getTargetName setTargetName getTargetLen setTargetLen flagPairedflagProperPair flagUnmap flagMUnmap flagReverse flagMReverse flagRead1 flagRead2 flagSecondary flagQCFailflagDup cigarMatchcigarInscigarDel cigarRefSkip cigarSoftClip cigarHardClipcigarPadcigarOp cigarLengthgetTIDgetPosgetFlag getNCigargetLQSeqgetMTIDgetMPosgetISize bam1Strand bam1MStrand bam1Cigar bam1QNamebam1Seqbam1Qualbam1SeqisamOpensamClosesamRead1samHeaderRead2 samHeaderRead bamGetTid bamHeaderInitbamHeaderDestroy bamHeaderReadbamHeaderWritebamInitHeaderHashbamRead1 bamWrite1 bamAuxGetbamAux2ZbamAux2ibamAux2fbamAux2dbamAux2AbamInit1 bamDestroy1bamDup1 bamFormat1 bamAuxAppend bamIndexLoadbamIndexDestroybamFetch bamIterQuery bamIterReadbamIterDestroy getSbamHeadersbamOpen sbamClosesbamRead sbamWritefaiLoad faiDestroy faiFetchSeq packCString useAsCStringfaidx finalizeFaIdx fetchContigptrBam1headerunHeader newHeader $fShowBam1 cigarTypes toCigarTypemergeAdjAuxGetbase Data.MaybeJustNothing outFilenameoutfile inFilenamesamfile isFlagSet seqiToCharaddAux newInHandlefinalizeSamFile newOutHandle$fAuxGetByteString $fAuxGetChar$fAuxGetDouble $fAuxGetFloat $fAuxGetIntiterbamindexfinalizeBamIndexfinalizeBamIter