Droplet-trace-based array partitioning and a pin assignment algorithm for the automated design of digital microfluidic biochips