def printAngle(angle, shift, molecule, alchemicalTransformation):
    """Generate angle line

    Parameters
    ----------
    angle : Angle Object
        Angle Object
    shift : int
        Shift produced by structural dummy atoms
    molecule : molecule object
        Molecule object
    alchemicalTransformation : bool
        True if alchemical transformation

    Returns
    -------
    angleLine : str
        Angle line data
    """

    
    k0 = angle.K0*8.3680
    angle0 = angle.angle0
    ftype = 1

    line = ''

    atomAangle = molecule.atoms[angle.atomA.serialOriginal -1].serial-shift
    atomBangle = molecule.atoms[angle.atomB.serialOriginal -1].serial-shift
    atomCangle = molecule.atoms[angle.atomC.serialOriginal -1].serial-shift


    if alchemicalTransformation: 

        k0_B = angle.K0_B*8.3680
        angle0_B = angle.angle0_B

        line = '%5d%5d%5d%5d    %10.3f %10.3f%11.3f%11.3f\n' % (atomAangle, atomBangle, 
            atomCangle, ftype, angle0, k0, angle0_B, k0_B)

    else: 
        
        line = '%5d%5d%5d%5d    %10.3f %10.3f\n' % (atomAangle, atomBangle, 
            atomCangle, ftype, angle0, k0)

    return line