@Transactional
private IsotopeGroupMergeResultResponse doIsotopeGroupMerge(long experimentSearchId) throws IOException{
final ExperimentSearch experimentSearch = experimentSearchRepository.findOne(experimentSearchId);
final Ms2ProcessorParamsData msParams = experimentSearch.getData().getParams().getMs2ProcessorParams();
LOG.info("Creating ig merge file and upload...");
final S3ObjectReference igMergeRequestRef = getS3ReferenceWithIGPerFiles(experimentSearch);
LOG.info("Sent isotope group merge task");
changeStatus(experimentSearchId, IN_PROGRESS_ISOTOPE_GROUP_MERGE_STEP);
final IsotopeGroupMergeResultResponse isotopeGroupMergeResultResponse = webService.isotopeGroupMerge(targetBucket, transformToString(igMergeRequestRef),
(byte) msParams.getMaxCharge(), msParams.getIsolationWidth());
LOG.info("Completed isotope group merge task");