code: def getSequenceVariants(self, x1 = 0, x2 = -1, maxVariantNumber = 128) :
  		
  		if x2 == -1 :
  			xx2 = len(self.defaultSequence)
  		else :
  			xx2 = x2
  		
  		polyStart = None
  		nbP = 1
  		stopped = False
  		j = 0
  		for p in self.polymorphisms :
  			if p[0] >= xx2 :
  				break
  			
  			if x1 <= p[0] :
  				if polyStart == None :
  					polyStart = j
  				
  				nbP *= len(p[1])
  				
  				if nbP > maxVariantNumber :
  					stopped = True
  					break
  			j += 1
  		
  		if polyStart == None :
  			return (stopped, [self.defaultSequence[x1:xx2]])
  		
  		return (stopped, self.__getSequenceVariants(x1, polyStart, j, list(self.defaultSequence[x1:xx2])))
docs: returns the sequences resulting from all combinaisons of all polymorphismes between x1 and x2. The results is a couple (bool, variants of sequence between x1 and x2), bool == true if there's more combinaisons than maxVariantNumber