code: def encode(self, sequence):
  		
  		
  		polymorphisms = []
  		defaultSequence = '' 
  		binSequence = array.array(self.forma.typecode)
  		b = 0
  		i = 0
  		trueI = 0 #not inc in case if poly
  		poly = set()
  		while i < len(sequence)-1:
  			b = b | self.forma[self.charToBin[sequence[i]]]
  			if sequence[i+1] == '/' :
  				poly.add(sequence[i])
  				i += 2
  			else :
  				binSequence.append(b)
  				if len(poly) > 0 :
  					poly.add(sequence[i])
  					polymorphisms.append((trueI, poly))
  					poly = set()
  				
  				bb = 0
  				while b % 2 != 0 :
  					b = b/2
  					
  				defaultSequence += sequence[i]
  				b = 0
  				i += 1
  				trueI += 1
  		
  		if i < len(sequence) :
  			b = b | self.forma[self.charToBin[sequence[i]]]
  			binSequence.append(b)
  			if len(poly) > 0 :
  				if sequence[i] not in poly :
  					poly.add(sequence[i])
  				polymorphisms.append((trueI, poly))
  			defaultSequence += sequence[i]
  		
  		return (binSequence, defaultSequence, polymorphisms)
docs: Returns a tuple (binary reprensentation, default sequence, polymorphisms list)