DNA storage algorithms