code: def order(self):
          
          d = {}
          for (i, x) in enumerate(self):
              if x.is_gap:
                  continue
              xid = x.component_id
              d[xid] = (i, x)
  
              xid = xid.rsplit(".", 1)[0]  # Remove Genbank version
              if xid not in d:
                  d[xid] = (i, x)
  
          return d
docs: Returns a dict with component_id => (i, agpline)