This is an implementation of three algorithms for partial digest problem (PDP) which are BBd, BBb and BBb2. The BBd algorithm (Skiena 90) solves PDP by traversing the solution tree in depth first manner while the BBb and BBb2 solve PDP by traversing the solution tree in breadth first manner. You can run the PDP program on random data by chossing what the type of data (random or Zhang) and the number of restriction sites. In case of real data, we will use the BBb2 algorithm and you can run PDP as following: ./PDP input_file. You can find also a simulation for error free partial digestion experiment by given a restriction site and the DNA sequence.