<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def update_coordinates(self, filename, update_port_locations=True):
 """Update the coordinates of this Compound from a file. Parameters filename : str Name of file from which to load coordinates. Supported file types are the same as those supported by load() update_port_locations : bool, optional, default=True Update the locations of Ports so that they are shifted along with their anchor particles. Note: This conserves the location of Ports with respect to the anchor Particle, but does not conserve the orientation of Ports with respect to the molecule as a whole. See Also -------- load : Load coordinates from a file """

        if update_port_locations:
            xyz_init = self.xyz
            self = load(filename, compound=self, coords_only=True)
            self._update_port_locations(xyz_init)
        else:
            self = load(filename, compound=self, coords_only=True)