def METHOD_NAME(cls, string):
    """
    Constructor from string parsing.
    Args:
        string (str): Input string.
    """
    lines = string.split("\n")
    timestep = int(lines[1])
    n_atoms = int(lines[3])
    box_arr = np.loadtxt(StringIO("\n".join(lines[5:8])))
    bounds = box_arr[:, :2]
    tilt = None
    if "xy xz yz" in lines[4]:
        tilt = box_arr[:, 2]
        x = (0, tilt[0], tilt[1], tilt[0] + tilt[1])
        y = (0, tilt[2])
        bounds -= np.array([[min(x), max(x)], [min(y), max(y)], [0, 0]])
    box = LammpsBox(bounds, tilt)
    data_head = lines[8].replace("ITEM: ATOMS", "").split()
    data = pd.read_csv(StringIO("\n".join(lines[9:])), names=data_head, delim_whitespace=True)
    return cls(timestep, n_atoms, box, data)