code: def get(self, start, length):
          
          # Check parameters
          assert length >= 0, "Length must be non-negative (got %d)" % length 
          assert start >= 0,"Start must be greater than 0 (got %d)" % start
          assert start + length <= self.length, \
              "Interval beyond end of sequence (%s..%s > %s)" % ( start, start + length, self.length )
          # Fetch sequence and reverse complement if necesary
          if not self.revcomp:
              return self.raw_fetch( start, length )
          if self.revcomp == "-3'":
              return self.reverse_complement(self.raw_fetch(start,length))
          assert self.revcomp == "-5'", "unrecognized reverse complement scheme"
          start = self.length - (start+length)
          return self.reverse_complement(self.raw_fetch(start,length))
docs: Fetch subsequence starting at position `start` with length `length`. 
          This method is picky about parameters, the requested interval must 
          have non-negative length and fit entirely inside the NIB sequence,
          the returned string will contain exactly 'length' characters, or an
          AssertionError will be generated.