~\mw      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvNone CIwxyz{|}~      !"#$%&'kwxyz{|}~      !"#$%wxyz{|}~      !"#$%&'None SAM/BAM format alignment)Target sequences from a SAM alignment set<Information about one target sequence in a SAM alignment setTarget sequence name Target sequence lenghNumber of target sequences$Returns the list of target sequences 9Returns a target sequence by ID, which is a 0-based index $Returns a target sequence name by ID()*+, -()*+,  ()*+, -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. ./0 Sequence name%(Starting, ending) position, 0-based 1   ./01None Cigar entry including lengthCigar entry types.Aligned nucleotide, may be a match or mismatch'Insertion in read relative to reference(Deletion from read relative to reference%Skipped reference bases, i.e., splice*Trimmed nucleotides, still present in read&Trimmed nucleotides, removed from read Deletion from padded reference! Convert a BAM binary cigar integer to a  23!"4# !"# !"# 23!"4#None T6,,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 alignments56# the requested auxiliary field, or 7 when it is absent169 the reference target sequence ID in the target set, or 7 for an unmapped read26 the target sequence name, or 7 for an unmapped read36- the total length of the target sequence, or 7 for an unmapped read46P the 0-based index of the leftmost aligned position on the target sequence, or 7 for an unmapped read5Is the read paired6QIs the pair properly aligned (usually based on relative orientation and distance)7Is the read unmapped8(Is the read paired and the mate unmapped9:Is the fragment's reverse complement aligned to the target:JIs the read paired and the mate's reverse complement aligned to the target;3Is the fragment from the first read in the template<4Is the fragment from the second read in the template=#Is the fragment alignment secondary>"Did the read fail quality controls?!Is the read a technical duplicate@ Is the read a supplementary readA"CIGAR description of the alignmentBName of the query sequenceC6& the length of the query sequence, or 7 when it is unavailable.D6 the query sequence, or 7 when it is unavailableE6 the query qualities, or 7D when it is unavailable. These are returned in ASCII format, i.e., q + 33.F6D the target ID of the mate alignment target reference sequence, or 74 when the mate is unmapped or the read is unpaired.G6? the name of the mate alignment target reference sequence, or 73 when the mate is unmapped or the read is unpaired.H6A the length of the mate alignment target reference sequence, or 74 when the mate is unmapped or the read is unpaired.I`'Just the 0-based coordinate of the left-most position in the mate alignment on the target, or 74 when the read is unpaired or the mate is unmapped.J6 the total insert length, or 7 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.K6+ the requested integer auxiliary field, or 7 when it is absentL6: the requested single-precision float auxiliary field, or 7 when it is absentM6: the requested double-precision float auxiliary field, or 7 when it is absentN6- the requested character auxiliary field, or 7 when it is absentO6* the requested string auxiliary field, or 7 when it is absentS6* the match descriptor alignment field, or 7 when it is absentT6' the number of reported alignments, or 7' when this information is not present.U6/ the number of mismatches in the alignemnt, or 7& when this information is not presentV6n 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 7.W6) the reference sequence location (as per V#) on the target reference (as per 2)X1Open a TAM (tab-delimited text) format file with @SQ& headers for the target sequence set.Y@Open a TAM format file with a separate target sequence set indexZOpen a BAM (binary) format file[-Close a SAM/BAM format alignment input handleRTarget sequence set data is still available after the file input has been closed.\ORun an IO action using a handle to a TAM format file that will be opened (see X) and closed for the action.]As \1 with a separate target sequence index set (see Y)^As \ for BAM (binary) format files_5Reads one alignment from an input handle, or returns Nothing for end-of-file`#Read a BAM file as a lazy strem of  records.aOpen a TAM format file with @SQ headers for writing alignmentsb-Open a BAM format file for writing alignmentsc Close an alignment output handlef(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.M,89:-.;<=/501234>56789:;<=>?@ABCDE?FGHIJKLMNOPQR@STUVWAXYZB[\]^_`CabcdefghijkH ,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefK 123456789:;<=>?@ABCDEFGHIJUTSKLMNO0PQRVW.//XYZ[\]^_`,--abcdefD,89:-.;<=/501234>56789:;<=>?@ABCDE?FGHIJKLMNOPQR@STUVWAXYZB[\]^_`CabcdefghijkNonenJHandle for fetching alignments by region from a sorted, indexed BAM file.o$Filename of sorted, indexed BAM filepTarget sequencesq.Open a sorted, indexed BAM file. v Use a BAM index file to extract P records aligned to a specific target sequence (chromosome) number and region.lDmEnFoGpqrHstIuv lmnpoqrstuvnopopqrslmmtuv lDmEnFoGpqrHstIuvJ       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'( )*+,-./0123453461789:;<=>?@pArBCDE'samtools-0.2.4.2-Hf6ObkedDPF2ytTtiCvnbnBio.SamTools.BamBio.SamTools.FaIdxBio.SamTools.CigarBio.SamTools.BamIndexBio.SamTools.LowLevelBio.SamTools.InternalBam1headerHeader HeaderSeqnamelennTargets targetSeqList targetSeq targetSeqName targetSeqLen lookupTargetInHandlefilenameopenclosewithFastaIndexfetchfetchLocreadLocCigarcigarlength CigarTypeMatchInsDelRefSkipSoftClipHardClipPadtoCigar cigarToSpLoccigarToAlignment$fShowCigarType$fOrdCigarType $fEqCigarType$fEnumCigarType$fBoundedCigarType $fShowCigar $fOrdCigar $fEqCigar OutHandle outHeaderinHeaderauxGettargetID targetName targetLenpositionisPaired isProperPairisUnmap isMateUnmap isReverse isMateReverseisRead1isRead2 isSecondaryisQCFailisDupisSupplementarycigars queryName queryLengthquerySeq queryQual mateTargetIDmateTargetName mateTargetLen matePosition insertSizeauxGetiauxGetfauxGetdauxGetAauxGetZaddAuxAaddAuxiaddAuxZ matchDescnHits nMismatchrefSpLoc refSeqLoc openTamInFileopenTamInFileWithIndex openBamInFile closeInHandle withTamInFilewithTamInFileWithIndex withBamInFileget1readBamsopenTamOutFileopenBamOutFilecloseOutHandlewithTamOutFilewithBamOutFileput1$fAuxGetByteString $fAuxGetChar$fAuxGetDouble $fAuxGetFloat $fAuxGetIntQueryqyHandle 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_fsupplementarybam_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 flagQCFailflagDupflagSupplementary 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 useAsCStringptrBam1unHeader newHeader $fShowBam1faidx finalizeFaIdx fetchContig cigarTypes toCigarTypemergeAdjAuxGetbaseGHC.BaseJustNothing outFilenameoutfile inFilenamesamfile isFlagSet seqiToCharaddAux newInHandlefinalizeSamFile newOutHandleiterbamindexfinalizeBamIndexfinalizeBamIter