Calculating a minimum bounding box for a set of 3-space coordinates / spheres

Assuming you're not trying to rotate the molecule to minimize some parameter (volume? diagonal?) of the bounding box, take a set of positions and radii:

pos = RandomReal[{0, 10}, {10, 3}];
rad = RandomReal[{1, 2}, {10}];

Add and subtract a radius from each position and dimension, then take the bounds:

box = {Min[#], Max[#]}& /@ Transpose[Join @@ MapThread[{#1 + #2, #1 - #2}&, {pos, rad}]];

Here it is:

Graphics3D[{Gray, Sphere[pos, rad]}, 
 PlotRange -> box, PlotRangePadding -> None, 
 Lighting -> "Neutral"]

Molecule in a box