code: def _validate_samples_factors(mwtabfile, validate_samples=True, validate_factors=True):
      
      from_subject_samples = {i["local_sample_id"] for i in mwtabfile["SUBJECT_SAMPLE_FACTORS"]["SUBJECT_SAMPLE_FACTORS"]}
      from_subject_factors = {i["factors"] for i in mwtabfile["SUBJECT_SAMPLE_FACTORS"]["SUBJECT_SAMPLE_FACTORS"]}
  
      if validate_samples:
  
          if "MS_METABOLITE_DATA" in mwtabfile:
              from_metabolite_data_samples = set(mwtabfile["MS_METABOLITE_DATA"]["MS_METABOLITE_DATA_START"]["Samples"])
              assert from_subject_samples == from_metabolite_data_samples
  
          if "NMR_BINNED_DATA" in mwtabfile:
              from_nmr_binned_data_samples = set(mwtabfile["NMR_BINNED_DATA"]["NMR_BINNED_DATA_START"]["Fields"][1:])
              assert from_subject_samples == from_nmr_binned_data_samples
  
      if validate_factors:
  
          if "MS_METABOLITE_DATA" in mwtabfile:
              from_metabolite_data_factors = set(mwtabfile["MS_METABOLITE_DATA"]["MS_METABOLITE_DATA_START"]["Factors"])
              assert from_subject_factors == from_metabolite_data_factors
docs: Validate ``Samples`` and ``Factors`` identifiers across the file.
  
      :param mwtabfile: Instance of :class:`~mwtab.mwtab.MWTabFile`.
      :type mwtabfile: :class:`~mwtab.mwtab.MWTabFile`
      :return: None
      :rtype: :py:obj:`None`