docs: def open_fasta_index(self):
          """
          custom type for file made w/ buildFastaIndex, fai for ones made with samtools
          """
          index = self.fasta_index
          try:
              handle = open(index, 'rb')
          except (IOError, TypeError):
              sys.stderr.write('index not found, creating it\n')
              try:
                  self.build_fasta_index()
                  return
              except IOError:
                  raise IOError("Index File "+self.fasta_index+"can't be found nor created, check file permissions")
          self.sequence_index = {}
          _seq_dict = self.sequence_index
          for row in handle:
              entry = row.decode('utf-8').strip().split('\t')
              #stored as: {header: length, # of chars to end of this header, length of fasta lines, length of each line including breakchar}
              _seq_dict[entry[0]] = (entry[1], entry[2], entry[3], entry[4])