rr      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~              ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J KLMNOP Q R S T U V W X Y Z [ \ ] ^ _ ` abcdefghijklmnopq<NonerIParallel folding like fold1, but assuming associativity and using O(n*lg)rrrSafeSafe /Unpacks an abstract 3D vector into a triple of ss."Maps an operation that modifies a s onto a 3D vector.Maps an operation on a pair of s.s onto a pair of 3D vectors coordinatewise.;Normalises to a unit vector in the same direction as input.)Computes a dot product of two 3D vectors.72-norm of a vector (also called a magnitude or length.)JCompute dihedral between three bond vectors using spherical angle formula.PScalar product. (asterisk - "*" - indicates side on which one can put a scalar.)PScalar product. (asterisk - "*" - indicates side on which one can put a scalar.)bFinds a vector component of the first vector that is a projection onto direction of second vector.?Returns a component of the vector v that is perpendicular to w.QFinds a component of the vector v that is perpendicular to all vectors in a list.    NoneB.Type alias for a mutable sequence of elements.0Type alias for a immutable sequence of elements. Empty vector.Vector with a single elementCreate a new mutable vector.0Allocate initial space for a new mutable vector. Length of mutable vector.!>Default initial size of a mutable vector for residue contents."<Default initial size of a mutable vector for chain contents.#@Default initial size of a mutable vector for structure contents.$'Appends an element to a mutable vector.%^Finalizes a mutable vector, and returns immutable vector. [Does it shrink allocated space?]&& on immutable vectors.'' on immutable vectors.(( on immutable vectors.)) on immutable vectors.** on immutable vectors.++ on immutable vectors.,, on immutable vectors.-- on immutable vectors... on immutable vectors./*Conversion of an immutable vector to list.0) on immutable vectors.1-Concatenation of a list of immutable vectors.2)Remove last element of immutable vectors.3"First element of immutable vector.4)Remove first element of immutable vector.5Concatenation of two immutable6 Indexing of an immutable vector.t !"#$%&'()*+,-./01234567 !"#$%&'()*+,-./0123456$% .)+&'(,*-#!"/0651243t !"#$%&'()*+,-./01234567None8Read file contents as strict  ByteStringA. Uses mmap if possible. May decompress file contents, if needed.9Write file contents as strict  ByteString.8uvwxyz989898uvwxyz9Safe:!Enumeration of beta-strand sense.:;<:;<:;<:;<SafeAEnumeration of helix typesIPDB Class number in columns 39-40 for each type of helix in HELIX record: )Right-handed alpha (default, most common)Right-handed omegaRight-handed piRight-handed gammaRight-handed 3 - 10Left-handed alphaLeft-handed omegaLeft-handed gamma2 - 7 ribbon/helix PolyprolineBhelix2code converts a A$ enumeration into an PDB CLASS code.C-helix2code converts an PDB CLASS code into a A enumeration. A{|}~BCABCABCA {|}~BCNoneBT  Alias for  to make sure it is inlined. Why on earth GHC 7.4 doesn't inline functions like ord?! They should normally compile to no-ops!!!Faster  to 7 conversion. Top level function dealing with negation.Value of a decimal digit.Strict negation.First helper function for fast  ByteString to > conversion This function deals with things before the comma. Second helper function for fast  ByteString to = conversion This function deals with things after the comma.Finalize parsing of s and construct result.Checks that remaining part of  ByteString is pure spaces, and return 1 if there is something else (for error handling.)Trim spaces in front of the  ByteString.Trim spaces at the end of the  ByteString.Discard last character within  ByteString without checking. +Trim spaces in the front and at the end of  ByteString.  SafeH@Enumeration of experimental methods occuring in the PDB archive.R Generates an H from words in PDBS Converts an H back into text HIJKLMNOPQRS HIJKLMNOPQRS HIJKLMNOPQRSH IJKLMNOPQRSSafeXWe use only strict  ByteString as strings in PDB parser.XXXSafeY#Datatype for event-based PDB parser CResidue id: residue name, chain, residue id, residue insertion codeKAtom id: atom name, residue name, chain, residue id, residue insertion codeYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     :;<AHIJKLMNOPQXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     2X  YZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~   :;<AHIJKLMNOPQYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      SafeM"Prints a PDBEvent to a filehandle.WFor indicating continuation of the record in previous line as a digit with line number.CFor indicating continuation of the text in previous line by indent.wReports whether a given PDB record is already printable [temporary method, they all should be.] Including errors.5Prints a list of words as a PDB speclist record (see .)1Prints a list of words as a PDB list record (see .)#Prints a matrix given as a list of s.None$MT&;A common type for shuttling parsed and typed record values.2Splits a string into substrings by column numbers. Converts a  containing X; into this string or an empty string if nothing was parsed.4Construct an error message by concatenating list of  BytestringsgParser for an optional single-character field, first argument is a name of a field, second is an input.8Parser for an optional spacing, an argument is an input.AOld version of pSpc NOTE: also slower than using new trimFrontdParser for an optional integer field, first argument is a field name, a second argument is an input.Reports error from pInt.cParser for an optional string field, first argument is a field name, a second argument is an input.kParser for an optional floating-point field, first argument is a field name, a second argument is an input.vA helper method for converting a parser of an optional field into a parser of an optional field with a default value.RParser for an optional single character field with a default value, arguments are:  field name default valueinputIParser for an optional integer field with a default value, arguments are:  field name default valueinputHParser for an optional string field with a default value, arguments are:  field name default valueinputPParser for an optional floating-point field with a default value, arguments are:  field name default valueinput\Converts an optional field parser into a mandatory field parser that bails on missing input.Arguments are: name of the field type?a parser function that takes field name, and input and returns #A results is a function that takes:  field nameinputand returns a .5Return error message when mandatory field is missing.KParser for a mandatory character field with a default value, arguments are:  field nameinputPParser for a mandatory floating-point field with a default value, arguments are:  field nameinputHParser for a mandatory string field with a default value, arguments are:  field nameinputIParser for a mandatory integer field with a default value, arguments are:  field name4Parser for a mandatory spacing field, arguments are: number of columns for spacinginputUParser for a fixed field that can be filled with one of many keywords, arguments are:  field namea list of valid keywordsinput7Parser for a fixed single keyword field, arguments are:  field namekeywordinputRDissects columns from stage 1 parsing, and applies converters from stage 2 parsing )list of string parsers that return typed  values>list of column numbers that indicate a beginning of each fieldinput"Finds IFError values in a list of C values, and returns a list of error events in case there are any. )list of string parsers that return typed  values>list of column numbers that indicate a beginning of each field,line number to be injected into error eventsinputCUses field declarations that are list of (column number, parser to 7, ...) tuples and applies it to a given line of input.Arguments are: field declarations list input lineordinal number of an input lineReturns if a given . value _certainly_ represents a missing value.Returns if a given . value _certainly_ represents a present value.BMerges a set of values that corresponds to a residue description. Arguments are: @boolean indicating, if the field group may omit a residue numberfield group name (description)7column number beginning the residue description entries- containing a three letter residue identifier, containing a single letter chain identifier containing a residue number$ containing a residue insertion codeA result is a 3 of pair with column number and error message, or  " value with a residue description.KMerges a set of values that corresponds to an optional residue description.Arguments are: @boolean indicating, if the field group may omit a residue numberfield group name (description)7column number beginning the residue description entries- containing a three letter residue identifier, containing a single letter chain identifier containing a residue number$ containing a residue insertion codeA result is a 3 of pair with column number and error message, or   . value that may contain a residue description.GMerges a set of values that correspond to a mandatory atom description.Arguments are: field group name (description)7column number beginning the residue description entries* containing a three letter atom identifier- containing a three letter residue identifier, containing a single letter chain identifier containing a residue number$ containing a residue insertion codeA result is a 3 of pair with column number and error message, or , value that may contain an atom description.GMerges a set of values that correspond to an optional atom description.Arguments are: field group name (description)7column number beginning the residue description entries* containing a three letter atom identifier- containing a three letter residue identifier, containing a single letter chain identifier containing a residue number$ containing a residue insertion codeA result is a 3 of pair with column number and error message, or  , value that may contain an atom description.Changes a list of & values, into a list of all values in  entries.eExtracts Left (column_number, error_message) values from a list of results in a given line, to form B events with a given line number, column number and error message. Arguments:  line numberlist of = (column_number, error_message_string) result values, where - entries are used to generate error messages.Result is a list of Y entries that contain  s (if any.)Changes a list of & values, into a list of all values in  entries.Utility: Changes a list of  s to a list of values hidden in  _ records.,"&NoneTParses an ATOM record. Arguments:  input lineinput line number-Result is a monad action returning a list of Ys. {-@ SPECIALIZE parseATOM :: Bool -> String -> Int -> IO [PDBEvent] -}Parses an ANISOU record. Arguments:  input lineinput line number-Result is a monad action returning a list of Ys.NoneTParses a CAVEAT record. Arguments:  input lineinput line numberNoneTParses a CISPEP record. Arguments:  input lineinput line number-Result is a monad action returning a list of Ys.NoneTParses a CONECT record. Arguments:  input lineinput line number-Result is a monad action returning a list of Ys.NoneTParses a CRYST1 record. Arguments:  input lineinput line number-Result is a monad action returning a list of Ys.NoneTFields of a DBREF record.Parses a DBREF record. Arguments:  input lineinput line number-Result is a monad action returning a list of Ys.List of fields in DBREF1 lineList of fields in DBREF2 line.+Checks agreement between DBREF1 and DBREF2.+Parses a pair of DBREF1 and DBREF2 records. Arguments: two input lines as a tupleinput line number-Result is a monad action returning a list of Ys.NoneTParses a FORMUL record. Arguments:  input lineinput line number-Result is a monad action returning a list of Ys. NoneTParses a HEADER record. Arguments:  input lineinput line number-Result is a monad action returning a list of Ys.!NoneTParses a HET record. Arguments:  input lineinput line number-Result is a monad action returning a list of Ys."NoneTParses a HET record. Arguments:  input lineinput line number-Result is a monad action returning a list of Ys.#NoneT!Parses a HETNAM or HETSYN record. Arguments: %boolean indicating, if it is HETNAM ( ) or HETSYN () record input lineinput line number-Result is a monad action returning a list of Ys.$NoneTParses a HYDBND record. Arguments:  input lineinput line number-Result is a monad action returning a list of Ys.%NoneT&Parses a record with a single integer. Arguments:  constructor input lineinput line number-Result is a monad action returning a list of Ys.Parses a NUMMDL record. Arguments:  input lineinput line number-Result is a monad action returning a list of Ys.Parses a MODEL record. Arguments:  input lineinput line number-Result is a monad action returning a list of Ys.&NoneTCParses a JRNL or REMARK 1 record that contains a journal reference. Arguments: ]boolean indicating, if it is first reference for a structure (JRNL) or any other (REMARK 1.) input lineinput line number-Result is a monad action returning a list of Ys.7Parses a JRNL record that contains a journal reference. Arguments:  input lineinput line number-Result is a monad action returning a list of Ys.;Parses a REMARK 1 record that contains a journal reference. Arguments:  input lineinput line number-Result is a monad action returning a list of Ys.'NoneTParses a LINK record. Arguments:  input lineinput line number-Result is a monad action returning a list of Ys.(NoneT&String type used all over the library.8Fields of the KEYWDS, AUTHOR, EXPDTA and MDLTYP records./Parses a record that contains a list of values. Arguments: a matrix constructor2a separator characteristic for this type of record input lineinput line number-Result is a monad action returning a list of Ys.Parses a KEYWDS record. Arguments:  input lineinput line number-Result is a monad action returning a list of Ys.Parses a AUTHOR record. Arguments:  input lineinput line number-Result is a monad action returning a list of Ys.Parses a EXPDTA record. Arguments:  input lineinput line number-Result is a monad action returning a list of Ys.Parses a MDLTYP record. Arguments:  input lineinput line number-Result is a monad action returning a list of Ys.)NoneTFields of the MASTER recordParses a MASTER record. Arguments:  input lineinput line number.Result is a mionad action returning a list of Ys.*NoneTParses a MODRES record. Arguments:  input lineinput line number-Result is a monad action returning a list of Ys.+NoneT7Parses a single line with matrix or vector information. Arguments: *record constructor: SCALEn, ORIGXn, MTRIXn input lineinput line number-Result is a monad action returning a list of Ys.Parses a SCALEn record. Arguments:  input lineinput line number-Result is a monad action returning a list of Ys.Parses a ORIGXn record. Arguments:  input lineinput line number-Result is a monad action returning a list of Ys.Parses a MTRIXn record. Arguments:  input lineinput line number-Result is a monad action returning a list of Ys.,NoneT"Parses an OBSLTE or SPRSDE record: Arguments: a PDBEvent constructor: OBSLTE orSPRSDE  input lineinput line number-Result is a monad action returning a list of Ys.Parses a OBSLTE record. Arguments:  input lineinput line number-Result is a monad action returning a list of Ys.Parses a SPRSDE record. Arguments:  input lineinput line number-Result is a monad action returning a list of Ys.-NoneT !Parses a _generic_ REMARK record: Arguments:  input lineinput line number-Result is a monad action returning a list of Ys.     .NoneT Parses a REVDAT record: Arguments:  input lineinput line number-Result is a monad action returning a list of Ys.       /NoneTParses a SEQADV record: Arguments:  input lineinput line number-Result is a monad action returning a list of Ys.0NoneTParses a SEQRES record: Arguments:  input lineinput line number-Result is a monad action returning a list of Ys.1NoneTParses a SHEET record: Arguments:  input lineinput line number-Result is a monad action returning a list of Ys.2NoneTParses a SITE record: Arguments:  input lineinput line number-Result is a monad action returning a list of Ys.3NoneTParses a SLTBRG record: Arguments:  input lineinput line number-Result is a monad action returning a list of Ys.4NoneTParses a SPLIT record: Arguments:  input lineinput line number-Result is a monad action returning a list of Ys.5NoneTParses a SSBOND record: Arguments:  input lineinput line number-Result is a monad action returning a list of Ys.6NoneTParses a COMPND record: Arguments:  input lineinput line number-Result is a monad action returning a list of Ys.Parses a SOURCE record: Arguments:  input lineinput line number-Result is a monad action returning a list of Ys.-NOTE: SOURCE record values are always Strings ! !7NoneT"Parses a TER record. Arguments:  input lineinput line number-Result is a monad action returning a list of Ys.#""#"8NoneT$Parses a TITLE record. Arguments:  input lineinput line number-Result is a monad action returning a list of Ys.%$$%$9NoneT&Parses a TVECT record. Arguments:  input lineinput line number-Result is a monad action returning a list of Ys.'&&'& NoneT(Parses an input stream input with name fname at line line_no, and uses parsed input evts to perform an action on them and accumulator acc. 9Returns the ultimate value of the accumulated results in accC after all actions are performed in an order consistent with input.Parses a strict ByteString contents named fname and performs action^ on events given by parsing chunks, returning accumulated results. Accumulator is primed by acc.)6Checks whether line was ignored as unknown record type()() None!5PSingle atom position | NOTE: disordered atoms are now reported as multiplicates&dResidue groups all atoms assigned to the same aminoacid or nucleic acid base within a polymer chain.,8Single linear polymer chain of protein, or nucleic acids0RPDB entry may contain multiple models, with slight differences in coordinates etc.47Structure holds all data parsed from a single PDB entry! !"#$%&'()*+,-./0123456789:;%X!#$%" &'*+(),-/.0123456%X4560123,-./&'()*+ !"#$%   !"#$%&'()*+,-./0123456789:;:None 9:;<=*+,-./012345678 *+,-./012345678;None9:;<=KTakes a first model.L)Number of all atoms within the structure.M,Number of all residues within the structure.N*Number of all chains within the structure.O*Number of all models within the structure.KLMNOKLMNOKLMNONone KLMNO KLMNO None:<=9Standard nucleic acid codes:QList of all correspondences between FASTA 1-letter codes, and PDB 3-letter codes.;Standard protein codes<5List of both standard and non-standard protein codes.=[Dictionary of translations from all 3-letter PDB codes into 1-letter FASTA aminoacid codes.>mDictionary of translations from 1-letter FASTA aminoacid (standard protein) codes into 3-letter PDB codes.P5Three-letter PDB code for an unknown type of residue.Q9One-letter aminoacid code for an unknown type of residue.RODictionary mapping three-letter PDB residue code to a single-letter FASTA code.STDictionary mapping single-letter FASTA standard aminoacid code to a PDB residue name? Converts a  <% into a one character aminoacid code.T Converts an   yielding &/s into a list of aminoacid one-character codes.U Converts an   yielding &/s into a list of aminoacid one-character codes.@Scans a list and applies first argument to all consecutive pairs, and second argument to the beginning or `lone wolf`, mapping to a list of the same length.ArConvert a filename and Chain into a text of FASTA format record. First argument tells if we want gaps included.VReturns ' with ungapped sequence of a given PDB ,.WReturns % with gapped sequence of a given PDB ,Y. Gaps are placed to assure consistent numbering of residues and indices in the output .9:;<=>PQRS?TU@AVWPQRSTUVWRSPQTUVW9:;<=>PQRS?TU@AVW None XType alias for X names.BMInternal method that reports error to stderr, and return given default value.Y Atomic number of a given elementZ0Covalent radius of an element with a given name.[Upper bound of covalentRadius.\'Atomic mass of a given element in g/mol])Van der Waals radius of the given element^Upper bound of vanDerWaalsRadius._ Given a PDB  extract or guess its X name.` Guessing an X name from PDB " name. Returns empty string, if X can't be guessed. XBYZ[\]^_` XYZ[\]^_` X_`Y\Z[]^ XBYZ[\]^_`None:<=a Octree of s.C#Preparing atom to be inserted into Octree.bMake an Octree of sc Find all %s within a given radius from a point.dFind an s closest to a point.aCbcdabcdbcdaaCbcd=None !"#:<=OTD?Record holding a current state of the structure record builder.E9Shorthand for the State monad in which parsing is done.  is existential phantom& type to keep ST effects from escapingF|Parses PDB records given as ByteString, given filename fileContents and a monadic action to be executed for each PDB event.eGiven filename, and contents, parses a whole PDB file, returning a monadic action | with a tuple of (Structure, [PDBEvent]), where the list of events contains all | parsing or construction errors.G.Initial state of the structure record builder.HChecks that a residue with a given identification tuple is current, | or if not, then closes previous residue (if present), | and marks a new ,,current'' residue in a state of builder.IChecks that a chain with a given identification character is current, | and if not, creates one. Also checks that we have any model in which | to assign the chain.JdChecks that a current model has been declared, and creates zeroth model, | if no such model exists.K>Default model id, in case none was indicated (for comparison.)LgCloses construction of a current residue and appends this residue to a current chain. (Monadic action.)MmFinalizes construction of current chain, and appends it to current model. closeChain :: State.State BState ()NReports error during building of structure for PDB entry. TODO: This should be probably monadic action TODO: forgot about line/column number passing!O'Finalizes construction of current modelPFinalizes construction of record holding PDB entry data. NOTE: this one is different and should only be used after parsing is complete!QUpdates line counter.RPerforms a match on a single PDBEvent and performs relevant change to a BState of structure builder. parseStep :: (State.MonadState BState m) => PDBEvent -> m ()SwCreates a new model within structure builder. (For internal use.) WARNING: And forgets anything that was there before!TFinalizes state of structure builder, and returns pair of a structure, and list of errors. NOTE: should have a monadic action for each error instead. Then possibly default monad that accumulates these errors.DUVWXYZ[\]^_EFeGHIJKLMNOPQRSTDUY^VWXZ[\]_EFeGHIJKLMNOPQRSTD UVWXYZ[\]^_EFeGHIJKLMNOPQRST>NoneM `.Intermediate result from parsing of PDB chunk.aMParse a fragment of PDB file, returning final line number (within the chunk.)fDParse file in parallel with as many threads as we have capabilities.bJoins `0 from two different chunks and returns a single `.cJoins 4 s resulting from partial parses.dJoins 0 s resulting from partial parses.eJoins , s resulting from partial parses.fJoins & s resulting from partial parses.gXProduce joinX function, given: * getter for subordinate component vector, * setter for subordinate component vector, * getter for the id of a subordinate component, * matcher for ids of subordinate components that decides whether they have to be joined, * and joining function for subordinate objects (if they share the same id.)1This joining function merges two data structures.hIncrements line numbers in  records by a given value.g)Parse input file with N parallel threads.iISplits a ByteString into chunks of given size, and ending at end of line. `afbcdefghgifbcg `afbcdefghgiNone!# h4Class generating events for PDB structure fragments.jShowS like type for a list of Ys.i?Writes a structure or its part in a PDB format to a filehandle.kIHelper: blank chain in case we don't know which chain residue belongs to.lMHelper blank residue in case we don't know which residue the atom belongs to.mGenerates list of Ys from a given Structure.nGenerates list of Ys from a given Model.oGenerates list of Ys from a given Chain.pGenerates list of Y%s from a given Residue and its Chain.qGenerates list of Y0s from a given Atom, its Residue, and its Chain.hrsjiklmnopqjklmnhiihhrsjiklmnopqjklmnNoneo:Default parser - uses parallel capabilities, if available.oefgooefgoNonet Type alias.u1Alias to a function present in newer versions of v library.pParse a .pdb file and return 4.woDefault exception handler that for `IO (Maybe a)` just prints nice error message to stderr, and returns NothingxIPrints a catenated list of ByteStrings to stderr. (Convenience function.)yShow error message from  PDBParser.qWrite structure to a .pdb file.tupwxyqhpqpqhtupwxyq?None7 !#$%" &'*+(),-/.0123456KLMNORSXYZ\]_hpq7pqh4560123,-./&'()*+ !"#$% LMNOKRSX_Y\Z]z@AB@AC@AD@AE@AEFGHFGIFGJFGKFGLFGMFGNFGOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOOPPQRSTUVWX Y Z [ \ \ ] ^ _ ` a < < b c  d d e 2 f f g h i i j k l m n o p q r s t u v w x y z { | } ~;;;;;                 =>>]            !!""##$$% %!%"%#&$&%&&&''(')((*(+(,(-(.(/)0)1*2*3+4+5+6+7+',8,9,:,;-<-=.>.?.@.A/B/'0C0D0E1F12G2H3I3J4K4'5L5M6N6O6P6Q7R7S8T8'9U9' V W:X:Y:Z:[:\:]:^:_:`:a:b:c:d:e:f g h i j k l m n o pq=r=s=t=u=v=w=x=y=z={=|=}=~=====r==========>>>>>>>>>>$hPDB-1.2.0.10-9egTX7tz2qjCMfH64k26tMBio.PDB.Structure.VectorBio.PDB.IterableBio.PDB.Structure.ListBio.PDB.IO.OpenAnyFileBio.PDB.EventParser.StrandSenseBio.PDB.EventParser.HelixTypes'Bio.PDB.EventParser.ExperimentalMethodsBio.PDB.EventParser.PDBEvents#Bio.PDB.EventParser.PDBEventPrinter"Bio.PDB.EventParser.PDBEventParserBio.PDB.Structure Bio.PDB.FastaBio.PDB.Structure.ElementsBio.PDB.Structure.NeighboursBio.PDB.StructureBuilderBio.PDB.StructurePrinter Bio.PDB.IOBio.PDB.Util.ParFoldBio.PDB.Util.MissingInstancesBio.PDB.EventParser.FastParseBio.PDB.CommonBio.PDB.EventParserParseSpecListRecord*Bio.PDB.EventParser.PDBParsingAbstractionsBio.PDB.EventParser.ParseATOMBio.PDB.EventParser.ParseCAVEATBio.PDB.EventParser.ParseCISPEPBio.PDB.EventParser.ParseCONECTBio.PDB.EventParser.ParseCRYST1Bio.PDB.EventParser.ParseDBREFBio.PDB.EventParser.ParseFORMULBio.PDB.EventParser.ParseHEADERBio.PDB.EventParser.ParseHELIXBio.PDB.EventParser.ParseHETBio.PDB.EventParser.ParseHETNAMBio.PDB.EventParser.ParseHYDBND"Bio.PDB.EventParser.ParseIntRecordBio.PDB.EventParser.ParseJRNLBio.PDB.EventParser.ParseLINK#Bio.PDB.EventParser.ParseListRecordBio.PDB.EventParser.ParseMASTERBio.PDB.EventParser.ParseMODRES%Bio.PDB.EventParser.ParseMatrixRecord#Bio.PDB.EventParser.ParseObsoletingBio.PDB.EventParser.ParseREMARKBio.PDB.EventParser.ParseREVDATBio.PDB.EventParser.ParseSEQADVBio.PDB.EventParser.ParseSEQRESBio.PDB.EventParser.ParseSHEETBio.PDB.EventParser.ParseSITEBio.PDB.EventParser.ParseSLTBRGBio.PDB.EventParser.ParseSPLITBio.PDB.EventParser.ParseSSBOND'Bio.PDB.EventParser.ParseSpecListRecordBio.PDB.EventParser.ParseTERBio.PDB.EventParser.ParseTITLEBio.PDB.EventParser.ParseTVECTBio.PDB.Iterable.InstancesBio.PDB.Iterable.UtilsResidue"Bio.PDB.StructureBuilder.Internals!Bio.PDB.StructureBuilder.ParallelBio.PDB&AC-Vector-2.3.2-1E35AY2Ig0yKbNPjJ1rnpbData.Vector.V3v3zv3yv3xVector3#iterable-3.0-1Rt9TIseVie3R79MipEFBi Data.Iterableitlengthitfoldl'itfoldlitfoldritfoldMitmapitmapMIterable unpackVector3vmapvzip vnormalisevdotvnorm vdihedral*||*vprojvperpend vperpends$fArbitraryVector3TempListListempty singletonnew initialNew tempLengthresidueVectorSizechainVectorSize defaultSizeaddfinalizefoldlfoldl'foldrmapfiltermapMfoldMlengthlasttoListvimapconcatinitheadtail++!$fNFDataTempListreadFile writeFile StrandSenseTParallel Antiparallel$fEqStrandSenseT$fOrdStrandSenseT$fShowStrandSenseT$fReadStrandSenseTHelixT helix2code code2helix $fEqHelixT $fOrdHelixT $fShowHelixT $fReadHelixT ExpMethodXRayDiffractionFiberDiffractionNeutronDiffractionElectronCrystallographyElectronMicroscopy SolidStateNMR SolutionNMRSolutionScatteringOtherExpMethod mkExpMethod showExpMethod$fShowExpMethod$fReadExpMethod $fEqExpMethod$fOrdExpMethodStringPDBEventATOMSIGATMANISOUSIGUIJSEQRESHEADERTITLEKEYWDSAUTHORREMARKEXPDTAMDLTYPNUMMDLMODELCONECTCAVEATDBREFREVDATHETNAMHETFORMULCISPEPHELIXSHEETORIGXnSCALEnMTRIXnCRYST1COMPNDSOURCETERMASTERENDENDMDLSITEOBSLTESPRSDESPLITSSBONDLINKSLTBRGHYDBNDTVECTJRNLMODRESSEQADV PDBParseErrorPDBIgnoredLinenoatomtyperestypechainresidresinsaltloccoords occupancybfactorsegideltchargehetatmu_1_1u_2_2u_3_3u_1_2u_1_3u_2_3serialnumresListclassificationdepDateidCode continuationtitleaListtext expMethodsatomscontpdbidcomment iniSeqNumPDB iniInsCodePDB endSeqNumPDB endInsCodePDB seqDbName seqDbAccCode seqDbIdCode iniSeqNumInDbiniInsCodeInPDBRef endSeqNumInDbendInsCodeInPDBRefmodNummodDatmodIdmodTypdetailshetIdname notSynonymseqNuminsCodeatmNum descriptioncompNumisWaterformulares1res2angleiniResendRes helixClasslenstrandIdsheetId numStrandssensecurAtprevAtnotrelMolabcalphabetagammaspcGrpzValuetokensresname numRemarknumHetnumHelixnumSheetnumTurnnumSitenumXformnumAts numMaster numConect numSeqressiteidnumresresiduesdatethisentriescodessymOp1symOp2bondLenat1altloc1at2altloc2symop1symop2linkdistatHaltlocHveccontentisFirstpdbCoderesiduestdRespdbId advResiduedatabase accessionCode dbResnamedbSeqNumRESIDATID $fShowATID $fOrdATID$fEqATID $fShowRESID $fOrdRESID $fEqRESID$fShowPDBEvent $fEqPDBEventprint isPrintableparsePDBRecordsAtomatNameatSerialcoordbFactorelementresNameresSeqChainchainIdModelmodelIdchains Structuremodels $fNFDataAtom$fNFDataResidue $fNFDataChain $fNFDataModel$fNFDataStructure$fEqAtom $fShowAtom $fGenericAtom $fEqResidue $fShowResidue$fGenericResidue $fEqChain $fShowChain$fGenericChain $fEqModel $fShowModel$fGenericModel $fEqStructure$fShowStructure$fGenericStructure firstModelnumAtoms numResidues numChains numModelsdefaultResnamedefaultFastaCoderesname2fastacodefastacode2resname fastaSequencefastaGappedSequence fastaRecordfastaGappedRecordElement atomicNumbercovalentRadiusmaxCovalentRadius atomicMassvanDerWaalsRadiusmaxVanDerWaalsRadius assignElement guessElement AtomOctree makeOctree findInRadius findNearest parseSerial parseParallelparseWithNParallel PDBWritablewrite$fPDBWritableAtom$fPDBWritableResidue$fPDBWritableChain$fPDBWritableModel$fPDBWritableStructureparseparFold1ghc-prim GHC.TypesDouble readFile' throwNotFoundgetCodec gzipParams isReadable simpleRead RightAlpha RightOmegaRightPi RightGamma Right3_10 LeftAlpha LeftOmega LeftGamma Ribbon2_7 PolyprolineordstrtofbaseGHC.BaseFloat digitValuefinalstrtof0strtof1 makeDouble checkSpacesNothing trimFronttrimRearbutlasttrimshowContinuationcontd printSpecList printList printMatrix ParsedFieldsplitByColumnsunstrifErrorpChrpSpcpSpcOpIntpIntErrpStrpDoubledConvdChrdIntdStrdDouble mandFieldmandFieldErrMsgmChrmDoublemStrmIntmSpc mKeywordsmKeywordconvertColumnsfindColumnErrors parseFields nonEmptyIFfullIF fgResidue Data.EitherEithermaybeFgResidueMaybefgAtom maybeFgAtomleftsLeft liftFgErrsrightsRight maybeListJustIFIntIFStrIFCharIFDoubleIFErrorIFNone parseATOM parseANISOU atomFields anisouFields parseCAVEAT caveatFields parseCISPEP cispepFields parseCONECT conectFieldsintList parseCRYST1 crystFields dbrefFields parseDBREF dbref1Fields dbref2FieldscheckEqs parseDBREF12 parseFORMUL formulFields parseHEADER headerFields parseHELIX helixFieldsparseHET hetFields parseHETNAMTrueFalse hetnamFields parseHYDBND hydbndFieldsparseIntRecord parseNUMMDL parseMODEL nummdlFieldsparseJournalRef parseJRNL parseREMARK1 titleFields parseLINK linkFields listFieldsparseListRecord parseKEYWDS parseAUTHOR parseEXPDTA parseMDLTYP masterFields parseMASTER parseMODRES modresFieldsparseMatrixRecord parseSCALEn parseORIGXn parseMTRIXnparseObsoleting parseOBSLTE parseSPRSDEobsoletingFields parseREMARK remarkFields parseREVDAT revdatFieldspStrList strListErrs parseSEQADV parseSEQRES seqresFields splitResidues parseSHEET parseSITE siteFields parseSLTBRG sltbrgFields parseSPLIT parseSSBOND ssbondFields parseCOMPND parseSOURCEspecListRecordFieldsparseSpecListRecordparseTER terFields parseTITLE parseTVECT parsePDBLines ignoreLine$fIterableStructureModel$fIterableModelChain$fIterableChainResidue$fIterableResidueAtom$fIterableStructureStructure$fIterableModelModel$fIterableChainChain$fIterableResidueResidue$fIterableAtomAtom$fIterableStructureChain$fIterableStructureResidue$fIterableStructureAtom$fIterableModelResidue$fIterableModelAtom$fIterableChainAtomcodebookNucleicAcidscodebookcodebookStandardProteincodebookProteinresname2fastacodeDictionaryfastacode2resnameDictionaryres2codescan2 fastaRecord'defaultingLookupextractBState ParsingMonad parsePDBRecinitializeState checkResidue checkChain checkModeldefaultModelId closeResidue closeChainaddError closeModelcloseStructurenextLine parseStep openModel parseFinishcurrentResidue currentModel currentChaincurrentStructureresidueContents chainContents modelContentsstructureContentserrorslineNo ParseResult partialParse joinResult joinStructure joinModel joinChain joinResiduejoinerupdateErrorLine chunkString PDBEventS blankChain blankResiduestructureEvents modelEvents chainEvents residueEvents atomEvents pdbEvents pdbEventSforcedeepseq-1.4.2.0Control.DeepSeqdeepseqexceptionHandler printError showError