code: def getSequenceCombinaisons(polymorphipolymorphicDnaSeqSeq, pos = 0) :
  	
  
  	if type(polymorphipolymorphicDnaSeqSeq) is not types.ListType :
  		seq = list(polymorphipolymorphicDnaSeqSeq)
  	else :
  		seq = polymorphipolymorphicDnaSeqSeq
  
  	if pos >= len(seq) :
  		return [''.join(seq)]
  
  	variants = []
  	if seq[pos] in polymorphicNucleotides :
  		chars = decodePolymorphicNucleotide(seq[pos])
  	else :
  		chars = seq[pos]#.split('/')
  
  	for c in chars :
  		rseq = copy.copy(seq)
  		rseq[pos] = c
  		variants.extend(getSequenceCombinaisons(rseq, pos + 1))
  
  	return variants
docs: Takes a dna sequence with polymorphismes and returns all the possible sequences that it can yield