def main(): arg_parser = argparse.ArgumentParser( description= 'Compare the sample name in the VCF file and the one specified in the metadata.' ) arg_parser.add_argument('--metadata-file', required=True, dest='metadata_file', help='EVA Submission Metadata Excel sheet') arg_parser.add_argument( '--vcf-dir', required=True, dest='vcf_dir', help='Path to the directory in which submitted files can be found') arg_parser.add_argument( '--debug', action='store_true', default=False, help='Set the script to output logging information at debug level', ) args = arg_parser.parse_args() log_cfg.add_stdout_handler() if args.debug: log_cfg.set_log_level(logging.DEBUG) # Load the config_file from default location load_config() compare_spreadsheet_and_vcf(args.metadata_file, args.vcf_dir)
def _validate_sample_names(self): overall_differences, results_per_analysis_alias = compare_spreadsheet_and_vcf( eva_files_sheet=self.eload_cfg['submission'] ['metadata_spreadsheet'], vcf_dir=self._get_dir('vcf')) for analysis_alias in results_per_analysis_alias: has_difference, diff_submitted_file_submission, diff_submission_submitted_file = results_per_analysis_alias[ analysis_alias] self.eload_cfg.set('validation', 'sample_check', 'analysis', str(analysis_alias), value={ 'difference_exists': has_difference, 'in_VCF_not_in_metadata': diff_submitted_file_submission, 'in_metadata_not_in_VCF': diff_submission_submitted_file }) self.eload_cfg.set('validation', 'sample_check', 'pass', value=not overall_differences)