<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def build(self):
 """Builds a model of a coiled coil protein using input parameters."""

        monomers = [HelicalHelix(major_pitch=self.major_pitches[i],
                                 major_radius=self.major_radii[i],
                                 major_handedness=self.major_handedness[i],
                                 aa=self.aas[i],
                                 minor_helix_type=self.minor_helix_types[i],
                                 orientation=self.orientations[i],
                                 phi_c_alpha=self.phi_c_alphas[i],
                                 minor_repeat=self.minor_repeats[i],
                                 )
                    for i in range(self.oligomeric_state)]
        axis_unit_vector = numpy.array([0, 0, 1])
        for i, m in enumerate(monomers):
            m.rotate(angle=self.rotational_offsets[i], axis=axis_unit_vector)
            m.translate(axis_unit_vector * self.z_shifts[i])
        self._molecules = monomers[:]
        self.relabel_all()
        for m in self._molecules:
            m.ampal_parent = self
        return