def get_data_metadata(self, gcms, id_label, output_path): if isinstance(output_path, str): output_path = Path(output_path) paramaters_path = output_path.with_suffix('.json') if paramaters_path.exists(): with paramaters_path.open() as current_param: metadata = json.load(current_param) data_metadata = metadata.get('Data') else: data_metadata = {} data_metadata['data_name'] = [] data_metadata['input_data_url'] = [] data_metadata['has_input'] = [] data_metadata['data_name'].append(gcms.sample_name) data_metadata['input_data_url'].append(str(gcms.file_location)) data_metadata['has_input'].append(id_label + corems_md5(gcms.file_location)) data_metadata['output_data_name'] = str(output_path.stem) data_metadata['output_data_url'] = str(output_path) data_metadata['has_output'] = id_label + corems_md5(output_path) return data_metadata
def get_calibration_stats(self, gcms, id_label): calibration_parameters = {} calibration_parameters[ 'calibration_rt_ri_pairs_ref'] = gcms.ri_pairs_ref calibration_parameters['data_url'] = str(gcms.cal_file_path) calibration_parameters['has_input'] = id_label + corems_md5( gcms.cal_file_path) calibration_parameters['data_name'] = str(gcms.cal_file_path.stem) calibration_parameters['calibration_method'] = "" return calibration_parameters
def write_settings(self, output_path, gcms, id_label="corems:"): import json output_parameters_dict = {} blank_parameters = {} output_parameters_dict['analyzer'] = gcms.analyzer output_parameters_dict['instrument_label'] = gcms.instrument_label output_parameters_dict['sample_name'] = gcms.sample_name output_parameters_dict['sample_id'] = "sample_id" output_parameters_dict['input_data'] = str(gcms.file_location) output_parameters_dict['input_data_id'] = id_label + corems_md5( gcms.file_location) output_parameters_dict['output_data'] = str(output_path) output_parameters_dict['output_data_id'] = id_label + uuid.uuid4().hex output_parameters_dict['corems_version'] = __version__ output_parameters_dict["Stats"] = self.get_data_stats(gcms) output_parameters_dict["Calibration"] = self.get_calibration_stats( gcms, id_label) output_parameters_dict["Blank"] = self.get_blank_stats(gcms) corems_dict_setting = parameter_to_dict.get_dict_data_gcms(gcms) output_parameters_dict["CoreMSParameters"] = corems_dict_setting with open( output_path.with_suffix('.json'), 'w', encoding='utf8', ) as outfile: output = json.dumps(output_parameters_dict, sort_keys=False, indent=4, separators=(',', ': ')) outfile.write(output)