code: def remove_all_gap_columns( components ):
              
      seqs = [ list( c.text ) for c in components ]
      i = 0
      text_size = len( seqs[0] )
      while i < text_size:
          all_gap = True
          for seq in seqs:
              if seq[i] != '-': all_gap = False
          if all_gap:
              for seq in seqs: del seq[i]
              text_size -= 1
          else:
              i += 1
      for i in range( len( components ) ):
          components[i].text = ''.join( seqs[i] )
docs: Remove any columns containing only gaps from a set of alignment components,
      text of components is modified IN PLACE.
      
      TODO: Optimize this with Pyrex.