Example demonstration of the extended MCS algorithm. To simplify the example, only two building blocks are used; the algorithm can potentially scale up to 10 building blocks. (a) Initially, the building blocks are ordered by their number of atoms. The matches of the biggest building blocks are most meaningful. (b) All MCSs of the first block (B1) with the target molecule (Mol) are computed. The example shows only one MCS, but some molecules (especially ring systems) can have large numbers of MCS. The number of MCS to find for each B1 in a target molecule (Mol) is limited to 20. (c) A new molecule is created for each MCS, where the MCS is removed from the scaffold. This new molecule is then submitted to a new MCS search with the next building block (B2). (d) A visual example of the scoring algorithm based on two predicted scaffold fragments. First, the dipeptide (B1) is scored; then, the second molecule (B2) is scored on the remaining part of the target molecule (Mol).