The main function of the module.

    :param argString: the options.

    :type argString: list

    These are the steps:

    1. Prints the options.
    2. Checks the number of samples in the ``tfam`` file
       (:py:func:`compute_nb_samples`).
    3. Computes the heterozygosity rate (:py:func:`compute_heterozygosity`).
    4. Saves the heterozygosity data (in ``out.het``).
    5. Plots the heterozygosity rate (:py:func:`plot_heterozygosity`).

def main(argString=None):
    """The main function of the module.

    :param argString: the options.

    :type argString: list

    These are the steps:

    1. Prints the options.
    2. Checks the number of samples in the ``tfam`` file
       (:py:func:`compute_nb_samples`).
    3. Computes the heterozygosity rate (:py:func:`compute_heterozygosity`).
    4. Saves the heterozygosity data (in ``out.het``).
    5. Plots the heterozygosity rate (:py:func:`plot_heterozygosity`).

    """
    # Getting and checking the options
    args = parseArgs(argString)
    checkArgs(args)

    # Check the number of samples
    nb_samples = compute_nb_samples(args.tfile)

    # Compute the heterozygosity rate
    heterozygosity, samples = compute_heterozygosity(args.tfile, nb_samples)

    # Save heterozygosity data
    save_heterozygosity(heterozygosity, samples, args.out)

    # Plotting the heterozygosity rate distribution
    plot_heterozygosity(heterozygosity, args)