A computer-implemented method, comprising: calculating a free energy of solubility for a compound in a solvent by computer operations which include the following steps: (i) establishing, using a computer model, an initial state for a system comprising an aggregate of multiple molecules of the compound in a solvent; (ii) establishing, using the computer model, a final state of the system comprising a single molecule from the aggregate fully solvated in the solvent and separate from a transformed aggregate; (iii) transforming, using the computer model, the system from the initial state to the final state, wherein the transformation comprises the steps of: (a) removing a first molecule of the compound aggregate to vacuum, and replacing the first molecule with solvent at the site of the first molecule; and (b) introducing a second molecule of the compound into the solvent so that the second molecule is fully solvated in the solvent, and calculating the free energy of the transformation between the initial and the final states, which determines the free energy of solubility for the compound. calculating a free energy of solubility for a compound in a solvent by computer operations which include the following steps: (i) establishing, using a computer model, an initial state for a system comprising an aggregate of multiple molecules of the compound in a solvent; (ii) establishing, using the computer model, a final state of the system comprising a single molecule from the aggregate fully solvated in the solvent and separate from a transformed aggregate; (iii) transforming, using the computer model, the system from the initial state to the final state, wherein the transformation comprises the steps of: (a) removing a first molecule of the compound aggregate to vacuum, and replacing the first molecule with solvent at the site of the first molecule; and (b) introducing a second molecule of the compound into the solvent so that the second molecule is fully solvated in the solvent, and (i) establishing, using a computer model, an initial state for a system comprising an aggregate of multiple molecules of the compound in a solvent; (ii) establishing, using the computer model, a final state of the system comprising a single molecule from the aggregate fully solvated in the solvent and separate from a transformed aggregate; (iii) transforming, using the computer model, the system from the initial state to the final state, wherein the transformation comprises the steps of: (a) removing a first molecule of the compound aggregate to vacuum, and replacing the first molecule with solvent at the site of the first molecule; and (b) introducing a second molecule of the compound into the solvent so that the second molecule is fully solvated in the solvent, and (a) removing a first molecule of the compound aggregate to vacuum, and replacing the first molecule with solvent at the site of the first molecule; and (b) introducing a second molecule of the compound into the solvent so that the second molecule is fully solvated in the solvent, and calculating the free energy of the transformation between the initial and the final states, which determines the free energy of solubility for the compound.