docs: def main(argString=None):
      """The main function of this module.
  
      :param argString: the options.
  
      :type argString: list
  
      Here are the steps for this function:
  
      1. Prints the options.
      2. Uses Plink to extract markers according to LD
         (:py:func:`selectSNPsAccordingToLD`).
      3. Checks if there is enough markers after pruning
         (:py:func:`checkNumberOfSNP`). If not, then quits.
      4. Extract markers according to LD (:py:func:`extractSNPs`).
      5. Runs Plink with the ``genome`` option (:py:func:`runGenome`). Quits here
         if the user asker only for the ``genome`` file.
      6. Finds related individuals and gets values for plotting
         (:py:func:`extractRelatedIndividuals`).
      7. Plots ``Z1`` in function of ``IBS2 ratio`` for related individuals
         (:py:func:`plot_related_data`).
      8. Plots ``Z2`` in function of ``IBS2 ratio`` for related individuals
         (:py:func:`plot_related_data`).
  
      """
      # Getting and checking the options
      args = parseArgs(argString)
      checkArgs(args)
  
      logger.info("Options used:")
      for key, value in vars(args).iteritems():
          logger.info("  --{} {}".format(key.replace("_", "-"), value))
  
      # Run plink
      logger.info("Running Plink to extract SNPs according to LD")
      snpsToExtract = selectSNPsAccordingToLD(args)
  
      # Check there is enough SNP in the output file
      logger.info("Checking if there are enough extracted SNP")
      if not checkNumberOfSNP(snpsToExtract, args.min_nb_snp):
          # There are not enough markers
          logger.info("There are not enough SNPs: STOPPING NOW!")
  
      else:
          # Extract the SNPs
          logger.info("Extracting the SNPs using Plink")
          newBfile = extractSNPs(snpsToExtract, args)
  
          # Run the genome command from plink
          logger.info("Creating the genome file using Plink")
          genomeFileName = runGenome(newBfile, args)
  
          if args.genome_only:
              # We just want the genome file
              return newBfile
  
          # Extract related individuals
          logger.info("Finding related individuals from genome file")
          related_data = extractRelatedIndividuals(genomeFileName, args.out,
                                                   args.ibs2_ratio)
          # Are there related samples?
          if related_data is None:
              logger.info("There are no related samples in the dataset")
  
          else:
              # Plot the related data
              logger.info("Plotting related individuals")
              plot_related_data(related_data["IBS2_RATIO"], related_data["Z1"],
                                related_data["CODE"], r"$Z_1$",
                                args.out + ".related_individuals_z1.png", args)
              plot_related_data(related_data["IBS2_RATIO"], related_data["Z2"],
                                related_data["CODE"], r"$Z_2$",
                                args.out + ".related_individuals_z2.png", args)