code: def can_overlap(self, contig, strand=None):
          
          return (self.on_contig(contig) and
                  (strand is None or self.on_strand(strand)))
docs: Is this locus on the same contig and (optionally) on the same strand?