From 76eef6f17ce1c4ad398129ba2d8a62fa1a7262b9 Mon Sep 17 00:00:00 2001 From: pfurio Date: Fri, 1 Dec 2023 15:00:42 +0100 Subject: [PATCH 01/89] catalog: update report with actions, #TASK-5349 --- .../db/api/ClinicalAnalysisDBAdaptor.java | 8 + .../ClinicalAnalysisMongoDBAdaptor.java | 88 ++++++++++- .../catalog/db/mongodb/MongoDBUtils.java | 15 +- .../converters/ClinicalAnalysisConverter.java | 10 +- .../managers/ClinicalAnalysisManager.java | 87 ++++++++++- .../managers/ClinicalAnalysisManagerTest.java | 145 ++++++++++++++++++ .../rest/analysis/ClinicalWebService.java | 45 ++++++ 7 files changed, 384 insertions(+), 14 deletions(-) diff --git a/opencga-catalog/src/main/java/org/opencb/opencga/catalog/db/api/ClinicalAnalysisDBAdaptor.java b/opencga-catalog/src/main/java/org/opencb/opencga/catalog/db/api/ClinicalAnalysisDBAdaptor.java index a4b3d8f19b4..9ba04a571c1 100644 --- a/opencga-catalog/src/main/java/org/opencb/opencga/catalog/db/api/ClinicalAnalysisDBAdaptor.java +++ b/opencga-catalog/src/main/java/org/opencb/opencga/catalog/db/api/ClinicalAnalysisDBAdaptor.java @@ -73,6 +73,7 @@ enum QueryParams implements QueryParam { ANALYSTS_ID("analysts.id", TEXT, ""), ANALYSTS_ASSIGNED_BY("analysts.assignedBy", TEXT, ""), REPORT("report", OBJECT, ""), + REPORT_UPDATE("report_update", OBJECT, ""), // Made up key to be able to set inner fields and not the entire object REPORT_SUPPORTING_EVIDENCES("report.supportingEvidences", TEXT_ARRAY, ""), REPORT_FILES("report.files", TEXT_ARRAY, ""), REQUEST("request", OBJECT, ""), @@ -165,6 +166,13 @@ public static QueryParams getParam(String key) { } enum ReportQueryParams implements QueryParam { + TITLE("title", STRING, ""), + OVERVIEW("overview", STRING, ""), + DISCUSSION("discussion", OBJECT, ""), + LOGO("logo", STRING, ""), + SIGNED_BY("signedBy", STRING, ""), + SIGNATURE("signature", STRING, ""), + DATE("date", STRING, ""), COMMENTS("comments", OBJECT, ""), SUPPORTING_EVIDENCES("supportingEvidences", TEXT_ARRAY, ""), FILES("files", TEXT_ARRAY, ""); diff --git a/opencga-catalog/src/main/java/org/opencb/opencga/catalog/db/mongodb/ClinicalAnalysisMongoDBAdaptor.java b/opencga-catalog/src/main/java/org/opencb/opencga/catalog/db/mongodb/ClinicalAnalysisMongoDBAdaptor.java index 996a7eaac48..c0ea18866a4 100644 --- a/opencga-catalog/src/main/java/org/opencb/opencga/catalog/db/mongodb/ClinicalAnalysisMongoDBAdaptor.java +++ b/opencga-catalog/src/main/java/org/opencb/opencga/catalog/db/mongodb/ClinicalAnalysisMongoDBAdaptor.java @@ -142,18 +142,18 @@ static void fixPanelsForRemoval(ObjectMap parameters) { parameters.put(PANELS.key(), panelParamList); } - static void fixFilesForRemoval(ObjectMap parameters) { - if (parameters.get(FILES.key()) == null) { + static void fixFilesForRemoval(ObjectMap parameters, String key) { + if (parameters.get(key) == null) { return; } List fileParamList = new LinkedList<>(); - for (Object file : parameters.getAsList(FILES.key())) { + for (Object file : parameters.getAsList(key)) { if (file instanceof File) { fileParamList.add(new Document("uid", ((File) file).getUid())); } } - parameters.put(FILES.key(), fileParamList); + parameters.put(key, fileParamList); } static void fixAnalystsForRemoval(ObjectMap parameters) { @@ -410,13 +410,87 @@ UpdateDocument parseAndValidateUpdateParams(ObjectMap parameters, List actionMap = queryOptions.getMap(Constants.ACTIONS, new HashMap<>()); + + if (parameters.containsKey(REPORT_UPDATE.key())) { + ObjectMap reportParameters = parameters.getNestedMap(REPORT_UPDATE.key()); + reportParameters.put(ReportQueryParams.DATE.key(), TimeUtils.getTime()); + String[] stringParams = {ReportQueryParams.TITLE.key(), ReportQueryParams.OVERVIEW.key(), ReportQueryParams.LOGO.key(), + ReportQueryParams.SIGNED_BY.key(), ReportQueryParams.SIGNATURE.key(), ReportQueryParams.DATE.key(), }; + filterStringParams(reportParameters, document.getSet(), stringParams, REPORT.key() + "."); + + String[] objectParams = {ReportQueryParams.DISCUSSION.key()}; + filterObjectParams(reportParameters, document.getSet(), objectParams, REPORT.key() + "."); + + String[] commentParams = {ReportQueryParams.COMMENTS.key()}; + ParamUtils.AddRemoveReplaceAction basicOperation = ParamUtils.AddRemoveReplaceAction + .from(actionMap, ReportQueryParams.COMMENTS.key(), ParamUtils.AddRemoveReplaceAction.ADD); + switch (basicOperation) { + case REMOVE: + fixCommentsForRemoval(reportParameters); + filterObjectParams(reportParameters, document.getPull(), commentParams, REPORT.key() + "."); + break; + case ADD: + filterObjectParams(reportParameters, document.getAddToSet(), commentParams, REPORT.key() + "."); + break; + case REPLACE: + filterReplaceParams(reportParameters.getAsList(ReportQueryParams.COMMENTS.key(), ClinicalComment.class), document, + ClinicalComment::getDate, QueryParams.REPORT.key() + "." + QueryParams.COMMENTS_DATE.key()); + break; + default: + throw new IllegalStateException("Unknown operation " + basicOperation); + } + + String[] filesParams = new String[]{ReportQueryParams.FILES.key()}; + ParamUtils.BasicUpdateAction operation = ParamUtils.BasicUpdateAction.from(actionMap, ReportQueryParams.FILES.key(), + ParamUtils.BasicUpdateAction.ADD); + switch (operation) { + case SET: + filterObjectParams(reportParameters, document.getSet(), filesParams, QueryParams.REPORT.key() + "."); + clinicalConverter.validateFilesToUpdate(document.getSet(), QueryParams.REPORT.key() + "." + + ReportQueryParams.FILES.key()); + break; + case REMOVE: + fixFilesForRemoval(reportParameters, ReportQueryParams.FILES.key()); + filterObjectParams(reportParameters, document.getPull(), filesParams, QueryParams.REPORT.key() + "."); + break; + case ADD: + filterObjectParams(reportParameters, document.getAddToSet(), filesParams, QueryParams.REPORT.key() + "."); + clinicalConverter.validateFilesToUpdate(document.getAddToSet(), QueryParams.REPORT.key() + "." + + ReportQueryParams.FILES.key()); + break; + default: + throw new IllegalStateException("Unknown operation " + basicOperation); + } + + String[] supportingEvidencesParams = new String[]{ReportQueryParams.SUPPORTING_EVIDENCES.key()}; + operation = ParamUtils.BasicUpdateAction.from(actionMap, ReportQueryParams.SUPPORTING_EVIDENCES.key(), + ParamUtils.BasicUpdateAction.ADD); + switch (operation) { + case SET: + filterObjectParams(reportParameters, document.getSet(), supportingEvidencesParams, QueryParams.REPORT.key() + "."); + clinicalConverter.validateFilesToUpdate(document.getSet(), QueryParams.REPORT.key() + "." + + ReportQueryParams.SUPPORTING_EVIDENCES.key()); + break; + case REMOVE: + fixFilesForRemoval(reportParameters, ReportQueryParams.SUPPORTING_EVIDENCES.key()); + filterObjectParams(reportParameters, document.getPull(), supportingEvidencesParams, QueryParams.REPORT.key() + "."); + break; + case ADD: + filterObjectParams(reportParameters, document.getAddToSet(), supportingEvidencesParams, QueryParams.REPORT.key() + "."); + clinicalConverter.validateFilesToUpdate(document.getAddToSet(), QueryParams.REPORT.key() + "." + + ReportQueryParams.SUPPORTING_EVIDENCES.key()); + break; + default: + throw new IllegalStateException("Unknown operation " + basicOperation); + } + } + clinicalConverter.validateInterpretationToUpdate(document.getSet()); clinicalConverter.validateFamilyToUpdate(document.getSet()); clinicalConverter.validateProbandToUpdate(document.getSet()); clinicalConverter.validateReportToUpdate(document.getSet()); - Map actionMap = queryOptions.getMap(Constants.ACTIONS, new HashMap<>()); - String[] objectAcceptedParams = new String[]{QueryParams.COMMENTS.key()}; ParamUtils.AddRemoveReplaceAction basicOperation = ParamUtils.AddRemoveReplaceAction.from(actionMap, QueryParams.COMMENTS.key(), ParamUtils.AddRemoveReplaceAction.ADD); @@ -463,7 +537,7 @@ UpdateDocument parseAndValidateUpdateParams(ObjectMap parameters, List filter } static void filterStringParams(ObjectMap parameters, Map filteredParams, String[] acceptedParams) { + filterStringParams(parameters, filteredParams, acceptedParams, ""); + } + + static void filterStringParams(ObjectMap parameters, Map filteredParams, String[] acceptedParams, String dbKeyPrefix) { for (String s : acceptedParams) { if (parameters.containsKey(s)) { - filteredParams.put(s, parameters.getString(s)); + filteredParams.put(dbKeyPrefix + s, parameters.getString(s)); } } } @@ -361,6 +365,11 @@ static void filterMapParams(ObjectMap parameters, Map filteredPa } static void filterObjectParams(ObjectMap parameters, Map filteredParams, String[] acceptedMapParams) { + filterObjectParams(parameters, filteredParams, acceptedMapParams, ""); + } + + static void filterObjectParams(ObjectMap parameters, Map filteredParams, String[] acceptedMapParams, + String dbKeyPrefix) { for (String s : acceptedMapParams) { if (parameters.containsKey(s)) { Document document; @@ -371,10 +380,10 @@ static void filterObjectParams(ObjectMap parameters, Map filtere for (Object object : originalList) { documentList.add(getMongoDBDocument(object, s)); } - filteredParams.put(s, documentList); + filteredParams.put(dbKeyPrefix + s, documentList); } else { document = getMongoDBDocument(parameters.get(s), s); - filteredParams.put(s, document); + filteredParams.put(dbKeyPrefix + s, document); } } catch (CatalogDBException e) { logger.warn("Skipping key '" + s + "': " + e.getMessage(), e); diff --git a/opencga-catalog/src/main/java/org/opencb/opencga/catalog/db/mongodb/converters/ClinicalAnalysisConverter.java b/opencga-catalog/src/main/java/org/opencb/opencga/catalog/db/mongodb/converters/ClinicalAnalysisConverter.java index 45fff9dd2f3..ed7494ae2c9 100644 --- a/opencga-catalog/src/main/java/org/opencb/opencga/catalog/db/mongodb/converters/ClinicalAnalysisConverter.java +++ b/opencga-catalog/src/main/java/org/opencb/opencga/catalog/db/mongodb/converters/ClinicalAnalysisConverter.java @@ -156,10 +156,14 @@ public void validatePanelsToUpdate(Document document) { } } - public void validateFilesToUpdate(Document document) { - List files = (List) document.get(ClinicalAnalysisDBAdaptor.QueryParams.FILES.key()); + public void validateFilesToUpdate(Document document, String key) { + List files = (List) document.get(key); List reducedFiles = getReducedFileDocuments(files); - document.put(ClinicalAnalysisDBAdaptor.QueryParams.FILES.key(), reducedFiles); + document.put(key, reducedFiles); + } + + public void validateFilesToUpdate(Document document) { + validateFilesToUpdate(document, ClinicalAnalysisDBAdaptor.QueryParams.FILES.key()); } private static List getReducedFileDocuments(List files) { diff --git a/opencga-catalog/src/main/java/org/opencb/opencga/catalog/managers/ClinicalAnalysisManager.java b/opencga-catalog/src/main/java/org/opencb/opencga/catalog/managers/ClinicalAnalysisManager.java index 13be28039cc..7d22001ea66 100644 --- a/opencga-catalog/src/main/java/org/opencb/opencga/catalog/managers/ClinicalAnalysisManager.java +++ b/opencga-catalog/src/main/java/org/opencb/opencga/catalog/managers/ClinicalAnalysisManager.java @@ -37,7 +37,10 @@ import org.opencb.opencga.catalog.exceptions.CatalogException; import org.opencb.opencga.catalog.exceptions.CatalogParameterException; import org.opencb.opencga.catalog.models.InternalGetDataResult; -import org.opencb.opencga.catalog.utils.*; +import org.opencb.opencga.catalog.utils.AnnotationUtils; +import org.opencb.opencga.catalog.utils.Constants; +import org.opencb.opencga.catalog.utils.ParamUtils; +import org.opencb.opencga.catalog.utils.UuidUtils; import org.opencb.opencga.core.api.ParamConstants; import org.opencb.opencga.core.common.JacksonUtils; import org.opencb.opencga.core.common.TimeUtils; @@ -1688,6 +1691,88 @@ private OpenCGAResult update(Study study, ClinicalAnalysis cli return update; } + public OpenCGAResult updateReport(String studyStr, String clinicalAnalysisId, ClinicalReport report, + QueryOptions options, String token) throws CatalogException { + String userId = userManager.getUserId(token); + Study study = studyManager.resolveId(studyStr, userId); + + String operationId = UuidUtils.generateOpenCgaUuid(UuidUtils.Entity.AUDIT); + + ObjectMap auditParams = new ObjectMap() + .append("study", studyStr) + .append("clinicalAnalysisId", clinicalAnalysisId) + .append("report", report) + .append("options", options) + .append("token", token); + + String caseId = clinicalAnalysisId; + String caseUuid = ""; + try { + options = ParamUtils.defaultObject(options, QueryOptions::new); + ClinicalAnalysis clinicalAnalysis = internalGet(study.getUid(), clinicalAnalysisId, INCLUDE_CLINICAL_IDS, userId).first(); + authorizationManager.checkClinicalAnalysisPermission(study.getUid(), clinicalAnalysis.getUid(), userId, + ClinicalAnalysisPermissions.WRITE); + caseId = clinicalAnalysis.getId(); + caseUuid = clinicalAnalysis.getUuid(); + + ObjectMap updateMap; + try { + updateMap = new ObjectMap(getUpdateObjectMapper().writeValueAsString(report)); + } catch (JsonProcessingException e) { + throw new CatalogException("Could not parse report object: " + e.getMessage(), e); + } + + Map actionMap = options.getMap(ParamConstants.ACTION, new HashMap<>()); + if (report.getComments() != null) { + ParamUtils.AddRemoveReplaceAction basicOperation = ParamUtils.AddRemoveReplaceAction + .from(actionMap, ClinicalAnalysisDBAdaptor.ReportQueryParams.COMMENTS.key(), ParamUtils.AddRemoveReplaceAction.ADD); + if (basicOperation != ParamUtils.AddRemoveReplaceAction.ADD) { + for (ClinicalComment comment : report.getComments()) { + comment.setDate(TimeUtils.getTime()); + comment.setAuthor(userId); + } + } + updateMap.put(ClinicalAnalysisDBAdaptor.ReportQueryParams.COMMENTS.key(), report.getComments()); + } + if (CollectionUtils.isNotEmpty(report.getFiles())) { + List files = obtainFiles(study, userId, report.getFiles()); + updateMap.put(ClinicalAnalysisDBAdaptor.ReportQueryParams.FILES.key(), files, false); + } + if (CollectionUtils.isNotEmpty(report.getSupportingEvidences())) { + List files = obtainFiles(study, userId, report.getSupportingEvidences()); + updateMap.put(ClinicalAnalysisDBAdaptor.ReportQueryParams.SUPPORTING_EVIDENCES.key(), files, false); + } + ClinicalAudit clinicalAudit = new ClinicalAudit(userId, ClinicalAudit.Action.UPDATE_CLINICAL_ANALYSIS, + "Update ClinicalAnalysis '" + clinicalAnalysis.getId() + "' report.", TimeUtils.getTime()); + + // Add custom key to ensure it is properly updated + updateMap = new ObjectMap(ClinicalAnalysisDBAdaptor.QueryParams.REPORT_UPDATE.key(), updateMap); + OpenCGAResult update = clinicalDBAdaptor.update(clinicalAnalysis.getUid(), updateMap, null, + Collections.singletonList(clinicalAudit), options); + auditManager.auditUpdate(operationId, userId, Enums.Resource.CLINICAL_ANALYSIS, caseId, caseUuid, study.getId(), + study.getUuid(), auditParams, new AuditRecord.Status(AuditRecord.Status.Result.SUCCESS)); + if (options.getBoolean(ParamConstants.INCLUDE_RESULT_PARAM)) { + // Fetch updated clinical analysis + OpenCGAResult result = clinicalDBAdaptor.get(study.getUid(), + new Query(ClinicalAnalysisDBAdaptor.QueryParams.UID.key(), clinicalAnalysis.getUid()), options, userId); + update.setResults(result.getResults()); + } + List reportList = new ArrayList<>(update.getResults().size()); + if (update.getNumResults() > 0) { + for (ClinicalAnalysis result : update.getResults()) { + reportList.add(result.getReport()); + } + } + return new OpenCGAResult<>(update.getTime(), update.getEvents(), update.getNumResults(), reportList, + update.getNumMatches(), update.getNumInserted(), update.getNumUpdated(), update.getNumDeleted(), + update.getNumErrors(), update.getAttributes(), update.getFederationNode()); + } catch (CatalogException e) { + auditManager.auditUpdate(operationId, userId, Enums.Resource.CLINICAL_ANALYSIS, caseId, caseUuid, study.getId(), + study.getUuid(), auditParams, new AuditRecord.Status(AuditRecord.Status.Result.ERROR, e.getError())); + throw e; + } + } + /** * Sort the family members in the following order: proband, father, mother, others. * diff --git a/opencga-catalog/src/test/java/org/opencb/opencga/catalog/managers/ClinicalAnalysisManagerTest.java b/opencga-catalog/src/test/java/org/opencb/opencga/catalog/managers/ClinicalAnalysisManagerTest.java index e07d53338b9..c5b5fbc49ce 100644 --- a/opencga-catalog/src/test/java/org/opencb/opencga/catalog/managers/ClinicalAnalysisManagerTest.java +++ b/opencga-catalog/src/test/java/org/opencb/opencga/catalog/managers/ClinicalAnalysisManagerTest.java @@ -477,6 +477,151 @@ public void updateClinicalAnalysisReport() throws CatalogException { new ClinicalAnalysisUpdateParams().setReport(report), INCLUDE_RESULT, sessionIdUser); } + @Test + public void updateClinicalAnalysisReportWithActions() throws CatalogException { + ClinicalAnalysis case1 = createDummyEnvironment(true, true).first(); + assertNull(case1.getReport()); + + // Add files + catalogManager.getFileManager().create(STUDY, + new FileCreateParams() + .setContent(RandomStringUtils.randomAlphanumeric(1000)) + .setPath("/data/file1.txt") + .setType(File.Type.FILE), + true, sessionIdUser); + catalogManager.getFileManager().create(STUDY, + new FileCreateParams() + .setContent(RandomStringUtils.randomAlphanumeric(1000)) + .setPath("/data/file2.txt") + .setType(File.Type.FILE), + true, sessionIdUser); + catalogManager.getFileManager().create(STUDY, + new FileCreateParams() + .setContent(RandomStringUtils.randomAlphanumeric(1000)) + .setPath("/data/file3.txt") + .setType(File.Type.FILE), + true, sessionIdUser); + + ClinicalReport report = new ClinicalReport("title", "overview", new ClinicalDiscussion("me", TimeUtils.getTime(), "text"), "logo", + "me", "signature", TimeUtils.getTime(), Arrays.asList( + new ClinicalComment().setMessage("comment1"), + new ClinicalComment().setMessage("comment2") + ), + Collections.singletonList(new File().setId("data:file1.txt")), + Collections.singletonList(new File().setId("data:file2.txt"))); + OpenCGAResult result = catalogManager.getClinicalAnalysisManager().update(STUDY, case1.getId(), + new ClinicalAnalysisUpdateParams().setReport(report), INCLUDE_RESULT, sessionIdUser); + assertNotNull(result.first().getReport()); + assertEquals(report.getTitle(), result.first().getReport().getTitle()); + assertEquals(report.getOverview(), result.first().getReport().getOverview()); + assertEquals(report.getDate(), result.first().getReport().getDate()); + assertEquals(report.getLogo(), result.first().getReport().getLogo()); + assertEquals(report.getSignature(), result.first().getReport().getSignature()); + assertEquals(report.getSignedBy(), result.first().getReport().getSignedBy()); + assertEquals(2, result.first().getReport().getComments().size()); + assertEquals(1, result.first().getReport().getFiles().size()); + assertEquals(1, result.first().getReport().getSupportingEvidences().size()); + + // Add comment + // Set files + // Remove supporting evidence + ObjectMap actionMap = new ObjectMap() + .append(ClinicalAnalysisDBAdaptor.ReportQueryParams.COMMENTS.key(), ParamUtils.AddRemoveAction.ADD) + .append(ClinicalAnalysisDBAdaptor.ReportQueryParams.FILES.key(), ParamUtils.BasicUpdateAction.SET) + .append(ClinicalAnalysisDBAdaptor.ReportQueryParams.SUPPORTING_EVIDENCES.key(), ParamUtils.BasicUpdateAction.REMOVE); + QueryOptions options = new QueryOptions() + .append(Constants.ACTIONS, actionMap) + .append(ParamConstants.INCLUDE_RESULT_PARAM, true); + ClinicalReport reportToUpdate = new ClinicalReport() + .setComments(Collections.singletonList(new ClinicalComment().setMessage("comment3"))) + .setFiles(Arrays.asList( + new File().setId("data:file2.txt"), + new File().setId("data:file3.txt") + )) + .setSupportingEvidences(Collections.singletonList(new File().setId("data:file1.txt"))); + ClinicalReport reportResult = catalogManager.getClinicalAnalysisManager().updateReport(STUDY, case1.getId(), reportToUpdate, + options, sessionIdUser).first(); + // Check comments + assertEquals(3, reportResult.getComments().size()); + assertEquals("comment1", reportResult.getComments().get(0).getMessage()); + assertEquals("comment2", reportResult.getComments().get(1).getMessage()); + assertEquals("comment3", reportResult.getComments().get(2).getMessage()); + + // Check files + assertEquals(2, reportResult.getFiles().size()); + assertTrue(reportResult.getFiles().stream().map(File::getPath).collect(Collectors.toSet()).containsAll(Arrays.asList("data/file2.txt", "data/file3.txt"))); + + // Check supporting evidences + assertEquals(0, reportResult.getSupportingEvidences().size()); + + + // Remove comment + // Remove file + // Set supporting evidences + actionMap = new ObjectMap() + .append(ClinicalAnalysisDBAdaptor.ReportQueryParams.COMMENTS.key(), ParamUtils.AddRemoveAction.REMOVE) + .append(ClinicalAnalysisDBAdaptor.ReportQueryParams.FILES.key(), ParamUtils.BasicUpdateAction.REMOVE) + .append(ClinicalAnalysisDBAdaptor.ReportQueryParams.SUPPORTING_EVIDENCES.key(), ParamUtils.BasicUpdateAction.SET); + options = new QueryOptions() + .append(Constants.ACTIONS, actionMap) + .append(ParamConstants.INCLUDE_RESULT_PARAM, true); + reportToUpdate = new ClinicalReport() + .setComments(Arrays.asList(reportResult.getComments().get(0), reportResult.getComments().get(1))) + .setFiles(Collections.singletonList(new File().setId("data:file3.txt"))) + .setSupportingEvidences(Arrays.asList( + new File().setId("data:file1.txt"), + new File().setId("data:file3.txt") + )); + ClinicalComment pendingComment = reportResult.getComments().get(2); + reportResult = catalogManager.getClinicalAnalysisManager().updateReport(STUDY, case1.getId(), reportToUpdate, + options, sessionIdUser).first(); + // Check comments + assertEquals(1, reportResult.getComments().size()); + assertEquals(pendingComment.getMessage(), reportResult.getComments().get(0).getMessage()); + + // Check supporting evidences + assertEquals(2, reportResult.getSupportingEvidences().size()); + assertTrue(reportResult.getSupportingEvidences().stream().map(File::getPath).collect(Collectors.toSet()) + .containsAll(Arrays.asList("data/file1.txt", "data/file3.txt"))); + + // Check files + assertEquals(1, reportResult.getFiles().size()); + assertEquals("data/file2.txt", reportResult.getFiles().get(0).getPath()); + + + // Add file + // Add supporting evidences + actionMap = new ObjectMap() + .append(ClinicalAnalysisDBAdaptor.ReportQueryParams.FILES.key(), ParamUtils.BasicUpdateAction.ADD) + .append(ClinicalAnalysisDBAdaptor.ReportQueryParams.SUPPORTING_EVIDENCES.key(), ParamUtils.BasicUpdateAction.ADD); + options = new QueryOptions() + .append(Constants.ACTIONS, actionMap) + .append(ParamConstants.INCLUDE_RESULT_PARAM, true); + reportToUpdate = new ClinicalReport() + .setFiles(Arrays.asList( + new File().setId("data:file1.txt"), + new File().setId("data:file3.txt") + )) + .setSupportingEvidences(Collections.singletonList( + new File().setId("data:file2.txt") + )); + reportResult = catalogManager.getClinicalAnalysisManager().updateReport(STUDY, case1.getId(), reportToUpdate, + options, sessionIdUser).first(); + // Check comments + assertEquals(1, reportResult.getComments().size()); + assertEquals("comment3", reportResult.getComments().get(0).getMessage()); + + // Check files + assertEquals(3, reportResult.getFiles().size()); + assertTrue(reportResult.getFiles().stream().map(File::getPath).collect(Collectors.toSet()) + .containsAll(Arrays.asList("data/file1.txt", "data/file2.txt", "data/file3.txt"))); + + // Check supporting evidences + assertEquals(3, reportResult.getSupportingEvidences().size()); + assertTrue(reportResult.getSupportingEvidences().stream().map(File::getPath).collect(Collectors.toSet()) + .containsAll(Arrays.asList("data/file1.txt", "data/file2.txt", "data/file3.txt"))); + } + @Test public void createAndUpdateClinicalAnalysisWithQualityControl() throws CatalogException, InterruptedException { Individual individual = new Individual().setId("child1").setSamples(Arrays.asList(new Sample().setId("sample2"))); diff --git a/opencga-server/src/main/java/org/opencb/opencga/server/rest/analysis/ClinicalWebService.java b/opencga-server/src/main/java/org/opencb/opencga/server/rest/analysis/ClinicalWebService.java index fdaa1e84449..30b06fb75e2 100644 --- a/opencga-server/src/main/java/org/opencb/opencga/server/rest/analysis/ClinicalWebService.java +++ b/opencga-server/src/main/java/org/opencb/opencga/server/rest/analysis/ClinicalWebService.java @@ -256,6 +256,51 @@ public Response update( } } + @POST + @Path("/{clinicalAnalysis}/report/update") + @Consumes(MediaType.APPLICATION_JSON) + @ApiOperation(value = "Update clinical analysis report", response = ClinicalReport.class) + @ApiImplicitParams({ + @ApiImplicitParam(name = QueryOptions.INCLUDE, value = ParamConstants.INCLUDE_DESCRIPTION, + dataType = "string", paramType = "query"), + @ApiImplicitParam(name = QueryOptions.EXCLUDE, value = ParamConstants.EXCLUDE_DESCRIPTION, + dataType = "string", paramType = "query") + }) + public Response updateReport( + @ApiParam(value = "Clinical analysis ID") @PathParam(value = "clinicalAnalysis") String clinicalAnalysisStr, + @ApiParam(value = ParamConstants.STUDY_DESCRIPTION) @QueryParam(ParamConstants.STUDY_PARAM) String studyStr, + @ApiParam(value = "Action to be performed if the array of comments is being updated.", allowableValues = "ADD,REMOVE,REPLACE", defaultValue = "ADD") + @QueryParam("commentsAction") ParamUtils.AddRemoveReplaceAction commentsAction, + @ApiParam(value = "Action to be performed if the array of supporting evidences is being updated.", allowableValues = "ADD,SET,REMOVE", defaultValue = "ADD") + @QueryParam("supportingEvidencesAction") ParamUtils.BasicUpdateAction supportingEvidencesAction, + @ApiParam(value = "Action to be performed if the array of files is being updated.", allowableValues = "ADD,SET,REMOVE", defaultValue = "ADD") + @QueryParam("filesAction") ParamUtils.BasicUpdateAction filesAction, + @ApiParam(value = ParamConstants.INCLUDE_RESULT_DESCRIPTION, defaultValue = "false") @QueryParam(ParamConstants.INCLUDE_RESULT_PARAM) boolean includeResult, + @ApiParam(name = "body", value = "JSON containing clinical report information", required = true) ClinicalReport params) { + try { + if (commentsAction == null) { + commentsAction = ParamUtils.AddRemoveReplaceAction.ADD; + } + if (supportingEvidencesAction == null) { + supportingEvidencesAction = ParamUtils.BasicUpdateAction.ADD; + } + if (filesAction == null) { + filesAction = ParamUtils.BasicUpdateAction.ADD; + } + + Map actionMap = new HashMap<>(); + actionMap.put(ClinicalAnalysisDBAdaptor.ReportQueryParams.COMMENTS.key(), commentsAction); + actionMap.put(ClinicalAnalysisDBAdaptor.ReportQueryParams.SUPPORTING_EVIDENCES.key(), supportingEvidencesAction); + actionMap.put(ClinicalAnalysisDBAdaptor.ReportQueryParams.FILES.key(), filesAction); + queryOptions.put(Constants.ACTIONS, actionMap); + + return createOkResponse(clinicalManager.updateReport(studyStr, clinicalAnalysisStr, params, queryOptions, token)); + } catch (Exception e) { + return createErrorResponse(e); + } + } + + @POST @Path("/annotationSets/load") @Consumes(MediaType.APPLICATION_JSON) From 98f3f05ce90cd8ba62552381770abb3ec7621414 Mon Sep 17 00:00:00 2001 From: JuanfeSanahuja Date: Wed, 20 Dec 2023 12:31:15 +0100 Subject: [PATCH 02/89] Prepare next release 2.12.2-SNAPSHOT --- opencga-analysis/pom.xml | 2 +- opencga-app/pom.xml | 2 +- opencga-catalog/pom.xml | 2 +- opencga-client/pom.xml | 2 +- opencga-clinical/pom.xml | 2 +- opencga-core/pom.xml | 2 +- opencga-master/pom.xml | 2 +- opencga-server/pom.xml | 2 +- opencga-storage/opencga-storage-app/pom.xml | 2 +- opencga-storage/opencga-storage-benchmark/pom.xml | 2 +- opencga-storage/opencga-storage-core/pom.xml | 2 +- .../opencga-storage-hadoop-core/pom.xml | 2 +- .../opencga-storage-hadoop-deps-emr6.1/pom.xml | 2 +- .../opencga-storage-hadoop-deps-hdp2.6/pom.xml | 2 +- .../opencga-storage-hadoop-deps-hdp3.1/pom.xml | 2 +- .../opencga-storage-hadoop-deps/pom.xml | 2 +- opencga-storage/opencga-storage-hadoop/pom.xml | 2 +- opencga-storage/opencga-storage-server/pom.xml | 2 +- opencga-storage/pom.xml | 2 +- opencga-test/pom.xml | 2 +- pom.xml | 14 +++++++------- 21 files changed, 27 insertions(+), 27 deletions(-) diff --git a/opencga-analysis/pom.xml b/opencga-analysis/pom.xml index 3620242af2c..265e72c158e 100644 --- a/opencga-analysis/pom.xml +++ b/opencga-analysis/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 2.12.1 + 2.12.2-SNAPSHOT ../pom.xml diff --git a/opencga-app/pom.xml b/opencga-app/pom.xml index 9e2a29dd451..90d4339f302 100644 --- a/opencga-app/pom.xml +++ b/opencga-app/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 2.12.1 + 2.12.2-SNAPSHOT ../pom.xml diff --git a/opencga-catalog/pom.xml b/opencga-catalog/pom.xml index 689f4330468..b6c3104bb44 100644 --- a/opencga-catalog/pom.xml +++ b/opencga-catalog/pom.xml @@ -23,7 +23,7 @@ org.opencb.opencga opencga - 2.12.1 + 2.12.2-SNAPSHOT ../pom.xml diff --git a/opencga-client/pom.xml b/opencga-client/pom.xml index ade95955c9b..db92bb3fe27 100644 --- a/opencga-client/pom.xml +++ b/opencga-client/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 2.12.1 + 2.12.2-SNAPSHOT ../pom.xml diff --git a/opencga-clinical/pom.xml b/opencga-clinical/pom.xml index 480e468ae22..693f452614d 100644 --- a/opencga-clinical/pom.xml +++ b/opencga-clinical/pom.xml @@ -5,7 +5,7 @@ org.opencb.opencga opencga - 2.12.1 + 2.12.2-SNAPSHOT ../pom.xml 4.0.0 diff --git a/opencga-core/pom.xml b/opencga-core/pom.xml index 3bf4fe7f7b4..1282dec662d 100644 --- a/opencga-core/pom.xml +++ b/opencga-core/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 2.12.1 + 2.12.2-SNAPSHOT ../pom.xml diff --git a/opencga-master/pom.xml b/opencga-master/pom.xml index 8722652af5a..6df937c20f9 100644 --- a/opencga-master/pom.xml +++ b/opencga-master/pom.xml @@ -22,7 +22,7 @@ opencga org.opencb.opencga - 2.12.1 + 2.12.2-SNAPSHOT ../pom.xml diff --git a/opencga-server/pom.xml b/opencga-server/pom.xml index 1d95c4801af..3256b82216b 100644 --- a/opencga-server/pom.xml +++ b/opencga-server/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 2.12.1 + 2.12.2-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-app/pom.xml b/opencga-storage/opencga-storage-app/pom.xml index 028d6cf8fb3..2b3005ce736 100644 --- a/opencga-storage/opencga-storage-app/pom.xml +++ b/opencga-storage/opencga-storage-app/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage - 2.12.1 + 2.12.2-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-benchmark/pom.xml b/opencga-storage/opencga-storage-benchmark/pom.xml index 41915b70624..0b7b09f0e50 100644 --- a/opencga-storage/opencga-storage-benchmark/pom.xml +++ b/opencga-storage/opencga-storage-benchmark/pom.xml @@ -22,7 +22,7 @@ opencga-storage org.opencb.opencga - 2.12.1 + 2.12.2-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-core/pom.xml b/opencga-storage/opencga-storage-core/pom.xml index 4402b544436..407a2fe5afa 100644 --- a/opencga-storage/opencga-storage-core/pom.xml +++ b/opencga-storage/opencga-storage-core/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage - 2.12.1 + 2.12.2-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/pom.xml index e6f06256409..ea8a4f03775 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/pom.xml @@ -23,7 +23,7 @@ org.opencb.opencga opencga-storage-hadoop - 2.12.1 + 2.12.2-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-emr6.1/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-emr6.1/pom.xml index 3b708836fe1..f7afa167980 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-emr6.1/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-emr6.1/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage-hadoop-deps - 2.12.1 + 2.12.2-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp2.6/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp2.6/pom.xml index 56970c9e0a9..a584723d321 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp2.6/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp2.6/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage-hadoop-deps - 2.12.1 + 2.12.2-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp3.1/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp3.1/pom.xml index ef7f5611e5f..9e3018c3075 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp3.1/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp3.1/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage-hadoop-deps - 2.12.1 + 2.12.2-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/pom.xml index 605ef67fe0e..4dc58124cbe 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/pom.xml @@ -50,7 +50,7 @@ org.opencb.opencga opencga-storage-hadoop - 2.12.1 + 2.12.2-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/pom.xml b/opencga-storage/opencga-storage-hadoop/pom.xml index c58f1007101..63ebff0a728 100644 --- a/opencga-storage/opencga-storage-hadoop/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/pom.xml @@ -28,7 +28,7 @@ org.opencb.opencga opencga-storage - 2.12.1 + 2.12.2-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-server/pom.xml b/opencga-storage/opencga-storage-server/pom.xml index 37ae7d2a1c6..8405b936d23 100644 --- a/opencga-storage/opencga-storage-server/pom.xml +++ b/opencga-storage/opencga-storage-server/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage - 2.12.1 + 2.12.2-SNAPSHOT ../pom.xml diff --git a/opencga-storage/pom.xml b/opencga-storage/pom.xml index 0c0e0b0d8a4..32a43076828 100644 --- a/opencga-storage/pom.xml +++ b/opencga-storage/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 2.12.1 + 2.12.2-SNAPSHOT ../pom.xml diff --git a/opencga-test/pom.xml b/opencga-test/pom.xml index 821dbc0779e..2235e4a9ce8 100644 --- a/opencga-test/pom.xml +++ b/opencga-test/pom.xml @@ -24,7 +24,7 @@ org.opencb.opencga opencga - 2.12.1 + 2.12.2-SNAPSHOT ../pom.xml diff --git a/pom.xml b/pom.xml index a61fd25104d..8da78d874e3 100644 --- a/pom.xml +++ b/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 2.12.1 + 2.12.2-SNAPSHOT pom OpenCGA @@ -43,12 +43,12 @@ - 2.12.1 - 2.12.1 - 5.8.1 - 2.12.1 - 4.12.0 - 2.12.1 + 2.12.2_dev + 2.12.2_dev + 5.8.2-SNAPSHOT + 2.12.2-SNAPSHOT + 4.12.1-SNAPSHOT + 2.12.2-SNAPSHOT 0.2.0 2.11.4 From 7ab03f742fd2fdd2782ba002abf276c34c4ae4b2 Mon Sep 17 00:00:00 2001 From: JuanfeSanahuja Date: Mon, 8 Jan 2024 11:22:49 +0100 Subject: [PATCH 03/89] pom: Update opencga pom solr 8.11.2 #TASK-5232 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 0de0a7fdc99..a367d04f53a 100644 --- a/pom.xml +++ b/pom.xml @@ -60,7 +60,7 @@ 1.28.1 1.7.32 2.17.2 - 8.8.2 + 8.11.2 0.11.2 9.4.17.v20190418 19.0 From 7e957cc066d9b5641cf8219116cf72a9c6b20da1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20T=C3=A1rraga=20Gim=C3=A9nez?= Date: Thu, 11 Jan 2024 08:25:18 +0100 Subject: [PATCH 04/89] app: update opencga-ext-tools dockerfile, #TASK-5450 --- opencga-app/app/cloud/docker/opencga-ext-tools/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/opencga-app/app/cloud/docker/opencga-ext-tools/Dockerfile b/opencga-app/app/cloud/docker/opencga-ext-tools/Dockerfile index ff1298c64d0..ab261b25c2f 100644 --- a/opencga-app/app/cloud/docker/opencga-ext-tools/Dockerfile +++ b/opencga-app/app/cloud/docker/opencga-ext-tools/Dockerfile @@ -25,11 +25,11 @@ RUN apt-get update -y && DEBIAN_FRONTEND="noninteractive" TZ="Europe/London" apt WORKDIR /opt/opencga/signature.tools.lib RUN git fetch origin --tags && \ - git checkout tags/v2.4.2 && \ + git checkout tags/v2.4.4 && \ sed -i '/Mmusculus/d' DESCRIPTION && \ sed -i '/Cfamiliaris/d' DESCRIPTION && \ sed -i '/1000genomes/d' DESCRIPTION && \ - R -e 'options(timeout = 300);devtools::install(repos="https://www.stats.bris.ac.uk/R/")' && \ + R -e 'options(timeout = 3600);devtools::install(repos="https://www.stats.bris.ac.uk/R/")' && \ ## Clean up rm -rf /var/lib/apt/lists/* /tmp/* /opt/opencga/signature.tools.lib/.git && \ strip --remove-section=.note.ABI-tag /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 From 09896024411d23b50e9290522aac3de99648cd0b Mon Sep 17 00:00:00 2001 From: JuanfeSanahuja Date: Thu, 11 Jan 2024 13:13:42 +0100 Subject: [PATCH 05/89] pom: exclude slf4j-simple from azure dependencies #TASK-5404 --- pom.xml | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/pom.xml b/pom.xml index 8da78d874e3..73f4a916fb3 100644 --- a/pom.xml +++ b/pom.xml @@ -849,6 +849,12 @@ com.microsoft.azure adal4j ${adal4j.version} + + + org.slf4j + slf4j-simple + + com.microsoft.graph @@ -874,11 +880,23 @@ com.microsoft.azure azure-client-runtime ${azure-client.version} + + + org.slf4j + slf4j-simple + + com.microsoft.azure azure-client-authentication ${azure-client.version} + + + org.slf4j + slf4j-simple + + org.apache.httpcomponents @@ -899,6 +917,12 @@ com.microsoft.azure azure-batch ${azure-batch.version} + + + org.slf4j + slf4j-simple + + io.fabric8 @@ -1005,6 +1029,12 @@ azure-storage-blob ${azure-storage-blob.version} ${azure.optional} + + + org.slf4j + slf4j-simple + + com.google.code.findbugs @@ -1040,6 +1070,12 @@ com.microsoft.azure azure ${azure.version} + + + org.slf4j + slf4j-simple + + org.glassfish.jersey.media From 3e90d6736ede77dcab73973f1ea139f4e89ca072 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Coll=20Morag=C3=B3n?= Date: Fri, 12 Jan 2024 14:25:04 +0000 Subject: [PATCH 06/89] storage: Fix hbase ssh command execution. Avoid double splitting. #TASK-5452 --- opencga-app/app/misc/scripts/hadoop-ssh.sh | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/opencga-app/app/misc/scripts/hadoop-ssh.sh b/opencga-app/app/misc/scripts/hadoop-ssh.sh index c39152339a9..30141a04074 100755 --- a/opencga-app/app/misc/scripts/hadoop-ssh.sh +++ b/opencga-app/app/misc/scripts/hadoop-ssh.sh @@ -1,45 +1,45 @@ #!/usr/bin/env sh -if [ -z ${HADOOP_SSH_USER} ] ; then +if [ -z "${HADOOP_SSH_USER}" ] ; then echo "Undefined HADOOP_SSH_USER" 1>&2 exit 1 fi -if [ -z ${HADOOP_SSH_HOST} ] ; then +if [ -z "${HADOOP_SSH_HOST}" ] ; then echo "Undefined HADOOP_SSH_HOST" 1>&2 exit 1 fi SSHPASS_CMD= -if [ -z ${SSHPASS} ] ; then +if [ -z "${SSHPASS}" ] ; then # If empty, assume ssh-key exists in the system SSHPASS_CMD="" else # If non zero, use sshpass command - SSHPASS_CMD="sshpass -e" + SSHPASS_CMD="sshpass -e " fi SSH_OPTS="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o ServerAliveInterval=60" -if [ ! -z ${HADOOP_SSH_KEY} ] && [ -f ${HADOOP_SSH_KEY} ] ; then +if [ -n "${HADOOP_SSH_KEY}" ] && [ -f "${HADOOP_SSH_KEY}" ] ; then SSH_OPTS="${SSH_OPTS} -i ${HADOOP_SSH_KEY}" fi echo "Connect to Hadoop edge node ${HADOOP_SSH_USER}@${HADOOP_SSH_HOST}" 1>&2 -echo "${SSHPASS_CMD} ssh ${SSH_OPTS} ${HADOOP_SSH_USER}@${HADOOP_SSH_HOST}" 1>&2 +echo "${SSHPASS_CMD}ssh ${SSH_OPTS} ${HADOOP_SSH_USER}@${HADOOP_SSH_HOST}" 1>&2 # Escape args with single quotes CMD= -for arg in $@ ; do +for arg in "$@" ; do # Escape single quote, if any : # arg=`echo $arg | sed "s/'/'\"'\"'/g"` # aaa'aaa --> 'aaa'"'"'aaa' - arg=`echo $arg | sed "s/'/'\\\\\\''/g"` # aaa'aaa --> 'aaa'\''aaa' + arg=$(echo "$arg" | sed "s/'/'\\\\\\''/g") # aaa'aaa --> 'aaa'\''aaa' CMD="${CMD}'${arg}' " done echo ${CMD} -${SSHPASS_CMD} ssh ${SSH_OPTS} ${HADOOP_SSH_USER}@${HADOOP_SSH_HOST} /bin/bash << EOF +${SSHPASS_CMD} ssh ${SSH_OPTS} "${HADOOP_SSH_USER}@${HADOOP_SSH_HOST}" /bin/bash << EOF export HADOOP_CLASSPATH=${HADOOP_CLASSPATH} export HADOOP_USER_CLASSPATH_FIRST=${HADOOP_USER_CLASSPATH_FIRST} From 9eaef09735656f4eaa84a36b0dc76d2f759ef209 Mon Sep 17 00:00:00 2001 From: JuanfeSanahuja Date: Thu, 18 Jan 2024 18:16:51 +0100 Subject: [PATCH 07/89] Copy method getObjectAsJSON to CommandExecutor for be used in enterprise #TASK-5482 --- .../opencga/app/cli/CommandExecutor.java | 99 +++++++++++++++++++ .../executors/OpencgaCommandExecutor.java | 85 +--------------- 2 files changed, 100 insertions(+), 84 deletions(-) diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/CommandExecutor.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/CommandExecutor.java index d4877431f35..3b855444adf 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/CommandExecutor.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/CommandExecutor.java @@ -17,16 +17,25 @@ package org.opencb.opencga.app.cli; import com.beust.jcommander.JCommander; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.ObjectMapper; import org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.Level; import org.apache.logging.log4j.core.config.Configurator; +import org.opencb.commons.datastore.core.ObjectMap; import org.opencb.commons.utils.FileUtils; import org.opencb.commons.utils.PrintUtils; +import org.opencb.opencga.app.cli.main.utils.CommandLineUtils; import org.opencb.opencga.app.cli.session.SessionManager; import org.opencb.opencga.client.config.ClientConfiguration; import org.opencb.opencga.client.exceptions.ClientException; +import org.opencb.opencga.client.rest.OpenCGAClient; import org.opencb.opencga.core.config.Configuration; import org.opencb.opencga.core.config.storage.StorageConfiguration; +import org.opencb.opencga.core.response.RestResponse; +import org.opencb.opencga.server.generator.models.RestCategory; +import org.opencb.opencga.server.generator.models.RestEndpoint; +import org.opencb.opencga.server.generator.models.RestParameter; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -36,6 +45,7 @@ import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; +import java.util.List; /** * Created by imedina on 19/04/16. @@ -281,6 +291,95 @@ public CommandExecutor setSessionManager(SessionManager sessionManager) { return this; } + + public String getObjectAsJSON(String objectCategory, String objectPath, OpenCGAClient openCGAClient) throws Exception { + StringBuilder jsonInString = new StringBuilder("\n"); + try { + ObjectMap queryParams = new ObjectMap(); + queryParams.putIfNotEmpty("category", objectCategory); + RestResponse response = openCGAClient.getMetaClient().api(queryParams); + ObjectMapper jsonObjectMapper = new ObjectMapper(); + for (List list : response.getResponses().get(0).getResults()) { + List categories = jsonObjectMapper.convertValue(list, new TypeReference>() {}); + for (RestCategory category : categories) { + for (RestEndpoint endpoint : category.getEndpoints()) { + if (objectPath.equals(endpoint.getPath())) { + boolean enc = false; + for (RestParameter parameter : endpoint.getParameters()) { + //jsonInString += parameter.getName()+":"+parameter.getAllowedValues()+"\n"; + if (parameter.getData() != null) { + enc = true; + jsonInString.append(printBody(parameter.getData(), "")); + } + } + if (!enc) { + jsonInString.append("No model available"); + } + // + } + } + } + } + } catch (Exception e) { + jsonInString = new StringBuilder("Data model not found."); + CommandLineUtils.error(e); + } + return jsonInString.toString(); + } + + private String printBody(List data, String tabs) { + String res = ""; + res += "{\n"; + String tab = " " + tabs; + for (RestParameter parameter : data) { + if (parameter.getData() == null) { + res += printParameter(parameter, tab); + } else { + res += tab + parameter.getName() + "\"" + ": [" + printBody(parameter.getData(), tab) + "],\n"; + } + } + res += tabs + "}"; + return res; + + } + + private String printParameter(RestParameter parameter, String tab) { + + return tab + "\"" + parameter.getName() + "\"" + ":" + printParameterValue(parameter) + ",\n"; + } + + private String printParameterValue(RestParameter parameter) { + + if(!StringUtils.isEmpty(parameter.getAllowedValues())){ + return parameter.getAllowedValues().replace(" ", "|"); + } + switch (parameter.getType()) { + case "Boolean": + case "java.lang.Boolean": + return "false"; + case "Long": + case "Float": + case "Double": + case "Integer": + case "int": + case "double": + case "float": + case "long": + return "0"; + case "List": + return "[\"\"]"; + case "Date": + return "\"dd/mm/yyyy\""; + case "Map": + return "{\"key\": \"value\"}"; + case "String": + return "\"\""; + default: + return "\"-\""; + } + } + + public Logger getLogger() { return logger; } diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/executors/OpencgaCommandExecutor.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/executors/OpencgaCommandExecutor.java index 8f935c36ff8..72f9bdd0e8c 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/executors/OpencgaCommandExecutor.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/executors/OpencgaCommandExecutor.java @@ -225,90 +225,7 @@ public OpencgaCommandExecutor setOpenCGAClient(OpenCGAClient openCGAClient) { } public String getObjectAsJSON(String objectCategory, String objectPath) throws Exception { - StringBuilder jsonInString = new StringBuilder("\n"); - try { - ObjectMap queryParams = new ObjectMap(); - queryParams.putIfNotEmpty("category", objectCategory); - RestResponse response = openCGAClient.getMetaClient().api(queryParams); - ObjectMapper jsonObjectMapper = new ObjectMapper(); - for (List list : response.getResponses().get(0).getResults()) { - List categories = jsonObjectMapper.convertValue(list, new TypeReference>() {}); - for (RestCategory category : categories) { - for (RestEndpoint endpoint : category.getEndpoints()) { - if (objectPath.equals(endpoint.getPath())) { - boolean enc = false; - for (RestParameter parameter : endpoint.getParameters()) { - //jsonInString += parameter.getName()+":"+parameter.getAllowedValues()+"\n"; - if (parameter.getData() != null) { - enc = true; - jsonInString.append(printBody(parameter.getData(), "")); - } - } - if (!enc) { - jsonInString.append("No model available"); - } - // - } - } - } - } - } catch (Exception e) { - jsonInString = new StringBuilder("Data model not found."); - CommandLineUtils.error(e); - } - return jsonInString.toString(); - } - - private String printBody(List data, String tabs) { - String res = ""; - res += "{\n"; - String tab = " " + tabs; - for (RestParameter parameter : data) { - if (parameter.getData() == null) { - res += printParameter(parameter, tab); - } else { - res += tab + parameter.getName() + "\"" + ": [" + printBody(parameter.getData(), tab) + "],\n"; - } - } - res += tabs + "}"; - return res; - - } - - private String printParameter(RestParameter parameter, String tab) { - - return tab + "\"" + parameter.getName() + "\"" + ":" + printParameterValue(parameter) + ",\n"; - } - - private String printParameterValue(RestParameter parameter) { - - if(!StringUtils.isEmpty(parameter.getAllowedValues())){ - return parameter.getAllowedValues().replace(" ", "|"); - } - switch (parameter.getType()) { - case "Boolean": - case "java.lang.Boolean": - return "false"; - case "Long": - case "Float": - case "Double": - case "Integer": - case "int": - case "double": - case "float": - case "long": - return "0"; - case "List": - return "[\"\"]"; - case "Date": - return "\"dd/mm/yyyy\""; - case "Map": - return "{\"key\": \"value\"}"; - case "String": - return "\"\""; - default: - return "\"-\""; - } + return super.getObjectAsJSON(objectCategory, objectPath, openCGAClient); } private boolean isNumeric(String type) { From 3f1c8f8b575b3f19d7951aedd809f5ba68a53670 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20T=C3=A1rraga=20Gim=C3=A9nez?= Date: Fri, 19 Jan 2024 12:07:32 +0100 Subject: [PATCH 08/89] app: update the content of the resource README file, #TASK-5501 --- opencga-app/app/analysis/resources/README | 57 ++--------------------- 1 file changed, 4 insertions(+), 53 deletions(-) diff --git a/opencga-app/app/analysis/resources/README b/opencga-app/app/analysis/resources/README index fa335694428..ed41c2e6f38 100644 --- a/opencga-app/app/analysis/resources/README +++ b/opencga-app/app/analysis/resources/README @@ -1,55 +1,6 @@ README - -In this folder, users should store external files to be used by some OpenCGA analysis. - -1) roleInCancer.txt[.gz] - -This file is used by interpretation clinical analysis, e.g., Tiering and TEAM analysis. - -It stores those genes which contain mutations that have been casually implicated in cancer. This information can be downloaded -from the Cancer Gene Census (CGC) at https://cancer.sanger.ac.uk/census - -The file consists of two tab-separated columns: the first one contains the gene name, and the second, the role in cancer, i.e.: oncogne, -TSG, fusion. In addition, lines starting with # are considered comments and will be ignored. - -Sample of a roleInCancer file: - -#Gene name Role in Cancer -A1CF oncogene -ABI1 TSG, fusion -ABL1 oncogene, fusion -ABL2 oncogene, fusion -ACKR3 oncogene, fusion -ACSL3 fusion -... -... - - -2) actionableVariants_xxx.txt[.gz] where xxx = assembly, e.g.: grch37 - -This file is used by interpretation clinical analysis, e.g., TEAM analysis. - -It stores variants that were identified as clinically actionable variants. The file consists of the following twelve tab-separated columns: - - Chromosome - - Start - - Stop - - Reference allele - - Alternate allele - - dbSNP ID - - ClinVar Variant ID - - HGVS - - Phenotype list - - Clinical significance - - Review status - - Submitter categories - -In addition, lines starting with # are considered comments and will be ignored. - -Sample fo an actionableVariants file: - -#Chromosome Start Stop ReferenceAllele AlternateAllele dbSNP ID ClinVar Variant ID hgvs PhenotypeList ClinicalSignificance ReviewStatus SubmitterCategories -2 47702269 47702269 C T rs28929483 1753 NM_000251.2(MSH2):c.1865C>T (p.Pro622Leu) Hereditary cancer-predisposing syndrome;Hereditary nonpolyposis colon cancer;Lynch syndrome;Lynch syndrome I Pathogenic reviewed by expert panel 3 -2 47657020 47657020 C T rs63751108 1755 NM_000251.2(MSH2):c.1216C>T (p.Arg406Ter) Carcinoma of colon;Hereditary cancer-predisposing syndrome;Hereditary nonpolyposis colon cancer;Lynch syndrome;Lynch syndrome I;not provided Pathogenic reviewed by expert panel 3 -... -... +This directory is designated for OpenCGA analyses to download the necessary external data. +For instance, during the first Exomiser analysis, the files '2109_hg38.zip' and '2109_phenotype.zip' will be downloaded +from the OpenCGA analysis URL and stored in the 'exomiser' folder within this directory. Subsequent Exomiser analyses will +then access this folder to read these files. From 0b8ca91200a5b457887744f8ff44b4d89858ccf1 Mon Sep 17 00:00:00 2001 From: JuanfeSanahuja Date: Tue, 23 Jan 2024 19:40:16 +0100 Subject: [PATCH 09/89] Added workaround for sonar --- pom.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pom.xml b/pom.xml index 73f4a916fb3..4be2bab2ecb 100644 --- a/pom.xml +++ b/pom.xml @@ -146,6 +146,12 @@ 2.5-20081211 2.23.0 + + true From d75b215b4a34eaff8ed2048b73ea61736e34f266 Mon Sep 17 00:00:00 2001 From: JuanfeSanahuja Date: Fri, 26 Jan 2024 18:25:21 +0100 Subject: [PATCH 10/89] CommanExecutor: Fix malformed JSON #TASK-5511 --- .../main/java/org/opencb/opencga/app/cli/CommandExecutor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/CommandExecutor.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/CommandExecutor.java index 3b855444adf..cd532449d4e 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/CommandExecutor.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/CommandExecutor.java @@ -335,7 +335,7 @@ private String printBody(List data, String tabs) { if (parameter.getData() == null) { res += printParameter(parameter, tab); } else { - res += tab + parameter.getName() + "\"" + ": [" + printBody(parameter.getData(), tab) + "],\n"; + res += tab + "\"" +parameter.getName() + "\"" + ": [" + printBody(parameter.getData(), tab) + "],\n"; } } res += tabs + "}"; From a3fcda03a8e4aaa425669ac912ee637167567496 Mon Sep 17 00:00:00 2001 From: JuanfeSanahuja Date: Tue, 30 Jan 2024 16:59:55 +0100 Subject: [PATCH 11/89] Clients for release 2.12.2 #TASK-5445 --- .../app/cli/main/OpenCgaCompleter.java | 4 +- .../app/cli/main/OpencgaCliOptionsParser.java | 3 +- .../AnalysisClinicalCommandExecutor.java | 47 ++++++++++++++ .../AnalysisClinicalCommandOptions.java | 61 +++++++++++++++++++ opencga-client/src/main/R/R/Admin-methods.R | 2 +- .../src/main/R/R/Alignment-methods.R | 2 +- opencga-client/src/main/R/R/AllGenerics.R | 22 +++---- .../src/main/R/R/Clinical-methods.R | 20 +++++- opencga-client/src/main/R/R/Cohort-methods.R | 4 +- opencga-client/src/main/R/R/Family-methods.R | 4 +- opencga-client/src/main/R/R/File-methods.R | 4 +- opencga-client/src/main/R/R/GA4GH-methods.R | 2 +- .../src/main/R/R/Individual-methods.R | 4 +- opencga-client/src/main/R/R/Job-methods.R | 4 +- opencga-client/src/main/R/R/Meta-methods.R | 2 +- .../src/main/R/R/Operation-methods.R | 2 +- opencga-client/src/main/R/R/Panel-methods.R | 4 +- opencga-client/src/main/R/R/Project-methods.R | 4 +- opencga-client/src/main/R/R/Sample-methods.R | 4 +- opencga-client/src/main/R/R/Study-methods.R | 4 +- opencga-client/src/main/R/R/User-methods.R | 4 +- opencga-client/src/main/R/R/Variant-methods.R | 2 +- .../client/rest/clients/AdminClient.java | 6 +- .../client/rest/clients/AlignmentClient.java | 6 +- .../rest/clients/ClinicalAnalysisClient.java | 29 ++++++++- .../client/rest/clients/CohortClient.java | 6 +- .../rest/clients/DiseasePanelClient.java | 6 +- .../client/rest/clients/FamilyClient.java | 6 +- .../client/rest/clients/FileClient.java | 6 +- .../client/rest/clients/GA4GHClient.java | 6 +- .../client/rest/clients/IndividualClient.java | 6 +- .../client/rest/clients/JobClient.java | 6 +- .../client/rest/clients/MetaClient.java | 6 +- .../client/rest/clients/ProjectClient.java | 6 +- .../client/rest/clients/SampleClient.java | 6 +- .../client/rest/clients/StudyClient.java | 6 +- .../client/rest/clients/UserClient.java | 6 +- .../client/rest/clients/VariantClient.java | 6 +- .../rest/clients/VariantOperationClient.java | 6 +- opencga-client/src/main/javascript/Admin.js | 2 +- .../src/main/javascript/Alignment.js | 2 +- .../src/main/javascript/ClinicalAnalysis.js | 23 ++++++- opencga-client/src/main/javascript/Cohort.js | 2 +- .../src/main/javascript/DiseasePanel.js | 2 +- opencga-client/src/main/javascript/Family.js | 2 +- opencga-client/src/main/javascript/File.js | 2 +- opencga-client/src/main/javascript/GA4GH.js | 2 +- .../src/main/javascript/Individual.js | 2 +- opencga-client/src/main/javascript/Job.js | 2 +- opencga-client/src/main/javascript/Meta.js | 2 +- opencga-client/src/main/javascript/Project.js | 2 +- opencga-client/src/main/javascript/Sample.js | 2 +- opencga-client/src/main/javascript/Study.js | 2 +- opencga-client/src/main/javascript/User.js | 2 +- opencga-client/src/main/javascript/Variant.js | 2 +- .../src/main/javascript/VariantOperation.js | 2 +- .../pyopencga/rest_clients/admin_client.py | 4 +- .../rest_clients/alignment_client.py | 4 +- .../rest_clients/clinical_analysis_client.py | 31 +++++++++- .../pyopencga/rest_clients/cohort_client.py | 4 +- .../rest_clients/disease_panel_client.py | 4 +- .../pyopencga/rest_clients/family_client.py | 4 +- .../pyopencga/rest_clients/file_client.py | 4 +- .../pyopencga/rest_clients/ga4gh_client.py | 4 +- .../rest_clients/individual_client.py | 4 +- .../pyopencga/rest_clients/job_client.py | 4 +- .../pyopencga/rest_clients/meta_client.py | 4 +- .../pyopencga/rest_clients/project_client.py | 4 +- .../pyopencga/rest_clients/sample_client.py | 4 +- .../pyopencga/rest_clients/study_client.py | 4 +- .../pyopencga/rest_clients/user_client.py | 4 +- .../pyopencga/rest_clients/variant_client.py | 4 +- .../rest_clients/variant_operation_client.py | 4 +- 73 files changed, 340 insertions(+), 144 deletions(-) diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpenCgaCompleter.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpenCgaCompleter.java index 154dd0010dd..31d1c757700 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpenCgaCompleter.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpenCgaCompleter.java @@ -1,5 +1,5 @@ /* -* Copyright 2015-2023-12-15 OpenCB +* Copyright 2015-2024-01-30 OpenCB * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -60,7 +60,7 @@ public abstract class OpenCgaCompleter implements Completer { .map(Candidate::new) .collect(toList()); - private List clinicalList = asList( "acl-update","annotation-sets-load","clinical-configuration-update","create","distinct","interpretation-distinct","interpretation-search","interpretation-info","interpreter-cancer-tiering-run","interpreter-exomiser-run","interpreter-team-run","interpreter-tiering-run","interpreter-zetta-run","rga-aggregation-stats","rga-gene-query","rga-gene-summary","rga-index-run","rga-individual-query","rga-individual-summary","rga-variant-query","rga-variant-summary","search","variant-query","acl","delete","update","annotation-sets-annotations-update","info","interpretation-create","interpretation-clear","interpretation-delete","interpretation-revert","interpretation-update") + private List clinicalList = asList( "acl-update","annotation-sets-load","clinical-configuration-update","create","distinct","interpretation-distinct","interpretation-search","interpretation-info","interpreter-cancer-tiering-run","interpreter-exomiser-run","interpreter-team-run","interpreter-tiering-run","interpreter-zetta-run","rga-aggregation-stats","rga-gene-query","rga-gene-summary","rga-index-run","rga-individual-query","rga-individual-summary","rga-variant-query","rga-variant-summary","search","variant-query","acl","delete","update","annotation-sets-annotations-update","info","interpretation-create","interpretation-clear","interpretation-delete","interpretation-revert","interpretation-update","report-update") .stream() .map(Candidate::new) .collect(toList()); diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpencgaCliOptionsParser.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpencgaCliOptionsParser.java index a88d83dac78..fe013c129cd 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpencgaCliOptionsParser.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpencgaCliOptionsParser.java @@ -1,5 +1,5 @@ /* -* Copyright 2015-2023-12-15 OpenCB +* Copyright 2015-2024-01-30 OpenCB * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -160,6 +160,7 @@ public OpencgaCliOptionsParser() { analysisClinicalSubCommands.addCommand("interpretation-delete", analysisClinicalCommandOptions.deleteInterpretationCommandOptions); analysisClinicalSubCommands.addCommand("interpretation-revert", analysisClinicalCommandOptions.revertInterpretationCommandOptions); analysisClinicalSubCommands.addCommand("interpretation-update", analysisClinicalCommandOptions.updateInterpretationCommandOptions); + analysisClinicalSubCommands.addCommand("report-update", analysisClinicalCommandOptions.updateReportCommandOptions); jobsCommandOptions = new JobsCommandOptions(commonCommandOptions, jCommander); jCommander.addCommand("jobs", jobsCommandOptions); diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/executors/AnalysisClinicalCommandExecutor.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/executors/AnalysisClinicalCommandExecutor.java index 490e6ca3166..22df7f71de9 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/executors/AnalysisClinicalCommandExecutor.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/executors/AnalysisClinicalCommandExecutor.java @@ -198,6 +198,9 @@ public void execute() throws Exception { case "interpretation-update": queryResponse = updateInterpretation(); break; + case "report-update": + queryResponse = updateReport(); + break; default: logger.error("Subcommand not valid"); break; @@ -1445,4 +1448,48 @@ private RestResponse updateInterpretation() throws Exception { } return openCGAClient.getClinicalAnalysisClient().updateInterpretation(commandOptions.clinicalAnalysis, commandOptions.interpretation, interpretationUpdateParams, queryParams); } + + private RestResponse updateReport() throws Exception { + logger.debug("Executing updateReport in Analysis - Clinical command line"); + + AnalysisClinicalCommandOptions.UpdateReportCommandOptions commandOptions = analysisClinicalCommandOptions.updateReportCommandOptions; + + ObjectMap queryParams = new ObjectMap(); + queryParams.putIfNotEmpty("include", commandOptions.include); + queryParams.putIfNotEmpty("exclude", commandOptions.exclude); + queryParams.putIfNotEmpty("study", commandOptions.study); + queryParams.putIfNotNull("supportingEvidencesAction", commandOptions.supportingEvidencesAction); + queryParams.putIfNotNull("includeResult", commandOptions.includeResult); + if (queryParams.get("study") == null && OpencgaMain.isShellMode()) { + queryParams.putIfNotEmpty("study", sessionManager.getSession().getCurrentStudy()); + } + + + ClinicalReport clinicalReport = null; + if (commandOptions.jsonDataModel) { + RestResponse res = new RestResponse<>(); + res.setType(QueryType.VOID); + PrintUtils.println(getObjectAsJSON(categoryName,"/{apiVersion}/analysis/clinical/{clinicalAnalysis}/report/update")); + return res; + } else if (commandOptions.jsonFile != null) { + clinicalReport = JacksonUtils.getDefaultObjectMapper() + .readValue(new java.io.File(commandOptions.jsonFile), ClinicalReport.class); + } else { + ObjectMap beanParams = new ObjectMap(); + putNestedIfNotEmpty(beanParams, "title",commandOptions.title, true); + putNestedIfNotEmpty(beanParams, "overview",commandOptions.overview, true); + putNestedIfNotEmpty(beanParams, "discussion.author",commandOptions.discussionAuthor, true); + putNestedIfNotEmpty(beanParams, "discussion.date",commandOptions.discussionDate, true); + putNestedIfNotEmpty(beanParams, "discussion.text",commandOptions.discussionText, true); + putNestedIfNotEmpty(beanParams, "logo",commandOptions.logo, true); + putNestedIfNotEmpty(beanParams, "signedBy",commandOptions.signedBy, true); + putNestedIfNotEmpty(beanParams, "signature",commandOptions.signature, true); + putNestedIfNotEmpty(beanParams, "date",commandOptions.date, true); + + clinicalReport = JacksonUtils.getDefaultObjectMapper().copy() + .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, true) + .readValue(beanParams.toJson(), ClinicalReport.class); + } + return openCGAClient.getClinicalAnalysisClient().updateReport(commandOptions.clinicalAnalysis, clinicalReport, queryParams); + } } \ No newline at end of file diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/AnalysisClinicalCommandOptions.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/AnalysisClinicalCommandOptions.java index 11d6220ddef..3a7ccffd4bd 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/AnalysisClinicalCommandOptions.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/AnalysisClinicalCommandOptions.java @@ -66,6 +66,7 @@ public class AnalysisClinicalCommandOptions { public DeleteInterpretationCommandOptions deleteInterpretationCommandOptions; public RevertInterpretationCommandOptions revertInterpretationCommandOptions; public UpdateInterpretationCommandOptions updateInterpretationCommandOptions; + public UpdateReportCommandOptions updateReportCommandOptions; public AnalysisClinicalCommandOptions(CommonCommandOptions commonCommandOptions, JCommander jCommander) { @@ -105,6 +106,7 @@ public AnalysisClinicalCommandOptions(CommonCommandOptions commonCommandOptions, this.deleteInterpretationCommandOptions = new DeleteInterpretationCommandOptions(); this.revertInterpretationCommandOptions = new RevertInterpretationCommandOptions(); this.updateInterpretationCommandOptions = new UpdateInterpretationCommandOptions(); + this.updateReportCommandOptions = new UpdateReportCommandOptions(); } @@ -2274,4 +2276,63 @@ public class UpdateInterpretationCommandOptions { } + @Parameters(commandNames = {"report-update"}, commandDescription ="Update clinical analysis report") + public class UpdateReportCommandOptions { + + @ParametersDelegate + public CommonCommandOptions commonOptions = commonCommandOptions; + + @Parameter(names = {"--json-file"}, description = "File with the body data in JSON format. Note, that using this parameter will ignore all the other parameters.", required = false, arity = 1) + public String jsonFile; + + @Parameter(names = {"--json-data-model"}, description = "Show example of file structure for body data.", help = true, arity = 0) + public Boolean jsonDataModel = false; + + @Parameter(names = {"--include", "-I"}, description = "Fields included in the response, whole JSON path must be provided", required = false, arity = 1) + public String include; + + @Parameter(names = {"--exclude", "-E"}, description = "Fields excluded in the response, whole JSON path must be provided", required = false, arity = 1) + public String exclude; + + @Parameter(names = {"--clinical-analysis"}, description = "Clinical analysis ID", required = true, arity = 1) + public String clinicalAnalysis; + + @Parameter(names = {"--study", "-s"}, description = "Study [[user@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) + public String study; + + @Parameter(names = {"--supporting-evidences-action"}, description = "Action to be performed if the array of supporting evidences is being updated.", required = false, arity = 1) + public String supportingEvidencesAction = "ADD"; + + @Parameter(names = {"--include-result"}, description = "Flag indicating to include the created or updated document result in the response", required = false, help = true, arity = 0) + public boolean includeResult = false; + + @Parameter(names = {"--title"}, description = "Report title.", required = false, arity = 1) + public String title; + + @Parameter(names = {"--overview"}, description = "Report overview.", required = false, arity = 1) + public String overview; + + @Parameter(names = {"--discussion-author"}, description = "The body web service author parameter", required = false, arity = 1) + public String discussionAuthor; + + @Parameter(names = {"--discussion-date"}, description = "The body web service date parameter", required = false, arity = 1) + public String discussionDate; + + @Parameter(names = {"--discussion-text"}, description = "The body web service text parameter", required = false, arity = 1) + public String discussionText; + + @Parameter(names = {"--logo"}, description = "Report logo.", required = false, arity = 1) + public String logo; + + @Parameter(names = {"--signed-by"}, description = "Indicates who has signed the report.", required = false, arity = 1) + public String signedBy; + + @Parameter(names = {"--signature"}, description = "Report signature.", required = false, arity = 1) + public String signature; + + @Parameter(names = {"--date"}, description = "Report date.", required = false, arity = 1) + public String date; + + } + } \ No newline at end of file diff --git a/opencga-client/src/main/R/R/Admin-methods.R b/opencga-client/src/main/R/R/Admin-methods.R index 82c35928a09..cd6c1bd235a 100644 --- a/opencga-client/src/main/R/R/Admin-methods.R +++ b/opencga-client/src/main/R/R/Admin-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2023-12-15 +# Autogenerated on: 2024-01-30 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/Alignment-methods.R b/opencga-client/src/main/R/R/Alignment-methods.R index 5f7dd5ccb76..a3110d0b076 100644 --- a/opencga-client/src/main/R/R/Alignment-methods.R +++ b/opencga-client/src/main/R/R/Alignment-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2023-12-15 +# Autogenerated on: 2024-01-30 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/AllGenerics.R b/opencga-client/src/main/R/R/AllGenerics.R index e617555c2fe..177a61e827a 100644 --- a/opencga-client/src/main/R/R/AllGenerics.R +++ b/opencga-client/src/main/R/R/AllGenerics.R @@ -1,51 +1,51 @@ # ############################################################################## ## UserClient -setGeneric("userClient", function(OpencgaR, filterId, user, users, endpointName, params=NULL, ...) +setGeneric("userClient", function(OpencgaR, user, users, filterId, endpointName, params=NULL, ...) standardGeneric("userClient")) # ############################################################################## ## ProjectClient -setGeneric("projectClient", function(OpencgaR, projects, project, endpointName, params=NULL, ...) +setGeneric("projectClient", function(OpencgaR, project, projects, endpointName, params=NULL, ...) standardGeneric("projectClient")) # ############################################################################## ## StudyClient -setGeneric("studyClient", function(OpencgaR, members, templateId, group, studies, variableSet, study, endpointName, params=NULL, ...) +setGeneric("studyClient", function(OpencgaR, studies, members, templateId, study, variableSet, group, endpointName, params=NULL, ...) standardGeneric("studyClient")) # ############################################################################## ## FileClient -setGeneric("fileClient", function(OpencgaR, members, annotationSet, files, folder, file, endpointName, params=NULL, ...) +setGeneric("fileClient", function(OpencgaR, members, folder, file, files, annotationSet, endpointName, params=NULL, ...) standardGeneric("fileClient")) # ############################################################################## ## JobClient -setGeneric("jobClient", function(OpencgaR, members, job, jobs, endpointName, params=NULL, ...) +setGeneric("jobClient", function(OpencgaR, jobs, members, job, endpointName, params=NULL, ...) standardGeneric("jobClient")) # ############################################################################## ## SampleClient -setGeneric("sampleClient", function(OpencgaR, samples, members, sample, annotationSet, endpointName, params=NULL, ...) +setGeneric("sampleClient", function(OpencgaR, annotationSet, members, sample, samples, endpointName, params=NULL, ...) standardGeneric("sampleClient")) # ############################################################################## ## IndividualClient -setGeneric("individualClient", function(OpencgaR, annotationSet, members, individual, individuals, endpointName, params=NULL, ...) +setGeneric("individualClient", function(OpencgaR, members, annotationSet, individuals, individual, endpointName, params=NULL, ...) standardGeneric("individualClient")) # ############################################################################## ## FamilyClient -setGeneric("familyClient", function(OpencgaR, family, members, annotationSet, families, endpointName, params=NULL, ...) +setGeneric("familyClient", function(OpencgaR, members, annotationSet, families, family, endpointName, params=NULL, ...) standardGeneric("familyClient")) # ############################################################################## ## CohortClient -setGeneric("cohortClient", function(OpencgaR, members, cohort, annotationSet, cohorts, endpointName, params=NULL, ...) +setGeneric("cohortClient", function(OpencgaR, cohort, annotationSet, members, cohorts, endpointName, params=NULL, ...) standardGeneric("cohortClient")) # ############################################################################## ## PanelClient -setGeneric("panelClient", function(OpencgaR, members, panels, endpointName, params=NULL, ...) +setGeneric("panelClient", function(OpencgaR, panels, members, endpointName, params=NULL, ...) standardGeneric("panelClient")) # ############################################################################## @@ -60,7 +60,7 @@ setGeneric("variantClient", function(OpencgaR, endpointName, params=NULL, ...) # ############################################################################## ## ClinicalClient -setGeneric("clinicalClient", function(OpencgaR, members, annotationSet, interpretation, clinicalAnalyses, clinicalAnalysis, interpretations, endpointName, params=NULL, ...) +setGeneric("clinicalClient", function(OpencgaR, members, interpretations, clinicalAnalysis, interpretation, annotationSet, clinicalAnalyses, endpointName, params=NULL, ...) standardGeneric("clinicalClient")) # ############################################################################## diff --git a/opencga-client/src/main/R/R/Clinical-methods.R b/opencga-client/src/main/R/R/Clinical-methods.R index a65b13dc3c0..9184f341a42 100644 --- a/opencga-client/src/main/R/R/Clinical-methods.R +++ b/opencga-client/src/main/R/R/Clinical-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2023-12-15 +# Autogenerated on: 2024-01-30 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -53,6 +53,7 @@ #' | deleteInterpretation | /{apiVersion}/analysis/clinical/{clinicalAnalysis}/interpretation/{interpretations}/delete | study, clinicalAnalysis[*], interpretations[*], setAsPrimary | #' | revertInterpretation | /{apiVersion}/analysis/clinical/{clinicalAnalysis}/interpretation/{interpretation}/revert | study, clinicalAnalysis[*], interpretation[*], version[*] | #' | updateInterpretation | /{apiVersion}/analysis/clinical/{clinicalAnalysis}/interpretation/{interpretation}/update | include, exclude, study, primaryFindingsAction, methodsAction, secondaryFindingsAction, commentsAction, panelsAction, setAs, clinicalAnalysis[*], interpretation[*], includeResult, body[*] | +#' | updateReport | /{apiVersion}/analysis/clinical/{clinicalAnalysis}/report/update | include, exclude, clinicalAnalysis[*], study, commentsAction, supportingEvidencesAction, filesAction, includeResult, body[*] | #' #' @md #' @seealso \url{http://docs.opencb.org/display/opencga/Using+OpenCGA} and the RESTful API documentation @@ -60,7 +61,7 @@ #' [*]: Required parameter #' @export -setMethod("clinicalClient", "OpencgaR", function(OpencgaR, members, annotationSet, interpretation, clinicalAnalyses, clinicalAnalysis, interpretations, endpointName, params=NULL, ...) { +setMethod("clinicalClient", "OpencgaR", function(OpencgaR, members, interpretations, clinicalAnalysis, interpretation, annotationSet, clinicalAnalyses, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/analysis/clinical/acl/{members}/update: @@ -715,5 +716,20 @@ setMethod("clinicalClient", "OpencgaR", function(OpencgaR, members, annotationSe updateInterpretation=fetchOpenCGA(object=OpencgaR, category="analysis/clinical", categoryId=clinicalAnalysis, subcategory="interpretation", subcategoryId=interpretation, action="update", params=params, httpMethod="POST", as.queryParam=NULL, ...), + + #' @section Endpoint /{apiVersion}/analysis/clinical/{clinicalAnalysis}/report/update: + #' Update clinical analysis report. + #' @param include Fields included in the response, whole JSON path must be provided. + #' @param exclude Fields excluded in the response, whole JSON path must be provided. + #' @param clinicalAnalysis Clinical analysis ID. + #' @param study Study [[user@]project:]study where study and project can be either the ID or UUID. + #' @param commentsAction Action to be performed if the array of comments is being updated. Allowed values: ['ADD REMOVE REPLACE'] + #' @param supportingEvidencesAction Action to be performed if the array of supporting evidences is being updated. Allowed values: ['ADD SET REMOVE'] + #' @param filesAction Action to be performed if the array of files is being updated. Allowed values: ['ADD SET REMOVE'] + #' @param includeResult Flag indicating to include the created or updated document result in the response. + #' @param data JSON containing clinical report information. + updateReport=fetchOpenCGA(object=OpencgaR, category="analysis/clinical", categoryId=clinicalAnalysis, + subcategory="report", subcategoryId=NULL, action="update", params=params, httpMethod="POST", + as.queryParam=NULL, ...), ) }) \ No newline at end of file diff --git a/opencga-client/src/main/R/R/Cohort-methods.R b/opencga-client/src/main/R/R/Cohort-methods.R index 5ae80da7c28..ff52e896b22 100644 --- a/opencga-client/src/main/R/R/Cohort-methods.R +++ b/opencga-client/src/main/R/R/Cohort-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2023-12-15 +# Autogenerated on: 2024-01-30 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -39,7 +39,7 @@ #' [*]: Required parameter #' @export -setMethod("cohortClient", "OpencgaR", function(OpencgaR, members, cohort, annotationSet, cohorts, endpointName, params=NULL, ...) { +setMethod("cohortClient", "OpencgaR", function(OpencgaR, cohort, annotationSet, members, cohorts, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/cohorts/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/Family-methods.R b/opencga-client/src/main/R/R/Family-methods.R index 12a05627674..a0ae9ced80d 100644 --- a/opencga-client/src/main/R/R/Family-methods.R +++ b/opencga-client/src/main/R/R/Family-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2023-12-15 +# Autogenerated on: 2024-01-30 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -38,7 +38,7 @@ #' [*]: Required parameter #' @export -setMethod("familyClient", "OpencgaR", function(OpencgaR, family, members, annotationSet, families, endpointName, params=NULL, ...) { +setMethod("familyClient", "OpencgaR", function(OpencgaR, members, annotationSet, families, family, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/families/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/File-methods.R b/opencga-client/src/main/R/R/File-methods.R index f99abec5c6a..aa5d9a763a1 100644 --- a/opencga-client/src/main/R/R/File-methods.R +++ b/opencga-client/src/main/R/R/File-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2023-12-15 +# Autogenerated on: 2024-01-30 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -54,7 +54,7 @@ #' [*]: Required parameter #' @export -setMethod("fileClient", "OpencgaR", function(OpencgaR, members, annotationSet, files, folder, file, endpointName, params=NULL, ...) { +setMethod("fileClient", "OpencgaR", function(OpencgaR, members, folder, file, files, annotationSet, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/files/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/GA4GH-methods.R b/opencga-client/src/main/R/R/GA4GH-methods.R index 6c33f10e805..0a240e6d6a3 100644 --- a/opencga-client/src/main/R/R/GA4GH-methods.R +++ b/opencga-client/src/main/R/R/GA4GH-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2023-12-15 +# Autogenerated on: 2024-01-30 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/Individual-methods.R b/opencga-client/src/main/R/R/Individual-methods.R index 8425d762354..0c81ab901f7 100644 --- a/opencga-client/src/main/R/R/Individual-methods.R +++ b/opencga-client/src/main/R/R/Individual-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2023-12-15 +# Autogenerated on: 2024-01-30 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -39,7 +39,7 @@ #' [*]: Required parameter #' @export -setMethod("individualClient", "OpencgaR", function(OpencgaR, annotationSet, members, individual, individuals, endpointName, params=NULL, ...) { +setMethod("individualClient", "OpencgaR", function(OpencgaR, members, annotationSet, individuals, individual, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/individuals/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/Job-methods.R b/opencga-client/src/main/R/R/Job-methods.R index eecb9ef55ee..44abcff66ef 100644 --- a/opencga-client/src/main/R/R/Job-methods.R +++ b/opencga-client/src/main/R/R/Job-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2023-12-15 +# Autogenerated on: 2024-01-30 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -40,7 +40,7 @@ #' [*]: Required parameter #' @export -setMethod("jobClient", "OpencgaR", function(OpencgaR, members, job, jobs, endpointName, params=NULL, ...) { +setMethod("jobClient", "OpencgaR", function(OpencgaR, jobs, members, job, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/jobs/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/Meta-methods.R b/opencga-client/src/main/R/R/Meta-methods.R index dc99ac4767f..d8fa6d73da6 100644 --- a/opencga-client/src/main/R/R/Meta-methods.R +++ b/opencga-client/src/main/R/R/Meta-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2023-12-15 +# Autogenerated on: 2024-01-30 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/Operation-methods.R b/opencga-client/src/main/R/R/Operation-methods.R index c5e5da6eb2f..5347a1eca81 100644 --- a/opencga-client/src/main/R/R/Operation-methods.R +++ b/opencga-client/src/main/R/R/Operation-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2023-12-15 +# Autogenerated on: 2024-01-30 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/Panel-methods.R b/opencga-client/src/main/R/R/Panel-methods.R index 6c3328e544c..cd408e39313 100644 --- a/opencga-client/src/main/R/R/Panel-methods.R +++ b/opencga-client/src/main/R/R/Panel-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2023-12-15 +# Autogenerated on: 2024-01-30 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -36,7 +36,7 @@ #' [*]: Required parameter #' @export -setMethod("panelClient", "OpencgaR", function(OpencgaR, members, panels, endpointName, params=NULL, ...) { +setMethod("panelClient", "OpencgaR", function(OpencgaR, panels, members, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/panels/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/Project-methods.R b/opencga-client/src/main/R/R/Project-methods.R index f4126c3670d..4af959c7597 100644 --- a/opencga-client/src/main/R/R/Project-methods.R +++ b/opencga-client/src/main/R/R/Project-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2023-12-15 +# Autogenerated on: 2024-01-30 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -34,7 +34,7 @@ #' [*]: Required parameter #' @export -setMethod("projectClient", "OpencgaR", function(OpencgaR, projects, project, endpointName, params=NULL, ...) { +setMethod("projectClient", "OpencgaR", function(OpencgaR, project, projects, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/projects/create: diff --git a/opencga-client/src/main/R/R/Sample-methods.R b/opencga-client/src/main/R/R/Sample-methods.R index 055fb46a729..dac7f36ccbd 100644 --- a/opencga-client/src/main/R/R/Sample-methods.R +++ b/opencga-client/src/main/R/R/Sample-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2023-12-15 +# Autogenerated on: 2024-01-30 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -39,7 +39,7 @@ #' [*]: Required parameter #' @export -setMethod("sampleClient", "OpencgaR", function(OpencgaR, samples, members, sample, annotationSet, endpointName, params=NULL, ...) { +setMethod("sampleClient", "OpencgaR", function(OpencgaR, annotationSet, members, sample, samples, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/samples/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/Study-methods.R b/opencga-client/src/main/R/R/Study-methods.R index e816b97a05f..cbce8be6beb 100644 --- a/opencga-client/src/main/R/R/Study-methods.R +++ b/opencga-client/src/main/R/R/Study-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2023-12-15 +# Autogenerated on: 2024-01-30 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -46,7 +46,7 @@ #' [*]: Required parameter #' @export -setMethod("studyClient", "OpencgaR", function(OpencgaR, members, templateId, group, studies, variableSet, study, endpointName, params=NULL, ...) { +setMethod("studyClient", "OpencgaR", function(OpencgaR, studies, members, templateId, study, variableSet, group, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/studies/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/User-methods.R b/opencga-client/src/main/R/R/User-methods.R index 908e172768b..3505c6cffc5 100644 --- a/opencga-client/src/main/R/R/User-methods.R +++ b/opencga-client/src/main/R/R/User-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2023-12-15 +# Autogenerated on: 2024-01-30 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -38,7 +38,7 @@ #' [*]: Required parameter #' @export -setMethod("userClient", "OpencgaR", function(OpencgaR, filterId, user, users, endpointName, params=NULL, ...) { +setMethod("userClient", "OpencgaR", function(OpencgaR, user, users, filterId, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/users/login: diff --git a/opencga-client/src/main/R/R/Variant-methods.R b/opencga-client/src/main/R/R/Variant-methods.R index 86b24f1e3d2..71116af6b8c 100644 --- a/opencga-client/src/main/R/R/Variant-methods.R +++ b/opencga-client/src/main/R/R/Variant-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2023-12-15 +# Autogenerated on: 2024-01-30 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AdminClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AdminClient.java index 5861b2857e5..226785e12de 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AdminClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AdminClient.java @@ -1,5 +1,5 @@ /* -* Copyright 2015-2023 OpenCB +* Copyright 2015-2024 OpenCB * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -36,7 +36,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2023-12-15 +* Autogenerated on: 2024-01-30 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -45,7 +45,7 @@ /** * This class contains methods for the Admin webservices. - * Client version: 2.12.1-SNAPSHOT + * Client version: 2.12.2-SNAPSHOT * PATH: admin */ public class AdminClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AlignmentClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AlignmentClient.java index c9c840941a1..9f1fe0c3762 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AlignmentClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AlignmentClient.java @@ -1,5 +1,5 @@ /* -* Copyright 2015-2023 OpenCB +* Copyright 2015-2024 OpenCB * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -40,7 +40,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2023-12-15 +* Autogenerated on: 2024-01-30 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -49,7 +49,7 @@ /** * This class contains methods for the Alignment webservices. - * Client version: 2.12.1-SNAPSHOT + * Client version: 2.12.2-SNAPSHOT * PATH: analysis/alignment */ public class AlignmentClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ClinicalAnalysisClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ClinicalAnalysisClient.java index 600f937bb50..2a536a0200b 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ClinicalAnalysisClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ClinicalAnalysisClient.java @@ -1,5 +1,5 @@ /* -* Copyright 2015-2023 OpenCB +* Copyright 2015-2024 OpenCB * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -34,6 +34,7 @@ import org.opencb.opencga.core.models.clinical.ClinicalAnalysisAclUpdateParams; import org.opencb.opencga.core.models.clinical.ClinicalAnalysisCreateParams; import org.opencb.opencga.core.models.clinical.ClinicalAnalysisUpdateParams; +import org.opencb.opencga.core.models.clinical.ClinicalReport; import org.opencb.opencga.core.models.clinical.ExomiserInterpretationAnalysisParams; import org.opencb.opencga.core.models.clinical.Interpretation; import org.opencb.opencga.core.models.clinical.InterpretationCreateParams; @@ -53,7 +54,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2023-12-15 +* Autogenerated on: 2024-01-30 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -62,7 +63,7 @@ /** * This class contains methods for the ClinicalAnalysis webservices. - * Client version: 2.12.1-SNAPSHOT + * Client version: 2.12.2-SNAPSHOT * PATH: analysis/clinical */ public class ClinicalAnalysisClient extends AbstractParentClient { @@ -978,4 +979,26 @@ public RestResponse updateInterpretation(String clinicalAnalysis return execute("analysis/clinical", clinicalAnalysis, "interpretation", interpretation, "update", params, POST, Interpretation.class); } + + /** + * Update clinical analysis report. + * @param clinicalAnalysis Clinical analysis ID. + * @param data JSON containing clinical report information. + * @param params Map containing any of the following optional parameters. + * include: Fields included in the response, whole JSON path must be provided. + * exclude: Fields excluded in the response, whole JSON path must be provided. + * study: Study [[user@]project:]study where study and project can be either the ID or UUID. + * commentsAction: Action to be performed if the array of comments is being updated. + * supportingEvidencesAction: Action to be performed if the array of supporting evidences is being updated. + * filesAction: Action to be performed if the array of files is being updated. + * includeResult: Flag indicating to include the created or updated document result in the response. + * @return a RestResponse object. + * @throws ClientException ClientException if there is any server error. + */ + public RestResponse updateReport(String clinicalAnalysis, ClinicalReport data, ObjectMap params) + throws ClientException { + params = params != null ? params : new ObjectMap(); + params.put("body", data); + return execute("analysis/clinical", clinicalAnalysis, "report", null, "update", params, POST, ClinicalReport.class); + } } diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/CohortClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/CohortClient.java index 7551de54734..e70f528ead2 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/CohortClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/CohortClient.java @@ -1,5 +1,5 @@ /* -* Copyright 2015-2023 OpenCB +* Copyright 2015-2024 OpenCB * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -37,7 +37,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2023-12-15 +* Autogenerated on: 2024-01-30 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -46,7 +46,7 @@ /** * This class contains methods for the Cohort webservices. - * Client version: 2.12.1-SNAPSHOT + * Client version: 2.12.2-SNAPSHOT * PATH: cohorts */ public class CohortClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/DiseasePanelClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/DiseasePanelClient.java index a2d2294288f..ddbc803466a 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/DiseasePanelClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/DiseasePanelClient.java @@ -1,5 +1,5 @@ /* -* Copyright 2015-2023 OpenCB +* Copyright 2015-2024 OpenCB * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -35,7 +35,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2023-12-15 +* Autogenerated on: 2024-01-30 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -44,7 +44,7 @@ /** * This class contains methods for the DiseasePanel webservices. - * Client version: 2.12.1-SNAPSHOT + * Client version: 2.12.2-SNAPSHOT * PATH: panels */ public class DiseasePanelClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FamilyClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FamilyClient.java index 3864e673c1c..bbd0ece17d3 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FamilyClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FamilyClient.java @@ -1,5 +1,5 @@ /* -* Copyright 2015-2023 OpenCB +* Copyright 2015-2024 OpenCB * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -36,7 +36,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2023-12-15 +* Autogenerated on: 2024-01-30 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -45,7 +45,7 @@ /** * This class contains methods for the Family webservices. - * Client version: 2.12.1-SNAPSHOT + * Client version: 2.12.2-SNAPSHOT * PATH: families */ public class FamilyClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FileClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FileClient.java index e31b21892cf..d180259c267 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FileClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FileClient.java @@ -1,5 +1,5 @@ /* -* Copyright 2015-2023 OpenCB +* Copyright 2015-2024 OpenCB * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -43,7 +43,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2023-12-15 +* Autogenerated on: 2024-01-30 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -52,7 +52,7 @@ /** * This class contains methods for the File webservices. - * Client version: 2.12.1-SNAPSHOT + * Client version: 2.12.2-SNAPSHOT * PATH: files */ public class FileClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/GA4GHClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/GA4GHClient.java index 8ed457c91fa..792bd4512cf 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/GA4GHClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/GA4GHClient.java @@ -1,5 +1,5 @@ /* -* Copyright 2015-2023 OpenCB +* Copyright 2015-2024 OpenCB * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -27,7 +27,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2023-12-15 +* Autogenerated on: 2024-01-30 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -36,7 +36,7 @@ /** * This class contains methods for the GA4GH webservices. - * Client version: 2.12.1-SNAPSHOT + * Client version: 2.12.2-SNAPSHOT * PATH: ga4gh */ public class GA4GHClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/IndividualClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/IndividualClient.java index 2d62e0d63c9..39d0f05a7c5 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/IndividualClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/IndividualClient.java @@ -1,5 +1,5 @@ /* -* Copyright 2015-2023 OpenCB +* Copyright 2015-2024 OpenCB * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -36,7 +36,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2023-12-15 +* Autogenerated on: 2024-01-30 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -45,7 +45,7 @@ /** * This class contains methods for the Individual webservices. - * Client version: 2.12.1-SNAPSHOT + * Client version: 2.12.2-SNAPSHOT * PATH: individuals */ public class IndividualClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/JobClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/JobClient.java index 0847486e2f3..93cc6bd33b5 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/JobClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/JobClient.java @@ -1,5 +1,5 @@ /* -* Copyright 2015-2023 OpenCB +* Copyright 2015-2024 OpenCB * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -37,7 +37,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2023-12-15 +* Autogenerated on: 2024-01-30 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -46,7 +46,7 @@ /** * This class contains methods for the Job webservices. - * Client version: 2.12.1-SNAPSHOT + * Client version: 2.12.2-SNAPSHOT * PATH: jobs */ public class JobClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/MetaClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/MetaClient.java index 00f596604e2..c00a5087087 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/MetaClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/MetaClient.java @@ -1,5 +1,5 @@ /* -* Copyright 2015-2023 OpenCB +* Copyright 2015-2024 OpenCB * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -28,7 +28,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2023-12-15 +* Autogenerated on: 2024-01-30 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -37,7 +37,7 @@ /** * This class contains methods for the Meta webservices. - * Client version: 2.12.1-SNAPSHOT + * Client version: 2.12.2-SNAPSHOT * PATH: meta */ public class MetaClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ProjectClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ProjectClient.java index 93ff43c9374..d3f6a379f3a 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ProjectClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ProjectClient.java @@ -1,5 +1,5 @@ /* -* Copyright 2015-2023 OpenCB +* Copyright 2015-2024 OpenCB * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -32,7 +32,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2023-12-15 +* Autogenerated on: 2024-01-30 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -41,7 +41,7 @@ /** * This class contains methods for the Project webservices. - * Client version: 2.12.1-SNAPSHOT + * Client version: 2.12.2-SNAPSHOT * PATH: projects */ public class ProjectClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/SampleClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/SampleClient.java index 68cf5b5bd88..fd4789a4dc4 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/SampleClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/SampleClient.java @@ -1,5 +1,5 @@ /* -* Copyright 2015-2023 OpenCB +* Copyright 2015-2024 OpenCB * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -36,7 +36,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2023-12-15 +* Autogenerated on: 2024-01-30 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -45,7 +45,7 @@ /** * This class contains methods for the Sample webservices. - * Client version: 2.12.1-SNAPSHOT + * Client version: 2.12.2-SNAPSHOT * PATH: samples */ public class SampleClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/StudyClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/StudyClient.java index 29e8f294907..c537f9b4227 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/StudyClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/StudyClient.java @@ -1,5 +1,5 @@ /* -* Copyright 2015-2023 OpenCB +* Copyright 2015-2024 OpenCB * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -45,7 +45,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2023-12-15 +* Autogenerated on: 2024-01-30 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -54,7 +54,7 @@ /** * This class contains methods for the Study webservices. - * Client version: 2.12.1-SNAPSHOT + * Client version: 2.12.2-SNAPSHOT * PATH: studies */ public class StudyClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/UserClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/UserClient.java index 0494c7c07be..0a6620159a8 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/UserClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/UserClient.java @@ -1,5 +1,5 @@ /* -* Copyright 2015-2023 OpenCB +* Copyright 2015-2024 OpenCB * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -36,7 +36,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2023-12-15 +* Autogenerated on: 2024-01-30 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -45,7 +45,7 @@ /** * This class contains methods for the User webservices. - * Client version: 2.12.1-SNAPSHOT + * Client version: 2.12.2-SNAPSHOT * PATH: users */ public class UserClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantClient.java index 9abf7befe41..bb2741388d7 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantClient.java @@ -1,5 +1,5 @@ /* -* Copyright 2015-2023 OpenCB +* Copyright 2015-2024 OpenCB * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -62,7 +62,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2023-12-15 +* Autogenerated on: 2024-01-30 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -71,7 +71,7 @@ /** * This class contains methods for the Variant webservices. - * Client version: 2.12.1-SNAPSHOT + * Client version: 2.12.2-SNAPSHOT * PATH: analysis/variant */ public class VariantClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantOperationClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantOperationClient.java index 8928db2a550..66d77561bba 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantOperationClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantOperationClient.java @@ -1,5 +1,5 @@ /* -* Copyright 2015-2023 OpenCB +* Copyright 2015-2024 OpenCB * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -50,7 +50,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2023-12-15 +* Autogenerated on: 2024-01-30 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -59,7 +59,7 @@ /** * This class contains methods for the VariantOperation webservices. - * Client version: 2.12.1-SNAPSHOT + * Client version: 2.12.2-SNAPSHOT * PATH: operation */ public class VariantOperationClient extends AbstractParentClient { diff --git a/opencga-client/src/main/javascript/Admin.js b/opencga-client/src/main/javascript/Admin.js index 72ee4c5d577..d533d8eb0ba 100644 --- a/opencga-client/src/main/javascript/Admin.js +++ b/opencga-client/src/main/javascript/Admin.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2023-12-15 + * Autogenerated on: 2024-01-30 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Alignment.js b/opencga-client/src/main/javascript/Alignment.js index 93ee35f4d5d..b4847e1dac0 100644 --- a/opencga-client/src/main/javascript/Alignment.js +++ b/opencga-client/src/main/javascript/Alignment.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2023-12-15 + * Autogenerated on: 2024-01-30 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/ClinicalAnalysis.js b/opencga-client/src/main/javascript/ClinicalAnalysis.js index 79e9a43e96f..3430f69661a 100644 --- a/opencga-client/src/main/javascript/ClinicalAnalysis.js +++ b/opencga-client/src/main/javascript/ClinicalAnalysis.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2023-12-15 + * Autogenerated on: 2024-01-30 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -845,4 +845,25 @@ export default class ClinicalAnalysis extends OpenCGAParentClass { return this._post("analysis/clinical", clinicalAnalysis, "interpretation", interpretation, "update", data, params); } + /** Update clinical analysis report + * @param {String} clinicalAnalysis - Clinical analysis ID. + * @param {Object} data - JSON containing clinical report information. + * @param {Object} [params] - The Object containing the following optional parameters: + * @param {String} [params.include] - Fields included in the response, whole JSON path must be provided. + * @param {String} [params.exclude] - Fields excluded in the response, whole JSON path must be provided. + * @param {String} [params.study] - Study [[user@]project:]study where study and project can be either the ID or UUID. + * @param {"ADD REMOVE REPLACE"} [params.commentsAction = "ADD"] - Action to be performed if the array of comments is being updated. The + * default value is ADD. + * @param {"ADD SET REMOVE"} [params.supportingEvidencesAction = "ADD"] - Action to be performed if the array of supporting evidences is + * being updated. The default value is ADD. + * @param {"ADD SET REMOVE"} [params.filesAction = "ADD"] - Action to be performed if the array of files is being updated. The default + * value is ADD. + * @param {Boolean} [params.includeResult = "false"] - Flag indicating to include the created or updated document result in the response. + * The default value is false. + * @returns {Promise} Promise object in the form of RestResponse instance. + */ + updateReport(clinicalAnalysis, data, params) { + return this._post("analysis/clinical", clinicalAnalysis, "report", null, "update", data, params); + } + } \ No newline at end of file diff --git a/opencga-client/src/main/javascript/Cohort.js b/opencga-client/src/main/javascript/Cohort.js index b08e27f1127..badd624d5ae 100644 --- a/opencga-client/src/main/javascript/Cohort.js +++ b/opencga-client/src/main/javascript/Cohort.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2023-12-15 + * Autogenerated on: 2024-01-30 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/DiseasePanel.js b/opencga-client/src/main/javascript/DiseasePanel.js index db336df392c..628b7c44bf2 100644 --- a/opencga-client/src/main/javascript/DiseasePanel.js +++ b/opencga-client/src/main/javascript/DiseasePanel.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2023-12-15 + * Autogenerated on: 2024-01-30 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Family.js b/opencga-client/src/main/javascript/Family.js index 1531a41b607..5488744f8cd 100644 --- a/opencga-client/src/main/javascript/Family.js +++ b/opencga-client/src/main/javascript/Family.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2023-12-15 + * Autogenerated on: 2024-01-30 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/File.js b/opencga-client/src/main/javascript/File.js index 660d3f3733c..54ab6b38608 100644 --- a/opencga-client/src/main/javascript/File.js +++ b/opencga-client/src/main/javascript/File.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2023-12-15 + * Autogenerated on: 2024-01-30 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/GA4GH.js b/opencga-client/src/main/javascript/GA4GH.js index 7eb8bb8f1ac..fcce4ffa025 100644 --- a/opencga-client/src/main/javascript/GA4GH.js +++ b/opencga-client/src/main/javascript/GA4GH.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2023-12-15 + * Autogenerated on: 2024-01-30 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Individual.js b/opencga-client/src/main/javascript/Individual.js index 43f3cd2e2ed..6b8f1ecd931 100644 --- a/opencga-client/src/main/javascript/Individual.js +++ b/opencga-client/src/main/javascript/Individual.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2023-12-15 + * Autogenerated on: 2024-01-30 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Job.js b/opencga-client/src/main/javascript/Job.js index 9273b924274..c92fb36da73 100644 --- a/opencga-client/src/main/javascript/Job.js +++ b/opencga-client/src/main/javascript/Job.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2023-12-15 + * Autogenerated on: 2024-01-30 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Meta.js b/opencga-client/src/main/javascript/Meta.js index fb5f1f99602..1fae236ef72 100644 --- a/opencga-client/src/main/javascript/Meta.js +++ b/opencga-client/src/main/javascript/Meta.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2023-12-15 + * Autogenerated on: 2024-01-30 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Project.js b/opencga-client/src/main/javascript/Project.js index 61cfe76321a..a1a491cfc74 100644 --- a/opencga-client/src/main/javascript/Project.js +++ b/opencga-client/src/main/javascript/Project.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2023-12-15 + * Autogenerated on: 2024-01-30 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Sample.js b/opencga-client/src/main/javascript/Sample.js index b28d8147fb9..f0e3976fcfd 100644 --- a/opencga-client/src/main/javascript/Sample.js +++ b/opencga-client/src/main/javascript/Sample.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2023-12-15 + * Autogenerated on: 2024-01-30 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Study.js b/opencga-client/src/main/javascript/Study.js index 11d0ae3b98e..183cf9ac13a 100644 --- a/opencga-client/src/main/javascript/Study.js +++ b/opencga-client/src/main/javascript/Study.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2023-12-15 + * Autogenerated on: 2024-01-30 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/User.js b/opencga-client/src/main/javascript/User.js index 90615f3cca2..533db2eada8 100644 --- a/opencga-client/src/main/javascript/User.js +++ b/opencga-client/src/main/javascript/User.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2023-12-15 + * Autogenerated on: 2024-01-30 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Variant.js b/opencga-client/src/main/javascript/Variant.js index 9a3df7f9fd1..9bf3047933e 100644 --- a/opencga-client/src/main/javascript/Variant.js +++ b/opencga-client/src/main/javascript/Variant.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2023-12-15 + * Autogenerated on: 2024-01-30 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/VariantOperation.js b/opencga-client/src/main/javascript/VariantOperation.js index 30c9ad7bbc0..a64b11f4c83 100644 --- a/opencga-client/src/main/javascript/VariantOperation.js +++ b/opencga-client/src/main/javascript/VariantOperation.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2023-12-15 + * Autogenerated on: 2024-01-30 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/admin_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/admin_client.py index e976c0681a9..343834c5ef7 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/admin_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/admin_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2023-12-15 + Autogenerated on: 2024-01-30 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class Admin(_ParentRestClient): """ This class contains methods for the 'Admin' webservices - Client version: 2.12.1-SNAPSHOT + Client version: 2.12.2-SNAPSHOT PATH: /{apiVersion}/admin """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/alignment_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/alignment_client.py index a0f056eee50..c400a3b2fd1 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/alignment_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/alignment_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2023-12-15 + Autogenerated on: 2024-01-30 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class Alignment(_ParentRestClient): """ This class contains methods for the 'Analysis - Alignment' webservices - Client version: 2.12.1-SNAPSHOT + Client version: 2.12.2-SNAPSHOT PATH: /{apiVersion}/analysis/alignment """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/clinical_analysis_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/clinical_analysis_client.py index feade5634db..f53c3ec76af 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/clinical_analysis_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/clinical_analysis_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2023-12-15 + Autogenerated on: 2024-01-30 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class ClinicalAnalysis(_ParentRestClient): """ This class contains methods for the 'Analysis - Clinical' webservices - Client version: 2.12.1-SNAPSHOT + Client version: 2.12.2-SNAPSHOT PATH: /{apiVersion}/analysis/clinical """ @@ -1069,3 +1069,30 @@ def update_interpretation(self, clinical_analysis, interpretation, data=None, ** return self._post(category='analysis/clinical', resource='update', query_id=clinical_analysis, subcategory='interpretation', second_query_id=interpretation, data=data, **options) + def update_report(self, clinical_analysis, data=None, **options): + """ + Update clinical analysis report. + PATH: /{apiVersion}/analysis/clinical/{clinicalAnalysis}/report/update + + :param dict data: JSON containing clinical report information. + (REQUIRED) + :param str clinical_analysis: Clinical analysis ID. (REQUIRED) + :param str include: Fields included in the response, whole JSON path + must be provided. + :param str exclude: Fields excluded in the response, whole JSON path + must be provided. + :param str study: Study [[user@]project:]study where study and project + can be either the ID or UUID. + :param str comments_action: Action to be performed if the array of + comments is being updated. Allowed values: ['ADD REMOVE REPLACE'] + :param str supporting_evidences_action: Action to be performed if the + array of supporting evidences is being updated. Allowed values: + ['ADD SET REMOVE'] + :param str files_action: Action to be performed if the array of files + is being updated. Allowed values: ['ADD SET REMOVE'] + :param bool include_result: Flag indicating to include the created or + updated document result in the response. + """ + + return self._post(category='analysis/clinical', resource='update', query_id=clinical_analysis, subcategory='report', data=data, **options) + diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/cohort_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/cohort_client.py index a9987346408..677706b1e58 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/cohort_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/cohort_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2023-12-15 + Autogenerated on: 2024-01-30 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class Cohort(_ParentRestClient): """ This class contains methods for the 'Cohorts' webservices - Client version: 2.12.1-SNAPSHOT + Client version: 2.12.2-SNAPSHOT PATH: /{apiVersion}/cohorts """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/disease_panel_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/disease_panel_client.py index cbdf3677d81..a8ae201e7ef 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/disease_panel_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/disease_panel_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2023-12-15 + Autogenerated on: 2024-01-30 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class DiseasePanel(_ParentRestClient): """ This class contains methods for the 'Disease Panels' webservices - Client version: 2.12.1-SNAPSHOT + Client version: 2.12.2-SNAPSHOT PATH: /{apiVersion}/panels """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/family_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/family_client.py index b2567e84331..cc9fa767f0f 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/family_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/family_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2023-12-15 + Autogenerated on: 2024-01-30 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class Family(_ParentRestClient): """ This class contains methods for the 'Families' webservices - Client version: 2.12.1-SNAPSHOT + Client version: 2.12.2-SNAPSHOT PATH: /{apiVersion}/families """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/file_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/file_client.py index 78303d714e9..c72e0ffd925 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/file_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/file_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2023-12-15 + Autogenerated on: 2024-01-30 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class File(_ParentRestClient): """ This class contains methods for the 'Files' webservices - Client version: 2.12.1-SNAPSHOT + Client version: 2.12.2-SNAPSHOT PATH: /{apiVersion}/files """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/ga4gh_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/ga4gh_client.py index 8225d5bf86f..86d7747f04b 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/ga4gh_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/ga4gh_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2023-12-15 + Autogenerated on: 2024-01-30 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class GA4GH(_ParentRestClient): """ This class contains methods for the 'GA4GH' webservices - Client version: 2.12.1-SNAPSHOT + Client version: 2.12.2-SNAPSHOT PATH: /{apiVersion}/ga4gh """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/individual_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/individual_client.py index 36a740bb26b..db1015702ce 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/individual_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/individual_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2023-12-15 + Autogenerated on: 2024-01-30 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class Individual(_ParentRestClient): """ This class contains methods for the 'Individuals' webservices - Client version: 2.12.1-SNAPSHOT + Client version: 2.12.2-SNAPSHOT PATH: /{apiVersion}/individuals """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/job_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/job_client.py index 2fadce8f58f..838451d7ea4 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/job_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/job_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2023-12-15 + Autogenerated on: 2024-01-30 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class Job(_ParentRestClient): """ This class contains methods for the 'Jobs' webservices - Client version: 2.12.1-SNAPSHOT + Client version: 2.12.2-SNAPSHOT PATH: /{apiVersion}/jobs """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/meta_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/meta_client.py index 56b398093e8..a105a0c620b 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/meta_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/meta_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2023-12-15 + Autogenerated on: 2024-01-30 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class Meta(_ParentRestClient): """ This class contains methods for the 'Meta' webservices - Client version: 2.12.1-SNAPSHOT + Client version: 2.12.2-SNAPSHOT PATH: /{apiVersion}/meta """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/project_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/project_client.py index 7e316925332..610283c05e9 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/project_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/project_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2023-12-15 + Autogenerated on: 2024-01-30 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class Project(_ParentRestClient): """ This class contains methods for the 'Projects' webservices - Client version: 2.12.1-SNAPSHOT + Client version: 2.12.2-SNAPSHOT PATH: /{apiVersion}/projects """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/sample_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/sample_client.py index 7cf5749d831..6cece56e1a9 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/sample_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/sample_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2023-12-15 + Autogenerated on: 2024-01-30 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class Sample(_ParentRestClient): """ This class contains methods for the 'Samples' webservices - Client version: 2.12.1-SNAPSHOT + Client version: 2.12.2-SNAPSHOT PATH: /{apiVersion}/samples """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/study_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/study_client.py index c2ad691a6db..594beda62f7 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/study_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/study_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2023-12-15 + Autogenerated on: 2024-01-30 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class Study(_ParentRestClient): """ This class contains methods for the 'Studies' webservices - Client version: 2.12.1-SNAPSHOT + Client version: 2.12.2-SNAPSHOT PATH: /{apiVersion}/studies """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/user_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/user_client.py index af27dabb31d..cc09130e3a1 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/user_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/user_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2023-12-15 + Autogenerated on: 2024-01-30 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class User(_ParentRestClient): """ This class contains methods for the 'Users' webservices - Client version: 2.12.1-SNAPSHOT + Client version: 2.12.2-SNAPSHOT PATH: /{apiVersion}/users """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/variant_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/variant_client.py index d0e7be2e397..1709580dcc7 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/variant_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/variant_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2023-12-15 + Autogenerated on: 2024-01-30 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class Variant(_ParentRestClient): """ This class contains methods for the 'Analysis - Variant' webservices - Client version: 2.12.1-SNAPSHOT + Client version: 2.12.2-SNAPSHOT PATH: /{apiVersion}/analysis/variant """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/variant_operation_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/variant_operation_client.py index c86d4e49b34..56a41020056 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/variant_operation_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/variant_operation_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2023-12-15 + Autogenerated on: 2024-01-30 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class VariantOperation(_ParentRestClient): """ This class contains methods for the 'Operations - Variant Storage' webservices - Client version: 2.12.1-SNAPSHOT + Client version: 2.12.2-SNAPSHOT PATH: /{apiVersion}/operation """ From aaf7129dc5b6c5904e236352a4b676111b5e3419 Mon Sep 17 00:00:00 2001 From: JuanfeSanahuja Date: Fri, 2 Feb 2024 14:08:39 +0100 Subject: [PATCH 12/89] client: Autogerated classes to Fix meta/model client #TASK-5580 --- .../app/cli/main/OpenCgaCompleter.java | 2 +- .../app/cli/main/OpencgaCliOptionsParser.java | 2 +- .../main/executors/MetaCommandExecutor.java | 6 +- .../cli/main/options/MetaCommandOptions.java | 3 + opencga-client/src/main/R/R/Admin-methods.R | 2 +- .../src/main/R/R/Alignment-methods.R | 2 +- opencga-client/src/main/R/R/AllGenerics.R | 14 +- .../src/main/R/R/Clinical-methods.R | 4 +- opencga-client/src/main/R/R/Cohort-methods.R | 4 +- opencga-client/src/main/R/R/Family-methods.R | 4 +- opencga-client/src/main/R/R/File-methods.R | 4 +- opencga-client/src/main/R/R/GA4GH-methods.R | 2 +- .../src/main/R/R/Individual-methods.R | 4 +- opencga-client/src/main/R/R/Job-methods.R | 2 +- opencga-client/src/main/R/R/Meta-methods.R | 6 +- .../src/main/R/R/Operation-methods.R | 2 +- opencga-client/src/main/R/R/Panel-methods.R | 2 +- opencga-client/src/main/R/R/Project-methods.R | 4 +- opencga-client/src/main/R/R/Sample-methods.R | 2 +- opencga-client/src/main/R/R/Study-methods.R | 4 +- opencga-client/src/main/R/R/User-methods.R | 2 +- opencga-client/src/main/R/R/Variant-methods.R | 2 +- .../client/rest/clients/AdminClient.java | 2 +- .../client/rest/clients/AlignmentClient.java | 2 +- .../rest/clients/ClinicalAnalysisClient.java | 2 +- .../client/rest/clients/CohortClient.java | 2 +- .../rest/clients/DiseasePanelClient.java | 2 +- .../client/rest/clients/FamilyClient.java | 2 +- .../client/rest/clients/FileClient.java | 2 +- .../client/rest/clients/GA4GHClient.java | 2 +- .../client/rest/clients/IndividualClient.java | 2 +- .../client/rest/clients/JobClient.java | 2 +- .../client/rest/clients/MetaClient.java | 8 +- .../client/rest/clients/ProjectClient.java | 2 +- .../client/rest/clients/SampleClient.java | 2 +- .../client/rest/clients/StudyClient.java | 2 +- .../client/rest/clients/UserClient.java | 2 +- .../client/rest/clients/VariantClient.java | 2 +- .../rest/clients/VariantOperationClient.java | 2 +- opencga-client/src/main/javascript/Admin.js | 2 +- .../src/main/javascript/Alignment.js | 2 +- .../src/main/javascript/Clinical.js | 807 ------------------ .../src/main/javascript/ClinicalAnalysis.js | 2 +- opencga-client/src/main/javascript/Cohort.js | 2 +- .../src/main/javascript/DiseasePanel.js | 2 +- opencga-client/src/main/javascript/Family.js | 2 +- opencga-client/src/main/javascript/File.js | 2 +- opencga-client/src/main/javascript/GA4GH.js | 2 +- .../src/main/javascript/Individual.js | 2 +- opencga-client/src/main/javascript/Job.js | 2 +- opencga-client/src/main/javascript/Meta.js | 9 +- opencga-client/src/main/javascript/Project.js | 2 +- opencga-client/src/main/javascript/Sample.js | 2 +- opencga-client/src/main/javascript/Study.js | 2 +- opencga-client/src/main/javascript/User.js | 2 +- opencga-client/src/main/javascript/Variant.js | 2 +- .../src/main/javascript/VariantOperation.js | 2 +- .../pyopencga/rest_clients/admin_client.py | 2 +- .../rest_clients/alignment_client.py | 2 +- .../rest_clients/clinical_analysis_client.py | 2 +- .../pyopencga/rest_clients/cohort_client.py | 2 +- .../rest_clients/disease_panel_client.py | 2 +- .../pyopencga/rest_clients/family_client.py | 2 +- .../pyopencga/rest_clients/file_client.py | 2 +- .../pyopencga/rest_clients/ga4gh_client.py | 2 +- .../rest_clients/individual_client.py | 2 +- .../pyopencga/rest_clients/job_client.py | 2 +- .../pyopencga/rest_clients/meta_client.py | 4 +- .../pyopencga/rest_clients/project_client.py | 2 +- .../pyopencga/rest_clients/sample_client.py | 2 +- .../pyopencga/rest_clients/study_client.py | 2 +- .../pyopencga/rest_clients/user_client.py | 2 +- .../pyopencga/rest_clients/variant_client.py | 2 +- .../rest_clients/variant_operation_client.py | 2 +- .../opencga/server/rest/MetaWSServer.java | 2 +- 75 files changed, 105 insertions(+), 900 deletions(-) delete mode 100644 opencga-client/src/main/javascript/Clinical.js diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpenCgaCompleter.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpenCgaCompleter.java index 31d1c757700..ff4d1cda0d9 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpenCgaCompleter.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpenCgaCompleter.java @@ -1,5 +1,5 @@ /* -* Copyright 2015-2024-01-30 OpenCB +* Copyright 2015-2024-02-02 OpenCB * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpencgaCliOptionsParser.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpencgaCliOptionsParser.java index fe013c129cd..b783ac8c631 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpencgaCliOptionsParser.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpencgaCliOptionsParser.java @@ -1,5 +1,5 @@ /* -* Copyright 2015-2024-01-30 OpenCB +* Copyright 2015-2024-02-02 OpenCB * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/executors/MetaCommandExecutor.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/executors/MetaCommandExecutor.java index 0d8987f61d6..3a674a32c68 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/executors/MetaCommandExecutor.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/executors/MetaCommandExecutor.java @@ -106,7 +106,11 @@ private RestResponse model() throws Exception { logger.debug("Executing model in Meta command line"); MetaCommandOptions.ModelCommandOptions commandOptions = metaCommandOptions.modelCommandOptions; - return openCGAClient.getMetaClient().model(); + + ObjectMap queryParams = new ObjectMap(); + queryParams.putIfNotEmpty("model", commandOptions.model); + + return openCGAClient.getMetaClient().model(queryParams); } private RestResponse ping() throws Exception { diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/MetaCommandOptions.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/MetaCommandOptions.java index 4cb695c9e32..c72e4325362 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/MetaCommandOptions.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/MetaCommandOptions.java @@ -87,6 +87,9 @@ public class ModelCommandOptions { @ParametersDelegate public CommonCommandOptions commonOptions = commonCommandOptions; + @Parameter(names = {"--model"}, description = "Model description", required = false, arity = 1) + public String model; + } @Parameters(commandNames = {"ping"}, commandDescription ="Ping Opencga webservices.") diff --git a/opencga-client/src/main/R/R/Admin-methods.R b/opencga-client/src/main/R/R/Admin-methods.R index cd6c1bd235a..16934e37c0a 100644 --- a/opencga-client/src/main/R/R/Admin-methods.R +++ b/opencga-client/src/main/R/R/Admin-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-01-30 +# Autogenerated on: 2024-02-02 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/Alignment-methods.R b/opencga-client/src/main/R/R/Alignment-methods.R index a3110d0b076..6cf06517077 100644 --- a/opencga-client/src/main/R/R/Alignment-methods.R +++ b/opencga-client/src/main/R/R/Alignment-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-01-30 +# Autogenerated on: 2024-02-02 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/AllGenerics.R b/opencga-client/src/main/R/R/AllGenerics.R index 177a61e827a..3b8fbf19e0a 100644 --- a/opencga-client/src/main/R/R/AllGenerics.R +++ b/opencga-client/src/main/R/R/AllGenerics.R @@ -5,17 +5,17 @@ setGeneric("userClient", function(OpencgaR, user, users, filterId, endpointName, # ############################################################################## ## ProjectClient -setGeneric("projectClient", function(OpencgaR, project, projects, endpointName, params=NULL, ...) +setGeneric("projectClient", function(OpencgaR, projects, project, endpointName, params=NULL, ...) standardGeneric("projectClient")) # ############################################################################## ## StudyClient -setGeneric("studyClient", function(OpencgaR, studies, members, templateId, study, variableSet, group, endpointName, params=NULL, ...) +setGeneric("studyClient", function(OpencgaR, members, study, group, variableSet, templateId, studies, endpointName, params=NULL, ...) standardGeneric("studyClient")) # ############################################################################## ## FileClient -setGeneric("fileClient", function(OpencgaR, members, folder, file, files, annotationSet, endpointName, params=NULL, ...) +setGeneric("fileClient", function(OpencgaR, members, folder, file, annotationSet, files, endpointName, params=NULL, ...) standardGeneric("fileClient")) # ############################################################################## @@ -30,17 +30,17 @@ setGeneric("sampleClient", function(OpencgaR, annotationSet, members, sample, sa # ############################################################################## ## IndividualClient -setGeneric("individualClient", function(OpencgaR, members, annotationSet, individuals, individual, endpointName, params=NULL, ...) +setGeneric("individualClient", function(OpencgaR, individual, annotationSet, members, individuals, endpointName, params=NULL, ...) standardGeneric("individualClient")) # ############################################################################## ## FamilyClient -setGeneric("familyClient", function(OpencgaR, members, annotationSet, families, family, endpointName, params=NULL, ...) +setGeneric("familyClient", function(OpencgaR, families, annotationSet, members, family, endpointName, params=NULL, ...) standardGeneric("familyClient")) # ############################################################################## ## CohortClient -setGeneric("cohortClient", function(OpencgaR, cohort, annotationSet, members, cohorts, endpointName, params=NULL, ...) +setGeneric("cohortClient", function(OpencgaR, annotationSet, members, cohort, cohorts, endpointName, params=NULL, ...) standardGeneric("cohortClient")) # ############################################################################## @@ -60,7 +60,7 @@ setGeneric("variantClient", function(OpencgaR, endpointName, params=NULL, ...) # ############################################################################## ## ClinicalClient -setGeneric("clinicalClient", function(OpencgaR, members, interpretations, clinicalAnalysis, interpretation, annotationSet, clinicalAnalyses, endpointName, params=NULL, ...) +setGeneric("clinicalClient", function(OpencgaR, interpretations, members, interpretation, clinicalAnalysis, annotationSet, clinicalAnalyses, endpointName, params=NULL, ...) standardGeneric("clinicalClient")) # ############################################################################## diff --git a/opencga-client/src/main/R/R/Clinical-methods.R b/opencga-client/src/main/R/R/Clinical-methods.R index 9184f341a42..6bcb2f2b22b 100644 --- a/opencga-client/src/main/R/R/Clinical-methods.R +++ b/opencga-client/src/main/R/R/Clinical-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-01-30 +# Autogenerated on: 2024-02-02 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -61,7 +61,7 @@ #' [*]: Required parameter #' @export -setMethod("clinicalClient", "OpencgaR", function(OpencgaR, members, interpretations, clinicalAnalysis, interpretation, annotationSet, clinicalAnalyses, endpointName, params=NULL, ...) { +setMethod("clinicalClient", "OpencgaR", function(OpencgaR, interpretations, members, interpretation, clinicalAnalysis, annotationSet, clinicalAnalyses, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/analysis/clinical/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/Cohort-methods.R b/opencga-client/src/main/R/R/Cohort-methods.R index ff52e896b22..c18e887d317 100644 --- a/opencga-client/src/main/R/R/Cohort-methods.R +++ b/opencga-client/src/main/R/R/Cohort-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-01-30 +# Autogenerated on: 2024-02-02 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -39,7 +39,7 @@ #' [*]: Required parameter #' @export -setMethod("cohortClient", "OpencgaR", function(OpencgaR, cohort, annotationSet, members, cohorts, endpointName, params=NULL, ...) { +setMethod("cohortClient", "OpencgaR", function(OpencgaR, annotationSet, members, cohort, cohorts, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/cohorts/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/Family-methods.R b/opencga-client/src/main/R/R/Family-methods.R index a0ae9ced80d..9320d10c540 100644 --- a/opencga-client/src/main/R/R/Family-methods.R +++ b/opencga-client/src/main/R/R/Family-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-01-30 +# Autogenerated on: 2024-02-02 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -38,7 +38,7 @@ #' [*]: Required parameter #' @export -setMethod("familyClient", "OpencgaR", function(OpencgaR, members, annotationSet, families, family, endpointName, params=NULL, ...) { +setMethod("familyClient", "OpencgaR", function(OpencgaR, families, annotationSet, members, family, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/families/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/File-methods.R b/opencga-client/src/main/R/R/File-methods.R index aa5d9a763a1..132fa43c0dd 100644 --- a/opencga-client/src/main/R/R/File-methods.R +++ b/opencga-client/src/main/R/R/File-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-01-30 +# Autogenerated on: 2024-02-02 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -54,7 +54,7 @@ #' [*]: Required parameter #' @export -setMethod("fileClient", "OpencgaR", function(OpencgaR, members, folder, file, files, annotationSet, endpointName, params=NULL, ...) { +setMethod("fileClient", "OpencgaR", function(OpencgaR, members, folder, file, annotationSet, files, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/files/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/GA4GH-methods.R b/opencga-client/src/main/R/R/GA4GH-methods.R index 0a240e6d6a3..5a37a5dc5c4 100644 --- a/opencga-client/src/main/R/R/GA4GH-methods.R +++ b/opencga-client/src/main/R/R/GA4GH-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-01-30 +# Autogenerated on: 2024-02-02 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/Individual-methods.R b/opencga-client/src/main/R/R/Individual-methods.R index 0c81ab901f7..85433cf5129 100644 --- a/opencga-client/src/main/R/R/Individual-methods.R +++ b/opencga-client/src/main/R/R/Individual-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-01-30 +# Autogenerated on: 2024-02-02 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -39,7 +39,7 @@ #' [*]: Required parameter #' @export -setMethod("individualClient", "OpencgaR", function(OpencgaR, members, annotationSet, individuals, individual, endpointName, params=NULL, ...) { +setMethod("individualClient", "OpencgaR", function(OpencgaR, individual, annotationSet, members, individuals, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/individuals/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/Job-methods.R b/opencga-client/src/main/R/R/Job-methods.R index 44abcff66ef..d17aaa553a7 100644 --- a/opencga-client/src/main/R/R/Job-methods.R +++ b/opencga-client/src/main/R/R/Job-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-01-30 +# Autogenerated on: 2024-02-02 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/Meta-methods.R b/opencga-client/src/main/R/R/Meta-methods.R index d8fa6d73da6..94a18107431 100644 --- a/opencga-client/src/main/R/R/Meta-methods.R +++ b/opencga-client/src/main/R/R/Meta-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-01-30 +# Autogenerated on: 2024-02-02 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -23,7 +23,7 @@ #' | about | /{apiVersion}/meta/about | | #' | api | /{apiVersion}/meta/api | category | #' | fail | /{apiVersion}/meta/fail | | -#' | model | /{apiVersion}/meta/model | | +#' | model | /{apiVersion}/meta/model | model | #' | ping | /{apiVersion}/meta/ping | | #' | status | /{apiVersion}/meta/status | | #' @@ -56,7 +56,7 @@ setMethod("metaClient", "OpencgaR", function(OpencgaR, endpointName, params=NULL #' @section Endpoint /{apiVersion}/meta/model: #' Opencga model webservices. - + #' @param model Model description. model=fetchOpenCGA(object=OpencgaR, category="meta", categoryId=NULL, subcategory=NULL, subcategoryId=NULL, action="model", params=params, httpMethod="GET", as.queryParam=NULL, ...), diff --git a/opencga-client/src/main/R/R/Operation-methods.R b/opencga-client/src/main/R/R/Operation-methods.R index 5347a1eca81..6b7ce28a8c6 100644 --- a/opencga-client/src/main/R/R/Operation-methods.R +++ b/opencga-client/src/main/R/R/Operation-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-01-30 +# Autogenerated on: 2024-02-02 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/Panel-methods.R b/opencga-client/src/main/R/R/Panel-methods.R index cd408e39313..ec0aba4e3df 100644 --- a/opencga-client/src/main/R/R/Panel-methods.R +++ b/opencga-client/src/main/R/R/Panel-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-01-30 +# Autogenerated on: 2024-02-02 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/Project-methods.R b/opencga-client/src/main/R/R/Project-methods.R index 4af959c7597..fc4593e0459 100644 --- a/opencga-client/src/main/R/R/Project-methods.R +++ b/opencga-client/src/main/R/R/Project-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-01-30 +# Autogenerated on: 2024-02-02 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -34,7 +34,7 @@ #' [*]: Required parameter #' @export -setMethod("projectClient", "OpencgaR", function(OpencgaR, project, projects, endpointName, params=NULL, ...) { +setMethod("projectClient", "OpencgaR", function(OpencgaR, projects, project, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/projects/create: diff --git a/opencga-client/src/main/R/R/Sample-methods.R b/opencga-client/src/main/R/R/Sample-methods.R index dac7f36ccbd..1ef209a32ec 100644 --- a/opencga-client/src/main/R/R/Sample-methods.R +++ b/opencga-client/src/main/R/R/Sample-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-01-30 +# Autogenerated on: 2024-02-02 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/Study-methods.R b/opencga-client/src/main/R/R/Study-methods.R index cbce8be6beb..c2b9b912241 100644 --- a/opencga-client/src/main/R/R/Study-methods.R +++ b/opencga-client/src/main/R/R/Study-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-01-30 +# Autogenerated on: 2024-02-02 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -46,7 +46,7 @@ #' [*]: Required parameter #' @export -setMethod("studyClient", "OpencgaR", function(OpencgaR, studies, members, templateId, study, variableSet, group, endpointName, params=NULL, ...) { +setMethod("studyClient", "OpencgaR", function(OpencgaR, members, study, group, variableSet, templateId, studies, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/studies/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/User-methods.R b/opencga-client/src/main/R/R/User-methods.R index 3505c6cffc5..17acf92aff0 100644 --- a/opencga-client/src/main/R/R/User-methods.R +++ b/opencga-client/src/main/R/R/User-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-01-30 +# Autogenerated on: 2024-02-02 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/Variant-methods.R b/opencga-client/src/main/R/R/Variant-methods.R index 71116af6b8c..f2dc429c877 100644 --- a/opencga-client/src/main/R/R/Variant-methods.R +++ b/opencga-client/src/main/R/R/Variant-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-01-30 +# Autogenerated on: 2024-02-02 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AdminClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AdminClient.java index 226785e12de..df91987ff7f 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AdminClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AdminClient.java @@ -36,7 +36,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-01-30 +* Autogenerated on: 2024-02-02 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AlignmentClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AlignmentClient.java index 9f1fe0c3762..1a3cbd6e61c 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AlignmentClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AlignmentClient.java @@ -40,7 +40,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-01-30 +* Autogenerated on: 2024-02-02 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ClinicalAnalysisClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ClinicalAnalysisClient.java index 2a536a0200b..f98b6d7c58e 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ClinicalAnalysisClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ClinicalAnalysisClient.java @@ -54,7 +54,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-01-30 +* Autogenerated on: 2024-02-02 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/CohortClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/CohortClient.java index e70f528ead2..fb16691423c 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/CohortClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/CohortClient.java @@ -37,7 +37,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-01-30 +* Autogenerated on: 2024-02-02 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/DiseasePanelClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/DiseasePanelClient.java index ddbc803466a..2cf832703f8 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/DiseasePanelClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/DiseasePanelClient.java @@ -35,7 +35,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-01-30 +* Autogenerated on: 2024-02-02 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FamilyClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FamilyClient.java index bbd0ece17d3..129b4b14705 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FamilyClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FamilyClient.java @@ -36,7 +36,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-01-30 +* Autogenerated on: 2024-02-02 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FileClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FileClient.java index d180259c267..06ae8e4b9c7 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FileClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FileClient.java @@ -43,7 +43,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-01-30 +* Autogenerated on: 2024-02-02 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/GA4GHClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/GA4GHClient.java index 792bd4512cf..2af3d0c9e28 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/GA4GHClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/GA4GHClient.java @@ -27,7 +27,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-01-30 +* Autogenerated on: 2024-02-02 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/IndividualClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/IndividualClient.java index 39d0f05a7c5..0f1413db069 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/IndividualClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/IndividualClient.java @@ -36,7 +36,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-01-30 +* Autogenerated on: 2024-02-02 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/JobClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/JobClient.java index 93cc6bd33b5..c15fa77699f 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/JobClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/JobClient.java @@ -37,7 +37,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-01-30 +* Autogenerated on: 2024-02-02 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/MetaClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/MetaClient.java index c00a5087087..baadc9f1b8a 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/MetaClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/MetaClient.java @@ -28,7 +28,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-01-30 +* Autogenerated on: 2024-02-02 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -80,11 +80,13 @@ public RestResponse fail() throws ClientException { /** * Opencga model webservices. + * @param params Map containing any of the following optional parameters. + * model: Model description. * @return a RestResponse object. * @throws ClientException ClientException if there is any server error. */ - public RestResponse model() throws ClientException { - ObjectMap params = new ObjectMap(); + public RestResponse model(ObjectMap params) throws ClientException { + params = params != null ? params : new ObjectMap(); return execute("meta", null, null, null, "model", params, GET, String.class); } diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ProjectClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ProjectClient.java index d3f6a379f3a..9a2f3b27f1b 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ProjectClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ProjectClient.java @@ -32,7 +32,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-01-30 +* Autogenerated on: 2024-02-02 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/SampleClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/SampleClient.java index fd4789a4dc4..7387954d23c 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/SampleClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/SampleClient.java @@ -36,7 +36,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-01-30 +* Autogenerated on: 2024-02-02 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/StudyClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/StudyClient.java index c537f9b4227..eccd24ddd6a 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/StudyClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/StudyClient.java @@ -45,7 +45,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-01-30 +* Autogenerated on: 2024-02-02 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/UserClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/UserClient.java index 0a6620159a8..509de9c2944 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/UserClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/UserClient.java @@ -36,7 +36,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-01-30 +* Autogenerated on: 2024-02-02 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantClient.java index bb2741388d7..a7a369dcd46 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantClient.java @@ -62,7 +62,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-01-30 +* Autogenerated on: 2024-02-02 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantOperationClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantOperationClient.java index 66d77561bba..594a79f83bf 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantOperationClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantOperationClient.java @@ -50,7 +50,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-01-30 +* Autogenerated on: 2024-02-02 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Admin.js b/opencga-client/src/main/javascript/Admin.js index d533d8eb0ba..05a71e5ced1 100644 --- a/opencga-client/src/main/javascript/Admin.js +++ b/opencga-client/src/main/javascript/Admin.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-01-30 + * Autogenerated on: 2024-02-02 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Alignment.js b/opencga-client/src/main/javascript/Alignment.js index b4847e1dac0..1075d6d854c 100644 --- a/opencga-client/src/main/javascript/Alignment.js +++ b/opencga-client/src/main/javascript/Alignment.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-01-30 + * Autogenerated on: 2024-02-02 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Clinical.js b/opencga-client/src/main/javascript/Clinical.js deleted file mode 100644 index 2c695aacd91..00000000000 --- a/opencga-client/src/main/javascript/Clinical.js +++ /dev/null @@ -1,807 +0,0 @@ -/** - * Copyright 2015-2020 OpenCB - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * WARNING: AUTOGENERATED CODE - * - * This code was generated by a tool. - * Autogenerated on: 2022-08-02 08:25:32 ->>>>>>> develop ->>>>>>> release-2.4.x ->>>>>>> release-2.4.x - * - * Manual changes to this file may cause unexpected behavior in your application. - * Manual changes to this file will be overwritten if the code is regenerated. - * -**/ - -import OpenCGAParentClass from "./../opencga-parent-class.js"; - - -/** - * This class contains the methods for the "Clinical" resource - */ - -export default class Clinical extends OpenCGAParentClass { - - constructor(config) { - super(config); - } - - /** Update the set of permissions granted for the member - * @param {String} members - Comma separated list of user or group IDs. - * @param {Object} data - JSON containing the parameters to add ACLs. - * @param {String} action = "ADD" - Action to be performed [ADD, SET, REMOVE or RESET]. The default value is ADD. - * @param {Object} [params] - The Object containing the following optional parameters: - * @param {String} [params.study] - Study [[user@]project:]study where study and project can be either the ID or UUID. - * @param {Boolean} [params.propagate = "false"] - Propagate permissions to related families, individuals, samples and files. The default - * value is false. - * @returns {Promise} Promise object in the form of RestResponse instance. - */ - updateAcl(members, action, data, params) { - return this._post("analysis", null, "clinical/acl", members, "update", data, {action, ...params}); - } - - /** Update Clinical Analysis configuration. - * @param {Object} [data] - Configuration params to update. - * @param {Object} [params] - The Object containing the following optional parameters: - * @param {String} [params.study] - Study [[user@]project:]study where study and project can be either the ID or UUID. - * @returns {Promise} Promise object in the form of RestResponse instance. - */ - updateClinicalConfiguration(data, params) { - return this._post("analysis", null, "clinical/clinical/configuration", null, "update", data, params); - } - - /** Create a new clinical analysis - * @param {Object} data - JSON containing clinical analysis information. - * @param {Object} [params] - The Object containing the following optional parameters: - * @param {String} [params.include] - Fields included in the response, whole JSON path must be provided. - * @param {String} [params.exclude] - Fields excluded in the response, whole JSON path must be provided. - * @param {String} [params.study] - Study [[user@]project:]study where study and project can be either the ID or UUID. - * @param {Boolean} [params.skipCreateDefaultInterpretation] - Flag to skip creating and initialise an empty default primary - * interpretation (Id will be '{clinicalAnalysisId}.1'). This flag is only considered if no Interpretation object is passed. - * @param {Boolean} [params.includeResult = "false"] - Flag indicating to include the created or updated document result in the response. - * The default value is false. - * @returns {Promise} Promise object in the form of RestResponse instance. - */ - create(data, params) { - return this._post("analysis", null, "clinical", null, "create", data, params); - } - - /** Clinical Analysis distinct method - * @param {String} field - Field for which to obtain the distinct values. - * @param {Object} [params] - The Object containing the following optional parameters: - * @param {String} [params.study] - Study [[user@]project:]study where study and project can be either the ID or UUID. - * @param {String} [params.id] - Comma separated list of Clinical Analysis IDs up to a maximum of 100. - * @param {String} [params.uuid] - Comma separated list of Clinical Analysis UUIDs up to a maximum of 100. - * @param {String} [params.type] - Clinical Analysis type. - * @param {String} [params.disorder] - Clinical Analysis disorder. - * @param {String} [params.files] - Clinical Analysis files. - * @param {String} [params.sample] - Sample associated to the proband or any member of a family. - * @param {String} [params.individual] - Proband or any member of a family. - * @param {String} [params.proband] - Clinical Analysis proband. - * @param {String} [params.probandSamples] - Clinical Analysis proband samples. - * @param {String} [params.family] - Clinical Analysis family. - * @param {String} [params.familyMembers] - Clinical Analysis family members. - * @param {String} [params.familyMemberSamples] - Clinical Analysis family members samples. - * @param {String} [params.panels] - Clinical Analysis panels. - * @param {Boolean} [params.locked] - Locked Clinical Analyses. - * @param {String} [params.analystId] - Clinical Analysis analyst id. - * @param {String} [params.priority] - Clinical Analysis priority. - * @param {String} [params.flags] - Clinical Analysis flags. - * @param {String} [params.creationDate] - Clinical Analysis Creation date. Format: yyyyMMddHHmmss. Examples: >2018, 2017-2018, <201805. - * @param {String} [params.modificationDate] - Clinical Analysis Modification date. Format: yyyyMMddHHmmss. Examples: >2018, 2017-2018, - * <201805. - * @param {String} [params.dueDate] - Clinical Analysis due date. Format: yyyyMMddHHmmss. Examples: >2018, 2017-2018, <201805. - * @param {String} [params.qualityControlSummary] - Clinical Analysis quality control summary. - * @param {String} [params.release] - Release when it was created. - * @param {String} [params.status] - Filter by status. - * @param {String} [params.internalStatus] - Filter by internal status. - * @param {Boolean} [params.deleted] - Boolean to retrieve deleted entries. - * @returns {Promise} Promise object in the form of RestResponse instance. - */ - distinct(field, params) { - return this._get("analysis", null, "clinical", null, "distinct", {field, ...params}); - } - - /** Interpretation distinct method - * @param {String} field - Field for which to obtain the distinct values. - * @param {Object} [params] - The Object containing the following optional parameters: - * @param {String} [params.study] - Study [[user@]project:]study where study and project can be either the ID or UUID. - * @param {String} [params.id] - Comma separated list of Interpretation IDs up to a maximum of 100. - * @param {String} [params.uuid] - Comma separated list of Interpretation UUIDs up to a maximum of 100. - * @param {String} [params.clinicalAnalysisId] - Clinical Analysis id. - * @param {String} [params.analystId] - Analyst ID. - * @param {String} [params.methodName] - Interpretation method name. - * @param {String} [params.panels] - Interpretation panels. - * @param {String} [params.primaryFindings] - Interpretation primary findings. - * @param {String} [params.secondaryFindings] - Interpretation secondary findings. - * @param {String} [params.creationDate] - Interpretation Creation date. Format: yyyyMMddHHmmss. Examples: >2018, 2017-2018, <201805. - * @param {String} [params.modificationDate] - Interpretation Modification date. Format: yyyyMMddHHmmss. Examples: >2018, 2017-2018, - * <201805. - * @param {String} [params.status] - Filter by status. - * @param {String} [params.internalStatus] - Filter by internal status. - * @param {String} [params.release] - Release when it was created. - * @returns {Promise} Promise object in the form of RestResponse instance. - */ - distinctInterpretation(field, params) { - return this._get("analysis", null, "clinical/interpretation", null, "distinct", {field, ...params}); - } - - /** Search clinical interpretations - * @param {Object} [params] - The Object containing the following optional parameters: - * @param {String} [params.include] - Fields included in the response, whole JSON path must be provided. - * @param {String} [params.exclude] - Fields excluded in the response, whole JSON path must be provided. - * @param {Number} [params.limit] - Number of results to be returned. - * @param {Number} [params.skip] - Number of results to skip. - * @param {Boolean} [params.sort] - Sort the results. - * @param {String} [params.study] - Study [[user@]project:]study where study and project can be either the ID or UUID. - * @param {String} [params.id] - Comma separated list of Interpretation IDs up to a maximum of 100. - * @param {String} [params.uuid] - Comma separated list of Interpretation UUIDs up to a maximum of 100. - * @param {String} [params.clinicalAnalysisId] - Clinical Analysis id. - * @param {String} [params.analystId] - Analyst ID. - * @param {String} [params.methodName] - Interpretation method name. - * @param {String} [params.panels] - Interpretation panels. - * @param {String} [params.primaryFindings] - Interpretation primary findings. - * @param {String} [params.secondaryFindings] - Interpretation secondary findings. - * @param {String} [params.creationDate] - Interpretation Creation date. Format: yyyyMMddHHmmss. Examples: >2018, 2017-2018, <201805. - * @param {String} [params.modificationDate] - Interpretation Modification date. Format: yyyyMMddHHmmss. Examples: >2018, 2017-2018, - * <201805. - * @param {String} [params.status] - Filter by status. - * @param {String} [params.internalStatus] - Filter by internal status. - * @param {String} [params.release] - Release when it was created. - * @returns {Promise} Promise object in the form of RestResponse instance. - */ - searchInterpretation(params) { - return this._get("analysis", null, "clinical/interpretation", null, "search", params); - } - - /** Clinical interpretation information - * @param {String} interpretations - Comma separated list of clinical interpretation IDs up to a maximum of 100. - * @param {Object} [params] - The Object containing the following optional parameters: - * @param {String} [params.include] - Fields included in the response, whole JSON path must be provided. - * @param {String} [params.exclude] - Fields excluded in the response, whole JSON path must be provided. - * @param {String} [params.study] - Study [[user@]project:]study where study and project can be either the ID or UUID. - * @param {String} [params.version] - Comma separated list of interpretation versions. 'all' to get all the interpretation versions. Not - * supported if multiple interpretation ids are provided. - * @param {Boolean} [params.deleted = "false"] - Boolean to retrieve deleted entries. The default value is false. - * @returns {Promise} Promise object in the form of RestResponse instance. - */ - infoInterpretation(interpretations, params) { - return this._get("analysis", null, "clinical/interpretation", interpretations, "info", params); - } - - /** Run cancer tiering interpretation analysis - * @param {Object} data - Cancer tiering interpretation analysis params. - * @param {Object} [params] - The Object containing the following optional parameters: - * @param {String} [params.study] - Study [[user@]project:]study where study and project can be either the ID or UUID. - * @param {String} [params.jobId] - Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not - * provided. - * @param {String} [params.jobDescription] - Job description. - * @param {String} [params.jobDependsOn] - Comma separated list of existing job IDs the job will depend on. - * @param {String} [params.jobTags] - Job tags. - * @returns {Promise} Promise object in the form of RestResponse instance. - */ - runInterpreterCancerTiering(data, params) { - return this._post("analysis", null, "clinical/interpreter/cancerTiering", null, "run", data, params); - } - - /** Run exomiser interpretation analysis - * @param {Object} data - Exomizer interpretation analysis params. - * @param {Object} [params] - The Object containing the following optional parameters: - * @param {String} [params.study] - Study [[user@]project:]study where study and project can be either the ID or UUID. - * @param {String} [params.jobId] - Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not - * provided. - * @param {String} [params.jobDescription] - Job description. - * @param {String} [params.jobDependsOn] - Comma separated list of existing job IDs the job will depend on. - * @param {String} [params.jobTags] - Job tags. - * @returns {Promise} Promise object in the form of RestResponse instance. - */ - runInterpreterExomiser(data, params) { - return this._post("analysis", null, "clinical/interpreter/exomiser", null, "run", data, params); - } - - /** Run TEAM interpretation analysis - * @param {Object} data - TEAM interpretation analysis params. - * @param {Object} [params] - The Object containing the following optional parameters: - * @param {String} [params.study] - Study [[user@]project:]study where study and project can be either the ID or UUID. - * @param {String} [params.jobId] - Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not - * provided. - * @param {String} [params.jobDescription] - Job description. - * @param {String} [params.jobDependsOn] - Comma separated list of existing job IDs the job will depend on. - * @param {String} [params.jobTags] - Job tags. - * @returns {Promise} Promise object in the form of RestResponse instance. - */ - runInterpreterTeam(data, params) { - return this._post("analysis", null, "clinical/interpreter/team", null, "run", data, params); - } - - /** Run tiering interpretation analysis - * @param {Object} data - Tiering interpretation analysis params. - * @param {Object} [params] - The Object containing the following optional parameters: - * @param {String} [params.study] - Study [[user@]project:]study where study and project can be either the ID or UUID. - * @param {String} [params.jobId] - Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not - * provided. - * @param {String} [params.jobDescription] - Job description. - * @param {String} [params.jobDependsOn] - Comma separated list of existing job IDs the job will depend on. - * @param {String} [params.jobTags] - Job tags. - * @returns {Promise} Promise object in the form of RestResponse instance. - */ - runInterpreterTiering(data, params) { - return this._post("analysis", null, "clinical/interpreter/tiering", null, "run", data, params); - } - - /** Run Zetta interpretation analysis - * @param {Object} data - Zetta interpretation analysis params. - * @param {Object} [params] - The Object containing the following optional parameters: - * @param {String} [params.study] - Study [[user@]project:]study where study and project can be either the ID or UUID. - * @param {String} [params.jobId] - Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not - * provided. - * @param {String} [params.jobDescription] - Job description. - * @param {String} [params.jobDependsOn] - Comma separated list of existing job IDs the job will depend on. - * @param {String} [params.jobTags] - Job tags. - * @returns {Promise} Promise object in the form of RestResponse instance. - */ - runInterpreterZetta(data, params) { - return this._post("analysis", null, "clinical/interpreter/zetta", null, "run", data, params); - } - - /** RGA aggregation stats - * @param {String} field - List of fields separated by semicolons, e.g.: clinicalSignificances;type. For nested fields use >>, e.g.: - * type>>clinicalSignificances;knockoutType. - * @param {Object} [params] - The Object containing the following optional parameters: - * @param {Number} [params.limit] - Number of results to be returned. - * @param {Number} [params.skip] - Number of results to skip. - * @param {String} [params.sampleId] - Filter by sample id. - * @param {String} [params.individualId] - Filter by individual id. - * @param {String} [params.sex] - Filter by sex. - * @param {String} [params.phenotypes] - Filter by phenotypes. - * @param {String} [params.disorders] - Filter by disorders. - * @param {String} [params.numParents] - Filter by the number of parents registered. - * @param {String} [params.geneId] - Filter by gene id. - * @param {String} [params.geneName] - Filter by gene name. - * @param {String} [params.chromosome] - Filter by chromosome. - * @param {String} [params.start] - Filter by start position. - * @param {String} [params.end] - Filter by end position. - * @param {String} [params.transcriptId] - Filter by transcript id. - * @param {String} [params.variants] - Filter by variant id. - * @param {String} [params.dbSnps] - Filter by DB_SNP id. - * @param {String} [params.knockoutType] - Filter by knockout type. - * @param {String} [params.filter] - Filter by filter (PASS, NOT_PASS). - * @param {String} [params.type] - Filter by variant type. - * @param {String} [params.clinicalSignificance] - Filter by clinical significance. - * @param {String} [params.populationFrequency] - Filter by population frequency. - * @param {String} [params.consequenceType] - Filter by consequence type. - * @param {String} [params.study] - Study [[user@]project:]study where study and project can be either the ID or UUID. - * @returns {Promise} Promise object in the form of RestResponse instance. - */ - aggregationStatsRga(field, params) { - return this._get("analysis", null, "clinical/rga", null, "aggregationStats", {field, ...params}); - } - - /** Query gene RGA - * @param {Object} [params] - The Object containing the following optional parameters: - * @param {String} [params.include] - Fields included in the response, whole JSON path must be provided. - * @param {String} [params.exclude] - Fields excluded in the response, whole JSON path must be provided. - * @param {Number} [params.limit] - Number of results to be returned. - * @param {Number} [params.skip] - Number of results to skip. - * @param {Boolean} [params.count] - Get the total number of results matching the query. Deactivated by default. - * @param {String} [params.includeIndividual] - Include only the comma separated list of individuals to the response. - * @param {Number} [params.skipIndividual] - Number of individuals to skip. - * @param {Number} [params.limitIndividual] - Limit number of individuals returned (default: 1000). - * @param {String} [params.sampleId] - Filter by sample id. - * @param {String} [params.individualId] - Filter by individual id. - * @param {String} [params.sex] - Filter by sex. - * @param {String} [params.phenotypes] - Filter by phenotypes. - * @param {String} [params.disorders] - Filter by disorders. - * @param {String} [params.numParents] - Filter by the number of parents registered. - * @param {String} [params.geneId] - Filter by gene id. - * @param {String} [params.geneName] - Filter by gene name. - * @param {String} [params.chromosome] - Filter by chromosome. - * @param {String} [params.start] - Filter by start position. - * @param {String} [params.end] - Filter by end position. - * @param {String} [params.transcriptId] - Filter by transcript id. - * @param {String} [params.variants] - Filter by variant id. - * @param {String} [params.dbSnps] - Filter by DB_SNP id. - * @param {String} [params.knockoutType] - Filter by knockout type. - * @param {String} [params.filter] - Filter by filter (PASS, NOT_PASS). - * @param {String} [params.type] - Filter by variant type. - * @param {String} [params.clinicalSignificance] - Filter by clinical significance. - * @param {String} [params.populationFrequency] - Filter by population frequency. - * @param {String} [params.consequenceType] - Filter by consequence type. - * @param {String} [params.study] - Study [[user@]project:]study where study and project can be either the ID or UUID. - * @returns {Promise} Promise object in the form of RestResponse instance. - */ - queryRgaGene(params) { - return this._get("analysis", null, "clinical/rga/gene", null, "query", params); - } - - /** RGA gene summary stats - * @param {Object} [params] - The Object containing the following optional parameters: - * @param {Number} [params.limit] - Number of results to be returned. - * @param {Number} [params.skip] - Number of results to skip. - * @param {Boolean} [params.count] - Get the total number of results matching the query. Deactivated by default. - * @param {String} [params.sampleId] - Filter by sample id. - * @param {String} [params.individualId] - Filter by individual id. - * @param {String} [params.sex] - Filter by sex. - * @param {String} [params.phenotypes] - Filter by phenotypes. - * @param {String} [params.disorders] - Filter by disorders. - * @param {String} [params.numParents] - Filter by the number of parents registered. - * @param {String} [params.geneId] - Filter by gene id. - * @param {String} [params.geneName] - Filter by gene name. - * @param {String} [params.chromosome] - Filter by chromosome. - * @param {String} [params.start] - Filter by start position. - * @param {String} [params.end] - Filter by end position. - * @param {String} [params.transcriptId] - Filter by transcript id. - * @param {String} [params.variants] - Filter by variant id. - * @param {String} [params.dbSnps] - Filter by DB_SNP id. - * @param {String} [params.knockoutType] - Filter by knockout type. - * @param {String} [params.filter] - Filter by filter (PASS, NOT_PASS). - * @param {String} [params.type] - Filter by variant type. - * @param {String} [params.clinicalSignificance] - Filter by clinical significance. - * @param {String} [params.populationFrequency] - Filter by population frequency. - * @param {String} [params.consequenceType] - Filter by consequence type. - * @param {String} [params.study] - Study [[user@]project:]study where study and project can be either the ID or UUID. - * @returns {Promise} Promise object in the form of RestResponse instance. - */ - summaryRgaGene(params) { - return this._get("analysis", null, "clinical/rga/gene", null, "summary", params); - } - - /** Generate Recessive Gene Analysis secondary index - * @param {Object} data - Recessive Gene Analysis index params. - * @param {Object} [params] - The Object containing the following optional parameters: - * @param {String} [params.study] - Study [[user@]project:]study where study and project can be either the ID or UUID. - * @param {String} [params.jobId] - Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not - * provided. - * @param {String} [params.jobDescription] - Job description. - * @param {String} [params.jobDependsOn] - Comma separated list of existing job IDs the job will depend on. - * @param {String} [params.jobTags] - Job tags. - * @param {Boolean} [params.auxiliarIndex = "false"] - Index auxiliar collection to improve performance assuming RGA is completely - * indexed. The default value is false. - * @returns {Promise} Promise object in the form of RestResponse instance. - */ - runRgaIndex(data, params) { - return this._post("analysis", null, "clinical/rga/index", null, "run", data, params); - } - - /** Query individual RGA - * @param {Object} [params] - The Object containing the following optional parameters: - * @param {String} [params.include] - Fields included in the response, whole JSON path must be provided. - * @param {String} [params.exclude] - Fields excluded in the response, whole JSON path must be provided. - * @param {Number} [params.limit] - Number of results to be returned. - * @param {Number} [params.skip] - Number of results to skip. - * @param {Boolean} [params.count] - Get the total number of results matching the query. Deactivated by default. - * @param {String} [params.sampleId] - Filter by sample id. - * @param {String} [params.individualId] - Filter by individual id. - * @param {String} [params.sex] - Filter by sex. - * @param {String} [params.phenotypes] - Filter by phenotypes. - * @param {String} [params.disorders] - Filter by disorders. - * @param {String} [params.numParents] - Filter by the number of parents registered. - * @param {String} [params.geneId] - Filter by gene id. - * @param {String} [params.geneName] - Filter by gene name. - * @param {String} [params.chromosome] - Filter by chromosome. - * @param {String} [params.start] - Filter by start position. - * @param {String} [params.end] - Filter by end position. - * @param {String} [params.transcriptId] - Filter by transcript id. - * @param {String} [params.variants] - Filter by variant id. - * @param {String} [params.dbSnps] - Filter by DB_SNP id. - * @param {String} [params.knockoutType] - Filter by knockout type. - * @param {String} [params.filter] - Filter by filter (PASS, NOT_PASS). - * @param {String} [params.type] - Filter by variant type. - * @param {String} [params.clinicalSignificance] - Filter by clinical significance. - * @param {String} [params.populationFrequency] - Filter by population frequency. - * @param {String} [params.consequenceType] - Filter by consequence type. - * @param {String} [params.study] - Study [[user@]project:]study where study and project can be either the ID or UUID. - * @returns {Promise} Promise object in the form of RestResponse instance. - */ - queryRgaIndividual(params) { - return this._get("analysis", null, "clinical/rga/individual", null, "query", params); - } - - /** RGA individual summary stats - * @param {Object} [params] - The Object containing the following optional parameters: - * @param {Number} [params.limit] - Number of results to be returned. - * @param {Number} [params.skip] - Number of results to skip. - * @param {Boolean} [params.count] - Get the total number of results matching the query. Deactivated by default. - * @param {String} [params.sampleId] - Filter by sample id. - * @param {String} [params.individualId] - Filter by individual id. - * @param {String} [params.sex] - Filter by sex. - * @param {String} [params.phenotypes] - Filter by phenotypes. - * @param {String} [params.disorders] - Filter by disorders. - * @param {String} [params.numParents] - Filter by the number of parents registered. - * @param {String} [params.geneId] - Filter by gene id. - * @param {String} [params.geneName] - Filter by gene name. - * @param {String} [params.chromosome] - Filter by chromosome. - * @param {String} [params.start] - Filter by start position. - * @param {String} [params.end] - Filter by end position. - * @param {String} [params.transcriptId] - Filter by transcript id. - * @param {String} [params.variants] - Filter by variant id. - * @param {String} [params.dbSnps] - Filter by DB_SNP id. - * @param {String} [params.knockoutType] - Filter by knockout type. - * @param {String} [params.filter] - Filter by filter (PASS, NOT_PASS). - * @param {String} [params.type] - Filter by variant type. - * @param {String} [params.clinicalSignificance] - Filter by clinical significance. - * @param {String} [params.populationFrequency] - Filter by population frequency. - * @param {String} [params.consequenceType] - Filter by consequence type. - * @param {String} [params.study] - Study [[user@]project:]study where study and project can be either the ID or UUID. - * @returns {Promise} Promise object in the form of RestResponse instance. - */ - summaryRgaIndividual(params) { - return this._get("analysis", null, "clinical/rga/individual", null, "summary", params); - } - - /** Query variant RGA - * @param {Object} [params] - The Object containing the following optional parameters: - * @param {String} [params.include] - Fields included in the response, whole JSON path must be provided. - * @param {String} [params.exclude] - Fields excluded in the response, whole JSON path must be provided. - * @param {Number} [params.limit] - Number of results to be returned. - * @param {Number} [params.skip] - Number of results to skip. - * @param {Boolean} [params.count] - Get the total number of results matching the query. Deactivated by default. - * @param {String} [params.includeIndividual] - Include only the comma separated list of individuals to the response. - * @param {Number} [params.skipIndividual] - Number of individuals to skip. - * @param {Number} [params.limitIndividual] - Limit number of individuals returned (default: 1000). - * @param {String} [params.sampleId] - Filter by sample id. - * @param {String} [params.individualId] - Filter by individual id. - * @param {String} [params.sex] - Filter by sex. - * @param {String} [params.phenotypes] - Filter by phenotypes. - * @param {String} [params.disorders] - Filter by disorders. - * @param {String} [params.numParents] - Filter by the number of parents registered. - * @param {String} [params.geneId] - Filter by gene id. - * @param {String} [params.geneName] - Filter by gene name. - * @param {String} [params.chromosome] - Filter by chromosome. - * @param {String} [params.start] - Filter by start position. - * @param {String} [params.end] - Filter by end position. - * @param {String} [params.transcriptId] - Filter by transcript id. - * @param {String} [params.variants] - Filter by variant id. - * @param {String} [params.dbSnps] - Filter by DB_SNP id. - * @param {String} [params.knockoutType] - Filter by knockout type. - * @param {String} [params.filter] - Filter by filter (PASS, NOT_PASS). - * @param {String} [params.type] - Filter by variant type. - * @param {String} [params.clinicalSignificance] - Filter by clinical significance. - * @param {String} [params.populationFrequency] - Filter by population frequency. - * @param {String} [params.consequenceType] - Filter by consequence type. - * @param {String} [params.study] - Study [[user@]project:]study where study and project can be either the ID or UUID. - * @returns {Promise} Promise object in the form of RestResponse instance. - */ - queryRgaVariant(params) { - return this._get("analysis", null, "clinical/rga/variant", null, "query", params); - } - - /** RGA variant summary stats - * @param {Object} [params] - The Object containing the following optional parameters: - * @param {Number} [params.limit] - Number of results to be returned. - * @param {Number} [params.skip] - Number of results to skip. - * @param {Boolean} [params.count] - Get the total number of results matching the query. Deactivated by default. - * @param {String} [params.sampleId] - Filter by sample id. - * @param {String} [params.individualId] - Filter by individual id. - * @param {String} [params.sex] - Filter by sex. - * @param {String} [params.phenotypes] - Filter by phenotypes. - * @param {String} [params.disorders] - Filter by disorders. - * @param {String} [params.numParents] - Filter by the number of parents registered. - * @param {String} [params.geneId] - Filter by gene id. - * @param {String} [params.geneName] - Filter by gene name. - * @param {String} [params.chromosome] - Filter by chromosome. - * @param {String} [params.start] - Filter by start position. - * @param {String} [params.end] - Filter by end position. - * @param {String} [params.transcriptId] - Filter by transcript id. - * @param {String} [params.variants] - Filter by variant id. - * @param {String} [params.dbSnps] - Filter by DB_SNP id. - * @param {String} [params.knockoutType] - Filter by knockout type. - * @param {String} [params.filter] - Filter by filter (PASS, NOT_PASS). - * @param {String} [params.type] - Filter by variant type. - * @param {String} [params.clinicalSignificance] - Filter by clinical significance. - * @param {String} [params.populationFrequency] - Filter by population frequency. - * @param {String} [params.consequenceType] - Filter by consequence type. - * @param {String} [params.study] - Study [[user@]project:]study where study and project can be either the ID or UUID. - * @returns {Promise} Promise object in the form of RestResponse instance. - */ - summaryRgaVariant(params) { - return this._get("analysis", null, "clinical/rga/variant", null, "summary", params); - } - - /** Clinical analysis search. - * @param {Object} [params] - The Object containing the following optional parameters: - * @param {String} [params.include] - Fields included in the response, whole JSON path must be provided. - * @param {String} [params.exclude] - Fields excluded in the response, whole JSON path must be provided. - * @param {Number} [params.limit] - Number of results to be returned. - * @param {Number} [params.skip] - Number of results to skip. - * @param {Boolean} [params.count = "false"] - Get the total number of results matching the query. Deactivated by default. The default - * value is false. - * @param {String} [params.study] - Study [[user@]project:]study where study and project can be either the ID or UUID. - * @param {String} [params.id] - Comma separated list of Clinical Analysis IDs up to a maximum of 100. - * @param {String} [params.uuid] - Comma separated list of Clinical Analysis UUIDs up to a maximum of 100. - * @param {String} [params.type] - Clinical Analysis type. - * @param {String} [params.disorder] - Clinical Analysis disorder. - * @param {String} [params.files] - Clinical Analysis files. - * @param {String} [params.sample] - Sample associated to the proband or any member of a family. - * @param {String} [params.individual] - Proband or any member of a family. - * @param {String} [params.proband] - Clinical Analysis proband. - * @param {String} [params.probandSamples] - Clinical Analysis proband samples. - * @param {String} [params.family] - Clinical Analysis family. - * @param {String} [params.familyMembers] - Clinical Analysis family members. - * @param {String} [params.familyMemberSamples] - Clinical Analysis family members samples. - * @param {String} [params.panels] - Clinical Analysis panels. - * @param {Boolean} [params.locked] - Locked Clinical Analyses. - * @param {String} [params.analystId] - Clinical Analysis analyst id. - * @param {String} [params.priority] - Clinical Analysis priority. - * @param {String} [params.flags] - Clinical Analysis flags. - * @param {String} [params.creationDate] - Clinical Analysis Creation date. Format: yyyyMMddHHmmss. Examples: >2018, 2017-2018, <201805. - * @param {String} [params.modificationDate] - Clinical Analysis Modification date. Format: yyyyMMddHHmmss. Examples: >2018, 2017-2018, - * <201805. - * @param {String} [params.dueDate] - Clinical Analysis due date. Format: yyyyMMddHHmmss. Examples: >2018, 2017-2018, <201805. - * @param {String} [params.qualityControlSummary] - Clinical Analysis quality control summary. - * @param {String} [params.release] - Release when it was created. - * @param {String} [params.status] - Filter by status. - * @param {String} [params.internalStatus] - Filter by internal status. - * @param {Boolean} [params.deleted] - Boolean to retrieve deleted entries. - * @returns {Promise} Promise object in the form of RestResponse instance. - */ - search(params) { - return this._get("analysis", null, "clinical", null, "search", params); - } - - /** Fetch actionable clinical variants - * @param {Object} [params] - The Object containing the following optional parameters: - * @param {String} [params.study] - Study [[user@]project:]study where study and project can be either the ID or UUID. - * @param {String} [params.sample] - Sample ID. - * @returns {Promise} Promise object in the form of RestResponse instance. - */ - actionableVariant(params) { - return this._get("analysis", null, "clinical/variant", null, "actionable", params); - } - - /** Fetch clinical variants - * @param {Object} [params] - The Object containing the following optional parameters: - * @param {String} [params.include] - Fields included in the response, whole JSON path must be provided. - * @param {String} [params.exclude] - Fields excluded in the response, whole JSON path must be provided. - * @param {Number} [params.limit] - Number of results to be returned. - * @param {Number} [params.skip] - Number of results to skip. - * @param {Boolean} [params.count] - Get the total number of results matching the query. Deactivated by default. - * @param {Boolean} [params.approximateCount] - Get an approximate count, instead of an exact total count. Reduces execution time. - * @param {Number} [params.approximateCountSamplingSize] - Sampling size to get the approximate count. Larger values increase accuracy - * but also increase execution time. - * @param {String} [params.savedFilter] - Use a saved filter at User level. - * @param {String} [params.id] - List of IDs, these can be rs IDs (dbSNP) or variants in the format chrom:start:ref:alt, e.g. - * rs116600158,19:7177679:C:T. - * @param {String} [params.region] - List of regions, these can be just a single chromosome name or regions in the format chr:start-end, - * e.g.: 2,3:100000-200000. - * @param {String} [params.type] - List of types, accepted values are SNV, MNV, INDEL, SV, COPY_NUMBER, COPY_NUMBER_LOSS, - * COPY_NUMBER_GAIN, INSERTION, DELETION, DUPLICATION, TANDEM_DUPLICATION, BREAKEND, e.g. SNV,INDEL. - * @param {String} [params.study] - Filter variants from the given studies, these can be either the numeric ID or the alias with the - * format user@project:study. - * @param {String} [params.file] - Filter variants from the files specified. This will set includeFile parameter when not provided. - * @param {String} [params.filter] - Specify the FILTER for any of the files. If 'file' filter is provided, will match the file and the - * filter. e.g.: PASS,LowGQX. - * @param {String} [params.qual] - Specify the QUAL for any of the files. If 'file' filter is provided, will match the file and the qual. - * e.g.: >123.4. - * @param {String} [params.fileData] - Filter by file data (i.e. FILTER, QUAL and INFO columns from VCF file). - * [{file}:]{key}{op}{value}[,;]* . If no file is specified, will use all files from "file" filter. e.g. AN>200 or - * file_1.vcf:AN>200;file_2.vcf:AN<10 . Many fields can be combined. e.g. file_1.vcf:AN>200;DB=true;file_2.vcf:AN<10,FILTER=PASS,LowDP. - * @param {String} [params.sample] - Filter variants by sample genotype. This will automatically set 'includeSample' parameter when not - * provided. This filter accepts multiple 3 forms: 1) List of samples: Samples that contain the main variant. Accepts AND (;) and OR (,) - * operators. e.g. HG0097,HG0098 . 2) List of samples with genotypes: {sample}:{gt1},{gt2}. Accepts AND (;) and OR (,) operators. e.g. - * HG0097:0/0;HG0098:0/1,1/1 . Unphased genotypes (e.g. 0/1, 1/1) will also include phased genotypes (e.g. 0|1, 1|0, 1|1), but not vice - * versa. When filtering by multi-allelic genotypes, any secondary allele will match, regardless of its position e.g. 1/2 will match with - * genotypes 1/2, 1/3, 1/4, .... Genotype aliases accepted: HOM_REF, HOM_ALT, HET, HET_REF, HET_ALT, HET_MISS and MISS e.g. - * HG0097:HOM_REF;HG0098:HET_REF,HOM_ALT . 3) Sample with segregation mode: {sample}:{segregation}. Only one sample accepted.Accepted - * segregation modes: [ autosomalDominant, autosomalRecessive, XLinkedDominant, XLinkedRecessive, YLinked, mitochondrial, deNovo, - * mendelianError, compoundHeterozygous ]. Value is case insensitive. e.g. HG0097:DeNovo Sample must have parents defined and indexed. . - * @param {String} [params.sampleData] - Filter by any SampleData field from samples. [{sample}:]{key}{op}{value}[,;]* . If no sample is - * specified, will use all samples from "sample" or "genotype" filter. e.g. DP>200 or HG0097:DP>200,HG0098:DP<10 . Many FORMAT fields can - * be combined. e.g. HG0097:DP>200;GT=1/1,0/1,HG0098:DP<10. - * @param {String} [params.sampleAnnotation] - Selects some samples using metadata information from Catalog. e.g. - * age>20;phenotype=hpo:123,hpo:456;name=smith. - * @param {String} [params.cohort] - Select variants with calculated stats for the selected cohorts. - * @param {String} [params.cohortStatsRef] - Reference Allele Frequency: [{study:}]{cohort}[<|>|<=|>=]{number}. e.g. ALL<=0.4. - * @param {String} [params.cohortStatsAlt] - Alternate Allele Frequency: [{study:}]{cohort}[<|>|<=|>=]{number}. e.g. ALL<=0.4. - * @param {String} [params.cohortStatsMaf] - Minor Allele Frequency: [{study:}]{cohort}[<|>|<=|>=]{number}. e.g. ALL<=0.4. - * @param {String} [params.cohortStatsMgf] - Minor Genotype Frequency: [{study:}]{cohort}[<|>|<=|>=]{number}. e.g. ALL<=0.4. - * @param {String} [params.cohortStatsPass] - Filter PASS frequency: [{study:}]{cohort}[<|>|<=|>=]{number}. e.g. ALL>0.8. - * @param {String} [params.missingAlleles] - Number of missing alleles: [{study:}]{cohort}[<|>|<=|>=]{number}. - * @param {String} [params.missingGenotypes] - Number of missing genotypes: [{study:}]{cohort}[<|>|<=|>=]{number}. - * @param {String} [params.score] - Filter by variant score: [{study:}]{score}[<|>|<=|>=]{number}. - * @param {String} [params.family] - Filter variants where any of the samples from the given family contains the variant (HET or - * HOM_ALT). - * @param {String} [params.familyDisorder] - Specify the disorder to use for the family segregation. - * @param {String} [params.familySegregation] - Filter by segregation mode from a given family. Accepted values: [ autosomalDominant, - * autosomalRecessive, XLinkedDominant, XLinkedRecessive, YLinked, mitochondrial, deNovo, mendelianError, compoundHeterozygous ]. - * @param {String} [params.familyMembers] - Sub set of the members of a given family. - * @param {String} [params.familyProband] - Specify the proband child to use for the family segregation. - * @param {String} [params.gene] - List of genes, most gene IDs are accepted (HGNC, Ensembl gene, ...). This is an alias to 'xref' - * parameter. - * @param {String} [params.ct] - List of SO consequence types, e.g. missense_variant,stop_lost or SO:0001583,SO:0001578. Accepts aliases - * 'loss_of_function' and 'protein_altering'. - * @param {String} [params.xref] - List of any external reference, these can be genes, proteins or variants. Accepted IDs include HGNC, - * Ensembl genes, dbSNP, ClinVar, HPO, Cosmic, ... - * @param {String} [params.biotype] - List of biotypes, e.g. protein_coding. - * @param {String} [params.proteinSubstitution] - Protein substitution scores include SIFT and PolyPhen. You can query using the score - * {protein_score}[<|>|<=|>=]{number} or the description {protein_score}[~=|=]{description} e.g. polyphen>0.1,sift=tolerant. - * @param {String} [params.conservation] - Filter by conservation score: {conservation_score}[<|>|<=|>=]{number} e.g. - * phastCons>0.5,phylop<0.1,gerp>0.1. - * @param {String} [params.populationFrequencyAlt] - Alternate Population Frequency: {study}:{population}[<|>|<=|>=]{number}. e.g. - * 1000G:ALL<0.01. - * @param {String} [params.populationFrequencyRef] - Reference Population Frequency: {study}:{population}[<|>|<=|>=]{number}. e.g. - * 1000G:ALL<0.01. - * @param {String} [params.populationFrequencyMaf] - Population minor allele frequency: {study}:{population}[<|>|<=|>=]{number}. e.g. - * 1000G:ALL<0.01. - * @param {String} [params.transcriptFlag] - List of transcript flags. e.g. canonical, CCDS, basic, LRG, MANE Select, MANE Plus Clinical, - * EGLH_HaemOnc, TSO500. - * @param {String} [params.geneTraitId] - List of gene trait association id. e.g. "umls:C0007222" , "OMIM:269600". - * @param {String} [params.go] - List of GO (Gene Ontology) terms. e.g. "GO:0002020". - * @param {String} [params.expression] - List of tissues of interest. e.g. "lung". - * @param {String} [params.proteinKeyword] - List of Uniprot protein variant annotation keywords. - * @param {String} [params.drug] - List of drug names. - * @param {String} [params.functionalScore] - Functional score: {functional_score}[<|>|<=|>=]{number} e.g. cadd_scaled>5.2 , - * cadd_raw<=0.3. - * @param {String} [params.clinical] - Clinical source: clinvar, cosmic. - * @param {String} [params.clinicalSignificance] - Clinical significance: benign, likely_benign, likely_pathogenic, pathogenic. - * @param {Boolean} [params.clinicalConfirmedStatus] - Clinical confirmed status. - * @param {String} [params.customAnnotation] - Custom annotation: {key}[<|>|<=|>=]{number} or {key}[~=|=]{text}. - * @param {String} [params.panel] - Filter by genes from the given disease panel. - * @param {String} [params.panelModeOfInheritance] - Filter genes from specific panels that match certain mode of inheritance. Accepted - * values : [ autosomalDominant, autosomalRecessive, XLinkedDominant, XLinkedRecessive, YLinked, mitochondrial, deNovo, mendelianError, - * compoundHeterozygous ]. - * @param {String} [params.panelConfidence] - Filter genes from specific panels that match certain confidence. Accepted values : [ high, - * medium, low, rejected ]. - * @param {String} [params.panelRoleInCancer] - Filter genes from specific panels that match certain role in cancer. Accepted values : [ - * both, oncogene, tumorSuppressorGene, fusion ]. - * @param {String} [params.panelFeatureType] - Filter elements from specific panels by type. Accepted values : [ gene, region, str, - * variant ]. - * @param {Boolean} [params.panelIntersection] - Intersect panel genes and regions with given genes and regions from que input query. - * This will prevent returning variants from regions out of the panel. - * @param {String} [params.trait] - List of traits, based on ClinVar, HPO, COSMIC, i.e.: IDs, histologies, descriptions,... - * @returns {Promise} Promise object in the form of RestResponse instance. - */ - queryVariant(params) { - return this._get("analysis", null, "clinical/variant", null, "query", params); - } - - /** Returns the acl of the clinical analyses. If member is provided, it will only return the acl for the member. - * @param {String} clinicalAnalyses - Comma separated list of clinical analysis IDs or names up to a maximum of 100. - * @param {Object} [params] - The Object containing the following optional parameters: - * @param {String} [params.study] - Study [[user@]project:]study where study and project can be either the ID or UUID. - * @param {String} [params.member] - User or group ID. - * @param {Boolean} [params.silent = "false"] - Boolean to retrieve all possible entries that are queried for, false to raise an - * exception whenever one of the entries looked for cannot be shown for whichever reason. The default value is false. - * @returns {Promise} Promise object in the form of RestResponse instance. - */ - acl(clinicalAnalyses, params) { - return this._get("analysis", null, "clinical", clinicalAnalyses, "acl", params); - } - - /** Delete clinical analyses - * @param {String} clinicalAnalyses - Comma separated list of clinical analysis IDs or names up to a maximum of 100. - * @param {Object} [params] - The Object containing the following optional parameters: - * @param {String} [params.study] - Study [[user@]project:]study where study and project can be either the ID or UUID. - * @param {Boolean} [params.force = "false"] - Force deletion if the ClinicalAnalysis contains interpretations or is locked. The default - * value is false. - * @returns {Promise} Promise object in the form of RestResponse instance. - */ - delete(clinicalAnalyses, params) { - return this._delete("analysis", null, "clinical", clinicalAnalyses, "delete", params); - } - - /** Update clinical analysis attributes - * @param {String} clinicalAnalyses - Comma separated list of clinical analysis IDs. - * @param {Object} data - JSON containing clinical analysis information. - * @param {Object} [params] - The Object containing the following optional parameters: - * @param {String} [params.include] - Fields included in the response, whole JSON path must be provided. - * @param {String} [params.exclude] - Fields excluded in the response, whole JSON path must be provided. - * @param {String} [params.study] - Study [[user@]project:]study where study and project can be either the ID or UUID. - * @param {"ADD"|"REMOVE"|"REPLACE"} [params.commentsAction = "ADD"] - Action to be performed if the array of comments is being updated. - * The default value is ADD. - * @param {"ADD"|"SET"|"REMOVE"} [params.flagsAction = "ADD"] - Action to be performed if the array of flags is being updated. The - * default value is ADD. - * @param {"ADD"|"SET"|"REMOVE"} [params.filesAction = "ADD"] - Action to be performed if the array of files is being updated. The - * default value is ADD. - * @param {"ADD"|"SET"|"REMOVE"} [params.panelsAction = "ADD"] - Action to be performed if the array of panels is being updated. The - * default value is ADD. - * @param {Boolean} [params.includeResult = "false"] - Flag indicating to include the created or updated document result in the response. - * The default value is false. - * @returns {Promise} Promise object in the form of RestResponse instance. - */ - update(clinicalAnalyses, data, params) { - return this._post("analysis", null, "clinical", clinicalAnalyses, "update", data, params); - } - - /** Clinical analysis info - * @param {String} clinicalAnalysis - Comma separated list of clinical analysis IDs or names up to a maximum of 100. - * @param {Object} [params] - The Object containing the following optional parameters: - * @param {String} [params.include] - Fields included in the response, whole JSON path must be provided. - * @param {String} [params.exclude] - Fields excluded in the response, whole JSON path must be provided. - * @param {String} [params.study] - Study [[user@]project:]study where study and project can be either the ID or UUID. - * @param {Boolean} [params.deleted = "false"] - Boolean to retrieve deleted entries. The default value is false. - * @returns {Promise} Promise object in the form of RestResponse instance. - */ - info(clinicalAnalysis, params) { - return this._get("analysis", null, "clinical", clinicalAnalysis, "info", params); - } - - /** Create a new Interpretation - * @param {String} clinicalAnalysis - Clinical analysis ID. - * @param {Object} data - JSON containing clinical interpretation information. - * @param {Object} [params] - The Object containing the following optional parameters: - * @param {String} [params.include] - Fields included in the response, whole JSON path must be provided. - * @param {String} [params.exclude] - Fields excluded in the response, whole JSON path must be provided. - * @param {String} [params.study] - [[user@]project:]study id. - * @param {"PRIMARY"|"SECONDARY"} [params.setAs = "SECONDARY"] - Set interpretation as. The default value is SECONDARY. - * @param {Boolean} [params.includeResult = "false"] - Flag indicating to include the created or updated document result in the response. - * The default value is false. - * @returns {Promise} Promise object in the form of RestResponse instance. - */ - createInterpretation(clinicalAnalysis, data, params) { - return this._post("analysis/clinical", clinicalAnalysis, "interpretation", null, "create", data, params); - } - - /** Clear the fields of the main interpretation of the Clinical Analysis - * @param {String} interpretations - Interpretation IDs of the Clinical Analysis. - * @param {String} clinicalAnalysis - Clinical analysis ID. - * @param {Object} [params] - The Object containing the following optional parameters: - * @param {String} [params.study] - [[user@]project:]study ID. - * @returns {Promise} Promise object in the form of RestResponse instance. - */ - clearInterpretation(clinicalAnalysis, interpretations, params) { - return this._post("analysis/clinical", clinicalAnalysis, "interpretation", interpretations, "clear", params); - } - - /** Delete interpretation - * @param {String} clinicalAnalysis - Clinical analysis ID. - * @param {String} interpretations - Interpretation IDs of the Clinical Analysis. - * @param {Object} [params] - The Object containing the following optional parameters: - * @param {String} [params.study] - [[user@]project:]study ID. - * @param {String} [params.setAsPrimary] - Interpretation id to set as primary from the list of secondaries in case of deleting the - * actual primary one. - * @returns {Promise} Promise object in the form of RestResponse instance. - */ - deleteInterpretation(clinicalAnalysis, interpretations, params) { - return this._delete("analysis/clinical", clinicalAnalysis, "interpretation", interpretations, "delete", params); - } - - /** Revert to a previous interpretation version - * @param {String} clinicalAnalysis - Clinical analysis ID. - * @param {String} interpretation - Interpretation ID. - * @param {Number} version - Version to revert to. - * @param {Object} [params] - The Object containing the following optional parameters: - * @param {String} [params.study] - [[user@]project:]study ID. - * @returns {Promise} Promise object in the form of RestResponse instance. - */ - revertInterpretation(clinicalAnalysis, interpretation, version, params) { - return this._post("analysis/clinical", clinicalAnalysis, "interpretation", interpretation, "revert", {version, ...params}); - } - - /** Update interpretation fields - * @param {String} clinicalAnalysis - Clinical analysis ID. - * @param {String} interpretation - Interpretation ID. - * @param {Object} data - JSON containing clinical interpretation information. - * @param {Object} [params] - The Object containing the following optional parameters: - * @param {String} [params.include] - Fields included in the response, whole JSON path must be provided. - * @param {String} [params.exclude] - Fields excluded in the response, whole JSON path must be provided. - * @param {String} [params.study] - [[user@]project:]study ID. - * @param {"ADD"|"SET"|"REMOVE"|"REPLACE"} [params.primaryFindingsAction = "ADD"] - Action to be performed if the array of primary - * findings is being updated. The default value is ADD. - * @param {"ADD"|"SET"|"REMOVE"} [params.methodsAction = "ADD"] - Action to be performed if the array of methods is being updated. The - * default value is ADD. - * @param {"ADD"|"SET"|"REMOVE"|"REPLACE"} [params.secondaryFindingsAction = "ADD"] - Action to be performed if the array of secondary - * findings is being updated. The default value is ADD. - * @param {"ADD"|"REMOVE"|"REPLACE"} [params.commentsAction = "ADD"] - Action to be performed if the array of comments is being updated. - * To REMOVE or REPLACE, the date will need to be provided to identify the comment. The default value is ADD. - * @param {"ADD"|"SET"|"REMOVE"} [params.panelsAction = "ADD"] - Action to be performed if the array of panels is being updated. The - * default value is ADD. - * @param {"PRIMARY"|"SECONDARY"} [params.setAs] - Set interpretation as. - * @param {Boolean} [params.includeResult = "false"] - Flag indicating to include the created or updated document result in the response. - * The default value is false. - * @returns {Promise} Promise object in the form of RestResponse instance. - */ - updateInterpretation(clinicalAnalysis, interpretation, data, params) { - return this._post("analysis/clinical", clinicalAnalysis, "interpretation", interpretation, "update", data, params); - } - -} \ No newline at end of file diff --git a/opencga-client/src/main/javascript/ClinicalAnalysis.js b/opencga-client/src/main/javascript/ClinicalAnalysis.js index 3430f69661a..826196fd984 100644 --- a/opencga-client/src/main/javascript/ClinicalAnalysis.js +++ b/opencga-client/src/main/javascript/ClinicalAnalysis.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-01-30 + * Autogenerated on: 2024-02-02 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Cohort.js b/opencga-client/src/main/javascript/Cohort.js index badd624d5ae..f11d56a865f 100644 --- a/opencga-client/src/main/javascript/Cohort.js +++ b/opencga-client/src/main/javascript/Cohort.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-01-30 + * Autogenerated on: 2024-02-02 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/DiseasePanel.js b/opencga-client/src/main/javascript/DiseasePanel.js index 628b7c44bf2..aa4346dce4b 100644 --- a/opencga-client/src/main/javascript/DiseasePanel.js +++ b/opencga-client/src/main/javascript/DiseasePanel.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-01-30 + * Autogenerated on: 2024-02-02 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Family.js b/opencga-client/src/main/javascript/Family.js index 5488744f8cd..51ceba74de6 100644 --- a/opencga-client/src/main/javascript/Family.js +++ b/opencga-client/src/main/javascript/Family.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-01-30 + * Autogenerated on: 2024-02-02 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/File.js b/opencga-client/src/main/javascript/File.js index 54ab6b38608..7793fe89976 100644 --- a/opencga-client/src/main/javascript/File.js +++ b/opencga-client/src/main/javascript/File.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-01-30 + * Autogenerated on: 2024-02-02 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/GA4GH.js b/opencga-client/src/main/javascript/GA4GH.js index fcce4ffa025..a875626c28c 100644 --- a/opencga-client/src/main/javascript/GA4GH.js +++ b/opencga-client/src/main/javascript/GA4GH.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-01-30 + * Autogenerated on: 2024-02-02 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Individual.js b/opencga-client/src/main/javascript/Individual.js index 6b8f1ecd931..19ab182bff7 100644 --- a/opencga-client/src/main/javascript/Individual.js +++ b/opencga-client/src/main/javascript/Individual.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-01-30 + * Autogenerated on: 2024-02-02 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Job.js b/opencga-client/src/main/javascript/Job.js index c92fb36da73..2ddbc5e5cd8 100644 --- a/opencga-client/src/main/javascript/Job.js +++ b/opencga-client/src/main/javascript/Job.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-01-30 + * Autogenerated on: 2024-02-02 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Meta.js b/opencga-client/src/main/javascript/Meta.js index 1fae236ef72..35a8a7bea37 100644 --- a/opencga-client/src/main/javascript/Meta.js +++ b/opencga-client/src/main/javascript/Meta.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-01-30 + * Autogenerated on: 2024-02-02 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -58,11 +58,12 @@ export default class Meta extends OpenCGAParentClass { } /** Opencga model webservices. - * + * @param {Object} [params] - The Object containing the following optional parameters: + * @param {String} [params.model] - Model description. * @returns {Promise} Promise object in the form of RestResponse instance. */ - model() { - return this._get("meta", null, null, null, "model"); + model(params) { + return this._get("meta", null, null, null, "model", params); } /** Ping Opencga webservices. diff --git a/opencga-client/src/main/javascript/Project.js b/opencga-client/src/main/javascript/Project.js index a1a491cfc74..d11f75b8d23 100644 --- a/opencga-client/src/main/javascript/Project.js +++ b/opencga-client/src/main/javascript/Project.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-01-30 + * Autogenerated on: 2024-02-02 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Sample.js b/opencga-client/src/main/javascript/Sample.js index f0e3976fcfd..cde2fc56988 100644 --- a/opencga-client/src/main/javascript/Sample.js +++ b/opencga-client/src/main/javascript/Sample.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-01-30 + * Autogenerated on: 2024-02-02 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Study.js b/opencga-client/src/main/javascript/Study.js index 183cf9ac13a..89bb9f11141 100644 --- a/opencga-client/src/main/javascript/Study.js +++ b/opencga-client/src/main/javascript/Study.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-01-30 + * Autogenerated on: 2024-02-02 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/User.js b/opencga-client/src/main/javascript/User.js index 533db2eada8..c7d367f9d91 100644 --- a/opencga-client/src/main/javascript/User.js +++ b/opencga-client/src/main/javascript/User.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-01-30 + * Autogenerated on: 2024-02-02 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Variant.js b/opencga-client/src/main/javascript/Variant.js index 9bf3047933e..8f80259b632 100644 --- a/opencga-client/src/main/javascript/Variant.js +++ b/opencga-client/src/main/javascript/Variant.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-01-30 + * Autogenerated on: 2024-02-02 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/VariantOperation.js b/opencga-client/src/main/javascript/VariantOperation.js index a64b11f4c83..e58c1c5a845 100644 --- a/opencga-client/src/main/javascript/VariantOperation.js +++ b/opencga-client/src/main/javascript/VariantOperation.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-01-30 + * Autogenerated on: 2024-02-02 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/admin_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/admin_client.py index 343834c5ef7..1e5a18df72c 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/admin_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/admin_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-01-30 + Autogenerated on: 2024-02-02 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/alignment_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/alignment_client.py index c400a3b2fd1..8068df5192c 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/alignment_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/alignment_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-01-30 + Autogenerated on: 2024-02-02 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/clinical_analysis_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/clinical_analysis_client.py index f53c3ec76af..3c8df26fc32 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/clinical_analysis_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/clinical_analysis_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-01-30 + Autogenerated on: 2024-02-02 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/cohort_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/cohort_client.py index 677706b1e58..0adc73e3160 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/cohort_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/cohort_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-01-30 + Autogenerated on: 2024-02-02 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/disease_panel_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/disease_panel_client.py index a8ae201e7ef..2252a5bda1e 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/disease_panel_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/disease_panel_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-01-30 + Autogenerated on: 2024-02-02 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/family_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/family_client.py index cc9fa767f0f..f117855649f 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/family_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/family_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-01-30 + Autogenerated on: 2024-02-02 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/file_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/file_client.py index c72e0ffd925..fa9b8715b93 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/file_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/file_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-01-30 + Autogenerated on: 2024-02-02 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/ga4gh_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/ga4gh_client.py index 86d7747f04b..11f564a6d50 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/ga4gh_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/ga4gh_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-01-30 + Autogenerated on: 2024-02-02 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/individual_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/individual_client.py index db1015702ce..ae2bae8302c 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/individual_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/individual_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-01-30 + Autogenerated on: 2024-02-02 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/job_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/job_client.py index 838451d7ea4..82bf6816596 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/job_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/job_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-01-30 + Autogenerated on: 2024-02-02 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/meta_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/meta_client.py index a105a0c620b..17c4fc4a001 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/meta_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/meta_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-01-30 + Autogenerated on: 2024-02-02 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -51,6 +51,8 @@ def model(self, **options): """ Opencga model webservices. PATH: /{apiVersion}/meta/model + + :param str model: Model description. """ return self._get(category='meta', resource='model', **options) diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/project_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/project_client.py index 610283c05e9..412a3fd08ea 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/project_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/project_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-01-30 + Autogenerated on: 2024-02-02 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/sample_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/sample_client.py index 6cece56e1a9..1c4234aaa24 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/sample_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/sample_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-01-30 + Autogenerated on: 2024-02-02 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/study_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/study_client.py index 594beda62f7..369500ff951 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/study_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/study_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-01-30 + Autogenerated on: 2024-02-02 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/user_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/user_client.py index cc09130e3a1..60ff5ae333a 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/user_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/user_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-01-30 + Autogenerated on: 2024-02-02 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/variant_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/variant_client.py index 1709580dcc7..37608000460 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/variant_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/variant_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-01-30 + Autogenerated on: 2024-02-02 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/variant_operation_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/variant_operation_client.py index 56a41020056..21c0eec6ec8 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/variant_operation_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/variant_operation_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-01-30 + Autogenerated on: 2024-02-02 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-server/src/main/java/org/opencb/opencga/server/rest/MetaWSServer.java b/opencga-server/src/main/java/org/opencb/opencga/server/rest/MetaWSServer.java index edb1ab223c1..c416d0474b8 100644 --- a/opencga-server/src/main/java/org/opencb/opencga/server/rest/MetaWSServer.java +++ b/opencga-server/src/main/java/org/opencb/opencga/server/rest/MetaWSServer.java @@ -110,7 +110,7 @@ public Response status() { @GET @Path("/model") @ApiOperation(value = "Opencga model webservices.", response = String.class) - public Response model(@QueryParam("model") String modelStr) { + public Response model(@ApiParam(value = "Model description") @QueryParam("model") String modelStr) { return run(() -> new OpenCGAResult<>(0, Collections.emptyList(), 1, Collections.singletonList(DataModelsUtils.dataModelToJsonString(modelStr, false)), 1)); From be0798fc8ba08a7e8c08e45b85e3f08cdebebca0 Mon Sep 17 00:00:00 2001 From: JuanfeSanahuja Date: Tue, 6 Feb 2024 13:51:11 +0100 Subject: [PATCH 13/89] Prepare release 2.12.2 --- opencga-analysis/pom.xml | 2 +- opencga-app/pom.xml | 2 +- opencga-catalog/pom.xml | 2 +- opencga-client/pom.xml | 2 +- opencga-clinical/pom.xml | 2 +- opencga-core/pom.xml | 2 +- opencga-master/pom.xml | 2 +- opencga-server/pom.xml | 2 +- opencga-storage/opencga-storage-app/pom.xml | 2 +- opencga-storage/opencga-storage-benchmark/pom.xml | 2 +- opencga-storage/opencga-storage-core/pom.xml | 2 +- .../opencga-storage-hadoop-core/pom.xml | 2 +- .../opencga-storage-hadoop-deps-emr6.1/pom.xml | 2 +- .../opencga-storage-hadoop-deps-hdp2.6/pom.xml | 2 +- .../opencga-storage-hadoop-deps-hdp3.1/pom.xml | 2 +- .../opencga-storage-hadoop-deps/pom.xml | 2 +- opencga-storage/opencga-storage-hadoop/pom.xml | 2 +- opencga-storage/opencga-storage-server/pom.xml | 2 +- opencga-storage/pom.xml | 2 +- opencga-test/pom.xml | 2 +- pom.xml | 14 +++++++------- 21 files changed, 27 insertions(+), 27 deletions(-) diff --git a/opencga-analysis/pom.xml b/opencga-analysis/pom.xml index 265e72c158e..820f1b2b2de 100644 --- a/opencga-analysis/pom.xml +++ b/opencga-analysis/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 2.12.2-SNAPSHOT + 2.12.2 ../pom.xml diff --git a/opencga-app/pom.xml b/opencga-app/pom.xml index 90d4339f302..534b11ee520 100644 --- a/opencga-app/pom.xml +++ b/opencga-app/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 2.12.2-SNAPSHOT + 2.12.2 ../pom.xml diff --git a/opencga-catalog/pom.xml b/opencga-catalog/pom.xml index b6c3104bb44..786b6d823a2 100644 --- a/opencga-catalog/pom.xml +++ b/opencga-catalog/pom.xml @@ -23,7 +23,7 @@ org.opencb.opencga opencga - 2.12.2-SNAPSHOT + 2.12.2 ../pom.xml diff --git a/opencga-client/pom.xml b/opencga-client/pom.xml index db92bb3fe27..3941e12a874 100644 --- a/opencga-client/pom.xml +++ b/opencga-client/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 2.12.2-SNAPSHOT + 2.12.2 ../pom.xml diff --git a/opencga-clinical/pom.xml b/opencga-clinical/pom.xml index 693f452614d..3dae041334b 100644 --- a/opencga-clinical/pom.xml +++ b/opencga-clinical/pom.xml @@ -5,7 +5,7 @@ org.opencb.opencga opencga - 2.12.2-SNAPSHOT + 2.12.2 ../pom.xml 4.0.0 diff --git a/opencga-core/pom.xml b/opencga-core/pom.xml index 1282dec662d..43b0430d220 100644 --- a/opencga-core/pom.xml +++ b/opencga-core/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 2.12.2-SNAPSHOT + 2.12.2 ../pom.xml diff --git a/opencga-master/pom.xml b/opencga-master/pom.xml index 6df937c20f9..229329ed5aa 100644 --- a/opencga-master/pom.xml +++ b/opencga-master/pom.xml @@ -22,7 +22,7 @@ opencga org.opencb.opencga - 2.12.2-SNAPSHOT + 2.12.2 ../pom.xml diff --git a/opencga-server/pom.xml b/opencga-server/pom.xml index a462ea52963..433de25bea4 100644 --- a/opencga-server/pom.xml +++ b/opencga-server/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 2.12.2-SNAPSHOT + 2.12.2 ../pom.xml diff --git a/opencga-storage/opencga-storage-app/pom.xml b/opencga-storage/opencga-storage-app/pom.xml index 2b3005ce736..fa6b17f8ca9 100644 --- a/opencga-storage/opencga-storage-app/pom.xml +++ b/opencga-storage/opencga-storage-app/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage - 2.12.2-SNAPSHOT + 2.12.2 ../pom.xml diff --git a/opencga-storage/opencga-storage-benchmark/pom.xml b/opencga-storage/opencga-storage-benchmark/pom.xml index 0b7b09f0e50..d97d69874e4 100644 --- a/opencga-storage/opencga-storage-benchmark/pom.xml +++ b/opencga-storage/opencga-storage-benchmark/pom.xml @@ -22,7 +22,7 @@ opencga-storage org.opencb.opencga - 2.12.2-SNAPSHOT + 2.12.2 ../pom.xml diff --git a/opencga-storage/opencga-storage-core/pom.xml b/opencga-storage/opencga-storage-core/pom.xml index 407a2fe5afa..7ac862be877 100644 --- a/opencga-storage/opencga-storage-core/pom.xml +++ b/opencga-storage/opencga-storage-core/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage - 2.12.2-SNAPSHOT + 2.12.2 ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/pom.xml index ea8a4f03775..751872456fe 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/pom.xml @@ -23,7 +23,7 @@ org.opencb.opencga opencga-storage-hadoop - 2.12.2-SNAPSHOT + 2.12.2 ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-emr6.1/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-emr6.1/pom.xml index f7afa167980..c081a623352 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-emr6.1/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-emr6.1/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage-hadoop-deps - 2.12.2-SNAPSHOT + 2.12.2 ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp2.6/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp2.6/pom.xml index a584723d321..53d7727be0a 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp2.6/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp2.6/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage-hadoop-deps - 2.12.2-SNAPSHOT + 2.12.2 ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp3.1/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp3.1/pom.xml index 9e3018c3075..185ab57e501 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp3.1/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp3.1/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage-hadoop-deps - 2.12.2-SNAPSHOT + 2.12.2 ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/pom.xml index 4dc58124cbe..4fa3b8f8823 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/pom.xml @@ -50,7 +50,7 @@ org.opencb.opencga opencga-storage-hadoop - 2.12.2-SNAPSHOT + 2.12.2 ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/pom.xml b/opencga-storage/opencga-storage-hadoop/pom.xml index 63ebff0a728..8cc7e84c668 100644 --- a/opencga-storage/opencga-storage-hadoop/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/pom.xml @@ -28,7 +28,7 @@ org.opencb.opencga opencga-storage - 2.12.2-SNAPSHOT + 2.12.2 ../pom.xml diff --git a/opencga-storage/opencga-storage-server/pom.xml b/opencga-storage/opencga-storage-server/pom.xml index 8405b936d23..ffbe5a2fd91 100644 --- a/opencga-storage/opencga-storage-server/pom.xml +++ b/opencga-storage/opencga-storage-server/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage - 2.12.2-SNAPSHOT + 2.12.2 ../pom.xml diff --git a/opencga-storage/pom.xml b/opencga-storage/pom.xml index 32a43076828..690c8e06bdb 100644 --- a/opencga-storage/pom.xml +++ b/opencga-storage/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 2.12.2-SNAPSHOT + 2.12.2 ../pom.xml diff --git a/opencga-test/pom.xml b/opencga-test/pom.xml index 2235e4a9ce8..9ae266a20bc 100644 --- a/opencga-test/pom.xml +++ b/opencga-test/pom.xml @@ -24,7 +24,7 @@ org.opencb.opencga opencga - 2.12.2-SNAPSHOT + 2.12.2 ../pom.xml diff --git a/pom.xml b/pom.xml index 1fe6e6f6530..3860a3d7ed0 100644 --- a/pom.xml +++ b/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 2.12.2-SNAPSHOT + 2.12.2 pom OpenCGA @@ -43,12 +43,12 @@ - 2.12.2_dev - 2.12.2_dev - 5.8.2-SNAPSHOT - 2.12.2-SNAPSHOT - 4.12.1-SNAPSHOT - 2.12.2-SNAPSHOT + 2.12.2 + 2.12.2 + 5.8.2 + 2.12.1 + 4.12.0 + 2.12.2 0.2.0 2.11.4 From c011b79df7b8894d12716f4dcf5f4a286e82052c Mon Sep 17 00:00:00 2001 From: JuanfeSanahuja Date: Tue, 6 Feb 2024 13:53:43 +0100 Subject: [PATCH 14/89] Prepare next release 2.12.3-SNAPSHOT --- opencga-analysis/pom.xml | 2 +- opencga-app/pom.xml | 2 +- opencga-catalog/pom.xml | 2 +- opencga-client/pom.xml | 2 +- opencga-clinical/pom.xml | 2 +- opencga-core/pom.xml | 2 +- opencga-master/pom.xml | 2 +- opencga-server/pom.xml | 2 +- opencga-storage/opencga-storage-app/pom.xml | 2 +- opencga-storage/opencga-storage-benchmark/pom.xml | 2 +- opencga-storage/opencga-storage-core/pom.xml | 2 +- .../opencga-storage-hadoop-core/pom.xml | 2 +- .../opencga-storage-hadoop-deps-emr6.1/pom.xml | 2 +- .../opencga-storage-hadoop-deps-hdp2.6/pom.xml | 2 +- .../opencga-storage-hadoop-deps-hdp3.1/pom.xml | 2 +- .../opencga-storage-hadoop-deps/pom.xml | 2 +- opencga-storage/opencga-storage-hadoop/pom.xml | 2 +- opencga-storage/opencga-storage-server/pom.xml | 2 +- opencga-storage/pom.xml | 2 +- opencga-test/pom.xml | 2 +- pom.xml | 14 +++++++------- 21 files changed, 27 insertions(+), 27 deletions(-) diff --git a/opencga-analysis/pom.xml b/opencga-analysis/pom.xml index 820f1b2b2de..9e67e5abd6d 100644 --- a/opencga-analysis/pom.xml +++ b/opencga-analysis/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 2.12.2 + 2.12.3-SNAPSHOT ../pom.xml diff --git a/opencga-app/pom.xml b/opencga-app/pom.xml index 534b11ee520..9014be55b89 100644 --- a/opencga-app/pom.xml +++ b/opencga-app/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 2.12.2 + 2.12.3-SNAPSHOT ../pom.xml diff --git a/opencga-catalog/pom.xml b/opencga-catalog/pom.xml index 786b6d823a2..37ccba9b126 100644 --- a/opencga-catalog/pom.xml +++ b/opencga-catalog/pom.xml @@ -23,7 +23,7 @@ org.opencb.opencga opencga - 2.12.2 + 2.12.3-SNAPSHOT ../pom.xml diff --git a/opencga-client/pom.xml b/opencga-client/pom.xml index 3941e12a874..c02fc16f87f 100644 --- a/opencga-client/pom.xml +++ b/opencga-client/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 2.12.2 + 2.12.3-SNAPSHOT ../pom.xml diff --git a/opencga-clinical/pom.xml b/opencga-clinical/pom.xml index 3dae041334b..daaefd9783c 100644 --- a/opencga-clinical/pom.xml +++ b/opencga-clinical/pom.xml @@ -5,7 +5,7 @@ org.opencb.opencga opencga - 2.12.2 + 2.12.3-SNAPSHOT ../pom.xml 4.0.0 diff --git a/opencga-core/pom.xml b/opencga-core/pom.xml index 43b0430d220..4359b28eb39 100644 --- a/opencga-core/pom.xml +++ b/opencga-core/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 2.12.2 + 2.12.3-SNAPSHOT ../pom.xml diff --git a/opencga-master/pom.xml b/opencga-master/pom.xml index 229329ed5aa..f8336b9cafc 100644 --- a/opencga-master/pom.xml +++ b/opencga-master/pom.xml @@ -22,7 +22,7 @@ opencga org.opencb.opencga - 2.12.2 + 2.12.3-SNAPSHOT ../pom.xml diff --git a/opencga-server/pom.xml b/opencga-server/pom.xml index 433de25bea4..3bab9d5381e 100644 --- a/opencga-server/pom.xml +++ b/opencga-server/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 2.12.2 + 2.12.3-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-app/pom.xml b/opencga-storage/opencga-storage-app/pom.xml index fa6b17f8ca9..45e1d70baf2 100644 --- a/opencga-storage/opencga-storage-app/pom.xml +++ b/opencga-storage/opencga-storage-app/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage - 2.12.2 + 2.12.3-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-benchmark/pom.xml b/opencga-storage/opencga-storage-benchmark/pom.xml index d97d69874e4..6753e6b9b76 100644 --- a/opencga-storage/opencga-storage-benchmark/pom.xml +++ b/opencga-storage/opencga-storage-benchmark/pom.xml @@ -22,7 +22,7 @@ opencga-storage org.opencb.opencga - 2.12.2 + 2.12.3-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-core/pom.xml b/opencga-storage/opencga-storage-core/pom.xml index 7ac862be877..60f8935f9c5 100644 --- a/opencga-storage/opencga-storage-core/pom.xml +++ b/opencga-storage/opencga-storage-core/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage - 2.12.2 + 2.12.3-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/pom.xml index 751872456fe..0f3aa20292b 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/pom.xml @@ -23,7 +23,7 @@ org.opencb.opencga opencga-storage-hadoop - 2.12.2 + 2.12.3-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-emr6.1/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-emr6.1/pom.xml index c081a623352..f26f95ba4e2 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-emr6.1/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-emr6.1/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage-hadoop-deps - 2.12.2 + 2.12.3-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp2.6/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp2.6/pom.xml index 53d7727be0a..a8fc767bcd1 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp2.6/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp2.6/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage-hadoop-deps - 2.12.2 + 2.12.3-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp3.1/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp3.1/pom.xml index 185ab57e501..2bdf0c2524f 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp3.1/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp3.1/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage-hadoop-deps - 2.12.2 + 2.12.3-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/pom.xml index 4fa3b8f8823..54adedea682 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/pom.xml @@ -50,7 +50,7 @@ org.opencb.opencga opencga-storage-hadoop - 2.12.2 + 2.12.3-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/pom.xml b/opencga-storage/opencga-storage-hadoop/pom.xml index 8cc7e84c668..6e3ad65ac21 100644 --- a/opencga-storage/opencga-storage-hadoop/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/pom.xml @@ -28,7 +28,7 @@ org.opencb.opencga opencga-storage - 2.12.2 + 2.12.3-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-server/pom.xml b/opencga-storage/opencga-storage-server/pom.xml index ffbe5a2fd91..53215221e7d 100644 --- a/opencga-storage/opencga-storage-server/pom.xml +++ b/opencga-storage/opencga-storage-server/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage - 2.12.2 + 2.12.3-SNAPSHOT ../pom.xml diff --git a/opencga-storage/pom.xml b/opencga-storage/pom.xml index 690c8e06bdb..4f6b1923191 100644 --- a/opencga-storage/pom.xml +++ b/opencga-storage/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 2.12.2 + 2.12.3-SNAPSHOT ../pom.xml diff --git a/opencga-test/pom.xml b/opencga-test/pom.xml index 9ae266a20bc..e655e693e56 100644 --- a/opencga-test/pom.xml +++ b/opencga-test/pom.xml @@ -24,7 +24,7 @@ org.opencb.opencga opencga - 2.12.2 + 2.12.3-SNAPSHOT ../pom.xml diff --git a/pom.xml b/pom.xml index 3860a3d7ed0..e77ad824f64 100644 --- a/pom.xml +++ b/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 2.12.2 + 2.12.3-SNAPSHOT pom OpenCGA @@ -43,12 +43,12 @@ - 2.12.2 - 2.12.2 - 5.8.2 - 2.12.1 - 4.12.0 - 2.12.2 + 2.12.3_dev + 2.12.3_dev + 5.8.3-SNAPSHOT + 2.12.2-SNAPSHOT + 4.12.1-SNAPSHOT + 2.12.3-SNAPSHOT 0.2.0 2.11.4 From 1238a00e4ec7016173b6fd37e24c4ffcf555dfae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Coll=20Morag=C3=B3n?= Date: Thu, 8 Feb 2024 10:50:17 +0000 Subject: [PATCH 15/89] storage: Exclude slf4j-log4j12 from zookeeper #TASK-5624 --- .../opencga-storage-hadoop-core/src/assembly/src.xml | 2 ++ pom.xml | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/assembly/src.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/assembly/src.xml index 769cf927b92..5432844fa24 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/assembly/src.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/assembly/src.xml @@ -15,6 +15,8 @@ org.eclipse.jetty:* org.apache.logging.log4j:log4j-slf4j-impl + org.slf4j:slf4j-simple + org.slf4j:slf4j-log4j12 diff --git a/pom.xml b/pom.xml index e77ad824f64..6333c20566b 100644 --- a/pom.xml +++ b/pom.xml @@ -783,6 +783,12 @@ org.apache.zookeeper zookeeper ${zookeeper.version} + + + org.slf4j + slf4j-log4j12 + + commons-logging From e2c5ef72333bae313949e967972e876bebc26c6a Mon Sep 17 00:00:00 2001 From: JuanfeSanahuja Date: Fri, 9 Feb 2024 16:04:10 +0100 Subject: [PATCH 16/89] Delete the last comma #TASK-5556 --- .../main/java/org/opencb/opencga/app/cli/CommandExecutor.java | 1 + .../opencga/app/cli/main/executors/SamplesCommandExecutor.java | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/CommandExecutor.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/CommandExecutor.java index cd532449d4e..8b2f450d47d 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/CommandExecutor.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/CommandExecutor.java @@ -338,6 +338,7 @@ private String printBody(List data, String tabs) { res += tab + "\"" +parameter.getName() + "\"" + ": [" + printBody(parameter.getData(), tab) + "],\n"; } } + res = res.substring(0,res.length()-1); res += tabs + "}"; return res; diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/executors/SamplesCommandExecutor.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/executors/SamplesCommandExecutor.java index 328cc9eb556..7ed949a68a5 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/executors/SamplesCommandExecutor.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/executors/SamplesCommandExecutor.java @@ -125,7 +125,6 @@ private RestResponse updateAcl() throws Exception { queryParams.putIfNotEmpty("study", sessionManager.getSession().getCurrentStudy()); } - SampleAclUpdateParams sampleAclUpdateParams = null; if (commandOptions.jsonDataModel) { RestResponse res = new RestResponse<>(); From 950f13904332d0c28eb8e66618e875b4fd9ea1db Mon Sep 17 00:00:00 2001 From: JuanfeSanahuja Date: Mon, 12 Feb 2024 14:58:32 +0100 Subject: [PATCH 17/89] json-data-model:Using jackson to print the json #TASK-5556 --- .../opencga/app/cli/CommandExecutor.java | 59 ++++++++++++++----- 1 file changed, 44 insertions(+), 15 deletions(-) diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/CommandExecutor.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/CommandExecutor.java index 8b2f450d47d..31d61064396 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/CommandExecutor.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/CommandExecutor.java @@ -45,7 +45,9 @@ import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * Created by imedina on 19/04/16. @@ -309,7 +311,9 @@ public String getObjectAsJSON(String objectCategory, String objectPath, OpenCGAC //jsonInString += parameter.getName()+":"+parameter.getAllowedValues()+"\n"; if (parameter.getData() != null) { enc = true; - jsonInString.append(printBody(parameter.getData(), "")); + ObjectMapper mapper= new ObjectMapper(); + Map map=printBody(parameter.getData()); + jsonInString.append(mapper.writerWithDefaultPrettyPrinter().writeValueAsString(map)); } } if (!enc) { @@ -327,20 +331,17 @@ public String getObjectAsJSON(String objectCategory, String objectPath, OpenCGAC return jsonInString.toString(); } - private String printBody(List data, String tabs) { - String res = ""; - res += "{\n"; - String tab = " " + tabs; + private Map printBody(List data) { + Map result=new HashMap(); for (RestParameter parameter : data) { + Item item= new Item(); if (parameter.getData() == null) { - res += printParameter(parameter, tab); + result.put(parameter.getName(), printParameterValue(parameter)); } else { - res += tab + "\"" +parameter.getName() + "\"" + ": [" + printBody(parameter.getData(), tab) + "],\n"; + result.put(parameter.getName(), printBody(parameter.getData())); } } - res = res.substring(0,res.length()-1); - res += tabs + "}"; - return res; + return result; } @@ -354,6 +355,7 @@ private String printParameterValue(RestParameter parameter) { if(!StringUtils.isEmpty(parameter.getAllowedValues())){ return parameter.getAllowedValues().replace(" ", "|"); } + switch (parameter.getType()) { case "Boolean": case "java.lang.Boolean": @@ -368,15 +370,15 @@ private String printParameterValue(RestParameter parameter) { case "long": return "0"; case "List": - return "[\"\"]"; + return "[]"; case "Date": - return "\"dd/mm/yyyy\""; + return "dd/mm/yyyy"; case "Map": - return "{\"key\": \"value\"}"; + return "{key: value}"; case "String": - return "\"\""; + return ""; default: - return "\"-\""; + return "-"; } } @@ -385,4 +387,31 @@ public Logger getLogger() { return logger; } + public class Item { + + private String key; + private Object value; + + public Item() { + } + + public String getKey() { + return key; + } + + public Item setKey(String key) { + this.key = key; + return this; + } + + public Object getValue() { + return value; + } + + public Item setValue(Object value) { + this.value = value; + return this; + } + } + } From 07cc7445ea0fcbda0d61afc5d299439ed2a1d432 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20T=C3=A1rraga=20Gim=C3=A9nez?= Date: Mon, 12 Feb 2024 18:06:18 +0100 Subject: [PATCH 18/89] analysis: fix alignment index operation, #TASK-5645 --- .../alignment/AlignmentIndexOperation.java | 53 ++++--------------- .../alignment/AlignmentStorageManager.java | 3 +- .../executors/AlignmentCommandExecutor.java | 2 +- .../options/AlignmentCommandOptions.java | 3 -- 4 files changed, 11 insertions(+), 50 deletions(-) diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentIndexOperation.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentIndexOperation.java index 723ca02e16e..7fe15b9ba60 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentIndexOperation.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentIndexOperation.java @@ -16,9 +16,7 @@ package org.opencb.opencga.analysis.alignment; -import org.apache.commons.io.FileUtils; import org.opencb.biodata.tools.alignment.BamManager; -import org.opencb.commons.datastore.core.ObjectMap; import org.opencb.commons.datastore.core.QueryOptions; import org.opencb.opencga.analysis.tools.OpenCgaTool; import org.opencb.opencga.catalog.exceptions.CatalogException; @@ -39,7 +37,6 @@ public class AlignmentIndexOperation extends OpenCgaTool { private String study; private String inputFile; - private boolean overwrite; private File inputCatalogFile; private Path inputPath; @@ -74,39 +71,16 @@ protected void check() throws Exception { protected void run() throws Exception { step(ID, () -> { - - Path indexPath = Paths.get(inputPath.toFile().getParent()).resolve(outputPath.getFileName()); - if (overwrite || !indexPath.toFile().exists()) { - // Compute index if necessary - BamManager bamManager = new BamManager(inputPath); - bamManager.createIndex(outputPath); - bamManager.close(); - - if (!outputPath.toFile().exists()) { - throw new ToolException("Something wrong happened when computing index file for '" + inputFile + "'"); - } - - if (indexPath.toFile().exists()) { - indexPath.toFile().delete(); - } - FileUtils.moveFile(outputPath.toFile(), indexPath.toFile()); - } - - boolean isLinked = true; - Path outputCatalogPath = Paths.get(inputCatalogFile.getPath()).getParent().resolve(outputPath.getFileName()); - OpenCGAResult fileResult; - try { - fileResult = catalogManager.getFileManager().get(getStudy(), outputCatalogPath.toString(), QueryOptions.empty(), token); - if (fileResult.getNumResults() <= 0) { - isLinked = false; - } - } catch (CatalogException e) { - isLinked = false; - } - if (!isLinked) { - catalogManager.getFileManager().link(getStudy(), indexPath.toUri(), outputCatalogPath.getParent().toString(), - new ObjectMap("parents", true), token); + // Compute index if necessary + logger.info("Computing alignment index for {}", inputPath); + BamManager bamManager = new BamManager(inputPath); + bamManager.createIndex(outputPath); + bamManager.close(); + + if (!outputPath.toFile().exists()) { + throw new ToolException("Something wrong happened when computing index file for '" + inputFile + "'"); } + logger.info("Alignment index at {}", outputPath); }); } @@ -127,13 +101,4 @@ public AlignmentIndexOperation setInputFile(String inputFile) { this.inputFile = inputFile; return this; } - - public boolean isOverwrite() { - return overwrite; - } - - public AlignmentIndexOperation setOverwrite(boolean overwrite) { - this.overwrite = overwrite; - return this; - } } diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentStorageManager.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentStorageManager.java index fd8a0cebad5..2aa314a9fd5 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentStorageManager.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentStorageManager.java @@ -91,7 +91,7 @@ public AlignmentStorageManager(CatalogManager catalogManager, StorageEngineFacto // INDEX //------------------------------------------------------------------------- - public void index(String study, String inputFile, boolean overwrite, String outdir, String token) throws ToolException { + public void index(String study, String inputFile, String outdir, String token) throws ToolException { ObjectMap params = new ObjectMap(); AlignmentIndexOperation indexOperation = new AlignmentIndexOperation(); @@ -99,7 +99,6 @@ public void index(String study, String inputFile, boolean overwrite, String outd indexOperation.setStudy(study); indexOperation.setInputFile(inputFile); - indexOperation.setOverwrite(overwrite); indexOperation.start(); } diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/executors/AlignmentCommandExecutor.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/executors/AlignmentCommandExecutor.java index 3553384e71a..b4ebe347f46 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/executors/AlignmentCommandExecutor.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/executors/AlignmentCommandExecutor.java @@ -121,7 +121,7 @@ private void indexRun() throws Exception { AlignmentStorageManager alignmentManager = new AlignmentStorageManager(catalogManager, storageEngineFactory, alignmentCommandOptions.internalJobOptions.jobId); - alignmentManager.index(cliOptions.study, cliOptions.file, cliOptions.overwrite, cliOptions.outdir, cliOptions.commonOptions.token); + alignmentManager.index(cliOptions.study, cliOptions.file, cliOptions.outdir, cliOptions.commonOptions.token); } diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/options/AlignmentCommandOptions.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/options/AlignmentCommandOptions.java index c71009861c3..04c0d984d7a 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/options/AlignmentCommandOptions.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/options/AlignmentCommandOptions.java @@ -107,9 +107,6 @@ public class IndexAlignmentCommandOptions extends GeneralCliOptions.StudyOption @Parameter(names = {"--file"}, description = FILE_ID_DESCRIPTION, required = true, arity = 1) public String file; - @Parameter(names = {"--overwrite"}, description = "Overwrite index file", arity = 0) - public boolean overwrite = false; - @Parameter(names = {"-o", "--outdir"}, description = OUTPUT_DIRECTORY_DESCRIPTION) public String outdir; } From b1bdb6c5d778c3532725ca2ed4af7219f0112717 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20T=C3=A1rraga=20Gim=C3=A9nez?= Date: Mon, 12 Feb 2024 19:10:50 +0100 Subject: [PATCH 19/89] analysis: fix alignment coverage index, #TASK-5645 --- .../alignment/AlignmentCoverageAnalysis.java | 133 ++++++++++-------- .../executors/AlignmentCommandExecutor.java | 6 +- .../options/AlignmentCommandOptions.java | 10 +- .../models/alignment/CoverageIndexParams.java | 38 ++--- 4 files changed, 104 insertions(+), 83 deletions(-) diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentCoverageAnalysis.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentCoverageAnalysis.java index fca5b6a8b16..a43f4fcaa98 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentCoverageAnalysis.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentCoverageAnalysis.java @@ -18,6 +18,7 @@ import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.StringUtils; +import org.apache.hadoop.fs.FileUtil; import org.opencb.commons.datastore.core.ObjectMap; import org.opencb.commons.datastore.core.QueryOptions; import org.opencb.opencga.analysis.tools.OpenCgaToolScopeStudy; @@ -31,6 +32,7 @@ import org.opencb.opencga.core.tools.annotations.Tool; import org.opencb.opencga.core.tools.annotations.ToolParams; +import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.HashMap; @@ -49,10 +51,9 @@ public class AlignmentCoverageAnalysis extends OpenCgaToolScopeStudy { protected final CoverageIndexParams coverageParams = new CoverageIndexParams(); private File bamCatalogFile; - private Path inputPath; + private File baiCatalogFile; - private Path bwCatalogPath; - private Path outputPath; + private Path bwPath; protected void check() throws Exception { super.check(); @@ -62,24 +63,28 @@ protected void check() throws Exception { throw new ToolException("Missing study when computing alignment coverage"); } - OpenCGAResult fileResult; - try { - logger.info("{}: checking file {}", ID, coverageParams.getFile()); - fileResult = catalogManager.getFileManager().get(getStudy(), coverageParams.getFile(), QueryOptions.empty(), getToken()); - } catch (CatalogException e) { - throw new ToolException("Error accessing file '" + coverageParams.getFile() + "' of the study " + getStudy() + "'", e); - } - if (fileResult.getNumResults() <= 0) { - throw new ToolException("File '" + coverageParams.getFile() + "' not found in study '" + getStudy() + "'"); + // Checking BAM file ID + bamCatalogFile = getFile(coverageParams.getBamFileId(), "BAM"); + + // Check if the input file is .bam + if (!bamCatalogFile.getName().endsWith(".bam")) { + throw new ToolException("Invalid input alignment file '" + coverageParams.getBamFileId() + "' (" + bamCatalogFile.getName() + + "): it must be in BAM format"); } - bamCatalogFile = fileResult.getResults().get(0); - inputPath = Paths.get(bamCatalogFile.getUri()); - String filename = inputPath.getFileName().toString(); + // Getting BAI file + if (StringUtils.isEmpty(coverageParams.getBaiFileId())) { + // BAI file ID was not provided, looking for it + baiCatalogFile = getBaiFile(bamCatalogFile.getName() + ".bai"); + } else { + // Getting the BAI file provided + baiCatalogFile = getFile(coverageParams.getBaiFileId(), "BAI"); + } - // Check if the input file is .bam - if (!filename.endsWith(".bam")) { - throw new ToolException("Invalid input alignment file '" + coverageParams.getFile() + "': it must be in BAM format"); + // Checking filenames + if (!baiCatalogFile.getName().equals(bamCatalogFile.getName() + ".bai")) { + throw new ToolException("Filenames mismatch, BAI file name consists of BAM file name plus the extension .bai; BAM filename = " + + bamCatalogFile.getName() + ", BAI filename = " + baiCatalogFile.getName()); } // Sanity check: window size @@ -90,15 +95,7 @@ protected void check() throws Exception { } // Path where the BW file will be created - outputPath = getOutDir().resolve(filename + ".bw"); - - // Check if BW exists already, and then check the flag 'overwrite' - bwCatalogPath = Paths.get(inputPath.toFile().getParent()).resolve(outputPath.getFileName()); - if (bwCatalogPath.toFile().exists() && !coverageParams.isOverwrite()) { - // Nothing to do - throw new ToolException("Nothing to do: coverage file (" + bwCatalogPath + ") already exists and you set the flag 'overwrite'" - + " to false"); - } + bwPath = getOutDir().resolve(bamCatalogFile.getName() + ".bw"); } @Override @@ -108,9 +105,15 @@ protected void run() throws Exception { logger.info("{}: running with parameters {}", ID, coverageParams); step(() -> { + + // In order to run "deeptools bamCoverage", both BAM and BAI files must be located in the same folder + // to do that symbolic links will be created + Files.createSymbolicLink(getOutDir().resolve(bamCatalogFile.getName()), Paths.get(bamCatalogFile.getUri())); + Files.createSymbolicLink(getOutDir().resolve(baiCatalogFile.getName()), Paths.get(baiCatalogFile.getUri())); + Map bamCoverageParams = new HashMap<>(); - bamCoverageParams.put("b", inputPath.toAbsolutePath().toString()); - bamCoverageParams.put("o", outputPath.toAbsolutePath().toString()); + bamCoverageParams.put("b", Paths.get(bamCatalogFile.getUri()).toAbsolutePath().toString()); + bamCoverageParams.put("o", bwPath.toAbsolutePath().toString()); bamCoverageParams.put("binSize", String.valueOf(coverageParams.getWindowSize())); bamCoverageParams.put("outFileFormat", "bigwig"); bamCoverageParams.put("minMappingQuality", "20"); @@ -125,37 +128,55 @@ protected void run() throws Exception { .execute(); // Check execution result - if (!outputPath.toFile().exists()) { - new ToolException("Something wrong happened running a coverage: BigWig file (" + outputPath.toFile().getName() + if (!bwPath.toFile().exists()) { + new ToolException("Something wrong happened running a coverage: BigWig file (" + bwPath.toFile().getName() + ") was not create, please, check log files."); } - // Move the BW file to the same directory where the BAM file is located - logger.info("{}: moving coverage file {} to the same directory where the BAM file is located", ID, - bwCatalogPath.toFile().getName()); - if (bwCatalogPath.toFile().exists()) { - bwCatalogPath.toFile().delete(); - } - FileUtils.moveFile(outputPath.toFile(), bwCatalogPath.toFile()); - - // And finally, link the BW file is necessary - boolean isLinked = true; - Path outputCatalogPath = Paths.get(bamCatalogFile.getPath()).getParent().resolve(outputPath.getFileName()); - OpenCGAResult fileResult; - try { - fileResult = catalogManager.getFileManager().get(getStudy(), outputCatalogPath.toString(), QueryOptions.empty(), - getToken()); - if (fileResult.getNumResults() <= 0) { - isLinked = false; + // Remove symbolic links + Files.delete(getOutDir().resolve(bamCatalogFile.getName())); + Files.delete(getOutDir().resolve(baiCatalogFile.getName())); + }); + } + + private File getFile(String fileId, String msg) throws ToolException { + OpenCGAResult fileResult; + try { + logger.info("{}: checking {} file ID '{}'", ID, msg, fileId); + fileResult = catalogManager.getFileManager().get(getStudy(), fileId, QueryOptions.empty(), getToken()); + } catch (CatalogException e) { + throw new ToolException("Error accessing " + msg + " file '" + fileId + "' of the study " + getStudy() + "'", e); + } + if (fileResult.getNumResults() <= 0) { + throw new ToolException(msg + " file ID '" + fileId + "' not found in study '" + getStudy() + "'"); + } + return fileResult.first(); + } + + private File getBaiFile(String filename) throws ToolException { + OpenCGAResult fileResult; + try { + logger.info("{}: looking BAI file ID '{}'", ID, filename); + fileResult = catalogManager.getFileManager().get(getStudy(), filename, QueryOptions.empty(), getToken()); + } catch (CatalogException e) { + throw new ToolException("Error accessing BAI file name '" + filename + "' of the study " + getStudy() + "'", e); + } + if (fileResult.getNumResults() <= 0) { + throw new ToolException("Filename '" + filename + "' not found in study '" + getStudy() + "'"); + } else { + File selectedFile = null; + for (File file : fileResult.getResults()) { + if (selectedFile == null) { + selectedFile = file; + } else { + // Get the most recent according to the creation date + // Creation date keeps the format: 20240212151427 + if (Integer.parseInt(file.getCreationDate()) > Integer.parseInt(selectedFile.getCreationDate())) { + selectedFile = file; + } } - } catch (CatalogException e) { - isLinked = false; - } - if (!isLinked) { - logger.info("{}: linking file {} in catalog", ID, bwCatalogPath.toFile().getName()); - catalogManager.getFileManager().link(getStudy(), bwCatalogPath.toUri(), outputCatalogPath.getParent().toString(), - new ObjectMap("parents", true), getToken()); } - }); + return selectedFile; + } } } diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/executors/AlignmentCommandExecutor.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/executors/AlignmentCommandExecutor.java index b4ebe347f46..07ed1b36c1f 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/executors/AlignmentCommandExecutor.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/executors/AlignmentCommandExecutor.java @@ -234,9 +234,9 @@ private void coverageRun() throws ToolException { AlignmentCommandOptions.CoverageAlignmentCommandOptions cliOptions = alignmentCommandOptions.coverageAlignmentCommandOptions; ObjectMap params = new CoverageIndexParams( - cliOptions.file, - cliOptions.windowSize, - cliOptions.overwrite + cliOptions.bamFileId, + cliOptions.baiFileId, + cliOptions.windowSize ).toObjectMap(cliOptions.commonOptions.params).append(ParamConstants.STUDY_PARAM, cliOptions.study); toolRunner.execute(AlignmentCoverageAnalysis.class, params, Paths.get(cliOptions.outdir), jobId, token); diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/options/AlignmentCommandOptions.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/options/AlignmentCommandOptions.java index 04c0d984d7a..628988b9302 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/options/AlignmentCommandOptions.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/options/AlignmentCommandOptions.java @@ -332,15 +332,15 @@ public class CoverageAlignmentCommandOptions extends GeneralCliOptions.StudyOpti @ParametersDelegate public Object internalJobOptions = internalJobOptionsObject; - @Parameter(names = {"--file"}, description = FILE_ID_DESCRIPTION, required = true, arity = 1) - public String file; + @Parameter(names = {"--bam-file-id"}, description = "BAM file ID", required = true, arity = 1) + public String bamFileId; + + @Parameter(names = {"--bai-file-id"}, description = "BAI file ID; if not provided, it will search the most recent one", arity = 1) + public String baiFileId; @Parameter(names = {"--window-size"}, description = COVERAGE_WINDOW_SIZE_DESCRIPTION, arity = 1) public int windowSize = 1; - @Parameter(names = {"--overwrite"}, description = "Overwrite coverage file", arity = 0) - public boolean overwrite = false; - @Parameter(names = {"-o", "--outdir"}, description = OUTPUT_DIRECTORY_DESCRIPTION) public String outdir; } diff --git a/opencga-core/src/main/java/org/opencb/opencga/core/models/alignment/CoverageIndexParams.java b/opencga-core/src/main/java/org/opencb/opencga/core/models/alignment/CoverageIndexParams.java index 60250f19169..f655829625d 100644 --- a/opencga-core/src/main/java/org/opencb/opencga/core/models/alignment/CoverageIndexParams.java +++ b/opencga-core/src/main/java/org/opencb/opencga/core/models/alignment/CoverageIndexParams.java @@ -7,55 +7,55 @@ public class CoverageIndexParams extends ToolParams { public static final String DESCRIPTION = "Coverage computation parameters"; - private String file; + private String bamFileId; + private String baiFileId; @JsonProperty(defaultValue = "1") private int windowSize; - private boolean overwrite; public CoverageIndexParams() { } - public CoverageIndexParams(String file, int windowSize, boolean overwrite) { - this.file = file; + public CoverageIndexParams(String bamFileId, String baiFileId, int windowSize) { + this.bamFileId = bamFileId; + this.baiFileId = baiFileId; this.windowSize = windowSize; - this.overwrite = overwrite; } @Override public String toString() { final StringBuilder sb = new StringBuilder("CoverageIndexParams{"); - sb.append("file='").append(file).append('\''); + sb.append("bamFileId='").append(bamFileId).append('\''); + sb.append(", baiFileId='").append(baiFileId).append('\''); sb.append(", windowSize=").append(windowSize); - sb.append(", overwrite=").append(overwrite); sb.append('}'); return sb.toString(); } - public String getFile() { - return file; + public String getBamFileId() { + return bamFileId; } - public CoverageIndexParams setFile(String file) { - this.file = file; + public CoverageIndexParams setBamFileId(String bamFileId) { + this.bamFileId = bamFileId; return this; } - public int getWindowSize() { - return windowSize; + public String getBaiFileId() { + return baiFileId; } - public CoverageIndexParams setWindowSize(int windowSize) { - this.windowSize = windowSize; + public CoverageIndexParams setBaiFileId(String baiFileId) { + this.baiFileId = baiFileId; return this; } - public boolean isOverwrite() { - return overwrite; + public int getWindowSize() { + return windowSize; } - public CoverageIndexParams setOverwrite(boolean overwrite) { - this.overwrite = overwrite; + public CoverageIndexParams setWindowSize(int windowSize) { + this.windowSize = windowSize; return this; } } From b8c43783f1e0981267e79410f64cda3832450570 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20T=C3=A1rraga=20Gim=C3=A9nez?= Date: Tue, 13 Feb 2024 12:20:35 +0100 Subject: [PATCH 20/89] analysis: fix coverage index; and generate clients, #TASK-5645 --- .../alignment/AlignmentConstants.java | 26 +++++++ .../alignment/AlignmentCoverageAnalysis.java | 69 ++++++++++++------- .../DeeptoolsWrapperAnalysisExecutor.java | 47 +++++++++++++ .../DockerWrapperAnalysisExecutor.java | 4 ++ .../app/cli/main/OpenCgaCompleter.java | 2 +- .../app/cli/main/OpencgaCliOptionsParser.java | 2 +- .../AnalysisAlignmentCommandExecutor.java | 4 +- .../AnalysisAlignmentCommandOptions.java | 10 +-- opencga-client/src/main/R/R/Admin-methods.R | 2 +- .../src/main/R/R/Alignment-methods.R | 2 +- opencga-client/src/main/R/R/AllGenerics.R | 22 +++--- .../src/main/R/R/Clinical-methods.R | 4 +- opencga-client/src/main/R/R/Cohort-methods.R | 4 +- opencga-client/src/main/R/R/Family-methods.R | 4 +- opencga-client/src/main/R/R/File-methods.R | 4 +- opencga-client/src/main/R/R/GA4GH-methods.R | 4 +- .../src/main/R/R/Individual-methods.R | 4 +- opencga-client/src/main/R/R/Job-methods.R | 4 +- opencga-client/src/main/R/R/Meta-methods.R | 2 +- .../src/main/R/R/Operation-methods.R | 2 +- opencga-client/src/main/R/R/Panel-methods.R | 4 +- opencga-client/src/main/R/R/Project-methods.R | 2 +- opencga-client/src/main/R/R/Sample-methods.R | 4 +- opencga-client/src/main/R/R/Study-methods.R | 4 +- opencga-client/src/main/R/R/User-methods.R | 4 +- opencga-client/src/main/R/R/Variant-methods.R | 2 +- .../client/rest/clients/AdminClient.java | 4 +- .../client/rest/clients/AlignmentClient.java | 4 +- .../rest/clients/ClinicalAnalysisClient.java | 4 +- .../client/rest/clients/CohortClient.java | 4 +- .../rest/clients/DiseasePanelClient.java | 4 +- .../client/rest/clients/FamilyClient.java | 4 +- .../client/rest/clients/FileClient.java | 4 +- .../client/rest/clients/GA4GHClient.java | 4 +- .../client/rest/clients/IndividualClient.java | 4 +- .../client/rest/clients/JobClient.java | 4 +- .../client/rest/clients/MetaClient.java | 4 +- .../client/rest/clients/ProjectClient.java | 4 +- .../client/rest/clients/SampleClient.java | 4 +- .../client/rest/clients/StudyClient.java | 4 +- .../client/rest/clients/UserClient.java | 4 +- .../client/rest/clients/VariantClient.java | 4 +- .../rest/clients/VariantOperationClient.java | 4 +- opencga-client/src/main/javascript/Admin.js | 2 +- .../src/main/javascript/Alignment.js | 2 +- .../src/main/javascript/ClinicalAnalysis.js | 2 +- opencga-client/src/main/javascript/Cohort.js | 2 +- .../src/main/javascript/DiseasePanel.js | 2 +- opencga-client/src/main/javascript/Family.js | 2 +- opencga-client/src/main/javascript/File.js | 2 +- opencga-client/src/main/javascript/GA4GH.js | 2 +- .../src/main/javascript/Individual.js | 2 +- opencga-client/src/main/javascript/Job.js | 2 +- opencga-client/src/main/javascript/Meta.js | 2 +- opencga-client/src/main/javascript/Project.js | 2 +- opencga-client/src/main/javascript/Sample.js | 2 +- opencga-client/src/main/javascript/Study.js | 2 +- opencga-client/src/main/javascript/User.js | 2 +- opencga-client/src/main/javascript/Variant.js | 2 +- .../src/main/javascript/VariantOperation.js | 2 +- .../pyopencga/rest_clients/admin_client.py | 4 +- .../rest_clients/alignment_client.py | 4 +- .../rest_clients/clinical_analysis_client.py | 4 +- .../pyopencga/rest_clients/cohort_client.py | 4 +- .../rest_clients/disease_panel_client.py | 4 +- .../pyopencga/rest_clients/family_client.py | 4 +- .../pyopencga/rest_clients/file_client.py | 4 +- .../pyopencga/rest_clients/ga4gh_client.py | 4 +- .../rest_clients/individual_client.py | 4 +- .../pyopencga/rest_clients/job_client.py | 4 +- .../pyopencga/rest_clients/meta_client.py | 4 +- .../pyopencga/rest_clients/project_client.py | 4 +- .../pyopencga/rest_clients/sample_client.py | 4 +- .../pyopencga/rest_clients/study_client.py | 4 +- .../pyopencga/rest_clients/user_client.py | 4 +- .../pyopencga/rest_clients/variant_client.py | 4 +- .../rest_clients/variant_operation_client.py | 4 +- 77 files changed, 254 insertions(+), 158 deletions(-) create mode 100644 opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentConstants.java diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentConstants.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentConstants.java new file mode 100644 index 00000000000..5b14d140a3b --- /dev/null +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentConstants.java @@ -0,0 +1,26 @@ +/* + * Copyright 2015-2020 OpenCB + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.opencb.opencga.analysis.alignment; + +public class AlignmentConstants { + + public static final String BAM_EXTENSION = ".bam"; + public static final String BAI_EXTENSION = ".bai"; + public static final String CRAM_EXTENSION = ".cram"; + public static final String CRAI_EXTENSION = ".crai"; + public static final String BIGWIG_EXTENSION = ".bw"; +} diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentCoverageAnalysis.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentCoverageAnalysis.java index a43f4fcaa98..9d972bc21b6 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentCoverageAnalysis.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentCoverageAnalysis.java @@ -20,10 +20,14 @@ import org.apache.commons.lang3.StringUtils; import org.apache.hadoop.fs.FileUtil; import org.opencb.commons.datastore.core.ObjectMap; +import org.opencb.commons.datastore.core.Query; import org.opencb.commons.datastore.core.QueryOptions; +import org.opencb.commons.datastore.core.QueryParam; import org.opencb.opencga.analysis.tools.OpenCgaToolScopeStudy; import org.opencb.opencga.analysis.wrappers.deeptools.DeeptoolsWrapperAnalysisExecutor; +import org.opencb.opencga.catalog.db.api.FileDBAdaptor; import org.opencb.opencga.catalog.exceptions.CatalogException; +import org.opencb.opencga.core.api.ParamConstants; import org.opencb.opencga.core.exceptions.ToolException; import org.opencb.opencga.core.models.alignment.CoverageIndexParams; import org.opencb.opencga.core.models.common.Enums; @@ -45,7 +49,8 @@ public class AlignmentCoverageAnalysis extends OpenCgaToolScopeStudy { public final static String ID = "coverage-index-run"; - public final static String DESCRIPTION = "Compute the coverage from a given alignment file, e.g., create a .bw file from a .bam file"; + public final static String DESCRIPTION = "Compute the coverage from a given alignment file, e.g., create a " + + AlignmentConstants.BIGWIG_EXTENSION + " file from a " + AlignmentConstants.BAM_EXTENSION + " file"; @ToolParams protected final CoverageIndexParams coverageParams = new CoverageIndexParams(); @@ -53,8 +58,6 @@ public class AlignmentCoverageAnalysis extends OpenCgaToolScopeStudy { private File bamCatalogFile; private File baiCatalogFile; - private Path bwPath; - protected void check() throws Exception { super.check(); @@ -67,7 +70,7 @@ protected void check() throws Exception { bamCatalogFile = getFile(coverageParams.getBamFileId(), "BAM"); // Check if the input file is .bam - if (!bamCatalogFile.getName().endsWith(".bam")) { + if (!bamCatalogFile.getName().endsWith(AlignmentConstants.BAM_EXTENSION)) { throw new ToolException("Invalid input alignment file '" + coverageParams.getBamFileId() + "' (" + bamCatalogFile.getName() + "): it must be in BAM format"); } @@ -75,44 +78,55 @@ protected void check() throws Exception { // Getting BAI file if (StringUtils.isEmpty(coverageParams.getBaiFileId())) { // BAI file ID was not provided, looking for it - baiCatalogFile = getBaiFile(bamCatalogFile.getName() + ".bai"); + baiCatalogFile = getBaiFile(bamCatalogFile.getName() + AlignmentConstants.BAI_EXTENSION); } else { // Getting the BAI file provided baiCatalogFile = getFile(coverageParams.getBaiFileId(), "BAI"); } + logger.info("BAI file ID = {}; path = {}", baiCatalogFile.getId(), Paths.get(baiCatalogFile.getUri())); // Checking filenames - if (!baiCatalogFile.getName().equals(bamCatalogFile.getName() + ".bai")) { - throw new ToolException("Filenames mismatch, BAI file name consists of BAM file name plus the extension .bai; BAM filename = " - + bamCatalogFile.getName() + ", BAI filename = " + baiCatalogFile.getName()); + if (!baiCatalogFile.getName().equals(bamCatalogFile.getName() + AlignmentConstants.BAI_EXTENSION)) { + throw new ToolException("Filenames mismatch, BAI file name must consist of BAM file name plus the extension " + + AlignmentConstants.BAI_EXTENSION + "; BAM filename = " + bamCatalogFile.getName() + ", BAI filename = " + + baiCatalogFile.getName()); } // Sanity check: window size - logger.info("{}: checking window size {}", ID, coverageParams.getWindowSize()); + logger.info("Checking window size {}", coverageParams.getWindowSize()); if (coverageParams.getWindowSize() <= 0) { coverageParams.setWindowSize(Integer.parseInt(COVERAGE_WINDOW_SIZE_DEFAULT)); - logger.info("{}: window size is set to {}", ID, coverageParams.getWindowSize()); + logger.info("Window size is set to {}", coverageParams.getWindowSize()); } - - // Path where the BW file will be created - bwPath = getOutDir().resolve(bamCatalogFile.getName() + ".bw"); } @Override protected void run() throws Exception { setUpStorageEngineExecutor(study); - logger.info("{}: running with parameters {}", ID, coverageParams); + logger.info("Running with parameters {}", coverageParams); step(() -> { + // Path where the BW file will be created + Path bwPath = getOutDir().resolve(bamCatalogFile.getName() + AlignmentConstants.BIGWIG_EXTENSION); + // In order to run "deeptools bamCoverage", both BAM and BAI files must be located in the same folder - // to do that symbolic links will be created - Files.createSymbolicLink(getOutDir().resolve(bamCatalogFile.getName()), Paths.get(bamCatalogFile.getUri())); - Files.createSymbolicLink(getOutDir().resolve(baiCatalogFile.getName()), Paths.get(baiCatalogFile.getUri())); + // Check if both BAM and BAI files are located in the same folder otherwise these files will symbolic-link temporarily + // in the job dir to compute the BW file; then BAM and BAI symbolic links will be deleted from the job dir + Path bamPath = Paths.get(bamCatalogFile.getUri()).toAbsolutePath(); + Path baiPath = Paths.get(baiCatalogFile.getUri()).toAbsolutePath(); + if (bamPath.getParent() != baiPath.getParent()) { + logger.info("BAM and BAI files must be symbolic-linked in the job dir since they are in different directories: {} and {}", + bamPath, baiPath); + bamPath = getOutDir().resolve(bamCatalogFile.getName()).toAbsolutePath(); + baiPath = getOutDir().resolve(baiCatalogFile.getName()).toAbsolutePath(); + Files.createSymbolicLink(bamPath, Paths.get(bamCatalogFile.getUri()).toAbsolutePath()); + Files.createSymbolicLink(baiPath, Paths.get(baiCatalogFile.getUri()).toAbsolutePath()); + } Map bamCoverageParams = new HashMap<>(); - bamCoverageParams.put("b", Paths.get(bamCatalogFile.getUri()).toAbsolutePath().toString()); + bamCoverageParams.put("b", bamPath.toString()); bamCoverageParams.put("o", bwPath.toAbsolutePath().toString()); bamCoverageParams.put("binSize", String.valueOf(coverageParams.getWindowSize())); bamCoverageParams.put("outFileFormat", "bigwig"); @@ -133,16 +147,20 @@ protected void run() throws Exception { + ") was not create, please, check log files."); } - // Remove symbolic links - Files.delete(getOutDir().resolve(bamCatalogFile.getName())); - Files.delete(getOutDir().resolve(baiCatalogFile.getName())); + // Remove symbolic links if necessary + if (getOutDir().resolve(bamCatalogFile.getName()).toFile().exists()) { + Files.delete(getOutDir().resolve(bamCatalogFile.getName())); + } + if (getOutDir().resolve(baiCatalogFile.getName()).toFile().exists()) { + Files.delete(getOutDir().resolve(baiCatalogFile.getName())); + } }); } private File getFile(String fileId, String msg) throws ToolException { OpenCGAResult fileResult; try { - logger.info("{}: checking {} file ID '{}'", ID, msg, fileId); + logger.info("Checking {} file ID '{}'", msg, fileId); fileResult = catalogManager.getFileManager().get(getStudy(), fileId, QueryOptions.empty(), getToken()); } catch (CatalogException e) { throw new ToolException("Error accessing " + msg + " file '" + fileId + "' of the study " + getStudy() + "'", e); @@ -156,8 +174,9 @@ private File getFile(String fileId, String msg) throws ToolException { private File getBaiFile(String filename) throws ToolException { OpenCGAResult fileResult; try { - logger.info("{}: looking BAI file ID '{}'", ID, filename); - fileResult = catalogManager.getFileManager().get(getStudy(), filename, QueryOptions.empty(), getToken()); + logger.info("Looking for BAI file ID from name '{}'", filename); + Query query = new Query(FileDBAdaptor.QueryParams.NAME.key(), filename); + fileResult = catalogManager.getFileManager().search(getStudy(), query, QueryOptions.empty(), getToken()); } catch (CatalogException e) { throw new ToolException("Error accessing BAI file name '" + filename + "' of the study " + getStudy() + "'", e); } @@ -171,7 +190,7 @@ private File getBaiFile(String filename) throws ToolException { } else { // Get the most recent according to the creation date // Creation date keeps the format: 20240212151427 - if (Integer.parseInt(file.getCreationDate()) > Integer.parseInt(selectedFile.getCreationDate())) { + if (file.getCreationDate().compareTo(selectedFile.getCreationDate()) > 0) { selectedFile = file; } } diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/deeptools/DeeptoolsWrapperAnalysisExecutor.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/deeptools/DeeptoolsWrapperAnalysisExecutor.java index b4825b7dc1e..1c730f10e7a 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/deeptools/DeeptoolsWrapperAnalysisExecutor.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/deeptools/DeeptoolsWrapperAnalysisExecutor.java @@ -1,8 +1,10 @@ package org.opencb.opencga.analysis.wrappers.deeptools; +import org.apache.commons.collections4.MapUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.tuple.ImmutablePair; import org.apache.commons.lang3.tuple.Pair; +import org.opencb.opencga.analysis.alignment.AlignmentConstants; import org.opencb.opencga.analysis.wrappers.executors.DockerWrapperAnalysisExecutor; import org.opencb.opencga.core.exceptions.ToolException; import org.opencb.opencga.core.tools.annotations.ToolExecutor; @@ -10,6 +12,10 @@ import org.slf4j.LoggerFactory; import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; import java.util.*; @ToolExecutor(id = DeeptoolsWrapperAnalysisExecutor.ID, @@ -50,6 +56,47 @@ public void run() throws ToolException { private void runBamCommonCommand() throws ToolException { StringBuilder sb = initCommandLine(); + // Check symbolic links to be appended + if (MapUtils.isNotEmpty(getExecutorParams())) { + Set fileParamNames = DeeptoolsWrapperAnalysis.getFileParamNames(command); + Set symbolicPaths = new HashSet<>(); + for (String paramName : getExecutorParams().keySet()) { + if (skipParameter(paramName)) { + continue; + } + + if (fileParamNames.contains(paramName)) { + Path filePath = Paths.get(getExecutorParams().getString(paramName)); + if ( Files.isSymbolicLink(filePath)) { + try { + Path target = Files.readSymbolicLink(filePath); + if (!symbolicPaths.contains(target.getParent())) { + symbolicPaths.add(target.getParent()); + } + // If it is BAM file, we have to check the BAI file (that is not present in the input parameters but it is + // located in the same folder) + if (filePath.toString().endsWith(AlignmentConstants.BAM_EXTENSION)) { + Path baiPath = Paths.get(filePath.toAbsolutePath() + AlignmentConstants.BAI_EXTENSION); + if (baiPath.toFile().exists()) { + if (Files.isSymbolicLink(baiPath)) { + Path baiTarget = Files.readSymbolicLink(baiPath); + if (!symbolicPaths.contains(baiTarget.getParent())) { + symbolicPaths.add(baiTarget.getParent()); + } + } + } + } + } catch (IOException e) { + throw new ToolException("Error processing symbolic links", e); + } + } + } + } + for (Path symbolicPath : symbolicPaths) { + sb.append(" --mount type=bind,source=\"").append(symbolicPath).append("\",target=\"").append(symbolicPath).append("\" "); + } + } + // Append mounts List> inputFilenames = DockerWrapperAnalysisExecutor.getInputFilenames(null, DeeptoolsWrapperAnalysis.getFileParamNames(command), getExecutorParams()); diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/executors/DockerWrapperAnalysisExecutor.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/executors/DockerWrapperAnalysisExecutor.java index 21f619cc5a4..ae2b5072473 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/executors/DockerWrapperAnalysisExecutor.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/wrappers/executors/DockerWrapperAnalysisExecutor.java @@ -7,6 +7,7 @@ import org.apache.commons.lang3.tuple.Pair; import org.opencb.commons.datastore.core.ObjectMap; import org.opencb.commons.exec.Command; +import org.opencb.opencga.analysis.wrappers.deeptools.DeeptoolsWrapperAnalysis; import org.opencb.opencga.core.common.GitRepositoryState; import org.opencb.opencga.core.exceptions.ToolException; import org.opencb.opencga.core.tools.OpenCgaToolExecutor; @@ -17,6 +18,9 @@ import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; import java.util.*; public abstract class DockerWrapperAnalysisExecutor extends OpenCgaToolExecutor { diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpenCgaCompleter.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpenCgaCompleter.java index ff4d1cda0d9..06513c8d31d 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpenCgaCompleter.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpenCgaCompleter.java @@ -1,5 +1,5 @@ /* -* Copyright 2015-2024-02-02 OpenCB +* Copyright 2015-2024-02-12 OpenCB * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpencgaCliOptionsParser.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpencgaCliOptionsParser.java index b783ac8c631..4e03e8ab1f3 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpencgaCliOptionsParser.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpencgaCliOptionsParser.java @@ -1,5 +1,5 @@ /* -* Copyright 2015-2024-02-02 OpenCB +* Copyright 2015-2024-02-12 OpenCB * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/executors/AnalysisAlignmentCommandExecutor.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/executors/AnalysisAlignmentCommandExecutor.java index fcbbfdfc789..217b7421f32 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/executors/AnalysisAlignmentCommandExecutor.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/executors/AnalysisAlignmentCommandExecutor.java @@ -178,9 +178,9 @@ private RestResponse runCoverageIndex() throws Exception { .readValue(new java.io.File(commandOptions.jsonFile), CoverageIndexParams.class); } else { ObjectMap beanParams = new ObjectMap(); - putNestedIfNotEmpty(beanParams, "file",commandOptions.file, true); + putNestedIfNotEmpty(beanParams, "bamFileId",commandOptions.bamFileId, true); + putNestedIfNotEmpty(beanParams, "baiFileId",commandOptions.baiFileId, true); putNestedIfNotNull(beanParams, "windowSize",commandOptions.windowSize, true); - putNestedIfNotNull(beanParams, "overwrite",commandOptions.overwrite, true); coverageIndexParams = JacksonUtils.getDefaultObjectMapper().copy() .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, true) diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/AnalysisAlignmentCommandOptions.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/AnalysisAlignmentCommandOptions.java index ac0c1b96c94..cb5e4f77e45 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/AnalysisAlignmentCommandOptions.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/AnalysisAlignmentCommandOptions.java @@ -142,15 +142,15 @@ public class RunCoverageIndexCommandOptions { @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) public String jobTags; - @Parameter(names = {"--file"}, description = "The body web service file parameter", required = false, arity = 1) - public String file; + @Parameter(names = {"--bam-file-id"}, description = "The body web service bamFileId parameter", required = false, arity = 1) + public String bamFileId; + + @Parameter(names = {"--bai-file-id"}, description = "The body web service baiFileId parameter", required = false, arity = 1) + public String baiFileId; @Parameter(names = {"--window-size"}, description = "The body web service windowSize parameter", required = false, arity = 1) public Integer windowSize; - @Parameter(names = {"--overwrite"}, description = "The body web service overwrite parameter", required = false, help = true, arity = 0) - public boolean overwrite = false; - } @Parameters(commandNames = {"coverage-qc-genecoveragestats-run"}, commandDescription ="Compute gene coverage stats for a given alignment file and a list of genes") diff --git a/opencga-client/src/main/R/R/Admin-methods.R b/opencga-client/src/main/R/R/Admin-methods.R index 16934e37c0a..17ea47b6807 100644 --- a/opencga-client/src/main/R/R/Admin-methods.R +++ b/opencga-client/src/main/R/R/Admin-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-02 +# Autogenerated on: 2024-02-12 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/Alignment-methods.R b/opencga-client/src/main/R/R/Alignment-methods.R index 6cf06517077..fec7588f586 100644 --- a/opencga-client/src/main/R/R/Alignment-methods.R +++ b/opencga-client/src/main/R/R/Alignment-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-02 +# Autogenerated on: 2024-02-12 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/AllGenerics.R b/opencga-client/src/main/R/R/AllGenerics.R index 3b8fbf19e0a..f7952c29ab9 100644 --- a/opencga-client/src/main/R/R/AllGenerics.R +++ b/opencga-client/src/main/R/R/AllGenerics.R @@ -1,6 +1,6 @@ # ############################################################################## ## UserClient -setGeneric("userClient", function(OpencgaR, user, users, filterId, endpointName, params=NULL, ...) +setGeneric("userClient", function(OpencgaR, users, filterId, user, endpointName, params=NULL, ...) standardGeneric("userClient")) # ############################################################################## @@ -10,42 +10,42 @@ setGeneric("projectClient", function(OpencgaR, projects, project, endpointName, # ############################################################################## ## StudyClient -setGeneric("studyClient", function(OpencgaR, members, study, group, variableSet, templateId, studies, endpointName, params=NULL, ...) +setGeneric("studyClient", function(OpencgaR, study, variableSet, templateId, studies, group, members, endpointName, params=NULL, ...) standardGeneric("studyClient")) # ############################################################################## ## FileClient -setGeneric("fileClient", function(OpencgaR, members, folder, file, annotationSet, files, endpointName, params=NULL, ...) +setGeneric("fileClient", function(OpencgaR, annotationSet, file, folder, files, members, endpointName, params=NULL, ...) standardGeneric("fileClient")) # ############################################################################## ## JobClient -setGeneric("jobClient", function(OpencgaR, jobs, members, job, endpointName, params=NULL, ...) +setGeneric("jobClient", function(OpencgaR, members, job, jobs, endpointName, params=NULL, ...) standardGeneric("jobClient")) # ############################################################################## ## SampleClient -setGeneric("sampleClient", function(OpencgaR, annotationSet, members, sample, samples, endpointName, params=NULL, ...) +setGeneric("sampleClient", function(OpencgaR, members, samples, annotationSet, sample, endpointName, params=NULL, ...) standardGeneric("sampleClient")) # ############################################################################## ## IndividualClient -setGeneric("individualClient", function(OpencgaR, individual, annotationSet, members, individuals, endpointName, params=NULL, ...) +setGeneric("individualClient", function(OpencgaR, members, individuals, individual, annotationSet, endpointName, params=NULL, ...) standardGeneric("individualClient")) # ############################################################################## ## FamilyClient -setGeneric("familyClient", function(OpencgaR, families, annotationSet, members, family, endpointName, params=NULL, ...) +setGeneric("familyClient", function(OpencgaR, members, annotationSet, family, families, endpointName, params=NULL, ...) standardGeneric("familyClient")) # ############################################################################## ## CohortClient -setGeneric("cohortClient", function(OpencgaR, annotationSet, members, cohort, cohorts, endpointName, params=NULL, ...) +setGeneric("cohortClient", function(OpencgaR, members, annotationSet, cohort, cohorts, endpointName, params=NULL, ...) standardGeneric("cohortClient")) # ############################################################################## ## PanelClient -setGeneric("panelClient", function(OpencgaR, panels, members, endpointName, params=NULL, ...) +setGeneric("panelClient", function(OpencgaR, members, panels, endpointName, params=NULL, ...) standardGeneric("panelClient")) # ############################################################################## @@ -60,7 +60,7 @@ setGeneric("variantClient", function(OpencgaR, endpointName, params=NULL, ...) # ############################################################################## ## ClinicalClient -setGeneric("clinicalClient", function(OpencgaR, interpretations, members, interpretation, clinicalAnalysis, annotationSet, clinicalAnalyses, endpointName, params=NULL, ...) +setGeneric("clinicalClient", function(OpencgaR, clinicalAnalyses, annotationSet, clinicalAnalysis, interpretations, interpretation, members, endpointName, params=NULL, ...) standardGeneric("clinicalClient")) # ############################################################################## @@ -75,7 +75,7 @@ setGeneric("metaClient", function(OpencgaR, endpointName, params=NULL, ...) # ############################################################################## ## GA4GHClient -setGeneric("ga4ghClient", function(OpencgaR, file, study, endpointName, params=NULL, ...) +setGeneric("ga4ghClient", function(OpencgaR, study, file, endpointName, params=NULL, ...) standardGeneric("ga4ghClient")) # ############################################################################## diff --git a/opencga-client/src/main/R/R/Clinical-methods.R b/opencga-client/src/main/R/R/Clinical-methods.R index 6bcb2f2b22b..d960a97ed7f 100644 --- a/opencga-client/src/main/R/R/Clinical-methods.R +++ b/opencga-client/src/main/R/R/Clinical-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-02 +# Autogenerated on: 2024-02-12 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -61,7 +61,7 @@ #' [*]: Required parameter #' @export -setMethod("clinicalClient", "OpencgaR", function(OpencgaR, interpretations, members, interpretation, clinicalAnalysis, annotationSet, clinicalAnalyses, endpointName, params=NULL, ...) { +setMethod("clinicalClient", "OpencgaR", function(OpencgaR, clinicalAnalyses, annotationSet, clinicalAnalysis, interpretations, interpretation, members, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/analysis/clinical/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/Cohort-methods.R b/opencga-client/src/main/R/R/Cohort-methods.R index c18e887d317..255fe135479 100644 --- a/opencga-client/src/main/R/R/Cohort-methods.R +++ b/opencga-client/src/main/R/R/Cohort-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-02 +# Autogenerated on: 2024-02-12 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -39,7 +39,7 @@ #' [*]: Required parameter #' @export -setMethod("cohortClient", "OpencgaR", function(OpencgaR, annotationSet, members, cohort, cohorts, endpointName, params=NULL, ...) { +setMethod("cohortClient", "OpencgaR", function(OpencgaR, members, annotationSet, cohort, cohorts, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/cohorts/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/Family-methods.R b/opencga-client/src/main/R/R/Family-methods.R index 9320d10c540..0644a72e6cc 100644 --- a/opencga-client/src/main/R/R/Family-methods.R +++ b/opencga-client/src/main/R/R/Family-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-02 +# Autogenerated on: 2024-02-12 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -38,7 +38,7 @@ #' [*]: Required parameter #' @export -setMethod("familyClient", "OpencgaR", function(OpencgaR, families, annotationSet, members, family, endpointName, params=NULL, ...) { +setMethod("familyClient", "OpencgaR", function(OpencgaR, members, annotationSet, family, families, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/families/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/File-methods.R b/opencga-client/src/main/R/R/File-methods.R index 132fa43c0dd..0a9ffff7527 100644 --- a/opencga-client/src/main/R/R/File-methods.R +++ b/opencga-client/src/main/R/R/File-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-02 +# Autogenerated on: 2024-02-12 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -54,7 +54,7 @@ #' [*]: Required parameter #' @export -setMethod("fileClient", "OpencgaR", function(OpencgaR, members, folder, file, annotationSet, files, endpointName, params=NULL, ...) { +setMethod("fileClient", "OpencgaR", function(OpencgaR, annotationSet, file, folder, files, members, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/files/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/GA4GH-methods.R b/opencga-client/src/main/R/R/GA4GH-methods.R index 5a37a5dc5c4..f174b334d00 100644 --- a/opencga-client/src/main/R/R/GA4GH-methods.R +++ b/opencga-client/src/main/R/R/GA4GH-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-02 +# Autogenerated on: 2024-02-12 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -31,7 +31,7 @@ #' [*]: Required parameter #' @export -setMethod("ga4ghClient", "OpencgaR", function(OpencgaR, file, study, endpointName, params=NULL, ...) { +setMethod("ga4ghClient", "OpencgaR", function(OpencgaR, study, file, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/ga4gh/reads/search: diff --git a/opencga-client/src/main/R/R/Individual-methods.R b/opencga-client/src/main/R/R/Individual-methods.R index 85433cf5129..4bd4761f5b4 100644 --- a/opencga-client/src/main/R/R/Individual-methods.R +++ b/opencga-client/src/main/R/R/Individual-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-02 +# Autogenerated on: 2024-02-12 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -39,7 +39,7 @@ #' [*]: Required parameter #' @export -setMethod("individualClient", "OpencgaR", function(OpencgaR, individual, annotationSet, members, individuals, endpointName, params=NULL, ...) { +setMethod("individualClient", "OpencgaR", function(OpencgaR, members, individuals, individual, annotationSet, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/individuals/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/Job-methods.R b/opencga-client/src/main/R/R/Job-methods.R index d17aaa553a7..b28d8c02087 100644 --- a/opencga-client/src/main/R/R/Job-methods.R +++ b/opencga-client/src/main/R/R/Job-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-02 +# Autogenerated on: 2024-02-12 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -40,7 +40,7 @@ #' [*]: Required parameter #' @export -setMethod("jobClient", "OpencgaR", function(OpencgaR, jobs, members, job, endpointName, params=NULL, ...) { +setMethod("jobClient", "OpencgaR", function(OpencgaR, members, job, jobs, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/jobs/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/Meta-methods.R b/opencga-client/src/main/R/R/Meta-methods.R index 94a18107431..e8c4f2c227c 100644 --- a/opencga-client/src/main/R/R/Meta-methods.R +++ b/opencga-client/src/main/R/R/Meta-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-02 +# Autogenerated on: 2024-02-12 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/Operation-methods.R b/opencga-client/src/main/R/R/Operation-methods.R index 6b7ce28a8c6..0e8728656bf 100644 --- a/opencga-client/src/main/R/R/Operation-methods.R +++ b/opencga-client/src/main/R/R/Operation-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-02 +# Autogenerated on: 2024-02-12 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/Panel-methods.R b/opencga-client/src/main/R/R/Panel-methods.R index ec0aba4e3df..4f7fcdba0ea 100644 --- a/opencga-client/src/main/R/R/Panel-methods.R +++ b/opencga-client/src/main/R/R/Panel-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-02 +# Autogenerated on: 2024-02-12 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -36,7 +36,7 @@ #' [*]: Required parameter #' @export -setMethod("panelClient", "OpencgaR", function(OpencgaR, panels, members, endpointName, params=NULL, ...) { +setMethod("panelClient", "OpencgaR", function(OpencgaR, members, panels, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/panels/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/Project-methods.R b/opencga-client/src/main/R/R/Project-methods.R index fc4593e0459..f6957d7b1c2 100644 --- a/opencga-client/src/main/R/R/Project-methods.R +++ b/opencga-client/src/main/R/R/Project-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-02 +# Autogenerated on: 2024-02-12 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/Sample-methods.R b/opencga-client/src/main/R/R/Sample-methods.R index 1ef209a32ec..25c3b28bc28 100644 --- a/opencga-client/src/main/R/R/Sample-methods.R +++ b/opencga-client/src/main/R/R/Sample-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-02 +# Autogenerated on: 2024-02-12 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -39,7 +39,7 @@ #' [*]: Required parameter #' @export -setMethod("sampleClient", "OpencgaR", function(OpencgaR, annotationSet, members, sample, samples, endpointName, params=NULL, ...) { +setMethod("sampleClient", "OpencgaR", function(OpencgaR, members, samples, annotationSet, sample, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/samples/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/Study-methods.R b/opencga-client/src/main/R/R/Study-methods.R index c2b9b912241..e68e4bcc9b0 100644 --- a/opencga-client/src/main/R/R/Study-methods.R +++ b/opencga-client/src/main/R/R/Study-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-02 +# Autogenerated on: 2024-02-12 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -46,7 +46,7 @@ #' [*]: Required parameter #' @export -setMethod("studyClient", "OpencgaR", function(OpencgaR, members, study, group, variableSet, templateId, studies, endpointName, params=NULL, ...) { +setMethod("studyClient", "OpencgaR", function(OpencgaR, study, variableSet, templateId, studies, group, members, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/studies/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/User-methods.R b/opencga-client/src/main/R/R/User-methods.R index 17acf92aff0..2387090ce03 100644 --- a/opencga-client/src/main/R/R/User-methods.R +++ b/opencga-client/src/main/R/R/User-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-02 +# Autogenerated on: 2024-02-12 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -38,7 +38,7 @@ #' [*]: Required parameter #' @export -setMethod("userClient", "OpencgaR", function(OpencgaR, user, users, filterId, endpointName, params=NULL, ...) { +setMethod("userClient", "OpencgaR", function(OpencgaR, users, filterId, user, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/users/login: diff --git a/opencga-client/src/main/R/R/Variant-methods.R b/opencga-client/src/main/R/R/Variant-methods.R index f2dc429c877..eb22e0b9aa9 100644 --- a/opencga-client/src/main/R/R/Variant-methods.R +++ b/opencga-client/src/main/R/R/Variant-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-02 +# Autogenerated on: 2024-02-12 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AdminClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AdminClient.java index df91987ff7f..d0795752b35 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AdminClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AdminClient.java @@ -36,7 +36,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-02 +* Autogenerated on: 2024-02-12 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -45,7 +45,7 @@ /** * This class contains methods for the Admin webservices. - * Client version: 2.12.2-SNAPSHOT + * Client version: 2.12.3-SNAPSHOT * PATH: admin */ public class AdminClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AlignmentClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AlignmentClient.java index 1a3cbd6e61c..c50f84b9264 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AlignmentClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AlignmentClient.java @@ -40,7 +40,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-02 +* Autogenerated on: 2024-02-12 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -49,7 +49,7 @@ /** * This class contains methods for the Alignment webservices. - * Client version: 2.12.2-SNAPSHOT + * Client version: 2.12.3-SNAPSHOT * PATH: analysis/alignment */ public class AlignmentClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ClinicalAnalysisClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ClinicalAnalysisClient.java index f98b6d7c58e..e224d30995d 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ClinicalAnalysisClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ClinicalAnalysisClient.java @@ -54,7 +54,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-02 +* Autogenerated on: 2024-02-12 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -63,7 +63,7 @@ /** * This class contains methods for the ClinicalAnalysis webservices. - * Client version: 2.12.2-SNAPSHOT + * Client version: 2.12.3-SNAPSHOT * PATH: analysis/clinical */ public class ClinicalAnalysisClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/CohortClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/CohortClient.java index fb16691423c..b17ea40e509 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/CohortClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/CohortClient.java @@ -37,7 +37,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-02 +* Autogenerated on: 2024-02-12 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -46,7 +46,7 @@ /** * This class contains methods for the Cohort webservices. - * Client version: 2.12.2-SNAPSHOT + * Client version: 2.12.3-SNAPSHOT * PATH: cohorts */ public class CohortClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/DiseasePanelClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/DiseasePanelClient.java index 2cf832703f8..95f7761b07f 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/DiseasePanelClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/DiseasePanelClient.java @@ -35,7 +35,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-02 +* Autogenerated on: 2024-02-12 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -44,7 +44,7 @@ /** * This class contains methods for the DiseasePanel webservices. - * Client version: 2.12.2-SNAPSHOT + * Client version: 2.12.3-SNAPSHOT * PATH: panels */ public class DiseasePanelClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FamilyClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FamilyClient.java index 129b4b14705..60611ae3acf 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FamilyClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FamilyClient.java @@ -36,7 +36,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-02 +* Autogenerated on: 2024-02-12 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -45,7 +45,7 @@ /** * This class contains methods for the Family webservices. - * Client version: 2.12.2-SNAPSHOT + * Client version: 2.12.3-SNAPSHOT * PATH: families */ public class FamilyClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FileClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FileClient.java index 06ae8e4b9c7..c3eeaf30fba 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FileClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FileClient.java @@ -43,7 +43,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-02 +* Autogenerated on: 2024-02-12 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -52,7 +52,7 @@ /** * This class contains methods for the File webservices. - * Client version: 2.12.2-SNAPSHOT + * Client version: 2.12.3-SNAPSHOT * PATH: files */ public class FileClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/GA4GHClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/GA4GHClient.java index 2af3d0c9e28..dc1bfeb5f7e 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/GA4GHClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/GA4GHClient.java @@ -27,7 +27,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-02 +* Autogenerated on: 2024-02-12 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -36,7 +36,7 @@ /** * This class contains methods for the GA4GH webservices. - * Client version: 2.12.2-SNAPSHOT + * Client version: 2.12.3-SNAPSHOT * PATH: ga4gh */ public class GA4GHClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/IndividualClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/IndividualClient.java index 0f1413db069..a402680345b 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/IndividualClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/IndividualClient.java @@ -36,7 +36,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-02 +* Autogenerated on: 2024-02-12 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -45,7 +45,7 @@ /** * This class contains methods for the Individual webservices. - * Client version: 2.12.2-SNAPSHOT + * Client version: 2.12.3-SNAPSHOT * PATH: individuals */ public class IndividualClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/JobClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/JobClient.java index c15fa77699f..dc6d45439ad 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/JobClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/JobClient.java @@ -37,7 +37,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-02 +* Autogenerated on: 2024-02-12 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -46,7 +46,7 @@ /** * This class contains methods for the Job webservices. - * Client version: 2.12.2-SNAPSHOT + * Client version: 2.12.3-SNAPSHOT * PATH: jobs */ public class JobClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/MetaClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/MetaClient.java index baadc9f1b8a..c93cb369383 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/MetaClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/MetaClient.java @@ -28,7 +28,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-02 +* Autogenerated on: 2024-02-12 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -37,7 +37,7 @@ /** * This class contains methods for the Meta webservices. - * Client version: 2.12.2-SNAPSHOT + * Client version: 2.12.3-SNAPSHOT * PATH: meta */ public class MetaClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ProjectClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ProjectClient.java index 9a2f3b27f1b..6119d1cd5e6 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ProjectClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ProjectClient.java @@ -32,7 +32,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-02 +* Autogenerated on: 2024-02-12 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -41,7 +41,7 @@ /** * This class contains methods for the Project webservices. - * Client version: 2.12.2-SNAPSHOT + * Client version: 2.12.3-SNAPSHOT * PATH: projects */ public class ProjectClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/SampleClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/SampleClient.java index 7387954d23c..d4a3ef6f2ab 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/SampleClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/SampleClient.java @@ -36,7 +36,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-02 +* Autogenerated on: 2024-02-12 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -45,7 +45,7 @@ /** * This class contains methods for the Sample webservices. - * Client version: 2.12.2-SNAPSHOT + * Client version: 2.12.3-SNAPSHOT * PATH: samples */ public class SampleClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/StudyClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/StudyClient.java index eccd24ddd6a..6c70f35ba7c 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/StudyClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/StudyClient.java @@ -45,7 +45,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-02 +* Autogenerated on: 2024-02-12 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -54,7 +54,7 @@ /** * This class contains methods for the Study webservices. - * Client version: 2.12.2-SNAPSHOT + * Client version: 2.12.3-SNAPSHOT * PATH: studies */ public class StudyClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/UserClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/UserClient.java index 509de9c2944..3f4f2c9ecf6 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/UserClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/UserClient.java @@ -36,7 +36,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-02 +* Autogenerated on: 2024-02-12 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -45,7 +45,7 @@ /** * This class contains methods for the User webservices. - * Client version: 2.12.2-SNAPSHOT + * Client version: 2.12.3-SNAPSHOT * PATH: users */ public class UserClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantClient.java index a7a369dcd46..0f669027e32 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantClient.java @@ -62,7 +62,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-02 +* Autogenerated on: 2024-02-12 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -71,7 +71,7 @@ /** * This class contains methods for the Variant webservices. - * Client version: 2.12.2-SNAPSHOT + * Client version: 2.12.3-SNAPSHOT * PATH: analysis/variant */ public class VariantClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantOperationClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantOperationClient.java index 594a79f83bf..20a1b7bd514 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantOperationClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantOperationClient.java @@ -50,7 +50,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-02 +* Autogenerated on: 2024-02-12 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -59,7 +59,7 @@ /** * This class contains methods for the VariantOperation webservices. - * Client version: 2.12.2-SNAPSHOT + * Client version: 2.12.3-SNAPSHOT * PATH: operation */ public class VariantOperationClient extends AbstractParentClient { diff --git a/opencga-client/src/main/javascript/Admin.js b/opencga-client/src/main/javascript/Admin.js index 05a71e5ced1..b3b41bc029b 100644 --- a/opencga-client/src/main/javascript/Admin.js +++ b/opencga-client/src/main/javascript/Admin.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-02 + * Autogenerated on: 2024-02-12 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Alignment.js b/opencga-client/src/main/javascript/Alignment.js index 1075d6d854c..3a074baf4c4 100644 --- a/opencga-client/src/main/javascript/Alignment.js +++ b/opencga-client/src/main/javascript/Alignment.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-02 + * Autogenerated on: 2024-02-12 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/ClinicalAnalysis.js b/opencga-client/src/main/javascript/ClinicalAnalysis.js index 826196fd984..137f07ff69a 100644 --- a/opencga-client/src/main/javascript/ClinicalAnalysis.js +++ b/opencga-client/src/main/javascript/ClinicalAnalysis.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-02 + * Autogenerated on: 2024-02-12 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Cohort.js b/opencga-client/src/main/javascript/Cohort.js index f11d56a865f..e1fba833b33 100644 --- a/opencga-client/src/main/javascript/Cohort.js +++ b/opencga-client/src/main/javascript/Cohort.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-02 + * Autogenerated on: 2024-02-12 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/DiseasePanel.js b/opencga-client/src/main/javascript/DiseasePanel.js index aa4346dce4b..5518677793b 100644 --- a/opencga-client/src/main/javascript/DiseasePanel.js +++ b/opencga-client/src/main/javascript/DiseasePanel.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-02 + * Autogenerated on: 2024-02-12 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Family.js b/opencga-client/src/main/javascript/Family.js index 51ceba74de6..8f06f58f39f 100644 --- a/opencga-client/src/main/javascript/Family.js +++ b/opencga-client/src/main/javascript/Family.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-02 + * Autogenerated on: 2024-02-12 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/File.js b/opencga-client/src/main/javascript/File.js index 7793fe89976..767c0662b35 100644 --- a/opencga-client/src/main/javascript/File.js +++ b/opencga-client/src/main/javascript/File.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-02 + * Autogenerated on: 2024-02-12 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/GA4GH.js b/opencga-client/src/main/javascript/GA4GH.js index a875626c28c..5a1df8efce3 100644 --- a/opencga-client/src/main/javascript/GA4GH.js +++ b/opencga-client/src/main/javascript/GA4GH.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-02 + * Autogenerated on: 2024-02-12 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Individual.js b/opencga-client/src/main/javascript/Individual.js index 19ab182bff7..a9d38d5e895 100644 --- a/opencga-client/src/main/javascript/Individual.js +++ b/opencga-client/src/main/javascript/Individual.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-02 + * Autogenerated on: 2024-02-12 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Job.js b/opencga-client/src/main/javascript/Job.js index 2ddbc5e5cd8..f6a9930002f 100644 --- a/opencga-client/src/main/javascript/Job.js +++ b/opencga-client/src/main/javascript/Job.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-02 + * Autogenerated on: 2024-02-12 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Meta.js b/opencga-client/src/main/javascript/Meta.js index 35a8a7bea37..85e9fd26bfb 100644 --- a/opencga-client/src/main/javascript/Meta.js +++ b/opencga-client/src/main/javascript/Meta.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-02 + * Autogenerated on: 2024-02-12 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Project.js b/opencga-client/src/main/javascript/Project.js index d11f75b8d23..7dcce658cf4 100644 --- a/opencga-client/src/main/javascript/Project.js +++ b/opencga-client/src/main/javascript/Project.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-02 + * Autogenerated on: 2024-02-12 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Sample.js b/opencga-client/src/main/javascript/Sample.js index cde2fc56988..c82e814e053 100644 --- a/opencga-client/src/main/javascript/Sample.js +++ b/opencga-client/src/main/javascript/Sample.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-02 + * Autogenerated on: 2024-02-12 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Study.js b/opencga-client/src/main/javascript/Study.js index 89bb9f11141..c156fe06115 100644 --- a/opencga-client/src/main/javascript/Study.js +++ b/opencga-client/src/main/javascript/Study.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-02 + * Autogenerated on: 2024-02-12 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/User.js b/opencga-client/src/main/javascript/User.js index c7d367f9d91..314b448d792 100644 --- a/opencga-client/src/main/javascript/User.js +++ b/opencga-client/src/main/javascript/User.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-02 + * Autogenerated on: 2024-02-12 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Variant.js b/opencga-client/src/main/javascript/Variant.js index 8f80259b632..1b43b1f2b07 100644 --- a/opencga-client/src/main/javascript/Variant.js +++ b/opencga-client/src/main/javascript/Variant.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-02 + * Autogenerated on: 2024-02-12 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/VariantOperation.js b/opencga-client/src/main/javascript/VariantOperation.js index e58c1c5a845..898ed31dd75 100644 --- a/opencga-client/src/main/javascript/VariantOperation.js +++ b/opencga-client/src/main/javascript/VariantOperation.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-02 + * Autogenerated on: 2024-02-12 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/admin_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/admin_client.py index 1e5a18df72c..504f2496535 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/admin_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/admin_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-02 + Autogenerated on: 2024-02-12 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class Admin(_ParentRestClient): """ This class contains methods for the 'Admin' webservices - Client version: 2.12.2-SNAPSHOT + Client version: 2.12.3-SNAPSHOT PATH: /{apiVersion}/admin """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/alignment_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/alignment_client.py index 8068df5192c..bc61feec439 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/alignment_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/alignment_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-02 + Autogenerated on: 2024-02-12 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class Alignment(_ParentRestClient): """ This class contains methods for the 'Analysis - Alignment' webservices - Client version: 2.12.2-SNAPSHOT + Client version: 2.12.3-SNAPSHOT PATH: /{apiVersion}/analysis/alignment """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/clinical_analysis_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/clinical_analysis_client.py index 3c8df26fc32..20c1c5dcb50 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/clinical_analysis_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/clinical_analysis_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-02 + Autogenerated on: 2024-02-12 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class ClinicalAnalysis(_ParentRestClient): """ This class contains methods for the 'Analysis - Clinical' webservices - Client version: 2.12.2-SNAPSHOT + Client version: 2.12.3-SNAPSHOT PATH: /{apiVersion}/analysis/clinical """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/cohort_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/cohort_client.py index 0adc73e3160..dab2cec31bb 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/cohort_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/cohort_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-02 + Autogenerated on: 2024-02-12 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class Cohort(_ParentRestClient): """ This class contains methods for the 'Cohorts' webservices - Client version: 2.12.2-SNAPSHOT + Client version: 2.12.3-SNAPSHOT PATH: /{apiVersion}/cohorts """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/disease_panel_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/disease_panel_client.py index 2252a5bda1e..5af89179543 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/disease_panel_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/disease_panel_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-02 + Autogenerated on: 2024-02-12 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class DiseasePanel(_ParentRestClient): """ This class contains methods for the 'Disease Panels' webservices - Client version: 2.12.2-SNAPSHOT + Client version: 2.12.3-SNAPSHOT PATH: /{apiVersion}/panels """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/family_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/family_client.py index f117855649f..f2be618f79e 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/family_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/family_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-02 + Autogenerated on: 2024-02-12 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class Family(_ParentRestClient): """ This class contains methods for the 'Families' webservices - Client version: 2.12.2-SNAPSHOT + Client version: 2.12.3-SNAPSHOT PATH: /{apiVersion}/families """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/file_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/file_client.py index fa9b8715b93..c0b3c2b4c66 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/file_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/file_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-02 + Autogenerated on: 2024-02-12 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class File(_ParentRestClient): """ This class contains methods for the 'Files' webservices - Client version: 2.12.2-SNAPSHOT + Client version: 2.12.3-SNAPSHOT PATH: /{apiVersion}/files """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/ga4gh_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/ga4gh_client.py index 11f564a6d50..018617a6247 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/ga4gh_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/ga4gh_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-02 + Autogenerated on: 2024-02-12 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class GA4GH(_ParentRestClient): """ This class contains methods for the 'GA4GH' webservices - Client version: 2.12.2-SNAPSHOT + Client version: 2.12.3-SNAPSHOT PATH: /{apiVersion}/ga4gh """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/individual_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/individual_client.py index ae2bae8302c..fed935929dd 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/individual_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/individual_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-02 + Autogenerated on: 2024-02-12 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class Individual(_ParentRestClient): """ This class contains methods for the 'Individuals' webservices - Client version: 2.12.2-SNAPSHOT + Client version: 2.12.3-SNAPSHOT PATH: /{apiVersion}/individuals """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/job_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/job_client.py index 82bf6816596..51fa6d58365 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/job_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/job_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-02 + Autogenerated on: 2024-02-12 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class Job(_ParentRestClient): """ This class contains methods for the 'Jobs' webservices - Client version: 2.12.2-SNAPSHOT + Client version: 2.12.3-SNAPSHOT PATH: /{apiVersion}/jobs """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/meta_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/meta_client.py index 17c4fc4a001..044050bd600 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/meta_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/meta_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-02 + Autogenerated on: 2024-02-12 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class Meta(_ParentRestClient): """ This class contains methods for the 'Meta' webservices - Client version: 2.12.2-SNAPSHOT + Client version: 2.12.3-SNAPSHOT PATH: /{apiVersion}/meta """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/project_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/project_client.py index 412a3fd08ea..07cbc8103bd 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/project_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/project_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-02 + Autogenerated on: 2024-02-12 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class Project(_ParentRestClient): """ This class contains methods for the 'Projects' webservices - Client version: 2.12.2-SNAPSHOT + Client version: 2.12.3-SNAPSHOT PATH: /{apiVersion}/projects """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/sample_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/sample_client.py index 1c4234aaa24..f1d8516bba9 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/sample_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/sample_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-02 + Autogenerated on: 2024-02-12 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class Sample(_ParentRestClient): """ This class contains methods for the 'Samples' webservices - Client version: 2.12.2-SNAPSHOT + Client version: 2.12.3-SNAPSHOT PATH: /{apiVersion}/samples """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/study_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/study_client.py index 369500ff951..7b22a6c6499 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/study_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/study_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-02 + Autogenerated on: 2024-02-12 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class Study(_ParentRestClient): """ This class contains methods for the 'Studies' webservices - Client version: 2.12.2-SNAPSHOT + Client version: 2.12.3-SNAPSHOT PATH: /{apiVersion}/studies """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/user_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/user_client.py index 60ff5ae333a..48069b6eb2a 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/user_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/user_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-02 + Autogenerated on: 2024-02-12 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class User(_ParentRestClient): """ This class contains methods for the 'Users' webservices - Client version: 2.12.2-SNAPSHOT + Client version: 2.12.3-SNAPSHOT PATH: /{apiVersion}/users """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/variant_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/variant_client.py index 37608000460..e398703b6a4 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/variant_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/variant_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-02 + Autogenerated on: 2024-02-12 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class Variant(_ParentRestClient): """ This class contains methods for the 'Analysis - Variant' webservices - Client version: 2.12.2-SNAPSHOT + Client version: 2.12.3-SNAPSHOT PATH: /{apiVersion}/analysis/variant """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/variant_operation_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/variant_operation_client.py index 21c0eec6ec8..ca2d9413d65 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/variant_operation_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/variant_operation_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-02 + Autogenerated on: 2024-02-12 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -14,7 +14,7 @@ class VariantOperation(_ParentRestClient): """ This class contains methods for the 'Operations - Variant Storage' webservices - Client version: 2.12.2-SNAPSHOT + Client version: 2.12.3-SNAPSHOT PATH: /{apiVersion}/operation """ From 5147e93b8c45186599c9f327b5aabdf7734c766f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Coll=20Morag=C3=B3n?= Date: Tue, 13 Feb 2024 15:47:46 +0000 Subject: [PATCH 21/89] storage: Do not check private sources changes on first annotation. #TASK-5493 --- .../annotation/VariantAnnotationManager.java | 5 +-- .../VariantAnnotationManagerTest.java | 36 +++++++++++++++++++ 2 files changed, 39 insertions(+), 2 deletions(-) diff --git a/opencga-storage/opencga-storage-core/src/main/java/org/opencb/opencga/storage/core/variant/annotation/VariantAnnotationManager.java b/opencga-storage/opencga-storage-core/src/main/java/org/opencb/opencga/storage/core/variant/annotation/VariantAnnotationManager.java index 34c08b356e2..350f577f9a9 100644 --- a/opencga-storage/opencga-storage-core/src/main/java/org/opencb/opencga/storage/core/variant/annotation/VariantAnnotationManager.java +++ b/opencga-storage/opencga-storage-core/src/main/java/org/opencb/opencga/storage/core/variant/annotation/VariantAnnotationManager.java @@ -86,11 +86,12 @@ protected final VariantAnnotationMetadata checkCurrentAnnotation(ProjectMetadata current.setId(1); current.setName(CURRENT); } + boolean firstAnnotation = current.getAnnotator() == null; // Check using same annotator and same source version VariantAnnotatorProgram currentAnnotator = current.getAnnotator(); VariantAnnotatorProgram newAnnotator = newVariantAnnotationMetadata.getAnnotator(); - if (currentAnnotator != null && !currentAnnotator.equals(newAnnotator)) { + if (!firstAnnotation && !currentAnnotator.equals(newAnnotator)) { String currentVersion = removePatchFromVersion(currentAnnotator.getVersion()); String newVersion = removePatchFromVersion(newAnnotator.getVersion()); if (!currentAnnotator.getName().equals(newAnnotator.getName()) @@ -136,7 +137,7 @@ protected final VariantAnnotationMetadata checkCurrentAnnotation(ProjectMetadata if (newPrivateSources == null) { newPrivateSources = Collections.emptyList(); } - if (!new HashSet<>(currentPrivateSources).equals(new HashSet<>(newPrivateSources))) { + if (!firstAnnotation && !new HashSet<>(currentPrivateSources).equals(new HashSet<>(newPrivateSources))) { String msg = "Private sources has changed. " + "Existing annotation calculated with private sources " + currentPrivateSources + ", attempting to annotate with " + newPrivateSources; diff --git a/opencga-storage/opencga-storage-core/src/test/java/org/opencb/opencga/storage/core/variant/annotation/VariantAnnotationManagerTest.java b/opencga-storage/opencga-storage-core/src/test/java/org/opencb/opencga/storage/core/variant/annotation/VariantAnnotationManagerTest.java index 26b5dcfad4f..7c974446529 100644 --- a/opencga-storage/opencga-storage-core/src/test/java/org/opencb/opencga/storage/core/variant/annotation/VariantAnnotationManagerTest.java +++ b/opencga-storage/opencga-storage-core/src/test/java/org/opencb/opencga/storage/core/variant/annotation/VariantAnnotationManagerTest.java @@ -1,6 +1,8 @@ package org.opencb.opencga.storage.core.variant.annotation; import org.apache.commons.io.FileUtils; +import org.apache.commons.lang.StringUtils; +import org.junit.Assume; import org.junit.Test; import org.opencb.biodata.models.variant.avro.VariantAnnotation; import org.opencb.commons.datastore.core.ObjectMap; @@ -88,6 +90,40 @@ public void testChangeAnnotatorFail() throws Exception { assertEquals("v2", variantStorageEngine.getMetadataManager().getProjectMetadata().getAnnotation().getCurrent().getAnnotator().getVersion()); } + @Test + public void testApiKey() throws Exception { + String cosmicApiKey = System.getenv("CELLBASE_COSMIC_APIKEY"); + String hgmdApiKey = System.getenv("CELLBASE_HGMD_APIKEY"); + Assume.assumeTrue(StringUtils.isNotEmpty(cosmicApiKey)); + Assume.assumeTrue(StringUtils.isNotEmpty(hgmdApiKey)); + + VariantStorageEngine variantStorageEngine = getVariantStorageEngine(); + variantStorageEngine.getConfiguration().getCellbase().setUrl(ParamConstants.CELLBASE_URL); + variantStorageEngine.getConfiguration().getCellbase().setVersion("v5.4"); + variantStorageEngine.getConfiguration().getCellbase().setDataRelease("3"); + variantStorageEngine.getConfiguration().getCellbase().setApiKey(cosmicApiKey); + variantStorageEngine.getOptions().put(VariantStorageOptions.ASSEMBLY.key(), "grch38"); + variantStorageEngine.reloadCellbaseConfiguration(); + variantStorageEngine.getCellBaseUtils().validate(); + + runDefaultETL(smallInputUri, variantStorageEngine, newStudyMetadata(), + new ObjectMap(VariantStorageOptions.ANNOTATE.key(), false)); + + variantStorageEngine.annotate(outputUri, new ObjectMap()); + + variantStorageEngine.getConfiguration().getCellbase().setApiKey(hgmdApiKey); + variantStorageEngine.reloadCellbaseConfiguration(); + variantStorageEngine.getCellBaseUtils().validate(); + + try { + variantStorageEngine.annotate(outputUri, new ObjectMap()); + fail("Expected to fail!"); + } catch (VariantAnnotatorException e) { + assertTrue(e.getMessage().contains("Existing annotation calculated with private sources [cosmic], attempting to annotate with [hgmd]")); + } + variantStorageEngine.annotate(outputUri, new ObjectMap(VariantStorageOptions.ANNOTATION_OVERWEITE.key(), true)); + } + @Test public void testChangeDataRelease() throws Exception { VariantStorageEngine variantStorageEngine = getVariantStorageEngine(); From 810485375c21a7b0be952255ba5e99473877e422 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20T=C3=A1rraga=20Gim=C3=A9nez?= Date: Tue, 13 Feb 2024 18:47:30 +0100 Subject: [PATCH 22/89] analysis: update individual-qc analysis according to the changes, #TASK-5645 --- .../opencga/analysis/AnalysisUtils.java | 27 +++- .../individual/qc/IndividualQcAnalysis.java | 123 ++++++++++++++---- .../qc/IndividualQcLocalAnalysisExecutor.java | 14 +- .../individual/qc/InferredSexComputation.java | 4 +- .../rest/analysis/VariantWebService.java | 85 +----------- 5 files changed, 135 insertions(+), 118 deletions(-) diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/AnalysisUtils.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/AnalysisUtils.java index 628bc63b2ff..ec0206e8695 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/AnalysisUtils.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/AnalysisUtils.java @@ -1,6 +1,5 @@ package org.opencb.opencga.analysis; -import org.opencb.biodata.models.clinical.qc.RelatednessScore; import org.opencb.commons.datastore.core.Query; import org.opencb.commons.datastore.core.QueryOptions; import org.opencb.opencga.catalog.db.api.FileDBAdaptor; @@ -13,12 +12,12 @@ import org.opencb.opencga.core.models.job.Job; import org.opencb.opencga.core.response.OpenCGAResult; -import java.io.*; +import java.io.BufferedReader; +import java.io.FileReader; +import java.io.IOException; import java.nio.file.Path; import java.util.*; -import static org.opencb.opencga.core.api.ParamConstants.SAMTOOLS_COMMANDS_SUPPORTED; - public class AnalysisUtils { public static boolean isSupportedCommand(String commands) { @@ -49,6 +48,26 @@ public static File getBamFileBySampleId(String sampleId, String studyId, FileMan return (fileQueryResult.getNumResults() == 0) ? null : fileQueryResult.first(); } + public static File getBwFileBySampleId(String sampleId, String studyId, FileManager fileManager, String token) throws ToolException { + // Look for the bam file for each sample + OpenCGAResult fileQueryResult; + + Query query = new Query(FileDBAdaptor.QueryParams.FORMAT.key(), File.Format.BIGWIG) + .append(FileDBAdaptor.QueryParams.SAMPLE_IDS.key(), sampleId); + try { + fileQueryResult = fileManager.search(studyId, query, QueryOptions.empty(), token); + } catch (CatalogException e) { + throw new ToolException(e); + } + + // Sanity check + if (fileQueryResult.getNumResults() > 1) { + throw new ToolException("Found more than one BIGWIG files (" + fileQueryResult.getNumResults() + ") for sample " + sampleId); + } + + return (fileQueryResult.getNumResults() == 0) ? null : fileQueryResult.first(); + } + public static File getBamFile(String filename, String sampleId, String studyId, FileManager fileManager, String token) throws ToolException { // Look for the bam file for each sample OpenCGAResult fileQueryResult; diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/individual/qc/IndividualQcAnalysis.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/individual/qc/IndividualQcAnalysis.java index ba859bb9f49..fce04f2752b 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/individual/qc/IndividualQcAnalysis.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/individual/qc/IndividualQcAnalysis.java @@ -21,8 +21,10 @@ import org.opencb.biodata.models.clinical.qc.InferredSexReport; import org.opencb.commons.datastore.core.QueryOptions; import org.opencb.opencga.analysis.AnalysisUtils; +import org.opencb.opencga.analysis.alignment.AlignmentConstants; import org.opencb.opencga.analysis.tools.OpenCgaTool; import org.opencb.opencga.catalog.exceptions.CatalogException; +import org.opencb.opencga.catalog.managers.CatalogManager; import org.opencb.opencga.core.common.JacksonUtils; import org.opencb.opencga.core.exceptions.ToolException; import org.opencb.opencga.core.models.common.Enums; @@ -32,6 +34,7 @@ import org.opencb.opencga.core.models.individual.IndividualUpdateParams; import org.opencb.opencga.core.models.sample.Sample; import org.opencb.opencga.core.models.study.Study; +import org.opencb.opencga.core.response.OpenCGAResult; import org.opencb.opencga.core.tools.annotations.Tool; import org.opencb.opencga.core.tools.variant.IndividualQcAnalysisExecutor; @@ -80,19 +83,10 @@ protected void check() throws Exception { throw new ToolException("Missing study ID."); } - // Check permissions - try { - Study study = catalogManager.getStudyManager().get(studyId, QueryOptions.empty(), token).first(); - String userId = catalogManager.getUserManager().getUserId(token); - catalogManager.getAuthorizationManager().checkStudyPermission(study.getUid(), userId, WRITE_INDIVIDUALS); - } catch (CatalogException e) { - throw new ToolException(e); - } + // Main check (this function is shared with the endpoint individual/qc/run) + checkParameters(individualId, sampleId, studyId, catalogManager, token); // Get individual - if (StringUtils.isEmpty(individualId)) { - throw new ToolException("Missing individual ID."); - } individual = IndividualQcUtils.getIndividualById(studyId, individualId, catalogManager, token); // Get samples of that individual, but only germline samples @@ -103,22 +97,18 @@ protected void check() throws Exception { throw new ToolException("Germline sample not found for individual '" + individualId + "'"); } - if (childGermlineSamples.size() > 1) { - if (StringUtils.isNotEmpty(sampleId)) { - for (Sample germlineSample : childGermlineSamples) { - if (sampleId.equals(germlineSample.getId())) { - sample = germlineSample; - break; - } - } - if (sample == null) { - throw new ToolException("The provided sample '" + sampleId + "' not found in the individual '" + individualId + "'"); + if (StringUtils.isNotEmpty(sampleId)) { + for (Sample germlineSample : childGermlineSamples) { + if (sampleId.equals(germlineSample.getId())) { + sample = germlineSample; + break; } - } else { - // If multiple germline samples, we take the first one - sample = childGermlineSamples.get(0); + } + if (sample == null) { + throw new ToolException("The provided sample '" + sampleId + "' not found in the individual '" + individualId + "'"); } } else { + // If multiple germline samples, we take the first one sample = childGermlineSamples.get(0); } @@ -255,6 +245,91 @@ private void runMendelianError() throws ToolException { executor.setQcType(IndividualQcAnalysisExecutor.QcType.MENDELIAN_ERRORS).execute(); } + public static void checkParameters(String individualId, String sampleId, String studyId, CatalogManager catalogManager, String token) throws ToolException, CatalogException { + // Check permissions + try { + Study study = catalogManager.getStudyManager().get(studyId, QueryOptions.empty(), token).first(); + String userId = catalogManager.getUserManager().getUserId(token); + catalogManager.getAuthorizationManager().checkStudyPermission(study.getUid(), userId, WRITE_INDIVIDUALS); + } catch (CatalogException e) { + throw new ToolException(e); + } + + if (StringUtils.isEmpty(individualId)) { + throw new ToolException("Missing individual ID"); + } + Individual individual = IndividualQcUtils.getIndividualById(studyId, individualId, catalogManager, token); + + // Get samples of that individual, but only germline samples + List childGermlineSamples = IndividualQcUtils.getValidGermlineSamplesByIndividualId(studyId, individualId, catalogManager, + token); + if (CollectionUtils.isEmpty(childGermlineSamples)) { + throw new ToolException("Germline sample not found for individual '" + individualId + "'"); + } + + Sample sample = null; + if (StringUtils.isNotEmpty(sampleId)) { + for (Sample germlineSample : childGermlineSamples) { + if (sampleId.equals(germlineSample.getId())) { + sample = germlineSample; + break; + } + } + if (sample == null) { + throw new ToolException("The provided sample '" + sampleId + "' not found in the individual '" + individualId + "'"); + } + } else { + // Taking the first sample + sample = childGermlineSamples.get(0); + } + + // Checking sample files: BAM, BAI, BIGWIG +// String bamFileId = null; +// String baiFileId = null; + String bwFileId = null; + for (String fileId : sample.getFileIds()) { +// if (fileId.endsWith(AlignmentConstants.BAM_EXTENSION)) { +// if (bamFileId != null) { +// throw new ToolException("Multiple BAM files found for sample '" + sample.getId() + "' of the individual '" +// + individual.getId() + "'"); +// } +// bamFileId = fileId; +// } +// if (fileId.endsWith(AlignmentConstants.BAI_EXTENSION)) { +// if (baiFileId != null) { +// throw new ToolException("Multiple BAI files found for sample '" + sample.getId() + "' of the individual '" +// + individual.getId() + "'"); +// } +// baiFileId = fileId; +// } + if (fileId.endsWith(AlignmentConstants.BIGWIG_EXTENSION)) { + if (bwFileId != null) { + throw new ToolException("Multiple BIGWIG files found for sample '" + sample.getId() + "' of the individual '" + + individual.getId() + "'"); + } + bwFileId = fileId; + } + } +// checkSampleFile(bamFileId, "BAM", sample, individual, studyId, catalogManager, token); +// checkSampleFile(baiFileId, "BAI", sample, individual, studyId, catalogManager, token); + checkSampleFile(bwFileId, "BIGWIG", sample, individual, studyId, catalogManager, token); + } + + private static void checkSampleFile(String fileId, String label, Sample sample, Individual individual, String studyId, + CatalogManager catalogManager, String token) + throws ToolException, CatalogException { + if (StringUtils.isEmpty(fileId)) { + throw new ToolException("None " + label + " file registered in sample '" + sample.getId() + "' of the individual '" + + individual.getId() + "'"); + } else { + OpenCGAResult fileResult = catalogManager.getFileManager().get(studyId, fileId, QueryOptions.empty(), token); + if (fileResult.getNumResults() == 0) { + throw new ToolException(label + " file ID '" + fileId + "' not found in OpenCGA catalog (sample '" + sample.getId() + + "' of the individual '" + individual.getId() + "')"); + } + } + } + public String getStudyId() { return studyId; } diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/individual/qc/IndividualQcLocalAnalysisExecutor.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/individual/qc/IndividualQcLocalAnalysisExecutor.java index 26540fc5e05..00c3b12c693 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/individual/qc/IndividualQcLocalAnalysisExecutor.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/individual/qc/IndividualQcLocalAnalysisExecutor.java @@ -16,8 +16,6 @@ package org.opencb.opencga.analysis.individual.qc; -import com.fasterxml.jackson.core.JsonGenerationException; -import com.fasterxml.jackson.databind.JsonMappingException; import org.apache.commons.collections4.MapUtils; import org.opencb.biodata.models.clinical.qc.InferredSexReport; import org.opencb.biodata.models.clinical.qc.MendelianErrorReport; @@ -63,17 +61,17 @@ public void run() throws ToolException { } private void runInferredSex() throws ToolException { - File inferredSexBamFile; + File bwFile; try { - inferredSexBamFile = AnalysisUtils.getBamFileBySampleId(sampleId, studyId, - getVariantStorageManager().getCatalogManager().getFileManager(), getToken()); + bwFile = AnalysisUtils.getBwFileBySampleId(sampleId, studyId, getVariantStorageManager().getCatalogManager().getFileManager(), + getToken()); } catch (ToolException e) { addWarning("Skipping inferred sex: " + e.getMessage()); return; } - if (inferredSexBamFile == null) { - addWarning("Skipping inferred sex: BAM file not found for sample '" + sampleId + "' of individual '" + + if (bwFile == null) { + addWarning("Skipping inferred sex: BIGWIG file not found for sample '" + sampleId + "' of individual '" + individual.getId() + "'"); return; } @@ -91,7 +89,7 @@ private void runInferredSex() throws ToolException { // Infer the sex for that sample // Compute ratios: X-chrom / autosomic-chroms and Y-chrom / autosomic-chroms - double[] ratios = InferredSexComputation.computeRatios(studyId, inferredSexBamFile, assembly, alignmentStorageManager, getToken()); + double[] ratios = InferredSexComputation.computeRatios(studyId, bwFile, assembly, alignmentStorageManager, getToken()); // Infer sex from ratios double xAuto = ratios[0]; diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/individual/qc/InferredSexComputation.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/individual/qc/InferredSexComputation.java index e643ddda871..1104f01563b 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/individual/qc/InferredSexComputation.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/individual/qc/InferredSexComputation.java @@ -39,7 +39,7 @@ public class InferredSexComputation { - public static double[] computeRatios(String study, File bamFile, String assembly, AlignmentStorageManager alignmentStorageManager, + public static double[] computeRatios(String study, File bwFile, String assembly, AlignmentStorageManager alignmentStorageManager, String token) throws ToolException { @@ -57,7 +57,7 @@ public static double[] computeRatios(String study, File bamFile, String assembly int chromSize = chromosomes.get(chrom); Region region = new Region(chrom, 1, chromSize); try { - List regionCoverages = alignmentStorageManager.coverageQuery(study, bamFile.getUuid(), region, 0, + List regionCoverages = alignmentStorageManager.coverageQuery(study, bwFile.getId(), region, 0, Integer.MAX_VALUE, chromSize, token).getResults(); double meanCoverage = 0d; diff --git a/opencga-server/src/main/java/org/opencb/opencga/server/rest/analysis/VariantWebService.java b/opencga-server/src/main/java/org/opencb/opencga/server/rest/analysis/VariantWebService.java index 761426a0b9a..6e5f47e2c0a 100644 --- a/opencga-server/src/main/java/org/opencb/opencga/server/rest/analysis/VariantWebService.java +++ b/opencga-server/src/main/java/org/opencb/opencga/server/rest/analysis/VariantWebService.java @@ -31,6 +31,7 @@ import org.opencb.commons.datastore.core.*; import org.opencb.opencga.analysis.AnalysisUtils; import org.opencb.opencga.analysis.ResourceUtils; +import org.opencb.opencga.analysis.alignment.AlignmentConstants; import org.opencb.opencga.analysis.family.qc.FamilyQcAnalysis; import org.opencb.opencga.analysis.individual.qc.IndividualQcAnalysis; import org.opencb.opencga.analysis.individual.qc.IndividualQcUtils; @@ -1119,88 +1120,12 @@ public Response individualQcRun( @ApiParam(value = ParamConstants.JOB_DEPENDS_ON_DESCRIPTION) @QueryParam(JOB_DEPENDS_ON) String dependsOn, @ApiParam(value = ParamConstants.JOB_TAGS_DESCRIPTION) @QueryParam(ParamConstants.JOB_TAGS) String jobTags, @ApiParam(value = IndividualQcAnalysisParams.DESCRIPTION, required = true) IndividualQcAnalysisParams params) { - return run(() -> { - List dependsOnList = StringUtils.isEmpty(dependsOn) ? new ArrayList<>() : Arrays.asList(dependsOn.split(",")); - - Individual individual = IndividualQcUtils.getIndividualById(study, params.getIndividual(), catalogManager, token); - - // Get samples of that individual, but only germline samples - List childGermlineSamples = IndividualQcUtils.getValidGermlineSamplesByIndividualId(study, individual.getId(), - catalogManager, token); - if (CollectionUtils.isEmpty(childGermlineSamples)) { - throw new ToolException("Germline sample not found for individual '" + params.getIndividual() + "'"); - } - - Sample sample = null; - if (StringUtils.isNotEmpty(params.getSample())) { - for (Sample germlineSample : childGermlineSamples) { - if (params.getSample().equals(germlineSample.getId())) { - sample = germlineSample; - break; - } - } - if (sample == null) { - throw new ToolException("The provided sample '" + params.getSample() + "' not found in the individual '" - + params.getIndividual() + "'"); - } - } else { - // If multiple germline samples, we take the first one - sample = childGermlineSamples.get(0); - } - - org.opencb.opencga.core.models.file.File catalogBamFile; - catalogBamFile = AnalysisUtils.getBamFileBySampleId(sample.getId(), study, catalogManager.getFileManager(), token); - - if (catalogBamFile != null) { - // Check if .bw (coverage file) exists - OpenCGAResult fileResult; - - Query query = new Query(FileDBAdaptor.QueryParams.ID.key(), catalogBamFile.getId() + ".bw"); - fileResult = catalogManager.getFileManager().search(study, query, QueryOptions.empty(), token); - Job deeptoolsJob = null; - if (fileResult.getNumResults() == 0) { - // Coverage file does not exit, a job must be submitted to create the .bw file - // but first, check if .bai (bam index file) exist - - query = new Query(FileDBAdaptor.QueryParams.ID.key(), catalogBamFile.getId() + ".bai"); - fileResult = catalogManager.getFileManager().search(study, query, QueryOptions.empty(), token); - - Job samtoolsJob = null; - if (fileResult.getNumResults() == 0) { - // BAM index file does not exit, a job must be submitted to create the .bai file - SamtoolsWrapperParams samtoolsParams = new SamtoolsWrapperParams() - .setCommand("index") - .setInputFile(catalogBamFile.getId()) - .setSamtoolsParams(new HashMap<>()); - - DataResult jobResult = submitJobRaw(SamtoolsWrapperAnalysis.ID, null, study, samtoolsParams, null, null, null, - null); - samtoolsJob = jobResult.first(); - } - - // Coverage file does not exit, a job must be submitted to create the .bw file - DeeptoolsWrapperParams deeptoolsParams = new DeeptoolsWrapperParams() - .setCommand("bamCoverage"); - - Map bamCoverageParams = new HashMap<>(); - bamCoverageParams.put("b", catalogBamFile.getId()); - bamCoverageParams.put("o", Paths.get(catalogBamFile.getUri()).getFileName() + ".bw"); - bamCoverageParams.put("binSize", "1"); - bamCoverageParams.put("outFileFormat", "bigwig"); - bamCoverageParams.put("minMappingQuality", "20"); - deeptoolsParams.setDeeptoolsParams(bamCoverageParams); - - DataResult jobResult = submitJobRaw(DeeptoolsWrapperAnalysis.ID, null, study, deeptoolsParams, null, null, - samtoolsJob == null ? null : samtoolsJob.getId(), null); - deeptoolsJob = jobResult.first(); - dependsOnList.add(deeptoolsJob.getId()); - } - } - - return submitJobRaw(IndividualQcAnalysis.ID, null, study, params, jobName, jobDescription, StringUtils.join(dependsOnList, ","), - jobTags); + // Check before submitting the job + IndividualQcAnalysis.checkParameters(params.getIndividual(), params.getSample(), study, catalogManager, token); + // Submit the individual QC analysis + return submitJobRaw(IndividualQcAnalysis.ID, null, study, params, jobName, jobDescription, dependsOn, jobTags); }); } From 313af858088af207922f796d1cb75f8ae1762c37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20T=C3=A1rraga=20Gim=C3=A9nez?= Date: Tue, 13 Feb 2024 20:49:17 +0100 Subject: [PATCH 23/89] analysis: link BAI file and update it with sample IDs, #TASK-5645 --- .../alignment/AlignmentIndexOperation.java | 29 +++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentIndexOperation.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentIndexOperation.java index 7fe15b9ba60..fcc769d4669 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentIndexOperation.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentIndexOperation.java @@ -16,18 +16,25 @@ package org.opencb.opencga.analysis.alignment; +import org.apache.commons.lang3.StringUtils; import org.opencb.biodata.tools.alignment.BamManager; +import org.opencb.commons.datastore.core.DataResult; +import org.opencb.commons.datastore.core.Query; import org.opencb.commons.datastore.core.QueryOptions; import org.opencb.opencga.analysis.tools.OpenCgaTool; +import org.opencb.opencga.catalog.db.api.FileDBAdaptor; import org.opencb.opencga.catalog.exceptions.CatalogException; import org.opencb.opencga.core.exceptions.ToolException; import org.opencb.opencga.core.models.common.Enums; import org.opencb.opencga.core.models.file.File; +import org.opencb.opencga.core.models.file.FileLinkParams; +import org.opencb.opencga.core.models.file.FileUpdateParams; import org.opencb.opencga.core.response.OpenCGAResult; import org.opencb.opencga.core.tools.annotations.Tool; import java.nio.file.Path; import java.nio.file.Paths; +import java.util.Arrays; @Tool(id = AlignmentIndexOperation.ID, resource = Enums.Resource.ALIGNMENT, description = "Index alignment.") public class AlignmentIndexOperation extends OpenCgaTool { @@ -60,11 +67,12 @@ protected void check() throws Exception { String filename = inputPath.getFileName().toString(); // Check if the input file is .bam or .cram - if (!filename.endsWith(".bam") && !filename.endsWith(".cram")) { + if (!filename.endsWith(AlignmentConstants.BAM_EXTENSION) && !filename.endsWith(AlignmentConstants.CRAM_EXTENSION)) { throw new ToolException("Invalid input alignment file '" + inputFile + "': it must be in BAM or CRAM format"); } - outputPath = getOutDir().resolve(filename + (filename.endsWith(".bam") ? ".bai" : ".crai")); + outputPath = getOutDir().resolve(filename + (filename.endsWith(AlignmentConstants.BAM_EXTENSION) + ? AlignmentConstants.BAI_EXTENSION : AlignmentConstants.CRAI_EXTENSION)); } @Override @@ -81,6 +89,23 @@ protected void run() throws Exception { throw new ToolException("Something wrong happened when computing index file for '" + inputFile + "'"); } logger.info("Alignment index at {}", outputPath); + + // Link BAI file and updating sample info + FileLinkParams fileLinkParams = new FileLinkParams().setUri(outputPath.toString()); + if (Paths.get(inputCatalogFile.getPath()).getParent() != null) { + fileLinkParams.setPath(Paths.get(inputCatalogFile.getPath()).getParent().resolve(outputPath.getFileName()).toString()); + } + OpenCGAResult fileResult = catalogManager.getFileManager().link(study, fileLinkParams, false, token); + if (fileResult.getNumResults() != 1) { + throw new ToolException("It could not link OpenCGA BAI file catalog file for '" + inputFile + "'"); + } + FileUpdateParams updateParams = new FileUpdateParams().setSampleIds(inputCatalogFile.getSampleIds()); + catalogManager.getFileManager().update(study, fileResult.first().getId(), updateParams, null, token); + fileResult = catalogManager.getFileManager().get(study, fileResult.first().getId(), QueryOptions.empty(), token); + if (!fileResult.first().getSampleIds().equals(inputCatalogFile.getSampleIds())) { + throw new ToolException("It could not update sample IDS within the OpenCGA BAI file catalog (" + fileResult.first().getId() + + ") with the samples info from '" + inputFile + "'"); + } }); } From 656edfe6156fdfb48b106baae88b41b27fa65aad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20T=C3=A1rraga=20Gim=C3=A9nez?= Date: Tue, 13 Feb 2024 21:05:58 +0100 Subject: [PATCH 24/89] analysis: link BW file and update it with sample IDs, #TASK-5645 --- .../alignment/AlignmentCoverageAnalysis.java | 19 +++++++++++++++++++ .../alignment/AlignmentIndexOperation.java | 2 +- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentCoverageAnalysis.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentCoverageAnalysis.java index 9d972bc21b6..70879a2e42f 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentCoverageAnalysis.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentCoverageAnalysis.java @@ -32,6 +32,8 @@ import org.opencb.opencga.core.models.alignment.CoverageIndexParams; import org.opencb.opencga.core.models.common.Enums; import org.opencb.opencga.core.models.file.File; +import org.opencb.opencga.core.models.file.FileLinkParams; +import org.opencb.opencga.core.models.file.FileUpdateParams; import org.opencb.opencga.core.response.OpenCGAResult; import org.opencb.opencga.core.tools.annotations.Tool; import org.opencb.opencga.core.tools.annotations.ToolParams; @@ -147,6 +149,23 @@ protected void run() throws Exception { + ") was not create, please, check log files."); } + // Link BW file and update sample info + FileLinkParams fileLinkParams = new FileLinkParams().setUri(bwPath.toString()); + if (Paths.get(bamCatalogFile.getPath()).getParent() != null) { + fileLinkParams.setPath(Paths.get(bamCatalogFile.getPath()).getParent().resolve(bwPath.getFileName()).toString()); + } + OpenCGAResult fileResult = catalogManager.getFileManager().link(study, fileLinkParams, false, token); + if (fileResult.getNumResults() != 1) { + throw new ToolException("It could not link OpenCGA BAI file catalog file for '" + coverageParams.getBamFileId() + "'"); + } + FileUpdateParams updateParams = new FileUpdateParams().setSampleIds(bamCatalogFile.getSampleIds()); + catalogManager.getFileManager().update(study, fileResult.first().getId(), updateParams, null, token); + fileResult = catalogManager.getFileManager().get(study, fileResult.first().getId(), QueryOptions.empty(), token); + if (!fileResult.first().getSampleIds().equals(bamCatalogFile.getSampleIds())) { + throw new ToolException("It could not update sample IDS within the OpenCGA BAI file catalog (" + fileResult.first().getId() + + ") with the samples info from '" + coverageParams.getBamFileId() + "'"); + } + // Remove symbolic links if necessary if (getOutDir().resolve(bamCatalogFile.getName()).toFile().exists()) { Files.delete(getOutDir().resolve(bamCatalogFile.getName())); diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentIndexOperation.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentIndexOperation.java index fcc769d4669..bd68a9afd80 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentIndexOperation.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentIndexOperation.java @@ -90,7 +90,7 @@ protected void run() throws Exception { } logger.info("Alignment index at {}", outputPath); - // Link BAI file and updating sample info + // Link BAI file and update sample info FileLinkParams fileLinkParams = new FileLinkParams().setUri(outputPath.toString()); if (Paths.get(inputCatalogFile.getPath()).getParent() != null) { fileLinkParams.setPath(Paths.get(inputCatalogFile.getPath()).getParent().resolve(outputPath.getFileName()).toString()); From 76dfd9776392bb243c6c29c97c86364201be8b23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20T=C3=A1rraga=20Gim=C3=A9nez?= Date: Wed, 14 Feb 2024 08:57:38 +0100 Subject: [PATCH 25/89] analysis: re-use code and fix some sonar issues in alignment index and coverage analyses, #TASK-5645 --- .../alignment/AlignmentAnalysisUtils.java | 53 +++++++++++++++++++ .../alignment/AlignmentCoverageAnalysis.java | 45 +++++++--------- .../alignment/AlignmentIndexOperation.java | 23 ++------ 3 files changed, 78 insertions(+), 43 deletions(-) create mode 100644 opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentAnalysisUtils.java diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentAnalysisUtils.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentAnalysisUtils.java new file mode 100644 index 00000000000..9baf3398753 --- /dev/null +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentAnalysisUtils.java @@ -0,0 +1,53 @@ +/* + * Copyright 2015-2020 OpenCB + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.opencb.opencga.analysis.alignment; + +import org.opencb.commons.datastore.core.QueryOptions; +import org.opencb.opencga.catalog.exceptions.CatalogException; +import org.opencb.opencga.catalog.managers.CatalogManager; +import org.opencb.opencga.core.exceptions.ToolException; +import org.opencb.opencga.core.models.file.File; +import org.opencb.opencga.core.models.file.FileLinkParams; +import org.opencb.opencga.core.models.file.FileUpdateParams; +import org.opencb.opencga.core.response.OpenCGAResult; + +import java.nio.file.Path; +import java.nio.file.Paths; + +public class AlignmentAnalysisUtils { + + public static void linkAndUpdate(File bamCatalogFile, Path outPath, String study, CatalogManager catalogManager, String token) + throws CatalogException, ToolException { + // Link BW file and update sample info + FileLinkParams fileLinkParams = new FileLinkParams().setUri(outPath.toString()); + if (Paths.get(bamCatalogFile.getPath()).getParent() != null) { + fileLinkParams.setPath(Paths.get(bamCatalogFile.getPath()).getParent().resolve(outPath.getFileName()).toString()); + } + OpenCGAResult fileResult = catalogManager.getFileManager().link(study, fileLinkParams, false, token); + if (fileResult.getNumResults() != 1) { + throw new ToolException("It could not link OpenCGA file catalog file for '" + outPath + "'"); + } + FileUpdateParams updateParams = new FileUpdateParams().setSampleIds(bamCatalogFile.getSampleIds()); + catalogManager.getFileManager().update(study, fileResult.first().getId(), updateParams, null, token); + fileResult = catalogManager.getFileManager().get(study, fileResult.first().getId(), QueryOptions.empty(), token); + if (!fileResult.first().getSampleIds().equals(bamCatalogFile.getSampleIds())) { + throw new ToolException("It could not update sample IDS within the OpenCGA BAI file catalog (" + fileResult.first().getId() + + ") with the samples info from '" + bamCatalogFile.getId() + "'"); + } + } + +} diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentCoverageAnalysis.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentCoverageAnalysis.java index 70879a2e42f..24f3adec632 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentCoverageAnalysis.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentCoverageAnalysis.java @@ -50,8 +50,8 @@ @Tool(id = AlignmentCoverageAnalysis.ID, resource = Enums.Resource.ALIGNMENT, description = "Alignment coverage analysis.") public class AlignmentCoverageAnalysis extends OpenCgaToolScopeStudy { - public final static String ID = "coverage-index-run"; - public final static String DESCRIPTION = "Compute the coverage from a given alignment file, e.g., create a " + public static final String ID = "coverage-index-run"; + public static final String DESCRIPTION = "Compute the coverage from a given alignment file, e.g., create a " + AlignmentConstants.BIGWIG_EXTENSION + " file from a " + AlignmentConstants.BAM_EXTENSION + " file"; @ToolParams @@ -60,6 +60,7 @@ public class AlignmentCoverageAnalysis extends OpenCgaToolScopeStudy { private File bamCatalogFile; private File baiCatalogFile; + @Override protected void check() throws Exception { super.check(); @@ -81,9 +82,16 @@ protected void check() throws Exception { if (StringUtils.isEmpty(coverageParams.getBaiFileId())) { // BAI file ID was not provided, looking for it baiCatalogFile = getBaiFile(bamCatalogFile.getName() + AlignmentConstants.BAI_EXTENSION); + if (baiCatalogFile == null) { + throw new ToolException("Could not find BAI file from name '" + + (bamCatalogFile.getName() + AlignmentConstants.BAI_EXTENSION) + "'"); + } } else { // Getting the BAI file provided baiCatalogFile = getFile(coverageParams.getBaiFileId(), "BAI"); + if (baiCatalogFile == null) { + throw new ToolException("Could not find BAI file from ID '" + coverageParams.getBaiFileId() + "'"); + } } logger.info("BAI file ID = {}; path = {}", baiCatalogFile.getId(), Paths.get(baiCatalogFile.getUri())); @@ -143,29 +151,6 @@ protected void run() throws Exception { .setCommand("bamCoverage") .execute(); - // Check execution result - if (!bwPath.toFile().exists()) { - new ToolException("Something wrong happened running a coverage: BigWig file (" + bwPath.toFile().getName() - + ") was not create, please, check log files."); - } - - // Link BW file and update sample info - FileLinkParams fileLinkParams = new FileLinkParams().setUri(bwPath.toString()); - if (Paths.get(bamCatalogFile.getPath()).getParent() != null) { - fileLinkParams.setPath(Paths.get(bamCatalogFile.getPath()).getParent().resolve(bwPath.getFileName()).toString()); - } - OpenCGAResult fileResult = catalogManager.getFileManager().link(study, fileLinkParams, false, token); - if (fileResult.getNumResults() != 1) { - throw new ToolException("It could not link OpenCGA BAI file catalog file for '" + coverageParams.getBamFileId() + "'"); - } - FileUpdateParams updateParams = new FileUpdateParams().setSampleIds(bamCatalogFile.getSampleIds()); - catalogManager.getFileManager().update(study, fileResult.first().getId(), updateParams, null, token); - fileResult = catalogManager.getFileManager().get(study, fileResult.first().getId(), QueryOptions.empty(), token); - if (!fileResult.first().getSampleIds().equals(bamCatalogFile.getSampleIds())) { - throw new ToolException("It could not update sample IDS within the OpenCGA BAI file catalog (" + fileResult.first().getId() - + ") with the samples info from '" + coverageParams.getBamFileId() + "'"); - } - // Remove symbolic links if necessary if (getOutDir().resolve(bamCatalogFile.getName()).toFile().exists()) { Files.delete(getOutDir().resolve(bamCatalogFile.getName())); @@ -173,6 +158,16 @@ protected void run() throws Exception { if (getOutDir().resolve(baiCatalogFile.getName()).toFile().exists()) { Files.delete(getOutDir().resolve(baiCatalogFile.getName())); } + + // Check execution result + if (!bwPath.toFile().exists()) { + throw new ToolException("Something wrong happened running a coverage: BigWig file (" + bwPath.toFile().getName() + + ") was not create, please, check log files."); + } + logger.info("Coverage index at {}", bwPath); + + // Link generated BIGWIG file and update samples info + AlignmentAnalysisUtils.linkAndUpdate(bamCatalogFile, bwPath, study, catalogManager, token); }); } diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentIndexOperation.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentIndexOperation.java index bd68a9afd80..713a449c49e 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentIndexOperation.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentIndexOperation.java @@ -39,8 +39,8 @@ @Tool(id = AlignmentIndexOperation.ID, resource = Enums.Resource.ALIGNMENT, description = "Index alignment.") public class AlignmentIndexOperation extends OpenCgaTool { - public final static String ID = "alignment-index-run"; - public final static String DESCRIPTION = "Index a given alignment file, e.g., create a .bai file from a .bam file"; + public static final String ID = "alignment-index-run"; + public static final String DESCRIPTION = "Index a given alignment file, e.g., create a .bai file from a .bam file"; private String study; private String inputFile; @@ -49,6 +49,7 @@ public class AlignmentIndexOperation extends OpenCgaTool { private Path inputPath; private Path outputPath; + @Override protected void check() throws Exception { super.check(); @@ -90,22 +91,8 @@ protected void run() throws Exception { } logger.info("Alignment index at {}", outputPath); - // Link BAI file and update sample info - FileLinkParams fileLinkParams = new FileLinkParams().setUri(outputPath.toString()); - if (Paths.get(inputCatalogFile.getPath()).getParent() != null) { - fileLinkParams.setPath(Paths.get(inputCatalogFile.getPath()).getParent().resolve(outputPath.getFileName()).toString()); - } - OpenCGAResult fileResult = catalogManager.getFileManager().link(study, fileLinkParams, false, token); - if (fileResult.getNumResults() != 1) { - throw new ToolException("It could not link OpenCGA BAI file catalog file for '" + inputFile + "'"); - } - FileUpdateParams updateParams = new FileUpdateParams().setSampleIds(inputCatalogFile.getSampleIds()); - catalogManager.getFileManager().update(study, fileResult.first().getId(), updateParams, null, token); - fileResult = catalogManager.getFileManager().get(study, fileResult.first().getId(), QueryOptions.empty(), token); - if (!fileResult.first().getSampleIds().equals(inputCatalogFile.getSampleIds())) { - throw new ToolException("It could not update sample IDS within the OpenCGA BAI file catalog (" + fileResult.first().getId() - + ") with the samples info from '" + inputFile + "'"); - } + // Link generated BAI file and update samples info + AlignmentAnalysisUtils.linkAndUpdate(inputCatalogFile, outputPath, study, catalogManager, token); }); } From 500701bcb14d85dd007b08b502b471afc73880f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20T=C3=A1rraga=20Gim=C3=A9nez?= Date: Wed, 14 Feb 2024 10:12:02 +0100 Subject: [PATCH 26/89] analysis: clean code and fix some sonar issues in individual QC analysis, #TASK-5645 --- .../analysis/family/qc/FamilyQcAnalysis.java | 4 - .../individual/qc/IndividualQcAnalysis.java | 84 ++++++------------- .../qc/IndividualQcLocalAnalysisExecutor.java | 10 ++- .../variant/IndividualQcAnalysisExecutor.java | 2 +- .../rest/analysis/VariantWebService.java | 3 +- 5 files changed, 36 insertions(+), 67 deletions(-) diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/family/qc/FamilyQcAnalysis.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/family/qc/FamilyQcAnalysis.java index 3c624aec0c2..54b3c971da2 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/family/qc/FamilyQcAnalysis.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/family/qc/FamilyQcAnalysis.java @@ -16,16 +16,13 @@ package org.opencb.opencga.analysis.family.qc; -import com.fasterxml.jackson.core.JsonProcessingException; import org.apache.commons.lang3.StringUtils; import org.opencb.commons.datastore.core.QueryOptions; import org.opencb.opencga.analysis.AnalysisUtils; -import org.opencb.opencga.analysis.individual.qc.IndividualQcAnalysis; import org.opencb.opencga.analysis.individual.qc.IndividualQcUtils; import org.opencb.opencga.analysis.tools.OpenCgaTool; import org.opencb.opencga.analysis.variant.relatedness.RelatednessAnalysis; import org.opencb.opencga.catalog.exceptions.CatalogException; -import org.opencb.opencga.core.common.JacksonUtils; import org.opencb.opencga.core.exceptions.ToolException; import org.opencb.opencga.core.models.common.Enums; import org.opencb.opencga.core.models.family.Family; @@ -36,7 +33,6 @@ import org.opencb.opencga.core.tools.variant.FamilyQcAnalysisExecutor; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Arrays; import java.util.List; import java.util.Map; diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/individual/qc/IndividualQcAnalysis.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/individual/qc/IndividualQcAnalysis.java index fce04f2752b..62eb844870c 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/individual/qc/IndividualQcAnalysis.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/individual/qc/IndividualQcAnalysis.java @@ -67,11 +67,11 @@ public class IndividualQcAnalysis extends OpenCgaTool { private Sample sample; private String motherSampleId; private String fatherSampleId; - private Map karyotypicSexThresholds; private IndividualQualityControl qualityControl; private IndividualQcAnalysisExecutor executor; public IndividualQcAnalysis() { + super(); } @Override @@ -83,8 +83,13 @@ protected void check() throws Exception { throw new ToolException("Missing study ID."); } + // Set default inferred sex method, if empty + if (StringUtils.isEmpty(inferredSexMethod)) { + inferredSexMethod = COVERAGE_RATIO_INFERRED_SEX_METHOD; + } + // Main check (this function is shared with the endpoint individual/qc/run) - checkParameters(individualId, sampleId, studyId, catalogManager, token); + checkParameters(individualId, sampleId, inferredSexMethod, studyId, catalogManager, token); // Get individual individual = IndividualQcUtils.getIndividualById(studyId, individualId, catalogManager, token); @@ -127,10 +132,6 @@ protected void check() throws Exception { fatherSampleId = fatherGermlineSamples.get(0).getId(); } } - - if (StringUtils.isEmpty(inferredSexMethod)) { - inferredSexMethod = COVERAGE_RATIO_INFERRED_SEX_METHOD; - } } @Override @@ -165,8 +166,8 @@ protected void run() throws ToolException { .setInferredSexMethod(inferredSexMethod) .setQualityControl(qualityControl); - step(INFERRED_SEX_STEP, () -> runInferredSex()); - step(MENDELIAN_ERRORS_STEP, () -> runMendelianError()); + step(INFERRED_SEX_STEP, this::runInferredSex); + step(MENDELIAN_ERRORS_STEP, this::runMendelianError); // Finally, update individual quality control try { @@ -191,32 +192,13 @@ private void runInferredSex() throws ToolException { } } - if (!COVERAGE_RATIO_INFERRED_SEX_METHOD.equals(inferredSexMethod)) { - addWarning("Skipping inferred sex: unknown inferred sex method '" + inferredSexMethod + "'. Please, use '" - + COVERAGE_RATIO_INFERRED_SEX_METHOD + "'"); - return; - } - - File inferredSexBamFile; - try { - inferredSexBamFile = AnalysisUtils.getBamFileBySampleId(sample.getId(), studyId, - getVariantStorageManager().getCatalogManager().getFileManager(), getToken()); - } catch (ToolException e) { - throw new ToolException(e); - } - - if (inferredSexBamFile == null) { - addWarning("Skipping inferred sex: BAM file not found for sample '" + sample.getId() + "' of individual '" + - individual.getId() + "'"); - return; - } - + Map karyotypicSexThresholds; + Path thresholdsPath = getOpencgaHome().resolve("analysis").resolve(ID).resolve("karyotypic_sex_thresholds.json"); try { - Path thresholdsPath = getOpencgaHome().resolve("analysis").resolve(ID).resolve("karyotypic_sex_thresholds.json"); karyotypicSexThresholds = JacksonUtils.getDefaultNonNullObjectMapper().readerFor(Map.class).readValue(thresholdsPath.toFile()); } catch (IOException e) { - addWarning("Skipping inferred sex: something wrong happened when loading the karyotypic sex thresholds file" - + " (karyotypic_sex_thresholds.json)"); + addWarning("Skipping inferred sex: something wrong happened when loading the karyotypic sex thresholds file: " + + thresholdsPath.toAbsolutePath()); return; } executor.setQcType(IndividualQcAnalysisExecutor.QcType.INFERRED_SEX) @@ -245,7 +227,8 @@ private void runMendelianError() throws ToolException { executor.setQcType(IndividualQcAnalysisExecutor.QcType.MENDELIAN_ERRORS).execute(); } - public static void checkParameters(String individualId, String sampleId, String studyId, CatalogManager catalogManager, String token) throws ToolException, CatalogException { + public static void checkParameters(String individualId, String sampleId, String inferredSexMethod, String studyId, + CatalogManager catalogManager, String token) throws ToolException, CatalogException { // Check permissions try { Study study = catalogManager.getStudyManager().get(studyId, QueryOptions.empty(), token).first(); @@ -255,6 +238,11 @@ public static void checkParameters(String individualId, String sampleId, String throw new ToolException(e); } + if (StringUtils.isNotEmpty(inferredSexMethod) && !inferredSexMethod.equals(COVERAGE_RATIO_INFERRED_SEX_METHOD)) { + throw new ToolException("Unknown inferred sex method: '" + inferredSexMethod + "'. Valid values: " + + COVERAGE_RATIO_INFERRED_SEX_METHOD); + } + if (StringUtils.isEmpty(individualId)) { throw new ToolException("Missing individual ID"); } @@ -283,35 +271,17 @@ public static void checkParameters(String individualId, String sampleId, String sample = childGermlineSamples.get(0); } - // Checking sample files: BAM, BAI, BIGWIG -// String bamFileId = null; -// String baiFileId = null; + // Checking sample file BIGWIG required to compute inferred-sex String bwFileId = null; for (String fileId : sample.getFileIds()) { -// if (fileId.endsWith(AlignmentConstants.BAM_EXTENSION)) { -// if (bamFileId != null) { -// throw new ToolException("Multiple BAM files found for sample '" + sample.getId() + "' of the individual '" -// + individual.getId() + "'"); -// } -// bamFileId = fileId; -// } -// if (fileId.endsWith(AlignmentConstants.BAI_EXTENSION)) { -// if (baiFileId != null) { -// throw new ToolException("Multiple BAI files found for sample '" + sample.getId() + "' of the individual '" -// + individual.getId() + "'"); -// } -// baiFileId = fileId; -// } if (fileId.endsWith(AlignmentConstants.BIGWIG_EXTENSION)) { if (bwFileId != null) { - throw new ToolException("Multiple BIGWIG files found for sample '" + sample.getId() + "' of the individual '" - + individual.getId() + "'"); + throw new ToolException("Multiple BIGWIG files found for individual/sample (" + individual.getId() + "/" + + sample.getId() + ")"); } bwFileId = fileId; } } -// checkSampleFile(bamFileId, "BAM", sample, individual, studyId, catalogManager, token); -// checkSampleFile(baiFileId, "BAI", sample, individual, studyId, catalogManager, token); checkSampleFile(bwFileId, "BIGWIG", sample, individual, studyId, catalogManager, token); } @@ -319,13 +289,13 @@ private static void checkSampleFile(String fileId, String label, Sample sample, CatalogManager catalogManager, String token) throws ToolException, CatalogException { if (StringUtils.isEmpty(fileId)) { - throw new ToolException("None " + label + " file registered in sample '" + sample.getId() + "' of the individual '" - + individual.getId() + "'"); + throw new ToolException("None " + label + " file registered for individual/sample (" + individual.getId() + "/" + + sample.getId() + ")"); } else { OpenCGAResult fileResult = catalogManager.getFileManager().get(studyId, fileId, QueryOptions.empty(), token); if (fileResult.getNumResults() == 0) { - throw new ToolException(label + " file ID '" + fileId + "' not found in OpenCGA catalog (sample '" + sample.getId() - + "' of the individual '" + individual.getId() + "')"); + throw new ToolException(label + " file ID '" + fileId + "' not found in OpenCGA catalog for individual/sample (" + + individual.getId() + "/" + sample.getId() + ")"); } } } diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/individual/qc/IndividualQcLocalAnalysisExecutor.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/individual/qc/IndividualQcLocalAnalysisExecutor.java index 00c3b12c693..72f482cf01d 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/individual/qc/IndividualQcLocalAnalysisExecutor.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/individual/qc/IndividualQcLocalAnalysisExecutor.java @@ -21,6 +21,7 @@ import org.opencb.biodata.models.clinical.qc.MendelianErrorReport; import org.opencb.opencga.analysis.AnalysisUtils; import org.opencb.opencga.analysis.StorageToolExecutor; +import org.opencb.opencga.analysis.alignment.AlignmentConstants; import org.opencb.opencga.analysis.alignment.AlignmentStorageManager; import org.opencb.opencga.analysis.variant.manager.VariantStorageManager; import org.opencb.opencga.analysis.variant.mendelianError.MendelianErrorAnalysis; @@ -52,11 +53,13 @@ public void run() throws ToolException { runInferredSex(); break; } - case MENDELIAN_ERRORS: { runMendelianErrors(); break; } + default: { + throw new ToolException("Unknown individual QC: '" + qcType + "'"); + } } } @@ -107,8 +110,8 @@ private void runInferredSex() throws ToolException { values.put("ratioY", yAuto); // Set inferred sex report (individual fields will be set later) - qualityControl.getInferredSexReports().add(new InferredSexReport(sampleId, "CoverageRatio", inferredKaryotypicSex, values, - Collections.emptyList())); + qualityControl.getInferredSexReports().add(new InferredSexReport(sampleId, COVERAGE_RATIO_INFERRED_SEX_METHOD, + inferredKaryotypicSex, values, Collections.singletonList(bwFile.getId()))); } private void runMendelianErrors() throws ToolException { @@ -127,7 +130,6 @@ private void runMendelianErrors() throws ToolException { qualityControl.setMendelianErrorReports(Collections.singletonList(mendelianErrorReport)); } catch (ToolException | IOException e) { addWarning("Skipping mendelian errors: " + e.getMessage()); - return; } } } diff --git a/opencga-core/src/main/java/org/opencb/opencga/core/tools/variant/IndividualQcAnalysisExecutor.java b/opencga-core/src/main/java/org/opencb/opencga/core/tools/variant/IndividualQcAnalysisExecutor.java index 6547fb85889..a94e5ee8bcf 100644 --- a/opencga-core/src/main/java/org/opencb/opencga/core/tools/variant/IndividualQcAnalysisExecutor.java +++ b/opencga-core/src/main/java/org/opencb/opencga/core/tools/variant/IndividualQcAnalysisExecutor.java @@ -42,7 +42,7 @@ public enum QcType { protected IndividualQualityControl qualityControl; - public IndividualQcAnalysisExecutor() { + protected IndividualQcAnalysisExecutor() { } public String getStudyId() { diff --git a/opencga-server/src/main/java/org/opencb/opencga/server/rest/analysis/VariantWebService.java b/opencga-server/src/main/java/org/opencb/opencga/server/rest/analysis/VariantWebService.java index 6e5f47e2c0a..ad667f6ba30 100644 --- a/opencga-server/src/main/java/org/opencb/opencga/server/rest/analysis/VariantWebService.java +++ b/opencga-server/src/main/java/org/opencb/opencga/server/rest/analysis/VariantWebService.java @@ -1122,7 +1122,8 @@ public Response individualQcRun( @ApiParam(value = IndividualQcAnalysisParams.DESCRIPTION, required = true) IndividualQcAnalysisParams params) { return run(() -> { // Check before submitting the job - IndividualQcAnalysis.checkParameters(params.getIndividual(), params.getSample(), study, catalogManager, token); + IndividualQcAnalysis.checkParameters(params.getIndividual(), params.getSample(), params.getInferredSexMethod(), study, + catalogManager, token); // Submit the individual QC analysis return submitJobRaw(IndividualQcAnalysis.ID, null, study, params, jobName, jobDescription, dependsOn, jobTags); From 3f0ec62f525fc6feec7a986db2f55b344c675f3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20T=C3=A1rraga=20Gim=C3=A9nez?= Date: Wed, 14 Feb 2024 10:29:53 +0100 Subject: [PATCH 27/89] analysis: add annotation for the individual QC analysis params, #TASK-5645 --- .../org/opencb/opencga/core/api/FieldConstants.java | 9 +++++++++ .../models/variant/IndividualQcAnalysisParams.java | 11 +++++++++++ 2 files changed, 20 insertions(+) diff --git a/opencga-core/src/main/java/org/opencb/opencga/core/api/FieldConstants.java b/opencga-core/src/main/java/org/opencb/opencga/core/api/FieldConstants.java index 36fce194f36..d5476e10f60 100644 --- a/opencga-core/src/main/java/org/opencb/opencga/core/api/FieldConstants.java +++ b/opencga-core/src/main/java/org/opencb/opencga/core/api/FieldConstants.java @@ -3,6 +3,7 @@ import org.opencb.opencga.core.models.alignment.AlignmentQcParams; import org.opencb.opencga.core.models.variant.MutationalSignatureAnalysisParams; import org.opencb.opencga.core.models.variant.SampleQcAnalysisParams; +import org.opencb.opencga.core.tools.variant.IndividualQcAnalysisExecutor; public class FieldConstants { @@ -153,11 +154,19 @@ public class FieldConstants { //FamilyQualityControl public static final String FAMILY_QUALITY_CONTROL_RELATEDNESS_DESCRIPTION = "Reports of family relationship."; + + + // Individual quality control + public static final String INDIVIDUAL_QC_INDIVIDUAL_ID_DESCRIPTION = "Individual ID"; + public static final String INDIVIDUAL_QC_SAMPLE_ID_DESCRIPTION = "Sample ID (required when the individual has multiple samples)"; + public static final String INFERRED_SEX_METHOD_DESCRIPTION = "Inferred sex method. Valid values: " + + IndividualQcAnalysisExecutor.COVERAGE_RATIO_INFERRED_SEX_METHOD; public static final String INDIVIDUAL_QUALITY_CONTROL_INFERRED_SEX_REPORT_DESCRIPTION = "List of inferred sex reports, it depends on" + " the method (currently by coverage ratio)."; public static final String INDIVIDUAL_QUALITY_CONTROL_SAMPLE_RELATEDNESS_REPORT_DESCRIPTION = "Reports of samples relatedness."; public static final String INDIVIDUAL_QUALITY_CONTROL_MENDELIAN_ERRORS_DESCRIPTION = "Mendelian errors."; + //Status public static final String STATUS_DATE_DESCRIPTION = "Date has setted the status."; public static final String STATUS_MESSAGE_DESCRIPTION = "Deprecated: Message describing the status."; diff --git a/opencga-core/src/main/java/org/opencb/opencga/core/models/variant/IndividualQcAnalysisParams.java b/opencga-core/src/main/java/org/opencb/opencga/core/models/variant/IndividualQcAnalysisParams.java index 6f45eb6788c..bf369da67bd 100644 --- a/opencga-core/src/main/java/org/opencb/opencga/core/models/variant/IndividualQcAnalysisParams.java +++ b/opencga-core/src/main/java/org/opencb/opencga/core/models/variant/IndividualQcAnalysisParams.java @@ -16,14 +16,25 @@ package org.opencb.opencga.core.models.variant; +import org.opencb.commons.annotations.DataField; +import org.opencb.opencga.core.api.FieldConstants; import org.opencb.opencga.core.tools.ToolParams; +import org.opencb.opencga.core.tools.variant.IndividualQcAnalysisExecutor; public class IndividualQcAnalysisParams extends ToolParams { public static final String DESCRIPTION = "Individual QC analysis params"; + + @DataField(id = "individual", description = FieldConstants.INDIVIDUAL_QC_INDIVIDUAL_ID_DESCRIPTION) private String individual; + + @DataField(id = "sample", description = FieldConstants.INDIVIDUAL_QC_SAMPLE_ID_DESCRIPTION) private String sample; + + @DataField(id = "inferredSexMethod", description = FieldConstants.INFERRED_SEX_METHOD_DESCRIPTION, + defaultValue = IndividualQcAnalysisExecutor.COVERAGE_RATIO_INFERRED_SEX_METHOD) private String inferredSexMethod; + @DataField(id = "outdir", description = FieldConstants.JOB_OUT_DIR_DESCRIPTION) private String outdir; public IndividualQcAnalysisParams() { From 3dafbc8a64d378a0d0e649c6cb6403f9550f6cf9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20T=C3=A1rraga=20Gim=C3=A9nez?= Date: Wed, 14 Feb 2024 13:36:29 +0100 Subject: [PATCH 28/89] client: generate clients, #TASK-5645 --- .../app/cli/main/OpenCgaCompleter.java | 2 +- .../app/cli/main/OpencgaCliOptionsParser.java | 2 +- .../AnalysisVariantCommandOptions.java | 10 +++++----- opencga-client/src/main/R/R/Admin-methods.R | 2 +- .../src/main/R/R/Alignment-methods.R | 2 +- opencga-client/src/main/R/R/AllGenerics.R | 20 +++++++++---------- .../src/main/R/R/Clinical-methods.R | 4 ++-- opencga-client/src/main/R/R/Cohort-methods.R | 4 ++-- opencga-client/src/main/R/R/Family-methods.R | 4 ++-- opencga-client/src/main/R/R/File-methods.R | 4 ++-- opencga-client/src/main/R/R/GA4GH-methods.R | 2 +- .../src/main/R/R/Individual-methods.R | 4 ++-- opencga-client/src/main/R/R/Job-methods.R | 2 +- opencga-client/src/main/R/R/Meta-methods.R | 2 +- .../src/main/R/R/Operation-methods.R | 2 +- opencga-client/src/main/R/R/Panel-methods.R | 4 ++-- opencga-client/src/main/R/R/Project-methods.R | 4 ++-- opencga-client/src/main/R/R/Sample-methods.R | 4 ++-- opencga-client/src/main/R/R/Study-methods.R | 4 ++-- opencga-client/src/main/R/R/User-methods.R | 4 ++-- opencga-client/src/main/R/R/Variant-methods.R | 2 +- .../client/rest/clients/AdminClient.java | 2 +- .../client/rest/clients/AlignmentClient.java | 2 +- .../rest/clients/ClinicalAnalysisClient.java | 2 +- .../client/rest/clients/CohortClient.java | 2 +- .../rest/clients/DiseasePanelClient.java | 2 +- .../client/rest/clients/FamilyClient.java | 2 +- .../client/rest/clients/FileClient.java | 2 +- .../client/rest/clients/GA4GHClient.java | 2 +- .../client/rest/clients/IndividualClient.java | 2 +- .../client/rest/clients/JobClient.java | 2 +- .../client/rest/clients/MetaClient.java | 2 +- .../client/rest/clients/ProjectClient.java | 2 +- .../client/rest/clients/SampleClient.java | 2 +- .../client/rest/clients/StudyClient.java | 2 +- .../client/rest/clients/UserClient.java | 2 +- .../client/rest/clients/VariantClient.java | 2 +- .../rest/clients/VariantOperationClient.java | 2 +- opencga-client/src/main/javascript/Admin.js | 2 +- .../src/main/javascript/Alignment.js | 2 +- .../src/main/javascript/ClinicalAnalysis.js | 2 +- opencga-client/src/main/javascript/Cohort.js | 2 +- .../src/main/javascript/DiseasePanel.js | 2 +- opencga-client/src/main/javascript/Family.js | 2 +- opencga-client/src/main/javascript/File.js | 2 +- opencga-client/src/main/javascript/GA4GH.js | 2 +- .../src/main/javascript/Individual.js | 2 +- opencga-client/src/main/javascript/Job.js | 2 +- opencga-client/src/main/javascript/Meta.js | 2 +- opencga-client/src/main/javascript/Project.js | 2 +- opencga-client/src/main/javascript/Sample.js | 2 +- opencga-client/src/main/javascript/Study.js | 2 +- opencga-client/src/main/javascript/User.js | 2 +- opencga-client/src/main/javascript/Variant.js | 2 +- .../src/main/javascript/VariantOperation.js | 2 +- .../pyopencga/rest_clients/admin_client.py | 2 +- .../rest_clients/alignment_client.py | 2 +- .../rest_clients/clinical_analysis_client.py | 2 +- .../pyopencga/rest_clients/cohort_client.py | 2 +- .../rest_clients/disease_panel_client.py | 2 +- .../pyopencga/rest_clients/family_client.py | 2 +- .../pyopencga/rest_clients/file_client.py | 2 +- .../pyopencga/rest_clients/ga4gh_client.py | 2 +- .../rest_clients/individual_client.py | 2 +- .../pyopencga/rest_clients/job_client.py | 2 +- .../pyopencga/rest_clients/meta_client.py | 2 +- .../pyopencga/rest_clients/project_client.py | 2 +- .../pyopencga/rest_clients/sample_client.py | 2 +- .../pyopencga/rest_clients/study_client.py | 2 +- .../pyopencga/rest_clients/user_client.py | 2 +- .../pyopencga/rest_clients/variant_client.py | 2 +- .../rest_clients/variant_operation_client.py | 2 +- 72 files changed, 95 insertions(+), 95 deletions(-) diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpenCgaCompleter.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpenCgaCompleter.java index 06513c8d31d..48db1bde2fd 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpenCgaCompleter.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpenCgaCompleter.java @@ -1,5 +1,5 @@ /* -* Copyright 2015-2024-02-12 OpenCB +* Copyright 2015-2024-02-14 OpenCB * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpencgaCliOptionsParser.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpencgaCliOptionsParser.java index 4e03e8ab1f3..af1660a9e33 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpencgaCliOptionsParser.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpencgaCliOptionsParser.java @@ -1,5 +1,5 @@ /* -* Copyright 2015-2024-02-12 OpenCB +* Copyright 2015-2024-02-14 OpenCB * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/AnalysisVariantCommandOptions.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/AnalysisVariantCommandOptions.java index c69a1700845..7567d98060c 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/AnalysisVariantCommandOptions.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/AnalysisVariantCommandOptions.java @@ -1174,16 +1174,16 @@ public class RunIndividualQcCommandOptions { @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) public String jobTags; - @Parameter(names = {"--individual"}, description = "The body web service individual parameter", required = false, arity = 1) + @Parameter(names = {"--individual"}, description = "Individual ID", required = false, arity = 1) public String individual; - @Parameter(names = {"--sample"}, description = "The body web service sample parameter", required = false, arity = 1) + @Parameter(names = {"--sample"}, description = "Sample ID (required when the individual has multiple samples)", required = false, arity = 1) public String sample; - @Parameter(names = {"--inferred-sex-method"}, description = "The body web service inferredSexMethod parameter", required = false, arity = 1) - public String inferredSexMethod; + @Parameter(names = {"--inferred-sex-method"}, description = "Inferred sex method. Valid values: CoverageRatio", required = false, arity = 1) + public String inferredSexMethod = "CoverageRatio"; - @Parameter(names = {"--outdir"}, description = "The body web service outdir parameter", required = false, arity = 1) + @Parameter(names = {"--outdir"}, description = "Output dir for the job.", required = false, arity = 1) public String outdir; } diff --git a/opencga-client/src/main/R/R/Admin-methods.R b/opencga-client/src/main/R/R/Admin-methods.R index 17ea47b6807..c3041969f51 100644 --- a/opencga-client/src/main/R/R/Admin-methods.R +++ b/opencga-client/src/main/R/R/Admin-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-12 +# Autogenerated on: 2024-02-14 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/Alignment-methods.R b/opencga-client/src/main/R/R/Alignment-methods.R index fec7588f586..53cd5d9802c 100644 --- a/opencga-client/src/main/R/R/Alignment-methods.R +++ b/opencga-client/src/main/R/R/Alignment-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-12 +# Autogenerated on: 2024-02-14 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/AllGenerics.R b/opencga-client/src/main/R/R/AllGenerics.R index f7952c29ab9..c908457c56c 100644 --- a/opencga-client/src/main/R/R/AllGenerics.R +++ b/opencga-client/src/main/R/R/AllGenerics.R @@ -1,21 +1,21 @@ # ############################################################################## ## UserClient -setGeneric("userClient", function(OpencgaR, users, filterId, user, endpointName, params=NULL, ...) +setGeneric("userClient", function(OpencgaR, filterId, users, user, endpointName, params=NULL, ...) standardGeneric("userClient")) # ############################################################################## ## ProjectClient -setGeneric("projectClient", function(OpencgaR, projects, project, endpointName, params=NULL, ...) +setGeneric("projectClient", function(OpencgaR, project, projects, endpointName, params=NULL, ...) standardGeneric("projectClient")) # ############################################################################## ## StudyClient -setGeneric("studyClient", function(OpencgaR, study, variableSet, templateId, studies, group, members, endpointName, params=NULL, ...) +setGeneric("studyClient", function(OpencgaR, studies, study, templateId, group, members, variableSet, endpointName, params=NULL, ...) standardGeneric("studyClient")) # ############################################################################## ## FileClient -setGeneric("fileClient", function(OpencgaR, annotationSet, file, folder, files, members, endpointName, params=NULL, ...) +setGeneric("fileClient", function(OpencgaR, annotationSet, files, file, folder, members, endpointName, params=NULL, ...) standardGeneric("fileClient")) # ############################################################################## @@ -25,27 +25,27 @@ setGeneric("jobClient", function(OpencgaR, members, job, jobs, endpointName, par # ############################################################################## ## SampleClient -setGeneric("sampleClient", function(OpencgaR, members, samples, annotationSet, sample, endpointName, params=NULL, ...) +setGeneric("sampleClient", function(OpencgaR, members, sample, annotationSet, samples, endpointName, params=NULL, ...) standardGeneric("sampleClient")) # ############################################################################## ## IndividualClient -setGeneric("individualClient", function(OpencgaR, members, individuals, individual, annotationSet, endpointName, params=NULL, ...) +setGeneric("individualClient", function(OpencgaR, individual, members, annotationSet, individuals, endpointName, params=NULL, ...) standardGeneric("individualClient")) # ############################################################################## ## FamilyClient -setGeneric("familyClient", function(OpencgaR, members, annotationSet, family, families, endpointName, params=NULL, ...) +setGeneric("familyClient", function(OpencgaR, members, families, annotationSet, family, endpointName, params=NULL, ...) standardGeneric("familyClient")) # ############################################################################## ## CohortClient -setGeneric("cohortClient", function(OpencgaR, members, annotationSet, cohort, cohorts, endpointName, params=NULL, ...) +setGeneric("cohortClient", function(OpencgaR, members, cohorts, annotationSet, cohort, endpointName, params=NULL, ...) standardGeneric("cohortClient")) # ############################################################################## ## PanelClient -setGeneric("panelClient", function(OpencgaR, members, panels, endpointName, params=NULL, ...) +setGeneric("panelClient", function(OpencgaR, panels, members, endpointName, params=NULL, ...) standardGeneric("panelClient")) # ############################################################################## @@ -60,7 +60,7 @@ setGeneric("variantClient", function(OpencgaR, endpointName, params=NULL, ...) # ############################################################################## ## ClinicalClient -setGeneric("clinicalClient", function(OpencgaR, clinicalAnalyses, annotationSet, clinicalAnalysis, interpretations, interpretation, members, endpointName, params=NULL, ...) +setGeneric("clinicalClient", function(OpencgaR, interpretations, clinicalAnalyses, annotationSet, clinicalAnalysis, interpretation, members, endpointName, params=NULL, ...) standardGeneric("clinicalClient")) # ############################################################################## diff --git a/opencga-client/src/main/R/R/Clinical-methods.R b/opencga-client/src/main/R/R/Clinical-methods.R index d960a97ed7f..5c2ef17f033 100644 --- a/opencga-client/src/main/R/R/Clinical-methods.R +++ b/opencga-client/src/main/R/R/Clinical-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-12 +# Autogenerated on: 2024-02-14 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -61,7 +61,7 @@ #' [*]: Required parameter #' @export -setMethod("clinicalClient", "OpencgaR", function(OpencgaR, clinicalAnalyses, annotationSet, clinicalAnalysis, interpretations, interpretation, members, endpointName, params=NULL, ...) { +setMethod("clinicalClient", "OpencgaR", function(OpencgaR, interpretations, clinicalAnalyses, annotationSet, clinicalAnalysis, interpretation, members, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/analysis/clinical/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/Cohort-methods.R b/opencga-client/src/main/R/R/Cohort-methods.R index 255fe135479..3d8b8e10c27 100644 --- a/opencga-client/src/main/R/R/Cohort-methods.R +++ b/opencga-client/src/main/R/R/Cohort-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-12 +# Autogenerated on: 2024-02-14 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -39,7 +39,7 @@ #' [*]: Required parameter #' @export -setMethod("cohortClient", "OpencgaR", function(OpencgaR, members, annotationSet, cohort, cohorts, endpointName, params=NULL, ...) { +setMethod("cohortClient", "OpencgaR", function(OpencgaR, members, cohorts, annotationSet, cohort, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/cohorts/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/Family-methods.R b/opencga-client/src/main/R/R/Family-methods.R index 0644a72e6cc..b12c02ab68e 100644 --- a/opencga-client/src/main/R/R/Family-methods.R +++ b/opencga-client/src/main/R/R/Family-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-12 +# Autogenerated on: 2024-02-14 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -38,7 +38,7 @@ #' [*]: Required parameter #' @export -setMethod("familyClient", "OpencgaR", function(OpencgaR, members, annotationSet, family, families, endpointName, params=NULL, ...) { +setMethod("familyClient", "OpencgaR", function(OpencgaR, members, families, annotationSet, family, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/families/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/File-methods.R b/opencga-client/src/main/R/R/File-methods.R index 0a9ffff7527..f62ce5bb187 100644 --- a/opencga-client/src/main/R/R/File-methods.R +++ b/opencga-client/src/main/R/R/File-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-12 +# Autogenerated on: 2024-02-14 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -54,7 +54,7 @@ #' [*]: Required parameter #' @export -setMethod("fileClient", "OpencgaR", function(OpencgaR, annotationSet, file, folder, files, members, endpointName, params=NULL, ...) { +setMethod("fileClient", "OpencgaR", function(OpencgaR, annotationSet, files, file, folder, members, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/files/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/GA4GH-methods.R b/opencga-client/src/main/R/R/GA4GH-methods.R index f174b334d00..d9d2c5689e4 100644 --- a/opencga-client/src/main/R/R/GA4GH-methods.R +++ b/opencga-client/src/main/R/R/GA4GH-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-12 +# Autogenerated on: 2024-02-14 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/Individual-methods.R b/opencga-client/src/main/R/R/Individual-methods.R index 4bd4761f5b4..f7a3fe0f3f7 100644 --- a/opencga-client/src/main/R/R/Individual-methods.R +++ b/opencga-client/src/main/R/R/Individual-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-12 +# Autogenerated on: 2024-02-14 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -39,7 +39,7 @@ #' [*]: Required parameter #' @export -setMethod("individualClient", "OpencgaR", function(OpencgaR, members, individuals, individual, annotationSet, endpointName, params=NULL, ...) { +setMethod("individualClient", "OpencgaR", function(OpencgaR, individual, members, annotationSet, individuals, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/individuals/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/Job-methods.R b/opencga-client/src/main/R/R/Job-methods.R index b28d8c02087..7761fdb1f19 100644 --- a/opencga-client/src/main/R/R/Job-methods.R +++ b/opencga-client/src/main/R/R/Job-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-12 +# Autogenerated on: 2024-02-14 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/Meta-methods.R b/opencga-client/src/main/R/R/Meta-methods.R index e8c4f2c227c..730500d7b4a 100644 --- a/opencga-client/src/main/R/R/Meta-methods.R +++ b/opencga-client/src/main/R/R/Meta-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-12 +# Autogenerated on: 2024-02-14 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/Operation-methods.R b/opencga-client/src/main/R/R/Operation-methods.R index 0e8728656bf..11e89656de2 100644 --- a/opencga-client/src/main/R/R/Operation-methods.R +++ b/opencga-client/src/main/R/R/Operation-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-12 +# Autogenerated on: 2024-02-14 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/Panel-methods.R b/opencga-client/src/main/R/R/Panel-methods.R index 4f7fcdba0ea..3d1c5bfb8d3 100644 --- a/opencga-client/src/main/R/R/Panel-methods.R +++ b/opencga-client/src/main/R/R/Panel-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-12 +# Autogenerated on: 2024-02-14 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -36,7 +36,7 @@ #' [*]: Required parameter #' @export -setMethod("panelClient", "OpencgaR", function(OpencgaR, members, panels, endpointName, params=NULL, ...) { +setMethod("panelClient", "OpencgaR", function(OpencgaR, panels, members, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/panels/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/Project-methods.R b/opencga-client/src/main/R/R/Project-methods.R index f6957d7b1c2..ebbcb80dd92 100644 --- a/opencga-client/src/main/R/R/Project-methods.R +++ b/opencga-client/src/main/R/R/Project-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-12 +# Autogenerated on: 2024-02-14 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -34,7 +34,7 @@ #' [*]: Required parameter #' @export -setMethod("projectClient", "OpencgaR", function(OpencgaR, projects, project, endpointName, params=NULL, ...) { +setMethod("projectClient", "OpencgaR", function(OpencgaR, project, projects, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/projects/create: diff --git a/opencga-client/src/main/R/R/Sample-methods.R b/opencga-client/src/main/R/R/Sample-methods.R index 25c3b28bc28..63e6023a938 100644 --- a/opencga-client/src/main/R/R/Sample-methods.R +++ b/opencga-client/src/main/R/R/Sample-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-12 +# Autogenerated on: 2024-02-14 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -39,7 +39,7 @@ #' [*]: Required parameter #' @export -setMethod("sampleClient", "OpencgaR", function(OpencgaR, members, samples, annotationSet, sample, endpointName, params=NULL, ...) { +setMethod("sampleClient", "OpencgaR", function(OpencgaR, members, sample, annotationSet, samples, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/samples/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/Study-methods.R b/opencga-client/src/main/R/R/Study-methods.R index e68e4bcc9b0..592ed32d46e 100644 --- a/opencga-client/src/main/R/R/Study-methods.R +++ b/opencga-client/src/main/R/R/Study-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-12 +# Autogenerated on: 2024-02-14 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -46,7 +46,7 @@ #' [*]: Required parameter #' @export -setMethod("studyClient", "OpencgaR", function(OpencgaR, study, variableSet, templateId, studies, group, members, endpointName, params=NULL, ...) { +setMethod("studyClient", "OpencgaR", function(OpencgaR, studies, study, templateId, group, members, variableSet, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/studies/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/User-methods.R b/opencga-client/src/main/R/R/User-methods.R index 2387090ce03..103705a8c27 100644 --- a/opencga-client/src/main/R/R/User-methods.R +++ b/opencga-client/src/main/R/R/User-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-12 +# Autogenerated on: 2024-02-14 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -38,7 +38,7 @@ #' [*]: Required parameter #' @export -setMethod("userClient", "OpencgaR", function(OpencgaR, users, filterId, user, endpointName, params=NULL, ...) { +setMethod("userClient", "OpencgaR", function(OpencgaR, filterId, users, user, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/users/login: diff --git a/opencga-client/src/main/R/R/Variant-methods.R b/opencga-client/src/main/R/R/Variant-methods.R index eb22e0b9aa9..d114e5d4882 100644 --- a/opencga-client/src/main/R/R/Variant-methods.R +++ b/opencga-client/src/main/R/R/Variant-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-12 +# Autogenerated on: 2024-02-14 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AdminClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AdminClient.java index d0795752b35..d4fcd4b1d60 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AdminClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AdminClient.java @@ -36,7 +36,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-12 +* Autogenerated on: 2024-02-14 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AlignmentClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AlignmentClient.java index c50f84b9264..c6c8c84fd8b 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AlignmentClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AlignmentClient.java @@ -40,7 +40,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-12 +* Autogenerated on: 2024-02-14 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ClinicalAnalysisClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ClinicalAnalysisClient.java index e224d30995d..e4858049e0b 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ClinicalAnalysisClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ClinicalAnalysisClient.java @@ -54,7 +54,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-12 +* Autogenerated on: 2024-02-14 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/CohortClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/CohortClient.java index b17ea40e509..f136be11310 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/CohortClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/CohortClient.java @@ -37,7 +37,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-12 +* Autogenerated on: 2024-02-14 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/DiseasePanelClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/DiseasePanelClient.java index 95f7761b07f..497e02f5445 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/DiseasePanelClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/DiseasePanelClient.java @@ -35,7 +35,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-12 +* Autogenerated on: 2024-02-14 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FamilyClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FamilyClient.java index 60611ae3acf..437d6e65255 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FamilyClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FamilyClient.java @@ -36,7 +36,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-12 +* Autogenerated on: 2024-02-14 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FileClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FileClient.java index c3eeaf30fba..66ae008ab7c 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FileClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FileClient.java @@ -43,7 +43,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-12 +* Autogenerated on: 2024-02-14 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/GA4GHClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/GA4GHClient.java index dc1bfeb5f7e..5d007b409bd 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/GA4GHClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/GA4GHClient.java @@ -27,7 +27,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-12 +* Autogenerated on: 2024-02-14 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/IndividualClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/IndividualClient.java index a402680345b..67bb7feb715 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/IndividualClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/IndividualClient.java @@ -36,7 +36,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-12 +* Autogenerated on: 2024-02-14 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/JobClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/JobClient.java index dc6d45439ad..c4fb407be93 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/JobClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/JobClient.java @@ -37,7 +37,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-12 +* Autogenerated on: 2024-02-14 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/MetaClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/MetaClient.java index c93cb369383..4f1873c571c 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/MetaClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/MetaClient.java @@ -28,7 +28,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-12 +* Autogenerated on: 2024-02-14 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ProjectClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ProjectClient.java index 6119d1cd5e6..19b3144a06d 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ProjectClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ProjectClient.java @@ -32,7 +32,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-12 +* Autogenerated on: 2024-02-14 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/SampleClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/SampleClient.java index d4a3ef6f2ab..f1e5b7ac798 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/SampleClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/SampleClient.java @@ -36,7 +36,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-12 +* Autogenerated on: 2024-02-14 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/StudyClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/StudyClient.java index 6c70f35ba7c..4a9b4550de8 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/StudyClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/StudyClient.java @@ -45,7 +45,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-12 +* Autogenerated on: 2024-02-14 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/UserClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/UserClient.java index 3f4f2c9ecf6..bbf582a2cc6 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/UserClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/UserClient.java @@ -36,7 +36,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-12 +* Autogenerated on: 2024-02-14 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantClient.java index 0f669027e32..c7f91a4730a 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantClient.java @@ -62,7 +62,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-12 +* Autogenerated on: 2024-02-14 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantOperationClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantOperationClient.java index 20a1b7bd514..92f5dd6772d 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantOperationClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantOperationClient.java @@ -50,7 +50,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-12 +* Autogenerated on: 2024-02-14 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Admin.js b/opencga-client/src/main/javascript/Admin.js index b3b41bc029b..30fe2d2b09b 100644 --- a/opencga-client/src/main/javascript/Admin.js +++ b/opencga-client/src/main/javascript/Admin.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-12 + * Autogenerated on: 2024-02-14 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Alignment.js b/opencga-client/src/main/javascript/Alignment.js index 3a074baf4c4..764a51d164d 100644 --- a/opencga-client/src/main/javascript/Alignment.js +++ b/opencga-client/src/main/javascript/Alignment.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-12 + * Autogenerated on: 2024-02-14 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/ClinicalAnalysis.js b/opencga-client/src/main/javascript/ClinicalAnalysis.js index 137f07ff69a..1556652d3d3 100644 --- a/opencga-client/src/main/javascript/ClinicalAnalysis.js +++ b/opencga-client/src/main/javascript/ClinicalAnalysis.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-12 + * Autogenerated on: 2024-02-14 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Cohort.js b/opencga-client/src/main/javascript/Cohort.js index e1fba833b33..97ef19dcbdf 100644 --- a/opencga-client/src/main/javascript/Cohort.js +++ b/opencga-client/src/main/javascript/Cohort.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-12 + * Autogenerated on: 2024-02-14 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/DiseasePanel.js b/opencga-client/src/main/javascript/DiseasePanel.js index 5518677793b..52601203a30 100644 --- a/opencga-client/src/main/javascript/DiseasePanel.js +++ b/opencga-client/src/main/javascript/DiseasePanel.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-12 + * Autogenerated on: 2024-02-14 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Family.js b/opencga-client/src/main/javascript/Family.js index 8f06f58f39f..608c23c087d 100644 --- a/opencga-client/src/main/javascript/Family.js +++ b/opencga-client/src/main/javascript/Family.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-12 + * Autogenerated on: 2024-02-14 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/File.js b/opencga-client/src/main/javascript/File.js index 767c0662b35..f09d5c4562f 100644 --- a/opencga-client/src/main/javascript/File.js +++ b/opencga-client/src/main/javascript/File.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-12 + * Autogenerated on: 2024-02-14 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/GA4GH.js b/opencga-client/src/main/javascript/GA4GH.js index 5a1df8efce3..b656c0bd696 100644 --- a/opencga-client/src/main/javascript/GA4GH.js +++ b/opencga-client/src/main/javascript/GA4GH.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-12 + * Autogenerated on: 2024-02-14 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Individual.js b/opencga-client/src/main/javascript/Individual.js index a9d38d5e895..d8bd896ae88 100644 --- a/opencga-client/src/main/javascript/Individual.js +++ b/opencga-client/src/main/javascript/Individual.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-12 + * Autogenerated on: 2024-02-14 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Job.js b/opencga-client/src/main/javascript/Job.js index f6a9930002f..9489c82bc7a 100644 --- a/opencga-client/src/main/javascript/Job.js +++ b/opencga-client/src/main/javascript/Job.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-12 + * Autogenerated on: 2024-02-14 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Meta.js b/opencga-client/src/main/javascript/Meta.js index 85e9fd26bfb..b5636ff6a5e 100644 --- a/opencga-client/src/main/javascript/Meta.js +++ b/opencga-client/src/main/javascript/Meta.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-12 + * Autogenerated on: 2024-02-14 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Project.js b/opencga-client/src/main/javascript/Project.js index 7dcce658cf4..bde7382c84d 100644 --- a/opencga-client/src/main/javascript/Project.js +++ b/opencga-client/src/main/javascript/Project.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-12 + * Autogenerated on: 2024-02-14 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Sample.js b/opencga-client/src/main/javascript/Sample.js index c82e814e053..990f3b3b04e 100644 --- a/opencga-client/src/main/javascript/Sample.js +++ b/opencga-client/src/main/javascript/Sample.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-12 + * Autogenerated on: 2024-02-14 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Study.js b/opencga-client/src/main/javascript/Study.js index c156fe06115..7d443653ad9 100644 --- a/opencga-client/src/main/javascript/Study.js +++ b/opencga-client/src/main/javascript/Study.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-12 + * Autogenerated on: 2024-02-14 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/User.js b/opencga-client/src/main/javascript/User.js index 314b448d792..2093a3aadb4 100644 --- a/opencga-client/src/main/javascript/User.js +++ b/opencga-client/src/main/javascript/User.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-12 + * Autogenerated on: 2024-02-14 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Variant.js b/opencga-client/src/main/javascript/Variant.js index 1b43b1f2b07..c98bccd6bf5 100644 --- a/opencga-client/src/main/javascript/Variant.js +++ b/opencga-client/src/main/javascript/Variant.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-12 + * Autogenerated on: 2024-02-14 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/VariantOperation.js b/opencga-client/src/main/javascript/VariantOperation.js index 898ed31dd75..ad54d4104cf 100644 --- a/opencga-client/src/main/javascript/VariantOperation.js +++ b/opencga-client/src/main/javascript/VariantOperation.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-12 + * Autogenerated on: 2024-02-14 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/admin_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/admin_client.py index 504f2496535..4a60e9c7e2f 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/admin_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/admin_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-12 + Autogenerated on: 2024-02-14 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/alignment_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/alignment_client.py index bc61feec439..98b40a3f711 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/alignment_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/alignment_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-12 + Autogenerated on: 2024-02-14 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/clinical_analysis_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/clinical_analysis_client.py index 20c1c5dcb50..1e4a73902cc 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/clinical_analysis_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/clinical_analysis_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-12 + Autogenerated on: 2024-02-14 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/cohort_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/cohort_client.py index dab2cec31bb..50af2a865a2 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/cohort_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/cohort_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-12 + Autogenerated on: 2024-02-14 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/disease_panel_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/disease_panel_client.py index 5af89179543..e234b2ff148 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/disease_panel_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/disease_panel_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-12 + Autogenerated on: 2024-02-14 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/family_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/family_client.py index f2be618f79e..4fd32087258 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/family_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/family_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-12 + Autogenerated on: 2024-02-14 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/file_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/file_client.py index c0b3c2b4c66..22e58ba63be 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/file_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/file_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-12 + Autogenerated on: 2024-02-14 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/ga4gh_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/ga4gh_client.py index 018617a6247..b15c6e8bd76 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/ga4gh_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/ga4gh_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-12 + Autogenerated on: 2024-02-14 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/individual_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/individual_client.py index fed935929dd..3b393328993 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/individual_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/individual_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-12 + Autogenerated on: 2024-02-14 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/job_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/job_client.py index 51fa6d58365..1d5369c4639 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/job_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/job_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-12 + Autogenerated on: 2024-02-14 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/meta_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/meta_client.py index 044050bd600..1506926345b 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/meta_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/meta_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-12 + Autogenerated on: 2024-02-14 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/project_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/project_client.py index 07cbc8103bd..338e65d466c 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/project_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/project_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-12 + Autogenerated on: 2024-02-14 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/sample_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/sample_client.py index f1d8516bba9..e83e98d3be2 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/sample_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/sample_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-12 + Autogenerated on: 2024-02-14 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/study_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/study_client.py index 7b22a6c6499..17fda942ec7 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/study_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/study_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-12 + Autogenerated on: 2024-02-14 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/user_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/user_client.py index 48069b6eb2a..f991cf25dae 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/user_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/user_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-12 + Autogenerated on: 2024-02-14 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/variant_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/variant_client.py index e398703b6a4..57cd7a1a9cf 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/variant_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/variant_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-12 + Autogenerated on: 2024-02-14 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/variant_operation_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/variant_operation_client.py index ca2d9413d65..b48bb9d8ad4 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/variant_operation_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/variant_operation_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-12 + Autogenerated on: 2024-02-14 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. From 43b9b45c8db6b2ffbebcababc6550674b6b2b61f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20T=C3=A1rraga=20Gim=C3=A9nez?= Date: Wed, 14 Feb 2024 14:30:26 +0100 Subject: [PATCH 29/89] analysis: update inferred sex analysis, #TASK-5645 --- .../individual/qc/IndividualQcAnalysis.java | 58 +------ .../inferredSex/InferredSexAnalysis.java | 157 ++++++++++++++---- .../InferredSexLocalAnalysisExecutor.java | 58 +++---- .../VariantInternalCommandExecutor.java | 1 + .../variant/IndividualQcAnalysisParams.java | 2 +- .../variant/InferredSexAnalysisParams.java | 8 + .../variant/InferredSexAnalysisExecutor.java | 16 +- .../rest/analysis/VariantWebService.java | 8 +- 8 files changed, 187 insertions(+), 121 deletions(-) diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/individual/qc/IndividualQcAnalysis.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/individual/qc/IndividualQcAnalysis.java index 62eb844870c..a1f0de644da 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/individual/qc/IndividualQcAnalysis.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/individual/qc/IndividualQcAnalysis.java @@ -23,6 +23,7 @@ import org.opencb.opencga.analysis.AnalysisUtils; import org.opencb.opencga.analysis.alignment.AlignmentConstants; import org.opencb.opencga.analysis.tools.OpenCgaTool; +import org.opencb.opencga.analysis.variant.inferredSex.InferredSexAnalysis; import org.opencb.opencga.catalog.exceptions.CatalogException; import org.opencb.opencga.catalog.managers.CatalogManager; import org.opencb.opencga.core.common.JacksonUtils; @@ -243,61 +244,8 @@ public static void checkParameters(String individualId, String sampleId, String + COVERAGE_RATIO_INFERRED_SEX_METHOD); } - if (StringUtils.isEmpty(individualId)) { - throw new ToolException("Missing individual ID"); - } - Individual individual = IndividualQcUtils.getIndividualById(studyId, individualId, catalogManager, token); - - // Get samples of that individual, but only germline samples - List childGermlineSamples = IndividualQcUtils.getValidGermlineSamplesByIndividualId(studyId, individualId, catalogManager, - token); - if (CollectionUtils.isEmpty(childGermlineSamples)) { - throw new ToolException("Germline sample not found for individual '" + individualId + "'"); - } - - Sample sample = null; - if (StringUtils.isNotEmpty(sampleId)) { - for (Sample germlineSample : childGermlineSamples) { - if (sampleId.equals(germlineSample.getId())) { - sample = germlineSample; - break; - } - } - if (sample == null) { - throw new ToolException("The provided sample '" + sampleId + "' not found in the individual '" + individualId + "'"); - } - } else { - // Taking the first sample - sample = childGermlineSamples.get(0); - } - - // Checking sample file BIGWIG required to compute inferred-sex - String bwFileId = null; - for (String fileId : sample.getFileIds()) { - if (fileId.endsWith(AlignmentConstants.BIGWIG_EXTENSION)) { - if (bwFileId != null) { - throw new ToolException("Multiple BIGWIG files found for individual/sample (" + individual.getId() + "/" - + sample.getId() + ")"); - } - bwFileId = fileId; - } - } - checkSampleFile(bwFileId, "BIGWIG", sample, individual, studyId, catalogManager, token); - } - - private static void checkSampleFile(String fileId, String label, Sample sample, Individual individual, String studyId, - CatalogManager catalogManager, String token) - throws ToolException, CatalogException { - if (StringUtils.isEmpty(fileId)) { - throw new ToolException("None " + label + " file registered for individual/sample (" + individual.getId() + "/" - + sample.getId() + ")"); - } else { - OpenCGAResult fileResult = catalogManager.getFileManager().get(studyId, fileId, QueryOptions.empty(), token); - if (fileResult.getNumResults() == 0) { - throw new ToolException(label + " file ID '" + fileId + "' not found in OpenCGA catalog for individual/sample (" - + individual.getId() + "/" + sample.getId() + ")"); - } - } + // Check inferred sex analysis parameters + InferredSexAnalysis.checkParameters(individualId, sampleId, studyId, catalogManager, token); } public String getStudyId() { diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/variant/inferredSex/InferredSexAnalysis.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/variant/inferredSex/InferredSexAnalysis.java index 5af0792ac38..9e766accb7a 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/variant/inferredSex/InferredSexAnalysis.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/variant/inferredSex/InferredSexAnalysis.java @@ -16,19 +16,28 @@ package org.opencb.opencga.analysis.variant.inferredSex; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.opencb.biodata.models.clinical.qc.InferredSexReport; +import org.opencb.commons.datastore.core.QueryOptions; import org.opencb.opencga.analysis.AnalysisUtils; +import org.opencb.opencga.analysis.alignment.AlignmentConstants; +import org.opencb.opencga.analysis.individual.qc.IndividualQcUtils; import org.opencb.opencga.analysis.tools.OpenCgaTool; import org.opencb.opencga.catalog.exceptions.CatalogException; +import org.opencb.opencga.catalog.managers.CatalogManager; import org.opencb.opencga.core.common.JacksonUtils; import org.opencb.opencga.core.exceptions.ToolException; import org.opencb.opencga.core.models.common.Enums; import org.opencb.opencga.core.models.file.File; +import org.opencb.opencga.core.models.individual.Individual; +import org.opencb.opencga.core.models.sample.Sample; +import org.opencb.opencga.core.response.OpenCGAResult; import org.opencb.opencga.core.tools.annotations.Tool; import org.opencb.opencga.core.tools.variant.InferredSexAnalysisExecutor; import java.io.IOException; +import java.util.List; @Tool(id = InferredSexAnalysis.ID, resource = Enums.Resource.VARIANT, description = InferredSexAnalysis.DESCRIPTION) public class InferredSexAnalysis extends OpenCgaTool { @@ -38,27 +47,13 @@ public class InferredSexAnalysis extends OpenCgaTool { private String studyId; private String individualId; + private String sampleId; - public InferredSexAnalysis() { - } + // Internal members + private Individual individual; + private Sample sample; - /** - * Study of the samples. - * @param studyId Study ID - * @return this - */ - public InferredSexAnalysis setStudyId(String studyId) { - this.studyId = studyId; - return this; - } - - public String getIndividualId() { - return individualId; - } - - public InferredSexAnalysis setIndividualId(String individualId) { - this.individualId = individualId; - return this; + public InferredSexAnalysis() { } @Override @@ -76,18 +71,33 @@ protected void check() throws Exception { throw new ToolException(e); } - // Check individual and sample - if (StringUtils.isEmpty(individualId)) { - throw new ToolException("Missing individual ID."); - } + // Main check (this function is shared with the endpoint individual/qc/run) + checkParameters(individualId, sampleId, studyId, catalogManager, token); + + // Get individual + individual = IndividualQcUtils.getIndividualById(studyId, individualId, catalogManager, token); - // Check BAM and BW files for that individual/sample - File bamFile = AnalysisUtils.getBamFileBySampleId(individualId, studyId, getCatalogManager().getFileManager(), getToken()); - if (bamFile == null) { - throw new ToolException("BAM file not found for individual/sample '" + individualId + "'"); + // Get samples of that individual, but only germline samples + sample = null; + List childGermlineSamples = IndividualQcUtils.getValidGermlineSamplesByIndividualId(studyId, individualId, catalogManager, + token); + if (CollectionUtils.isEmpty(childGermlineSamples)) { + throw new ToolException("Germline sample not found for individual '" + individualId + "'"); } - if (!new java.io.File(bamFile.getUri().getPath() + ".bw").exists()) { - throw new ToolException("BigWig (BW) file not found for individual/sample '" + individualId + "'"); + + if (StringUtils.isNotEmpty(sampleId)) { + for (Sample germlineSample : childGermlineSamples) { + if (sampleId.equals(germlineSample.getId())) { + sample = germlineSample; + break; + } + } + if (sample == null) { + throw new ToolException("The provided sample '" + sampleId + "' not found in the individual '" + individualId + "'"); + } + } else { + // If multiple germline samples, we take the first one + sample = childGermlineSamples.get(0); } } @@ -98,7 +108,8 @@ protected void run() throws ToolException { InferredSexAnalysisExecutor inferredSexExecutor = getToolExecutor(InferredSexAnalysisExecutor.class); inferredSexExecutor.setStudyId(studyId) - .setIndividualId(individualId) + .setIndividualId(individual.getId()) + .setSampleId(sample.getId()) .execute(); // Get inferred sex report @@ -112,4 +123,90 @@ protected void run() throws ToolException { } }); } + + public static void checkParameters(String individualId, String sampleId, String studyId, CatalogManager catalogManager, String token) throws ToolException, CatalogException { + // Check individual and sample + if (StringUtils.isEmpty(individualId)) { + throw new ToolException("Missing individual ID"); + } + Individual individual = IndividualQcUtils.getIndividualById(studyId, individualId, catalogManager, token); + + // Get samples of that individual, but only germline samples + List childGermlineSamples = IndividualQcUtils.getValidGermlineSamplesByIndividualId(studyId, individualId, catalogManager, + token); + if (CollectionUtils.isEmpty(childGermlineSamples)) { + throw new ToolException("Germline sample not found for individual '" + individualId + "'"); + } + + Sample sample = null; + if (StringUtils.isNotEmpty(sampleId)) { + for (Sample germlineSample : childGermlineSamples) { + if (sampleId.equals(germlineSample.getId())) { + sample = germlineSample; + break; + } + } + if (sample == null) { + throw new ToolException("The provided sample '" + sampleId + "' not found in the individual '" + individualId + "'"); + } + } else { + // Taking the first sample + sample = childGermlineSamples.get(0); + } + + // Checking sample file BIGWIG required to compute inferred-sex + String bwFileId = null; + for (String fileId : sample.getFileIds()) { + if (fileId.endsWith(AlignmentConstants.BIGWIG_EXTENSION)) { + if (bwFileId != null) { + throw new ToolException("Multiple BIGWIG files found for individual/sample (" + individual.getId() + "/" + + sample.getId() + ")"); + } + bwFileId = fileId; + } + } + checkSampleFile(bwFileId, "BIGWIG", sample, individual, studyId, catalogManager, token); + } + + private static void checkSampleFile(String fileId, String label, Sample sample, Individual individual, String studyId, + CatalogManager catalogManager, String token) + throws ToolException, CatalogException { + if (StringUtils.isEmpty(fileId)) { + throw new ToolException("None " + label + " file registered for individual/sample (" + individual.getId() + "/" + + sample.getId() + ")"); + } else { + OpenCGAResult fileResult = catalogManager.getFileManager().get(studyId, fileId, QueryOptions.empty(), token); + if (fileResult.getNumResults() == 0) { + throw new ToolException(label + " file ID '" + fileId + "' not found in OpenCGA catalog for individual/sample (" + + individual.getId() + "/" + sample.getId() + ")"); + } + } + } + /** + * Study of the samples. + * @param studyId Study ID + * @return this + */ + public InferredSexAnalysis setStudyId(String studyId) { + this.studyId = studyId; + return this; + } + + public String getIndividualId() { + return individualId; + } + + public InferredSexAnalysis setIndividualId(String individualId) { + this.individualId = individualId; + return this; + } + + public String getSampleId() { + return sampleId; + } + + public InferredSexAnalysis setSampleId(String sampleId) { + this.sampleId = sampleId; + return this; + } } diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/variant/inferredSex/InferredSexLocalAnalysisExecutor.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/variant/inferredSex/InferredSexLocalAnalysisExecutor.java index 8f773912f1b..228024dff15 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/variant/inferredSex/InferredSexLocalAnalysisExecutor.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/variant/inferredSex/InferredSexLocalAnalysisExecutor.java @@ -25,8 +25,6 @@ import org.opencb.opencga.analysis.individual.qc.IndividualQcUtils; import org.opencb.opencga.analysis.individual.qc.InferredSexComputation; import org.opencb.opencga.catalog.exceptions.CatalogException; -import org.opencb.opencga.catalog.managers.CatalogManager; -import org.opencb.opencga.catalog.managers.FileManager; import org.opencb.opencga.core.common.JacksonUtils; import org.opencb.opencga.core.exceptions.ToolException; import org.opencb.opencga.core.models.file.File; @@ -36,68 +34,66 @@ import java.io.IOException; import java.nio.file.Path; import java.nio.file.Paths; -import java.util.ArrayList; +import java.util.Collections; import java.util.HashMap; -import java.util.List; import java.util.Map; +import static org.opencb.opencga.core.tools.variant.IndividualQcAnalysisExecutor.COVERAGE_RATIO_INFERRED_SEX_METHOD; + @ToolExecutor(id = "opencga-local", tool = InferredSexAnalysis.ID, framework = ToolExecutor.Framework.LOCAL, source = ToolExecutor.Source.STORAGE) public class InferredSexLocalAnalysisExecutor extends InferredSexAnalysisExecutor implements StorageToolExecutor { @Override public void run() throws ToolException { - // IMPORTANT: we assume sample and individual have the same ID - AlignmentStorageManager alignmentStorageManager = getAlignmentStorageManager(); - CatalogManager catalogManager = alignmentStorageManager.getCatalogManager(); - FileManager fileManager = catalogManager.getFileManager(); - String assembly; + File bwFile = AnalysisUtils.getBwFileBySampleId(sampleId, getStudyId(), getVariantStorageManager().getCatalogManager().getFileManager(), + getToken()); - // Get alignment file by individual - File inferredSexBamFile = AnalysisUtils.getBamFileBySampleId(getIndividualId(), getStudyId(), fileManager, getToken()); - if (inferredSexBamFile == null) { - throw new ToolException("Alignment file not found for the individual/sample '" + getIndividualId() + "'"); + if (bwFile == null) { + throw new ToolException("BIGWIG file not found for sample '" + sampleId + "' of individual '" + individualId + "'"); } - // Ge assembly + // Get managers + AlignmentStorageManager alignmentStorageManager = getAlignmentStorageManager(); + + // Get assembly + String assembly; try { assembly = IndividualQcUtils.getAssembly(getStudyId(), alignmentStorageManager.getCatalogManager(), getToken()); } catch (CatalogException e) { throw new ToolException(e); } + // Infer the sex for that sample // Compute ratios: X-chrom / autosomic-chroms and Y-chrom / autosomic-chroms - double[] ratios = InferredSexComputation.computeRatios(getStudyId(), inferredSexBamFile, assembly, alignmentStorageManager, - getToken()); + double[] ratios = InferredSexComputation.computeRatios(studyId, bwFile, assembly, alignmentStorageManager, getToken()); + // Infer sex from ratios double xAuto = ratios[0]; double yAuto = ratios[1]; - // Read the karyotypic sex tyhresholds - String inferredKaryotypicSex = "UNKNOWN"; Map karyotypicSexThresholds = new HashMap<>(); + String opencgaHome = getExecutorParams().getString("opencgaHome"); + Path thresholdsPath = Paths.get(opencgaHome).resolve("analysis").resolve(IndividualQcAnalysis.ID) + .resolve("karyotypic_sex_thresholds.json"); try { - String opencgaHome = getExecutorParams().getString("opencgaHome"); - Path thresholdsPath = Paths.get(opencgaHome).resolve("analysis").resolve(IndividualQcAnalysis.ID) - .resolve("karyotypic_sex_thresholds.json"); karyotypicSexThresholds = JacksonUtils.getDefaultNonNullObjectMapper().readerFor(Map.class).readValue(thresholdsPath.toFile()); } catch (IOException e) { - addWarning("Skipping inferring karyotypic sex: something wrong happened when loading the karyotypic sex thresholds file" - + " (karyotypic_sex_thresholds.json)"); + throw new ToolException("Skipping inferring karyotypic sex: something wrong happened when loading the karyotypic sex" + + " thresholds file: " + thresholdsPath); } - if (MapUtils.isNotEmpty(karyotypicSexThresholds)) { - inferredKaryotypicSex = InferredSexComputation.inferKaryotypicSex(xAuto, yAuto, karyotypicSexThresholds); + if (MapUtils.isEmpty(karyotypicSexThresholds)) { + throw new ToolException("Impossible to infer karyotypic sex beacause sex thresholds are empty: " + thresholdsPath); } + String inferredKaryotypicSex = InferredSexComputation.inferKaryotypicSex(xAuto, yAuto, karyotypicSexThresholds); - // Set inferred sex report: ratios and files + // Set coverage ratio Map values = new HashMap<>(); values.put("ratioX", xAuto); values.put("ratioY", yAuto); - List reportedFiles = new ArrayList<>(); - reportedFiles.add(inferredSexBamFile.getName()); - reportedFiles.add(inferredSexBamFile.getName() + ".bw"); - - setInferredSexReport(new InferredSexReport(getIndividualId(), "CoverageRatio", inferredKaryotypicSex, values, reportedFiles)); + // Set inferred sex report (individual fields will be set later) + inferredSexReport = new InferredSexReport(sampleId, COVERAGE_RATIO_INFERRED_SEX_METHOD, inferredKaryotypicSex, values, + Collections.singletonList(bwFile.getId())); } } diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/executors/VariantInternalCommandExecutor.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/executors/VariantInternalCommandExecutor.java index 7d3f514a745..e502850d9ee 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/executors/VariantInternalCommandExecutor.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/internal/executors/VariantInternalCommandExecutor.java @@ -887,6 +887,7 @@ private void inferredSex() throws Exception { variantCommandOptions.internalJobOptions.jobId, token); inferredSexAnalysis.setStudyId(cliOptions.study) .setIndividualId(cliOptions.individual) + .setSampleId(cliOptions.sample) .start(); } diff --git a/opencga-core/src/main/java/org/opencb/opencga/core/models/variant/IndividualQcAnalysisParams.java b/opencga-core/src/main/java/org/opencb/opencga/core/models/variant/IndividualQcAnalysisParams.java index bf369da67bd..e06fdf09b6e 100644 --- a/opencga-core/src/main/java/org/opencb/opencga/core/models/variant/IndividualQcAnalysisParams.java +++ b/opencga-core/src/main/java/org/opencb/opencga/core/models/variant/IndividualQcAnalysisParams.java @@ -23,7 +23,7 @@ public class IndividualQcAnalysisParams extends ToolParams { public static final String DESCRIPTION = "Individual QC analysis params"; - + @DataField(id = "individual", description = FieldConstants.INDIVIDUAL_QC_INDIVIDUAL_ID_DESCRIPTION) private String individual; diff --git a/opencga-core/src/main/java/org/opencb/opencga/core/models/variant/InferredSexAnalysisParams.java b/opencga-core/src/main/java/org/opencb/opencga/core/models/variant/InferredSexAnalysisParams.java index bf3fda5bb97..f927fea73ae 100644 --- a/opencga-core/src/main/java/org/opencb/opencga/core/models/variant/InferredSexAnalysisParams.java +++ b/opencga-core/src/main/java/org/opencb/opencga/core/models/variant/InferredSexAnalysisParams.java @@ -16,14 +16,22 @@ package org.opencb.opencga.core.models.variant; +import org.opencb.commons.annotations.DataField; +import org.opencb.opencga.core.api.FieldConstants; import org.opencb.opencga.core.tools.ToolParams; import java.util.List; public class InferredSexAnalysisParams extends ToolParams { public static final String DESCRIPTION = "Inferred sex analysis params"; + + @DataField(id = "individual", description = FieldConstants.INDIVIDUAL_QC_INDIVIDUAL_ID_DESCRIPTION) private String individual; + + @DataField(id = "sample", description = FieldConstants.INDIVIDUAL_QC_SAMPLE_ID_DESCRIPTION) private String sample; + + @DataField(id = "outdir", description = FieldConstants.JOB_OUT_DIR_DESCRIPTION) private String outdir; public InferredSexAnalysisParams() { diff --git a/opencga-core/src/main/java/org/opencb/opencga/core/tools/variant/InferredSexAnalysisExecutor.java b/opencga-core/src/main/java/org/opencb/opencga/core/tools/variant/InferredSexAnalysisExecutor.java index 945914de376..d8ac8b488f0 100644 --- a/opencga-core/src/main/java/org/opencb/opencga/core/tools/variant/InferredSexAnalysisExecutor.java +++ b/opencga-core/src/main/java/org/opencb/opencga/core/tools/variant/InferredSexAnalysisExecutor.java @@ -24,10 +24,11 @@ public abstract class InferredSexAnalysisExecutor extends OpenCgaToolExecutor { - private String studyId; - private String individualId; + protected String studyId; + protected String individualId; + protected String sampleId; - private InferredSexReport inferredSexReport; + protected InferredSexReport inferredSexReport; public InferredSexAnalysisExecutor() { } @@ -50,6 +51,15 @@ public InferredSexAnalysisExecutor setIndividualId(String individualId) { return this; } + public String getSampleId() { + return sampleId; + } + + public InferredSexAnalysisExecutor setSampleId(String sampleId) { + this.sampleId = sampleId; + return this; + } + public InferredSexReport getInferredSexReport() { return inferredSexReport; } diff --git a/opencga-server/src/main/java/org/opencb/opencga/server/rest/analysis/VariantWebService.java b/opencga-server/src/main/java/org/opencb/opencga/server/rest/analysis/VariantWebService.java index ad667f6ba30..e8ca41e1283 100644 --- a/opencga-server/src/main/java/org/opencb/opencga/server/rest/analysis/VariantWebService.java +++ b/opencga-server/src/main/java/org/opencb/opencga/server/rest/analysis/VariantWebService.java @@ -1081,7 +1081,13 @@ public Response inferredSexRun( @ApiParam(value = ParamConstants.JOB_DEPENDS_ON_DESCRIPTION) @QueryParam(JOB_DEPENDS_ON) String dependsOn, @ApiParam(value = ParamConstants.JOB_TAGS_DESCRIPTION) @QueryParam(ParamConstants.JOB_TAGS) String jobTags, @ApiParam(value = InferredSexAnalysisParams.DESCRIPTION, required = true) InferredSexAnalysisParams params) { - return submitJob(InferredSexAnalysis.ID, study, params, jobName, jobDescription, dependsOn, jobTags); + return run(() -> { + // Check before submitting the job + InferredSexAnalysis.checkParameters(params.getIndividual(), params.getSample(), study, catalogManager, token); + + // Submit the inferred sex analysis + return submitJobRaw(InferredSexAnalysis.ID, null, study, params, jobName, jobDescription, dependsOn, jobTags); + }); } @POST From dfa34005384678a72cb1d7cb2194c5d0fd24b15d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20T=C3=A1rraga=20Gim=C3=A9nez?= Date: Wed, 14 Feb 2024 14:33:20 +0100 Subject: [PATCH 30/89] client: generate clients, #TASK-5645 --- .../options/AnalysisVariantCommandOptions.java | 6 +++--- opencga-client/src/main/R/R/AllGenerics.R | 18 +++++++++--------- opencga-client/src/main/R/R/Clinical-methods.R | 2 +- opencga-client/src/main/R/R/Cohort-methods.R | 2 +- opencga-client/src/main/R/R/Family-methods.R | 2 +- opencga-client/src/main/R/R/File-methods.R | 2 +- .../src/main/R/R/Individual-methods.R | 2 +- opencga-client/src/main/R/R/Job-methods.R | 2 +- opencga-client/src/main/R/R/Sample-methods.R | 2 +- opencga-client/src/main/R/R/Study-methods.R | 2 +- opencga-client/src/main/R/R/User-methods.R | 2 +- 11 files changed, 21 insertions(+), 21 deletions(-) diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/AnalysisVariantCommandOptions.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/AnalysisVariantCommandOptions.java index 7567d98060c..ed53b2c1ded 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/AnalysisVariantCommandOptions.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/AnalysisVariantCommandOptions.java @@ -1215,13 +1215,13 @@ public class RunInferredSexCommandOptions { @Parameter(names = {"--job-tags"}, description = "Job tags", required = false, arity = 1) public String jobTags; - @Parameter(names = {"--individual"}, description = "The body web service individual parameter", required = false, arity = 1) + @Parameter(names = {"--individual"}, description = "Individual ID", required = false, arity = 1) public String individual; - @Parameter(names = {"--sample"}, description = "The body web service sample parameter", required = false, arity = 1) + @Parameter(names = {"--sample"}, description = "Sample ID (required when the individual has multiple samples)", required = false, arity = 1) public String sample; - @Parameter(names = {"--outdir"}, description = "The body web service outdir parameter", required = false, arity = 1) + @Parameter(names = {"--outdir"}, description = "Output dir for the job.", required = false, arity = 1) public String outdir; } diff --git a/opencga-client/src/main/R/R/AllGenerics.R b/opencga-client/src/main/R/R/AllGenerics.R index c908457c56c..f9fdb51fe6f 100644 --- a/opencga-client/src/main/R/R/AllGenerics.R +++ b/opencga-client/src/main/R/R/AllGenerics.R @@ -1,6 +1,6 @@ # ############################################################################## ## UserClient -setGeneric("userClient", function(OpencgaR, filterId, users, user, endpointName, params=NULL, ...) +setGeneric("userClient", function(OpencgaR, user, users, filterId, endpointName, params=NULL, ...) standardGeneric("userClient")) # ############################################################################## @@ -10,37 +10,37 @@ setGeneric("projectClient", function(OpencgaR, project, projects, endpointName, # ############################################################################## ## StudyClient -setGeneric("studyClient", function(OpencgaR, studies, study, templateId, group, members, variableSet, endpointName, params=NULL, ...) +setGeneric("studyClient", function(OpencgaR, group, variableSet, studies, templateId, study, members, endpointName, params=NULL, ...) standardGeneric("studyClient")) # ############################################################################## ## FileClient -setGeneric("fileClient", function(OpencgaR, annotationSet, files, file, folder, members, endpointName, params=NULL, ...) +setGeneric("fileClient", function(OpencgaR, folder, annotationSet, file, files, members, endpointName, params=NULL, ...) standardGeneric("fileClient")) # ############################################################################## ## JobClient -setGeneric("jobClient", function(OpencgaR, members, job, jobs, endpointName, params=NULL, ...) +setGeneric("jobClient", function(OpencgaR, job, members, jobs, endpointName, params=NULL, ...) standardGeneric("jobClient")) # ############################################################################## ## SampleClient -setGeneric("sampleClient", function(OpencgaR, members, sample, annotationSet, samples, endpointName, params=NULL, ...) +setGeneric("sampleClient", function(OpencgaR, samples, annotationSet, members, sample, endpointName, params=NULL, ...) standardGeneric("sampleClient")) # ############################################################################## ## IndividualClient -setGeneric("individualClient", function(OpencgaR, individual, members, annotationSet, individuals, endpointName, params=NULL, ...) +setGeneric("individualClient", function(OpencgaR, individuals, members, annotationSet, individual, endpointName, params=NULL, ...) standardGeneric("individualClient")) # ############################################################################## ## FamilyClient -setGeneric("familyClient", function(OpencgaR, members, families, annotationSet, family, endpointName, params=NULL, ...) +setGeneric("familyClient", function(OpencgaR, families, family, members, annotationSet, endpointName, params=NULL, ...) standardGeneric("familyClient")) # ############################################################################## ## CohortClient -setGeneric("cohortClient", function(OpencgaR, members, cohorts, annotationSet, cohort, endpointName, params=NULL, ...) +setGeneric("cohortClient", function(OpencgaR, cohort, members, annotationSet, cohorts, endpointName, params=NULL, ...) standardGeneric("cohortClient")) # ############################################################################## @@ -60,7 +60,7 @@ setGeneric("variantClient", function(OpencgaR, endpointName, params=NULL, ...) # ############################################################################## ## ClinicalClient -setGeneric("clinicalClient", function(OpencgaR, interpretations, clinicalAnalyses, annotationSet, clinicalAnalysis, interpretation, members, endpointName, params=NULL, ...) +setGeneric("clinicalClient", function(OpencgaR, interpretation, clinicalAnalysis, interpretations, annotationSet, clinicalAnalyses, members, endpointName, params=NULL, ...) standardGeneric("clinicalClient")) # ############################################################################## diff --git a/opencga-client/src/main/R/R/Clinical-methods.R b/opencga-client/src/main/R/R/Clinical-methods.R index 5c2ef17f033..ecd04d6d74d 100644 --- a/opencga-client/src/main/R/R/Clinical-methods.R +++ b/opencga-client/src/main/R/R/Clinical-methods.R @@ -61,7 +61,7 @@ #' [*]: Required parameter #' @export -setMethod("clinicalClient", "OpencgaR", function(OpencgaR, interpretations, clinicalAnalyses, annotationSet, clinicalAnalysis, interpretation, members, endpointName, params=NULL, ...) { +setMethod("clinicalClient", "OpencgaR", function(OpencgaR, interpretation, clinicalAnalysis, interpretations, annotationSet, clinicalAnalyses, members, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/analysis/clinical/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/Cohort-methods.R b/opencga-client/src/main/R/R/Cohort-methods.R index 3d8b8e10c27..b4cbb071860 100644 --- a/opencga-client/src/main/R/R/Cohort-methods.R +++ b/opencga-client/src/main/R/R/Cohort-methods.R @@ -39,7 +39,7 @@ #' [*]: Required parameter #' @export -setMethod("cohortClient", "OpencgaR", function(OpencgaR, members, cohorts, annotationSet, cohort, endpointName, params=NULL, ...) { +setMethod("cohortClient", "OpencgaR", function(OpencgaR, cohort, members, annotationSet, cohorts, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/cohorts/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/Family-methods.R b/opencga-client/src/main/R/R/Family-methods.R index b12c02ab68e..9f965314e0f 100644 --- a/opencga-client/src/main/R/R/Family-methods.R +++ b/opencga-client/src/main/R/R/Family-methods.R @@ -38,7 +38,7 @@ #' [*]: Required parameter #' @export -setMethod("familyClient", "OpencgaR", function(OpencgaR, members, families, annotationSet, family, endpointName, params=NULL, ...) { +setMethod("familyClient", "OpencgaR", function(OpencgaR, families, family, members, annotationSet, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/families/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/File-methods.R b/opencga-client/src/main/R/R/File-methods.R index f62ce5bb187..fd0ad7f691c 100644 --- a/opencga-client/src/main/R/R/File-methods.R +++ b/opencga-client/src/main/R/R/File-methods.R @@ -54,7 +54,7 @@ #' [*]: Required parameter #' @export -setMethod("fileClient", "OpencgaR", function(OpencgaR, annotationSet, files, file, folder, members, endpointName, params=NULL, ...) { +setMethod("fileClient", "OpencgaR", function(OpencgaR, folder, annotationSet, file, files, members, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/files/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/Individual-methods.R b/opencga-client/src/main/R/R/Individual-methods.R index f7a3fe0f3f7..72d5e0839dc 100644 --- a/opencga-client/src/main/R/R/Individual-methods.R +++ b/opencga-client/src/main/R/R/Individual-methods.R @@ -39,7 +39,7 @@ #' [*]: Required parameter #' @export -setMethod("individualClient", "OpencgaR", function(OpencgaR, individual, members, annotationSet, individuals, endpointName, params=NULL, ...) { +setMethod("individualClient", "OpencgaR", function(OpencgaR, individuals, members, annotationSet, individual, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/individuals/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/Job-methods.R b/opencga-client/src/main/R/R/Job-methods.R index 7761fdb1f19..edfb52fbaff 100644 --- a/opencga-client/src/main/R/R/Job-methods.R +++ b/opencga-client/src/main/R/R/Job-methods.R @@ -40,7 +40,7 @@ #' [*]: Required parameter #' @export -setMethod("jobClient", "OpencgaR", function(OpencgaR, members, job, jobs, endpointName, params=NULL, ...) { +setMethod("jobClient", "OpencgaR", function(OpencgaR, job, members, jobs, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/jobs/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/Sample-methods.R b/opencga-client/src/main/R/R/Sample-methods.R index 63e6023a938..c5f0bbd3357 100644 --- a/opencga-client/src/main/R/R/Sample-methods.R +++ b/opencga-client/src/main/R/R/Sample-methods.R @@ -39,7 +39,7 @@ #' [*]: Required parameter #' @export -setMethod("sampleClient", "OpencgaR", function(OpencgaR, members, sample, annotationSet, samples, endpointName, params=NULL, ...) { +setMethod("sampleClient", "OpencgaR", function(OpencgaR, samples, annotationSet, members, sample, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/samples/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/Study-methods.R b/opencga-client/src/main/R/R/Study-methods.R index 592ed32d46e..c86c0da79b1 100644 --- a/opencga-client/src/main/R/R/Study-methods.R +++ b/opencga-client/src/main/R/R/Study-methods.R @@ -46,7 +46,7 @@ #' [*]: Required parameter #' @export -setMethod("studyClient", "OpencgaR", function(OpencgaR, studies, study, templateId, group, members, variableSet, endpointName, params=NULL, ...) { +setMethod("studyClient", "OpencgaR", function(OpencgaR, group, variableSet, studies, templateId, study, members, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/studies/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/User-methods.R b/opencga-client/src/main/R/R/User-methods.R index 103705a8c27..fb403c674e6 100644 --- a/opencga-client/src/main/R/R/User-methods.R +++ b/opencga-client/src/main/R/R/User-methods.R @@ -38,7 +38,7 @@ #' [*]: Required parameter #' @export -setMethod("userClient", "OpencgaR", function(OpencgaR, filterId, users, user, endpointName, params=NULL, ...) { +setMethod("userClient", "OpencgaR", function(OpencgaR, user, users, filterId, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/users/login: From 2a1bffa858ed01960e22af99043d5fdefa729ff2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Coll=20Morag=C3=B3n?= Date: Wed, 14 Feb 2024 17:31:49 +0000 Subject: [PATCH 31/89] test: Fix tests reading file clinical_analyses.json.gz #TASK-5663 --- .../analysis/variant/VariantAnalysisTest.java | 13 +++++-------- .../managers/ClinicalAnalysisManagerTest.java | 9 ++++++--- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/opencga-analysis/src/test/java/org/opencb/opencga/analysis/variant/VariantAnalysisTest.java b/opencga-analysis/src/test/java/org/opencb/opencga/analysis/variant/VariantAnalysisTest.java index 621239dcbf1..28809527771 100644 --- a/opencga-analysis/src/test/java/org/opencb/opencga/analysis/variant/VariantAnalysisTest.java +++ b/opencga-analysis/src/test/java/org/opencb/opencga/analysis/variant/VariantAnalysisTest.java @@ -71,7 +71,6 @@ import org.opencb.opencga.core.models.common.AnnotationSet; import org.opencb.opencga.core.models.family.Family; import org.opencb.opencga.core.models.file.File; -import org.opencb.opencga.core.models.file.FileLinkParams; import org.opencb.opencga.core.models.individual.Individual; import org.opencb.opencga.core.models.individual.IndividualInternal; import org.opencb.opencga.core.models.individual.Location; @@ -98,10 +97,7 @@ import org.opencb.opencga.storage.hadoop.variant.VariantHbaseTestUtils; import org.opencb.opencga.storage.hadoop.variant.adaptors.VariantHadoopDBAdaptor; -import java.io.BufferedReader; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStreamReader; +import java.io.*; import java.net.URI; import java.nio.file.Files; import java.nio.file.Path; @@ -1070,10 +1066,11 @@ public void testPedigreeGraph() throws CatalogException { @Test public void testClinicalAnalysisLoading() throws IOException, ToolException, CatalogException { String fileStr = "clinical_analyses.json.gz"; + File file; + try (InputStream stream = getClass().getResourceAsStream("/biofiles/" + fileStr)) { + file = catalogManager.getFileManager().upload(CANCER_STUDY, stream, new File().setPath("biofiles/" + fileStr), false, true, false, token).first(); + } - String gzFile = getClass().getResource("/biofiles/" + fileStr).getFile(); - File file = catalogManager.getFileManager().link(CANCER_STUDY, new FileLinkParams(gzFile, "ca", "", "", null, null, null, null, - null), true, token).first(); System.out.println("file ID = " + file.getId()); System.out.println("file name = " + file.getName()); diff --git a/opencga-catalog/src/test/java/org/opencb/opencga/catalog/managers/ClinicalAnalysisManagerTest.java b/opencga-catalog/src/test/java/org/opencb/opencga/catalog/managers/ClinicalAnalysisManagerTest.java index 3366d79a17f..ae596b7df45 100644 --- a/opencga-catalog/src/test/java/org/opencb/opencga/catalog/managers/ClinicalAnalysisManagerTest.java +++ b/opencga-catalog/src/test/java/org/opencb/opencga/catalog/managers/ClinicalAnalysisManagerTest.java @@ -73,6 +73,7 @@ import org.opencb.opencga.core.testclassification.duration.MediumTests; import java.io.IOException; +import java.io.InputStream; import java.nio.file.Path; import java.nio.file.Paths; import java.util.*; @@ -3685,9 +3686,11 @@ public void fetchCasesWithSameProbandAndDifferentSample() throws CatalogExceptio @Test public void loadClinicalAnalysesTest() throws CatalogException, IOException { - String gzFile = getClass().getResource("/biofiles/clinical_analyses.json.gz").getFile(); - File file = catalogManager.getFileManager().link(STUDY, new FileLinkParams(gzFile, "", "", "", null, null, null, null, - null), false, sessionIdUser).first(); + String fileStr = "clinical_analyses.json.gz"; + File file; + try (InputStream stream = getClass().getResourceAsStream("/biofiles/" + fileStr)) { + file = catalogManager.getFileManager().upload(STUDY, stream, new File().setPath("biofiles/" + fileStr), false, true, false, sessionIdUser).first(); + } Path filePath = Paths.get(file.getUri()); From c3e001164cd46be9be7b52a5d77775f2768db960 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20T=C3=A1rraga=20Gim=C3=A9nez?= Date: Thu, 15 Feb 2024 07:54:53 +0100 Subject: [PATCH 32/89] analysis: alignment index tries to copy the the BAI into the BAM folder; and set related file ALIGNMENT, #TASK-5645 --- .../alignment/AlignmentAnalysisUtils.java | 29 ++++++++++----- .../alignment/AlignmentIndexOperation.java | 37 ++++++++++++++----- .../core/models/file/FileRelatedFile.java | 3 +- 3 files changed, 49 insertions(+), 20 deletions(-) diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentAnalysisUtils.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentAnalysisUtils.java index 9baf3398753..ef86b403779 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentAnalysisUtils.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentAnalysisUtils.java @@ -20,17 +20,16 @@ import org.opencb.opencga.catalog.exceptions.CatalogException; import org.opencb.opencga.catalog.managers.CatalogManager; import org.opencb.opencga.core.exceptions.ToolException; -import org.opencb.opencga.core.models.file.File; -import org.opencb.opencga.core.models.file.FileLinkParams; -import org.opencb.opencga.core.models.file.FileUpdateParams; +import org.opencb.opencga.core.models.file.*; import org.opencb.opencga.core.response.OpenCGAResult; import java.nio.file.Path; import java.nio.file.Paths; +import java.util.Collections; public class AlignmentAnalysisUtils { - public static void linkAndUpdate(File bamCatalogFile, Path outPath, String study, CatalogManager catalogManager, String token) + public static File linkAndUpdate(File bamCatalogFile, Path outPath, String study, CatalogManager catalogManager, String token) throws CatalogException, ToolException { // Link BW file and update sample info FileLinkParams fileLinkParams = new FileLinkParams().setUri(outPath.toString()); @@ -41,13 +40,25 @@ public static void linkAndUpdate(File bamCatalogFile, Path outPath, String study if (fileResult.getNumResults() != 1) { throw new ToolException("It could not link OpenCGA file catalog file for '" + outPath + "'"); } - FileUpdateParams updateParams = new FileUpdateParams().setSampleIds(bamCatalogFile.getSampleIds()); - catalogManager.getFileManager().update(study, fileResult.first().getId(), updateParams, null, token); - fileResult = catalogManager.getFileManager().get(study, fileResult.first().getId(), QueryOptions.empty(), token); + File outCatalogFile = fileResult.first(); + FileUpdateParams updateParams = new FileUpdateParams() + .setSampleIds(bamCatalogFile.getSampleIds()) + .setRelatedFiles(Collections.singletonList(new SmallRelatedFileParams() + .setFile(bamCatalogFile.getId()) + .setRelation(FileRelatedFile.Relation.ALIGNMENT))); + try { + catalogManager.getFileManager().update(study, outCatalogFile.getId(), updateParams, null, token); + } catch (CatalogException e) { + catalogManager.getFileManager().unlink(study, outCatalogFile.getId(), token); + throw e; + } + // Checking update + fileResult = catalogManager.getFileManager().get(study, outCatalogFile.getId(), QueryOptions.empty(), token); if (!fileResult.first().getSampleIds().equals(bamCatalogFile.getSampleIds())) { - throw new ToolException("It could not update sample IDS within the OpenCGA BAI file catalog (" + fileResult.first().getId() + catalogManager.getFileManager().unlink(study, outCatalogFile.getId(), token); + throw new ToolException("It could not update sample IDS within the OpenCGA BAI file catalog (" + outCatalogFile.getId() + ") with the samples info from '" + bamCatalogFile.getId() + "'"); } + return outCatalogFile; } - } diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentIndexOperation.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentIndexOperation.java index 713a449c49e..e207cd9e0f0 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentIndexOperation.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentIndexOperation.java @@ -16,25 +16,20 @@ package org.opencb.opencga.analysis.alignment; -import org.apache.commons.lang3.StringUtils; import org.opencb.biodata.tools.alignment.BamManager; -import org.opencb.commons.datastore.core.DataResult; -import org.opencb.commons.datastore.core.Query; import org.opencb.commons.datastore.core.QueryOptions; import org.opencb.opencga.analysis.tools.OpenCgaTool; -import org.opencb.opencga.catalog.db.api.FileDBAdaptor; import org.opencb.opencga.catalog.exceptions.CatalogException; import org.opencb.opencga.core.exceptions.ToolException; import org.opencb.opencga.core.models.common.Enums; -import org.opencb.opencga.core.models.file.File; -import org.opencb.opencga.core.models.file.FileLinkParams; -import org.opencb.opencga.core.models.file.FileUpdateParams; +import org.opencb.opencga.core.models.common.InternalStatus; +import org.opencb.opencga.core.models.file.*; import org.opencb.opencga.core.response.OpenCGAResult; import org.opencb.opencga.core.tools.annotations.Tool; +import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; -import java.util.Arrays; @Tool(id = AlignmentIndexOperation.ID, resource = Enums.Resource.ALIGNMENT, description = "Index alignment.") public class AlignmentIndexOperation extends OpenCgaTool { @@ -89,10 +84,32 @@ protected void run() throws Exception { if (!outputPath.toFile().exists()) { throw new ToolException("Something wrong happened when computing index file for '" + inputFile + "'"); } - logger.info("Alignment index at {}", outputPath); + + // Try to copy the BAI file into the BAM file directory + Path targetPath = inputPath.getParent().resolve(outputPath.getFileName()); + try { + Files.move(outputPath, targetPath); + } catch (Exception e) { + // Do nothing + logger.info("Moving from {} to {}: {}", outputPath, targetPath, e.getMessage()); + } + + if (targetPath.toFile().exists()) { + outputPath = targetPath; + logger.info("Alignment index file was copied into the BAM folder: {}", outputPath); + } else { + logger.info("Couldn't copy the alignment index file into the BAM folder. The index file is in the job folder instead: {}", + outputPath); + } // Link generated BAI file and update samples info - AlignmentAnalysisUtils.linkAndUpdate(inputCatalogFile, outputPath, study, catalogManager, token); + File baiCatalogFile = AlignmentAnalysisUtils.linkAndUpdate(inputCatalogFile, outputPath, study, catalogManager, token); + + // TODO: Update BAM file internal in order to set the alignment index (BAI) +// FileInternalAlignmentIndex fileAlignmentIndex = new FileInternalAlignmentIndex(new InternalStatus(InternalStatus.READY), +// baiCatalogFile.getId(), "HTSJDK library"); +// FileUpdateParams updateParams = new FileUpdateParams(); +// catalogManager.getFileManager().update(study, inputCatalogFile.getId(), updateParams, null, token); }); } diff --git a/opencga-core/src/main/java/org/opencb/opencga/core/models/file/FileRelatedFile.java b/opencga-core/src/main/java/org/opencb/opencga/core/models/file/FileRelatedFile.java index 52d224d9855..822eb941168 100644 --- a/opencga-core/src/main/java/org/opencb/opencga/core/models/file/FileRelatedFile.java +++ b/opencga-core/src/main/java/org/opencb/opencga/core/models/file/FileRelatedFile.java @@ -29,7 +29,8 @@ public enum Relation { PRODUCED_FROM, PART_OF_PAIR, PEDIGREE, - REFERENCE_GENOME + REFERENCE_GENOME, + ALIGNMENT } public FileRelatedFile() { From 85e9483c2dee59376312aea5c950992f2016c15a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20T=C3=A1rraga=20Gim=C3=A9nez?= Date: Thu, 15 Feb 2024 09:41:42 +0100 Subject: [PATCH 33/89] analysis: coverage analysis tries to copy the the BW into the BAM folder; and set related file ALIGNMENT, #TASK-5645 --- .../alignment/AlignmentCoverageAnalysis.java | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentCoverageAnalysis.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentCoverageAnalysis.java index 24f3adec632..4daed065a23 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentCoverageAnalysis.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentCoverageAnalysis.java @@ -31,7 +31,9 @@ import org.opencb.opencga.core.exceptions.ToolException; import org.opencb.opencga.core.models.alignment.CoverageIndexParams; import org.opencb.opencga.core.models.common.Enums; +import org.opencb.opencga.core.models.common.InternalStatus; import org.opencb.opencga.core.models.file.File; +import org.opencb.opencga.core.models.file.FileInternalAlignmentIndex; import org.opencb.opencga.core.models.file.FileLinkParams; import org.opencb.opencga.core.models.file.FileUpdateParams; import org.opencb.opencga.core.response.OpenCGAResult; @@ -164,7 +166,23 @@ protected void run() throws Exception { throw new ToolException("Something wrong happened running a coverage: BigWig file (" + bwPath.toFile().getName() + ") was not create, please, check log files."); } - logger.info("Coverage index at {}", bwPath); + + // Try to copy the BW file into the BAM file directory + Path targetPath = Paths.get(bamCatalogFile.getUri()).getParent().resolve(bwPath.getFileName()); + try { + Files.move(bwPath, targetPath); + } catch (Exception e) { + // Do nothing + logger.info("Moving from {} to {}: {}", bwPath, targetPath, e.getMessage()); + } + + if (targetPath.toFile().exists()) { + bwPath = targetPath; + logger.info("Coverage file was copied into the BAM folder: {}", bwPath); + } else { + logger.info("Couldn't copy the coverage file into the BAM folder. The coverage file is in the job folder instead: {}", + bwPath); + } // Link generated BIGWIG file and update samples info AlignmentAnalysisUtils.linkAndUpdate(bamCatalogFile, bwPath, study, catalogManager, token); From af0bf5400fe5d90815f679c77dc42e316c7d7c96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20T=C3=A1rraga=20Gim=C3=A9nez?= Date: Thu, 15 Feb 2024 11:40:45 +0100 Subject: [PATCH 34/89] analysis: save BAI in the file internal alignment index of BAM; and fix sonnar issues, #TASK-5645 --- .../alignment/AlignmentAnalysisUtils.java | 18 ++-- .../alignment/AlignmentCoverageAnalysis.java | 89 +++++-------------- .../alignment/AlignmentIndexOperation.java | 11 ++- .../individual/qc/IndividualQcAnalysis.java | 28 +++--- .../qc/IndividualQcLocalAnalysisExecutor.java | 1 - .../individual/qc/InferredSexComputation.java | 21 ++--- 6 files changed, 63 insertions(+), 105 deletions(-) diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentAnalysisUtils.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentAnalysisUtils.java index ef86b403779..cbd21b3df58 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentAnalysisUtils.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentAnalysisUtils.java @@ -16,7 +16,6 @@ package org.opencb.opencga.analysis.alignment; -import org.opencb.commons.datastore.core.QueryOptions; import org.opencb.opencga.catalog.exceptions.CatalogException; import org.opencb.opencga.catalog.managers.CatalogManager; import org.opencb.opencga.core.exceptions.ToolException; @@ -41,24 +40,25 @@ public static File linkAndUpdate(File bamCatalogFile, Path outPath, String study throw new ToolException("It could not link OpenCGA file catalog file for '" + outPath + "'"); } File outCatalogFile = fileResult.first(); + + // Updating file: samples, related file FileUpdateParams updateParams = new FileUpdateParams() .setSampleIds(bamCatalogFile.getSampleIds()) .setRelatedFiles(Collections.singletonList(new SmallRelatedFileParams() .setFile(bamCatalogFile.getId()) .setRelation(FileRelatedFile.Relation.ALIGNMENT))); try { - catalogManager.getFileManager().update(study, outCatalogFile.getId(), updateParams, null, token); + OpenCGAResult updateResult = catalogManager.getFileManager().update(study, outCatalogFile.getId(), updateParams, null, + token); + if (updateResult.getNumUpdated() != 1) { + catalogManager.getFileManager().unlink(study, outCatalogFile.getId(), token); + throw new ToolException("It could not update OpenCGA file catalog (" + outCatalogFile.getId() + + ") from alignment file ID '" + bamCatalogFile.getId() + "'"); + } } catch (CatalogException e) { catalogManager.getFileManager().unlink(study, outCatalogFile.getId(), token); throw e; } - // Checking update - fileResult = catalogManager.getFileManager().get(study, outCatalogFile.getId(), QueryOptions.empty(), token); - if (!fileResult.first().getSampleIds().equals(bamCatalogFile.getSampleIds())) { - catalogManager.getFileManager().unlink(study, outCatalogFile.getId(), token); - throw new ToolException("It could not update sample IDS within the OpenCGA BAI file catalog (" + outCatalogFile.getId() - + ") with the samples info from '" + bamCatalogFile.getId() + "'"); - } return outCatalogFile; } } diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentCoverageAnalysis.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentCoverageAnalysis.java index 4daed065a23..d008ff93e04 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentCoverageAnalysis.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentCoverageAnalysis.java @@ -16,27 +16,14 @@ package org.opencb.opencga.analysis.alignment; -import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.StringUtils; -import org.apache.hadoop.fs.FileUtil; -import org.opencb.commons.datastore.core.ObjectMap; -import org.opencb.commons.datastore.core.Query; import org.opencb.commons.datastore.core.QueryOptions; -import org.opencb.commons.datastore.core.QueryParam; import org.opencb.opencga.analysis.tools.OpenCgaToolScopeStudy; import org.opencb.opencga.analysis.wrappers.deeptools.DeeptoolsWrapperAnalysisExecutor; -import org.opencb.opencga.catalog.db.api.FileDBAdaptor; -import org.opencb.opencga.catalog.exceptions.CatalogException; -import org.opencb.opencga.core.api.ParamConstants; import org.opencb.opencga.core.exceptions.ToolException; import org.opencb.opencga.core.models.alignment.CoverageIndexParams; import org.opencb.opencga.core.models.common.Enums; -import org.opencb.opencga.core.models.common.InternalStatus; import org.opencb.opencga.core.models.file.File; -import org.opencb.opencga.core.models.file.FileInternalAlignmentIndex; -import org.opencb.opencga.core.models.file.FileLinkParams; -import org.opencb.opencga.core.models.file.FileUpdateParams; -import org.opencb.opencga.core.response.OpenCGAResult; import org.opencb.opencga.core.tools.annotations.Tool; import org.opencb.opencga.core.tools.annotations.ToolParams; @@ -72,7 +59,15 @@ protected void check() throws Exception { } // Checking BAM file ID - bamCatalogFile = getFile(coverageParams.getBamFileId(), "BAM"); + try { + bamCatalogFile = catalogManager.getFileManager().get(getStudy(), coverageParams.getBamFileId(), QueryOptions.empty(), + getToken()).first(); + if (bamCatalogFile == null) { + throw new ToolException("Could not find BAM file from ID '" + coverageParams.getBamFileId() + "'"); + } + } catch (Exception e) { + throw new ToolException("Could not get BAM file from ID " + coverageParams.getBamFileId()); + } // Check if the input file is .bam if (!bamCatalogFile.getName().endsWith(AlignmentConstants.BAM_EXTENSION)) { @@ -81,20 +76,26 @@ protected void check() throws Exception { } // Getting BAI file - if (StringUtils.isEmpty(coverageParams.getBaiFileId())) { + String baiFileId = coverageParams.getBaiFileId(); + if (StringUtils.isEmpty(baiFileId)) { // BAI file ID was not provided, looking for it - baiCatalogFile = getBaiFile(bamCatalogFile.getName() + AlignmentConstants.BAI_EXTENSION); - if (baiCatalogFile == null) { - throw new ToolException("Could not find BAI file from name '" - + (bamCatalogFile.getName() + AlignmentConstants.BAI_EXTENSION) + "'"); + logger.info("BAI file ID was not provided, getting it from the internal alignment index of the BAM file ID {}", + bamCatalogFile.getId()); + try { + baiFileId = bamCatalogFile.getInternal().getAlignment().getIndex().getFileId(); + } catch (Exception e) { + throw new ToolException("Could not get internal alignment index file Id from BAM file ID '" + bamCatalogFile.getId()); } - } else { - // Getting the BAI file provided - baiCatalogFile = getFile(coverageParams.getBaiFileId(), "BAI"); + } + try { + baiCatalogFile = catalogManager.getFileManager().get(getStudy(), baiFileId, QueryOptions.empty(), getToken()).first(); if (baiCatalogFile == null) { throw new ToolException("Could not find BAI file from ID '" + coverageParams.getBaiFileId() + "'"); } + } catch (Exception e) { + throw new ToolException("Could not get BAI file from file ID " + baiFileId); } + logger.info("BAI file ID = {}; path = {}", baiCatalogFile.getId(), Paths.get(baiCatalogFile.getUri())); // Checking filenames @@ -128,7 +129,7 @@ protected void run() throws Exception { // in the job dir to compute the BW file; then BAM and BAI symbolic links will be deleted from the job dir Path bamPath = Paths.get(bamCatalogFile.getUri()).toAbsolutePath(); Path baiPath = Paths.get(baiCatalogFile.getUri()).toAbsolutePath(); - if (bamPath.getParent() != baiPath.getParent()) { + if (!bamPath.getParent().toString().equals(baiPath.getParent().toString())) { logger.info("BAM and BAI files must be symbolic-linked in the job dir since they are in different directories: {} and {}", bamPath, baiPath); bamPath = getOutDir().resolve(bamCatalogFile.getName()).toAbsolutePath(); @@ -188,46 +189,4 @@ protected void run() throws Exception { AlignmentAnalysisUtils.linkAndUpdate(bamCatalogFile, bwPath, study, catalogManager, token); }); } - - private File getFile(String fileId, String msg) throws ToolException { - OpenCGAResult fileResult; - try { - logger.info("Checking {} file ID '{}'", msg, fileId); - fileResult = catalogManager.getFileManager().get(getStudy(), fileId, QueryOptions.empty(), getToken()); - } catch (CatalogException e) { - throw new ToolException("Error accessing " + msg + " file '" + fileId + "' of the study " + getStudy() + "'", e); - } - if (fileResult.getNumResults() <= 0) { - throw new ToolException(msg + " file ID '" + fileId + "' not found in study '" + getStudy() + "'"); - } - return fileResult.first(); - } - - private File getBaiFile(String filename) throws ToolException { - OpenCGAResult fileResult; - try { - logger.info("Looking for BAI file ID from name '{}'", filename); - Query query = new Query(FileDBAdaptor.QueryParams.NAME.key(), filename); - fileResult = catalogManager.getFileManager().search(getStudy(), query, QueryOptions.empty(), getToken()); - } catch (CatalogException e) { - throw new ToolException("Error accessing BAI file name '" + filename + "' of the study " + getStudy() + "'", e); - } - if (fileResult.getNumResults() <= 0) { - throw new ToolException("Filename '" + filename + "' not found in study '" + getStudy() + "'"); - } else { - File selectedFile = null; - for (File file : fileResult.getResults()) { - if (selectedFile == null) { - selectedFile = file; - } else { - // Get the most recent according to the creation date - // Creation date keeps the format: 20240212151427 - if (file.getCreationDate().compareTo(selectedFile.getCreationDate()) > 0) { - selectedFile = file; - } - } - } - return selectedFile; - } - } } diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentIndexOperation.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentIndexOperation.java index e207cd9e0f0..38d89cf2b5c 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentIndexOperation.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentIndexOperation.java @@ -102,14 +102,13 @@ protected void run() throws Exception { outputPath); } - // Link generated BAI file and update samples info + // Link generated BAI file and update samples info, related file File baiCatalogFile = AlignmentAnalysisUtils.linkAndUpdate(inputCatalogFile, outputPath, study, catalogManager, token); - // TODO: Update BAM file internal in order to set the alignment index (BAI) -// FileInternalAlignmentIndex fileAlignmentIndex = new FileInternalAlignmentIndex(new InternalStatus(InternalStatus.READY), -// baiCatalogFile.getId(), "HTSJDK library"); -// FileUpdateParams updateParams = new FileUpdateParams(); -// catalogManager.getFileManager().update(study, inputCatalogFile.getId(), updateParams, null, token); + // Update BAM file internal in order to set the alignment index (BAI) + FileInternalAlignmentIndex fileAlignmentIndex = new FileInternalAlignmentIndex(new InternalStatus(InternalStatus.READY), + baiCatalogFile.getId(), "HTSJDK library"); + catalogManager.getFileManager().updateFileInternalAlignmentIndex(inputCatalogFile, fileAlignmentIndex, token); }); } diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/individual/qc/IndividualQcAnalysis.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/individual/qc/IndividualQcAnalysis.java index a1f0de644da..f347169a21e 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/individual/qc/IndividualQcAnalysis.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/individual/qc/IndividualQcAnalysis.java @@ -20,8 +20,6 @@ import org.apache.commons.lang3.StringUtils; import org.opencb.biodata.models.clinical.qc.InferredSexReport; import org.opencb.commons.datastore.core.QueryOptions; -import org.opencb.opencga.analysis.AnalysisUtils; -import org.opencb.opencga.analysis.alignment.AlignmentConstants; import org.opencb.opencga.analysis.tools.OpenCgaTool; import org.opencb.opencga.analysis.variant.inferredSex.InferredSexAnalysis; import org.opencb.opencga.catalog.exceptions.CatalogException; @@ -29,13 +27,11 @@ import org.opencb.opencga.core.common.JacksonUtils; import org.opencb.opencga.core.exceptions.ToolException; import org.opencb.opencga.core.models.common.Enums; -import org.opencb.opencga.core.models.file.File; import org.opencb.opencga.core.models.individual.Individual; import org.opencb.opencga.core.models.individual.IndividualQualityControl; import org.opencb.opencga.core.models.individual.IndividualUpdateParams; import org.opencb.opencga.core.models.sample.Sample; import org.opencb.opencga.core.models.study.Study; -import org.opencb.opencga.core.response.OpenCGAResult; import org.opencb.opencga.core.tools.annotations.Tool; import org.opencb.opencga.core.tools.variant.IndividualQcAnalysisExecutor; @@ -187,7 +183,9 @@ private void runInferredSex() throws ToolException { if (CollectionUtils.isNotEmpty(qualityControl.getInferredSexReports())) { for (InferredSexReport inferredSexReport : qualityControl.getInferredSexReports()) { if (inferredSexReport.getMethod().equals(inferredSexMethod)) { - addWarning("Skipping inferred sex: it was already computed using method '" + inferredSexMethod + "'"); + String msg = "Skipping inferred sex: it was already computed using method '" + inferredSexMethod + "'"; + logger.warn(msg); + addWarning(msg); return; } } @@ -198,8 +196,10 @@ private void runInferredSex() throws ToolException { try { karyotypicSexThresholds = JacksonUtils.getDefaultNonNullObjectMapper().readerFor(Map.class).readValue(thresholdsPath.toFile()); } catch (IOException e) { - addWarning("Skipping inferred sex: something wrong happened when loading the karyotypic sex thresholds file: " - + thresholdsPath.toAbsolutePath()); + String msg = "Skipping inferred sex: something wrong happened when loading the karyotypic sex thresholds file: " + + thresholdsPath.toAbsolutePath(); + logger.warn(msg); + addWarning(msg); return; } executor.setQcType(IndividualQcAnalysisExecutor.QcType.INFERRED_SEX) @@ -209,19 +209,25 @@ private void runInferredSex() throws ToolException { private void runMendelianError() throws ToolException { if (CollectionUtils.isNotEmpty(qualityControl.getMendelianErrorReports())) { - addWarning("Skipping mendelian error: it was already computed"); + String msg = "Skipping mendelian error: it was already computed"; + logger.warn(msg); + addWarning(msg); return; } // Sanity check if (sample == null || StringUtils.isEmpty(sample.getId())) { - addWarning("Skipping mendelian error: missing child sample ID."); + String msg = "Skipping mendelian error: missing child sample ID"; + logger.warn(msg); + addWarning(msg); return; } if (StringUtils.isEmpty(motherSampleId) && StringUtils.isEmpty(fatherSampleId)) { - addWarning("Skipping mendelian error: both mother and father sample IDs are empty but in order to compute mendelian" - + " errors at least one of them has to be not empty."); + String msg = "Skipping mendelian error: both mother and father sample IDs are empty but in order to compute mendelian" + + " errors at least one of them has to be not empty"; + logger.warn(msg); + addWarning(msg); return; } diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/individual/qc/IndividualQcLocalAnalysisExecutor.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/individual/qc/IndividualQcLocalAnalysisExecutor.java index 72f482cf01d..362d5a25a89 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/individual/qc/IndividualQcLocalAnalysisExecutor.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/individual/qc/IndividualQcLocalAnalysisExecutor.java @@ -21,7 +21,6 @@ import org.opencb.biodata.models.clinical.qc.MendelianErrorReport; import org.opencb.opencga.analysis.AnalysisUtils; import org.opencb.opencga.analysis.StorageToolExecutor; -import org.opencb.opencga.analysis.alignment.AlignmentConstants; import org.opencb.opencga.analysis.alignment.AlignmentStorageManager; import org.opencb.opencga.analysis.variant.manager.VariantStorageManager; import org.opencb.opencga.analysis.variant.mendelianError.MendelianErrorAnalysis; diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/individual/qc/InferredSexComputation.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/individual/qc/InferredSexComputation.java index 1104f01563b..770b75e9c68 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/individual/qc/InferredSexComputation.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/individual/qc/InferredSexComputation.java @@ -18,21 +18,17 @@ import org.opencb.biodata.models.alignment.RegionCoverage; import org.opencb.biodata.models.core.Region; -import org.opencb.commons.datastore.core.Query; -import org.opencb.commons.datastore.core.QueryOptions; import org.opencb.commons.utils.DockerUtils; import org.opencb.opencga.analysis.alignment.AlignmentStorageManager; import org.opencb.opencga.analysis.variant.mutationalSignature.MutationalSignatureLocalAnalysisExecutor; -import org.opencb.opencga.catalog.db.api.FileDBAdaptor; -import org.opencb.opencga.catalog.exceptions.CatalogException; -import org.opencb.opencga.catalog.managers.FileManager; import org.opencb.opencga.core.exceptions.ToolException; import org.opencb.opencga.core.models.file.File; -import org.opencb.opencga.core.response.OpenCGAResult; import java.io.IOException; import java.nio.file.Path; -import java.util.*; +import java.util.AbstractMap; +import java.util.List; +import java.util.Map; import static org.opencb.opencga.core.tools.variant.InferredSexAnalysisExecutor.GRCH37_CHROMOSOMES; import static org.opencb.opencga.core.tools.variant.InferredSexAnalysisExecutor.GRCH38_CHROMOSOMES; @@ -44,17 +40,17 @@ public static double[] computeRatios(String study, File bwFile, String assembly, throws ToolException { // Compute coverage for each chromosome for each BAM file - // TODO get chromosomes from cellbase Map chromosomes; - if (assembly.toLowerCase().equals("grch37")) { + if (assembly.equalsIgnoreCase("grch37")) { chromosomes = GRCH37_CHROMOSOMES; } else { chromosomes = GRCH38_CHROMOSOMES; } double[] means = new double[]{0d, 0d, 0d}; - for (String chrom : chromosomes.keySet()) { - int chromSize = chromosomes.get(chrom); + for (Map.Entry entry : chromosomes.entrySet()) { + String chrom = entry.getKey(); + int chromSize = entry.getValue(); Region region = new Region(chrom, 1, chromSize); try { List regionCoverages = alignmentStorageManager.coverageQuery(study, bwFile.getId(), region, 0, @@ -98,8 +94,7 @@ public static java.io.File plot(File inputFile, Path outDir) throws ToolExceptio "/data/output"); String rParams = "R CMD Rscript --vanilla /data/input/" + inputFile.getName(); try { - String cmdline = DockerUtils.run(MutationalSignatureLocalAnalysisExecutor.R_DOCKER_IMAGE, null, outputBinding, rParams, null); - System.out.println("Docker command line: " + cmdline); + DockerUtils.run(MutationalSignatureLocalAnalysisExecutor.R_DOCKER_IMAGE, null, outputBinding, rParams, null); } catch (IOException e) { throw new ToolException(e); } From 189e2bcccdd210f09715a18a9b72c69add7493f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Coll=20Morag=C3=B3n?= Date: Thu, 15 Feb 2024 11:04:24 +0000 Subject: [PATCH 35/89] storage: Fix error creating PhoenixRecordReader #TASK-5663 --- .../opencga-storage-hadoop-compat-api/pom.xml | 73 +++++++++++++++++++ .../storage/hadoop/HBaseCompatApi.java | 30 ++++++++ .../annotation/phoenix/PhoenixCompatApi.java | 19 +++++ .../pom.xml | 11 +++ .../opencga/storage/hadoop/HBaseCompat.java | 20 ++++- .../annotation/phoenix/PhoenixCompat.java | 23 +++++- .../pom.xml | 11 +++ .../opencga/storage/hadoop/HBaseCompat.java | 10 ++- .../annotation/phoenix/PhoenixCompat.java | 14 +++- .../pom.xml | 11 +++ .../opencga/storage/hadoop/HBaseCompat.java | 12 ++- .../annotation/phoenix/PhoenixCompat.java | 25 ++++++- .../opencga-storage-hadoop-compat/pom.xml | 1 + .../opencga-storage-hadoop-core/pom.xml | 8 ++ .../variant/mr/CustomPhoenixInputFormat.java | 27 +------ .../phoenix/VariantPhoenixKeyFactoryTest.java | 4 +- 16 files changed, 261 insertions(+), 38 deletions(-) create mode 100644 opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-api/pom.xml create mode 100644 opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-api/src/main/java/org/opencb/opencga/storage/hadoop/HBaseCompatApi.java create mode 100644 opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-api/src/main/java/org/opencb/opencga/storage/hadoop/variant/annotation/phoenix/PhoenixCompatApi.java diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-api/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-api/pom.xml new file mode 100644 index 00000000000..c132f168e75 --- /dev/null +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-api/pom.xml @@ -0,0 +1,73 @@ + + + + 4.0.0 + + + org.opencb.opencga + opencga-storage-hadoop-compat + 3.0.0-SNAPSHOT + ../pom.xml + + + opencga-storage-hadoop-compat-api + jar + + + 2.0.2 + 2.7.7 + 5.0.0-HBase-2.0 + 19.0 + + + + + org.apache.hbase + hbase-client + ${hbase.version} + provided + + + org.apache.hadoop + hadoop-common + ${hadoop.version} + provided + + + org.apache.hadoop + hadoop-mapreduce-client-core + ${hadoop.version} + provided + + + org.apache.phoenix + phoenix-core + ${phoenix.version} + provided + + + com.google.guava + guava + ${guava.version} + provided + + + + + \ No newline at end of file diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-api/src/main/java/org/opencb/opencga/storage/hadoop/HBaseCompatApi.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-api/src/main/java/org/opencb/opencga/storage/hadoop/HBaseCompatApi.java new file mode 100644 index 00000000000..db85913188f --- /dev/null +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-api/src/main/java/org/opencb/opencga/storage/hadoop/HBaseCompatApi.java @@ -0,0 +1,30 @@ +package org.opencb.opencga.storage.hadoop; + +import org.apache.hadoop.conf.Configuration; +import org.opencb.opencga.storage.hadoop.variant.annotation.phoenix.PhoenixCompatApi; + +import java.io.IOException; + +public abstract class HBaseCompatApi { + + // singleton + private static HBaseCompatApi instance; + public static HBaseCompatApi getInstance() { + if (instance == null) { + try { + instance = Class.forName("org.opencb.opencga.storage.hadoop.HBaseCompat") + .asSubclass(HBaseCompatApi.class) + .getDeclaredConstructor() + .newInstance(); + } catch (ReflectiveOperationException e) { + throw new IllegalStateException(e); + } + } + return instance; + } + + public abstract void available(Configuration configuration) throws IOException; + + public abstract PhoenixCompatApi getPhoenixCompat(); + +} diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-api/src/main/java/org/opencb/opencga/storage/hadoop/variant/annotation/phoenix/PhoenixCompatApi.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-api/src/main/java/org/opencb/opencga/storage/hadoop/variant/annotation/phoenix/PhoenixCompatApi.java new file mode 100644 index 00000000000..e276b3fb4db --- /dev/null +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-api/src/main/java/org/opencb/opencga/storage/hadoop/variant/annotation/phoenix/PhoenixCompatApi.java @@ -0,0 +1,19 @@ +package org.opencb.opencga.storage.hadoop.variant.annotation.phoenix; + +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.mapreduce.lib.db.DBWritable; +import org.apache.phoenix.compile.QueryPlan; +import org.apache.phoenix.mapreduce.PhoenixRecordReader; +import org.apache.phoenix.schema.PColumn; +import org.apache.phoenix.schema.PTable; + +import java.sql.SQLException; +import java.util.List; + +public interface PhoenixCompatApi { + + PTable makePTable(List columns) throws SQLException; + + PhoenixRecordReader newPhoenixRecordReader( + Class inputClass, Configuration configuration, QueryPlan queryPlan); +} diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.0/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.0/pom.xml index 9e84340b7b5..5397637414f 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.0/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.0/pom.xml @@ -38,6 +38,11 @@ + + org.opencb.opencga + opencga-storage-hadoop-compat-api + ${project.version} + org.apache.hbase hbase-client @@ -50,6 +55,12 @@ ${hadoop.version} provided + + org.apache.hadoop + hadoop-mapreduce-client-core + ${hadoop.version} + provided + org.apache.phoenix phoenix-core diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.0/src/main/java/org/opencb/opencga/storage/hadoop/HBaseCompat.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.0/src/main/java/org/opencb/opencga/storage/hadoop/HBaseCompat.java index 88ee36282e6..e628d969771 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.0/src/main/java/org/opencb/opencga/storage/hadoop/HBaseCompat.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.0/src/main/java/org/opencb/opencga/storage/hadoop/HBaseCompat.java @@ -2,13 +2,29 @@ import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.client.HBaseAdmin; +import org.opencb.opencga.storage.hadoop.variant.annotation.phoenix.PhoenixCompat; +import org.opencb.opencga.storage.hadoop.variant.annotation.phoenix.PhoenixCompatApi; import java.io.IOException; -public class HBaseCompat { +public class HBaseCompat implements HBaseCompatApi { + // singleton + private static HBaseCompat instance; + public static HBaseCompat getInstance() { + if (instance == null) { + instance = new HBaseCompat(); + } + return instance; + } - public static void available(Configuration configuration) throws IOException { + @Override + public void available(Configuration configuration) throws IOException { HBaseAdmin.available(configuration); } + @Override + public PhoenixCompatApi getPhoenixCompat() { + return new PhoenixCompat(); + } + } diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.0/src/main/java/org/opencb/opencga/storage/hadoop/variant/annotation/phoenix/PhoenixCompat.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.0/src/main/java/org/opencb/opencga/storage/hadoop/variant/annotation/phoenix/PhoenixCompat.java index 4e502dc9070..27573aaa202 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.0/src/main/java/org/opencb/opencga/storage/hadoop/variant/annotation/phoenix/PhoenixCompat.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.0/src/main/java/org/opencb/opencga/storage/hadoop/variant/annotation/phoenix/PhoenixCompat.java @@ -1,16 +1,35 @@ package org.opencb.opencga.storage.hadoop.variant.annotation.phoenix; +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.mapreduce.lib.db.DBWritable; +import org.apache.phoenix.compile.QueryPlan; +import org.apache.phoenix.iterate.MapReduceParallelScanGrouper; +import org.apache.phoenix.mapreduce.PhoenixRecordReader; import org.apache.phoenix.schema.PColumn; import org.apache.phoenix.schema.PTable; import org.apache.phoenix.schema.PTableImpl; +import java.lang.reflect.Constructor; import java.sql.SQLException; import java.util.List; -public class PhoenixCompat { +public class PhoenixCompat implements PhoenixCompatApi { - public static PTable makePTable(List columns) throws SQLException { + @Override + public PTable makePTable(List columns) throws SQLException { return PTableImpl.makePTable(new PTableImpl(), columns); } + @Override + public PhoenixRecordReader newPhoenixRecordReader(Class inputClass, Configuration configuration, + QueryPlan queryPlan) { + try { + Constructor constructor = PhoenixRecordReader.class + .getConstructor(Class.class, Configuration.class, QueryPlan.class, MapReduceParallelScanGrouper.class); + constructor.setAccessible(true); + return constructor.newInstance(inputClass, configuration, queryPlan, MapReduceParallelScanGrouper.getInstance()); + } catch (ReflectiveOperationException e) { + throw new IllegalStateException(e); + } + } } diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.2/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.2/pom.xml index 4006833cb97..9faa5dbe70a 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.2/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.2/pom.xml @@ -38,6 +38,11 @@ + + org.opencb.opencga + opencga-storage-hadoop-compat-api + ${project.version} + org.apache.hbase hbase-client @@ -50,6 +55,12 @@ ${hadoop.version} provided + + org.apache.hadoop + hadoop-mapreduce-client-core + ${hadoop.version} + provided + org.apache.phoenix phoenix-core diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.2/src/main/java/org/opencb/opencga/storage/hadoop/HBaseCompat.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.2/src/main/java/org/opencb/opencga/storage/hadoop/HBaseCompat.java index 88ee36282e6..716895033fa 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.2/src/main/java/org/opencb/opencga/storage/hadoop/HBaseCompat.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.2/src/main/java/org/opencb/opencga/storage/hadoop/HBaseCompat.java @@ -2,13 +2,19 @@ import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.client.HBaseAdmin; +import org.opencb.opencga.storage.hadoop.variant.annotation.phoenix.PhoenixCompat; +import org.opencb.opencga.storage.hadoop.variant.annotation.phoenix.PhoenixCompatApi; import java.io.IOException; -public class HBaseCompat { +public class HBaseCompat extends HBaseCompatApi { - public static void available(Configuration configuration) throws IOException { + public void available(Configuration configuration) throws IOException { HBaseAdmin.available(configuration); } + @Override + public PhoenixCompatApi getPhoenixCompat() { + return new PhoenixCompat(); + } } diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.2/src/main/java/org/opencb/opencga/storage/hadoop/variant/annotation/phoenix/PhoenixCompat.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.2/src/main/java/org/opencb/opencga/storage/hadoop/variant/annotation/phoenix/PhoenixCompat.java index 4e502dc9070..ef6225cfbb5 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.2/src/main/java/org/opencb/opencga/storage/hadoop/variant/annotation/phoenix/PhoenixCompat.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.2/src/main/java/org/opencb/opencga/storage/hadoop/variant/annotation/phoenix/PhoenixCompat.java @@ -1,5 +1,9 @@ package org.opencb.opencga.storage.hadoop.variant.annotation.phoenix; +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.mapreduce.lib.db.DBWritable; +import org.apache.phoenix.compile.QueryPlan; +import org.apache.phoenix.mapreduce.PhoenixRecordReader; import org.apache.phoenix.schema.PColumn; import org.apache.phoenix.schema.PTable; import org.apache.phoenix.schema.PTableImpl; @@ -7,10 +11,16 @@ import java.sql.SQLException; import java.util.List; -public class PhoenixCompat { +public class PhoenixCompat implements PhoenixCompatApi { - public static PTable makePTable(List columns) throws SQLException { + public PTable makePTable(List columns) throws SQLException { return PTableImpl.makePTable(new PTableImpl(), columns); } + @Override + public PhoenixRecordReader newPhoenixRecordReader(Class inputClass, Configuration configuration, + QueryPlan queryPlan) { + return new PhoenixRecordReader<>(inputClass, configuration, queryPlan); + } + } diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.4/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.4/pom.xml index adebc86adc8..140f3c239e6 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.4/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.4/pom.xml @@ -38,6 +38,11 @@ + + org.opencb.opencga + opencga-storage-hadoop-compat-api + ${project.version} + org.apache.hbase hbase-client @@ -50,6 +55,12 @@ ${hadoop.version} provided + + org.apache.hadoop + hadoop-mapreduce-client-core + ${hadoop.version} + provided + org.apache.phoenix phoenix-core diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.4/src/main/java/org/opencb/opencga/storage/hadoop/HBaseCompat.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.4/src/main/java/org/opencb/opencga/storage/hadoop/HBaseCompat.java index 88ee36282e6..9cb77b781be 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.4/src/main/java/org/opencb/opencga/storage/hadoop/HBaseCompat.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.4/src/main/java/org/opencb/opencga/storage/hadoop/HBaseCompat.java @@ -2,13 +2,21 @@ import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.client.HBaseAdmin; +import org.opencb.opencga.storage.hadoop.variant.annotation.phoenix.PhoenixCompat; +import org.opencb.opencga.storage.hadoop.variant.annotation.phoenix.PhoenixCompatApi; import java.io.IOException; -public class HBaseCompat { +public class HBaseCompat extends HBaseCompatApi { - public static void available(Configuration configuration) throws IOException { + @Override + public void available(Configuration configuration) throws IOException { HBaseAdmin.available(configuration); } + @Override + public PhoenixCompatApi getPhoenixCompat() { + return new PhoenixCompat(); + } + } diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.4/src/main/java/org/opencb/opencga/storage/hadoop/variant/annotation/phoenix/PhoenixCompat.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.4/src/main/java/org/opencb/opencga/storage/hadoop/variant/annotation/phoenix/PhoenixCompat.java index 2553131c5d3..ea182e46340 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.4/src/main/java/org/opencb/opencga/storage/hadoop/variant/annotation/phoenix/PhoenixCompat.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.4/src/main/java/org/opencb/opencga/storage/hadoop/variant/annotation/phoenix/PhoenixCompat.java @@ -1,16 +1,37 @@ package org.opencb.opencga.storage.hadoop.variant.annotation.phoenix; +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.mapreduce.lib.db.DBWritable; +import org.apache.phoenix.compile.QueryPlan; +import org.apache.phoenix.iterate.MapReduceParallelScanGrouper; +import org.apache.phoenix.iterate.ParallelScanGrouper; +import org.apache.phoenix.mapreduce.PhoenixRecordReader; import org.apache.phoenix.schema.PColumn; import org.apache.phoenix.schema.PTable; import org.apache.phoenix.schema.PTableImpl; +import java.lang.reflect.Constructor; import java.sql.SQLException; import java.util.List; -public class PhoenixCompat { +public class PhoenixCompat implements PhoenixCompatApi { - public static PTable makePTable(List columns) throws SQLException { + @Override + public PTable makePTable(List columns) throws SQLException { return new PTableImpl.Builder().setColumns(columns).build(); } + @Override + public PhoenixRecordReader newPhoenixRecordReader(Class inputClass, Configuration configuration, + QueryPlan queryPlan) { + try { + Constructor constructor = PhoenixRecordReader.class + .getDeclaredConstructor(Class.class, Configuration.class, QueryPlan.class, ParallelScanGrouper.class); + constructor.setAccessible(true); + return constructor.newInstance(inputClass, configuration, queryPlan, MapReduceParallelScanGrouper.getInstance()); + } catch (ReflectiveOperationException e) { + throw new IllegalStateException(e); + } + } + } diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/pom.xml index 6dbd284f399..4718c9e24e6 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/pom.xml @@ -31,6 +31,7 @@ pom + opencga-storage-hadoop-compat-api opencga-storage-hadoop-compat-hbase2.0 opencga-storage-hadoop-compat-hbase2.2 opencga-storage-hadoop-compat-hbase2.4 diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/pom.xml index 7bd89da244a..c7b4e429c48 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/pom.xml @@ -154,6 +154,11 @@ + + org.opencb.opencga + opencga-storage-hadoop-compat-api + ${project.parent.version} + org.opencb.opencga opencga-storage-hadoop-compat-${opencga-storage-hadoop-compat.id} @@ -417,6 +422,9 @@ org.apache.logging.log4j:log4j-api + + org.opencb.opencga:opencga-storage-hadoop-compat-api + diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/mr/CustomPhoenixInputFormat.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/mr/CustomPhoenixInputFormat.java index a496e84c560..5b280facb0e 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/mr/CustomPhoenixInputFormat.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/mr/CustomPhoenixInputFormat.java @@ -20,11 +20,10 @@ import org.apache.phoenix.query.KeyRange; import org.apache.phoenix.query.QueryServices; import org.apache.phoenix.util.PhoenixRuntime; +import org.opencb.opencga.storage.hadoop.HBaseCompat; import java.io.Closeable; import java.io.IOException; -import java.lang.reflect.Constructor; -import java.lang.reflect.InvocationTargetException; import java.sql.Connection; import java.sql.Statement; import java.util.List; @@ -48,28 +47,8 @@ public RecordReader createRecordReader(InputSplit split, TaskAt final QueryPlan queryPlan = getQueryPlan(context, configuration); @SuppressWarnings("unchecked") final Class inputClass = (Class) PhoenixConfigurationUtil.getInputClass(configuration); - PhoenixRecordReader phoenixRecordReader; - try { - // hdp2.6 - Constructor constructor = PhoenixRecordReader.class - .getConstructor(Class.class, Configuration.class, QueryPlan.class, MapReduceParallelScanGrouper.class); - constructor.setAccessible(true); - phoenixRecordReader = constructor.newInstance(inputClass, configuration, queryPlan, MapReduceParallelScanGrouper.getInstance()); - } catch (InstantiationException | InvocationTargetException | IllegalAccessException e) { - throw new IOException(e); - } catch (NoSuchMethodException ignore) { - // Search other constructor - try { - // emg5.31 - Constructor constructor = PhoenixRecordReader.class - .getConstructor(Class.class, Configuration.class, QueryPlan.class); - constructor.setAccessible(true); - phoenixRecordReader = constructor.newInstance(inputClass, configuration, queryPlan); - } catch (InstantiationException | InvocationTargetException | IllegalAccessException | NoSuchMethodException e) { - throw new IOException(e); - } - } - + PhoenixRecordReader phoenixRecordReader = HBaseCompat.getInstance() + .getPhoenixCompat().newPhoenixRecordReader(inputClass, configuration, queryPlan); return new CloseValueRecordReader<>(phoenixRecordReader); } diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/adaptors/phoenix/VariantPhoenixKeyFactoryTest.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/adaptors/phoenix/VariantPhoenixKeyFactoryTest.java index b2dc41cb042..18798990bf1 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/adaptors/phoenix/VariantPhoenixKeyFactoryTest.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/adaptors/phoenix/VariantPhoenixKeyFactoryTest.java @@ -12,7 +12,7 @@ import org.junit.rules.ExpectedException; import org.opencb.biodata.models.variant.Variant; import org.opencb.opencga.core.testclassification.duration.ShortTests; -import org.opencb.opencga.storage.hadoop.variant.annotation.phoenix.PhoenixCompat; +import org.opencb.opencga.storage.hadoop.HBaseCompat; import java.sql.SQLException; import java.util.*; @@ -98,7 +98,7 @@ public byte[] generateVariantRowKeyPhoenix(Variant variant) { .setNullable(nullableColumn.contains(column)) .setSortOrder(SortOrder.ASC.getSystemValue()).build())); } - table = PhoenixCompat.makePTable(columns); + table = HBaseCompat.getInstance().getPhoenixCompat().makePTable(columns); } catch (SQLException e) { throw new RuntimeException(e); } From b62e87a0b3cad33960f7bda23ff7e4f7de063057 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Coll=20Morag=C3=B3n?= Date: Thu, 15 Feb 2024 14:53:50 +0000 Subject: [PATCH 36/89] cicd: Allow selecting hadoop flavour executing junit tests. #TASK-5663 --- .github/workflows/check-junit-test.yml | 11 +++++++++++ .github/workflows/test-analysis.yml | 16 +++++++++++++--- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/.github/workflows/check-junit-test.yml b/.github/workflows/check-junit-test.yml index 4331f156cf5..ce6b101d032 100644 --- a/.github/workflows/check-junit-test.yml +++ b/.github/workflows/check-junit-test.yml @@ -3,6 +3,16 @@ name: Check junits on: workflow_dispatch: inputs: + hadoop: + type: choice + description: 'Hadoop flavour.' + required: false + default: "hdp3.1" + options: + - "hdp3.1" + - "hdi5.1" + - "emr6.1" + - "emr6.13" short_tests: type: boolean required: false @@ -52,4 +62,5 @@ jobs: with: test_profile: ${{ needs.get_profiles.outputs.profiles }} mvn_opts: ${{ inputs.mvn_opts }} + hadoop: ${{ inputs.hadoop }} secrets: inherit \ No newline at end of file diff --git a/.github/workflows/test-analysis.yml b/.github/workflows/test-analysis.yml index 6cad179a3f1..e0c31ae9508 100644 --- a/.github/workflows/test-analysis.yml +++ b/.github/workflows/test-analysis.yml @@ -4,11 +4,21 @@ on: workflow_call: inputs: test_profile: + description: 'Maven test profile. Any combination of : [runShortTests, runMediumTests, runLongTests]' type: string required: true + hadoop: + type: choice + description: 'Hadoop flavour.' + required: false + default: "hdp3.1" + options: + - "hdp3.1" + - "hdi5.1" + - "emr6.1" + - "emr6.13" mvn_opts: type: string - required: false default: "" secrets: @@ -41,7 +51,7 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - run: mvn -T 2 clean install -P hdp3.1,${{ inputs.test_profile }} -DskipTests -Dcheckstyle.skip org.sonarsource.scanner.maven:sonar-maven-plugin:sonar -Dsonar.projectKey=opencb_opencga + run: mvn -T 2 clean install -P ${{ inputs.hadoop }},${{ inputs.test_profile }} -DskipTests -Dcheckstyle.skip org.sonarsource.scanner.maven:sonar-maven-plugin:sonar -Dsonar.projectKey=opencb_opencga test: name: Execute JUnit and Jacoco tests @@ -72,7 +82,7 @@ jobs: mongodb-version: 6.0 mongodb-replica-set: rs-test - name: Run Junit tests - run: mvn -B verify surefire-report:report --fail-never -P hdp3.1,${{ inputs.test_profile }} -Dcheckstyle.skip ${{ inputs.mvn_opts }} + run: mvn -B verify surefire-report:report --fail-never -P ${{ inputs.hadoop }},${{ inputs.test_profile }} -Dcheckstyle.skip ${{ inputs.mvn_opts }} - name: Publish Test Report uses: scacap/action-surefire-report@v1 env: From 33fdbea0466a6b307aafb788adfa327b6e619322 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Coll=20Morag=C3=B3n?= Date: Thu, 15 Feb 2024 15:23:38 +0000 Subject: [PATCH 37/89] storage: Ensure that at least one opencga-storage-hadoop-lib module is build every time #TASK-5663 --- .../opencga/storage/hadoop/HBaseCompat.java | 10 +------ .../opencga-storage-hadoop-lib/pom.xml | 27 ++++++++++--------- 2 files changed, 15 insertions(+), 22 deletions(-) diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.0/src/main/java/org/opencb/opencga/storage/hadoop/HBaseCompat.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.0/src/main/java/org/opencb/opencga/storage/hadoop/HBaseCompat.java index e628d969771..9cb77b781be 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.0/src/main/java/org/opencb/opencga/storage/hadoop/HBaseCompat.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.0/src/main/java/org/opencb/opencga/storage/hadoop/HBaseCompat.java @@ -7,15 +7,7 @@ import java.io.IOException; -public class HBaseCompat implements HBaseCompatApi { - // singleton - private static HBaseCompat instance; - public static HBaseCompat getInstance() { - if (instance == null) { - instance = new HBaseCompat(); - } - return instance; - } +public class HBaseCompat extends HBaseCompatApi { @Override public void available(Configuration configuration) throws IOException { diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-lib/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-lib/pom.xml index f28ba221f2a..917c026de61 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-lib/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-lib/pom.xml @@ -72,26 +72,27 @@ - hdp3.1 + thisHadoopLib + + + !allHadoopLibs + + - opencga-storage-hadoop-lib-hdp3.1 + ${opencga-hadoop-lib.artifactId} - hdi5.1 + allHadoopLibs + + + allHadoopLibs + + + opencga-storage-hadoop-lib-hdp3.1 opencga-storage-hadoop-lib-hdi5.1 - - - - emr6.1 - opencga-storage-hadoop-lib-emr6.1 - - - - emr6.13 - opencga-storage-hadoop-lib-emr6.13 From 9abfd5c273face483fb0fcbbfbeedbad439e95fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Coll=20Morag=C3=B3n?= Date: Thu, 15 Feb 2024 15:30:33 +0000 Subject: [PATCH 38/89] cicd: Fix workflow_call input values. Add run-name. #TASK-5663 --- .github/workflows/check-junit-test.yml | 1 + .github/workflows/test-analysis.yml | 10 +++------- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/.github/workflows/check-junit-test.yml b/.github/workflows/check-junit-test.yml index ce6b101d032..a2c70ef5bdd 100644 --- a/.github/workflows/check-junit-test.yml +++ b/.github/workflows/check-junit-test.yml @@ -1,4 +1,5 @@ name: Check junits +run-name: 'Check Junit tests. Hadoop flavour: ${{ inputs.hadoop }}. Short : ${{ inputs.short_tests }}, medium : ${{ inputs.medium_tests }}, long : ${{ inputs.long_tests }}.' on: workflow_dispatch: diff --git a/.github/workflows/test-analysis.yml b/.github/workflows/test-analysis.yml index e0c31ae9508..905915f20b8 100644 --- a/.github/workflows/test-analysis.yml +++ b/.github/workflows/test-analysis.yml @@ -1,4 +1,5 @@ name: Build and test the project +run-name: "Build and test the project. Hadoop flavour: ${{ inputs.hadoop }}. Test profile: ${{ inputs.test_profile }}" on: workflow_call: @@ -8,15 +9,10 @@ on: type: string required: true hadoop: - type: choice - description: 'Hadoop flavour.' + type: string + description: 'Hadoop flavour. Any of: [hdp3.1, hdi5.1, emr6.1, emr6.13]' required: false default: "hdp3.1" - options: - - "hdp3.1" - - "hdi5.1" - - "emr6.1" - - "emr6.13" mvn_opts: type: string required: false From 849d368966b5a9a250bb852238c488fdec808128 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Coll=20Morag=C3=B3n?= Date: Thu, 15 Feb 2024 15:38:04 +0000 Subject: [PATCH 39/89] cicd: Improve Check Junits run-name. #TASK-5663 --- .github/workflows/check-junit-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check-junit-test.yml b/.github/workflows/check-junit-test.yml index a2c70ef5bdd..f4515e084c4 100644 --- a/.github/workflows/check-junit-test.yml +++ b/.github/workflows/check-junit-test.yml @@ -1,5 +1,5 @@ name: Check junits -run-name: 'Check Junit tests. Hadoop flavour: ${{ inputs.hadoop }}. Short : ${{ inputs.short_tests }}, medium : ${{ inputs.medium_tests }}, long : ${{ inputs.long_tests }}.' +run-name: 'Check Junit tests. Hadoop flavour: ${{ inputs.hadoop }}. {{ if inputs.short_tests }}Short {{ endif }}{{ if inputs.medium_tests }}Medium {{ endif }}{{ if inputs.long_tests }}Long {{ endif }}{{if ! ( inputs.short_tests || inputs.medium_tests || inputs.long_tests ) }}All {{ endif }} tests.' on: workflow_dispatch: From a6b95fb89873643b03c200856115c51dd47dd159 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Coll=20Morag=C3=B3n?= Date: Thu, 15 Feb 2024 15:43:06 +0000 Subject: [PATCH 40/89] cicd: Improve Check Junits run-name. #TASK-5663 --- .github/workflows/check-junit-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check-junit-test.yml b/.github/workflows/check-junit-test.yml index f4515e084c4..475cd63784c 100644 --- a/.github/workflows/check-junit-test.yml +++ b/.github/workflows/check-junit-test.yml @@ -1,5 +1,5 @@ name: Check junits -run-name: 'Check Junit tests. Hadoop flavour: ${{ inputs.hadoop }}. {{ if inputs.short_tests }}Short {{ endif }}{{ if inputs.medium_tests }}Medium {{ endif }}{{ if inputs.long_tests }}Long {{ endif }}{{if ! ( inputs.short_tests || inputs.medium_tests || inputs.long_tests ) }}All {{ endif }} tests.' +run-name: "Check Junit tests. Hadoop flavour: ${{ inputs.hadoop }}. ${{ inputs.short_tests && 'Short' }}{{ inputs.medium_tests && 'Medium' }}{{ inputs.long_tests && 'Long' }}{{ ! ( inputs.short_tests || inputs.medium_tests || inputs.long_tests ) && 'All' }} tests." on: workflow_dispatch: From ff8432e8ce437167e372e225c5018a28410024a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Coll=20Morag=C3=B3n?= Date: Thu, 15 Feb 2024 15:44:29 +0000 Subject: [PATCH 41/89] cicd: Improve Check Junits run-name. #TASK-5663 --- .github/workflows/check-junit-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check-junit-test.yml b/.github/workflows/check-junit-test.yml index 475cd63784c..6478c272978 100644 --- a/.github/workflows/check-junit-test.yml +++ b/.github/workflows/check-junit-test.yml @@ -1,5 +1,5 @@ name: Check junits -run-name: "Check Junit tests. Hadoop flavour: ${{ inputs.hadoop }}. ${{ inputs.short_tests && 'Short' }}{{ inputs.medium_tests && 'Medium' }}{{ inputs.long_tests && 'Long' }}{{ ! ( inputs.short_tests || inputs.medium_tests || inputs.long_tests ) && 'All' }} tests." +run-name: "Check Junit tests. Hadoop flavour: ${{ inputs.hadoop }}. ${{ inputs.short_tests && 'Short ' }}${{ inputs.medium_tests && 'Medium ' }}${{ inputs.long_tests && 'Long ' }}${{ ! ( inputs.short_tests || inputs.medium_tests || inputs.long_tests ) && 'All ' }}tests." on: workflow_dispatch: From 3b4c8d7cd71a96a9cf709ed1f9d3fc9732fe8fa0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Coll=20Morag=C3=B3n?= Date: Thu, 15 Feb 2024 15:45:57 +0000 Subject: [PATCH 42/89] cicd: Improve Check Junits run-name. #TASK-5663 --- .github/workflows/check-junit-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check-junit-test.yml b/.github/workflows/check-junit-test.yml index 6478c272978..f63445dde16 100644 --- a/.github/workflows/check-junit-test.yml +++ b/.github/workflows/check-junit-test.yml @@ -1,5 +1,5 @@ name: Check junits -run-name: "Check Junit tests. Hadoop flavour: ${{ inputs.hadoop }}. ${{ inputs.short_tests && 'Short ' }}${{ inputs.medium_tests && 'Medium ' }}${{ inputs.long_tests && 'Long ' }}${{ ! ( inputs.short_tests || inputs.medium_tests || inputs.long_tests ) && 'All ' }}tests." +run-name: "Check Junit tests. Hadoop flavour: ${{ inputs.hadoop }}. ${{ inputs.short_tests && 'Short ' || '' }}${{ inputs.medium_tests && 'Medium ' || '' }}${{ inputs.long_tests && 'Long ' || '' }}${{ ! ( inputs.short_tests || inputs.medium_tests || inputs.long_tests ) && 'Short Medium Long ' || '' }}tests." on: workflow_dispatch: From ffe082b37533decc86038cc01f3868b27ad90280 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Coll=20Morag=C3=B3n?= Date: Thu, 15 Feb 2024 16:44:07 +0000 Subject: [PATCH 43/89] server: Remove scope test from opencga-server jersey dependencies. #TASK-5670 --- opencga-server/pom.xml | 2 -- 1 file changed, 2 deletions(-) diff --git a/opencga-server/pom.xml b/opencga-server/pom.xml index 3bab9d5381e..d0aed6826b2 100644 --- a/opencga-server/pom.xml +++ b/opencga-server/pom.xml @@ -197,12 +197,10 @@ org.glassfish.jersey.core jersey-client - test org.glassfish.jersey.containers jersey-container-servlet-core - test org.opencb.commons From cba0106c7f2563ccd03432be8ffcb196d16850be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Coll=20Morag=C3=B3n?= Date: Thu, 15 Feb 2024 16:57:26 +0000 Subject: [PATCH 44/89] server: Remove scope test from opencga-server mongodb dependencies #TASK-5670 --- opencga-server/pom.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/opencga-server/pom.xml b/opencga-server/pom.xml index d0aed6826b2..624520ae185 100644 --- a/opencga-server/pom.xml +++ b/opencga-server/pom.xml @@ -205,7 +205,6 @@ org.opencb.commons commons-datastore-mongodb - test junit From dbf01dad85af53133bf2348457a76a6373d2e525 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20T=C3=A1rraga=20Gim=C3=A9nez?= Date: Thu, 15 Feb 2024 18:00:29 +0100 Subject: [PATCH 45/89] test: update Junit test to use LTS versions of CellBase, #TASK-5671, #TASK-5439 --- .../opencga/core/api/ParamConstants.java | 4 +-- .../core/cellbase/CellBaseValidatorTest.java | 30 +++++++++---------- .../storage/core/utils/CellBaseUtilsTest.java | 18 +++-------- .../variant/VariantStorageEngineSVTest.java | 4 +-- .../VariantAnnotationManagerTest.java | 28 ++++++++--------- .../VariantAnnotatorByApiKeyTest.java | 4 +-- .../annotators/VariantAnnotatorTest.java | 3 +- .../variant/index/family/FamilyIndexTest.java | 4 +-- .../variant/index/sample/SampleIndexTest.java | 7 ----- 9 files changed, 42 insertions(+), 60 deletions(-) diff --git a/opencga-core/src/main/java/org/opencb/opencga/core/api/ParamConstants.java b/opencga-core/src/main/java/org/opencb/opencga/core/api/ParamConstants.java index ebcfa07153c..b1cb9911e9a 100644 --- a/opencga-core/src/main/java/org/opencb/opencga/core/api/ParamConstants.java +++ b/opencga-core/src/main/java/org/opencb/opencga/core/api/ParamConstants.java @@ -76,8 +76,8 @@ public class ParamConstants { public static final String CELLBASE_URL = "https://ws.zettagenomics.com/cellbase"; - public static final String CELLBASE_VERSION = "v5.1"; - public static final String CELLBASE_DATA_RELEASE = "2"; + public static final String CELLBASE_VERSION = "v5.2"; + public static final String CELLBASE_DATA_RELEASE = "3"; public static final String CELLBASE_APIKEY = ""; public static final String POP_FREQ_1000G_CB_V4 = "1kG_phase3"; diff --git a/opencga-core/src/test/java/org/opencb/opencga/core/cellbase/CellBaseValidatorTest.java b/opencga-core/src/test/java/org/opencb/opencga/core/cellbase/CellBaseValidatorTest.java index cab404b3c34..5eee5ed2945 100644 --- a/opencga-core/src/test/java/org/opencb/opencga/core/cellbase/CellBaseValidatorTest.java +++ b/opencga-core/src/test/java/org/opencb/opencga/core/cellbase/CellBaseValidatorTest.java @@ -19,27 +19,27 @@ public class CellBaseValidatorTest { @Test public void testValidateFixVersion() throws IOException { - CellBaseConfiguration c = CellBaseValidator.validate(new CellBaseConfiguration(ParamConstants.CELLBASE_URL, "5.1", "2", null), "hsapiens", "grch38", true); - Assert.assertEquals("v5.1", c.getVersion()); + CellBaseConfiguration c = CellBaseValidator.validate(new CellBaseConfiguration(ParamConstants.CELLBASE_URL, "5.2", "3", null), "hsapiens", "grch38", true); + Assert.assertEquals("v5.2", c.getVersion()); } @Test public void testValidateUndefinedDataRelease() throws IOException { - CellBaseConfiguration c = CellBaseValidator.validate(new CellBaseConfiguration(ParamConstants.CELLBASE_URL, "v5.1", null, null), "hsapiens", "grch38", true); - Assert.assertEquals("v5.1", c.getVersion()); + CellBaseConfiguration c = CellBaseValidator.validate(new CellBaseConfiguration(ParamConstants.CELLBASE_URL, "v5.2", null, null), "hsapiens", "grch38", true); + Assert.assertEquals("v5.2", c.getVersion()); Assert.assertNotNull(c.getDataRelease()); } @Test public void testInvalidUrlPath() throws IOException { thrown.expectMessage("Unable to access cellbase url"); - CellBaseValidator.validate(new CellBaseConfiguration(ParamConstants.CELLBASE_URL+"/NONEXISTING/", "v5.1", null, null), "green alien", "grch84", true); + CellBaseValidator.validate(new CellBaseConfiguration(ParamConstants.CELLBASE_URL+"/NONEXISTING/", "v5.2", null, null), "green alien", "grch84", true); } @Test public void testInvalidUrl() throws IOException { thrown.expectMessage("Unable to access cellbase url"); - CellBaseValidator.validate(new CellBaseConfiguration("https://ws.zettagenomics-NONEXISTING.com/cellbase/NONEXISTING/", "v5.1", null, null), "green alien", "grch84", true); + CellBaseValidator.validate(new CellBaseConfiguration("https://ws.zettagenomics-NONEXISTING.com/cellbase/NONEXISTING/", "v5.2", null, null), "green alien", "grch84", true); } @Test @@ -51,33 +51,33 @@ public void testInvalidVersion() throws IOException { @Test public void testInvalidSpecies() throws IOException { thrown.expectMessage("Species 'galien' not found in cellbase"); - CellBaseValidator.validate(new CellBaseConfiguration(ParamConstants.CELLBASE_URL, "v5.1", null, null), "green alien", "grch84", true); + CellBaseValidator.validate(new CellBaseConfiguration(ParamConstants.CELLBASE_URL, "v5.2", null, null), "green alien", "grch84", true); } @Test public void testInvalidAssembly() throws IOException { thrown.expectMessage("Assembly 'grch84' not found in cellbase"); thrown.expectMessage("Supported assemblies : [GRCh38, GRCh37]"); - CellBaseValidator.validate(new CellBaseConfiguration(ParamConstants.CELLBASE_URL, "v5.1", null, null), "homo sapiens", "grch84", true); + CellBaseValidator.validate(new CellBaseConfiguration(ParamConstants.CELLBASE_URL, "v5.2", null, null), "homo sapiens", "grch84", true); } @Test public void testInvalidDR() throws IOException { thrown.expectMessage("DataRelease 'INVALID_DR' not found on cellbase"); - CellBaseValidator.validate(new CellBaseConfiguration(ParamConstants.CELLBASE_URL, "v5.1", "INVALID_DR", null), "hsapiens", "grch38", true); + CellBaseValidator.validate(new CellBaseConfiguration(ParamConstants.CELLBASE_URL, "v5.2", "INVALID_DR", null), "hsapiens", "grch38", true); } @Test public void testNoActiveReleases() throws IOException { thrown.expectMessage("No active data releases found on cellbase"); - CellBaseValidator.validate(new CellBaseConfiguration(ParamConstants.CELLBASE_URL, "v5.1", null, null), "mmusculus", "GRCm38", true); + CellBaseValidator.validate(new CellBaseConfiguration(ParamConstants.CELLBASE_URL, "v5.2", null, null), "mmusculus", "GRCm38", true); } @Test public void testApiKey() throws IOException { String apiKey = System.getenv("CELLBASE_HGMD_APIKEY"); Assume.assumeTrue(StringUtils.isNotEmpty(apiKey)); - CellBaseConfiguration validated = CellBaseValidator.validate(new CellBaseConfiguration(ParamConstants.CELLBASE_URL, "v5.4", null, apiKey), "hsapiens", "grch38", true); + CellBaseConfiguration validated = CellBaseValidator.validate(new CellBaseConfiguration(ParamConstants.CELLBASE_URL, "v5.8", null, apiKey), "hsapiens", "grch38", true); Assert.assertNotNull(validated.getApiKey()); } @@ -86,14 +86,14 @@ public void testApiKeyNotSupported() throws IOException { String apiKey = System.getenv("CELLBASE_HGMD_APIKEY"); Assume.assumeTrue(StringUtils.isNotEmpty(apiKey)); thrown.expectMessage("API key not supported"); - CellBaseConfiguration validated = CellBaseValidator.validate(new CellBaseConfiguration(ParamConstants.CELLBASE_URL, "v5.1", null, apiKey), "hsapiens", "grch38", true); + CellBaseConfiguration validated = CellBaseValidator.validate(new CellBaseConfiguration(ParamConstants.CELLBASE_URL, "v5.2", null, apiKey), "hsapiens", "grch38", true); Assert.assertNotNull(validated.getApiKey()); } @Test public void testApiKeyEmpty() throws IOException { String apiKey = ""; - CellBaseConfiguration validated = CellBaseValidator.validate(new CellBaseConfiguration(ParamConstants.CELLBASE_URL, "v5.1", null, apiKey), "hsapiens", "grch38", true); + CellBaseConfiguration validated = CellBaseValidator.validate(new CellBaseConfiguration(ParamConstants.CELLBASE_URL, "v5.2", null, apiKey), "hsapiens", "grch38", true); Assert.assertNull(validated.getApiKey()); } @@ -101,7 +101,7 @@ public void testApiKeyEmpty() throws IOException { public void testMalformedApiKey() throws IOException { thrown.expectMessage("Malformed API key for cellbase"); String apiKey = "MALFORMED_API_KEY"; - CellBaseConfiguration validated = CellBaseValidator.validate(new CellBaseConfiguration(ParamConstants.CELLBASE_URL, "v5.4", null, apiKey), "hsapiens", "grch38", true); + CellBaseConfiguration validated = CellBaseValidator.validate(new CellBaseConfiguration(ParamConstants.CELLBASE_URL, "v5.8", null, apiKey), "hsapiens", "grch38", true); Assert.assertNotNull(validated.getApiKey()); } @@ -109,7 +109,7 @@ public void testMalformedApiKey() throws IOException { public void testUnsignedApiKey() throws IOException { thrown.expectMessage("Invalid API key for cellbase"); String apiKey = "eyJhbGciOiJIUzI1NiJ9.eyJzb3VyY2VzIjp7ImhnbWQiOjkyMjMzNzIwMzY4NTQ3NzU4MDd9LCJ2ZXJzaW9uIjoiMS4wIiwic3ViIjoiWkVUVEEiLCJpYXQiOjE2OTMyMTY5MDd9.invalidsignature"; - CellBaseConfiguration validated = CellBaseValidator.validate(new CellBaseConfiguration(ParamConstants.CELLBASE_URL, "v5.4", null, apiKey), "hsapiens", "grch38", true); + CellBaseConfiguration validated = CellBaseValidator.validate(new CellBaseConfiguration(ParamConstants.CELLBASE_URL, "v5.8", null, apiKey), "hsapiens", "grch38", true); Assert.assertNotNull(validated.getApiKey()); } diff --git a/opencga-storage/opencga-storage-core/src/test/java/org/opencb/opencga/storage/core/utils/CellBaseUtilsTest.java b/opencga-storage/opencga-storage-core/src/test/java/org/opencb/opencga/storage/core/utils/CellBaseUtilsTest.java index 93cb92e8899..2fa0ae32221 100644 --- a/opencga-storage/opencga-storage-core/src/test/java/org/opencb/opencga/storage/core/utils/CellBaseUtilsTest.java +++ b/opencga-storage/opencga-storage-core/src/test/java/org/opencb/opencga/storage/core/utils/CellBaseUtilsTest.java @@ -55,20 +55,10 @@ public class CellBaseUtilsTest { @Parameters(name = "{0}{1}/?assembly={2}%dataRelease={3}") public static List data() { return Arrays.asList( - new Object[]{"http://ws.opencb.org/cellbase-4.7.3/", "v4", "grch37", null}, - new Object[]{"http://ws.opencb.org/cellbase-4.8.2/", "v4", "grch37", null}, -// new Object[]{"http://ws.opencb.org/cellbase-4.8.3/", "v4", "grch37", null}, -// new Object[]{"http://ws.opencb.org/cellbase-4.9.0/", "v4", "grch37", null}, -// new Object[]{"http://ws.opencb.org/cellbase/", "v4", "grch37", null}, - -// new Object[]{"https://uk.ws.zettagenomics.com/cellbase/", "v5.3", "grch37", "1"}, -// new Object[]{"https://uk.ws.zettagenomics.com/cellbase/", "v5.3", "grch38", "2"}, - new Object[]{"https://ws.zettagenomics.com/cellbase/", "v5", "grch38", null}, - new Object[]{"https://ws.zettagenomics.com/cellbase/", "v5.1", "grch38", "1"}, - new Object[]{"https://ws.zettagenomics.com/cellbase/", "v5.1", "grch38", "2"}, new Object[]{"https://uk.ws.zettagenomics.com/cellbase/", "v5.2", "grch37", "1"}, - new Object[]{"https://uk.ws.zettagenomics.com/cellbase/", "v5.2", "grch38", "2"}, - new Object[]{"https://uk.ws.zettagenomics.com/cellbase/", "v5.4", "grch38", "3"}); + new Object[]{"https://uk.ws.zettagenomics.com/cellbase/", "v5.2", "grch38", "3"}, + new Object[]{"https://uk.ws.zettagenomics.com/cellbase/", "v5.8", "grch37", "1"}, + new Object[]{"https://uk.ws.zettagenomics.com/cellbase/", "v5.8", "grch38", "3"}); } @Parameter(0) @@ -206,7 +196,6 @@ public void convertGeneToRegionFail() { @Test public void validateGeneNames() { - Assume.assumeTrue(!version.startsWith("v4")); Assume.assumeFalse("HGNC ids not supported in GRCH37", assembly.equalsIgnoreCase("grch37")); List validated = cellBaseUtils.validateGenes(Arrays.asList("BRCA2", "NonExistingGene", "HGNC:12363"), true); assertEquals(Arrays.asList("BRCA2", "TSC2"), validated); @@ -215,6 +204,7 @@ public void validateGeneNames() { @Test @Ignore public void testGetVariant() throws Exception { + Assume.assumeFalse(assembly.equalsIgnoreCase("grch37")); assertEquals(new Variant("19:44934489:G:A"), cellBaseUtils.getVariant("rs2571174")); assertEquals(Arrays.asList(new Variant("19:44934489:G:A"), new Variant("1:7797503:C:G")), cellBaseUtils.getVariants(Arrays.asList("rs2571174", "rs41278952"))); diff --git a/opencga-storage/opencga-storage-core/src/test/java/org/opencb/opencga/storage/core/variant/VariantStorageEngineSVTest.java b/opencga-storage/opencga-storage-core/src/test/java/org/opencb/opencga/storage/core/variant/VariantStorageEngineSVTest.java index a581ae3f2b0..fe7cebbd6a4 100644 --- a/opencga-storage/opencga-storage-core/src/test/java/org/opencb/opencga/storage/core/variant/VariantStorageEngineSVTest.java +++ b/opencga-storage/opencga-storage-core/src/test/java/org/opencb/opencga/storage/core/variant/VariantStorageEngineSVTest.java @@ -56,8 +56,8 @@ public void before() throws Exception { protected void loadFiles() throws Exception { variantStorageEngine.getConfiguration().getCellbase().setUrl(ParamConstants.CELLBASE_URL); - variantStorageEngine.getConfiguration().getCellbase().setVersion("v5.1"); - variantStorageEngine.getConfiguration().getCellbase().setDataRelease("2"); + variantStorageEngine.getConfiguration().getCellbase().setVersion("v5.2"); + variantStorageEngine.getConfiguration().getCellbase().setDataRelease("3"); variantStorageEngine.getOptions().put(VariantStorageOptions.ASSEMBLY.key(), "grch38"); variantStorageEngine.reloadCellbaseConfiguration(); diff --git a/opencga-storage/opencga-storage-core/src/test/java/org/opencb/opencga/storage/core/variant/annotation/VariantAnnotationManagerTest.java b/opencga-storage/opencga-storage-core/src/test/java/org/opencb/opencga/storage/core/variant/annotation/VariantAnnotationManagerTest.java index 26b5dcfad4f..36f3d767be6 100644 --- a/opencga-storage/opencga-storage-core/src/test/java/org/opencb/opencga/storage/core/variant/annotation/VariantAnnotationManagerTest.java +++ b/opencga-storage/opencga-storage-core/src/test/java/org/opencb/opencga/storage/core/variant/annotation/VariantAnnotationManagerTest.java @@ -92,8 +92,8 @@ public void testChangeAnnotatorFail() throws Exception { public void testChangeDataRelease() throws Exception { VariantStorageEngine variantStorageEngine = getVariantStorageEngine(); variantStorageEngine.getConfiguration().getCellbase().setUrl(ParamConstants.CELLBASE_URL); - variantStorageEngine.getConfiguration().getCellbase().setVersion("v5"); - variantStorageEngine.getConfiguration().getCellbase().setDataRelease(null); + variantStorageEngine.getConfiguration().getCellbase().setVersion("v5.2"); + variantStorageEngine.getConfiguration().getCellbase().setDataRelease("2"); variantStorageEngine.getOptions().put(VariantStorageOptions.ASSEMBLY.key(), "grch38"); variantStorageEngine.reloadCellbaseConfiguration(); variantStorageEngine.getCellBaseUtils().validate(); @@ -103,10 +103,10 @@ public void testChangeDataRelease() throws Exception { // First annotation. Should run ok. variantStorageEngine.annotate(outputUri, new ObjectMap()); - assertNull(variantStorageEngine.getMetadataManager().getProjectMetadata().getAnnotation().getCurrent().getDataRelease()); + assertEquals(2, variantStorageEngine.getMetadataManager().getProjectMetadata().getAnnotation().getCurrent().getDataRelease().getRelease()); - variantStorageEngine.getConfiguration().getCellbase().setVersion("v5.1"); - variantStorageEngine.getConfiguration().getCellbase().setDataRelease("1"); + variantStorageEngine.getConfiguration().getCellbase().setVersion("v5.8"); + variantStorageEngine.getConfiguration().getCellbase().setDataRelease("2"); variantStorageEngine.reloadCellbaseConfiguration(); // New annotator. Do not overwrite. Should fail. @@ -119,10 +119,10 @@ public void testChangeDataRelease() throws Exception { // New annotator. Overwrite. Should run ok. variantStorageEngine.annotate(outputUri, new ObjectMap(VariantStorageOptions.ANNOTATION_OVERWEITE.key(), true)); - assertEquals("1", String.valueOf(variantStorageEngine.getMetadataManager().getProjectMetadata().getAnnotation().getCurrent().getDataRelease().getRelease())); + assertEquals(2, variantStorageEngine.getMetadataManager().getProjectMetadata().getAnnotation().getCurrent().getDataRelease().getRelease()); - variantStorageEngine.getConfiguration().getCellbase().setDataRelease("2"); + variantStorageEngine.getConfiguration().getCellbase().setDataRelease("3"); variantStorageEngine.reloadCellbaseConfiguration(); // Same annotator, new datarelease. Do not overwrite. Should fail. @@ -131,16 +131,16 @@ public void testChangeDataRelease() throws Exception { fail("Should fail"); } catch (Exception e) { e.printStackTrace(); - assertEquals("DataRelease has changed. Existing annotation calculated with dataRelease 1, attempting to annotate with 2", e.getMessage()); + assertEquals("DataRelease has changed. Existing annotation calculated with dataRelease 2, attempting to annotate with 3", e.getMessage()); } // Same annotator, new datarelease. Overwrite. Should run ok. variantStorageEngine.annotate(outputUri, new ObjectMap(VariantStorageOptions.ANNOTATION_OVERWEITE.key(), true)); - assertEquals("2", String.valueOf(variantStorageEngine.getMetadataManager().getProjectMetadata().getAnnotation().getCurrent().getDataRelease().getRelease())); + assertEquals(3, variantStorageEngine.getMetadataManager().getProjectMetadata().getAnnotation().getCurrent().getDataRelease().getRelease()); - // Revert annotator to 5.0. Do not overwrite. Should fail. - variantStorageEngine.getConfiguration().getCellbase().setDataRelease(null); - variantStorageEngine.getConfiguration().getCellbase().setVersion("v5.0"); + // Revert annotator to 5.2. Do not overwrite. Should fail. + variantStorageEngine.getConfiguration().getCellbase().setDataRelease("3"); + variantStorageEngine.getConfiguration().getCellbase().setVersion("v5.2"); variantStorageEngine.reloadCellbaseConfiguration(); try { variantStorageEngine.annotate(outputUri, new ObjectMap(VariantStorageOptions.ANNOTATION_OVERWEITE.key(), false)); @@ -149,9 +149,9 @@ public void testChangeDataRelease() throws Exception { e.printStackTrace(); } - // Revert annotator to 5.0. Do not overwrite. Should run ok. + // Revert annotator to 5.2 Overwrite. Should run ok. variantStorageEngine.annotate(outputUri, new ObjectMap(VariantStorageOptions.ANNOTATION_OVERWEITE.key(), true)); - assertNull(variantStorageEngine.getMetadataManager().getProjectMetadata().getAnnotation().getCurrent().getDataRelease()); + assertEquals(3, variantStorageEngine.getMetadataManager().getProjectMetadata().getAnnotation().getCurrent().getDataRelease().getRelease()); } @Test diff --git a/opencga-storage/opencga-storage-core/src/test/java/org/opencb/opencga/storage/core/variant/annotation/annotators/VariantAnnotatorByApiKeyTest.java b/opencga-storage/opencga-storage-core/src/test/java/org/opencb/opencga/storage/core/variant/annotation/annotators/VariantAnnotatorByApiKeyTest.java index 02ae9aded18..7365159a501 100644 --- a/opencga-storage/opencga-storage-core/src/test/java/org/opencb/opencga/storage/core/variant/annotation/annotators/VariantAnnotatorByApiKeyTest.java +++ b/opencga-storage/opencga-storage-core/src/test/java/org/opencb/opencga/storage/core/variant/annotation/annotators/VariantAnnotatorByApiKeyTest.java @@ -35,11 +35,11 @@ public void setUp() throws Exception { String url = "https://uk.ws.zettagenomics.com/cellbase/"; storageConfiguration.getCellbase().setUrl(url); storageConfiguration.getCellbase().setDataRelease("3"); - storageConfiguration.getCellbase().setVersion("v5.4"); + storageConfiguration.getCellbase().setVersion("v5.8"); storageConfiguration.getCellbase().setApiKey(null); CellBaseUtils cellBaseUtils = new CellBaseUtils(new CellBaseClient(storageConfiguration.getCellbase().toClientConfiguration())); - Assume.assumeTrue(cellBaseUtils.isMinVersion("v5.4")); + Assume.assumeTrue(cellBaseUtils.isMinVersion("v5.8")); projectMetadata = new ProjectMetadata("hsapiens", "grch38", "3", 1, null, null, null); } diff --git a/opencga-storage/opencga-storage-core/src/test/java/org/opencb/opencga/storage/core/variant/annotation/annotators/VariantAnnotatorTest.java b/opencga-storage/opencga-storage-core/src/test/java/org/opencb/opencga/storage/core/variant/annotation/annotators/VariantAnnotatorTest.java index ecc48098006..052a55cfcea 100644 --- a/opencga-storage/opencga-storage-core/src/test/java/org/opencb/opencga/storage/core/variant/annotation/annotators/VariantAnnotatorTest.java +++ b/opencga-storage/opencga-storage-core/src/test/java/org/opencb/opencga/storage/core/variant/annotation/annotators/VariantAnnotatorTest.java @@ -110,11 +110,10 @@ public void testErrorVariant() throws VariantAnnotatorException { testAnnotator.annotate(Arrays.asList(new Variant("10:999:A:C"), new Variant("10:1000:A:C"), new Variant("10:1001:A:C"))); } - @Ignore @Test public void useCellBaseApiKeys() throws VariantAnnotatorException { storageConfiguration.getCellbase().setUrl("https://uk.ws.zettagenomics.com/cellbase/"); - storageConfiguration.getCellbase().setVersion("v5.4"); + storageConfiguration.getCellbase().setVersion("v5.8"); storageConfiguration.getCellbase().setDataRelease("3"); VariantAnnotator variantAnnotator = null; diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/index/family/FamilyIndexTest.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/index/family/FamilyIndexTest.java index 034e676c1b4..ccafd14be63 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/index/family/FamilyIndexTest.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/index/family/FamilyIndexTest.java @@ -66,8 +66,8 @@ public void before() throws Exception { if (!loaded) { HadoopVariantStorageEngine variantStorageEngine = getVariantStorageEngine(); variantStorageEngine.getConfiguration().getCellbase().setUrl(ParamConstants.CELLBASE_URL); - variantStorageEngine.getConfiguration().getCellbase().setVersion("v5.1"); - variantStorageEngine.getConfiguration().getCellbase().setDataRelease("2"); + variantStorageEngine.getConfiguration().getCellbase().setVersion("v5.2"); + variantStorageEngine.getConfiguration().getCellbase().setDataRelease("3"); variantStorageEngine.getOptions().put(VariantStorageOptions.ASSEMBLY.key(), "grch38"); variantStorageEngine.reloadCellbaseConfiguration(); URI outputUri = newOutputUri(); diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/index/sample/SampleIndexTest.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/index/sample/SampleIndexTest.java index 34dbdecc1cc..922c2648f4d 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/index/sample/SampleIndexTest.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/index/sample/SampleIndexTest.java @@ -222,13 +222,6 @@ public void load() throws Exception { // ---------------- Annotate -// variantStorageEngine.getConfiguration().getCellbase().setUrl(ParamConstants.CELLBASE_URL); -// variantStorageEngine.getConfiguration().getCellbase().setVersion("v5.1"); -// variantStorageEngine.getMetadataManager().updateProjectMetadata(projectMetadata -> { -// projectMetadata.setAssembly("grch38"); -// }); -// variantStorageEngine.getOptions().put(VariantStorageOptions.ASSEMBLY.key(), "grch38"); -// this.variantStorageEngine.reloadCellbaseConfiguration(); this.variantStorageEngine.annotate(outputUri, new QueryOptions()); engine.familyIndex(STUDY_NAME_3, triosPlatinum, new ObjectMap()); From 7f596faaec7b53c14a96dd819dbb36fa6242dbc1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Coll=20Morag=C3=B3n?= Date: Fri, 16 Feb 2024 09:00:21 +0000 Subject: [PATCH 46/89] storage: Fix NPE at PhoenixCompat hbase2.4 #TASK-5663 --- .../hadoop/variant/annotation/phoenix/PhoenixCompat.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.4/src/main/java/org/opencb/opencga/storage/hadoop/variant/annotation/phoenix/PhoenixCompat.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.4/src/main/java/org/opencb/opencga/storage/hadoop/variant/annotation/phoenix/PhoenixCompat.java index ea182e46340..7f20f926ad9 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.4/src/main/java/org/opencb/opencga/storage/hadoop/variant/annotation/phoenix/PhoenixCompat.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.4/src/main/java/org/opencb/opencga/storage/hadoop/variant/annotation/phoenix/PhoenixCompat.java @@ -7,18 +7,25 @@ import org.apache.phoenix.iterate.ParallelScanGrouper; import org.apache.phoenix.mapreduce.PhoenixRecordReader; import org.apache.phoenix.schema.PColumn; +import org.apache.phoenix.schema.PName; import org.apache.phoenix.schema.PTable; import org.apache.phoenix.schema.PTableImpl; import java.lang.reflect.Constructor; import java.sql.SQLException; +import java.util.Collections; import java.util.List; public class PhoenixCompat implements PhoenixCompatApi { @Override public PTable makePTable(List columns) throws SQLException { - return new PTableImpl.Builder().setColumns(columns).build(); + return new PTableImpl.Builder() + .setName(PName.EMPTY_NAME) + .setColumns(columns) + .setIndexes(Collections.emptyList()) + .setPhysicalNames(Collections.emptyList()) + .build(); } @Override From dbe056fbbf5b5dd4284a119f1ba76380a8dea743 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Coll=20Morag=C3=B3n?= Date: Fri, 16 Feb 2024 09:04:54 +0000 Subject: [PATCH 47/89] cicd: Update actions #TASK-5663 --- .github/workflows/check-junit-test.yml | 2 +- .github/workflows/test-analysis.yml | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/check-junit-test.yml b/.github/workflows/check-junit-test.yml index f63445dde16..2da29430149 100644 --- a/.github/workflows/check-junit-test.yml +++ b/.github/workflows/check-junit-test.yml @@ -38,7 +38,7 @@ jobs: outputs: profiles: ${{ steps.getter.outputs.profiles }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: '10' - name: Building string profiles to run diff --git a/.github/workflows/test-analysis.yml b/.github/workflows/test-analysis.yml index 905915f20b8..7771d2414e1 100644 --- a/.github/workflows/test-analysis.yml +++ b/.github/workflows/test-analysis.yml @@ -26,11 +26,11 @@ jobs: name: Execute Sonar Analysis runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: '0' - name: Set up JDK 11 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: '17' @@ -53,11 +53,11 @@ jobs: name: Execute JUnit and Jacoco tests runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: '0' - name: Set up JDK 8 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: '8' @@ -80,7 +80,7 @@ jobs: - name: Run Junit tests run: mvn -B verify surefire-report:report --fail-never -P ${{ inputs.hadoop }},${{ inputs.test_profile }} -Dcheckstyle.skip ${{ inputs.mvn_opts }} - name: Publish Test Report - uses: scacap/action-surefire-report@v1 + uses: scacap/action-surefire-report@v2 env: NODE_OPTIONS: '--max_old_space_size=4096' ## Skip cancelled() From ebd1a228e26cb001cf0b0263f8bbc08b5013f991 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Coll=20Morag=C3=B3n?= Date: Fri, 16 Feb 2024 09:08:39 +0000 Subject: [PATCH 48/89] cicd: Fix action version #TASK-5663 --- .github/workflows/test-analysis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-analysis.yml b/.github/workflows/test-analysis.yml index 7771d2414e1..1976cdd6541 100644 --- a/.github/workflows/test-analysis.yml +++ b/.github/workflows/test-analysis.yml @@ -80,7 +80,7 @@ jobs: - name: Run Junit tests run: mvn -B verify surefire-report:report --fail-never -P ${{ inputs.hadoop }},${{ inputs.test_profile }} -Dcheckstyle.skip ${{ inputs.mvn_opts }} - name: Publish Test Report - uses: scacap/action-surefire-report@v2 + uses: scacap/action-surefire-report@v1 env: NODE_OPTIONS: '--max_old_space_size=4096' ## Skip cancelled() From 6ffb513bb333e809793199f2e60909e40922b0c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Coll=20Morag=C3=B3n?= Date: Fri, 16 Feb 2024 09:22:52 +0000 Subject: [PATCH 49/89] cicd: Add detailed check_name to surefire reports. #TASK-5663 --- .github/workflows/test-analysis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-analysis.yml b/.github/workflows/test-analysis.yml index 1976cdd6541..b9aafdb0d9f 100644 --- a/.github/workflows/test-analysis.yml +++ b/.github/workflows/test-analysis.yml @@ -87,7 +87,7 @@ jobs: ## https://docs.github.com/en/actions/learn-github-actions/expressions#cancelled if: success() || failure() with: - check_name: "Surefire tests report" + check_name: "Surefire tests report ${{ inputs.hadoop }} ${{ inputs.test_profile }}" report_paths: './**/surefire-reports/TEST-*.xml' commit: '${{ github.sha }}' fail_on_test_failures: true From 51f1bbdc0ee02a03dcb769a4f612b7ab8ce7f099 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Coll=20Morag=C3=B3n?= Date: Fri, 16 Feb 2024 09:41:38 +0000 Subject: [PATCH 50/89] storage: Remove extra system.out #TASK-5663 --- .../storage/core/metadata/VariantStorageMetadataManager.java | 2 -- .../core/variant/adaptors/VariantDBAdaptorMultiFileTest.java | 4 ---- .../storage/core/variant/io/VariantWriterFactoryTest.java | 2 -- .../storage/hadoop/utils/PersistentResultScannerTest.java | 3 ++- 4 files changed, 2 insertions(+), 9 deletions(-) diff --git a/opencga-storage/opencga-storage-core/src/main/java/org/opencb/opencga/storage/core/metadata/VariantStorageMetadataManager.java b/opencga-storage/opencga-storage-core/src/main/java/org/opencb/opencga/storage/core/metadata/VariantStorageMetadataManager.java index cf4477bb4f1..103e8568bce 100644 --- a/opencga-storage/opencga-storage-core/src/main/java/org/opencb/opencga/storage/core/metadata/VariantStorageMetadataManager.java +++ b/opencga-storage/opencga-storage-core/src/main/java/org/opencb/opencga/storage/core/metadata/VariantStorageMetadataManager.java @@ -1650,8 +1650,6 @@ public int registerSecondaryIndexSamples(int studyId, List samples, bool CohortMetadata secondaryIndexCohort = getCohortMetadata(studyId, id); if (secondaryIndexCohort.getSamples().size() != sampleIds.size() || !secondaryIndexCohort.getSamples().containsAll(sampleIds)) { - System.out.println("secondaryIndexCohort = " + secondaryIndexCohort.getSamples()); - System.out.println("sampleIds = " + sampleIds); throw new StorageEngineException("Must provide all the samples from the secondary index: " + secondaryIndexCohort.getSamples() .stream() diff --git a/opencga-storage/opencga-storage-core/src/test/java/org/opencb/opencga/storage/core/variant/adaptors/VariantDBAdaptorMultiFileTest.java b/opencga-storage/opencga-storage-core/src/test/java/org/opencb/opencga/storage/core/variant/adaptors/VariantDBAdaptorMultiFileTest.java index 0c3a516bb3d..6291344e0e3 100644 --- a/opencga-storage/opencga-storage-core/src/test/java/org/opencb/opencga/storage/core/variant/adaptors/VariantDBAdaptorMultiFileTest.java +++ b/opencga-storage/opencga-storage-core/src/test/java/org/opencb/opencga/storage/core/variant/adaptors/VariantDBAdaptorMultiFileTest.java @@ -145,10 +145,6 @@ public void testRelease() throws Exception { Integer minFileId = variant.getStudies().stream() .flatMap(s -> s.getFiles().stream()) .map(FileEntry::getFileId) - .map(s->{ - System.out.println("s = " + s); - return s; - }) .map(s -> StringUtils.removeStart(s, "1K.end.platinum-genomes-vcf-NA")) .map(s -> StringUtils.removeEnd(s, "_S1.genome.vcf.gz")) .map(Integer::valueOf) diff --git a/opencga-storage/opencga-storage-core/src/test/java/org/opencb/opencga/storage/core/variant/io/VariantWriterFactoryTest.java b/opencga-storage/opencga-storage-core/src/test/java/org/opencb/opencga/storage/core/variant/io/VariantWriterFactoryTest.java index 32ef120f888..221a126cd92 100644 --- a/opencga-storage/opencga-storage-core/src/test/java/org/opencb/opencga/storage/core/variant/io/VariantWriterFactoryTest.java +++ b/opencga-storage/opencga-storage-core/src/test/java/org/opencb/opencga/storage/core/variant/io/VariantWriterFactoryTest.java @@ -30,7 +30,6 @@ import org.opencb.opencga.storage.core.exceptions.StorageEngineException; import org.opencb.opencga.storage.core.metadata.models.StudyMetadata; import org.opencb.opencga.storage.core.variant.dummy.DummyVariantDBAdaptor; -import org.opencb.opencga.storage.core.variant.dummy.DummyVariantStorageEngine; import org.opencb.opencga.storage.core.variant.dummy.DummyVariantStorageMetadataDBAdaptorFactory; import java.io.ByteArrayOutputStream; @@ -101,7 +100,6 @@ public void testContigLengthNull() throws IOException, StorageEngineException { writer.close(); String s = outputStream.toString(); - System.out.println("s = " + s); assertThat(s, containsString("##contig=")); assertThat(s, containsString("##contig=")); assertThat(s, containsString("##contig=")); diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/utils/PersistentResultScannerTest.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/utils/PersistentResultScannerTest.java index cc21d397061..a7cd3fea113 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/utils/PersistentResultScannerTest.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/utils/PersistentResultScannerTest.java @@ -63,7 +63,8 @@ public void test() throws Exception { int i = 0; for (Iterator iterator = scanner.iterator(); iterator.hasNext(); ) { Result result = iterator.next(); - System.out.println(Bytes.toString(result.getRow())); + assertNotNull(result); + assertNotNull(result.getRow()); i++; if (i == 50 || i == 99) { int scannersCount = persistentScanner.getScannersCount(); From 20111211657be776bc69d355a14ef38e372f0d17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Coll=20Morag=C3=B3n?= Date: Fri, 16 Feb 2024 11:04:28 +0000 Subject: [PATCH 51/89] master: Fix organizationID at ExecutionDaemonTest #TASK-5663 --- .../catalog/managers/AbstractManagerTest.java | 18 +++++++++--------- .../monitor/daemons/ExecutionDaemonTest.java | 4 ++-- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/opencga-catalog/src/test/java/org/opencb/opencga/catalog/managers/AbstractManagerTest.java b/opencga-catalog/src/test/java/org/opencb/opencga/catalog/managers/AbstractManagerTest.java index 597ae55ca08..0cc07448249 100644 --- a/opencga-catalog/src/test/java/org/opencb/opencga/catalog/managers/AbstractManagerTest.java +++ b/opencga-catalog/src/test/java/org/opencb/opencga/catalog/managers/AbstractManagerTest.java @@ -75,23 +75,23 @@ public class AbstractManagerTest extends GenericTest { public static Path mongoDumpFolder; protected CatalogManager catalogManager; - protected String organizationId = "test"; + protected final static String organizationId = "test"; protected String opencgaToken; - protected String orgOwnerUserId = "owner"; + protected final static String orgOwnerUserId = "owner"; protected String ownerToken; - protected String orgAdminUserId1 = "orgAdminUser1"; + protected final static String orgAdminUserId1 = "orgAdminUser1"; protected String orgAdminToken1; - protected String orgAdminUserId2 = "orgAdminUser2"; + protected final static String orgAdminUserId2 = "orgAdminUser2"; protected String orgAdminToken2; - protected String studyAdminUserId1 = "studyAdminUser1"; + protected final static String studyAdminUserId1 = "studyAdminUser1"; protected String studyAdminToken1; - protected String normalUserId1 = "normalUser1"; + protected final static String normalUserId1 = "normalUser1"; protected String normalToken1; - protected String normalUserId2 = "normalUser2"; + protected final static String normalUserId2 = "normalUser2"; protected String normalToken2; - protected String normalUserId3 = "normalUser3"; + protected final static String normalUserId3 = "normalUser3"; protected String normalToken3; - protected String noAccessUserId1 = "noAccessUserId1"; + protected final static String noAccessUserId1 = "noAccessUserId1"; protected String noAccessToken1; protected String restrictedGroup = "@restrictedGroup"; // normalUserId2, normalUserId3 diff --git a/opencga-master/src/test/java/org/opencb/opencga/master/monitor/daemons/ExecutionDaemonTest.java b/opencga-master/src/test/java/org/opencb/opencga/master/monitor/daemons/ExecutionDaemonTest.java index 3380d8f022e..2b9469e77f7 100644 --- a/opencga-master/src/test/java/org/opencb/opencga/master/monitor/daemons/ExecutionDaemonTest.java +++ b/opencga-master/src/test/java/org/opencb/opencga/master/monitor/daemons/ExecutionDaemonTest.java @@ -82,11 +82,11 @@ public void setUp() throws Exception { super.setUp(); String expiringToken = this.catalogManager.getUserManager().loginAsAdmin(TestParamConstants.ADMIN_PASSWORD).getToken(); - String nonExpiringToken = this.catalogManager.getUserManager().getNonExpiringToken(organizationId, "opencga", Collections.emptyMap(), expiringToken); + String nonExpiringToken = this.catalogManager.getUserManager().getNonExpiringToken(ParamConstants.ADMIN_ORGANIZATION, ParamConstants.OPENCGA_USER_ID, Collections.emptyMap(), expiringToken); catalogManager.getConfiguration().getAnalysis().getExecution().getMaxConcurrentJobs().put(VariantIndexOperationTool.ID, 1); daemon = new ExecutionDaemon(1000, nonExpiringToken, catalogManager, - new StorageConfiguration().setMode(StorageConfiguration.Mode.READ_WRITE), "/tmp"); + new StorageConfiguration().setMode(StorageConfiguration.Mode.READ_WRITE), catalogManagerResource.getOpencgaHome().toString()); executor = new DummyBatchExecutor(); daemon.batchExecutor = executor; From 4113783193fadffbcb5c4906a338b025e9df6d3d Mon Sep 17 00:00:00 2001 From: pfurio Date: Fri, 16 Feb 2024 12:51:31 +0100 Subject: [PATCH 52/89] master: fix some master tests, #TASK-5663 --- .../analysis/family/FamilyAnalysisTest.java | 2 +- .../monitor/daemons/ExecutionDaemon.java | 10 +++---- .../monitor/daemons/ExecutionDaemonTest.java | 29 ++++++++++--------- 3 files changed, 20 insertions(+), 21 deletions(-) diff --git a/opencga-analysis/src/test/java/org/opencb/opencga/analysis/family/FamilyAnalysisTest.java b/opencga-analysis/src/test/java/org/opencb/opencga/analysis/family/FamilyAnalysisTest.java index d8e54980a50..bd4944f868a 100644 --- a/opencga-analysis/src/test/java/org/opencb/opencga/analysis/family/FamilyAnalysisTest.java +++ b/opencga-analysis/src/test/java/org/opencb/opencga/analysis/family/FamilyAnalysisTest.java @@ -47,7 +47,6 @@ public class FamilyAnalysisTest extends GenericTest { - public final static String STUDY = "user@1000G:phase1"; public static final String USER = "user"; @Rule public ExpectedException thrown = ExpectedException.none(); @@ -61,6 +60,7 @@ public class FamilyAnalysisTest extends GenericTest { protected static String sessionIdUser; private static String ORGANIZATION = "test"; + public final static String STUDY = ORGANIZATION + "@1000G:phase1"; protected static Family family; protected static Family family2; diff --git a/opencga-master/src/main/java/org/opencb/opencga/master/monitor/daemons/ExecutionDaemon.java b/opencga-master/src/main/java/org/opencb/opencga/master/monitor/daemons/ExecutionDaemon.java index c075cd994ae..d83377d4a4f 100644 --- a/opencga-master/src/main/java/org/opencb/opencga/master/monitor/daemons/ExecutionDaemon.java +++ b/opencga-master/src/main/java/org/opencb/opencga/master/monitor/daemons/ExecutionDaemon.java @@ -611,7 +611,8 @@ protected void checkToolExecutionPermission(String organizationId, Job job) thro AuthorizationManager authorizationManager = catalogManager.getAuthorizationManager(); String user = job.getUserId(); - JwtPayload jwtPayload = catalogManager.getUserManager().validateToken(token); + String userToken = catalogManager.getUserManager().getNonExpiringToken(organizationId, user, null, token); + JwtPayload jwtPayload = catalogManager.getUserManager().validateToken(userToken); if (storageConfiguration.getMode() == StorageConfiguration.Mode.READ_ONLY) { // Hard check. Within READ_ONLY mode, if the tool is an operation on variant, rga or alignment, we forbid it. @@ -639,11 +640,8 @@ protected void checkToolExecutionPermission(String organizationId, Job job) thro // Only organization owners or administrators can run tools with scope organization authorizationManager.checkIsOrganizationOwnerOrAdmin(organizationId, user); } else { - long studyUid = catalogManager.getStudyManager().get(job.getStudy().getId(), new QueryOptions(QueryOptions.INCLUDE, - StudyDBAdaptor.QueryParams.UID.key()), token).first().getUid(); - if (authorizationManager.isOrganizationOwnerOrAdmin(organizationId, user) - || authorizationManager.isStudyAdministrator(organizationId, studyUid, user)) { - // Study and organization administrators can run tools with scope study or project + if (authorizationManager.isOrganizationOwnerOrAdmin(organizationId, user)) { + // Organization administrators can run tools with scope study or project return; } diff --git a/opencga-master/src/test/java/org/opencb/opencga/master/monitor/daemons/ExecutionDaemonTest.java b/opencga-master/src/test/java/org/opencb/opencga/master/monitor/daemons/ExecutionDaemonTest.java index 3380d8f022e..4c23024923e 100644 --- a/opencga-master/src/test/java/org/opencb/opencga/master/monitor/daemons/ExecutionDaemonTest.java +++ b/opencga-master/src/test/java/org/opencb/opencga/master/monitor/daemons/ExecutionDaemonTest.java @@ -82,10 +82,9 @@ public void setUp() throws Exception { super.setUp(); String expiringToken = this.catalogManager.getUserManager().loginAsAdmin(TestParamConstants.ADMIN_PASSWORD).getToken(); - String nonExpiringToken = this.catalogManager.getUserManager().getNonExpiringToken(organizationId, "opencga", Collections.emptyMap(), expiringToken); catalogManager.getConfiguration().getAnalysis().getExecution().getMaxConcurrentJobs().put(VariantIndexOperationTool.ID, 1); - daemon = new ExecutionDaemon(1000, nonExpiringToken, catalogManager, + daemon = new ExecutionDaemon(1000, expiringToken, catalogManager, new StorageConfiguration().setMode(StorageConfiguration.Mode.READ_WRITE), "/tmp"); executor = new DummyBatchExecutor(); daemon.batchExecutor = executor; @@ -216,22 +215,24 @@ public void testNotEmptyOutDir() throws Exception { @Test public void testProjectScopeTask() throws Exception { // User 2 to admins group in study1 but not in study2 - catalogManager.getStudyManager().updateGroup(studyFqn, "@admins", ParamUtils.BasicUpdateAction.ADD, - new GroupUpdateParams(Collections.singletonList("user2")), ownerToken); + catalogManager.getStudyManager().updateGroup(studyFqn, ParamConstants.ADMINS_GROUP, ParamUtils.BasicUpdateAction.ADD, + new GroupUpdateParams(Collections.singletonList(normalUserId2)), ownerToken); +// catalogManager.getStudyManager().updateAcl(studyFqn2, normalUserId2, new StudyAclParams().setTemplate(AuthorizationManager.ROLE_VIEW_ONLY), +// ParamUtils.AclAction.SET, ownerToken); // User 3 to admins group in both study1 and study2 - catalogManager.getStudyManager().updateGroup(studyFqn, "@admins", ParamUtils.BasicUpdateAction.ADD, - new GroupUpdateParams(Collections.singletonList("user3")), ownerToken); - catalogManager.getStudyManager().updateGroup(studyFqn2, "@admins", ParamUtils.BasicUpdateAction.ADD, - new GroupUpdateParams(Collections.singletonList("user3")), ownerToken); + catalogManager.getStudyManager().updateGroup(studyFqn, ParamConstants.ADMINS_GROUP, ParamUtils.BasicUpdateAction.ADD, + new GroupUpdateParams(Collections.singletonList(normalUserId3)), ownerToken); + catalogManager.getStudyManager().updateGroup(studyFqn2, ParamConstants.ADMINS_GROUP, ParamUtils.BasicUpdateAction.ADD, + new GroupUpdateParams(Collections.singletonList(normalUserId3)), ownerToken); HashMap params = new HashMap<>(); String jobId = catalogManager.getJobManager().submit(studyFqn, VariantAnnotationIndexOperationTool.ID, Enums.Priority.MEDIUM, params, "job1", "", null, null, ownerToken).first().getId(); String jobId2 = catalogManager.getJobManager().submit(studyFqn, VariantAnnotationIndexOperationTool.ID, Enums.Priority.MEDIUM, - params, "job2", "", null, null, orgAdminToken1).first().getId(); + params, "job2", "", null, null, normalToken2).first().getId(); String jobId3 = catalogManager.getJobManager().submit(studyFqn, VariantAnnotationIndexOperationTool.ID, Enums.Priority.MEDIUM, - params, "job3", "", null, null, orgAdminToken2).first().getId(); + params, "job3", "", null, null, normalToken3).first().getId(); daemon.checkPendingJobs(organizationIds); @@ -392,7 +393,7 @@ public void testCheckLogsNoPermissions() throws Exception { Job job = catalogManager.getJobManager().submit(studyFqn, "variant-index", Enums.Priority.MEDIUM, params, ownerToken).first(); String jobId = job.getId(); - catalogManager.getJobManager().updateAcl(studyFqn, Collections.singletonList(jobId), "user2", + catalogManager.getJobManager().updateAcl(studyFqn, Collections.singletonList(jobId), normalUserId2, new AclParams(JobPermissions.VIEW.name()), ParamUtils.AclAction.ADD, ownerToken); daemon.checkJobs(); @@ -415,7 +416,7 @@ public void testCheckLogsNoPermissions() throws Exception { Paths.get(job.getOutDir().getUri()).resolve(job.getId() + ".log").toUri()); thrown.expect(CatalogAuthorizationException.class); - catalogManager.getJobManager().log(studyFqn, jobId, 0, 1, "stdout", true, orgAdminToken1); + catalogManager.getJobManager().log(studyFqn, jobId, 0, 1, "stdout", true, normalToken2); } @Test @@ -493,9 +494,9 @@ public void testRegisterFilesSuccessfully() throws Exception { } files = catalogManager.getFileManager().count(studyFqn, new Query(FileDBAdaptor.QueryParams.JOB_ID.key(), ""), ownerToken); - assertEquals(10, files.getNumMatches()); + assertEquals(16, files.getNumMatches()); files = catalogManager.getFileManager().count(studyFqn, new Query(FileDBAdaptor.QueryParams.JOB_ID.key(), "NonE"), ownerToken); - assertEquals(10, files.getNumMatches()); + assertEquals(16, files.getNumMatches()); } @Test From caccbdc99e0b181e22cad7dfb6cb457fe0c82c41 Mon Sep 17 00:00:00 2001 From: pfurio Date: Fri, 16 Feb 2024 14:42:11 +0100 Subject: [PATCH 53/89] analysis: fix AbstractClinicalManagerTest, #TASK-5663 --- .../catalog/managers/AbstractClinicalManagerTest.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/opencga-catalog/src/test/java/org/opencb/opencga/catalog/managers/AbstractClinicalManagerTest.java b/opencga-catalog/src/test/java/org/opencb/opencga/catalog/managers/AbstractClinicalManagerTest.java index a2ad9fa78ab..3af2d35be82 100644 --- a/opencga-catalog/src/test/java/org/opencb/opencga/catalog/managers/AbstractClinicalManagerTest.java +++ b/opencga-catalog/src/test/java/org/opencb/opencga/catalog/managers/AbstractClinicalManagerTest.java @@ -31,6 +31,8 @@ import org.opencb.opencga.core.models.family.Family; import org.opencb.opencga.core.models.file.File; import org.opencb.opencga.core.models.individual.Individual; +import org.opencb.opencga.core.models.organizations.OrganizationCreateParams; +import org.opencb.opencga.core.models.organizations.OrganizationUpdateParams; import org.opencb.opencga.core.models.sample.Sample; import org.opencb.opencga.core.models.study.Study; import org.opencb.opencga.core.testclassification.duration.MediumTests; @@ -64,7 +66,7 @@ public class AbstractClinicalManagerTest extends GenericTest { public CatalogManagerExternalResource catalogManagerResource = new CatalogManagerExternalResource(); public CatalogManager catalogManager; - protected String organizationId; + protected final String organizationId = "test"; public String token; public String studyFqn; public Family family; @@ -81,8 +83,14 @@ public void setUp() throws IOException, CatalogException, URISyntaxException { public void setUpCatalogManager() throws IOException, CatalogException, URISyntaxException { ClinicalAnalysis auxClinicalAnalysis; + // Create new organization, owner and admins + catalogManager.getOrganizationManager().create(new OrganizationCreateParams().setId(organizationId).setName("Test"), QueryOptions.empty(), catalogManagerResource.getAdminToken()); catalogManager.getUserManager().create("user", "User Name", "mail@ebi.ac.uk", PASSWORD, organizationId, null, catalogManagerResource.getAdminToken()); + catalogManager.getOrganizationManager().update(organizationId, + new OrganizationUpdateParams().setOwner("user"), + null, catalogManagerResource.getAdminToken()); + token = catalogManager.getUserManager().login(organizationId, "user", PASSWORD).getToken(); catalogManager.getProjectManager().create("1000G", "Project about some genomes", "", "Homo sapiens", null, "GRCh38", From 6d5ed1540f1bd4bdb99281fc500bd6b246c4b78b Mon Sep 17 00:00:00 2001 From: pfurio Date: Fri, 16 Feb 2024 22:06:41 +0100 Subject: [PATCH 54/89] server: ignore SampleWSServerTest, #TASK-5663 --- .../org/opencb/opencga/server/rest/SampleWSServerTest.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/opencga-server/src/test/java/org/opencb/opencga/server/rest/SampleWSServerTest.java b/opencga-server/src/test/java/org/opencb/opencga/server/rest/SampleWSServerTest.java index 0bad60f08e3..56e034fb005 100644 --- a/opencga-server/src/test/java/org/opencb/opencga/server/rest/SampleWSServerTest.java +++ b/opencga-server/src/test/java/org/opencb/opencga/server/rest/SampleWSServerTest.java @@ -36,6 +36,7 @@ /** * Created by jacobo on 25/06/15. */ +@Ignore @Category(MediumTests.class) public class SampleWSServerTest { @@ -43,7 +44,7 @@ public class SampleWSServerTest { private WebTarget webTarget; private String sessionId; private String organizationId = "test"; - private String studyId = "user@1000G:phase1"; + private String studyId = organizationId + "@1000G:phase1"; private long in1; private long s1, s2, s3, s4; From 7aeb4dbcc56e7aee9494ea83418ef0edfc8a14b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20T=C3=A1rraga=20Gim=C3=A9nez?= Date: Mon, 19 Feb 2024 13:41:19 +0100 Subject: [PATCH 55/89] analysis: use job ID to create the catalog path for the generated BAI and BIGWIG files, #TASK-5645 --- .../analysis/alignment/AlignmentAnalysisUtils.java | 11 +++++------ .../analysis/alignment/AlignmentCoverageAnalysis.java | 2 +- .../analysis/alignment/AlignmentIndexOperation.java | 2 +- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentAnalysisUtils.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentAnalysisUtils.java index cbd21b3df58..c1933c0e65d 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentAnalysisUtils.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentAnalysisUtils.java @@ -28,14 +28,13 @@ public class AlignmentAnalysisUtils { - public static File linkAndUpdate(File bamCatalogFile, Path outPath, String study, CatalogManager catalogManager, String token) + public static File linkAndUpdate(File bamCatalogFile, Path outPath, String jobId, String study, CatalogManager catalogManager, String token) throws CatalogException, ToolException { // Link BW file and update sample info - FileLinkParams fileLinkParams = new FileLinkParams().setUri(outPath.toString()); - if (Paths.get(bamCatalogFile.getPath()).getParent() != null) { - fileLinkParams.setPath(Paths.get(bamCatalogFile.getPath()).getParent().resolve(outPath.getFileName()).toString()); - } - OpenCGAResult fileResult = catalogManager.getFileManager().link(study, fileLinkParams, false, token); + FileLinkParams fileLinkParams = new FileLinkParams() + .setUri(outPath.toString()) + .setPath(Paths.get(jobId).resolve(outPath.getFileName()).toString()); + OpenCGAResult fileResult = catalogManager.getFileManager().link(study, fileLinkParams, true, token); if (fileResult.getNumResults() != 1) { throw new ToolException("It could not link OpenCGA file catalog file for '" + outPath + "'"); } diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentCoverageAnalysis.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentCoverageAnalysis.java index d008ff93e04..2712d22b8f3 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentCoverageAnalysis.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentCoverageAnalysis.java @@ -186,7 +186,7 @@ protected void run() throws Exception { } // Link generated BIGWIG file and update samples info - AlignmentAnalysisUtils.linkAndUpdate(bamCatalogFile, bwPath, study, catalogManager, token); + AlignmentAnalysisUtils.linkAndUpdate(bamCatalogFile, bwPath, getJobId(), study, catalogManager, token); }); } } diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentIndexOperation.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentIndexOperation.java index 38d89cf2b5c..5aedd4f1162 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentIndexOperation.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/alignment/AlignmentIndexOperation.java @@ -103,7 +103,7 @@ protected void run() throws Exception { } // Link generated BAI file and update samples info, related file - File baiCatalogFile = AlignmentAnalysisUtils.linkAndUpdate(inputCatalogFile, outputPath, study, catalogManager, token); + File baiCatalogFile = AlignmentAnalysisUtils.linkAndUpdate(inputCatalogFile, outputPath, getJobId(), study, catalogManager, token); // Update BAM file internal in order to set the alignment index (BAI) FileInternalAlignmentIndex fileAlignmentIndex = new FileInternalAlignmentIndex(new InternalStatus(InternalStatus.READY), From 3d63787d071151f4f733a1fa27166b1e7b6d85f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Coll=20Morag=C3=B3n?= Date: Tue, 20 Feb 2024 11:07:18 +0000 Subject: [PATCH 56/89] json-data-model: Remove side-effect changes on json model output #TASK-5556 --- .../opencga/app/cli/CommandExecutor.java | 74 +++++-------------- .../generator/models/RestParameter.java | 39 ++++++---- 2 files changed, 44 insertions(+), 69 deletions(-) diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/CommandExecutor.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/CommandExecutor.java index 31d61064396..ee5c57c3cbc 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/CommandExecutor.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/CommandExecutor.java @@ -45,6 +45,7 @@ import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; +import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -293,7 +294,6 @@ public CommandExecutor setSessionManager(SessionManager sessionManager) { return this; } - public String getObjectAsJSON(String objectCategory, String objectPath, OpenCGAClient openCGAClient) throws Exception { StringBuilder jsonInString = new StringBuilder("\n"); try { @@ -301,29 +301,26 @@ public String getObjectAsJSON(String objectCategory, String objectPath, OpenCGAC queryParams.putIfNotEmpty("category", objectCategory); RestResponse response = openCGAClient.getMetaClient().api(queryParams); ObjectMapper jsonObjectMapper = new ObjectMapper(); + boolean found = false; for (List list : response.getResponses().get(0).getResults()) { List categories = jsonObjectMapper.convertValue(list, new TypeReference>() {}); for (RestCategory category : categories) { for (RestEndpoint endpoint : category.getEndpoints()) { if (objectPath.equals(endpoint.getPath())) { - boolean enc = false; for (RestParameter parameter : endpoint.getParameters()) { - //jsonInString += parameter.getName()+":"+parameter.getAllowedValues()+"\n"; if (parameter.getData() != null) { - enc = true; - ObjectMapper mapper= new ObjectMapper(); - Map map=printBody(parameter.getData()); - jsonInString.append(mapper.writerWithDefaultPrettyPrinter().writeValueAsString(map)); + found = true; + Map map = getExampleBody(parameter.getData()); + jsonInString.append(jsonObjectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(map)); } } - if (!enc) { - jsonInString.append("No model available"); - } - // } } } } + if (!found) { + jsonInString.append("No model available"); + } } catch (Exception e) { jsonInString = new StringBuilder("Data model not found."); CommandLineUtils.error(e); @@ -331,27 +328,19 @@ public String getObjectAsJSON(String objectCategory, String objectPath, OpenCGAC return jsonInString.toString(); } - private Map printBody(List data) { - Map result=new HashMap(); + private Map getExampleBody(List data) { + Map result = new HashMap<>(); for (RestParameter parameter : data) { - Item item= new Item(); if (parameter.getData() == null) { - result.put(parameter.getName(), printParameterValue(parameter)); + result.put(parameter.getName(), getParameterExampleValue(parameter)); } else { - result.put(parameter.getName(), printBody(parameter.getData())); + result.put(parameter.getName(), getExampleBody(parameter.getData())); } } return result; - } - private String printParameter(RestParameter parameter, String tab) { - - return tab + "\"" + parameter.getName() + "\"" + ":" + printParameterValue(parameter) + ",\n"; - } - - private String printParameterValue(RestParameter parameter) { - + private Object getParameterExampleValue(RestParameter parameter) { if(!StringUtils.isEmpty(parameter.getAllowedValues())){ return parameter.getAllowedValues().replace(" ", "|"); } @@ -359,7 +348,7 @@ private String printParameterValue(RestParameter parameter) { switch (parameter.getType()) { case "Boolean": case "java.lang.Boolean": - return "false"; + return false; case "Long": case "Float": case "Double": @@ -368,50 +357,23 @@ private String printParameterValue(RestParameter parameter) { case "double": case "float": case "long": - return "0"; + return 0; case "List": - return "[]"; + return Collections.singletonList(""); case "Date": return "dd/mm/yyyy"; case "Map": - return "{key: value}"; + return Collections.singletonMap("key", "value"); case "String": return ""; default: + logger.debug("Unknown type: " + parameter.getType() + " for parameter: " + parameter.getName()); return "-"; } } - public Logger getLogger() { return logger; } - public class Item { - - private String key; - private Object value; - - public Item() { - } - - public String getKey() { - return key; - } - - public Item setKey(String key) { - this.key = key; - return this; - } - - public Object getValue() { - return value; - } - - public Item setValue(Object value) { - this.value = value; - return this; - } - } - } diff --git a/opencga-server/src/main/java/org/opencb/opencga/server/generator/models/RestParameter.java b/opencga-server/src/main/java/org/opencb/opencga/server/generator/models/RestParameter.java index 59dad03d1a3..3d1414d3cbd 100644 --- a/opencga-server/src/main/java/org/opencb/opencga/server/generator/models/RestParameter.java +++ b/opencga-server/src/main/java/org/opencb/opencga/server/generator/models/RestParameter.java @@ -99,104 +99,117 @@ public String getName() { return name; } - public void setName(String name) { + public RestParameter setName(String name) { this.name = name; + return this; } public RestParamType getParam() { return param; } - public void setParam(RestParamType param) { + public RestParameter setParam(RestParamType param) { this.param = param; + return this; } public String getParentName() { return parentName; } - public void setParentName(String parentName) { + public RestParameter setParentName(String parentName) { this.parentName = parentName; + return this; } public String getType() { return type; } - public void setType(String type) { + public RestParameter setType(String type) { this.type = type; + return this; } public String getTypeClass() { return typeClass; } - public void setTypeClass(String typeClass) { + public RestParameter setTypeClass(String typeClass) { this.typeClass = typeClass; + return this; } public boolean isRequired() { return required; } - public void setRequired(boolean required) { + public RestParameter setRequired(boolean required) { this.required = required; + return this; } public String getDefaultValue() { return defaultValue; } - public void setDefaultValue(String defaultValue) { + public RestParameter setDefaultValue(String defaultValue) { this.defaultValue = defaultValue; + return this; } public String getDescription() { return description; } - public void setDescription(String description) { + public RestParameter setDescription(String description) { this.description = description; + return this; } public List getData() { return data; } - public void setData(List data) { + public RestParameter setData(List data) { this.data = data; + return this; } public String getAllowedValues() { return allowedValues; } - public void setAllowedValues(String allowedValues) { + public RestParameter setAllowedValues(String allowedValues) { this.allowedValues = allowedValues; + return this; } public boolean isComplex() { return complex; } - public void setComplex(boolean complex) { + public RestParameter setComplex(boolean complex) { this.complex = complex; + return this; } public String getGenericType() { return genericType; } - public void setGenericType(String genericType) { + public RestParameter setGenericType(String genericType) { this.genericType = genericType; + return this; } public boolean isInnerParam() { return innerParam; } - public void setInnerParam(boolean innerParam) { + public RestParameter setInnerParam(boolean innerParam) { this.innerParam = innerParam; + return this; } public boolean isEnum() { From 9bba1683c6be65921fb96b66cd22ca26617b012f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Coll=20Morag=C3=B3n?= Date: Tue, 20 Feb 2024 15:21:52 +0000 Subject: [PATCH 57/89] storage: ALTER VIEW DROP COLUMN not supported on phoenix 5.1.x #TASK-5663 --- .../variant/annotation/phoenix/PhoenixCompatApi.java | 2 ++ .../hadoop/variant/annotation/phoenix/PhoenixCompat.java | 5 +++++ .../hadoop/variant/annotation/phoenix/PhoenixCompat.java | 4 ++++ .../hadoop/variant/annotation/phoenix/PhoenixCompat.java | 7 +++++++ .../hadoop/variant/adaptors/phoenix/PhoenixHelper.java | 7 +++++++ .../variant/HadoopVariantStorageEngineSplitDataTest.java | 9 +++++---- 6 files changed, 30 insertions(+), 4 deletions(-) diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-api/src/main/java/org/opencb/opencga/storage/hadoop/variant/annotation/phoenix/PhoenixCompatApi.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-api/src/main/java/org/opencb/opencga/storage/hadoop/variant/annotation/phoenix/PhoenixCompatApi.java index e276b3fb4db..caafcf0344b 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-api/src/main/java/org/opencb/opencga/storage/hadoop/variant/annotation/phoenix/PhoenixCompatApi.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-api/src/main/java/org/opencb/opencga/storage/hadoop/variant/annotation/phoenix/PhoenixCompatApi.java @@ -16,4 +16,6 @@ public interface PhoenixCompatApi { PhoenixRecordReader newPhoenixRecordReader( Class inputClass, Configuration configuration, QueryPlan queryPlan); + + boolean isDropColumnFromViewSupported(); } diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.0/src/main/java/org/opencb/opencga/storage/hadoop/variant/annotation/phoenix/PhoenixCompat.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.0/src/main/java/org/opencb/opencga/storage/hadoop/variant/annotation/phoenix/PhoenixCompat.java index 27573aaa202..f42149ea3d0 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.0/src/main/java/org/opencb/opencga/storage/hadoop/variant/annotation/phoenix/PhoenixCompat.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.0/src/main/java/org/opencb/opencga/storage/hadoop/variant/annotation/phoenix/PhoenixCompat.java @@ -32,4 +32,9 @@ public PhoenixRecordReader newPhoenixRecordReader(Clas throw new IllegalStateException(e); } } + + @Override + public boolean isDropColumnFromViewSupported() { + return true; + } } diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.2/src/main/java/org/opencb/opencga/storage/hadoop/variant/annotation/phoenix/PhoenixCompat.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.2/src/main/java/org/opencb/opencga/storage/hadoop/variant/annotation/phoenix/PhoenixCompat.java index ef6225cfbb5..e8f5aa08857 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.2/src/main/java/org/opencb/opencga/storage/hadoop/variant/annotation/phoenix/PhoenixCompat.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.2/src/main/java/org/opencb/opencga/storage/hadoop/variant/annotation/phoenix/PhoenixCompat.java @@ -23,4 +23,8 @@ public PhoenixRecordReader newPhoenixRecordReader(Clas return new PhoenixRecordReader<>(inputClass, configuration, queryPlan); } + @Override + public boolean isDropColumnFromViewSupported() { + return true; + } } diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.4/src/main/java/org/opencb/opencga/storage/hadoop/variant/annotation/phoenix/PhoenixCompat.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.4/src/main/java/org/opencb/opencga/storage/hadoop/variant/annotation/phoenix/PhoenixCompat.java index 7f20f926ad9..4d6bc040d82 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.4/src/main/java/org/opencb/opencga/storage/hadoop/variant/annotation/phoenix/PhoenixCompat.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.4/src/main/java/org/opencb/opencga/storage/hadoop/variant/annotation/phoenix/PhoenixCompat.java @@ -41,4 +41,11 @@ public PhoenixRecordReader newPhoenixRecordReader(Clas } } + @Override + public boolean isDropColumnFromViewSupported() { + // Phoenix 5.1.x does not support drop column from view. + // Might be related with https://issues.apache.org/jira/browse/PHOENIX-6025 + return false; + } + } diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/adaptors/phoenix/PhoenixHelper.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/adaptors/phoenix/PhoenixHelper.java index b6f387a60ba..746e7bb05c0 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/adaptors/phoenix/PhoenixHelper.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/adaptors/phoenix/PhoenixHelper.java @@ -43,6 +43,7 @@ import org.opencb.opencga.core.common.BatchUtils; import org.opencb.opencga.core.common.ExceptionUtils; import org.opencb.opencga.core.common.TimeUtils; +import org.opencb.opencga.storage.hadoop.HBaseCompat; import org.opencb.opencga.storage.hadoop.utils.HBaseManager; import org.opencb.opencga.storage.hadoop.variant.GenomeHelper; import org.slf4j.Logger; @@ -255,6 +256,12 @@ public String buildAlterDropColumns(String tableName, Collection c public void dropColumns(Connection con, String tableName, Collection columns, PTableType tableType) throws SQLException { + if (!HBaseCompat.getInstance().getPhoenixCompat().isDropColumnFromViewSupported()) { + logger.info("Dropping columns is not supported for Phoenix version {}.{} . Skipping drop columns.", + PhoenixDriver.INSTANCE.getMajorVersion(), PhoenixDriver.INSTANCE.getMinorVersion()); + return; + } + Set existingColumns = getColumns(con, tableName, tableType) .stream() .map(Column::column) diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/HadoopVariantStorageEngineSplitDataTest.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/HadoopVariantStorageEngineSplitDataTest.java index f5ebbbe8fd6..7ef850e2063 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/HadoopVariantStorageEngineSplitDataTest.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/HadoopVariantStorageEngineSplitDataTest.java @@ -352,9 +352,10 @@ public void testDuplicatedVariantsAccepted(String... files) throws Exception { for (Boolean nativeQuery : Arrays.asList(true, false)) { String name = fileMetadata.getName(); Query query = new Query(VariantQueryParam.FILE.key(), name); + QueryOptions options = new QueryOptions(NATIVE, nativeQuery); System.out.println("-----------------------"); - System.out.println("FILE-QUERY = " + query.toJson()); - for (Variant variant : variantStorageEngine.get(query, new QueryOptions(NATIVE, nativeQuery)).getResults()) { + System.out.println("FILE-QUERY = " + query.toJson() + " " + options.toJson()); + for (Variant variant : variantStorageEngine.get(query, new QueryOptions(options)).getResults()) { StudyEntry studyEntry = variant.getStudies().get(0); assertEquals(0, studyEntry.getIssues().size()); assertEquals(name, studyEntry.getFiles().get(0).getFileId()); @@ -362,8 +363,8 @@ public void testDuplicatedVariantsAccepted(String... files) throws Exception { for (Integer sample : fileMetadata.getSamples()) { String sampleName = metadataManager.getSampleName(studyId, sample); query = new Query(VariantQueryParam.FILE.key(), name).append(VariantQueryParam.SAMPLE.key(), sampleName); - System.out.println("SAMPLE-QUERY = " + query.toJson()); - for (Variant variant : variantStorageEngine.get(query, new QueryOptions(NATIVE, nativeQuery)).getResults()) { + System.out.println("SAMPLE-QUERY = " + query.toJson() + " " + options.toJson()); + for (Variant variant : variantStorageEngine.get(query, new QueryOptions(options)).getResults()) { StudyEntry studyEntry = variant.getStudies().get(0); assertEquals(0, studyEntry.getIssues().size()); assertEquals(name, studyEntry.getFiles().get(0).getFileId()); From 9dc240d5ec8e4765677fa64df25d539dac725a9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Coll=20Morag=C3=B3n?= Date: Wed, 21 Feb 2024 13:18:54 +0000 Subject: [PATCH 58/89] storage: Flush SYSTEM.CATALOG table after dropping a test table #TASK-5663 --- .../variant/adaptors/phoenix/PhoenixHelper.java | 14 ++++++++++++-- .../phoenix/VariantPhoenixSchemaManager.java | 9 ++++++++- .../hadoop/variant/HadoopVariantStorageTest.java | 11 +++++++++++ 3 files changed, 31 insertions(+), 3 deletions(-) diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/adaptors/phoenix/PhoenixHelper.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/adaptors/phoenix/PhoenixHelper.java index 746e7bb05c0..3595927a738 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/adaptors/phoenix/PhoenixHelper.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/adaptors/phoenix/PhoenixHelper.java @@ -126,8 +126,15 @@ private boolean execute(Connection con, String sql, int retry) throws SQLExcepti Thread.sleep(millis); } catch (InterruptedException interruption) { Thread.currentThread().interrupt(); + // Sleep interrupted. Stop retrying + throw e; + } + try { + return execute(con, sql, retry - 1); + } catch (Exception e1) { + e.addSuppressed(e1); + throw e; } - return execute(con, sql, retry - 1); } catch (SQLException | RuntimeException e) { logger.error("Error executing '{}'", sql); throw e; @@ -204,7 +211,10 @@ public String buildDropTable(String tableName, PTableType tableType, boolean ifE } public void dropTable(Connection con, String tableName, PTableType tableType, boolean ifExists, boolean cascade) throws SQLException { - execute(con, buildDropTable(tableName, tableType, ifExists, cascade)); + String sql = buildDropTable(tableName, tableType, ifExists, cascade); + logger.info("Dropping phoenix {}: {}", tableType, tableName); + logger.info(sql); + execute(con, sql); } public void addMissingColumns(Connection con, String tableName, Collection newColumns, PTableType tableType) diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/adaptors/phoenix/VariantPhoenixSchemaManager.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/adaptors/phoenix/VariantPhoenixSchemaManager.java index 2d1d4c59e04..ccbb18d7bd7 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/adaptors/phoenix/VariantPhoenixSchemaManager.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/adaptors/phoenix/VariantPhoenixSchemaManager.java @@ -327,7 +327,14 @@ private void createTableIfNeeded() throws SQLException { try { phoenixHelper.execute(con, sql); } catch (Exception e) { - if (!phoenixHelper.tableExists(con, variantsTableName)) { + boolean tableExists; + try { + tableExists = phoenixHelper.tableExists(con, variantsTableName); + } catch (Exception e1) { + e.addSuppressed(e1); + tableExists = false; + } + if (!tableExists) { throw e; } else { logger.info(DEFAULT_TABLE_TYPE + " {} already exists", variantsTableName); diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/HadoopVariantStorageTest.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/HadoopVariantStorageTest.java index efc8a666f8a..164c38c23ae 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/HadoopVariantStorageTest.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/HadoopVariantStorageTest.java @@ -482,6 +482,17 @@ default void deleteTable(String tableName) throws Exception { try (java.sql.Connection con = phoenixHelper.openJdbcConnection()) { if (phoenixHelper.tableExists(con, tableName)) { phoenixHelper.dropTable(con, tableName, VariantPhoenixSchema.DEFAULT_TABLE_TYPE, true, true); + // Flush the SYSTEM.CATALOG table to avoid "unexpected errors" when creating a new table with the same name + TableName systemCatalog = TableName.valueOf("SYSTEM:CATALOG"); + if (!utility.get().getConnection().getAdmin().tableExists(systemCatalog)) { + systemCatalog = TableName.valueOf("SYSTEM.CATALOG"); + } + if (utility.get().getConnection().getAdmin().tableExists(systemCatalog)) { + try (Admin admin = utility.get().getConnection().getAdmin(); + ) { + admin.flush(systemCatalog); + } + } } } utility.get().deleteTableIfAny(TableName.valueOf(tableName)); From ddf6ceb427c6a46e4b0e9fa1ce4d7e87bdccbc13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Coll=20Morag=C3=B3n?= Date: Wed, 21 Feb 2024 13:26:54 +0000 Subject: [PATCH 59/89] cicd: Allow testing specific modules #TASK-5663 --- .github/workflows/check-junit-test.yml | 32 +++++++++++++++----------- .github/workflows/test-analysis.yml | 9 +++++++- 2 files changed, 27 insertions(+), 14 deletions(-) diff --git a/.github/workflows/check-junit-test.yml b/.github/workflows/check-junit-test.yml index 2da29430149..af56f36dd84 100644 --- a/.github/workflows/check-junit-test.yml +++ b/.github/workflows/check-junit-test.yml @@ -1,5 +1,5 @@ name: Check junits -run-name: "Check Junit tests. Hadoop flavour: ${{ inputs.hadoop }}. ${{ inputs.short_tests && 'Short ' || '' }}${{ inputs.medium_tests && 'Medium ' || '' }}${{ inputs.long_tests && 'Long ' || '' }}${{ ! ( inputs.short_tests || inputs.medium_tests || inputs.long_tests ) && 'Short Medium Long ' || '' }}tests." +run-name: "Check Junit tests. Hadoop ${{ inputs.hadoop }}. ${{ inputs.module == 'all' && '' || format(':{0}. ', inputs.module ) }}${{ inputs.short_tests && 'Short ' || '' }}${{ inputs.medium_tests && 'Medium ' || '' }}${{ inputs.long_tests && 'Long ' || '' }}${{ ! ( inputs.short_tests || inputs.medium_tests || inputs.long_tests ) && 'Short Medium Long ' || '' }}tests." on: workflow_dispatch: @@ -14,6 +14,18 @@ on: - "hdi5.1" - "emr6.1" - "emr6.13" + module: + type: choice + description: 'OpenCGA module to test.' + required: false + default: "all" + options: + - "all" + - "opencga-core" + - "opencga-catalog" + - "opencga-storage" + - "opencga-analysis" + - "opencga-master" short_tests: type: boolean required: false @@ -42,26 +54,20 @@ jobs: with: fetch-depth: '10' - name: Building string profiles to run - id: getter + id: validate run: | if [ -f "./.github/workflows/scripts/get_profiles.sh" ]; then chmod +x ./.github/workflows/scripts/get_profiles.sh - echo "profiles=$(./.github/workflows/scripts/get_profiles.sh ${{ inputs.short_tests }} ${{ inputs.medium_tests }} ${{ inputs.long_tests }})" >> $GITHUB_OUTPUT + profiles=$(./.github/workflows/scripts/get_profiles.sh ${{ inputs.short_tests }} ${{ inputs.medium_tests }} ${{ inputs.long_tests }}) + echo "profiles=$profiles" >> $GITHUB_OUTPUT + echo "Executing testing profiles -> $profiles" >> $GITHUB_STEP_SUMMARY fi - - echo_log: - needs: get_profiles - runs-on: ubuntu-22.04 - steps: - - name: Echo profiles - id: log - run: echo "Executing testing profiles -> ${{ needs.get_profiles.outputs.profiles }}" - test: - needs: [ get_profiles, echo_log ] + needs: [ get_profiles ] uses: ./.github/workflows/test-analysis.yml with: test_profile: ${{ needs.get_profiles.outputs.profiles }} mvn_opts: ${{ inputs.mvn_opts }} hadoop: ${{ inputs.hadoop }} + module: ${{ inputs.module }} secrets: inherit \ No newline at end of file diff --git a/.github/workflows/test-analysis.yml b/.github/workflows/test-analysis.yml index b9aafdb0d9f..6dbb93b306a 100644 --- a/.github/workflows/test-analysis.yml +++ b/.github/workflows/test-analysis.yml @@ -17,6 +17,11 @@ on: type: string required: false default: "" + module: + type: string + description: "Maven modules to test. Empty means all. Only top-level modules. Example: 'opencga-storage'" + required: false + default: "" secrets: SONAR_TOKEN: required: true @@ -77,8 +82,10 @@ jobs: with: mongodb-version: 6.0 mongodb-replica-set: rs-test + - name: Maven build + run: mvn -B clean install -DskipTests -P ${{ inputs.hadoop }} -Dcheckstyle.skip ${{ inputs.mvn_opts }} - name: Run Junit tests - run: mvn -B verify surefire-report:report --fail-never -P ${{ inputs.hadoop }},${{ inputs.test_profile }} -Dcheckstyle.skip ${{ inputs.mvn_opts }} + run: mvn -B verify surefire-report:report --fail-never -f ${{ (inputs.module == '' || inputs.model == 'all') && '.' || inputs.module }} -P ${{ inputs.hadoop }},${{ inputs.test_profile }} -Dcheckstyle.skip ${{ inputs.mvn_opts }} - name: Publish Test Report uses: scacap/action-surefire-report@v1 env: From 0544c25344cda72e5f7927ff3cb8a7525e2d98bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Coll=20Morag=C3=B3n?= Date: Wed, 21 Feb 2024 15:00:27 +0000 Subject: [PATCH 60/89] storage: Skip tests requiring solr when incompatible with hadoop. #TASK-5663 --- .../manager/VariantOperationsTest.java | 24 ++++++++++--- .../core/variant/adaptors/GenotypeClass.java | 10 ++++++ .../variant/adaptors/GenotypeClassTest.java | 36 +++++++++++++++++++ .../solr/VariantSolrExternalResource.java | 6 ++-- .../storage/hadoop/HBaseCompatApi.java | 5 +-- .../opencga/storage/hadoop/HBaseCompat.java | 5 +++ .../opencga/storage/hadoop/HBaseCompat.java | 5 +++ .../opencga/storage/hadoop/HBaseCompat.java | 5 +++ ...HadoopLocalLoadVariantStoragePipeline.java | 10 +++--- ...doopVariantStorageSearchIntersectTest.java | 3 ++ .../variant/HadoopVariantStorageTest.java | 15 ++++++++ .../variant/io/HadoopVariantExporterTest.java | 25 +++++++++---- .../search/HadoopSolrTestingSupportTest.java | 33 +++++++++++++++++ .../search/HadoopVariantSearchIndexTest.java | 4 ++- 14 files changed, 162 insertions(+), 24 deletions(-) create mode 100644 opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/search/HadoopSolrTestingSupportTest.java diff --git a/opencga-analysis/src/test/java/org/opencb/opencga/analysis/variant/manager/VariantOperationsTest.java b/opencga-analysis/src/test/java/org/opencb/opencga/analysis/variant/manager/VariantOperationsTest.java index 4dd04f92692..d92fe79abfc 100644 --- a/opencga-analysis/src/test/java/org/opencb/opencga/analysis/variant/manager/VariantOperationsTest.java +++ b/opencga-analysis/src/test/java/org/opencb/opencga/analysis/variant/manager/VariantOperationsTest.java @@ -126,7 +126,6 @@ public VariantOperationsTest(String storageEngine) { public static OpenCGATestExternalResource opencga = new OpenCGATestExternalResource(); public static HadoopVariantStorageTest.HadoopExternalResource hadoopExternalResource; - @ClassRule public static VariantSolrExternalResource solrExternalResource = new VariantSolrExternalResource(); private static String storageEngine; @@ -170,6 +169,13 @@ public void tearDown() { } } + @BeforeClass + public static void beforeClass() throws Exception { + if (HadoopVariantStorageTest.HadoopSolrSupport.isSolrTestingAvailable()) { + solrExternalResource.before(); + } + } + @AfterClass public static void afterClass() { opencga.after(); @@ -177,6 +183,9 @@ public static void afterClass() { hadoopExternalResource.after(); hadoopExternalResource = null; } + if (HadoopVariantStorageTest.HadoopSolrSupport.isSolrTestingAvailable()) { + solrExternalResource.after(); + } } private void loadDataset() throws Throwable { @@ -194,7 +203,11 @@ private void loadDataset() throws Throwable { } catalogManager = opencga.getCatalogManager(); - variantStorageManager = opencga.getVariantStorageManager(solrExternalResource); + if (HadoopVariantStorageTest.HadoopSolrSupport.isSolrTestingAvailable()) { + variantStorageManager = opencga.getVariantStorageManager(solrExternalResource); + } else { + variantStorageManager = opencga.getVariantStorageManager(); + } toolRunner = new ToolRunner(opencga.getOpencgaHome().toString(), catalogManager, variantStorageManager); opencga.clearStorageDB(DB_NAME); @@ -210,9 +223,10 @@ private void loadDataset() throws Throwable { } setUpCatalogManager(); + if (HadoopVariantStorageTest.HadoopSolrSupport.isSolrTestingAvailable()) { solrExternalResource.configure(variantStorageManager.getVariantStorageEngine(STUDY, token)); - solrExternalResource.configure(variantStorageManager.getVariantStorageEngineForStudyOperation(STUDY, new ObjectMap(), token)); - + solrExternalResource.configure(variantStorageManager.getVariantStorageEngineForStudyOperation(STUDY, new ObjectMap(), token)); + } file = opencga.createFile(STUDY, "variant-test-file.vcf.gz", token); // variantStorageManager.index(STUDY, file.getId(), opencga.createTmpOutdir("_index"), new ObjectMap(VariantStorageOptions.ANNOTATE.key(), true), token); @@ -323,7 +337,7 @@ public void testVariantFileReload() throws Exception { @Test public void testVariantSecondaryAnnotationIndex() throws Exception { - + Assume.assumeTrue(HadoopVariantStorageTest.HadoopSolrSupport.isSolrTestingAvailable()); for (String sample : samples) { SampleInternalVariantSecondaryAnnotationIndex index = catalogManager.getSampleManager().get(STUDY, sample, new QueryOptions(), token).first().getInternal().getVariant().getSecondaryAnnotationIndex(); assertEquals(IndexStatus.NONE, index.getStatus().getId()); diff --git a/opencga-storage/opencga-storage-core/src/main/java/org/opencb/opencga/storage/core/variant/adaptors/GenotypeClass.java b/opencga-storage/opencga-storage-core/src/main/java/org/opencb/opencga/storage/core/variant/adaptors/GenotypeClass.java index d3f5e8dd1ef..db3375e5c68 100644 --- a/opencga-storage/opencga-storage-core/src/main/java/org/opencb/opencga/storage/core/variant/adaptors/GenotypeClass.java +++ b/opencga-storage/opencga-storage-core/src/main/java/org/opencb/opencga/storage/core/variant/adaptors/GenotypeClass.java @@ -483,4 +483,14 @@ private static Genotype parseGenotype(String gt) { } return genotype; } + + public static Set classify(String gt) { + Set genotypeClasses = new HashSet<>(); + for (GenotypeClass value : values()) { + if (value.test(gt)) { + genotypeClasses.add(value); + } + } + return genotypeClasses; + } } diff --git a/opencga-storage/opencga-storage-core/src/test/java/org/opencb/opencga/storage/core/variant/adaptors/GenotypeClassTest.java b/opencga-storage/opencga-storage-core/src/test/java/org/opencb/opencga/storage/core/variant/adaptors/GenotypeClassTest.java index f10ea441211..b504ac80753 100644 --- a/opencga-storage/opencga-storage-core/src/test/java/org/opencb/opencga/storage/core/variant/adaptors/GenotypeClassTest.java +++ b/opencga-storage/opencga-storage-core/src/test/java/org/opencb/opencga/storage/core/variant/adaptors/GenotypeClassTest.java @@ -5,7 +5,9 @@ import org.opencb.opencga.core.testclassification.duration.ShortTests; import java.util.Arrays; +import java.util.HashSet; import java.util.List; +import java.util.Set; import static org.junit.Assert.assertEquals; @@ -28,7 +30,41 @@ public void testGenotypes() throws Exception { assertEquals(Arrays.asList("./1", "1/."), GenotypeClass.HET_MISS.filter(gts)); assertEquals(Arrays.asList("./.", "."), GenotypeClass.MISS.filter(gts)); assertEquals(Arrays.asList("0/2", "2/2", "2/3", "2/."), GenotypeClass.SEC_ALT.filter(gts)); + } + + @Test + public void classify() { + checkClassify("0/0", GenotypeClass.HOM_REF); + checkClassify("0|0", GenotypeClass.HOM_REF); + checkClassify("0", GenotypeClass.HOM_REF); + checkClassify("1/1", GenotypeClass.MAIN_ALT, GenotypeClass.HOM_ALT); + checkClassify("1/1/1", GenotypeClass.MAIN_ALT, GenotypeClass.HOM_ALT); + checkClassify("1", GenotypeClass.MAIN_ALT, GenotypeClass.HOM_ALT); + checkClassify("0/1", GenotypeClass.MAIN_ALT, GenotypeClass.HET_REF, GenotypeClass.HET); + checkClassify("1/0", GenotypeClass.MAIN_ALT, GenotypeClass.HET_REF, GenotypeClass.HET); + checkClassify("0|1", GenotypeClass.MAIN_ALT, GenotypeClass.HET_REF, GenotypeClass.HET); + checkClassify("1|0", GenotypeClass.MAIN_ALT, GenotypeClass.HET_REF, GenotypeClass.HET); + checkClassify("1/2", GenotypeClass.MAIN_ALT, GenotypeClass.SEC, GenotypeClass.HET, GenotypeClass.HET_ALT); + checkClassify("1/4", GenotypeClass.MAIN_ALT, GenotypeClass.SEC, GenotypeClass.HET, GenotypeClass.HET_ALT); + checkClassify("3/4", GenotypeClass.SEC_ALT, GenotypeClass.SEC); + checkClassify("3/4/5", GenotypeClass.SEC_ALT, GenotypeClass.SEC, GenotypeClass.HET); + checkClassify("561/941", GenotypeClass.SEC_ALT, GenotypeClass.SEC); + checkClassify("561/1", GenotypeClass.MAIN_ALT, GenotypeClass.SEC, GenotypeClass.HET, GenotypeClass.HET_ALT); + checkClassify("0/2", GenotypeClass.SEC_ALT, GenotypeClass.SEC); + checkClassify("0/3", GenotypeClass.SEC_ALT, GenotypeClass.SEC); + checkClassify("3/3", GenotypeClass.SEC_ALT, GenotypeClass.SEC); + checkClassify("1/.", GenotypeClass.MAIN_ALT, GenotypeClass.HET_MISS, GenotypeClass.HET); + checkClassify("0/."); + checkClassify("./.", GenotypeClass.MISS); + checkClassify(".", GenotypeClass.MISS); + checkClassify("NA", GenotypeClass.NA); + checkClassify("THIS_IS_NOT_A_GENOTYPE"); + } + private void checkClassify(String gt, GenotypeClass... expected) { + Set actual = GenotypeClass.classify(gt); +// System.out.println("GenotypeClass.classify(" + gt + ") = " + actual); + assertEquals(new HashSet<>(Arrays.asList(expected)), actual); } @Test diff --git a/opencga-storage/opencga-storage-core/src/test/java/org/opencb/opencga/storage/core/variant/solr/VariantSolrExternalResource.java b/opencga-storage/opencga-storage-core/src/test/java/org/opencb/opencga/storage/core/variant/solr/VariantSolrExternalResource.java index 7ae1991221d..611265b0a0e 100644 --- a/opencga-storage/opencga-storage-core/src/test/java/org/opencb/opencga/storage/core/variant/solr/VariantSolrExternalResource.java +++ b/opencga-storage/opencga-storage-core/src/test/java/org/opencb/opencga/storage/core/variant/solr/VariantSolrExternalResource.java @@ -60,9 +60,7 @@ public VariantSolrExternalResource(boolean embeded) { } @Override - protected void before() throws Throwable { - super.before(); - + public void before() throws Exception { Path rootDir = Paths.get("target/test-data", "junit-variant-solr-" + TimeUtils.getTimeMillis()); Files.createDirectories(rootDir); @@ -95,7 +93,7 @@ protected void before() throws Throwable { } @Override - protected void after() { + public void after() { super.after(); try { if (embeded) { diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-api/src/main/java/org/opencb/opencga/storage/hadoop/HBaseCompatApi.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-api/src/main/java/org/opencb/opencga/storage/hadoop/HBaseCompatApi.java index db85913188f..4bfb6cd45fd 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-api/src/main/java/org/opencb/opencga/storage/hadoop/HBaseCompatApi.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-api/src/main/java/org/opencb/opencga/storage/hadoop/HBaseCompatApi.java @@ -23,8 +23,9 @@ public static HBaseCompatApi getInstance() { return instance; } - public abstract void available(Configuration configuration) throws IOException; - public abstract PhoenixCompatApi getPhoenixCompat(); + public abstract void available(Configuration configuration) throws IOException; + + public abstract boolean isSolrTestingAvailable(); } diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.0/src/main/java/org/opencb/opencga/storage/hadoop/HBaseCompat.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.0/src/main/java/org/opencb/opencga/storage/hadoop/HBaseCompat.java index 9cb77b781be..f3f9170f6f7 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.0/src/main/java/org/opencb/opencga/storage/hadoop/HBaseCompat.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.0/src/main/java/org/opencb/opencga/storage/hadoop/HBaseCompat.java @@ -14,6 +14,11 @@ public void available(Configuration configuration) throws IOException { HBaseAdmin.available(configuration); } + @Override + public boolean isSolrTestingAvailable() { + return false; + } + @Override public PhoenixCompatApi getPhoenixCompat() { return new PhoenixCompat(); diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.2/src/main/java/org/opencb/opencga/storage/hadoop/HBaseCompat.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.2/src/main/java/org/opencb/opencga/storage/hadoop/HBaseCompat.java index 716895033fa..451238f6da5 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.2/src/main/java/org/opencb/opencga/storage/hadoop/HBaseCompat.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.2/src/main/java/org/opencb/opencga/storage/hadoop/HBaseCompat.java @@ -13,6 +13,11 @@ public void available(Configuration configuration) throws IOException { HBaseAdmin.available(configuration); } + @Override + public boolean isSolrTestingAvailable() { + return false; + } + @Override public PhoenixCompatApi getPhoenixCompat() { return new PhoenixCompat(); diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.4/src/main/java/org/opencb/opencga/storage/hadoop/HBaseCompat.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.4/src/main/java/org/opencb/opencga/storage/hadoop/HBaseCompat.java index 9cb77b781be..93f61922b9f 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.4/src/main/java/org/opencb/opencga/storage/hadoop/HBaseCompat.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.4/src/main/java/org/opencb/opencga/storage/hadoop/HBaseCompat.java @@ -14,6 +14,11 @@ public void available(Configuration configuration) throws IOException { HBaseAdmin.available(configuration); } + @Override + public boolean isSolrTestingAvailable() { + return true; + } + @Override public PhoenixCompatApi getPhoenixCompat() { return new PhoenixCompat(); diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/HadoopLocalLoadVariantStoragePipeline.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/HadoopLocalLoadVariantStoragePipeline.java index 5c3d0e7a0d1..462aa6858b0 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/HadoopLocalLoadVariantStoragePipeline.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/HadoopLocalLoadVariantStoragePipeline.java @@ -331,8 +331,8 @@ protected void loadFromProto(URI input, URI outdir, ArchiveTableHelper helper, P // Update list of loaded genotypes this.loadedGenotypes = sampleIndexDBLoader.getLoadedGenotypes(); this.sampleIndexVersion = sampleIndexDBLoader.getSampleIndexVersion(); - this.largestVariantLength = largestVariantTask.getMaxLength(); } + this.largestVariantLength = largestVariantTask.getMaxLength(); } protected void loadFromAvro(URI input, URI outdir, ArchiveTableHelper helper, ProgressLogger progressLogger) @@ -390,13 +390,13 @@ protected void loadFromAvroWithArchive(URI input, URI outdir, ArchiveTableHelper throw new StorageEngineException("Error loading file " + input, e); } - logLoadResults(variantReader.getVariantFileMetadata(), resolver, hadoopDBWriter); if (sampleIndexDBLoader != null) { // Update list of loaded genotypes this.loadedGenotypes = sampleIndexDBLoader.getLoadedGenotypes(); this.sampleIndexVersion = sampleIndexDBLoader.getSampleIndexVersion(); - this.largestVariantLength = largestVariantTask.getMaxLength(); } + this.largestVariantLength = largestVariantTask.getMaxLength(); + logLoadResults(variantReader.getVariantFileMetadata(), resolver, hadoopDBWriter); } protected void loadFromAvroWithoutArchive(URI input, URI outdir, ArchiveTableHelper helper, ProgressLogger progressLogger) @@ -438,13 +438,13 @@ protected void loadFromAvroWithoutArchive(URI input, URI outdir, ArchiveTableHel throw new StorageEngineException("Error loading file " + input, e); } - logLoadResults(variantReader.getVariantFileMetadata(), resolver, hadoopDBWriter); if (sampleIndexDBLoader != null) { // Update list of loaded genotypes this.loadedGenotypes = sampleIndexDBLoader.getLoadedGenotypes(); this.sampleIndexVersion = sampleIndexDBLoader.getSampleIndexVersion(); - this.largestVariantLength = largestVariantTask.getMaxLength(); } + this.largestVariantLength = largestVariantTask.getMaxLength(); + logLoadResults(variantReader.getVariantFileMetadata(), resolver, hadoopDBWriter); } private void logLoadResults(VariantFileMetadata variantFileMetadata, diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/HadoopVariantStorageSearchIntersectTest.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/HadoopVariantStorageSearchIntersectTest.java index ae92a1ae712..6213553b2a5 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/HadoopVariantStorageSearchIntersectTest.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/HadoopVariantStorageSearchIntersectTest.java @@ -33,6 +33,9 @@ @Category(LongTests.class) public class HadoopVariantStorageSearchIntersectTest extends VariantStorageSearchIntersectTest implements HadoopVariantStorageTest { + @ClassRule + public static HadoopSolrSupport solrSupport = new HadoopSolrSupport(); + @ClassRule public static ExternalResource externalResource = new HadoopExternalResource(); diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/HadoopVariantStorageTest.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/HadoopVariantStorageTest.java index 164c38c23ae..23e681bd003 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/HadoopVariantStorageTest.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/HadoopVariantStorageTest.java @@ -72,6 +72,8 @@ import org.apache.zookeeper.server.PrepRequestProcessor; import org.apache.zookeeper.server.ZooKeeperServer; import org.junit.Assert; +import org.junit.Assume; +import org.junit.Before; import org.junit.rules.ExternalResource; import org.opencb.biodata.models.variant.VariantFileMetadata; import org.opencb.biodata.models.variant.avro.VariantType; @@ -85,6 +87,7 @@ import org.opencb.opencga.storage.core.variant.VariantStorageEngine; import org.opencb.opencga.storage.core.variant.VariantStorageOptions; import org.opencb.opencga.storage.core.variant.VariantStorageTest; +import org.opencb.opencga.storage.hadoop.HBaseCompat; import org.opencb.opencga.storage.hadoop.utils.HBaseManager; import org.opencb.opencga.storage.hadoop.variant.adaptors.phoenix.PhoenixHelper; import org.opencb.opencga.storage.hadoop.variant.adaptors.phoenix.VariantPhoenixSchema; @@ -115,6 +118,18 @@ public interface HadoopVariantStorageTest /*extends VariantStorageManagerTestUti // Set managers = new ConcurrentHashSet<>(); AtomicReference manager = new AtomicReference<>(); + class HadoopSolrSupport extends ExternalResource { + @Override + protected void before() throws Throwable { + super.before(); + Assume.assumeTrue(isSolrTestingAvailable()); + } + + public static boolean isSolrTestingAvailable() { + return HBaseCompat.getInstance().isSolrTestingAvailable(); + } + } + class HadoopExternalResource extends ExternalResource implements HadoopVariantStorageTest { Logger logger = LoggerFactory.getLogger(this.getClass()); diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/io/HadoopVariantExporterTest.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/io/HadoopVariantExporterTest.java index ddb7e993549..f7f89519477 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/io/HadoopVariantExporterTest.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/io/HadoopVariantExporterTest.java @@ -2,10 +2,7 @@ import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.ClassRule; -import org.junit.Test; +import org.junit.*; import org.junit.experimental.categories.Category; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; @@ -21,6 +18,7 @@ import org.opencb.opencga.storage.core.variant.io.VariantExporter; import org.opencb.opencga.storage.core.variant.io.VariantWriterFactory; import org.opencb.opencga.storage.core.variant.solr.VariantSolrExternalResource; +import org.opencb.opencga.storage.hadoop.HBaseCompat; import org.opencb.opencga.storage.hadoop.variant.HadoopVariantStorageEngine; import org.opencb.opencga.storage.hadoop.variant.HadoopVariantStorageTest; import org.opencb.opencga.storage.hadoop.variant.VariantHbaseTestUtils; @@ -55,7 +53,6 @@ public HadoopVariantExporterTest(String name, Boolean exportToLocal) { @ClassRule public static HadoopExternalResource externalResource = new HadoopExternalResource(); - @ClassRule public static VariantSolrExternalResource solr = new VariantSolrExternalResource(); private static HadoopVariantStorageEngine variantStorageEngine; @@ -65,7 +62,12 @@ public HadoopVariantExporterTest(String name, Boolean exportToLocal) { @BeforeClass public static void beforeClass() throws Exception { variantStorageEngine = externalResource.getVariantStorageEngine(); - solr.configure(variantStorageEngine); + if (HBaseCompat.getInstance().isSolrTestingAvailable()) { + solr.before(); + solr.configure(variantStorageEngine); + } else { + System.out.println("Skip embedded solr tests"); + } // URI inputUri = VariantStorageBaseTest.getResourceUri("sample1.genome.vcf"); URI inputUri = VariantStorageBaseTest.getResourceUri("platinum/1K.end.platinum-genomes-vcf-NA12877_S1.genome.vcf.gz"); @@ -87,12 +89,21 @@ public static void beforeClass() throws Exception { .append(VariantStorageOptions.STATS_CALCULATE.key(), false) ); - variantStorageEngine.secondaryIndex(); + if (HBaseCompat.getInstance().isSolrTestingAvailable()) { + variantStorageEngine.secondaryIndex(); + } VariantHbaseTestUtils.printVariants(variantStorageEngine.getDBAdaptor(), newOutputUri()); } + @AfterClass + public static void afterClass() { + if (HBaseCompat.getInstance().isSolrTestingAvailable()) { + solr.after(); + } + } + @Before public void before() throws Exception { // Do not clean database! diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/search/HadoopSolrTestingSupportTest.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/search/HadoopSolrTestingSupportTest.java new file mode 100644 index 00000000000..feabf69984b --- /dev/null +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/search/HadoopSolrTestingSupportTest.java @@ -0,0 +1,33 @@ +package org.opencb.opencga.storage.hadoop.variant.search; + +import org.junit.Assert; +import org.junit.Test; +import org.junit.experimental.categories.Category; +import org.opencb.opencga.core.testclassification.duration.ShortTests; +import org.opencb.opencga.storage.core.variant.solr.VariantSolrExternalResource; +import org.opencb.opencga.storage.hadoop.variant.HadoopVariantStorageTest; + +@Category(ShortTests.class) +public class HadoopSolrTestingSupportTest { + + @Test + public void testSupported() { + VariantSolrExternalResource externalResource = new VariantSolrExternalResource(); + try { + externalResource.before(); + externalResource.after(); + if (!HadoopVariantStorageTest.HadoopSolrSupport.isSolrTestingAvailable()) { + Assert.fail("Solr testing should not be available"); + } else { + System.out.println("As expected :: Solr testing available"); + } + } catch (Throwable throwable) { + if (HadoopVariantStorageTest.HadoopSolrSupport.isSolrTestingAvailable()) { + Assert.fail("Solr testing should be available"); + } else { + System.out.println("As expected :: Solr testing not available: " + throwable.getMessage()); + } + } + } + +} diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/search/HadoopVariantSearchIndexTest.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/search/HadoopVariantSearchIndexTest.java index 7f6869a59c0..240ece95e01 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/search/HadoopVariantSearchIndexTest.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/search/HadoopVariantSearchIndexTest.java @@ -1,7 +1,6 @@ package org.opencb.opencga.storage.hadoop.variant.search; import org.junit.ClassRule; -import org.junit.Rule; import org.junit.experimental.categories.Category; import org.opencb.commons.datastore.core.Query; import org.opencb.commons.datastore.core.QueryOptions; @@ -20,6 +19,9 @@ @Category(LongTests.class) public class HadoopVariantSearchIndexTest extends VariantSearchIndexTest implements HadoopVariantStorageTest { + @ClassRule + public static HadoopSolrSupport solrSupport = new HadoopSolrSupport(); + @ClassRule public static HadoopExternalResource externalResource = new HadoopExternalResource(); From 9dac3b1e37c3567b4676f63124b50279558ebffd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Coll=20Morag=C3=B3n?= Date: Wed, 21 Feb 2024 15:49:21 +0000 Subject: [PATCH 61/89] cicd: Allow testing in matrix mode #TASK-5663 --- .github/workflows/check-junit-test.yml | 40 +++++++++++++++++++++----- .github/workflows/test-analysis.yml | 11 +++++-- 2 files changed, 41 insertions(+), 10 deletions(-) diff --git a/.github/workflows/check-junit-test.yml b/.github/workflows/check-junit-test.yml index af56f36dd84..d368cc534da 100644 --- a/.github/workflows/check-junit-test.yml +++ b/.github/workflows/check-junit-test.yml @@ -1,5 +1,5 @@ name: Check junits -run-name: "Check Junit tests. Hadoop ${{ inputs.hadoop }}. ${{ inputs.module == 'all' && '' || format(':{0}. ', inputs.module ) }}${{ inputs.short_tests && 'Short ' || '' }}${{ inputs.medium_tests && 'Medium ' || '' }}${{ inputs.long_tests && 'Long ' || '' }}${{ ! ( inputs.short_tests || inputs.medium_tests || inputs.long_tests ) && 'Short Medium Long ' || '' }}tests." +run-name: "Check Junit. Hadoop ${{ inputs.hadoop }} ${{ inputs.module == 'all' && ' ' || format(':{0}. ', inputs.module ) }}${{ inputs.short_tests && 'Short ' || '' }}${{ inputs.medium_tests && 'Medium ' || '' }}${{ inputs.long_tests && 'Long ' || '' }}${{ ! ( inputs.short_tests || inputs.medium_tests || inputs.long_tests ) && 'Short Medium Long ' || '' }}tests." on: workflow_dispatch: @@ -10,6 +10,7 @@ on: required: false default: "hdp3.1" options: + - "all" - "hdp3.1" - "hdi5.1" - "emr6.1" @@ -21,11 +22,15 @@ on: default: "all" options: - "all" - - "opencga-core" - - "opencga-catalog" - - "opencga-storage" - "opencga-analysis" + - "opencga-app" + - "opencga-catalog" + - "opencga-client" + - "opencga-core" - "opencga-master" + - "opencga-server" + - "opencga-storage" + - "opencga-test" short_tests: type: boolean required: false @@ -48,7 +53,9 @@ jobs: name: Test JUnit runs-on: ubuntu-22.04 outputs: - profiles: ${{ steps.getter.outputs.profiles }} + profiles: ${{ steps.validate.outputs.profiles }} + modules: ${{ steps.validate.outputs.modules }} + hadoop: ${{ steps.validate.outputs.hadoop }} steps: - uses: actions/checkout@v4 with: @@ -59,15 +66,34 @@ jobs: if [ -f "./.github/workflows/scripts/get_profiles.sh" ]; then chmod +x ./.github/workflows/scripts/get_profiles.sh profiles=$(./.github/workflows/scripts/get_profiles.sh ${{ inputs.short_tests }} ${{ inputs.medium_tests }} ${{ inputs.long_tests }}) + modules='["${{ inputs.module }}"]' + hadoop='["${{ inputs.hadoop }}"]' + + if [ "${{ inputs.hadoop }}" == "all" ]; then + hadoop='["hdp3.1", "hdi5.1", "emr6.1", "emr6.13"]' + elif [ "${{ inputs.module }}" == "all" ]; then + # Only execute modules with matrix strategy if we are testing one single hadoop profile + modules='["opencga-analysis", "opencga-app", "opencga-catalog", "opencga-client", "opencga-core", "opencga-master", "opencga-server", "opencga-storage", "opencga-test"]' + fi echo "profiles=$profiles" >> $GITHUB_OUTPUT + echo "modules=$modules" >> $GITHUB_OUTPUT + echo "hadoop=$hadoop" >> $GITHUB_OUTPUT echo "Executing testing profiles -> $profiles" >> $GITHUB_STEP_SUMMARY + echo "Modules -> $modules" >> $GITHUB_STEP_SUMMARY + echo "Hadoop -> $hadoop" >> $GITHUB_STEP_SUMMARY + #echo "matrix={\"hadoop\": $hadoop, \"modules\": $modules}" >> $GITHUB_OUTPUT fi test: + strategy: + matrix: + hadoop: ${{ fromJson(needs.get_profiles.outputs.hadoop) }} + module: ${{ fromJson(needs.get_profiles.outputs.modules) }} needs: [ get_profiles ] uses: ./.github/workflows/test-analysis.yml with: test_profile: ${{ needs.get_profiles.outputs.profiles }} mvn_opts: ${{ inputs.mvn_opts }} - hadoop: ${{ inputs.hadoop }} - module: ${{ inputs.module }} + hadoop: ${{ matrix.hadoop }} + module: ${{ matrix.module }} + sonar: false secrets: inherit \ No newline at end of file diff --git a/.github/workflows/test-analysis.yml b/.github/workflows/test-analysis.yml index 6dbb93b306a..4fd20ad0aad 100644 --- a/.github/workflows/test-analysis.yml +++ b/.github/workflows/test-analysis.yml @@ -1,5 +1,5 @@ name: Build and test the project -run-name: "Build and test the project. Hadoop flavour: ${{ inputs.hadoop }}. Test profile: ${{ inputs.test_profile }}" +run-name: "Build and test the project. Hadoop flavour: ${{ inputs.hadoop }}. Test profile: ${{ inputs.test_profile }}. Test module: ${{ inputs.module }}" on: workflow_call: @@ -17,6 +17,10 @@ on: type: string required: false default: "" + sonar: + type: boolean + required: false + default: true module: type: string description: "Maven modules to test. Empty means all. Only top-level modules. Example: 'opencga-storage'" @@ -30,6 +34,7 @@ jobs: analysis: name: Execute Sonar Analysis runs-on: ubuntu-22.04 + if: ${{ inputs.sonar }} steps: - uses: actions/checkout@v4 with: @@ -85,7 +90,7 @@ jobs: - name: Maven build run: mvn -B clean install -DskipTests -P ${{ inputs.hadoop }} -Dcheckstyle.skip ${{ inputs.mvn_opts }} - name: Run Junit tests - run: mvn -B verify surefire-report:report --fail-never -f ${{ (inputs.module == '' || inputs.model == 'all') && '.' || inputs.module }} -P ${{ inputs.hadoop }},${{ inputs.test_profile }} -Dcheckstyle.skip ${{ inputs.mvn_opts }} + run: mvn -B verify surefire-report:report --fail-never -f ${{ (inputs.module == '' || inputs.module == 'all') && '.' || inputs.module }} -P ${{ inputs.hadoop }},${{ inputs.test_profile }} -Dcheckstyle.skip ${{ inputs.mvn_opts }} - name: Publish Test Report uses: scacap/action-surefire-report@v1 env: @@ -94,7 +99,7 @@ jobs: ## https://docs.github.com/en/actions/learn-github-actions/expressions#cancelled if: success() || failure() with: - check_name: "Surefire tests report ${{ inputs.hadoop }} ${{ inputs.test_profile }}" + check_name: "Surefire tests report ${{ inputs.hadoop }} ${{ inputs.module }} ${{ inputs.test_profile }}" report_paths: './**/surefire-reports/TEST-*.xml' commit: '${{ github.sha }}' fail_on_test_failures: true From cebf317554b39c4f8b89efafc77eb995f096b9b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Coll=20Morag=C3=B3n?= Date: Wed, 21 Feb 2024 17:32:31 +0000 Subject: [PATCH 62/89] analysis: Fix test. #TASK-5663 --- .github/workflows/check-junit-test.yml | 8 +++++--- .../variant/manager/VariantCatalogQueryUtilsTest.java | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/check-junit-test.yml b/.github/workflows/check-junit-test.yml index d368cc534da..03854bdefab 100644 --- a/.github/workflows/check-junit-test.yml +++ b/.github/workflows/check-junit-test.yml @@ -75,7 +75,7 @@ jobs: # Only execute modules with matrix strategy if we are testing one single hadoop profile modules='["opencga-analysis", "opencga-app", "opencga-catalog", "opencga-client", "opencga-core", "opencga-master", "opencga-server", "opencga-storage", "opencga-test"]' fi - echo "profiles=$profiles" >> $GITHUB_OUTPUT + echo "profiles=[\"$profiles\"]" >> $GITHUB_OUTPUT echo "modules=$modules" >> $GITHUB_OUTPUT echo "hadoop=$hadoop" >> $GITHUB_OUTPUT echo "Executing testing profiles -> $profiles" >> $GITHUB_STEP_SUMMARY @@ -85,15 +85,17 @@ jobs: fi test: strategy: + fail-fast: false matrix: hadoop: ${{ fromJson(needs.get_profiles.outputs.hadoop) }} module: ${{ fromJson(needs.get_profiles.outputs.modules) }} + profile: ${{ fromJson(needs.get_profiles.outputs.profiles) }} needs: [ get_profiles ] uses: ./.github/workflows/test-analysis.yml with: - test_profile: ${{ needs.get_profiles.outputs.profiles }} - mvn_opts: ${{ inputs.mvn_opts }} + test_profile: ${{ matrix.profiles }} hadoop: ${{ matrix.hadoop }} module: ${{ matrix.module }} + mvn_opts: ${{ inputs.mvn_opts }} sonar: false secrets: inherit \ No newline at end of file diff --git a/opencga-analysis/src/test/java/org/opencb/opencga/analysis/variant/manager/VariantCatalogQueryUtilsTest.java b/opencga-analysis/src/test/java/org/opencb/opencga/analysis/variant/manager/VariantCatalogQueryUtilsTest.java index 3d157fdec74..25563473655 100644 --- a/opencga-analysis/src/test/java/org/opencb/opencga/analysis/variant/manager/VariantCatalogQueryUtilsTest.java +++ b/opencga-analysis/src/test/java/org/opencb/opencga/analysis/variant/manager/VariantCatalogQueryUtilsTest.java @@ -559,7 +559,7 @@ public void queryByFamilyWithoutStudy() throws CatalogException { @Test public void queryByFamilyNotFound() throws CatalogException { - CatalogException e = new CatalogException("Missing families: asdf not found"); + CatalogException e = new CatalogException("Missing families: 'asdf' not found"); thrown.expectMessage(e.getMessage()); thrown.expect(e.getClass()); queryUtils.parseQuery(new Query(STUDY.key(), "s1").append(FAMILY.key(), "asdf").append(FAMILY_DISORDER.key(), "asdf"), null, sessionId); From e8a2b4a3a6a7c7819a0fcb970b69f72bec869a52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Coll=20Morag=C3=B3n?= Date: Thu, 22 Feb 2024 11:20:43 +0000 Subject: [PATCH 63/89] analysis: Fix some analysis tests #TASK-5663 --- .../analysis/family/PedigreeGraphAnalysis.java | 2 +- .../analysis/family/FamilyAnalysisTest.java | 10 ++++++---- .../opencga/analysis/rga/RgaEngineTest.java | 10 +++++++--- .../analysis/variant/VariantAnalysisTest.java | 7 ++++--- .../catalog/utils/PedigreeGraphUtils.java | 17 ++++++++--------- ...HadoopVariantStorageSearchIntersectTest.java | 4 ++-- 6 files changed, 28 insertions(+), 22 deletions(-) diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/family/PedigreeGraphAnalysis.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/family/PedigreeGraphAnalysis.java index 3d49b12c7fb..2e99c99c2fd 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/family/PedigreeGraphAnalysis.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/family/PedigreeGraphAnalysis.java @@ -57,7 +57,7 @@ protected void check() throws Exception { OpenCGAResult familyResult = catalogManager.getFamilyManager().get(study, pedigreeParams.getFamilyId(), QueryOptions.empty(), token); if (familyResult.getNumResults() != 1) { - throw new ToolException("Unable to compute the pedigree graph imae. Family '" + pedigreeParams.getFamilyId() + "' not found"); + throw new ToolException("Unable to compute the pedigree graph image. Family '" + pedigreeParams.getFamilyId() + "' not found"); } family = familyResult.first(); diff --git a/opencga-analysis/src/test/java/org/opencb/opencga/analysis/family/FamilyAnalysisTest.java b/opencga-analysis/src/test/java/org/opencb/opencga/analysis/family/FamilyAnalysisTest.java index bd4944f868a..467437cb916 100644 --- a/opencga-analysis/src/test/java/org/opencb/opencga/analysis/family/FamilyAnalysisTest.java +++ b/opencga-analysis/src/test/java/org/opencb/opencga/analysis/family/FamilyAnalysisTest.java @@ -1,6 +1,8 @@ package org.opencb.opencga.analysis.family; import org.apache.commons.lang3.StringUtils; +import org.hamcrest.CoreMatchers; +import org.hamcrest.MatcherAssert; import org.junit.*; import org.junit.rules.ExpectedException; import org.opencb.biodata.models.clinical.Disorder; @@ -184,8 +186,8 @@ public void updateTest() throws CatalogException { .first(); PedigreeGraph pedigreeGraph = updatedFamily.getPedigreeGraph(); - assertTrue(pedigreeGraph.getBase64().startsWith("iVBORw0KGgoAAAANSUhEUgAAAeAAAAHg")); - assertTrue(pedigreeGraph.getBase64().endsWith("5UIf81hI8AAAAASUVORK5CYII=")); + MatcherAssert.assertThat(pedigreeGraph.getBase64(), CoreMatchers.startsWith("iVBORw0KGgoAAAANSUhEUgAAAeAAAAHg=")); + MatcherAssert.assertThat(pedigreeGraph.getBase64(), CoreMatchers.endsWith("5UIf81hI8AAAAASUVORK5CYII=")); } @Test @@ -207,8 +209,8 @@ public void testPedigreeGraphAnalysis() throws ToolException, IOException { sessionIdUser); String b64Image = PedigreeGraphUtils.getB64Image(outDir); - assertTrue(b64Image.startsWith("iVBORw0KGgoAAAANSUhEUgAAAeAAAAHg")); - assertTrue(b64Image.endsWith("s3Rj5UIf81hI8AAAAASUVORK5CYII=")); + MatcherAssert.assertThat(b64Image, CoreMatchers.startsWith("iVBORw0KGgoAAAANSUhEUgAAAeAAAAHg")); + MatcherAssert.assertThat(b64Image, CoreMatchers.endsWith("s3Rj5UIf81hI8AAAAASUVORK5CYII=")); assertEquals(family.getPedigreeGraph().getBase64(), b64Image); } diff --git a/opencga-analysis/src/test/java/org/opencb/opencga/analysis/rga/RgaEngineTest.java b/opencga-analysis/src/test/java/org/opencb/opencga/analysis/rga/RgaEngineTest.java index 8439c56e88b..9283ab82efb 100644 --- a/opencga-analysis/src/test/java/org/opencb/opencga/analysis/rga/RgaEngineTest.java +++ b/opencga-analysis/src/test/java/org/opencb/opencga/analysis/rga/RgaEngineTest.java @@ -15,16 +15,17 @@ import org.opencb.opencga.catalog.managers.CatalogManager; import org.opencb.opencga.core.config.Configuration; import org.opencb.opencga.core.config.storage.StorageConfiguration; -import org.opencb.opencga.core.models.analysis.knockout.*; +import org.opencb.opencga.core.models.analysis.knockout.KnockoutByIndividual; import org.opencb.opencga.core.testclassification.duration.MediumTests; import org.opencb.opencga.storage.core.StorageEngineFactory; +import org.opencb.opencga.storage.hadoop.variant.HadoopVariantStorageTest; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.List; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; @Category(MediumTests.class) public class RgaEngineTest { @@ -38,7 +39,10 @@ public class RgaEngineTest { private List knockoutByIndividualList = new ArrayList<>(2); - @Rule + @Rule(order = 0) + public HadoopVariantStorageTest.HadoopSolrSupport solrSupport = new HadoopVariantStorageTest.HadoopSolrSupport(); + + @Rule(order = 1) public RgaSolrExtenalResource solr = new RgaSolrExtenalResource(); @Before diff --git a/opencga-analysis/src/test/java/org/opencb/opencga/analysis/variant/VariantAnalysisTest.java b/opencga-analysis/src/test/java/org/opencb/opencga/analysis/variant/VariantAnalysisTest.java index 9c21fc99464..14c61ea51a1 100644 --- a/opencga-analysis/src/test/java/org/opencb/opencga/analysis/variant/VariantAnalysisTest.java +++ b/opencga-analysis/src/test/java/org/opencb/opencga/analysis/variant/VariantAnalysisTest.java @@ -168,8 +168,6 @@ public void setUp() throws Throwable { // System.setProperty("opencga.log.level", "INFO"); // Configurator.reconfigure(); if (!indexed) { - indexed = true; - opencga.after(); opencga.before(storageEngine); @@ -251,6 +249,7 @@ public void setUp() throws Throwable { if (storageEngine.equals(HadoopVariantStorageEngine.STORAGE_ENGINE_ID)) { VariantHbaseTestUtils.printVariants(((VariantHadoopDBAdaptor) engine.getDBAdaptor()), Paths.get(opencga.createTmpOutdir("_hbase_print_variants")).toUri()); } + indexed = true; } // Reset engines opencga.getStorageEngineFactory().close(); @@ -279,7 +278,8 @@ public void setUpCatalogManager() throws IOException, CatalogException { String projectId = catalogManager.getProjectManager().create(new ProjectCreateParams() .setId(PROJECT) - .setDescription("Project about some genomes").setOrganism(new ProjectOrganism("hsapiens", "grch38")), + .setDescription("Project about some genomes") + .setOrganism(new ProjectOrganism("hsapiens", "GRCh38")), new QueryOptions(ParamConstants.INCLUDE_RESULT_PARAM, true), token).first().getId(); catalogManager.getStudyManager().create(projectId, STUDY, null, "Phase 1", "Done", null, null, null, null, null, token); @@ -1013,6 +1013,7 @@ public void testHRDetect() throws Exception { toolRunner.execute(HRDetectAnalysis.class, hrdParams, new ObjectMap(ParamConstants.STUDY_PARAM, CANCER_STUDY), hrdetectOutDir, null, token); java.io.File hrDetectFile = hrdetectOutDir.resolve(HRDetectAnalysis.HRDETECT_SCORES_FILENAME_DEFAULT).toFile(); + assertTrue("File missing : " + hrDetectFile, hrDetectFile.exists()); byte[] bytes = Files.readAllBytes(hrDetectFile.toPath()); System.out.println(new String(bytes)); assertTrue(hrDetectFile.exists()); diff --git a/opencga-catalog/src/main/java/org/opencb/opencga/catalog/utils/PedigreeGraphUtils.java b/opencga-catalog/src/main/java/org/opencb/opencga/catalog/utils/PedigreeGraphUtils.java index b56966a44e8..480781b0e21 100644 --- a/opencga-catalog/src/main/java/org/opencb/opencga/catalog/utils/PedigreeGraphUtils.java +++ b/opencga-catalog/src/main/java/org/opencb/opencga/catalog/utils/PedigreeGraphUtils.java @@ -11,8 +11,12 @@ import org.opencb.opencga.core.models.family.PedigreeGraph; import org.opencb.opencga.core.models.individual.Individual; -import java.io.*; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.PrintWriter; import java.nio.charset.StandardCharsets; +import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.*; @@ -85,11 +89,8 @@ public static String getB64Image(Path outDir) throws IOException { if (!imgFile.exists()) { throw new IOException("Pedigree graph image file (" + PEDIGREE_IMAGE_FILENAME + ") not found at " + outDir); } - - FileInputStream fileInputStreamReader = new FileInputStream(imgFile); - byte[] bytes = new byte[(int) imgFile.length()]; - fileInputStreamReader.read(bytes); - return new String(Base64.getEncoder().encode(bytes), StandardCharsets.UTF_8); + byte[] bytes = Files.readAllBytes(imgFile.toPath()); + return Base64.getEncoder().encodeToString(bytes); } public static Object getJsonPedigreeGraph(Path outDir) throws IOException { @@ -107,9 +108,7 @@ public static String getTsvPedigreeGraph(Path outDir) throws IOException { throw new IOException("Pedigree graph TSV file (" + PEDIGREE_TSV_FILENAME + ") not found at " + outDir); } - FileInputStream fileInputStreamReader = new FileInputStream(tsvFile); - byte[] bytes = new byte[(int) tsvFile.length()]; - fileInputStreamReader.read(bytes); + byte[] bytes = Files.readAllBytes(tsvFile.toPath()); return new String(bytes, StandardCharsets.UTF_8); } diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/HadoopVariantStorageSearchIntersectTest.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/HadoopVariantStorageSearchIntersectTest.java index 6213553b2a5..f73ad2af141 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/HadoopVariantStorageSearchIntersectTest.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/HadoopVariantStorageSearchIntersectTest.java @@ -33,10 +33,10 @@ @Category(LongTests.class) public class HadoopVariantStorageSearchIntersectTest extends VariantStorageSearchIntersectTest implements HadoopVariantStorageTest { - @ClassRule + @ClassRule(order = 0) public static HadoopSolrSupport solrSupport = new HadoopSolrSupport(); - @ClassRule + @ClassRule(order = 1) public static ExternalResource externalResource = new HadoopExternalResource(); @Override From f4e9aa55e2b4ca431c08c37dcffe2ec47fd4a3be Mon Sep 17 00:00:00 2001 From: pfurio Date: Thu, 22 Feb 2024 16:30:02 +0100 Subject: [PATCH 64/89] catalog: sorting order of members of family was altered on insert, --- .../analysis/family/FamilyAnalysisTest.java | 8 ++-- .../mongodb/converters/FamilyConverter.java | 40 +++++++++---------- 2 files changed, 25 insertions(+), 23 deletions(-) diff --git a/opencga-analysis/src/test/java/org/opencb/opencga/analysis/family/FamilyAnalysisTest.java b/opencga-analysis/src/test/java/org/opencb/opencga/analysis/family/FamilyAnalysisTest.java index 467437cb916..bed91d16ec0 100644 --- a/opencga-analysis/src/test/java/org/opencb/opencga/analysis/family/FamilyAnalysisTest.java +++ b/opencga-analysis/src/test/java/org/opencb/opencga/analysis/family/FamilyAnalysisTest.java @@ -179,15 +179,17 @@ public void test2Member2GenerationFamilyTest() throws CatalogException { public void updateTest() throws CatalogException { FamilyUpdateParams updateParams = new FamilyUpdateParams(); + Family prevFamily = catalogManager.getFamilyManager().get(studyId, family.getId(), null, sessionIdUser).first(); + assertEquals(prevFamily.getPedigreeGraph().getBase64(), family.getPedigreeGraph().getBase64()); + QueryOptions queryOptions = new QueryOptions() .append(ParamConstants.FAMILY_UPDATE_ROLES_PARAM, true) .append(ParamConstants.INCLUDE_RESULT_PARAM, true); Family updatedFamily = catalogManager.getFamilyManager().update(studyId, family.getId(), updateParams, queryOptions, sessionIdUser) .first(); - PedigreeGraph pedigreeGraph = updatedFamily.getPedigreeGraph(); - MatcherAssert.assertThat(pedigreeGraph.getBase64(), CoreMatchers.startsWith("iVBORw0KGgoAAAANSUhEUgAAAeAAAAHg=")); - MatcherAssert.assertThat(pedigreeGraph.getBase64(), CoreMatchers.endsWith("5UIf81hI8AAAAASUVORK5CYII=")); + assertEquals(prevFamily.getPedigreeGraph().getBase64(), updatedFamily.getPedigreeGraph().getBase64()); + assertEquals(prevFamily.getVersion() + 1, updatedFamily.getVersion()); } @Test diff --git a/opencga-catalog/src/main/java/org/opencb/opencga/catalog/db/mongodb/converters/FamilyConverter.java b/opencga-catalog/src/main/java/org/opencb/opencga/catalog/db/mongodb/converters/FamilyConverter.java index 16372fe2db9..b747e5b8e36 100644 --- a/opencga-catalog/src/main/java/org/opencb/opencga/catalog/db/mongodb/converters/FamilyConverter.java +++ b/opencga-catalog/src/main/java/org/opencb/opencga/catalog/db/mongodb/converters/FamilyConverter.java @@ -16,17 +16,16 @@ package org.opencb.opencga.catalog.db.mongodb.converters; +import org.apache.commons.collections4.CollectionUtils; import org.bson.Document; import org.opencb.biodata.models.clinical.Phenotype; -import org.opencb.commons.utils.ListUtils; import org.opencb.opencga.catalog.db.api.FamilyDBAdaptor; import org.opencb.opencga.core.models.family.Family; -import org.opencb.opencga.core.models.individual.Individual; import org.opencb.opencga.core.models.study.VariableSet; -import java.util.HashMap; +import java.util.HashSet; import java.util.List; -import java.util.Map; +import java.util.Set; import java.util.stream.Collectors; /** @@ -55,40 +54,41 @@ public Document convertToStorageType(Family object, List variableSe } public void validateDocumentToUpdate(Document document) { - List memberList = (List) document.get("members"); + List memberList = document.getList("members", Document.class); if (memberList != null) { // We make sure we don't store duplicates - Map individualMap = new HashMap<>(); + Set individualSet = new HashSet<>(); for (Document individual : memberList) { - long id = individual.getInteger("uid").longValue(); - int version = individual.getInteger("version"); - if (id > 0) { - Individual tmpIndividual = new Individual() - .setVersion(version); - tmpIndividual.setUid(id); - individualMap.put(id, tmpIndividual); + long uid = individual.get("uid", Number.class).longValue(); + if (uid <= 0) { + throw new IllegalArgumentException("Missing uid value for member '" + individual.getString("id") + "'."); } + if (individualSet.contains(uid)) { + throw new IllegalArgumentException("Duplicated member '" + individual.getString("id") + " (" + uid + ")' found."); + } + individualSet.add(uid); } document.put("members", - individualMap.entrySet().stream() + memberList.stream() .map(entry -> new Document() - .append("uid", entry.getValue().getUid()) - .append("version", entry.getValue().getVersion())) + .append("uid", entry.get("uid", Number.class).longValue()) + .append("version", entry.get("version", Number.class).intValue()) + ) .collect(Collectors.toList())); } - List disorderList = (List) document.get("disorders"); + List disorderList = document.getList("disorders", Document.class); if (disorderList != null) { for (Document disorder : disorderList) { - fixPhenotypeFields((List) disorder.get("evidences")); + fixPhenotypeFields(disorder.getList("evidences", Document.class)); } } - fixPhenotypeFields((List) document.get("phenotypes")); + fixPhenotypeFields(document.getList("phenotypes", Document.class)); } private void fixPhenotypeFields(List phenotypeList) { - if (ListUtils.isNotEmpty(phenotypeList)) { + if (CollectionUtils.isNotEmpty(phenotypeList)) { for (Document phenotype : phenotypeList) { phenotype.put("status", Phenotype.Status.UNKNOWN.name()); phenotype.put("ageOfOnset", "-1"); From 565693f5b0ede00ea66ab2fe095195e9af1d7757 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Coll=20Morag=C3=B3n?= Date: Thu, 22 Feb 2024 15:32:00 +0000 Subject: [PATCH 65/89] storage: Fix newPhoenixRecordReader creation at hbase-compat2.0 #TASK-5663 --- .github/workflows/test-analysis.yml | 1 + .../analysis/family/FamilyAnalysisTest.java | 15 +++------------ opencga-app/app/misc/solr/prepare_configsets.sh | 6 +++++- .../variant/annotation/phoenix/PhoenixCompat.java | 11 +---------- 4 files changed, 10 insertions(+), 23 deletions(-) diff --git a/.github/workflows/test-analysis.yml b/.github/workflows/test-analysis.yml index 4fd20ad0aad..6333ec64c76 100644 --- a/.github/workflows/test-analysis.yml +++ b/.github/workflows/test-analysis.yml @@ -103,5 +103,6 @@ jobs: report_paths: './**/surefire-reports/TEST-*.xml' commit: '${{ github.sha }}' fail_on_test_failures: true + fail_if_no_tests: false diff --git a/opencga-analysis/src/test/java/org/opencb/opencga/analysis/family/FamilyAnalysisTest.java b/opencga-analysis/src/test/java/org/opencb/opencga/analysis/family/FamilyAnalysisTest.java index 467437cb916..10e3c1fc475 100644 --- a/opencga-analysis/src/test/java/org/opencb/opencga/analysis/family/FamilyAnalysisTest.java +++ b/opencga-analysis/src/test/java/org/opencb/opencga/analysis/family/FamilyAnalysisTest.java @@ -96,18 +96,9 @@ public static void setUpCatalogManager(CatalogManager catalogManager) throws Cat studyId = catalogManager.getStudyManager().create(projectId, "phase1", null, "Phase 1", "Done", null, null, null, null, null, sessionIdUser).first().getId(); - try { - family = createDummyFamily("Martinez-Martinez").first(); - } catch (CatalogException e) { - } - try { - family2 = createDummyFamily("Lopez-Lopez", Arrays.asList("father11-sample", "mother11-sample"), 1).first(); - } catch (CatalogException e) { - } - try { - family3 = createDummyFamily("Perez-Perez", Arrays.asList("father22-sample", "mother22-sample", "child222-sample"), 0).first(); - } catch (CatalogException e) { - } + family = createDummyFamily("Martinez-Martinez").first(); + family2 = createDummyFamily("Lopez-Lopez", Arrays.asList("father11-sample", "mother11-sample"), 1).first(); + family3 = createDummyFamily("Perez-Perez", Arrays.asList("father22-sample", "mother22-sample", "child222-sample"), 0).first(); } @After diff --git a/opencga-app/app/misc/solr/prepare_configsets.sh b/opencga-app/app/misc/solr/prepare_configsets.sh index 554dcc7c3d1..a4a26213cb1 100755 --- a/opencga-app/app/misc/solr/prepare_configsets.sh +++ b/opencga-app/app/misc/solr/prepare_configsets.sh @@ -1,5 +1,9 @@ #!/bin/bash +set -e +set -o pipefail +set -o nounset + if [ $# -eq 2 ]; then echo $0 $@ else @@ -19,7 +23,7 @@ sed -i "s/REPLACEME_OPENCGA_VERSION/${VERSION}/g" "${SOLR_DIR}/INSTALL.md" sed -i "s/REPLACEME_OPENCGA_VERSION/${VERSION}/g" "${SOLR_DIR}/install.sh" # Iterate over the different config sets -for name in variant rga rga-aux file sample individual family cohort job; do +for name in variant rga rga-aux; do CONFIG_SET_NAME="opencga-$name-configset-$VERSION" CONFIG_SET_DIR="$SOLR_DIR/$CONFIG_SET_NAME" diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.0/src/main/java/org/opencb/opencga/storage/hadoop/variant/annotation/phoenix/PhoenixCompat.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.0/src/main/java/org/opencb/opencga/storage/hadoop/variant/annotation/phoenix/PhoenixCompat.java index f42149ea3d0..f6881c972f5 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.0/src/main/java/org/opencb/opencga/storage/hadoop/variant/annotation/phoenix/PhoenixCompat.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.0/src/main/java/org/opencb/opencga/storage/hadoop/variant/annotation/phoenix/PhoenixCompat.java @@ -3,13 +3,11 @@ import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.mapreduce.lib.db.DBWritable; import org.apache.phoenix.compile.QueryPlan; -import org.apache.phoenix.iterate.MapReduceParallelScanGrouper; import org.apache.phoenix.mapreduce.PhoenixRecordReader; import org.apache.phoenix.schema.PColumn; import org.apache.phoenix.schema.PTable; import org.apache.phoenix.schema.PTableImpl; -import java.lang.reflect.Constructor; import java.sql.SQLException; import java.util.List; @@ -23,14 +21,7 @@ public PTable makePTable(List columns) throws SQLException { @Override public PhoenixRecordReader newPhoenixRecordReader(Class inputClass, Configuration configuration, QueryPlan queryPlan) { - try { - Constructor constructor = PhoenixRecordReader.class - .getConstructor(Class.class, Configuration.class, QueryPlan.class, MapReduceParallelScanGrouper.class); - constructor.setAccessible(true); - return constructor.newInstance(inputClass, configuration, queryPlan, MapReduceParallelScanGrouper.getInstance()); - } catch (ReflectiveOperationException e) { - throw new IllegalStateException(e); - } + return new PhoenixRecordReader<>(inputClass, configuration, queryPlan); } @Override From c4ee14b25f1404d91ae8dc17246eab1aea7a4d75 Mon Sep 17 00:00:00 2001 From: pfurio Date: Thu, 22 Feb 2024 16:53:21 +0100 Subject: [PATCH 66/89] catalog: simplify code, #TASK-5663 --- .../catalog/db/mongodb/converters/FamilyConverter.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/opencga-catalog/src/main/java/org/opencb/opencga/catalog/db/mongodb/converters/FamilyConverter.java b/opencga-catalog/src/main/java/org/opencb/opencga/catalog/db/mongodb/converters/FamilyConverter.java index b747e5b8e36..7af75fa5e08 100644 --- a/opencga-catalog/src/main/java/org/opencb/opencga/catalog/db/mongodb/converters/FamilyConverter.java +++ b/opencga-catalog/src/main/java/org/opencb/opencga/catalog/db/mongodb/converters/FamilyConverter.java @@ -63,10 +63,10 @@ public void validateDocumentToUpdate(Document document) { if (uid <= 0) { throw new IllegalArgumentException("Missing uid value for member '" + individual.getString("id") + "'."); } - if (individualSet.contains(uid)) { + boolean unique = individualSet.add(uid); + if (!unique) { throw new IllegalArgumentException("Duplicated member '" + individual.getString("id") + " (" + uid + ")' found."); } - individualSet.add(uid); } document.put("members", From cbf36ac398cfa48fb31991a1c2767d43b8e0c5f9 Mon Sep 17 00:00:00 2001 From: pfurio Date: Fri, 23 Feb 2024 10:15:03 +0100 Subject: [PATCH 67/89] catalog: ensure members order is respected, #TASK-5663 --- .../opencga/catalog/managers/FamilyManager.java | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/opencga-catalog/src/main/java/org/opencb/opencga/catalog/managers/FamilyManager.java b/opencga-catalog/src/main/java/org/opencb/opencga/catalog/managers/FamilyManager.java index c164b30b32a..f02869f3944 100644 --- a/opencga-catalog/src/main/java/org/opencb/opencga/catalog/managers/FamilyManager.java +++ b/opencga-catalog/src/main/java/org/opencb/opencga/catalog/managers/FamilyManager.java @@ -1401,7 +1401,7 @@ public OpenCGAResult> updateAcl(String studyId, */ private List autoCompleteFamilyMembers(String organizationId, Study study, Family family, List members, String userId) throws CatalogException { - if (family.getMembers() != null && !family.getMembers().isEmpty()) { + if (CollectionUtils.isNotEmpty(family.getMembers())) { List memberList = new ArrayList<>(); // Check the user can create new individuals authorizationManager.checkStudyPermission(organizationId, study.getUid(), userId, @@ -1416,12 +1416,18 @@ private List autoCompleteFamilyMembers(String organizationId, Study family.setMembers(memberList); } - if (members != null && !members.isEmpty()) { - // We remove any possible duplicate - ArrayList deduplicatedMemberIds = new ArrayList<>(new HashSet<>(members)); + if (CollectionUtils.isNotEmpty(members)) { + // We check for possible duplicates + Set memberSet = new HashSet<>(); + for (String member : members) { + boolean unique = memberSet.add(member); + if (!unique) { + throw new CatalogException("Duplicated member '" + member + "' passed."); + } + } InternalGetDataResult individualDataResult = catalogManager.getIndividualManager().internalGet(organizationId, - study.getUid(), deduplicatedMemberIds, IndividualManager.INCLUDE_INDIVIDUAL_DISORDERS_PHENOTYPES, userId, false); + study.getUid(), members, IndividualManager.INCLUDE_INDIVIDUAL_DISORDERS_PHENOTYPES, userId, false); return individualDataResult.getResults(); } From f7376355cf642d701170e00a1eaf4953500b9005 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Coll=20Morag=C3=B3n?= Date: Fri, 23 Feb 2024 11:37:19 +0000 Subject: [PATCH 68/89] storage: Fix ClassRule execution order in HadoopVariantStorageSearchIntersectTest #TASK-5663 --- .../core/variant/VariantStorageSearchIntersectTest.java | 2 +- .../variant/HadoopVariantStorageSearchIntersectTest.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/opencga-storage/opencga-storage-core/src/test/java/org/opencb/opencga/storage/core/variant/VariantStorageSearchIntersectTest.java b/opencga-storage/opencga-storage-core/src/test/java/org/opencb/opencga/storage/core/variant/VariantStorageSearchIntersectTest.java index 37c1c02b60d..5e29cd2b127 100644 --- a/opencga-storage/opencga-storage-core/src/test/java/org/opencb/opencga/storage/core/variant/VariantStorageSearchIntersectTest.java +++ b/opencga-storage/opencga-storage-core/src/test/java/org/opencb/opencga/storage/core/variant/VariantStorageSearchIntersectTest.java @@ -65,7 +65,7 @@ @Ignore public abstract class VariantStorageSearchIntersectTest extends VariantStorageBaseTest { - @ClassRule + @ClassRule(order = 10) public static VariantSolrExternalResource solr = new VariantSolrExternalResource(); protected VariantDBAdaptor dbAdaptor; diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/HadoopVariantStorageSearchIntersectTest.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/HadoopVariantStorageSearchIntersectTest.java index f73ad2af141..e8987078bc8 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/HadoopVariantStorageSearchIntersectTest.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/HadoopVariantStorageSearchIntersectTest.java @@ -33,10 +33,10 @@ @Category(LongTests.class) public class HadoopVariantStorageSearchIntersectTest extends VariantStorageSearchIntersectTest implements HadoopVariantStorageTest { - @ClassRule(order = 0) + @ClassRule(order = 1) public static HadoopSolrSupport solrSupport = new HadoopSolrSupport(); - @ClassRule(order = 1) + @ClassRule(order = 20) public static ExternalResource externalResource = new HadoopExternalResource(); @Override From 1e366ea5c734d2ec90d2103e506b77ab79df0e88 Mon Sep 17 00:00:00 2001 From: pfurio Date: Fri, 23 Feb 2024 12:37:50 +0100 Subject: [PATCH 69/89] analysis: fix VariantAnalysisTest base64, #TASK-5663 --- .../opencb/opencga/analysis/variant/VariantAnalysisTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/opencga-analysis/src/test/java/org/opencb/opencga/analysis/variant/VariantAnalysisTest.java b/opencga-analysis/src/test/java/org/opencb/opencga/analysis/variant/VariantAnalysisTest.java index 14c61ea51a1..59d2ba43d5d 100644 --- a/opencga-analysis/src/test/java/org/opencb/opencga/analysis/variant/VariantAnalysisTest.java +++ b/opencga-analysis/src/test/java/org/opencb/opencga/analysis/variant/VariantAnalysisTest.java @@ -1063,12 +1063,12 @@ public void testHRDetectParseResults() throws Exception { @Test public void testPedigreeGraph() throws CatalogException { - String base64 = "iVBORw0KGgoAAAANSUhEUgAAAeAAAAHgCAMAAABKCk6nAAAC6FBMVEUAAAABAQECAgIEBAQGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUWFhYXFxcYGBgZGRkaGhobGxsdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJycoKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6Ojo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tMTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1eXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29wcHBxcXFycnJzc3N0dHR1dXV2dnZ3d3d4eHh5eXl6enp7e3t9fX1+fn5/f3+AgICBgYGCgoKDg4OEhISFhYWGhoaHh4eIiIiJiYmKioqMjIyNjY2Ojo6Pj4+QkJCRkZGSkpKTk5OUlJSVlZWWlpaXl5eYmJiZmZmampqbm5ucnJydnZ2fn5+goKChoaGioqKjo6OkpKSlpaWmpqanp6eoqKipqamqqqqrq6usrKytra2urq6vr6+wsLCxsbGysrKzs7O0tLS1tbW2tra3t7e4uLi5ubm6urq7u7u8vLy+vr6/v7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnKysrLy8vMzMzNzc3Ozs7Pz8/Q0NDR0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc3Nzd3d3e3t7f39/g4ODh4eHi4uLj4+Pk5OTl5eXm5ubn5+fo6Ojp6enq6urr6+vs7Ozu7u7v7+/w8PDx8fHy8vLz8/P09PT19fX29vb39/f4+Pj5+fn6+vr7+/v8/Pz9/f3+/v7////lDE73AAARGklEQVR4nO3dfVwUdQLH8T2tDpXQ8ta0uB4OKq87PTpleRAhwMTKhxDsOLWEyDTS4MzrLDMf8PLSUznTyisVNbvOh9My6y6VUCyP81mUTE4BxUpFediF3783M7uzu7LKMTuLs/vt+3m9YoYZ2Pn99s0CvwXMJBh0JqMHwNo3AoNHYPAIDB6BwSMweAQGj8DgERg8AoNHYPAIDB6BwSMweAQGj8DgERg8AoNHYPAIDB6BwSMweAQGj8DgERg8AoNHYPAIDB6BwSMweAQGj8DgERg8AoNHYPAIDB6BwSMweAQGj8DgERg8AoNHYPAIDB6BwSMweAQGj8DgERg8AoNHYPAIDB6BwSMweAQGj8DgERg8HcA176u9s9S5e9p3QwuQmsu3zfv4iM3oYVwrHcBrf7PUUeKv1b3sAt8NLSA6PDFyzKwfz8mKGrvH6KFcPT3ATszJ6Z7HfhBdem5okbQJkf7bN/o354weztUisI7ODlinbEOUl/+MPG7kYK4Rgb2vbsBu+44dWByLrDFuMNeKwN6Xt8qx4wAWn6df602Ni8BeV5mo7qnAImOvMUNpJQJ73fxCdc8JXDTZmKG0EoG9bvgZdc8JbIszZiit5GPgxUPnGtD4GUZcNcx5TziBBTzwX3O2GdCwZUZctW+zOusfELAxn6Jz9hlx1dHl6p4T+HLi1d/UwAjsde8uVPecwOtnGjGQViOw19VaGhx7TuDECiMG0moE9r6l0xw7IS0P+FEE1tHot+xbB/DmwY3GjKO1CKwj67jJtfJWAW6c81itMcNoNQLrqrD/vFMKcM2blkVNRo2itXQA/+1XIx2F3aHuRS713dDannHAomHl49EpNz0a/cjSi4aNodV0ANvK1crKnLtW3w2t7RkILHex8nw73Or3aybEm0x39BqYsPo7HTcD8Ut3BgO3R6UZJqW+64pSX7/1iU+9viEC+2NnRpscdbcNK1v45oafZnj72yIE9sM+NTmLO5xms1x+snj6T7d6d1sE9r/ecfmanhq7a0X+qYdFXMX9+V7dmAbg3l3OCbE6Qt6NC6mXXi7o0/EZ+bUjCZ3uWivvvBt2Q1iJa6ueb/euC7Dm6V9ID+q1xIsLvefma0obLAZ8l7t1y+++j8mY482wtQB3m+KY4YkOXd+XNh9szJBnaA2feulfnaX7eJN545k9J1xbx/n27/oAa51+VvzZ7Z23a75Okbuv6f5PNr/4bUxzUsWswuLbtd+YNuCZXarsM5wR9cIQ5dBEeYYHOlwWIjVXiL7L7W+obh3n27/rA6xx+o2dPhciM1PrZS5YrgA2NyednrmmJLPOYk0teqBa+7C1AK8bk2Of4d0FX3ZUrqXMcF+HOmmGiaL+R/k9e+TUObcCDFjj9MtM0up4UaTWy/zuCl/ToN1P10VZRxwsKDg6whb+nPZhawIu71whz3BHxxoR/oZ8SJlh493TGnYGRYlyU0x1xS9ecW4FGrC26e81NUtfT3trvMrpK31NTw0/tHjJkVRb1OWsojWvJR7TPGxNwCI7S55hVor0aeqX8iE74IGEblGZaaLStF6Itx90bgUasLbpe/cIntYCePhIyXbcF6tnVQ0SsefSRmketjbgik6zIsTl4E5mc4ipVLgDJswT4tYNdlh1CwesafqNQTukDwaNX4ObLS2A7yleNfuUbDtly9bc87GW5v9/G1emDVjkdIsQhV1PVlVVxeYKa934rDqrEMWVla/dVivElNia031edW3V8+3e9QLWNv3MpG+LgzV+41vawtfUS8R9l/fxx3nnY5sHncxfMe4zrcPWCFwVFCEG5cqvrTVblU8nU4V4OeSmxEPSofqsYPOketdWPd/uXTdgTdO/kBZ0m9Z1cEFL4MekFXBsc/LJOatKnqzv1xj9ktZh85ksv2pCS+Cn5BVwybh6i3XkgTcXlic+rfUWCeyT8qRHcui1/gQ8z/OzmONtPc481hL4EWUFfHDJ4uMjbJEXn9mWovWCBPZJ8l367tlWTrbI8bbqGfVZz+bwlsCh0gr4iGRb+3TR+zOqk8QdTRovSGCfdBVDOetVTrp/16mecTzr2fx0mAewtErKlFbA1cliQM3vN30aMq5J2wUJrLuD/YKHZNo/Y07vcXPYbnEsMeTetUKY5/a913myemT30Dccx4TytuoZe/KKq3nCnFEtgVML7SvgFzdvm3ze0pSYMv+pJk0XJLDebGH5tq03Kvf3l6Fnxdf/td33csP2znuFOaW+WT3ZbMmr+ybsH8ox+Z1C9zjfzZ4MfPZt8QePb7KUFfAL0irp4W/++F7p4Cli+SlNFySw3nbfYhMiRbm/S7tvaxCipKv0iTIzT5i3uk6WBkvbhWOVY3Khe5zvZs/xnMm6lsDJjhXwyn+Pre/XMOql1VovSGC9/b2v9OI5+2fMdx4Mzji7/ufSgZmjhHmf6+SGG8PDw+8crhyTC93jfDd7DuCalsA9T85etUdeAaftX/bn8qFDq7VekMB6291LejFSXbXUPPK88wG133Vyr9n+HKN8TE56BKvvZk991vPhFsA/U1fAw5siL47fnKz5ggTWm+2ev4myIOX+PlBkbRiVZ7v31cadXb5S7m/1ZFPklIu2g7uVY299pHwNVt9NftX1pO6aFsBP2FfAtdk7100/M3DuSs0XJLDu9kdGp45V7u9dfbrcmvqtOJpwc3ih49GqnqzOMIf036ocGzRNefCpZ+RXXU/q2qKuBB4rr4DXyivghJqX1lgaNV+QwH7WxiuB4+wr4KmbPn3+giXnQ+23R2B/a/QVwGZpBfyJvAJO+eb1vCe8uDkC+1sXY92Beysr4LnvlY6pfyDam7+QIbDfdcr9h/5jpBWwvEoatf+VUK/++QAC+1+n49yA5RXw0j+XD1t3/1GvbozAftjliU7gqIXlI6QV8Oik8Ze8uy0C+2VfJDqAu8sr4GcnhO7w9pYI7Kd9MU4BvrfwvvE9n9jp/e0Q2G9r2r9qdua4aa/v0/VPQxAYPAKDR2DwCAwegcEjMHgEBo/A4BEYPAKDR2DwCAwegcEjMHgEBo/A4BEYPAKDR2DwCAwegcEjMHgEBo/A4BEYPAKDR2DwCAwegcGDAB6i488r0YMA5iP42hEYPAKDR2DwCAwegcEjMHgEBo/A4BEYPAKDR2DwCAwegcEjMHgEBo/A4BEYPAKDR2DwCAwegcEjMHgEBo/A4BEYPAKDR2DwCAwegcEjMHgEBo/A4BEYPAKDR2DwCAwegcEjMHgEBo/A4BEYPAKDR2DwCAwegcEjMHgEBo/A4BEYPAKDR2DwCAwegcEjMHgEBo/A4BEYPAKDR2DwCAwegcEjMHgEBo/A4BEYPAKDR2DwCAwegcEjMHgEBo/A4BEYPAKDR2DwCAwegcEjMHgEBo/A4BEYPAKDR2DwCAwegcEjMHgEBo/A4BEYPAKDR2DwCAwegcEjMHgEBg8CeHCR0SPw3yCA+Qi+dgQGj8DgERg8AoNHYPAIDB6BwSMweAQGj8DgERg8AoNHYPAIDB6BwSMweAQGj8DgERg8AoNHYPAIDB6BwSMweAQGj8DgERg8AoNHYPAIDB6BwSMweAQGj8DgERg8AoNHYPAIDB6BwSMweAQGj8DgERg8AoNHYPAIDB6BwSMweAQGj8DgERg8AoNHYPAIDB6BwSMweAQGj8DgERg8AoNHYPAIDB6BwSMweAQGj8DgERg8AoNHYPAIDJ5PgOvLyg1tzBZjr3/KF3diO+UT4AWx2YaWPMbY69/pizuxnfIJ8NoCX9xK4DbQ6AG0EoF9EIHBIzB4BAaPwOARGDwCg0dg8AgMHoHBIzB4BAaPwOARGDwCg0dg8AgMHoHBIzB4BAaPwOARGDwCg0dg8LCBazfnJ/SfteF7HwwmsPqT8y8buj6UHZM1dMST8dljjR6UR3qBD42Jn/mP9MSP85PS9vpkQIFTjMnZX9Oz/xKx4VdLsnoYPSiP9AE3zRj8b2kzOV16cXhEbqNPhhQoDXQBT3xtS+Lx6M+mvTjA6EF5pAvYOmpes7xVgIV4+5E6H4woYHIDXrAp+VjMF5OmfnKL0YPySBdw7mL71gEsVvvfl6B2zA14zaNH++3KlB7GMUYPyiM9wLvSHDsqsHh2s87hBFJuwCOOWkqfnL8x+WhPowflkR7gYV87dpzANQn6RhNQuQEf+PV/Ri5a/ejRqAeNHpRHOoAvJKl7TmAxskLfcAIpN2DL4ceXrxx2xFIabvSgPNIBvP0P6p4L+I0PdY0moHIDPpqy4s1RBywH06CAP1yg7rmAVy7TN5xAyg148IeLM/bLD+N+Rg/KIx3An8xU91zASwr1DSeQcgP+aG72l1FlKSsKoJ7oOJ2q7rmAx/9H33ACKTfguc+WRB+THsa/jTN6UB7p+S56wAXHjhO4sX+zzvEEUG7AU7cPOB6/cW52CdYTHSumO3acwIvm6xxOIOUG/M+44/Hbpk8oibYYPSiP9AA3Ddpl31GBD8U26B5Q4OQGnHg8dmfui9LD+HajB+WRrqcqq6NKlK0D+GDk17rHE0C5AZfHFD8/VX4Y/9LoQXmk76dJVcl/lB+zCrCtIO6ET4YUKLkBR+0dN3Oz/DD+udGD8kjnz4Ntf4l8ZXfd5PSGr2ZbXv8hfX4WVwDvGzt/Y/LxmOJn/e8fNdT9Gx3WLZOS7r/noYnr630xnEAqPVHtJw/cN7BHQmj/vmHxRg/KI4h/TphdOwKDR2DwCAwegcHTANy7yzkhVkfIu3Eh8vfMC/p0fEZ+7UhCp7vWyjvvht0QViLEhfSgXkuEa4tRm6d/ML5zj7wmIYZI66ebDRywPS3A3aY4ZniiQ9f3pc0HGzPkGVrDp176V+d9Qmwybzyz54QQWfFnt3fe7tpi1Obp9828VBa6TAJeVldn/NpRC/DMLlX2Gc6IemGIcmiiPMMDHS4LkZorzWy5crCx0+dCZGY6tyC1dfoiRJp21iQJeLlhY3VLC/C6MTn2Gd5d8GXHavmQMsN9HeqkGSaK+h/l9+yRUyfKTOeFWBTp3ILU1umLGVmXjt35kQR8++0PfWbokOU0AZd3rpBnuKNjjQh/Qz6kzLDx7mkNO4OiRLkpprriF6+IvaZmId7r7dyC1Nbpiz3hJtNz0onNXx3Ov9Hw/6OTJmCRnSXPMCtF+jBVfm6izFAcSOgWlZkmKk3rhXj7QdxHcNumf+mW2XUVFsevM6W8atyA7WkDrug0K0JcDu5kNoeYSoU6Q7mEeULcukGZYWPQDuleyHRuQWrr9I+ZLkof19H248NeNmi0zrQBi5xuEaKw68mqqqrYXGGtG59VZxWiuLLytdtqhZgSW3O6j/Qhm5n0bXHwdtcWo7ZO3/qTuY2V0RNE7arT5966YbfRw9YIXBUUIQblyq+tNVunKb+OJMTLITclHpIO1WcFmydJC4MLaUG3KetgxxajNk9/V1SX7hnfiYuxNwf1Nf7XxPlMFngEBo/A4BEYPAKDR2DwCAwegcEjMHgEBo/A4BEYPAKDR2DwCAwegcEjMHgEBo/A4BEYPAKDR2DwCAwegcEjMHgEBo/A4BEYPAKDR2DwCAwegcEjMHgEBo/A4BEYPAKDR2DwCAwegcEjMHgEBo/A4BEYPAKDR2DwCAwegcEjMHgEBo/A4BEYPAKDR2DwCAwegcEjMHgEBo/A4BEYPAKDR2DwCAwegcEjMHgEBo/A4BEYPAKDR2DwCAwegcEjMHgEBo/A4BEYPAKDR2DwCAwegcEjMHgEBo/A4BEYPAKDR2DwCAwegcEjMHgEBo/A4BEYPAKDR2DwCAwegcEjMHgEBo/A4BEYPAKDR2DwCAwegcEjMHgEBo/A4BEYPAKDR2DwCAze/wCMbFD0pB/BRAAAAABJRU5ErkJggg=="; + String base64 = "iVBORw0KGgoAAAANSUhEUgAAAeAAAAHgCAMAAABKCk6nAAAC7lBMVEUAAAABAQECAgIEBAQGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUWFhYXFxcYGBgZGRkaGhobGxsdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJycoKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6Ojo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tMTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1eXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29wcHBxcXFycnJzc3N0dHR1dXV2dnZ3d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGCgoKDg4OEhISFhYWGhoaHh4eIiIiJiYmKioqLi4uMjIyNjY2Ojo6Pj4+QkJCRkZGSkpKTk5OUlJSVlZWXl5eYmJiZmZmampqbm5ucnJydnZ2fn5+goKChoaGioqKjo6OkpKSlpaWmpqanp6eoqKipqamqqqqrq6usrKytra2urq6vr6+wsLCxsbGysrKzs7O0tLS1tbW2tra3t7e4uLi5ubm6urq7u7u8vLy9vb2+vr6/v7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnKysrLy8vMzMzNzc3Ozs7Pz8/Q0NDR0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc3Nzd3d3e3t7f39/g4ODh4eHi4uLj4+Pk5OTl5eXm5ubn5+fo6Ojp6enq6urr6+vs7Ozu7u7v7+/w8PDx8fHy8vLz8/P09PT19fX29vb39/f4+Pj5+fn6+vr7+/v8/Pz9/f3+/v7///8t19oUAAARGElEQVR4nO3dfVxUdaLH8VmtLiKi6Y5psW270Grb6tK2DI9CoAYuPiyixgqroHJVSiVzXa+laeqW65qmadlaiaJtW5qV2e7mA6FSyuJDiHJLUkCxVkGeBvj9d885M2dQhLmcmYNn+Pr9vF5xDufAnN9v3s7Ab0AzCQadyegBsI6NwOARGDwCg0dg8AgMHoHBIzB4BAaPwOARGDwCg0dg8AgMHoHBIzB4BAaPwOARGDwCg0dg8AgMHoHBIzB4BAaPwOARGDwCg0dg8AgMHoHBIzB4BAaPwOARGDwCg0dg8AgMHoHBIzB4BAaPwOARGDwCg0dg8AgMHoHBIzB4BAaPwOARGDwCg0dg8AgMHoHBIzB4BAbPDeCK7WqbNjh2L+g3tE5SU/HelR8XNhg9jLZyAzj7iQ32on+l7k1dp9/QOkVfzQhKXvpfy9KCU/KMHkrruQPswJw17uZjt0XXZo7MkTa+0n8FE5+4bPRwWovAbnQpfIey9VXe/ivorJGDaSMCu15N+GHbjg1YnAmqMG4wbUVg18vcYt+xA4t949r6UOMisMuVRqt7KrBIOmrMUJxEYJf7S5a65wDOmWXMUJxEYJcbfVHdcwA3RBgzFCfpDPzKyBUGlL7YiKv6O+4JB7CAB/5rxl4DGrXRiKsOblJnfRsBG/MUnVFgxFUnFqt7DuDq6NY/1MAI7HKb16h7DuD3lhgxEKcR2OWqLHX2PQdwdIkRA3EagV1vwwL7jm/LAx4Ugd1o4mu2rR149+P1xozDWQR2I+vkWVXyVgGuXxZfZcwwnEZgt8r69crzCnDFq5a1jUaNwlluAP/tl2Pt+d+n7gVt0G9o7c84YFH39m9DYu/6TciIDZWGjcFpbgA3FKsVFTl2rfoNrf0ZCCxXWXqlA271P9umR5pM9/UfErX1ezduBuKX7gwG7ojyk0xKg3fkJLzYe8KnLt8QgT2xixNN9vo0jCpa8+r7P0py9bdFCOyBfWpyFPFVYoOl+ve5z/1oj2u3RWDPa1Ozr2lSyqG3lp8fLiJKBix36cY0AA/sflmIrYHyboRvrfR29aCu0+T3CqO6/Thb3tnsf4f/keater7DuyXAmqd/dZxX//UuXOjN63xNiY+L8O/n7Pnw6f+EJi1zZdhagHvNtc/w6y49t0ubd3YmyTO0Bsy79pm3dB/vMu+8mPd189Z+vuO7NcBap58WeWm/937N18m53tc04JPdz3wX2hRTsjQr917tN6YNeEn3MtsMFwfPjlMOzZBneKJLtRAJc4QY/IbtA9Wt/XzHd2uANU6/vts+IVJTtV7mquUGYHNTzIUl246k1lisCTk/L9c+bC3AO5IzbDN8YN0XXZVrKTMs6FIjzTBa1P5geb++GTWOrQAD1jj9IpO0Ol4bpPUyT9/gaxp2eEpNsHXMyXXrTo9pCJipfdiagIu9S+QZHuhaIQJWyYeUGdY/sKDuoFewKDaFlpc8/KxjK9CAtU3/qKlJ+no6UONVLtzoa5o0+tQr6wsTGoKr03K2PR99RvOwNQGLqWnyDNNipaepX8iHbIAnonoFpyaKUtN7Qrz+iGMr0IC1Td+1R/CCFsCjx0q2kz/furRsmAi7nDhe87C1AZd0Wxooqn26mc2+pnxxPWDUSiF6v2+DVbdwwJqmX+91QPrDoPFrcJOlBfBPcre8cF62nfvhnjlXwixN//9t3Jg2YJHRK1Bk9TxXVlYWNkdYa9LTaqxC5JaWPn9PlRBzwyouDFrUvFXPd3i3Cljb9FNjvsv10fiNb34LX1N/EfF95scfZ14Jaxp2bvlbk/+pddgagcu8AsWwOfJ72War8nQyT4iFvndFn5IO1ab5mJ+qbd6q5zu8WwasafpXE73u0boOXtcSOF5aAYc1DT23bMuR39c+Wh8yX+uw+UqWRzW9JfAkeQV8ZHKtxTr2xKtriqOnaL1FAutSpvRI9mvrr4Bn3vwsZv/Ym87EtwQeoayAT65/5eyYhqDKaXtjtV6QwLok36WbLzk52SL7x6pn1Fc9mwJaAvtJK+BCybZqSs72xeUx4r5GjRcksC61YihnbeXk9d91qmfsr3o2TfG/CVhaJaVKK+DyoSK84g+7PvWd3KjtggR2u5OP+sSl2p4xn+vbw/+wOBPt+2C2EOYVgx90nCwf28dvlf2YUD5WPWNLXnE1TV82viVwQpZtBfzM7r2zrlgao2P/MqlR0wUJ7G4N/ssb9typ3N9f+F0S//ttw88W1u33PirMsbVN6skmS2bNN/4fKMfkT/LLc3yaLRn40uvijzd9k6WsgGdLq6Th3/zpzfzH54o3zmu6IIHd7fDdDULEKvd3fp+9dUIc6Sk9UaZmCvOe5pP5PtJ2TYpyTM4vz/FptuyvmexoCTzUvgJ++1hK7aN14+dv1XpBArvb3wdLb2banjE3PeKTdOm9h6QDS8YLc0HzyffvDAgIuH+0ckzOL8/xabbswBUtgfude2FLnrwCTjy+8eXikSPLtV6QwO52uL/0Zqy6aqkY8aTjAXW8+eRRs+01RvmYnPQIVj/Nlvqq5/AWwD9VV8CjG4Mq03cP1XxBArtbw0/+Joq8lPv7RI61bnxmw4OL6g92/1K5v9WTjUFzKxtOHlaOvfaR8jVY/TT53eYXdbe1AJ5gWwFXTT2447mLQ1a8rfmCBHa740EhCSnK/X1oUPfeCd+J01E9ArLsj1b1ZHmS2ffXe5RjwxYoDz71jPxu84u6DcE3AqfIK+BseQUcVTF/m6Ve8wUJ7GHtvBE4wrYCnrfr0yevWjLe1X57BPa0Jt4AbJZWwJ/IK+DYb17MnODCzRHY06oMux54oLICXvFmfnLtz0Nc+RsyBPa4zl//Q/9kaQUsr5LGH3/Wz6V/PoDAnteFiOuA5RXwhpeLR+0YcNqlGyOwB1Y9wwEcvKZ4jLQCnhiTfs212yKwR/Z5tB24j7wC/u/pfgdcvSUCe2ifT1aAH8z6WXq/CQddvx0Ce2yNx7e8kDp5wYsFbv3TEAQGj8DgERg8AoNHYPAIDB6BwSMweAQGj8DgERg8AoNHYPAIDB6BwSMweAQGj8DgERg8AoNHYPAIDB6BwSMweAQGj8DgERg8AoNHYPAggOPc+OuV6EEA8xHcdgQGj8DgERg8AoNHYPAIDB6BwSMweAQGj8DgERg8AoNHYPAIDB6BwSMweAQGj8DgERg8AoNHYPAIDB6BwSMweAQGj8DgERg8AoNHYPAIDB6BwSMweAQGj8DgERg8AoNHYPAIDB6BwSMweAQGj8DgERg8AoNHYPAIDB6BwSMweAQGj8DgERg8AoNHYPAIDB6BwSMweAQGj8DgERg8AoNHYPAIDB6BwSMweAQGj8DgERg8AoNHYPAIDB6BwSMweAQGj8DgERg8AoNHYPAIDB6BwSMweAQGj8DgERg8AoNHYPAIDB6BwSMweAQGj8DgERg8AoNHYPAIDB6BwYMAfjzH6BF4bhDAfAS3HYHBIzB4BAaPwOARGDwCg0dg8AgMHoHBIzB4BAaPwOARGDwCg0dg8AgMHoHBIzB4BAaPwOARGDwCg0dg8AgMHoHBIzB4BAaPwOARGDwCg0dg8AgMHoHBIzB4BAaPwOARGDwCg0dg8AgMHoHBIzB4BAaPwOARGDwCg0dg8AgMHoHBIzB4BAaPwOARGDwCg0dg8AgMHoHBIzB4BAaPwOARGDwCg0dg8AgMHoHBIzB4BAaPwOARGDwCg6cLcG1RsaElf2js9c/rcSd2ULoArw6bamhDk429/v163IkdlC7A2ev0uJXO2xCjB+AkAusQgcEjMHgEBo/A4BEYPAKDR2DwCAwegcEjMHgEBo/A4BEYPAKDR2DwCAwegcEjMHgEBo/A4BEYPAKDR2DwQIFPOX6zP3jw8PFJQ6eETh2R+KV+Q+skFW76Y+8/vHqsyehxtJEbwNkmRwPD3304K37WqqBnVug3tM6QdWNoyqYc79y30i0rq40eTKvpA3zvacu/U17eHlPo/z+6jawzVBj+UpW08ZX+q3vdkmv0cFpLH+BYy6mxm7LiT1teuq2+Gh8KOatsfZW3F6N3GTmYNtIH+O6iMX99bWSh5d+hT+k3NI/v26BLth0bsLgWmW/cYNpKH+DfxO1YP+GE9DBOv50ewaPV7yjtwOJceKNRY2kzfYDNO1/6XYHlqzGb02frNzRPryBJ3VOBxfwPjBmKk/QBjlwxLS/4TOw760PX6jc0T2/hJ+qeA/h0sjFDcZJOy6QZh0PODv/7i2kvLdRvaJ7e8Cp1zwEswgwZibP0AX5oX/jZqD0rph3yX6bf0Dy9CMeebyvHPCV9gCPCiof849mnDwSt+bN+Q/P0Iq3qXjNwuCEjcZY+wH3PhuXMnrcv4syAefoNzdObcVTdcwBXxBszFCfpAxwfemjmoo/Ci4csvI2WSR/PV/ccwOs3GDMUJ+n0Qkf+pD9/ECM9jOOe1G9onl5DiP11DgdwTVClUYNpM32A45Jfzo45Iz2Mx95Gj2Dx2Uj76xoqcHqWYWNpM51+2KC8EH1s0qpnMvUbmue3NqVO2dqAm+Z74jcg+gCHbBx1/FcFE9dk/3K1fkPrBG0eckzeKMBnR3jkj0r1AQ584oTlVMKmLfGrn9dvaJ2hs+Pit3wrAV98d0LcMaMH02puAP/r0Wh7P+3xWL/QAQ+F93us7+30NVjp3JpxkT+M/O2fCo0eSBtB/HPCrO0IDB6BwSMweAQGTwPwwO6XhdgaKO9G+NZKb1cP6jpNfq8wqtuPs+Wdzf53+B8R4mSkd9/MRiHipAVUjw4YszG1e/pXx3n1Xy+at8amBbjXXPsMv+7Sc7u0eWdnkjxDa8C8a595Fwixy7zzYt7XQgxOvVbkt1EC3lhTU9tB4771tXv6aZGX9nvvb94amxbgJd3LbDNcHDw7Tjk0Q57hiS7VQiTMkWDfsH2g7z5pdk9JwG/oPlwDa+/067tJ009NdWwNTgvwjuQM2wwfWPdF13L5kDLDgi410gyjRe0PlvfrmyHtL067dub+jyTge+997J8dMmojau/0i0xXhFgb5NganCbgYu8SeYYHulaIgFXyIWWG9Q8sqDvoFSyKTaHlJQ8/K0RegMk0Uzqx+8uvlt8J8780au/0j5qahHhzoGNrcJqAxdQ0eYZpsdKj9BfyIWWG4kRUr+DURFFqek+I1x8R1+5+oabEssT2SbGL9B+zMbV3+p35ESxKui0NFNU+3cxmX5P8W/y2GcpFrRSi9/vKDM+YKqWZhdiOj4L5Ncv2Tr/e64D0hyDVsTU4bcAio1egyOp5rqysLGyOsNakp9VYhcgtLX3+nioh5oZVXBi0SFh/uKK+NGS6qNpy4fJrdxzuuLHf2to7fZEa812uz/7mrbFpBC7zChTD5sjvZZutC+SfFM4TYqHvXdGnpEO1aT7mp6R10aHg7n2SvheVYT28Br/bQeO+9bV7+lcTve5R1sH2rbHxlSzwCAwegcEjMHgEBo/A4BEYPAKDR2DwCAwegcEjMHgEBo/A4BEYPAKDR2DwCAwegcEjMHgEBo/A4BEYPAKDR2DwCAwegcEjMHgEBo/A4BEYPAKDR2DwCAwegcEjMHgEBo/A4BEYPAKDR2DwCAwegcEjMHgEBo/A4BEYPAKDR2DwCAwegcEjMHgEBo/A4BEYPAKDR2DwCAwegcEjMHgEBo/A4BEYPAKDR2DwCAwegcEjMHgEBo/A4BEYPAKDR2DwCAwegcEjMHgEBo/A4BEYPAKDR2DwCAwegcEjMHgEBo/A4BEYPAKDR2DwCAwegcEjMHgEBo/A4BEYPAKDR2DwCAwegcEjMHgEBo/A4BEYPAKDR2DwCAwegcEjMHgEBo/A4BEYvP8D3o1BCHWO4+EAAAAASUVORK5CYII="; OpenCGAResult results = catalogManager.getFamilyManager().get(STUDY, "f1", QueryOptions.empty(), token); Family family = results.first(); - assertTrue(family.getPedigreeGraph() != null); + assertNotNull(family.getPedigreeGraph()); assertEquals(base64, family.getPedigreeGraph().getBase64()); } From 48d76bc7932e0b539cc260b55720fadb152dd110 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Coll=20Morag=C3=B3n?= Date: Mon, 26 Feb 2024 10:10:26 +0000 Subject: [PATCH 70/89] cicd: Update opencga-hadoop-thirdparty repo if branch matches. #TASK-5663 --- .github/workflows/long-test-analysis.yml | 9 +++++++-- .github/workflows/manual-deploy-docker.yml | 9 +++++++-- .github/workflows/manual-deploy-ext-tools.yml | 7 ++++++- .github/workflows/scripts/get_same_branch.sh | 14 ++++++++++++-- .github/workflows/test-analysis.yml | 4 ++-- 5 files changed, 34 insertions(+), 9 deletions(-) diff --git a/.github/workflows/long-test-analysis.yml b/.github/workflows/long-test-analysis.yml index c898c4dfa0b..858e688f737 100644 --- a/.github/workflows/long-test-analysis.yml +++ b/.github/workflows/long-test-analysis.yml @@ -9,9 +9,14 @@ on: jobs: test: + strategy: + fail-fast: false + matrix: + hadoop: [ "hdp3.1", "hdi5.1", "emr6.1", "emr6.13" ] + needs: [ get_profiles ] uses: ./.github/workflows/test-analysis.yml secrets: inherit with: - test_profile: runShortTests,runMediumTests,runLongTests, - + test_profile: runShortTests,runMediumTests,runLongTests + hadoop: ${{ matrix.hadoop }} diff --git a/.github/workflows/manual-deploy-docker.yml b/.github/workflows/manual-deploy-docker.yml index 9a276c7d9b0..06cf9d51dcd 100644 --- a/.github/workflows/manual-deploy-docker.yml +++ b/.github/workflows/manual-deploy-docker.yml @@ -10,6 +10,11 @@ on: description: "The tag for the new docker." type: string required: true + hadoop: + type: string + description: 'Hadoop flavour. Any of: [hdp3.1, hdi5.1, emr6.1, emr6.13]' + required: false + default: "hdp3.1" jobs: build: @@ -32,10 +37,10 @@ jobs: run: | if [ -f "./.github/workflows/scripts/get_same_branch.sh" ]; then chmod +x ./.github/workflows/scripts/get_same_branch.sh - ./.github/workflows/scripts/get_same_branch.sh ${{ github.ref_name }} + ./.github/workflows/scripts/get_same_branch.sh ${{ github.ref_name }} ${{ inputs.hadoop }} fi - name: Maven Build (skip tests) - run: mvn -T 2 clean install -DskipTests -P storage-hadoop,hdp3.1,RClient,opencga-storage-hadoop-deps -Dopencga.war.name=opencga -Dcheckstyle.skip -pl '!:opencga-storage-hadoop-deps-emr6.1,!:opencga-storage-hadoop-deps-hdp2.6' + run: mvn -T 2 clean install -DskipTests -P${{ inputs.hadoop }},RClient -Dopencga.war.name=opencga -Dcheckstyle.skip - uses: actions/upload-artifact@v3 with: name: build-folder diff --git a/.github/workflows/manual-deploy-ext-tools.yml b/.github/workflows/manual-deploy-ext-tools.yml index 5a10146128a..1fec5a627df 100644 --- a/.github/workflows/manual-deploy-ext-tools.yml +++ b/.github/workflows/manual-deploy-ext-tools.yml @@ -10,6 +10,11 @@ on: description: "The tag for the new docker." type: string required: true + hadoop: + type: string + description: 'Hadoop flavour. Any of: [hdp3.1, hdi5.1, emr6.1, emr6.13]' + required: false + default: "hdp3.1" jobs: build: @@ -32,7 +37,7 @@ jobs: run: | if [ -f "./.github/workflows/scripts/get_same_branch.sh" ]; then chmod +x ./.github/workflows/scripts/get_same_branch.sh - ./.github/workflows/scripts/get_same_branch.sh ${{ github.ref_name }} + ./.github/workflows/scripts/get_same_branch.sh ${{ github.ref_name }} ${{ inputs.hadoop }} fi - name: Maven Build (skip tests) run: mvn -T 2 clean install -DskipTests diff --git a/.github/workflows/scripts/get_same_branch.sh b/.github/workflows/scripts/get_same_branch.sh index 750271b0c6c..40479888856 100644 --- a/.github/workflows/scripts/get_same_branch.sh +++ b/.github/workflows/scripts/get_same_branch.sh @@ -1,12 +1,17 @@ #!/bin/bash BRANCH_NAME=$1 +HADOOP=$2 -if [[ -z $BRANCH_NAME ]]; then +if [[ -z "$BRANCH_NAME" ]]; then echo "The first parameter is mandatory and must be a valid branch name." exit 1 fi +if [[ -z "$HADOOP" ]]; then + echo "The second parameter is mandatory and must be a valid hadoop version." + exit 1 +fi function install(){ local REPO=$1 @@ -15,7 +20,11 @@ function install(){ if [ -d "./$REPO" ]; then cd "$REPO" || exit 2 echo "Branch name $BRANCH_NAME already exists." - mvn clean install -DskipTests + if [[ "$REPO" == "opencga-hadoop-thirdparty" ]]; then + ./dev/build.sh "$HADOOP" + else + mvn clean install -DskipTests + fi else echo "$CURRENT Branch is NOT EQUALS $BRANCH_NAME " fi @@ -24,3 +33,4 @@ function install(){ install "java-common-libs" install "biodata" install "cellbase" +install "opencga-hadoop-thirdparty" diff --git a/.github/workflows/test-analysis.yml b/.github/workflows/test-analysis.yml index 6333ec64c76..bb48ccd4b40 100644 --- a/.github/workflows/test-analysis.yml +++ b/.github/workflows/test-analysis.yml @@ -49,7 +49,7 @@ jobs: run: | if [ -f "./.github/workflows/scripts/get_same_branch.sh" ]; then chmod +x ./.github/workflows/scripts/get_same_branch.sh - ./.github/workflows/scripts/get_same_branch.sh ${{ github.ref_name }} + ./.github/workflows/scripts/get_same_branch.sh ${{ github.ref_name }} ${{ inputs.hadoop }} else echo "./.github/workflows/scripts/get_same_branch.sh does not exist." fi @@ -76,7 +76,7 @@ jobs: run: | if [ -f "./.github/workflows/scripts/get_same_branch.sh" ]; then chmod +x ./.github/workflows/scripts/get_same_branch.sh - ./.github/workflows/scripts/get_same_branch.sh ${{ github.ref_name }} + ./.github/workflows/scripts/get_same_branch.sh ${{ github.ref_name }} ${{ inputs.hadoop }} else echo "./.github/workflows/scripts/get_same_branch.sh does not exist." fi From faedc2a6a0fd8fc34002f04a55c51e2643950d97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Coll=20Morag=C3=B3n?= Date: Mon, 26 Feb 2024 10:12:49 +0000 Subject: [PATCH 71/89] analysis: Fix ToolFactory filters. #TASK-5663 --- .../java/org/opencb/opencga/analysis/tools/ToolFactory.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/tools/ToolFactory.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/tools/ToolFactory.java index 63789c82c90..ba31a2eb4a4 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/tools/ToolFactory.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/tools/ToolFactory.java @@ -92,7 +92,7 @@ static Collection getUrlsFromPackages(List packages) { for (String pack :packages){ for (URL url : ClasspathHelper.forPackage(pack)) { String name = url.getPath().substring(url.getPath().lastIndexOf('/') + 1); - if (name.isEmpty() || (name.contains("opencga") && !name.contains("opencga-storage-hadoop-deps"))) { + if (name.isEmpty() || (name.contains("opencga") && !name.contains("opencga-hadoop-shaded"))) { urls.add(url); } } From 9ccb5d96107b1cab3014c2cfd2211168a67ec219 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Coll=20Morag=C3=B3n?= Date: Tue, 27 Feb 2024 09:25:20 +0000 Subject: [PATCH 72/89] storage: Flush SYSTEM.CATALOG table after DROP VIEW #TASK-5663 --- .../storage/hadoop/app/PhoenixMain.java | 2 +- .../hadoop/app/VariantEngineUtilsMain.java | 2 +- .../adaptors/phoenix/PhoenixHelper.java | 23 ++++++++++++++++++- .../phoenix/VariantPhoenixSchemaManager.java | 11 ++++----- .../variant/HadoopVariantStorageTest.java | 23 ++++--------------- 5 files changed, 33 insertions(+), 28 deletions(-) diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/app/PhoenixMain.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/app/PhoenixMain.java index b663d8728e7..1b513b5eed8 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/app/PhoenixMain.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/app/PhoenixMain.java @@ -153,7 +153,7 @@ private void dropView(VariantHadoopDBAdaptor dbAdaptor) throws Exception { throw new IllegalStateException("Variants table '" + dbAdaptor.getVariantTable() + "' doesn't exist"); } - VariantPhoenixSchemaManager.dropTable(dbAdaptor.getHBaseManager(), dbAdaptor.getVariantTable(), true); + VariantPhoenixSchemaManager.dropView(dbAdaptor.getHBaseManager(), dbAdaptor.getVariantTable(), true); } diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/app/VariantEngineUtilsMain.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/app/VariantEngineUtilsMain.java index 93b63ef9e5c..b4ff45f08df 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/app/VariantEngineUtilsMain.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/app/VariantEngineUtilsMain.java @@ -171,7 +171,7 @@ private void delete(String[] args) throws IOException, SQLException, ClassNotFou LOGGER.info("[DRY-RUN] drop phoenix view '{}'", table); } else { LOGGER.info("Drop phoenix view '{}'", table); - VariantPhoenixSchemaManager.dropTable(hBaseManager, table, true); + VariantPhoenixSchemaManager.dropView(hBaseManager, table, true); } } } diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/adaptors/phoenix/PhoenixHelper.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/adaptors/phoenix/PhoenixHelper.java index 3595927a738..a7a87cad4e7 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/adaptors/phoenix/PhoenixHelper.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/adaptors/phoenix/PhoenixHelper.java @@ -23,6 +23,7 @@ import org.apache.hadoop.hbase.Cell; import org.apache.hadoop.hbase.NamespaceDescriptor; import org.apache.hadoop.hbase.TableName; +import org.apache.hadoop.hbase.client.Admin; import org.apache.hadoop.hbase.client.Get; import org.apache.hadoop.hbase.client.Result; import org.apache.hadoop.hbase.io.ImmutableBytesWritable; @@ -210,11 +211,31 @@ public String buildDropTable(String tableName, PTableType tableType, boolean ifE return sb.toString(); } - public void dropTable(Connection con, String tableName, PTableType tableType, boolean ifExists, boolean cascade) throws SQLException { + public void dropTable(org.apache.hadoop.hbase.client.Connection hbaseCon, Connection con, String tableName, PTableType tableType, + boolean ifExists, boolean cascade) throws SQLException, IOException { String sql = buildDropTable(tableName, tableType, ifExists, cascade); logger.info("Dropping phoenix {}: {}", tableType, tableName); logger.info(sql); execute(con, sql); + + try (Admin admin = hbaseCon.getAdmin()) { + // Flush the SYSTEM.CATALOG table to avoid "unexpected errors" when creating a new table with the same name + // This was first observed when running tests in with Phoenix 5.1 + TableName systemCatalog; + if (PhoenixHelper.isNamespaceMappingEnabled(PTableType.SYSTEM, conf)) { + systemCatalog = TableName.valueOf(PhoenixDatabaseMetaData.SYSTEM_SCHEMA_NAME, + PhoenixDatabaseMetaData.SYSTEM_CATALOG_TABLE); + } else { + systemCatalog = TableName.valueOf(PhoenixDatabaseMetaData.SYSTEM_SCHEMA_NAME + + "." + PhoenixDatabaseMetaData.SYSTEM_CATALOG_TABLE); + } + if (admin.tableExists(systemCatalog)) { + logger.info("Flushing phoenix system catalog table '" + systemCatalog + "'"); + admin.flush(systemCatalog); + } else { + logger.info("System catalog table '" + systemCatalog + "' does not exist, unable to flush it."); + } + } } public void addMissingColumns(Connection con, String tableName, Collection newColumns, PTableType tableType) diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/adaptors/phoenix/VariantPhoenixSchemaManager.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/adaptors/phoenix/VariantPhoenixSchemaManager.java index ccbb18d7bd7..ae8ce82ee84 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/adaptors/phoenix/VariantPhoenixSchemaManager.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/adaptors/phoenix/VariantPhoenixSchemaManager.java @@ -346,16 +346,13 @@ private void createTableIfNeeded() throws SQLException { } } - public void dropTable(boolean ifExists) throws SQLException { - phoenixHelper.dropTable(con, variantsTableName, VariantPhoenixSchema.DEFAULT_TABLE_TYPE, ifExists, true); - } - - public static void dropTable(HBaseManager hBaseManager, String variantsTableName, boolean ifExists) - throws SQLException, ClassNotFoundException { + public static void dropView(HBaseManager hBaseManager, String variantsTableName, boolean ifExists) + throws SQLException, ClassNotFoundException, IOException { // VariantStorageMetadataManager not needed for dropping table try (VariantPhoenixSchemaManager manager = new VariantPhoenixSchemaManager(hBaseManager.getConf(), variantsTableName, null, hBaseManager)) { - manager.dropTable(ifExists); + manager.phoenixHelper.dropTable(hBaseManager.getConnection(), manager.con, manager.variantsTableName, + PTableType.VIEW, ifExists, true); } } diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/HadoopVariantStorageTest.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/HadoopVariantStorageTest.java index 23e681bd003..787ea7c4412 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/HadoopVariantStorageTest.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/HadoopVariantStorageTest.java @@ -73,7 +73,6 @@ import org.apache.zookeeper.server.ZooKeeperServer; import org.junit.Assert; import org.junit.Assume; -import org.junit.Before; import org.junit.rules.ExternalResource; import org.opencb.biodata.models.variant.VariantFileMetadata; import org.opencb.biodata.models.variant.avro.VariantType; @@ -89,11 +88,11 @@ import org.opencb.opencga.storage.core.variant.VariantStorageTest; import org.opencb.opencga.storage.hadoop.HBaseCompat; import org.opencb.opencga.storage.hadoop.utils.HBaseManager; -import org.opencb.opencga.storage.hadoop.variant.adaptors.phoenix.PhoenixHelper; -import org.opencb.opencga.storage.hadoop.variant.adaptors.phoenix.VariantPhoenixSchema; +import org.opencb.opencga.storage.hadoop.variant.adaptors.phoenix.VariantPhoenixSchemaManager; import org.opencb.opencga.storage.hadoop.variant.executors.MRExecutor; import org.opencb.opencga.storage.hadoop.variant.index.IndexUtils; import org.opencb.opencga.storage.hadoop.variant.index.sample.SampleIndexSchema; +import org.opencb.opencga.storage.hadoop.variant.utils.HBaseVariantTableNameGenerator; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -493,21 +492,9 @@ default void clearDB(String tableName) throws Exception { default void deleteTable(String tableName) throws Exception { LoggerFactory.getLogger(HadoopVariantStorageTest.class).info("Drop table " + tableName); - PhoenixHelper phoenixHelper = new PhoenixHelper(configuration.get()); - try (java.sql.Connection con = phoenixHelper.openJdbcConnection()) { - if (phoenixHelper.tableExists(con, tableName)) { - phoenixHelper.dropTable(con, tableName, VariantPhoenixSchema.DEFAULT_TABLE_TYPE, true, true); - // Flush the SYSTEM.CATALOG table to avoid "unexpected errors" when creating a new table with the same name - TableName systemCatalog = TableName.valueOf("SYSTEM:CATALOG"); - if (!utility.get().getConnection().getAdmin().tableExists(systemCatalog)) { - systemCatalog = TableName.valueOf("SYSTEM.CATALOG"); - } - if (utility.get().getConnection().getAdmin().tableExists(systemCatalog)) { - try (Admin admin = utility.get().getConnection().getAdmin(); - ) { - admin.flush(systemCatalog); - } - } + if (HBaseVariantTableNameGenerator.isValidVariantsTable(tableName)) { + try (HBaseManager hbaseManager = new HBaseManager(configuration.get(), utility.get().getConnection())) { + VariantPhoenixSchemaManager.dropView(hbaseManager, tableName, true); } } utility.get().deleteTableIfAny(TableName.valueOf(tableName)); From e0845b5a9128e6de6a14bc3c43cef57ee39890d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Coll=20Morag=C3=B3n?= Date: Tue, 27 Feb 2024 09:31:55 +0000 Subject: [PATCH 73/89] storage: Improve testing SampleIndexAggregation of intergenic queries. #TASK-5663 --- .../core/cellbase/CellBaseValidator.java | 12 ++- .../AbstractCellBaseVariantAnnotator.java | 3 + .../json/VariantAnnotationJsonDataReader.java | 2 +- .../accumulators/FacetFieldAccumulator.java | 16 +++- ...SampleIndexVariantAggregationExecutor.java | 4 +- ...endelianErrorSampleIndexEntryIterator.java | 6 ++ .../query/SampleAnnotationIndexQuery.java | 12 ++- .../AbstractSampleIndexEntryFilter.java | 1 + .../index/sample/SampleIndexDBAdaptor.java | 1 + .../sample/SampleIndexEntryIterator.java | 6 ++ .../index/sample/SampleIndexQueryParser.java | 95 ++++++++++++------- .../sample/SampleIndexVariantBiConverter.java | 18 +++- .../sample/SampleIndexEntryFilterTest.java | 1 + .../sample/SampleIndexQueryParserTest.java | 17 ++++ .../variant/index/sample/SampleIndexTest.java | 45 ++++++--- 15 files changed, 183 insertions(+), 56 deletions(-) diff --git a/opencga-core/src/main/java/org/opencb/opencga/core/cellbase/CellBaseValidator.java b/opencga-core/src/main/java/org/opencb/opencga/core/cellbase/CellBaseValidator.java index 46283ea0c56..5ed331143db 100644 --- a/opencga-core/src/main/java/org/opencb/opencga/core/cellbase/CellBaseValidator.java +++ b/opencga-core/src/main/java/org/opencb/opencga/core/cellbase/CellBaseValidator.java @@ -308,7 +308,7 @@ private static String majorMinor(String version) { public String getVersionFromServer() throws IOException { if (serverVersion == null) { synchronized (this) { - ObjectMap result = cellBaseClient.getMetaClient().about().firstResult(); + ObjectMap result = retryMetaAbout(3); if (result == null) { throw new IOException("Unable to get version from server for cellbase " + toString()); } @@ -322,6 +322,16 @@ public String getVersionFromServer() throws IOException { return serverVersion; } + private ObjectMap retryMetaAbout(int retries) throws IOException { + ObjectMap result = cellBaseClient.getMetaClient().about().firstResult(); + if (result == null && retries > 0) { + // Retry + logger.warn("Unable to get version from server for cellbase " + toString() + ". Retrying..."); + result = retryMetaAbout(retries - 1); + } + return result; + } + public boolean isMinVersion(String minVersion) throws IOException { String serverVersion = getVersionFromServer(); return VersionUtils.isMinVersion(minVersion, serverVersion); diff --git a/opencga-storage/opencga-storage-core/src/main/java/org/opencb/opencga/storage/core/variant/annotation/annotators/AbstractCellBaseVariantAnnotator.java b/opencga-storage/opencga-storage-core/src/main/java/org/opencb/opencga/storage/core/variant/annotation/annotators/AbstractCellBaseVariantAnnotator.java index da8d44b05b5..311e62d46ab 100644 --- a/opencga-storage/opencga-storage-core/src/main/java/org/opencb/opencga/storage/core/variant/annotation/annotators/AbstractCellBaseVariantAnnotator.java +++ b/opencga-storage/opencga-storage-core/src/main/java/org/opencb/opencga/storage/core/variant/annotation/annotators/AbstractCellBaseVariantAnnotator.java @@ -213,6 +213,9 @@ protected List getVariantAnnotationList(List variant variantAnnotation.getAdditionalAttributes().put(GROUP_NAME.key(), additionalAttribute); } } + if (variantAnnotation.getConsequenceTypes() == null || variantAnnotation.getConsequenceTypes().isEmpty()) { + logger.warn("No consequence type found for variant " + variant); + } variantAnnotationList.add(variantAnnotation); } } diff --git a/opencga-storage/opencga-storage-core/src/main/java/org/opencb/opencga/storage/core/variant/io/json/VariantAnnotationJsonDataReader.java b/opencga-storage/opencga-storage-core/src/main/java/org/opencb/opencga/storage/core/variant/io/json/VariantAnnotationJsonDataReader.java index 8d1cc1e4841..3dcb476f4e6 100644 --- a/opencga-storage/opencga-storage-core/src/main/java/org/opencb/opencga/storage/core/variant/io/json/VariantAnnotationJsonDataReader.java +++ b/opencga-storage/opencga-storage-core/src/main/java/org/opencb/opencga/storage/core/variant/io/json/VariantAnnotationJsonDataReader.java @@ -79,7 +79,7 @@ public boolean open() { jsonObjectMapper.addMixIn(ConsequenceType.class, ConsequenceTypeMixin.class); jsonObjectMapper.configure(MapperFeature.REQUIRE_SETTERS_FOR_GETTERS, true); try { - parser = factory.createParser(inputStream); + parser = jsonObjectMapper.createParser(inputStream); } catch (IOException e) { throw new RuntimeException(e); } diff --git a/opencga-storage/opencga-storage-core/src/main/java/org/opencb/opencga/storage/core/variant/query/executors/accumulators/FacetFieldAccumulator.java b/opencga-storage/opencga-storage-core/src/main/java/org/opencb/opencga/storage/core/variant/query/executors/accumulators/FacetFieldAccumulator.java index a8141525691..bdf6d88437e 100644 --- a/opencga-storage/opencga-storage-core/src/main/java/org/opencb/opencga/storage/core/variant/query/executors/accumulators/FacetFieldAccumulator.java +++ b/opencga-storage/opencga-storage-core/src/main/java/org/opencb/opencga/storage/core/variant/query/executors/accumulators/FacetFieldAccumulator.java @@ -70,11 +70,13 @@ public void evaluate(FacetField field) { * Accumulate T in the given field. * @param field Field * @param t element + * @return true if the count was increased, false otherwise */ - public final void accumulate(FacetField field, T t) { + public final boolean accumulate(FacetField field, T t) { List buckets = getBuckets(field, t); if (buckets == null || buckets.isEmpty()) { - return; + // Do not increase count if the element does not belong to any bucket + return false; } field.addCount(1); for (FacetField.Bucket bucket : buckets) { @@ -83,7 +85,17 @@ public final void accumulate(FacetField field, T t) { nestedFieldAccumulator.accumulate(bucket.getFacetFields().get(0), t); } } + return true; } protected abstract List getBuckets(FacetField field, T t); + + @Override + public String toString() { + final StringBuilder sb = new StringBuilder("FacetFieldAccumulator{name:'"); + sb.append(getName()).append('\''); + sb.append(", nestedFieldAccumulator:").append(nestedFieldAccumulator); + sb.append('}'); + return sb.toString(); + } } diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/index/SampleIndexVariantAggregationExecutor.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/index/SampleIndexVariantAggregationExecutor.java index c27c2294e79..f193dcad3e2 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/index/SampleIndexVariantAggregationExecutor.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/index/SampleIndexVariantAggregationExecutor.java @@ -124,9 +124,8 @@ protected VariantQueryResult aggregation(Query query, QueryOptions o // Loop long numMatches = 0; - int count = 0; while (sampleVariantIndexEntryIterator.hasNext()) { - count++; + numMatches++; SampleVariantIndexEntry entry = sampleVariantIndexEntryIterator.next(); for (int i = 0; i < accumulators.size(); i++) { FacetFieldAccumulator accumulator = accumulators.get(i); @@ -134,7 +133,6 @@ protected VariantQueryResult aggregation(Query query, QueryOptions o accumulator.accumulate(field, entry); } } - numMatches += count; // Tear down and clean up results. for (int i = 0; i < accumulators.size(); i++) { diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/index/family/MendelianErrorSampleIndexEntryIterator.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/index/family/MendelianErrorSampleIndexEntryIterator.java index f089c82f20e..72d869b7ef1 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/index/family/MendelianErrorSampleIndexEntryIterator.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/index/family/MendelianErrorSampleIndexEntryIterator.java @@ -122,6 +122,12 @@ public Variant next() { return variant; } + @Override + public Variant nextVariant() { + fetchNextIfNeeded(); + return next; + } + @Override public SampleVariantIndexEntry nextSampleVariantIndexEntry() { AnnotationIndexEntry annotationIndexEntry = nextAnnotationIndexEntry(); diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/index/query/SampleAnnotationIndexQuery.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/index/query/SampleAnnotationIndexQuery.java index b18ff0453c2..0398bf72ecb 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/index/query/SampleAnnotationIndexQuery.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/index/query/SampleAnnotationIndexQuery.java @@ -8,6 +8,7 @@ public class SampleAnnotationIndexQuery { private final byte[] annotationIndexMask; // byte[] = {mask , index} + private final Boolean intergenic; private final IndexFieldFilter consequenceTypeFilter; private final IndexFieldFilter biotypeFilter; private final IndexFieldFilter transcriptFlagFilter; @@ -17,6 +18,7 @@ public class SampleAnnotationIndexQuery { public SampleAnnotationIndexQuery(SampleIndexSchema schema) { this.annotationIndexMask = new byte[]{0, 0}; + this.intergenic = null; this.consequenceTypeFilter = schema.getCtIndex().getField().noOpFilter(); this.biotypeFilter = schema.getBiotypeIndex().getField().noOpFilter(); this.transcriptFlagFilter = schema.getTranscriptFlagIndexSchema().getField().noOpFilter(); @@ -25,12 +27,16 @@ public SampleAnnotationIndexQuery(SampleIndexSchema schema) { this.populationFrequencyFilter = schema.getPopFreqIndex().noOpFilter(); } - public SampleAnnotationIndexQuery(byte[] annotationIndexMask, IndexFieldFilter consequenceTypeFilter, IndexFieldFilter biotypeFilter, + public SampleAnnotationIndexQuery(byte[] annotationIndexMask, + Boolean intergenic, + IndexFieldFilter consequenceTypeFilter, + IndexFieldFilter biotypeFilter, IndexFieldFilter transcriptFlagFilter, CombinationTripleIndexSchema.Filter ctBtTfFilter, IndexFilter clinicalFilter, IndexFilter populationFrequencyFilter) { this.annotationIndexMask = annotationIndexMask; + this.intergenic = intergenic; this.consequenceTypeFilter = consequenceTypeFilter; this.biotypeFilter = biotypeFilter; this.transcriptFlagFilter = transcriptFlagFilter; @@ -47,6 +53,10 @@ public byte getAnnotationIndex() { return annotationIndexMask[1]; } + public Boolean getIntergenic() { + return intergenic; + } + public IndexFieldFilter getConsequenceTypeFilter() { return consequenceTypeFilter; } diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/index/sample/AbstractSampleIndexEntryFilter.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/index/sample/AbstractSampleIndexEntryFilter.java index 1a0fd0935d9..a6d0eb974bd 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/index/sample/AbstractSampleIndexEntryFilter.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/index/sample/AbstractSampleIndexEntryFilter.java @@ -413,6 +413,7 @@ private boolean filterClinicalFields(AnnotationIndexEntry annotationIndexEntry) private boolean filterBtCtTfFields(AnnotationIndexEntry annotationIndexEntry) { if (annotationIndexEntry == null || !annotationIndexEntry.hasSummaryIndex()) { + // Missing annotation. Unable to filter return true; } if (annotationIndexEntry.isIntergenic()) { diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/index/sample/SampleIndexDBAdaptor.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/index/sample/SampleIndexDBAdaptor.java index c7abaedcde9..06a3ca79b9a 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/index/sample/SampleIndexDBAdaptor.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/index/sample/SampleIndexDBAdaptor.java @@ -634,6 +634,7 @@ private Scan parse(SingleSampleIndexQuery query, LocusQuery locusQuery, boolean logger.info("---------"); logger.info("Sample = \"" + query.getSample() + "\" , schema version = " + query.getSchema().getVersion()); + logger.info("Table = " + getSampleIndexTableName(query)); printScan(scan); printQuery(locusQuery); printQuery(query); diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/index/sample/SampleIndexEntryIterator.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/index/sample/SampleIndexEntryIterator.java index da9c4a3a517..db96af41abd 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/index/sample/SampleIndexEntryIterator.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/index/sample/SampleIndexEntryIterator.java @@ -31,6 +31,12 @@ public interface SampleIndexEntryIterator extends Iterator { */ Variant next(); + /** + * Get next variant without moving the cursor. + * @return next variant + */ + Variant nextVariant(); + default SampleVariantIndexEntry nextSampleVariantIndexEntry() { AnnotationIndexEntry annotationIndexEntry = nextAnnotationIndexEntry(); if (annotationIndexEntry != null) { diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/index/sample/SampleIndexQueryParser.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/index/sample/SampleIndexQueryParser.java index 2856385c571..673061dec30 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/index/sample/SampleIndexQueryParser.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/index/sample/SampleIndexQueryParser.java @@ -1216,19 +1216,7 @@ protected SampleAnnotationIndexQuery parseAnnotationIndexQuery(SampleIndexSchema CtBtFtCombinationIndexSchema.Filter ctBtTfFilter = schema.getCtBtTfIndex().getField().noOpFilter(); IndexFilter clinicalFilter = schema.getClinicalIndexSchema().noOpFilter(); - Boolean intergenic = null; - - ParsedVariantQuery.VariantQueryXref variantQueryXref = VariantQueryParser.parseXrefs(query); - if (!isValidParam(query, REGION)) { - if (!variantQueryXref.getGenes().isEmpty() - && variantQueryXref.getIds().isEmpty() - && variantQueryXref.getOtherXrefs().isEmpty() - && variantQueryXref.getVariants().isEmpty()) { - // If only filtering by genes, is not intergenic. - intergenic = false; - } - } - + final Boolean intergenic = isIntergenicQuery(query); // BiotypeConsquenceTypeFlagCombination combination = BiotypeConsquenceTypeFlagCombination // .fromQuery(query, Arrays.asList(schema.getTranscriptFlagIndexSchema().getField().getConfiguration().getValues())); BiotypeConsquenceTypeFlagCombination combination = BiotypeConsquenceTypeFlagCombination.fromQuery(query, null); @@ -1237,18 +1225,10 @@ protected SampleAnnotationIndexQuery parseAnnotationIndexQuery(SampleIndexSchema boolean tfCovered = false; if (isValidParam(query, ANNOT_CONSEQUENCE_TYPE)) { - List soNames = query.getAsStringList(VariantQueryParam.ANNOT_CONSEQUENCE_TYPE.key()); - soNames = soNames.stream() + List soNames = query.getAsStringList(VariantQueryParam.ANNOT_CONSEQUENCE_TYPE.key()) + .stream() .map(ct -> ConsequenceTypeMappings.accessionToTerm.get(VariantQueryUtils.parseConsequenceType(ct))) .collect(Collectors.toList()); - if (!soNames.contains(VariantAnnotationConstants.INTERGENIC_VARIANT) - && !soNames.contains(VariantAnnotationConstants.REGULATORY_REGION_VARIANT) - && !soNames.contains(VariantAnnotationConstants.TF_BINDING_SITE_VARIANT)) { - // All ct values but "intergenic_variant" and "regulatory_region_variant" are in genes (i.e. non-intergenic) - intergenic = false; - } else if (soNames.size() == 1 && soNames.contains(VariantAnnotationConstants.INTERGENIC_VARIANT)) { - intergenic = true; - } // else, leave undefined : intergenic = null boolean ctFilterCoveredBySummary = false; boolean ctBtCombinationCoveredBySummary = false; if (SampleIndexSchema.CUSTOM_LOF.containsAll(soNames)) { @@ -1295,14 +1275,17 @@ protected SampleAnnotationIndexQuery parseAnnotationIndexQuery(SampleIndexSchema } } - // Do not use ctIndex if the CT filter is covered by the summary - // Use the ctIndex if: + // Do not use ctIndex for intergenic queries (intergenic == true) + // or queries that might return intergenic variants (intergenic == null) + // + // Use the ctIndex if any of: // - The CtFilter is not covered by the summary // - The query has the combination CT+BT , and it is not covered by the summary // - The query has the combination CT+TF - boolean useCtIndexFilter = !ctFilterCoveredBySummary - || (!ctBtCombinationCoveredBySummary && combination.isBiotype()) - || combination.isFlag(); + boolean useCtIndexFilter = + intergenic == Boolean.FALSE && (!ctFilterCoveredBySummary + || (!ctBtCombinationCoveredBySummary && combination.isBiotype()) + || combination.isFlag()); if (useCtIndexFilter) { ctCovered = completeIndex; consequenceTypeFilter = schema.getCtIndex().getField().buildFilter(new OpValue<>("=", soNames)); @@ -1317,8 +1300,6 @@ protected SampleAnnotationIndexQuery parseAnnotationIndexQuery(SampleIndexSchema } if (isValidParam(query, ANNOT_BIOTYPE)) { - // All biotype values are in genes (i.e. non-intergenic) - intergenic = false; boolean biotypeFilterCoveredBySummary = false; List biotypes = query.getAsStringList(VariantQueryParam.ANNOT_BIOTYPE.key()); if (BIOTYPE_SET.containsAll(biotypes)) { @@ -1350,8 +1331,6 @@ protected SampleAnnotationIndexQuery parseAnnotationIndexQuery(SampleIndexSchema List transcriptFlags = query.getAsStringList(ANNOT_TRANSCRIPT_FLAG.key()); tfFilter = schema.getTranscriptFlagIndexSchema().getField().buildFilter(new OpValue<>("=", transcriptFlags)); tfCovered = completeIndex & tfFilter.isExactFilter(); - // Transcript flags are in transcripts/genes. (i.e. non-intergenic) - intergenic = false; // TranscriptFlag filter is covered by index if (tfCovered) { if (!isValidParam(query, GENE) && simpleCombination(combination)) { @@ -1536,14 +1515,60 @@ protected SampleAnnotationIndexQuery parseAnnotationIndexQuery(SampleIndexSchema if (intergenic == null || intergenic) { // If intergenic is undefined, or true, CT and BT filters can not be used. - biotypeFilter = schema.getBiotypeIndex().getField().noOpFilter(); - consequenceTypeFilter = schema.getCtIndex().getField().noOpFilter(); + if (!biotypeFilter.isNoOp()) { + throw new IllegalStateException("Unexpected BT filter for intergenic=" + intergenic); + } + if (!consequenceTypeFilter.isNoOp()) { + throw new IllegalStateException("Unexpected CT filter for intergenic=" + intergenic); + } } - return new SampleAnnotationIndexQuery(new byte[]{annotationIndexMask, annotationIndex}, + return new SampleAnnotationIndexQuery(new byte[]{annotationIndexMask, annotationIndex}, intergenic, consequenceTypeFilter, biotypeFilter, tfFilter, ctBtTfFilter, clinicalFilter, populationFrequencyFilter); } + private Boolean isIntergenicQuery(Query query) { + ParsedVariantQuery.VariantQueryXref variantQueryXref = VariantQueryParser.parseXrefs(query); + if (!isValidParam(query, REGION)) { + if (!variantQueryXref.getGenes().isEmpty() + && variantQueryXref.getIds().isEmpty() + && variantQueryXref.getOtherXrefs().isEmpty() + && variantQueryXref.getVariants().isEmpty()) { + // If only filtering by genes, is not intergenic. + return false; + } + } + + if (isValidParam(query, ANNOT_BIOTYPE)) { + // All biotype values are in genes (i.e. non-intergenic) + return false; + } + if (isValidParam(query, ANNOT_BIOTYPE)) { + // All biotype values are in genes (i.e. non-intergenic) + return false; + } + if (isValidParam(query, ANNOT_TRANSCRIPT_FLAG)) { + // Transcript flags are in transcripts/genes. (i.e. non-intergenic) + return false; + } + if (isValidParam(query, ANNOT_CONSEQUENCE_TYPE)) { + List soNames = query.getAsStringList(VariantQueryParam.ANNOT_CONSEQUENCE_TYPE.key()); + soNames = soNames.stream() + .map(ct -> ConsequenceTypeMappings.accessionToTerm.get(VariantQueryUtils.parseConsequenceType(ct))) + .collect(Collectors.toList()); + if (!soNames.contains(VariantAnnotationConstants.INTERGENIC_VARIANT) + && !soNames.contains(VariantAnnotationConstants.REGULATORY_REGION_VARIANT) + && !soNames.contains(VariantAnnotationConstants.TF_BINDING_SITE_VARIANT)) { + // All ct values but "intergenic_variant" and "regulatory_region_variant" are in genes (i.e. non-intergenic) + return false; + } else if (soNames.size() == 1 && soNames.contains(VariantAnnotationConstants.INTERGENIC_VARIANT)) { + return true; + } // else, leave undefined : intergenic = null + } + // Unable to determine if the query is intergenic or not. Return null for uncertain. + return null; + } + private boolean simpleCombination(BiotypeConsquenceTypeFlagCombination combination) { return combination.numParams() == 1; } diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/index/sample/SampleIndexVariantBiConverter.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/index/sample/SampleIndexVariantBiConverter.java index d8961251205..1004dfa36c2 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/index/sample/SampleIndexVariantBiConverter.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/main/java/org/opencb/opencga/storage/hadoop/variant/index/sample/SampleIndexVariantBiConverter.java @@ -488,6 +488,11 @@ public AnnotationIndexEntry nextAnnotationIndexEntry() { public Variant next() { throw new NoSuchElementException("Empty iterator"); } + + @Override + public Variant nextVariant() { + throw new NoSuchElementException("Empty iterator"); + } } private static final class CountSampleIndexGtEntryIterator extends SampleIndexGtEntryIterator { @@ -525,6 +530,11 @@ public Variant next() { return DUMMY_VARIANT; } + @Override + public Variant nextVariant() { + return DUMMY_VARIANT; + } + @Override public int getApproxSize() { return count; @@ -575,13 +585,19 @@ public boolean hasNext() { public Variant next() { nextAnnotationIndexEntry(); // ensure read annotation increaseCounters(); + Variant variant = nextVariant(); + movePointer(); + return variant; + } + + @Override + public Variant nextVariant() { Variant variant; if (encodedRefAlt) { variant = toVariantEncodedAlleles(chromosome, batchStart, bytes, currentOffset); } else { variant = toVariant(chromosome, batchStart, bytes, currentOffset, referenceLength, alternateLength); } - movePointer(); return variant; } diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/index/sample/SampleIndexEntryFilterTest.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/index/sample/SampleIndexEntryFilterTest.java index f4989f9ff79..7933889d93f 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/index/sample/SampleIndexEntryFilterTest.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/index/sample/SampleIndexEntryFilterTest.java @@ -259,6 +259,7 @@ private SingleSampleIndexQuery getSingleSampleIndexQuery(Query query) { private SingleSampleIndexQuery getSingleSampleIndexQuery(VariantQueryUtils.QueryOperation op, RangeIndexFieldFilter... frequencyQuery) { SampleAnnotationIndexQuery annotationIndexQuery = new SampleAnnotationIndexQuery( new byte[2], + null, schema.getCtIndex().getField().noOpFilter(), schema.getBiotypeIndex().getField().noOpFilter(), schema.getTranscriptFlagIndexSchema().getField().noOpFilter(), diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/index/sample/SampleIndexQueryParserTest.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/index/sample/SampleIndexQueryParserTest.java index 0eafe0ca875..fa1cc7ffe8e 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/index/sample/SampleIndexQueryParserTest.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/index/sample/SampleIndexQueryParserTest.java @@ -1384,6 +1384,9 @@ public void parseIntergenicTest() { checkIntergenic(true, new Query(ANNOT_CONSEQUENCE_TYPE.key(), "intergenic_variant")); checkIntergenic(null, new Query(ANNOT_CONSEQUENCE_TYPE.key(), "missense_variant,intergenic_variant")); checkIntergenic(null, new Query(ANNOT_CONSEQUENCE_TYPE.key(), "intergenic_variant,missense_variant")); + checkIntergenic(null, new Query(ANNOT_CONSEQUENCE_TYPE.key(), VariantAnnotationConstants.REGULATORY_REGION_VARIANT)); + checkIntergenic(false, new Query(ANNOT_CONSEQUENCE_TYPE.key(), VariantAnnotationConstants.REGULATORY_REGION_VARIANT) + .append(ANNOT_BIOTYPE.key(), "protein_coding")); // Nonsense combination checkIntergenic(false, new Query(ANNOT_CONSEQUENCE_TYPE.key(), "intergenic_variant").append(ANNOT_BIOTYPE.key(), "protein_coding")); @@ -1391,6 +1394,7 @@ public void parseIntergenicTest() { private void checkIntergenic(Boolean intergenic, Query query) { SampleAnnotationIndexQuery annotationIndexQuery = parseAnnotationIndexQuery(query); + assertEquals(intergenic, annotationIndexQuery.getIntergenic()); if (intergenic == null) { assertEquals(EMPTY_MASK, INTERGENIC_MASK & annotationIndexQuery.getAnnotationIndexMask()); } else { @@ -1570,6 +1574,19 @@ public void testCoveredQuery_ct() { parseAnnotationIndexQuery(query, true); assertTrue(query.isEmpty()); + query = new Query().append(ANNOT_CONSEQUENCE_TYPE.key(), String.join(OR, VariantAnnotationConstants.REGULATORY_REGION_VARIANT)); + parseAnnotationIndexQuery(query, true); + indexQuery = parseAnnotationIndexQuery(query, true); + assertTrue(indexQuery.getConsequenceTypeFilter().isNoOp()); + assertFalse(query.isEmpty()); // regulatory_region_variant can't be used for CT filter alone + + query = new Query().append(ANNOT_CONSEQUENCE_TYPE.key(), String.join(OR, VariantAnnotationConstants.REGULATORY_REGION_VARIANT)) + .append(ANNOT_BIOTYPE.key(), "protein_coding"); + indexQuery = parseAnnotationIndexQuery(query, true); + assertFalse(indexQuery.getConsequenceTypeFilter().isNoOp()); + assertFalse(indexQuery.getBiotypeFilter().isNoOp()); + assertTrue(query.isEmpty()); // regulatory_region_variant can be used together with biotype + query = new Query().append(ANNOT_CONSEQUENCE_TYPE.key(), String.join(OR, VariantAnnotationConstants.STOP_LOST)); parseAnnotationIndexQuery(query, false); indexQuery = parseAnnotationIndexQuery(query, false); diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/index/sample/SampleIndexTest.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/index/sample/SampleIndexTest.java index 34dbdecc1cc..0e478690499 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/index/sample/SampleIndexTest.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/index/sample/SampleIndexTest.java @@ -904,29 +904,54 @@ public void testAggregationCorrectnessCt() throws Exception { @Test public void testAggregationCorrectnessTFBS() throws Exception { - testAggregationCorrectness(TF_BINDING_SITE_VARIANT, true); + // Special scenario. This CT might include intergenic values, so can't be used alone + testAggregationCorrectness(new Query(ANNOT_BIOTYPE.key(), "protein_coding"), TF_BINDING_SITE_VARIANT); } @Test public void testAggregationCorrectnessRegulatoryRegionVariant() throws Exception { - testAggregationCorrectness(REGULATORY_REGION_VARIANT); + // Special scenario. This CT might include intergenic values, so can't be used alone + testAggregationCorrectness(new Query(ANNOT_BIOTYPE.key(), "protein_coding"), + REGULATORY_REGION_VARIANT); + } + + @Test + public void testAggregationByIntergenicQuery() throws Exception { + SampleIndexVariantAggregationExecutor executor = new SampleIndexVariantAggregationExecutor(metadataManager, sampleIndexDBAdaptor); + + Query baseQuery = new Query(STUDY.key(), STUDY_NAME_3) + .append(SAMPLE.key(), "NA12877"); + + assertFalse(executor.canUseThisExecutor(new Query(baseQuery) + .append(ANNOT_CONSEQUENCE_TYPE.key(), REGULATORY_REGION_VARIANT), new QueryOptions(QueryOptions.FACET, "consequenceType"))); + assertFalse(executor.canUseThisExecutor(new Query(baseQuery) + .append(ANNOT_CONSEQUENCE_TYPE.key(), TF_BINDING_SITE_VARIANT), new QueryOptions(QueryOptions.FACET, "consequenceType"))); + + assertTrue(executor.canUseThisExecutor(new Query(baseQuery) + .append(ANNOT_CONSEQUENCE_TYPE.key(), REGULATORY_REGION_VARIANT) + .append(ANNOT_BIOTYPE.key(), "protein_coding"), + new QueryOptions(QueryOptions.FACET, "consequenceType"))); + assertTrue(executor.canUseThisExecutor(new Query(baseQuery) + .append(ANNOT_CONSEQUENCE_TYPE.key(), TF_BINDING_SITE_VARIANT) + .append(ANNOT_BIOTYPE.key(), "protein_coding"), + new QueryOptions(QueryOptions.FACET, "consequenceType"))); } private void testAggregationCorrectness(String ct) throws Exception { - testAggregationCorrectness(ct, false); + testAggregationCorrectness(new Query(), ct); } - private void testAggregationCorrectness(String ct, boolean sampleIndexMightBeMoreAccurate) throws Exception { + private void testAggregationCorrectness(Query baseQuery, String ct) throws Exception { SampleIndexVariantAggregationExecutor executor = new SampleIndexVariantAggregationExecutor(metadataManager, sampleIndexDBAdaptor); - Query query = new Query(STUDY.key(), STUDY_NAME_3) + Query query = new Query(baseQuery) + .append(STUDY.key(), STUDY_NAME_3) .append(SAMPLE.key(), "NA12877") .append(ANNOT_CONSEQUENCE_TYPE.key(), ct); assertTrue(executor.canUseThisExecutor(query, new QueryOptions(QueryOptions.FACET, "consequenceType"))); - AtomicInteger count = new AtomicInteger(0); sampleIndexDBAdaptor.iterator(new Query(query), new QueryOptions()).forEachRemaining(v -> count.incrementAndGet()); - FacetField facet = executor.aggregation(query, new QueryOptions(QueryOptions.FACET, "consequenceType")).first(); + FacetField facet = executor.aggregation(new Query(query), new QueryOptions(QueryOptions.FACET, "consequenceType")).first(); assertEquals(count.get(), facet.getCount()); FacetField.Bucket bucket = facet.getBuckets().stream().filter(b -> b.getValue().equals(ct)).findFirst().orElse(null); @@ -941,11 +966,7 @@ private void testAggregationCorrectness(String ct, boolean sampleIndexMightBeMor } } else { assertNotNull(msg, bucket); - if (sampleIndexMightBeMoreAccurate) { - assertThat(msg, count.get(), gte(bucket.getCount())); - } else { - assertEquals(msg, count.get(), bucket.getCount()); - } + assertEquals(msg, count.get(), bucket.getCount()); } } From 12b5ac4584c12521cbab93b6d6c27bb416705c78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Coll=20Morag=C3=B3n?= Date: Tue, 27 Feb 2024 15:11:21 +0000 Subject: [PATCH 74/89] cicd: Fix check-junit-test.yml profile selection. #TASK-5663 --- .github/workflows/check-junit-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check-junit-test.yml b/.github/workflows/check-junit-test.yml index 03854bdefab..4078e6508fc 100644 --- a/.github/workflows/check-junit-test.yml +++ b/.github/workflows/check-junit-test.yml @@ -93,7 +93,7 @@ jobs: needs: [ get_profiles ] uses: ./.github/workflows/test-analysis.yml with: - test_profile: ${{ matrix.profiles }} + test_profile: ${{ matrix.profile }} hadoop: ${{ matrix.hadoop }} module: ${{ matrix.module }} mvn_opts: ${{ inputs.mvn_opts }} From 42543bef4ca8d287fac424b0f296e4a3b6cabe1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Coll=20Morag=C3=B3n?= Date: Tue, 27 Feb 2024 15:11:49 +0000 Subject: [PATCH 75/89] storage: Fix NPE at SampleIndexDBAdaptorTest. #TASK-5663 --- .../variant/index/sample/SampleIndexDBAdaptorTest.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/index/sample/SampleIndexDBAdaptorTest.java b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/index/sample/SampleIndexDBAdaptorTest.java index 03e8b3cd4fb..27f8a56f317 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/index/sample/SampleIndexDBAdaptorTest.java +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/src/test/java/org/opencb/opencga/storage/hadoop/variant/index/sample/SampleIndexDBAdaptorTest.java @@ -15,6 +15,7 @@ import org.opencb.opencga.storage.hadoop.variant.index.query.LocusQuery; import org.opencb.opencga.storage.hadoop.variant.index.query.SampleAnnotationIndexQuery; import org.opencb.opencga.storage.hadoop.variant.index.query.SampleIndexQuery; +import org.opencb.opencga.storage.hadoop.variant.utils.HBaseVariantTableNameGenerator; import java.util.Arrays; import java.util.Collections; @@ -46,7 +47,9 @@ public void testSampleIdFF() throws Exception { Collections.singletonMap(sampleName, Collections.singletonList("0/1")), Collections.emptySet(), null, Collections.emptyMap(), Collections.emptyMap(), Collections.emptyMap(), new SampleAnnotationIndexQuery(SampleIndexSchema.defaultSampleIndexSchema()), Collections.emptySet(), null, false, VariantQueryUtils.QueryOperation.AND); - new SampleIndexDBAdaptor(new HBaseManager(new Configuration()), null, metadataManager).parse(query.forSample(sampleName), null); + new SampleIndexDBAdaptor(new HBaseManager(new Configuration()), + new HBaseVariantTableNameGenerator("default", "my_dbname"), metadataManager) + .parse(query.forSample(sampleName), null); } @Test From 96ec868f1065ffb5293b25f2bc41f6270bcba14f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Coll=20Morag=C3=B3n?= Date: Tue, 27 Feb 2024 15:58:40 +0000 Subject: [PATCH 76/89] tests: Add missing test categories. #TASK-5663 --- .../org/opencb/opencga/analysis/family/FamilyAnalysisTest.java | 3 +++ .../opencb/opencga/core/cellbase/CellBaseValidatorTest.java | 3 +++ .../annotation/annotators/VariantAnnotatorByApiKeyTest.java | 3 +++ 3 files changed, 9 insertions(+) diff --git a/opencga-analysis/src/test/java/org/opencb/opencga/analysis/family/FamilyAnalysisTest.java b/opencga-analysis/src/test/java/org/opencb/opencga/analysis/family/FamilyAnalysisTest.java index 7ce1fe10c2b..af5c8d9be8e 100644 --- a/opencga-analysis/src/test/java/org/opencb/opencga/analysis/family/FamilyAnalysisTest.java +++ b/opencga-analysis/src/test/java/org/opencb/opencga/analysis/family/FamilyAnalysisTest.java @@ -4,6 +4,7 @@ import org.hamcrest.CoreMatchers; import org.hamcrest.MatcherAssert; import org.junit.*; +import org.junit.experimental.categories.Category; import org.junit.rules.ExpectedException; import org.opencb.biodata.models.clinical.Disorder; import org.opencb.biodata.models.clinical.Phenotype; @@ -34,6 +35,7 @@ import org.opencb.opencga.core.models.sample.Sample; import org.opencb.opencga.core.models.sample.SampleReferenceParam; import org.opencb.opencga.core.response.OpenCGAResult; +import org.opencb.opencga.core.testclassification.duration.MediumTests; import org.opencb.opencga.storage.core.StorageEngineFactory; import java.io.IOException; @@ -47,6 +49,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; +@Category(MediumTests.class) public class FamilyAnalysisTest extends GenericTest { public static final String USER = "user"; diff --git a/opencga-core/src/test/java/org/opencb/opencga/core/cellbase/CellBaseValidatorTest.java b/opencga-core/src/test/java/org/opencb/opencga/core/cellbase/CellBaseValidatorTest.java index cab404b3c34..933a27a8663 100644 --- a/opencga-core/src/test/java/org/opencb/opencga/core/cellbase/CellBaseValidatorTest.java +++ b/opencga-core/src/test/java/org/opencb/opencga/core/cellbase/CellBaseValidatorTest.java @@ -5,12 +5,15 @@ import org.junit.Assume; import org.junit.Rule; import org.junit.Test; +import org.junit.experimental.categories.Category; import org.junit.rules.ExpectedException; import org.opencb.opencga.core.api.ParamConstants; import org.opencb.opencga.core.config.storage.CellBaseConfiguration; +import org.opencb.opencga.core.testclassification.duration.ShortTests; import java.io.IOException; +@Category(ShortTests.class) public class CellBaseValidatorTest { @Rule diff --git a/opencga-storage/opencga-storage-core/src/test/java/org/opencb/opencga/storage/core/variant/annotation/annotators/VariantAnnotatorByApiKeyTest.java b/opencga-storage/opencga-storage-core/src/test/java/org/opencb/opencga/storage/core/variant/annotation/annotators/VariantAnnotatorByApiKeyTest.java index c86733bbaa8..455eaa5f071 100644 --- a/opencga-storage/opencga-storage-core/src/test/java/org/opencb/opencga/storage/core/variant/annotation/annotators/VariantAnnotatorByApiKeyTest.java +++ b/opencga-storage/opencga-storage-core/src/test/java/org/opencb/opencga/storage/core/variant/annotation/annotators/VariantAnnotatorByApiKeyTest.java @@ -5,12 +5,14 @@ import org.junit.Assume; import org.junit.Before; import org.junit.Test; +import org.junit.experimental.categories.Category; import org.opencb.biodata.models.variant.Variant; import org.opencb.biodata.models.variant.avro.EvidenceEntry; import org.opencb.biodata.models.variant.avro.VariantAnnotation; import org.opencb.cellbase.client.rest.CellBaseClient; import org.opencb.commons.datastore.core.ObjectMap; import org.opencb.opencga.core.config.storage.StorageConfiguration; +import org.opencb.opencga.core.testclassification.duration.MediumTests; import org.opencb.opencga.storage.core.StorageEngine; import org.opencb.opencga.storage.core.metadata.models.ProjectMetadata; import org.opencb.opencga.storage.core.utils.CellBaseUtils; @@ -21,6 +23,7 @@ import static org.junit.Assert.assertEquals; import static org.opencb.opencga.storage.core.variant.VariantStorageOptions.ANNOTATOR_CELLBASE_INCLUDE; +@Category(MediumTests.class) public class VariantAnnotatorByApiKeyTest { private StorageConfiguration storageConfiguration; From ad590ae4f19bf454b7a27eb4ceabc0087f449d60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Coll=20Morag=C3=B3n?= Date: Tue, 27 Feb 2024 17:28:37 +0000 Subject: [PATCH 77/89] cicd: Hadoop can not be mandatory on get_same_branch.sh #TASK-5663 --- .github/workflows/scripts/get_same_branch.sh | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/scripts/get_same_branch.sh b/.github/workflows/scripts/get_same_branch.sh index 40479888856..5e9d9062fa1 100644 --- a/.github/workflows/scripts/get_same_branch.sh +++ b/.github/workflows/scripts/get_same_branch.sh @@ -1,18 +1,13 @@ #!/bin/bash BRANCH_NAME=$1 -HADOOP=$2 +HADOOP=${2:-hdp3.1} if [[ -z "$BRANCH_NAME" ]]; then echo "The first parameter is mandatory and must be a valid branch name." exit 1 fi -if [[ -z "$HADOOP" ]]; then - echo "The second parameter is mandatory and must be a valid hadoop version." - exit 1 -fi - function install(){ local REPO=$1 cd /home/runner/work/ || exit 2 From 667bec0d7fa920d26b9e1db4bf82644b8d3d9e13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Coll=20Morag=C3=B3n?= Date: Tue, 27 Feb 2024 17:30:30 +0000 Subject: [PATCH 78/89] cicd: Fix long-test-analysis #TASK-5663 --- .github/workflows/long-test-analysis.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/long-test-analysis.yml b/.github/workflows/long-test-analysis.yml index 858e688f737..e0c14b79175 100644 --- a/.github/workflows/long-test-analysis.yml +++ b/.github/workflows/long-test-analysis.yml @@ -13,7 +13,6 @@ jobs: fail-fast: false matrix: hadoop: [ "hdp3.1", "hdi5.1", "emr6.1", "emr6.13" ] - needs: [ get_profiles ] uses: ./.github/workflows/test-analysis.yml secrets: inherit with: From f457f14adbc3d298dbfdede16ad4025b44bedd51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Coll=20Morag=C3=B3n?= Date: Wed, 28 Feb 2024 16:38:05 +0000 Subject: [PATCH 79/89] analysis: Propagate job tags from variant-index-launcher. #TASK-5741 --- .../VariantFileIndexJobLauncherTool.java | 23 ++++++++-- .../operations/PlatinumFileIndexerTest.java | 45 ++++++++++++++++++- 2 files changed, 63 insertions(+), 5 deletions(-) diff --git a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/variant/operations/VariantFileIndexJobLauncherTool.java b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/variant/operations/VariantFileIndexJobLauncherTool.java index c548f0fbbca..1178c9a8081 100644 --- a/opencga-analysis/src/main/java/org/opencb/opencga/analysis/variant/operations/VariantFileIndexJobLauncherTool.java +++ b/opencga-analysis/src/main/java/org/opencb/opencga/analysis/variant/operations/VariantFileIndexJobLauncherTool.java @@ -1,5 +1,6 @@ package org.opencb.opencga.analysis.variant.operations; +import org.apache.commons.lang3.RandomStringUtils; import org.apache.commons.lang3.StringUtils; import org.opencb.commons.datastore.core.ObjectMap; import org.opencb.commons.datastore.core.Query; @@ -35,10 +36,15 @@ public class VariantFileIndexJobLauncherTool extends OpenCgaToolScopeStudy { public static final String ID = "variant-index-job-launcher"; public static final String DESCRIPTION = "Detect non-indexed VCF files in the study, and submit a job for indexing them."; + public static final String SUBMITTED_JOBS_ATTRIBUTE = "submittedJobs"; + public static final String SCANNED_FILES_ATTRIBUTE = "scannedFiles"; + public static final String JOB_TAGS_ATTRIBUTE = "jobTags"; @ToolParams protected final VariantFileIndexJobLauncherParams toolParams = new VariantFileIndexJobLauncherParams(); + private List jobTags = new ArrayList<>(); + @Override protected void check() throws Exception { super.check(); @@ -48,6 +54,17 @@ protected void check() throws Exception { toolParams.setDirectory(directory + "/"); } } + String jobId = getJobId(); + if (!StringUtils.isEmpty(jobId)) { + Job parentJob = catalogManager.getJobManager().get(getStudyFqn(), jobId, new QueryOptions(), getToken()).first(); + if (parentJob.getTags() != null) { + jobTags.addAll(parentJob.getTags()); + } + jobTags.add(ID + ":" + parentJob.getId()); + } else { + jobTags.add(ID + ":" + TimeUtils.getTime() + "-" + RandomStringUtils.randomAlphanumeric(5)); + } + addAttribute(JOB_TAGS_ATTRIBUTE, jobTags); } @Override @@ -125,7 +142,7 @@ protected void run() throws Exception { String jobId = buildJobId(file); Job job = catalogManager.getJobManager().submit(getStudy(), VariantIndexOperationTool.ID, Enums.Priority.MEDIUM, indexParams.toParams(new ObjectMap(ParamConstants.STUDY_PARAM, study)), jobId, "Job generated by " + getId(), - Collections.emptyList(), Collections.emptyList(), getToken()).first(); + Collections.emptyList(), jobTags, getToken()).first(); submittedJobs++; logger.info("[{}] Create variant-index job '{}' for file '{}'{}", submittedJobs, @@ -139,8 +156,8 @@ protected void run() throws Exception { } } - addAttribute("submittedJobs", submittedJobs); - addAttribute("scannedFiles", scannedFiles); + addAttribute(SUBMITTED_JOBS_ATTRIBUTE, submittedJobs); + addAttribute(SCANNED_FILES_ATTRIBUTE, scannedFiles); if (scannedFiles == 0) { addWarning("No files found. Nothing to do"); } diff --git a/opencga-analysis/src/test/java/org/opencb/opencga/analysis/variant/manager/operations/PlatinumFileIndexerTest.java b/opencga-analysis/src/test/java/org/opencb/opencga/analysis/variant/manager/operations/PlatinumFileIndexerTest.java index f6082bea5d2..4396a3d6e99 100644 --- a/opencga-analysis/src/test/java/org/opencb/opencga/analysis/variant/manager/operations/PlatinumFileIndexerTest.java +++ b/opencga-analysis/src/test/java/org/opencb/opencga/analysis/variant/manager/operations/PlatinumFileIndexerTest.java @@ -26,10 +26,13 @@ import org.opencb.opencga.analysis.tools.ToolRunner; import org.opencb.opencga.analysis.variant.operations.VariantFileIndexJobLauncherTool; import org.opencb.opencga.analysis.variant.operations.VariantIndexOperationTool; +import org.opencb.opencga.catalog.db.api.JobDBAdaptor; import org.opencb.opencga.catalog.exceptions.CatalogException; import org.opencb.opencga.core.api.ParamConstants; import org.opencb.opencga.core.exceptions.ToolException; +import org.opencb.opencga.core.models.common.Enums; import org.opencb.opencga.core.models.file.File; +import org.opencb.opencga.core.models.job.Job; import org.opencb.opencga.core.models.variant.VariantFileIndexJobLauncherParams; import org.opencb.opencga.core.models.variant.VariantIndexParams; import org.opencb.opencga.core.testclassification.duration.MediumTests; @@ -49,6 +52,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; +import static org.opencb.opencga.core.api.ParamConstants.STUDY_PARAM; /** * Created on 15/07/16 @@ -201,11 +205,48 @@ public void testBatchBySteps() throws Exception { @Test public void testLauncher() throws CatalogException, IOException, ToolException { ToolRunner toolRunner = new ToolRunner(opencga.getOpencgaHome().toString(), catalogManager, StorageEngineFactory.get(variantManager.getStorageConfiguration())); + int numFiles = 0; for (int i = 77; i <= 93; i++) { create("platinum/1K.end.platinum-genomes-vcf-NA128" + i + "_S1.genome.vcf.gz"); + numFiles++; } - toolRunner.execute(VariantFileIndexJobLauncherTool.class, studyFqn, new VariantFileIndexJobLauncherParams().setDirectory("data/vcfs"), - Paths.get(opencga.createTmpOutdir(studyId, "_LOAD_", sessionId)), "", sessionId); + VariantFileIndexJobLauncherParams params = new VariantFileIndexJobLauncherParams().setDirectory("data/vcfs"); + List tags = Arrays.asList("tag1", "tag2"); + Job job = catalogManager.getJobManager().submit(studyFqn, VariantFileIndexJobLauncherTool.ID, Enums.Priority.HIGH, + params.toParams(STUDY_PARAM, studyFqn), null, null, null, tags, sessionId).first(); + ExecutionResult result = toolRunner.execute(job, Paths.get(opencga.createTmpOutdir(studyId, "_LOAD_", sessionId)), sessionId); + + List tagsFromResult = result.getAttributes().getAsStringList(VariantFileIndexJobLauncherTool.JOB_TAGS_ATTRIBUTE); + assertTrue(tagsFromResult.containsAll(tags)); + for (String tag : tagsFromResult) { + List results = catalogManager.getJobManager().search(studyFqn, + new Query() + .append(JobDBAdaptor.QueryParams.TOOL_ID.key(), VariantIndexOperationTool.ID) + .append(JobDBAdaptor.QueryParams.TAGS.key(), tag), + new QueryOptions(), sessionId).getResults(); + assertEquals(numFiles, results.size()); + } + assertEquals(numFiles, result.getAttributes().getInt(VariantFileIndexJobLauncherTool.SUBMITTED_JOBS_ATTRIBUTE)); + assertEquals(numFiles, result.getAttributes().getInt(VariantFileIndexJobLauncherTool.SCANNED_FILES_ATTRIBUTE)); + + //// Execute again, no new jobs should be submitted + tags = Arrays.asList("tag10", "tag20"); + job = catalogManager.getJobManager().submit(studyFqn, VariantFileIndexJobLauncherTool.ID, Enums.Priority.HIGH, + params.toParams(STUDY_PARAM, studyFqn), null, null, null, tags, sessionId).first(); + result = toolRunner.execute(job, Paths.get(opencga.createTmpOutdir(studyId, "_LOAD_", sessionId)), sessionId); + + tagsFromResult = result.getAttributes().getAsStringList(VariantFileIndexJobLauncherTool.JOB_TAGS_ATTRIBUTE); + assertTrue(tagsFromResult.containsAll(tags)); + for (String tag : tagsFromResult) { + List results = catalogManager.getJobManager().search(studyFqn, + new Query() + .append(JobDBAdaptor.QueryParams.TOOL_ID.key(), VariantIndexOperationTool.ID) + .append(JobDBAdaptor.QueryParams.TAGS.key(), tag), + new QueryOptions(), sessionId).getResults(); + assertEquals(0, results.size()); + } + assertEquals(0, result.getAttributes().getInt(VariantFileIndexJobLauncherTool.SUBMITTED_JOBS_ATTRIBUTE)); + assertEquals(numFiles, result.getAttributes().getInt(VariantFileIndexJobLauncherTool.SCANNED_FILES_ATTRIBUTE)); } } From 9136a3a526dfc1335f8cad10ed18e1179f3c0a7c Mon Sep 17 00:00:00 2001 From: JuanfeSanahuja Date: Mon, 4 Mar 2024 18:30:43 +0100 Subject: [PATCH 80/89] Automatic code gene --- .../opencga/app/cli/main/OpenCgaCompleter.java | 2 +- .../app/cli/main/OpencgaCliOptionsParser.java | 2 +- opencga-client/src/main/R/R/Admin-methods.R | 2 +- .../src/main/R/R/Alignment-methods.R | 2 +- opencga-client/src/main/R/R/AllGenerics.R | 18 +++++++++--------- opencga-client/src/main/R/R/Clinical-methods.R | 4 ++-- opencga-client/src/main/R/R/Cohort-methods.R | 4 ++-- opencga-client/src/main/R/R/Family-methods.R | 4 ++-- opencga-client/src/main/R/R/File-methods.R | 4 ++-- opencga-client/src/main/R/R/GA4GH-methods.R | 2 +- .../src/main/R/R/Individual-methods.R | 4 ++-- opencga-client/src/main/R/R/Job-methods.R | 4 ++-- opencga-client/src/main/R/R/Meta-methods.R | 2 +- .../src/main/R/R/Operation-methods.R | 2 +- .../src/main/R/R/Organization-methods.R | 2 +- opencga-client/src/main/R/R/Panel-methods.R | 2 +- opencga-client/src/main/R/R/Project-methods.R | 2 +- opencga-client/src/main/R/R/Sample-methods.R | 4 ++-- opencga-client/src/main/R/R/Study-methods.R | 4 ++-- opencga-client/src/main/R/R/User-methods.R | 4 ++-- opencga-client/src/main/R/R/Variant-methods.R | 2 +- .../client/rest/clients/AdminClient.java | 2 +- .../client/rest/clients/AlignmentClient.java | 2 +- .../rest/clients/ClinicalAnalysisClient.java | 2 +- .../client/rest/clients/CohortClient.java | 2 +- .../rest/clients/DiseasePanelClient.java | 2 +- .../client/rest/clients/FamilyClient.java | 2 +- .../client/rest/clients/FileClient.java | 2 +- .../client/rest/clients/GA4GHClient.java | 2 +- .../client/rest/clients/IndividualClient.java | 2 +- .../opencga/client/rest/clients/JobClient.java | 2 +- .../client/rest/clients/MetaClient.java | 2 +- .../rest/clients/OrganizationClient.java | 2 +- .../client/rest/clients/ProjectClient.java | 2 +- .../client/rest/clients/SampleClient.java | 2 +- .../client/rest/clients/StudyClient.java | 2 +- .../client/rest/clients/UserClient.java | 2 +- .../client/rest/clients/VariantClient.java | 2 +- .../rest/clients/VariantOperationClient.java | 2 +- opencga-client/src/main/javascript/Admin.js | 2 +- .../src/main/javascript/Alignment.js | 2 +- .../src/main/javascript/ClinicalAnalysis.js | 2 +- opencga-client/src/main/javascript/Cohort.js | 2 +- .../src/main/javascript/DiseasePanel.js | 2 +- opencga-client/src/main/javascript/Family.js | 2 +- opencga-client/src/main/javascript/File.js | 2 +- opencga-client/src/main/javascript/GA4GH.js | 2 +- .../src/main/javascript/Individual.js | 2 +- opencga-client/src/main/javascript/Job.js | 2 +- opencga-client/src/main/javascript/Meta.js | 2 +- .../src/main/javascript/Organization.js | 2 +- opencga-client/src/main/javascript/Project.js | 2 +- opencga-client/src/main/javascript/Sample.js | 2 +- opencga-client/src/main/javascript/Study.js | 2 +- opencga-client/src/main/javascript/User.js | 2 +- opencga-client/src/main/javascript/Variant.js | 2 +- .../src/main/javascript/VariantOperation.js | 2 +- .../pyopencga/rest_clients/admin_client.py | 2 +- .../pyopencga/rest_clients/alignment_client.py | 2 +- .../rest_clients/clinical_analysis_client.py | 2 +- .../pyopencga/rest_clients/cohort_client.py | 2 +- .../rest_clients/disease_panel_client.py | 2 +- .../pyopencga/rest_clients/family_client.py | 2 +- .../pyopencga/rest_clients/file_client.py | 2 +- .../pyopencga/rest_clients/ga4gh_client.py | 2 +- .../rest_clients/individual_client.py | 2 +- .../pyopencga/rest_clients/job_client.py | 2 +- .../pyopencga/rest_clients/meta_client.py | 2 +- .../rest_clients/organization_client.py | 2 +- .../pyopencga/rest_clients/project_client.py | 2 +- .../pyopencga/rest_clients/sample_client.py | 2 +- .../pyopencga/rest_clients/study_client.py | 2 +- .../pyopencga/rest_clients/user_client.py | 2 +- .../pyopencga/rest_clients/variant_client.py | 2 +- .../rest_clients/variant_operation_client.py | 2 +- pom.xml | 1 - 76 files changed, 92 insertions(+), 93 deletions(-) diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpenCgaCompleter.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpenCgaCompleter.java index 270060b11f8..a39ab4aea61 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpenCgaCompleter.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpenCgaCompleter.java @@ -1,5 +1,5 @@ /* -* Copyright 2015-2024-02-09 OpenCB +* Copyright 2015-2024-03-04 OpenCB * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpencgaCliOptionsParser.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpencgaCliOptionsParser.java index 00060aa8fdd..249139a1608 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpencgaCliOptionsParser.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpencgaCliOptionsParser.java @@ -1,5 +1,5 @@ /* -* Copyright 2015-2024-02-09 OpenCB +* Copyright 2015-2024-03-04 OpenCB * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/opencga-client/src/main/R/R/Admin-methods.R b/opencga-client/src/main/R/R/Admin-methods.R index ba674db59c3..707daa2b23b 100644 --- a/opencga-client/src/main/R/R/Admin-methods.R +++ b/opencga-client/src/main/R/R/Admin-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-09 +# Autogenerated on: 2024-03-04 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/Alignment-methods.R b/opencga-client/src/main/R/R/Alignment-methods.R index 7a28ebbfcb7..c8659700389 100644 --- a/opencga-client/src/main/R/R/Alignment-methods.R +++ b/opencga-client/src/main/R/R/Alignment-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-09 +# Autogenerated on: 2024-03-04 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/AllGenerics.R b/opencga-client/src/main/R/R/AllGenerics.R index d89ecc8d148..9b9e50d376b 100644 --- a/opencga-client/src/main/R/R/AllGenerics.R +++ b/opencga-client/src/main/R/R/AllGenerics.R @@ -5,7 +5,7 @@ setGeneric("organizationClient", function(OpencgaR, organization, endpointName, # ############################################################################## ## UserClient -setGeneric("userClient", function(OpencgaR, user, users, filterId, endpointName, params=NULL, ...) +setGeneric("userClient", function(OpencgaR, user, filterId, users, endpointName, params=NULL, ...) standardGeneric("userClient")) # ############################################################################## @@ -15,37 +15,37 @@ setGeneric("projectClient", function(OpencgaR, project, projects, endpointName, # ############################################################################## ## StudyClient -setGeneric("studyClient", function(OpencgaR, templateId, study, members, studies, group, variableSet, endpointName, params=NULL, ...) +setGeneric("studyClient", function(OpencgaR, group, members, templateId, studies, study, variableSet, endpointName, params=NULL, ...) standardGeneric("studyClient")) # ############################################################################## ## FileClient -setGeneric("fileClient", function(OpencgaR, annotationSet, members, files, file, folder, endpointName, params=NULL, ...) +setGeneric("fileClient", function(OpencgaR, file, annotationSet, members, files, folder, endpointName, params=NULL, ...) standardGeneric("fileClient")) # ############################################################################## ## JobClient -setGeneric("jobClient", function(OpencgaR, members, jobs, job, endpointName, params=NULL, ...) +setGeneric("jobClient", function(OpencgaR, job, members, jobs, endpointName, params=NULL, ...) standardGeneric("jobClient")) # ############################################################################## ## SampleClient -setGeneric("sampleClient", function(OpencgaR, members, sample, samples, annotationSet, endpointName, params=NULL, ...) +setGeneric("sampleClient", function(OpencgaR, members, annotationSet, sample, samples, endpointName, params=NULL, ...) standardGeneric("sampleClient")) # ############################################################################## ## IndividualClient -setGeneric("individualClient", function(OpencgaR, members, annotationSet, individuals, individual, endpointName, params=NULL, ...) +setGeneric("individualClient", function(OpencgaR, individual, members, annotationSet, individuals, endpointName, params=NULL, ...) standardGeneric("individualClient")) # ############################################################################## ## FamilyClient -setGeneric("familyClient", function(OpencgaR, members, family, families, annotationSet, endpointName, params=NULL, ...) +setGeneric("familyClient", function(OpencgaR, members, annotationSet, families, family, endpointName, params=NULL, ...) standardGeneric("familyClient")) # ############################################################################## ## CohortClient -setGeneric("cohortClient", function(OpencgaR, members, cohorts, annotationSet, cohort, endpointName, params=NULL, ...) +setGeneric("cohortClient", function(OpencgaR, cohort, members, annotationSet, cohorts, endpointName, params=NULL, ...) standardGeneric("cohortClient")) # ############################################################################## @@ -65,7 +65,7 @@ setGeneric("variantClient", function(OpencgaR, endpointName, params=NULL, ...) # ############################################################################## ## ClinicalClient -setGeneric("clinicalClient", function(OpencgaR, clinicalAnalysis, annotationSet, clinicalAnalyses, interpretation, members, interpretations, endpointName, params=NULL, ...) +setGeneric("clinicalClient", function(OpencgaR, annotationSet, clinicalAnalysis, interpretations, members, clinicalAnalyses, interpretation, endpointName, params=NULL, ...) standardGeneric("clinicalClient")) # ############################################################################## diff --git a/opencga-client/src/main/R/R/Clinical-methods.R b/opencga-client/src/main/R/R/Clinical-methods.R index 91be16121e7..87f8857e184 100644 --- a/opencga-client/src/main/R/R/Clinical-methods.R +++ b/opencga-client/src/main/R/R/Clinical-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-09 +# Autogenerated on: 2024-03-04 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -61,7 +61,7 @@ #' [*]: Required parameter #' @export -setMethod("clinicalClient", "OpencgaR", function(OpencgaR, clinicalAnalysis, annotationSet, clinicalAnalyses, interpretation, members, interpretations, endpointName, params=NULL, ...) { +setMethod("clinicalClient", "OpencgaR", function(OpencgaR, annotationSet, clinicalAnalysis, interpretations, members, clinicalAnalyses, interpretation, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/analysis/clinical/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/Cohort-methods.R b/opencga-client/src/main/R/R/Cohort-methods.R index b4e526abc94..8ecc2a2a569 100644 --- a/opencga-client/src/main/R/R/Cohort-methods.R +++ b/opencga-client/src/main/R/R/Cohort-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-09 +# Autogenerated on: 2024-03-04 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -38,7 +38,7 @@ #' [*]: Required parameter #' @export -setMethod("cohortClient", "OpencgaR", function(OpencgaR, members, cohorts, annotationSet, cohort, endpointName, params=NULL, ...) { +setMethod("cohortClient", "OpencgaR", function(OpencgaR, cohort, members, annotationSet, cohorts, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/cohorts/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/Family-methods.R b/opencga-client/src/main/R/R/Family-methods.R index cb84d8a07f5..09fa66b277b 100644 --- a/opencga-client/src/main/R/R/Family-methods.R +++ b/opencga-client/src/main/R/R/Family-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-09 +# Autogenerated on: 2024-03-04 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -37,7 +37,7 @@ #' [*]: Required parameter #' @export -setMethod("familyClient", "OpencgaR", function(OpencgaR, members, family, families, annotationSet, endpointName, params=NULL, ...) { +setMethod("familyClient", "OpencgaR", function(OpencgaR, members, annotationSet, families, family, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/families/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/File-methods.R b/opencga-client/src/main/R/R/File-methods.R index 86560cf2601..e7fd203262e 100644 --- a/opencga-client/src/main/R/R/File-methods.R +++ b/opencga-client/src/main/R/R/File-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-09 +# Autogenerated on: 2024-03-04 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -53,7 +53,7 @@ #' [*]: Required parameter #' @export -setMethod("fileClient", "OpencgaR", function(OpencgaR, annotationSet, members, files, file, folder, endpointName, params=NULL, ...) { +setMethod("fileClient", "OpencgaR", function(OpencgaR, file, annotationSet, members, files, folder, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/files/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/GA4GH-methods.R b/opencga-client/src/main/R/R/GA4GH-methods.R index 0b7641f0fdd..0798244b349 100644 --- a/opencga-client/src/main/R/R/GA4GH-methods.R +++ b/opencga-client/src/main/R/R/GA4GH-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-09 +# Autogenerated on: 2024-03-04 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/Individual-methods.R b/opencga-client/src/main/R/R/Individual-methods.R index f4e65c5d1bf..82244dd5909 100644 --- a/opencga-client/src/main/R/R/Individual-methods.R +++ b/opencga-client/src/main/R/R/Individual-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-09 +# Autogenerated on: 2024-03-04 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -38,7 +38,7 @@ #' [*]: Required parameter #' @export -setMethod("individualClient", "OpencgaR", function(OpencgaR, members, annotationSet, individuals, individual, endpointName, params=NULL, ...) { +setMethod("individualClient", "OpencgaR", function(OpencgaR, individual, members, annotationSet, individuals, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/individuals/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/Job-methods.R b/opencga-client/src/main/R/R/Job-methods.R index 7b60485739d..a7875bc8330 100644 --- a/opencga-client/src/main/R/R/Job-methods.R +++ b/opencga-client/src/main/R/R/Job-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-09 +# Autogenerated on: 2024-03-04 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -39,7 +39,7 @@ #' [*]: Required parameter #' @export -setMethod("jobClient", "OpencgaR", function(OpencgaR, members, jobs, job, endpointName, params=NULL, ...) { +setMethod("jobClient", "OpencgaR", function(OpencgaR, job, members, jobs, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/jobs/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/Meta-methods.R b/opencga-client/src/main/R/R/Meta-methods.R index 610add80cda..e730fbeba31 100644 --- a/opencga-client/src/main/R/R/Meta-methods.R +++ b/opencga-client/src/main/R/R/Meta-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-09 +# Autogenerated on: 2024-03-04 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/Operation-methods.R b/opencga-client/src/main/R/R/Operation-methods.R index 79abe4c4715..f0481f21a19 100644 --- a/opencga-client/src/main/R/R/Operation-methods.R +++ b/opencga-client/src/main/R/R/Operation-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-09 +# Autogenerated on: 2024-03-04 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/Organization-methods.R b/opencga-client/src/main/R/R/Organization-methods.R index a387baa9ebd..016e3650dab 100644 --- a/opencga-client/src/main/R/R/Organization-methods.R +++ b/opencga-client/src/main/R/R/Organization-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-09 +# Autogenerated on: 2024-03-04 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/Panel-methods.R b/opencga-client/src/main/R/R/Panel-methods.R index f7e4ea5d58e..ab0a4245978 100644 --- a/opencga-client/src/main/R/R/Panel-methods.R +++ b/opencga-client/src/main/R/R/Panel-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-09 +# Autogenerated on: 2024-03-04 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/Project-methods.R b/opencga-client/src/main/R/R/Project-methods.R index 24ebd93c429..c8e201907e7 100644 --- a/opencga-client/src/main/R/R/Project-methods.R +++ b/opencga-client/src/main/R/R/Project-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-09 +# Autogenerated on: 2024-03-04 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/Sample-methods.R b/opencga-client/src/main/R/R/Sample-methods.R index b664ebd4123..b8769eb9ed5 100644 --- a/opencga-client/src/main/R/R/Sample-methods.R +++ b/opencga-client/src/main/R/R/Sample-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-09 +# Autogenerated on: 2024-03-04 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -38,7 +38,7 @@ #' [*]: Required parameter #' @export -setMethod("sampleClient", "OpencgaR", function(OpencgaR, members, sample, samples, annotationSet, endpointName, params=NULL, ...) { +setMethod("sampleClient", "OpencgaR", function(OpencgaR, members, annotationSet, sample, samples, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/samples/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/Study-methods.R b/opencga-client/src/main/R/R/Study-methods.R index f6604dfd193..d5cf5e23190 100644 --- a/opencga-client/src/main/R/R/Study-methods.R +++ b/opencga-client/src/main/R/R/Study-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-09 +# Autogenerated on: 2024-03-04 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -45,7 +45,7 @@ #' [*]: Required parameter #' @export -setMethod("studyClient", "OpencgaR", function(OpencgaR, templateId, study, members, studies, group, variableSet, endpointName, params=NULL, ...) { +setMethod("studyClient", "OpencgaR", function(OpencgaR, group, members, templateId, studies, study, variableSet, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/studies/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/User-methods.R b/opencga-client/src/main/R/R/User-methods.R index 2014195fe5a..17748045ad9 100644 --- a/opencga-client/src/main/R/R/User-methods.R +++ b/opencga-client/src/main/R/R/User-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-09 +# Autogenerated on: 2024-03-04 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -39,7 +39,7 @@ #' [*]: Required parameter #' @export -setMethod("userClient", "OpencgaR", function(OpencgaR, user, users, filterId, endpointName, params=NULL, ...) { +setMethod("userClient", "OpencgaR", function(OpencgaR, user, filterId, users, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/users/anonymous: diff --git a/opencga-client/src/main/R/R/Variant-methods.R b/opencga-client/src/main/R/R/Variant-methods.R index 7a5a86cb27a..02a4587345a 100644 --- a/opencga-client/src/main/R/R/Variant-methods.R +++ b/opencga-client/src/main/R/R/Variant-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-02-09 +# Autogenerated on: 2024-03-04 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AdminClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AdminClient.java index cf68ce284d6..12ae402b6fd 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AdminClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AdminClient.java @@ -37,7 +37,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-09 +* Autogenerated on: 2024-03-04 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AlignmentClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AlignmentClient.java index 8ad9822e0c6..1d5978075e9 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AlignmentClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AlignmentClient.java @@ -40,7 +40,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-09 +* Autogenerated on: 2024-03-04 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ClinicalAnalysisClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ClinicalAnalysisClient.java index 77fdaa82d8f..bce7a38809a 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ClinicalAnalysisClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ClinicalAnalysisClient.java @@ -54,7 +54,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-09 +* Autogenerated on: 2024-03-04 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/CohortClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/CohortClient.java index 9dcb28d001b..ff8b862c90e 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/CohortClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/CohortClient.java @@ -36,7 +36,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-09 +* Autogenerated on: 2024-03-04 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/DiseasePanelClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/DiseasePanelClient.java index abf5ff3db1e..1338bd481c3 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/DiseasePanelClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/DiseasePanelClient.java @@ -35,7 +35,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-09 +* Autogenerated on: 2024-03-04 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FamilyClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FamilyClient.java index 8e690ee595f..5c2a1cc5b26 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FamilyClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FamilyClient.java @@ -35,7 +35,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-09 +* Autogenerated on: 2024-03-04 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FileClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FileClient.java index 59710ba9600..51d75ccbf27 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FileClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FileClient.java @@ -42,7 +42,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-09 +* Autogenerated on: 2024-03-04 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/GA4GHClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/GA4GHClient.java index 1d127ce72c7..02563c65a5e 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/GA4GHClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/GA4GHClient.java @@ -27,7 +27,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-09 +* Autogenerated on: 2024-03-04 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/IndividualClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/IndividualClient.java index 10abe3939dd..fd639f51b5b 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/IndividualClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/IndividualClient.java @@ -35,7 +35,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-09 +* Autogenerated on: 2024-03-04 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/JobClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/JobClient.java index 65830f09a56..b30b0645561 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/JobClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/JobClient.java @@ -36,7 +36,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-09 +* Autogenerated on: 2024-03-04 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/MetaClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/MetaClient.java index 0f0b74be667..abc9ab92cc1 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/MetaClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/MetaClient.java @@ -28,7 +28,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-09 +* Autogenerated on: 2024-03-04 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/OrganizationClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/OrganizationClient.java index 3ef831205b3..ac14662b2fc 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/OrganizationClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/OrganizationClient.java @@ -30,7 +30,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-09 +* Autogenerated on: 2024-03-04 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ProjectClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ProjectClient.java index c5233bf30ed..3ffc498d075 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ProjectClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ProjectClient.java @@ -31,7 +31,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-09 +* Autogenerated on: 2024-03-04 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/SampleClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/SampleClient.java index 8253c1faac5..ccc25dc7587 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/SampleClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/SampleClient.java @@ -35,7 +35,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-09 +* Autogenerated on: 2024-03-04 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/StudyClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/StudyClient.java index d5d72cacb27..33ad71249c0 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/StudyClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/StudyClient.java @@ -44,7 +44,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-09 +* Autogenerated on: 2024-03-04 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/UserClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/UserClient.java index 2f7f08c490f..8e75b697355 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/UserClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/UserClient.java @@ -36,7 +36,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-09 +* Autogenerated on: 2024-03-04 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantClient.java index 3c2374658f8..5caa76bc51b 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantClient.java @@ -62,7 +62,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-09 +* Autogenerated on: 2024-03-04 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantOperationClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantOperationClient.java index ccfa5e5a865..faf5f3c633f 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantOperationClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantOperationClient.java @@ -50,7 +50,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-02-09 +* Autogenerated on: 2024-03-04 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Admin.js b/opencga-client/src/main/javascript/Admin.js index f21e1ab1bf1..c7e969ce00a 100644 --- a/opencga-client/src/main/javascript/Admin.js +++ b/opencga-client/src/main/javascript/Admin.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-09 + * Autogenerated on: 2024-03-04 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Alignment.js b/opencga-client/src/main/javascript/Alignment.js index ed0f3cb92c8..cd0c803073c 100644 --- a/opencga-client/src/main/javascript/Alignment.js +++ b/opencga-client/src/main/javascript/Alignment.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-09 + * Autogenerated on: 2024-03-04 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/ClinicalAnalysis.js b/opencga-client/src/main/javascript/ClinicalAnalysis.js index 84efad7969f..6390431f8da 100644 --- a/opencga-client/src/main/javascript/ClinicalAnalysis.js +++ b/opencga-client/src/main/javascript/ClinicalAnalysis.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-09 + * Autogenerated on: 2024-03-04 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Cohort.js b/opencga-client/src/main/javascript/Cohort.js index 90288d7cf13..6b8ab16cb1d 100644 --- a/opencga-client/src/main/javascript/Cohort.js +++ b/opencga-client/src/main/javascript/Cohort.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-09 + * Autogenerated on: 2024-03-04 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/DiseasePanel.js b/opencga-client/src/main/javascript/DiseasePanel.js index f953323e8cf..1a83bbd6a26 100644 --- a/opencga-client/src/main/javascript/DiseasePanel.js +++ b/opencga-client/src/main/javascript/DiseasePanel.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-09 + * Autogenerated on: 2024-03-04 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Family.js b/opencga-client/src/main/javascript/Family.js index 38c8b0a5891..ef938cd64c9 100644 --- a/opencga-client/src/main/javascript/Family.js +++ b/opencga-client/src/main/javascript/Family.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-09 + * Autogenerated on: 2024-03-04 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/File.js b/opencga-client/src/main/javascript/File.js index da429a9de7a..adac7ffc6fa 100644 --- a/opencga-client/src/main/javascript/File.js +++ b/opencga-client/src/main/javascript/File.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-09 + * Autogenerated on: 2024-03-04 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/GA4GH.js b/opencga-client/src/main/javascript/GA4GH.js index 5daebd69514..67c191b5710 100644 --- a/opencga-client/src/main/javascript/GA4GH.js +++ b/opencga-client/src/main/javascript/GA4GH.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-09 + * Autogenerated on: 2024-03-04 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Individual.js b/opencga-client/src/main/javascript/Individual.js index 6f6c3b6a02f..1b6366f8ff0 100644 --- a/opencga-client/src/main/javascript/Individual.js +++ b/opencga-client/src/main/javascript/Individual.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-09 + * Autogenerated on: 2024-03-04 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Job.js b/opencga-client/src/main/javascript/Job.js index 9f53392b8af..065b92a75d8 100644 --- a/opencga-client/src/main/javascript/Job.js +++ b/opencga-client/src/main/javascript/Job.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-09 + * Autogenerated on: 2024-03-04 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Meta.js b/opencga-client/src/main/javascript/Meta.js index 024e8edb897..7e42eb048d1 100644 --- a/opencga-client/src/main/javascript/Meta.js +++ b/opencga-client/src/main/javascript/Meta.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-09 + * Autogenerated on: 2024-03-04 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Organization.js b/opencga-client/src/main/javascript/Organization.js index a95a9ea64ac..5102f6b76b5 100644 --- a/opencga-client/src/main/javascript/Organization.js +++ b/opencga-client/src/main/javascript/Organization.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-09 + * Autogenerated on: 2024-03-04 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Project.js b/opencga-client/src/main/javascript/Project.js index a1c1915ee87..b2307a44a8f 100644 --- a/opencga-client/src/main/javascript/Project.js +++ b/opencga-client/src/main/javascript/Project.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-09 + * Autogenerated on: 2024-03-04 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Sample.js b/opencga-client/src/main/javascript/Sample.js index a7f027f0090..04a70eb6d6a 100644 --- a/opencga-client/src/main/javascript/Sample.js +++ b/opencga-client/src/main/javascript/Sample.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-09 + * Autogenerated on: 2024-03-04 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Study.js b/opencga-client/src/main/javascript/Study.js index c5e920c02c8..83caa14961b 100644 --- a/opencga-client/src/main/javascript/Study.js +++ b/opencga-client/src/main/javascript/Study.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-09 + * Autogenerated on: 2024-03-04 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/User.js b/opencga-client/src/main/javascript/User.js index 4e2338e2033..dc60a5a9bfa 100644 --- a/opencga-client/src/main/javascript/User.js +++ b/opencga-client/src/main/javascript/User.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-09 + * Autogenerated on: 2024-03-04 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Variant.js b/opencga-client/src/main/javascript/Variant.js index 404a06c62e1..2ee8e9882b5 100644 --- a/opencga-client/src/main/javascript/Variant.js +++ b/opencga-client/src/main/javascript/Variant.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-09 + * Autogenerated on: 2024-03-04 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/VariantOperation.js b/opencga-client/src/main/javascript/VariantOperation.js index 76699690bc0..4ae38846bd4 100644 --- a/opencga-client/src/main/javascript/VariantOperation.js +++ b/opencga-client/src/main/javascript/VariantOperation.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-02-09 + * Autogenerated on: 2024-03-04 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/admin_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/admin_client.py index 1bb34100cc3..fc501c27f87 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/admin_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/admin_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-09 + Autogenerated on: 2024-03-04 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/alignment_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/alignment_client.py index 0b1c28b82e9..713e21ed980 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/alignment_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/alignment_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-09 + Autogenerated on: 2024-03-04 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/clinical_analysis_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/clinical_analysis_client.py index 1bacad3f8f0..17bd6b2ca38 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/clinical_analysis_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/clinical_analysis_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-09 + Autogenerated on: 2024-03-04 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/cohort_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/cohort_client.py index 2655f146958..0146948677b 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/cohort_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/cohort_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-09 + Autogenerated on: 2024-03-04 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/disease_panel_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/disease_panel_client.py index 2b59b4efd95..46fb2ba4414 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/disease_panel_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/disease_panel_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-09 + Autogenerated on: 2024-03-04 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/family_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/family_client.py index ee8ddc24c2e..a8c8ca3b884 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/family_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/family_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-09 + Autogenerated on: 2024-03-04 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/file_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/file_client.py index e3f8cd55a6b..e65ef171cfb 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/file_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/file_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-09 + Autogenerated on: 2024-03-04 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/ga4gh_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/ga4gh_client.py index d31dcf01037..cc8d7089afc 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/ga4gh_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/ga4gh_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-09 + Autogenerated on: 2024-03-04 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/individual_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/individual_client.py index 627d8f681e7..5179f72d86a 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/individual_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/individual_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-09 + Autogenerated on: 2024-03-04 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/job_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/job_client.py index aca752be6d0..f4d7eb3265b 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/job_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/job_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-09 + Autogenerated on: 2024-03-04 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/meta_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/meta_client.py index 85f164ee647..6d6f3512234 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/meta_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/meta_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-09 + Autogenerated on: 2024-03-04 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/organization_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/organization_client.py index 0d5563f5690..7938fd9bed5 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/organization_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/organization_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-09 + Autogenerated on: 2024-03-04 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/project_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/project_client.py index 7f44d03e33c..4007df86afc 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/project_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/project_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-09 + Autogenerated on: 2024-03-04 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/sample_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/sample_client.py index e0693ddb831..083b2b1827c 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/sample_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/sample_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-09 + Autogenerated on: 2024-03-04 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/study_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/study_client.py index dafb1a21d93..2d4552feb5e 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/study_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/study_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-09 + Autogenerated on: 2024-03-04 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/user_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/user_client.py index 8609c407fa9..44e283b47d0 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/user_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/user_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-09 + Autogenerated on: 2024-03-04 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/variant_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/variant_client.py index 3e1df7fb72d..150d0de143e 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/variant_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/variant_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-09 + Autogenerated on: 2024-03-04 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/variant_operation_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/variant_operation_client.py index 8aa209ab54f..2e97b915706 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/variant_operation_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/variant_operation_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-02-09 + Autogenerated on: 2024-03-04 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/pom.xml b/pom.xml index 12690e2f1c9..4b98a5274f8 100644 --- a/pom.xml +++ b/pom.xml @@ -49,7 +49,6 @@ 3.0.0-SNAPSHOT 5.0.0-SNAPSHOT 3.0.0-SNAPSHOT - 0.2.0 2.14.3 From 311a97f038f6e28302fc68ec1c975f4a866b1fff Mon Sep 17 00:00:00 2001 From: JuanfeSanahuja Date: Tue, 5 Mar 2024 18:10:59 +0100 Subject: [PATCH 81/89] Prepare portpatch #TASK-5618 --- opencga-analysis/pom.xml | 2 +- opencga-app/pom.xml | 2 +- opencga-catalog/pom.xml | 2 +- opencga-client/pom.xml | 2 +- opencga-clinical/pom.xml | 2 +- opencga-core/pom.xml | 2 +- opencga-master/pom.xml | 2 +- opencga-server/pom.xml | 2 +- opencga-storage/opencga-storage-app/pom.xml | 2 +- opencga-storage/opencga-storage-benchmark/pom.xml | 2 +- opencga-storage/opencga-storage-core/pom.xml | 2 +- .../opencga-storage-hadoop/opencga-storage-hadoop-core/pom.xml | 2 +- .../opencga-storage-hadoop-deps-emr6.1/pom.xml | 2 +- .../opencga-storage-hadoop-deps-hdp2.6/pom.xml | 2 +- .../opencga-storage-hadoop-deps-hdp3.1/pom.xml | 2 +- .../opencga-storage-hadoop/opencga-storage-hadoop-deps/pom.xml | 2 +- opencga-storage/opencga-storage-hadoop/pom.xml | 2 +- opencga-storage/opencga-storage-server/pom.xml | 2 +- opencga-storage/pom.xml | 2 +- opencga-test/pom.xml | 2 +- pom.xml | 2 +- 21 files changed, 21 insertions(+), 21 deletions(-) diff --git a/opencga-analysis/pom.xml b/opencga-analysis/pom.xml index 820f1b2b2de..35da9a4f99b 100644 --- a/opencga-analysis/pom.xml +++ b/opencga-analysis/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 2.12.2 + 3.0.0-SNAPSHOT ../pom.xml diff --git a/opencga-app/pom.xml b/opencga-app/pom.xml index 534b11ee520..ffdc451a766 100644 --- a/opencga-app/pom.xml +++ b/opencga-app/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 2.12.2 + 3.0.0-SNAPSHOT ../pom.xml diff --git a/opencga-catalog/pom.xml b/opencga-catalog/pom.xml index 786b6d823a2..633389bd8dd 100644 --- a/opencga-catalog/pom.xml +++ b/opencga-catalog/pom.xml @@ -23,7 +23,7 @@ org.opencb.opencga opencga - 2.12.2 + 3.0.0-SNAPSHOT ../pom.xml diff --git a/opencga-client/pom.xml b/opencga-client/pom.xml index 3941e12a874..e8e9c753dd4 100644 --- a/opencga-client/pom.xml +++ b/opencga-client/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 2.12.2 + 3.0.0-SNAPSHOT ../pom.xml diff --git a/opencga-clinical/pom.xml b/opencga-clinical/pom.xml index 3dae041334b..80cf5324837 100644 --- a/opencga-clinical/pom.xml +++ b/opencga-clinical/pom.xml @@ -5,7 +5,7 @@ org.opencb.opencga opencga - 2.12.2 + 3.0.0-SNAPSHOT ../pom.xml 4.0.0 diff --git a/opencga-core/pom.xml b/opencga-core/pom.xml index 43b0430d220..dd8e2ad01d4 100644 --- a/opencga-core/pom.xml +++ b/opencga-core/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 2.12.2 + 3.0.0-SNAPSHOT ../pom.xml diff --git a/opencga-master/pom.xml b/opencga-master/pom.xml index 229329ed5aa..8152c26eaf4 100644 --- a/opencga-master/pom.xml +++ b/opencga-master/pom.xml @@ -22,7 +22,7 @@ opencga org.opencb.opencga - 2.12.2 + 3.0.0-SNAPSHOT ../pom.xml diff --git a/opencga-server/pom.xml b/opencga-server/pom.xml index 433de25bea4..3f1e4a682b5 100644 --- a/opencga-server/pom.xml +++ b/opencga-server/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 2.12.2 + 3.0.0-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-app/pom.xml b/opencga-storage/opencga-storage-app/pom.xml index fa6b17f8ca9..b20c1d8115b 100644 --- a/opencga-storage/opencga-storage-app/pom.xml +++ b/opencga-storage/opencga-storage-app/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage - 2.12.2 + 3.0.0-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-benchmark/pom.xml b/opencga-storage/opencga-storage-benchmark/pom.xml index d97d69874e4..35e2805dc98 100644 --- a/opencga-storage/opencga-storage-benchmark/pom.xml +++ b/opencga-storage/opencga-storage-benchmark/pom.xml @@ -22,7 +22,7 @@ opencga-storage org.opencb.opencga - 2.12.2 + 3.0.0-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-core/pom.xml b/opencga-storage/opencga-storage-core/pom.xml index 7ac862be877..b9deeb49386 100644 --- a/opencga-storage/opencga-storage-core/pom.xml +++ b/opencga-storage/opencga-storage-core/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage - 2.12.2 + 3.0.0-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/pom.xml index 751872456fe..26f5e773f14 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/pom.xml @@ -23,7 +23,7 @@ org.opencb.opencga opencga-storage-hadoop - 2.12.2 + 3.0.0-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-emr6.1/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-emr6.1/pom.xml index c081a623352..2ef5c79bb53 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-emr6.1/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-emr6.1/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage-hadoop-deps - 2.12.2 + 3.0.0-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp2.6/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp2.6/pom.xml index 53d7727be0a..5a162302e74 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp2.6/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp2.6/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage-hadoop-deps - 2.12.2 + 3.0.0-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp3.1/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp3.1/pom.xml index 185ab57e501..ee2c708c193 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp3.1/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp3.1/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage-hadoop-deps - 2.12.2 + 3.0.0-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/pom.xml index 4fa3b8f8823..9d9c1350046 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/pom.xml @@ -50,7 +50,7 @@ org.opencb.opencga opencga-storage-hadoop - 2.12.2 + 3.0.0-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/pom.xml b/opencga-storage/opencga-storage-hadoop/pom.xml index 8cc7e84c668..cd9556e2d70 100644 --- a/opencga-storage/opencga-storage-hadoop/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/pom.xml @@ -28,7 +28,7 @@ org.opencb.opencga opencga-storage - 2.12.2 + 3.0.0-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-server/pom.xml b/opencga-storage/opencga-storage-server/pom.xml index ffbe5a2fd91..c2d67f4046c 100644 --- a/opencga-storage/opencga-storage-server/pom.xml +++ b/opencga-storage/opencga-storage-server/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage - 2.12.2 + 3.0.0-SNAPSHOT ../pom.xml diff --git a/opencga-storage/pom.xml b/opencga-storage/pom.xml index 690c8e06bdb..221a9b348c6 100644 --- a/opencga-storage/pom.xml +++ b/opencga-storage/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 2.12.2 + 3.0.0-SNAPSHOT ../pom.xml diff --git a/opencga-test/pom.xml b/opencga-test/pom.xml index 9ae266a20bc..131840a3d34 100644 --- a/opencga-test/pom.xml +++ b/opencga-test/pom.xml @@ -24,7 +24,7 @@ org.opencb.opencga opencga - 2.12.2 + 3.0.0-SNAPSHOT ../pom.xml diff --git a/pom.xml b/pom.xml index 3860a3d7ed0..9be0f247109 100644 --- a/pom.xml +++ b/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 2.12.2 + 3.0.0-SNAPSHOT pom OpenCGA From 730e2492698c31c7a2fb41a39292ddf5ce1576ac Mon Sep 17 00:00:00 2001 From: pfurio Date: Wed, 6 Mar 2024 11:05:30 +0100 Subject: [PATCH 82/89] catalog: fix ClinicalAnalysisManager for port patch, #TASK-5618 --- .../managers/ClinicalAnalysisManager.java | 28 +++++++++++-------- .../managers/ClinicalAnalysisManagerTest.java | 28 +++++++++---------- pom.xml | 17 ----------- 3 files changed, 31 insertions(+), 42 deletions(-) diff --git a/opencga-catalog/src/main/java/org/opencb/opencga/catalog/managers/ClinicalAnalysisManager.java b/opencga-catalog/src/main/java/org/opencb/opencga/catalog/managers/ClinicalAnalysisManager.java index 9305e24cc74..5640aeae5ed 100644 --- a/opencga-catalog/src/main/java/org/opencb/opencga/catalog/managers/ClinicalAnalysisManager.java +++ b/opencga-catalog/src/main/java/org/opencb/opencga/catalog/managers/ClinicalAnalysisManager.java @@ -1698,8 +1698,8 @@ private OpenCGAResult update(String organizationId, Study stud public OpenCGAResult updateReport(String studyStr, String clinicalAnalysisId, ClinicalReport report, QueryOptions options, String token) throws CatalogException { - String userId = userManager.getUserId(token); - Study study = studyManager.resolveId(studyStr, userId); + JwtPayload tokenPayload = catalogManager.getUserManager().validateToken(token); + CatalogFqn studyFqn = CatalogFqn.extractFqnFromStudy(studyStr, tokenPayload); String operationId = UuidUtils.generateOpenCgaUuid(UuidUtils.Entity.AUDIT); @@ -1712,10 +1712,16 @@ public OpenCGAResult updateReport(String studyStr, String clinic String caseId = clinicalAnalysisId; String caseUuid = ""; + String organizationId = studyFqn.getOrganizationId(); + String userId = tokenPayload.getUserId(organizationId); + String studyId = studyFqn.getStudyId(); + String studyUuid = studyFqn.getStudyUuid(); try { + Study study = catalogManager.getStudyManager().resolveId(studyFqn, StudyManager.INCLUDE_VARIABLE_SET, tokenPayload); options = ParamUtils.defaultObject(options, QueryOptions::new); - ClinicalAnalysis clinicalAnalysis = internalGet(study.getUid(), clinicalAnalysisId, INCLUDE_CLINICAL_IDS, userId).first(); - authorizationManager.checkClinicalAnalysisPermission(study.getUid(), clinicalAnalysis.getUid(), userId, + ClinicalAnalysis clinicalAnalysis = internalGet(organizationId, study.getUid(), clinicalAnalysisId, INCLUDE_CLINICAL_IDS, + userId).first(); + authorizationManager.checkClinicalAnalysisPermission(organizationId, study.getUid(), clinicalAnalysis.getUid(), userId, ClinicalAnalysisPermissions.WRITE); caseId = clinicalAnalysis.getId(); caseUuid = clinicalAnalysis.getUuid(); @@ -1740,11 +1746,11 @@ public OpenCGAResult updateReport(String studyStr, String clinic updateMap.put(ClinicalAnalysisDBAdaptor.ReportQueryParams.COMMENTS.key(), report.getComments()); } if (CollectionUtils.isNotEmpty(report.getFiles())) { - List files = obtainFiles(study, userId, report.getFiles()); + List files = obtainFiles(organizationId, study, userId, report.getFiles()); updateMap.put(ClinicalAnalysisDBAdaptor.ReportQueryParams.FILES.key(), files, false); } if (CollectionUtils.isNotEmpty(report.getSupportingEvidences())) { - List files = obtainFiles(study, userId, report.getSupportingEvidences()); + List files = obtainFiles(organizationId, study, userId, report.getSupportingEvidences()); updateMap.put(ClinicalAnalysisDBAdaptor.ReportQueryParams.SUPPORTING_EVIDENCES.key(), files, false); } ClinicalAudit clinicalAudit = new ClinicalAudit(userId, ClinicalAudit.Action.UPDATE_CLINICAL_ANALYSIS, @@ -1752,13 +1758,13 @@ public OpenCGAResult updateReport(String studyStr, String clinic // Add custom key to ensure it is properly updated updateMap = new ObjectMap(ClinicalAnalysisDBAdaptor.QueryParams.REPORT_UPDATE.key(), updateMap); - OpenCGAResult update = clinicalDBAdaptor.update(clinicalAnalysis.getUid(), updateMap, null, - Collections.singletonList(clinicalAudit), options); + OpenCGAResult update = getClinicalAnalysisDBAdaptor(organizationId) + .update(clinicalAnalysis.getUid(), updateMap, null, Collections.singletonList(clinicalAudit), options); auditManager.auditUpdate(operationId, userId, Enums.Resource.CLINICAL_ANALYSIS, caseId, caseUuid, study.getId(), study.getUuid(), auditParams, new AuditRecord.Status(AuditRecord.Status.Result.SUCCESS)); if (options.getBoolean(ParamConstants.INCLUDE_RESULT_PARAM)) { // Fetch updated clinical analysis - OpenCGAResult result = clinicalDBAdaptor.get(study.getUid(), + OpenCGAResult result = getClinicalAnalysisDBAdaptor(organizationId).get(study.getUid(), new Query(ClinicalAnalysisDBAdaptor.QueryParams.UID.key(), clinicalAnalysis.getUid()), options, userId); update.setResults(result.getResults()); } @@ -1772,8 +1778,8 @@ public OpenCGAResult updateReport(String studyStr, String clinic update.getNumMatches(), update.getNumInserted(), update.getNumUpdated(), update.getNumDeleted(), update.getNumErrors(), update.getAttributes(), update.getFederationNode()); } catch (CatalogException e) { - auditManager.auditUpdate(operationId, userId, Enums.Resource.CLINICAL_ANALYSIS, caseId, caseUuid, study.getId(), - study.getUuid(), auditParams, new AuditRecord.Status(AuditRecord.Status.Result.ERROR, e.getError())); + auditManager.auditUpdate(operationId, userId, Enums.Resource.CLINICAL_ANALYSIS, caseId, caseUuid, studyId, studyUuid, + auditParams, new AuditRecord.Status(AuditRecord.Status.Result.ERROR, e.getError())); throw e; } } diff --git a/opencga-catalog/src/test/java/org/opencb/opencga/catalog/managers/ClinicalAnalysisManagerTest.java b/opencga-catalog/src/test/java/org/opencb/opencga/catalog/managers/ClinicalAnalysisManagerTest.java index ad1c4cc2f65..cf267f04b71 100644 --- a/opencga-catalog/src/test/java/org/opencb/opencga/catalog/managers/ClinicalAnalysisManagerTest.java +++ b/opencga-catalog/src/test/java/org/opencb/opencga/catalog/managers/ClinicalAnalysisManagerTest.java @@ -452,24 +452,24 @@ public void updateClinicalAnalysisReportWithActions() throws CatalogException { assertNull(case1.getReport()); // Add files - catalogManager.getFileManager().create(STUDY, + catalogManager.getFileManager().create(studyFqn, new FileCreateParams() .setContent(RandomStringUtils.randomAlphanumeric(1000)) .setPath("/data/file1.txt") .setType(File.Type.FILE), - true, sessionIdUser); - catalogManager.getFileManager().create(STUDY, + true, ownerToken); + catalogManager.getFileManager().create(studyFqn, new FileCreateParams() .setContent(RandomStringUtils.randomAlphanumeric(1000)) .setPath("/data/file2.txt") .setType(File.Type.FILE), - true, sessionIdUser); - catalogManager.getFileManager().create(STUDY, + true, ownerToken); + catalogManager.getFileManager().create(studyFqn, new FileCreateParams() .setContent(RandomStringUtils.randomAlphanumeric(1000)) .setPath("/data/file3.txt") .setType(File.Type.FILE), - true, sessionIdUser); + true, ownerToken); ClinicalReport report = new ClinicalReport("title", "overview", new ClinicalDiscussion("me", TimeUtils.getTime(), "text"), "logo", "me", "signature", TimeUtils.getTime(), Arrays.asList( @@ -478,8 +478,8 @@ public void updateClinicalAnalysisReportWithActions() throws CatalogException { ), Collections.singletonList(new File().setId("data:file1.txt")), Collections.singletonList(new File().setId("data:file2.txt"))); - OpenCGAResult result = catalogManager.getClinicalAnalysisManager().update(STUDY, case1.getId(), - new ClinicalAnalysisUpdateParams().setReport(report), INCLUDE_RESULT, sessionIdUser); + OpenCGAResult result = catalogManager.getClinicalAnalysisManager().update(studyFqn, case1.getId(), + new ClinicalAnalysisUpdateParams().setReport(report), INCLUDE_RESULT, ownerToken); assertNotNull(result.first().getReport()); assertEquals(report.getTitle(), result.first().getReport().getTitle()); assertEquals(report.getOverview(), result.first().getReport().getOverview()); @@ -508,8 +508,8 @@ public void updateClinicalAnalysisReportWithActions() throws CatalogException { new File().setId("data:file3.txt") )) .setSupportingEvidences(Collections.singletonList(new File().setId("data:file1.txt"))); - ClinicalReport reportResult = catalogManager.getClinicalAnalysisManager().updateReport(STUDY, case1.getId(), reportToUpdate, - options, sessionIdUser).first(); + ClinicalReport reportResult = catalogManager.getClinicalAnalysisManager().updateReport(studyFqn, case1.getId(), reportToUpdate, + options, ownerToken).first(); // Check comments assertEquals(3, reportResult.getComments().size()); assertEquals("comment1", reportResult.getComments().get(0).getMessage()); @@ -542,8 +542,8 @@ public void updateClinicalAnalysisReportWithActions() throws CatalogException { new File().setId("data:file3.txt") )); ClinicalComment pendingComment = reportResult.getComments().get(2); - reportResult = catalogManager.getClinicalAnalysisManager().updateReport(STUDY, case1.getId(), reportToUpdate, - options, sessionIdUser).first(); + reportResult = catalogManager.getClinicalAnalysisManager().updateReport(studyFqn, case1.getId(), reportToUpdate, + options, ownerToken).first(); // Check comments assertEquals(1, reportResult.getComments().size()); assertEquals(pendingComment.getMessage(), reportResult.getComments().get(0).getMessage()); @@ -574,8 +574,8 @@ public void updateClinicalAnalysisReportWithActions() throws CatalogException { .setSupportingEvidences(Collections.singletonList( new File().setId("data:file2.txt") )); - reportResult = catalogManager.getClinicalAnalysisManager().updateReport(STUDY, case1.getId(), reportToUpdate, - options, sessionIdUser).first(); + reportResult = catalogManager.getClinicalAnalysisManager().updateReport(studyFqn, case1.getId(), reportToUpdate, + options, ownerToken).first(); // Check comments assertEquals(1, reportResult.getComments().size()); assertEquals("comment3", reportResult.getComments().get(0).getMessage()); diff --git a/pom.xml b/pom.xml index b6b7c35814f..7d49e44a0c7 100644 --- a/pom.xml +++ b/pom.xml @@ -43,21 +43,12 @@ -<<<<<<< HEAD - 2.12.2 - 2.12.2 - 5.8.2 - 2.12.1 - 4.12.0 - 2.12.2 -======= 3.0.0_dev 3.0.0_dev 6.0.0-SNAPSHOT 3.0.0-SNAPSHOT 5.0.0-SNAPSHOT 3.0.0-SNAPSHOT ->>>>>>> develop 0.2.0 2.14.3 @@ -1122,14 +1113,6 @@ slf4j-simple -<<<<<<< HEAD - - - org.glassfish.jersey.media - jersey-media-json-jackson - 2.30.1 -======= ->>>>>>> develop com.esotericsoftware.kryo From 1ed3c35a9e10dc5bf5e1d785fce9d8f08d995032 Mon Sep 17 00:00:00 2001 From: JuanfeSanahuja Date: Wed, 6 Mar 2024 12:27:07 +0100 Subject: [PATCH 83/89] Port Patch 1.10.2 -> 2.0.0 #TASK-5618 --- .../app/cli/main/OpenCgaCompleter.java | 12 +--- .../app/cli/main/OpencgaCliOptionsParser.java | 6 +- .../AnalysisClinicalCommandOptions.java | 2 +- opencga-client/src/main/R/R/Admin-methods.R | 6 +- .../src/main/R/R/Alignment-methods.R | 6 +- opencga-client/src/main/R/R/AllGenerics.R | 56 ++++--------------- .../src/main/R/R/Clinical-methods.R | 14 +---- opencga-client/src/main/R/R/Cohort-methods.R | 12 +--- opencga-client/src/main/R/R/Family-methods.R | 12 +--- opencga-client/src/main/R/R/File-methods.R | 12 +--- opencga-client/src/main/R/R/GA4GH-methods.R | 8 +-- .../src/main/R/R/Individual-methods.R | 12 +--- opencga-client/src/main/R/R/Job-methods.R | 12 +--- opencga-client/src/main/R/R/Meta-methods.R | 6 +- .../src/main/R/R/Operation-methods.R | 6 +- .../src/main/R/R/Organization-methods.R | 2 +- opencga-client/src/main/R/R/Panel-methods.R | 6 +- opencga-client/src/main/R/R/Project-methods.R | 8 +-- opencga-client/src/main/R/R/Sample-methods.R | 12 +--- opencga-client/src/main/R/R/Study-methods.R | 12 +--- opencga-client/src/main/R/R/User-methods.R | 10 +--- opencga-client/src/main/R/R/Variant-methods.R | 6 +- .../client/rest/clients/AdminClient.java | 10 +--- .../client/rest/clients/AlignmentClient.java | 10 +--- .../rest/clients/ClinicalAnalysisClient.java | 12 +--- .../client/rest/clients/CohortClient.java | 10 +--- .../rest/clients/DiseasePanelClient.java | 10 +--- .../client/rest/clients/FamilyClient.java | 10 +--- .../client/rest/clients/FileClient.java | 10 +--- .../client/rest/clients/GA4GHClient.java | 10 +--- .../client/rest/clients/IndividualClient.java | 10 +--- .../client/rest/clients/JobClient.java | 10 +--- .../client/rest/clients/MetaClient.java | 10 +--- .../rest/clients/OrganizationClient.java | 2 +- .../client/rest/clients/ProjectClient.java | 10 +--- .../client/rest/clients/SampleClient.java | 10 +--- .../client/rest/clients/StudyClient.java | 10 +--- .../client/rest/clients/UserClient.java | 10 +--- .../client/rest/clients/VariantClient.java | 10 +--- .../rest/clients/VariantOperationClient.java | 10 +--- opencga-client/src/main/javascript/Admin.js | 6 +- .../src/main/javascript/Alignment.js | 6 +- .../src/main/javascript/ClinicalAnalysis.js | 8 +-- opencga-client/src/main/javascript/Cohort.js | 6 +- .../src/main/javascript/DiseasePanel.js | 6 +- opencga-client/src/main/javascript/Family.js | 6 +- opencga-client/src/main/javascript/File.js | 6 +- opencga-client/src/main/javascript/GA4GH.js | 6 +- .../src/main/javascript/Individual.js | 6 +- opencga-client/src/main/javascript/Job.js | 6 +- opencga-client/src/main/javascript/Meta.js | 6 +- .../src/main/javascript/Organization.js | 2 +- opencga-client/src/main/javascript/Project.js | 6 +- opencga-client/src/main/javascript/Sample.js | 6 +- opencga-client/src/main/javascript/Study.js | 6 +- opencga-client/src/main/javascript/User.js | 6 +- opencga-client/src/main/javascript/Variant.js | 6 +- .../src/main/javascript/VariantOperation.js | 6 +- .../pyopencga/rest_clients/admin_client.py | 10 +--- .../rest_clients/alignment_client.py | 10 +--- .../rest_clients/clinical_analysis_client.py | 14 +---- .../pyopencga/rest_clients/cohort_client.py | 10 +--- .../rest_clients/disease_panel_client.py | 10 +--- .../pyopencga/rest_clients/family_client.py | 10 +--- .../pyopencga/rest_clients/file_client.py | 10 +--- .../pyopencga/rest_clients/ga4gh_client.py | 10 +--- .../rest_clients/individual_client.py | 10 +--- .../pyopencga/rest_clients/job_client.py | 10 +--- .../pyopencga/rest_clients/meta_client.py | 10 +--- .../rest_clients/organization_client.py | 2 +- .../pyopencga/rest_clients/project_client.py | 10 +--- .../pyopencga/rest_clients/sample_client.py | 10 +--- .../pyopencga/rest_clients/study_client.py | 10 +--- .../pyopencga/rest_clients/user_client.py | 10 +--- .../pyopencga/rest_clients/variant_client.py | 10 +--- .../rest_clients/variant_operation_client.py | 10 +--- 76 files changed, 101 insertions(+), 593 deletions(-) diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpenCgaCompleter.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpenCgaCompleter.java index 95204c373d9..0f009f6ab08 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpenCgaCompleter.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpenCgaCompleter.java @@ -1,9 +1,5 @@ /* -<<<<<<< HEAD -* Copyright 2015-2024-02-02 OpenCB -======= -* Copyright 2015-2024-03-04 OpenCB ->>>>>>> develop +* Copyright 2015-2024-03-06 OpenCB * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -64,11 +60,7 @@ public abstract class OpenCgaCompleter implements Completer { .map(Candidate::new) .collect(toList()); -<<<<<<< HEAD - private List clinicalList = asList( "acl-update","annotation-sets-load","clinical-configuration-update","create","distinct","interpretation-distinct","interpretation-search","interpretation-info","interpreter-cancer-tiering-run","interpreter-exomiser-run","interpreter-team-run","interpreter-tiering-run","interpreter-zetta-run","rga-aggregation-stats","rga-gene-query","rga-gene-summary","rga-index-run","rga-individual-query","rga-individual-summary","rga-variant-query","rga-variant-summary","search","variant-query","acl","delete","update","annotation-sets-annotations-update","info","interpretation-create","interpretation-clear","interpretation-delete","interpretation-revert","interpretation-update","report-update") -======= - private List clinicalList = asList( "acl-update","annotation-sets-load","clinical-configuration-update","create","distinct","interpretation-distinct","interpretation-search","interpretation-info","interpreter-cancer-tiering-run","interpreter-exomiser-run","interpreter-team-run","interpreter-tiering-run","interpreter-zetta-run","load","rga-aggregation-stats","rga-gene-query","rga-gene-summary","rga-index-run","rga-individual-query","rga-individual-summary","rga-variant-query","rga-variant-summary","search","variant-query","acl","delete","update","annotation-sets-annotations-update","info","interpretation-create","interpretation-clear","interpretation-delete","interpretation-revert","interpretation-update") ->>>>>>> develop + private List clinicalList = asList( "acl-update","annotation-sets-load","clinical-configuration-update","create","distinct","interpretation-distinct","interpretation-search","interpretation-info","interpreter-cancer-tiering-run","interpreter-exomiser-run","interpreter-team-run","interpreter-tiering-run","interpreter-zetta-run","load","rga-aggregation-stats","rga-gene-query","rga-gene-summary","rga-index-run","rga-individual-query","rga-individual-summary","rga-variant-query","rga-variant-summary","search","variant-query","acl","delete","update","annotation-sets-annotations-update","info","interpretation-create","interpretation-clear","interpretation-delete","interpretation-revert","interpretation-update","report-update") .stream() .map(Candidate::new) .collect(toList()); diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpencgaCliOptionsParser.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpencgaCliOptionsParser.java index abcd6a4bff6..cde7fcb1c81 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpencgaCliOptionsParser.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/OpencgaCliOptionsParser.java @@ -1,9 +1,5 @@ /* -<<<<<<< HEAD -* Copyright 2015-2024-02-02 OpenCB -======= -* Copyright 2015-2024-03-04 OpenCB ->>>>>>> develop +* Copyright 2015-2024-03-06 OpenCB * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/AnalysisClinicalCommandOptions.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/AnalysisClinicalCommandOptions.java index c340c24504e..fcfe1679c19 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/AnalysisClinicalCommandOptions.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/options/AnalysisClinicalCommandOptions.java @@ -2331,7 +2331,7 @@ public class UpdateReportCommandOptions { @Parameter(names = {"--clinical-analysis"}, description = "Clinical analysis ID", required = true, arity = 1) public String clinicalAnalysis; - @Parameter(names = {"--study", "-s"}, description = "Study [[user@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) + @Parameter(names = {"--study", "-s"}, description = "Study [[organization@]project:]study where study and project can be either the ID or UUID", required = false, arity = 1) public String study; @Parameter(names = {"--supporting-evidences-action"}, description = "Action to be performed if the array of supporting evidences is being updated.", required = false, arity = 1) diff --git a/opencga-client/src/main/R/R/Admin-methods.R b/opencga-client/src/main/R/R/Admin-methods.R index 90edfaea7d0..43589f23862 100644 --- a/opencga-client/src/main/R/R/Admin-methods.R +++ b/opencga-client/src/main/R/R/Admin-methods.R @@ -2,11 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -<<<<<<< HEAD -# Autogenerated on: 2024-02-02 -======= -# Autogenerated on: 2024-03-04 ->>>>>>> develop +# Autogenerated on: 2024-03-06 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/Alignment-methods.R b/opencga-client/src/main/R/R/Alignment-methods.R index 432d05b886b..a4737b602d6 100644 --- a/opencga-client/src/main/R/R/Alignment-methods.R +++ b/opencga-client/src/main/R/R/Alignment-methods.R @@ -2,11 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -<<<<<<< HEAD -# Autogenerated on: 2024-02-02 -======= -# Autogenerated on: 2024-03-04 ->>>>>>> develop +# Autogenerated on: 2024-03-06 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/AllGenerics.R b/opencga-client/src/main/R/R/AllGenerics.R index 35d5ee51ff0..46e1629cd2e 100644 --- a/opencga-client/src/main/R/R/AllGenerics.R +++ b/opencga-client/src/main/R/R/AllGenerics.R @@ -5,79 +5,47 @@ setGeneric("organizationClient", function(OpencgaR, organization, endpointName, # ############################################################################## ## UserClient -<<<<<<< HEAD -setGeneric("userClient", function(OpencgaR, user, users, filterId, endpointName, params=NULL, ...) -======= setGeneric("userClient", function(OpencgaR, user, filterId, users, endpointName, params=NULL, ...) ->>>>>>> develop standardGeneric("userClient")) # ############################################################################## ## ProjectClient -setGeneric("projectClient", function(OpencgaR, project, projects, endpointName, params=NULL, ...) +setGeneric("projectClient", function(OpencgaR, projects, project, endpointName, params=NULL, ...) standardGeneric("projectClient")) # ############################################################################## ## StudyClient -<<<<<<< HEAD -setGeneric("studyClient", function(OpencgaR, members, study, group, variableSet, templateId, studies, endpointName, params=NULL, ...) -======= -setGeneric("studyClient", function(OpencgaR, group, members, templateId, studies, study, variableSet, endpointName, params=NULL, ...) ->>>>>>> develop +setGeneric("studyClient", function(OpencgaR, group, variableSet, studies, templateId, study, members, endpointName, params=NULL, ...) standardGeneric("studyClient")) # ############################################################################## ## FileClient -<<<<<<< HEAD -setGeneric("fileClient", function(OpencgaR, members, folder, file, annotationSet, files, endpointName, params=NULL, ...) -======= -setGeneric("fileClient", function(OpencgaR, file, annotationSet, members, files, folder, endpointName, params=NULL, ...) ->>>>>>> develop +setGeneric("fileClient", function(OpencgaR, files, folder, file, members, annotationSet, endpointName, params=NULL, ...) standardGeneric("fileClient")) # ############################################################################## ## JobClient -<<<<<<< HEAD -setGeneric("jobClient", function(OpencgaR, jobs, members, job, endpointName, params=NULL, ...) -======= -setGeneric("jobClient", function(OpencgaR, job, members, jobs, endpointName, params=NULL, ...) ->>>>>>> develop +setGeneric("jobClient", function(OpencgaR, jobs, job, members, endpointName, params=NULL, ...) standardGeneric("jobClient")) # ############################################################################## ## SampleClient -<<<<<<< HEAD -setGeneric("sampleClient", function(OpencgaR, annotationSet, members, sample, samples, endpointName, params=NULL, ...) -======= -setGeneric("sampleClient", function(OpencgaR, members, annotationSet, sample, samples, endpointName, params=NULL, ...) ->>>>>>> develop +setGeneric("sampleClient", function(OpencgaR, annotationSet, sample, samples, members, endpointName, params=NULL, ...) standardGeneric("sampleClient")) # ############################################################################## ## IndividualClient -<<<<<<< HEAD -setGeneric("individualClient", function(OpencgaR, individual, annotationSet, members, individuals, endpointName, params=NULL, ...) -======= -setGeneric("individualClient", function(OpencgaR, individual, members, annotationSet, individuals, endpointName, params=NULL, ...) ->>>>>>> develop +setGeneric("individualClient", function(OpencgaR, individuals, individual, annotationSet, members, endpointName, params=NULL, ...) standardGeneric("individualClient")) # ############################################################################## ## FamilyClient -<<<<<<< HEAD -setGeneric("familyClient", function(OpencgaR, families, annotationSet, members, family, endpointName, params=NULL, ...) -======= -setGeneric("familyClient", function(OpencgaR, members, annotationSet, families, family, endpointName, params=NULL, ...) ->>>>>>> develop +setGeneric("familyClient", function(OpencgaR, annotationSet, families, family, members, endpointName, params=NULL, ...) standardGeneric("familyClient")) # ############################################################################## ## CohortClient -<<<<<<< HEAD -setGeneric("cohortClient", function(OpencgaR, annotationSet, members, cohort, cohorts, endpointName, params=NULL, ...) -======= -setGeneric("cohortClient", function(OpencgaR, cohort, members, annotationSet, cohorts, endpointName, params=NULL, ...) ->>>>>>> develop +setGeneric("cohortClient", function(OpencgaR, annotationSet, cohort, cohorts, members, endpointName, params=NULL, ...) standardGeneric("cohortClient")) # ############################################################################## @@ -97,11 +65,7 @@ setGeneric("variantClient", function(OpencgaR, endpointName, params=NULL, ...) # ############################################################################## ## ClinicalClient -<<<<<<< HEAD -setGeneric("clinicalClient", function(OpencgaR, interpretations, members, interpretation, clinicalAnalysis, annotationSet, clinicalAnalyses, endpointName, params=NULL, ...) -======= -setGeneric("clinicalClient", function(OpencgaR, annotationSet, clinicalAnalysis, interpretations, members, clinicalAnalyses, interpretation, endpointName, params=NULL, ...) ->>>>>>> develop +setGeneric("clinicalClient", function(OpencgaR, interpretation, clinicalAnalyses, interpretations, members, annotationSet, clinicalAnalysis, endpointName, params=NULL, ...) standardGeneric("clinicalClient")) # ############################################################################## @@ -116,7 +80,7 @@ setGeneric("metaClient", function(OpencgaR, endpointName, params=NULL, ...) # ############################################################################## ## GA4GHClient -setGeneric("ga4ghClient", function(OpencgaR, file, study, endpointName, params=NULL, ...) +setGeneric("ga4ghClient", function(OpencgaR, study, file, endpointName, params=NULL, ...) standardGeneric("ga4ghClient")) # ############################################################################## diff --git a/opencga-client/src/main/R/R/Clinical-methods.R b/opencga-client/src/main/R/R/Clinical-methods.R index e7f11ac4f23..344b137d60b 100644 --- a/opencga-client/src/main/R/R/Clinical-methods.R +++ b/opencga-client/src/main/R/R/Clinical-methods.R @@ -2,11 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -<<<<<<< HEAD -# Autogenerated on: 2024-02-02 -======= -# Autogenerated on: 2024-03-04 ->>>>>>> develop +# Autogenerated on: 2024-03-06 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -66,11 +62,7 @@ #' [*]: Required parameter #' @export -<<<<<<< HEAD -setMethod("clinicalClient", "OpencgaR", function(OpencgaR, interpretations, members, interpretation, clinicalAnalysis, annotationSet, clinicalAnalyses, endpointName, params=NULL, ...) { -======= -setMethod("clinicalClient", "OpencgaR", function(OpencgaR, annotationSet, clinicalAnalysis, interpretations, members, clinicalAnalyses, interpretation, endpointName, params=NULL, ...) { ->>>>>>> develop +setMethod("clinicalClient", "OpencgaR", function(OpencgaR, interpretation, clinicalAnalyses, interpretations, members, annotationSet, clinicalAnalysis, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/analysis/clinical/acl/{members}/update: @@ -742,7 +734,7 @@ setMethod("clinicalClient", "OpencgaR", function(OpencgaR, annotationSet, clinic #' @param include Fields included in the response, whole JSON path must be provided. #' @param exclude Fields excluded in the response, whole JSON path must be provided. #' @param clinicalAnalysis Clinical analysis ID. - #' @param study Study [[user@]project:]study where study and project can be either the ID or UUID. + #' @param study Study [[organization@]project:]study where study and project can be either the ID or UUID. #' @param commentsAction Action to be performed if the array of comments is being updated. Allowed values: ['ADD REMOVE REPLACE'] #' @param supportingEvidencesAction Action to be performed if the array of supporting evidences is being updated. Allowed values: ['ADD SET REMOVE'] #' @param filesAction Action to be performed if the array of files is being updated. Allowed values: ['ADD SET REMOVE'] diff --git a/opencga-client/src/main/R/R/Cohort-methods.R b/opencga-client/src/main/R/R/Cohort-methods.R index 7ebcab3a671..3ce27c32038 100644 --- a/opencga-client/src/main/R/R/Cohort-methods.R +++ b/opencga-client/src/main/R/R/Cohort-methods.R @@ -2,11 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -<<<<<<< HEAD -# Autogenerated on: 2024-02-02 -======= -# Autogenerated on: 2024-03-04 ->>>>>>> develop +# Autogenerated on: 2024-03-06 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -42,11 +38,7 @@ #' [*]: Required parameter #' @export -<<<<<<< HEAD -setMethod("cohortClient", "OpencgaR", function(OpencgaR, annotationSet, members, cohort, cohorts, endpointName, params=NULL, ...) { -======= -setMethod("cohortClient", "OpencgaR", function(OpencgaR, cohort, members, annotationSet, cohorts, endpointName, params=NULL, ...) { ->>>>>>> develop +setMethod("cohortClient", "OpencgaR", function(OpencgaR, annotationSet, cohort, cohorts, members, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/cohorts/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/Family-methods.R b/opencga-client/src/main/R/R/Family-methods.R index 23f63c466b0..dbcce8bb0f4 100644 --- a/opencga-client/src/main/R/R/Family-methods.R +++ b/opencga-client/src/main/R/R/Family-methods.R @@ -2,11 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -<<<<<<< HEAD -# Autogenerated on: 2024-02-02 -======= -# Autogenerated on: 2024-03-04 ->>>>>>> develop +# Autogenerated on: 2024-03-06 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -41,11 +37,7 @@ #' [*]: Required parameter #' @export -<<<<<<< HEAD -setMethod("familyClient", "OpencgaR", function(OpencgaR, families, annotationSet, members, family, endpointName, params=NULL, ...) { -======= -setMethod("familyClient", "OpencgaR", function(OpencgaR, members, annotationSet, families, family, endpointName, params=NULL, ...) { ->>>>>>> develop +setMethod("familyClient", "OpencgaR", function(OpencgaR, annotationSet, families, family, members, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/families/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/File-methods.R b/opencga-client/src/main/R/R/File-methods.R index b615307621d..eef565b95bd 100644 --- a/opencga-client/src/main/R/R/File-methods.R +++ b/opencga-client/src/main/R/R/File-methods.R @@ -2,11 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -<<<<<<< HEAD -# Autogenerated on: 2024-02-02 -======= -# Autogenerated on: 2024-03-04 ->>>>>>> develop +# Autogenerated on: 2024-03-06 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -57,11 +53,7 @@ #' [*]: Required parameter #' @export -<<<<<<< HEAD -setMethod("fileClient", "OpencgaR", function(OpencgaR, members, folder, file, annotationSet, files, endpointName, params=NULL, ...) { -======= -setMethod("fileClient", "OpencgaR", function(OpencgaR, file, annotationSet, members, files, folder, endpointName, params=NULL, ...) { ->>>>>>> develop +setMethod("fileClient", "OpencgaR", function(OpencgaR, files, folder, file, members, annotationSet, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/files/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/GA4GH-methods.R b/opencga-client/src/main/R/R/GA4GH-methods.R index f7385d8f7f7..17d147c2798 100644 --- a/opencga-client/src/main/R/R/GA4GH-methods.R +++ b/opencga-client/src/main/R/R/GA4GH-methods.R @@ -2,11 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -<<<<<<< HEAD -# Autogenerated on: 2024-02-02 -======= -# Autogenerated on: 2024-03-04 ->>>>>>> develop +# Autogenerated on: 2024-03-06 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -35,7 +31,7 @@ #' [*]: Required parameter #' @export -setMethod("ga4ghClient", "OpencgaR", function(OpencgaR, file, study, endpointName, params=NULL, ...) { +setMethod("ga4ghClient", "OpencgaR", function(OpencgaR, study, file, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/ga4gh/reads/search: diff --git a/opencga-client/src/main/R/R/Individual-methods.R b/opencga-client/src/main/R/R/Individual-methods.R index e9c5d054615..a30c8ceea99 100644 --- a/opencga-client/src/main/R/R/Individual-methods.R +++ b/opencga-client/src/main/R/R/Individual-methods.R @@ -2,11 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -<<<<<<< HEAD -# Autogenerated on: 2024-02-02 -======= -# Autogenerated on: 2024-03-04 ->>>>>>> develop +# Autogenerated on: 2024-03-06 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -42,11 +38,7 @@ #' [*]: Required parameter #' @export -<<<<<<< HEAD -setMethod("individualClient", "OpencgaR", function(OpencgaR, individual, annotationSet, members, individuals, endpointName, params=NULL, ...) { -======= -setMethod("individualClient", "OpencgaR", function(OpencgaR, individual, members, annotationSet, individuals, endpointName, params=NULL, ...) { ->>>>>>> develop +setMethod("individualClient", "OpencgaR", function(OpencgaR, individuals, individual, annotationSet, members, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/individuals/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/Job-methods.R b/opencga-client/src/main/R/R/Job-methods.R index ef04dc561c1..160c20df412 100644 --- a/opencga-client/src/main/R/R/Job-methods.R +++ b/opencga-client/src/main/R/R/Job-methods.R @@ -2,11 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -<<<<<<< HEAD -# Autogenerated on: 2024-02-02 -======= -# Autogenerated on: 2024-03-04 ->>>>>>> develop +# Autogenerated on: 2024-03-06 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -43,11 +39,7 @@ #' [*]: Required parameter #' @export -<<<<<<< HEAD -setMethod("jobClient", "OpencgaR", function(OpencgaR, jobs, members, job, endpointName, params=NULL, ...) { -======= -setMethod("jobClient", "OpencgaR", function(OpencgaR, job, members, jobs, endpointName, params=NULL, ...) { ->>>>>>> develop +setMethod("jobClient", "OpencgaR", function(OpencgaR, jobs, job, members, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/jobs/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/Meta-methods.R b/opencga-client/src/main/R/R/Meta-methods.R index b1c19871baa..fcc109a5112 100644 --- a/opencga-client/src/main/R/R/Meta-methods.R +++ b/opencga-client/src/main/R/R/Meta-methods.R @@ -2,11 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -<<<<<<< HEAD -# Autogenerated on: 2024-02-02 -======= -# Autogenerated on: 2024-03-04 ->>>>>>> develop +# Autogenerated on: 2024-03-06 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/Operation-methods.R b/opencga-client/src/main/R/R/Operation-methods.R index f718b651ed5..c737760155a 100644 --- a/opencga-client/src/main/R/R/Operation-methods.R +++ b/opencga-client/src/main/R/R/Operation-methods.R @@ -2,11 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -<<<<<<< HEAD -# Autogenerated on: 2024-02-02 -======= -# Autogenerated on: 2024-03-04 ->>>>>>> develop +# Autogenerated on: 2024-03-06 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/Organization-methods.R b/opencga-client/src/main/R/R/Organization-methods.R index 016e3650dab..1b95ae54c73 100644 --- a/opencga-client/src/main/R/R/Organization-methods.R +++ b/opencga-client/src/main/R/R/Organization-methods.R @@ -2,7 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -# Autogenerated on: 2024-03-04 +# Autogenerated on: 2024-03-06 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/Panel-methods.R b/opencga-client/src/main/R/R/Panel-methods.R index 79a6a3cb118..4cd2e9a9026 100644 --- a/opencga-client/src/main/R/R/Panel-methods.R +++ b/opencga-client/src/main/R/R/Panel-methods.R @@ -2,11 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -<<<<<<< HEAD -# Autogenerated on: 2024-02-02 -======= -# Autogenerated on: 2024-03-04 ->>>>>>> develop +# Autogenerated on: 2024-03-06 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/R/R/Project-methods.R b/opencga-client/src/main/R/R/Project-methods.R index ace5102b4cd..893fbbb0b03 100644 --- a/opencga-client/src/main/R/R/Project-methods.R +++ b/opencga-client/src/main/R/R/Project-methods.R @@ -2,11 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -<<<<<<< HEAD -# Autogenerated on: 2024-02-02 -======= -# Autogenerated on: 2024-03-04 ->>>>>>> develop +# Autogenerated on: 2024-03-06 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -37,7 +33,7 @@ #' [*]: Required parameter #' @export -setMethod("projectClient", "OpencgaR", function(OpencgaR, project, projects, endpointName, params=NULL, ...) { +setMethod("projectClient", "OpencgaR", function(OpencgaR, projects, project, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/projects/create: diff --git a/opencga-client/src/main/R/R/Sample-methods.R b/opencga-client/src/main/R/R/Sample-methods.R index b8d22ef98a8..b224bd8f5bb 100644 --- a/opencga-client/src/main/R/R/Sample-methods.R +++ b/opencga-client/src/main/R/R/Sample-methods.R @@ -2,11 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -<<<<<<< HEAD -# Autogenerated on: 2024-02-02 -======= -# Autogenerated on: 2024-03-04 ->>>>>>> develop +# Autogenerated on: 2024-03-06 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -42,11 +38,7 @@ #' [*]: Required parameter #' @export -<<<<<<< HEAD -setMethod("sampleClient", "OpencgaR", function(OpencgaR, annotationSet, members, sample, samples, endpointName, params=NULL, ...) { -======= -setMethod("sampleClient", "OpencgaR", function(OpencgaR, members, annotationSet, sample, samples, endpointName, params=NULL, ...) { ->>>>>>> develop +setMethod("sampleClient", "OpencgaR", function(OpencgaR, annotationSet, sample, samples, members, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/samples/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/Study-methods.R b/opencga-client/src/main/R/R/Study-methods.R index b255a1f67c5..afd4f0b0ac8 100644 --- a/opencga-client/src/main/R/R/Study-methods.R +++ b/opencga-client/src/main/R/R/Study-methods.R @@ -2,11 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -<<<<<<< HEAD -# Autogenerated on: 2024-02-02 -======= -# Autogenerated on: 2024-03-04 ->>>>>>> develop +# Autogenerated on: 2024-03-06 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -49,11 +45,7 @@ #' [*]: Required parameter #' @export -<<<<<<< HEAD -setMethod("studyClient", "OpencgaR", function(OpencgaR, members, study, group, variableSet, templateId, studies, endpointName, params=NULL, ...) { -======= -setMethod("studyClient", "OpencgaR", function(OpencgaR, group, members, templateId, studies, study, variableSet, endpointName, params=NULL, ...) { ->>>>>>> develop +setMethod("studyClient", "OpencgaR", function(OpencgaR, group, variableSet, studies, templateId, study, members, endpointName, params=NULL, ...) { switch(endpointName, #' @section Endpoint /{apiVersion}/studies/acl/{members}/update: diff --git a/opencga-client/src/main/R/R/User-methods.R b/opencga-client/src/main/R/R/User-methods.R index 41adcfb5d15..25617309de6 100644 --- a/opencga-client/src/main/R/R/User-methods.R +++ b/opencga-client/src/main/R/R/User-methods.R @@ -2,11 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -<<<<<<< HEAD -# Autogenerated on: 2024-02-02 -======= -# Autogenerated on: 2024-03-04 ->>>>>>> develop +# Autogenerated on: 2024-03-06 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. @@ -43,11 +39,7 @@ #' [*]: Required parameter #' @export -<<<<<<< HEAD -setMethod("userClient", "OpencgaR", function(OpencgaR, user, users, filterId, endpointName, params=NULL, ...) { -======= setMethod("userClient", "OpencgaR", function(OpencgaR, user, filterId, users, endpointName, params=NULL, ...) { ->>>>>>> develop switch(endpointName, #' @section Endpoint /{apiVersion}/users/anonymous: diff --git a/opencga-client/src/main/R/R/Variant-methods.R b/opencga-client/src/main/R/R/Variant-methods.R index b0cefa25eeb..264763867fa 100644 --- a/opencga-client/src/main/R/R/Variant-methods.R +++ b/opencga-client/src/main/R/R/Variant-methods.R @@ -2,11 +2,7 @@ # WARNING: AUTOGENERATED CODE # # This code was generated by a tool. -<<<<<<< HEAD -# Autogenerated on: 2024-02-02 -======= -# Autogenerated on: 2024-03-04 ->>>>>>> develop +# Autogenerated on: 2024-03-06 # # Manual changes to this file may cause unexpected behavior in your application. # Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AdminClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AdminClient.java index 1d0b8fd2c6d..cece90a3732 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AdminClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AdminClient.java @@ -37,11 +37,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -<<<<<<< HEAD -* Autogenerated on: 2024-02-02 -======= -* Autogenerated on: 2024-03-04 ->>>>>>> develop +* Autogenerated on: 2024-03-06 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -50,11 +46,7 @@ /** * This class contains methods for the Admin webservices. -<<<<<<< HEAD - * Client version: 2.12.2-SNAPSHOT -======= * Client version: 3.0.0-SNAPSHOT ->>>>>>> develop * PATH: admin */ public class AdminClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AlignmentClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AlignmentClient.java index 0d89e25e107..14eea5a5950 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AlignmentClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/AlignmentClient.java @@ -40,11 +40,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -<<<<<<< HEAD -* Autogenerated on: 2024-02-02 -======= -* Autogenerated on: 2024-03-04 ->>>>>>> develop +* Autogenerated on: 2024-03-06 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -53,11 +49,7 @@ /** * This class contains methods for the Alignment webservices. -<<<<<<< HEAD - * Client version: 2.12.2-SNAPSHOT -======= * Client version: 3.0.0-SNAPSHOT ->>>>>>> develop * PATH: analysis/alignment */ public class AlignmentClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ClinicalAnalysisClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ClinicalAnalysisClient.java index 82cd13f3b1b..1b7b219afe9 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ClinicalAnalysisClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ClinicalAnalysisClient.java @@ -55,11 +55,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -<<<<<<< HEAD -* Autogenerated on: 2024-02-02 -======= -* Autogenerated on: 2024-03-04 ->>>>>>> develop +* Autogenerated on: 2024-03-06 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -68,11 +64,7 @@ /** * This class contains methods for the ClinicalAnalysis webservices. -<<<<<<< HEAD - * Client version: 2.12.2-SNAPSHOT -======= * Client version: 3.0.0-SNAPSHOT ->>>>>>> develop * PATH: analysis/clinical */ public class ClinicalAnalysisClient extends AbstractParentClient { @@ -1014,7 +1006,7 @@ public RestResponse updateInterpretation(String clinicalAnalysis * @param params Map containing any of the following optional parameters. * include: Fields included in the response, whole JSON path must be provided. * exclude: Fields excluded in the response, whole JSON path must be provided. - * study: Study [[user@]project:]study where study and project can be either the ID or UUID. + * study: Study [[organization@]project:]study where study and project can be either the ID or UUID. * commentsAction: Action to be performed if the array of comments is being updated. * supportingEvidencesAction: Action to be performed if the array of supporting evidences is being updated. * filesAction: Action to be performed if the array of files is being updated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/CohortClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/CohortClient.java index 02a057b6d8e..db414f80780 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/CohortClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/CohortClient.java @@ -36,11 +36,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -<<<<<<< HEAD -* Autogenerated on: 2024-02-02 -======= -* Autogenerated on: 2024-03-04 ->>>>>>> develop +* Autogenerated on: 2024-03-06 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -49,11 +45,7 @@ /** * This class contains methods for the Cohort webservices. -<<<<<<< HEAD - * Client version: 2.12.2-SNAPSHOT -======= * Client version: 3.0.0-SNAPSHOT ->>>>>>> develop * PATH: cohorts */ public class CohortClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/DiseasePanelClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/DiseasePanelClient.java index fc75ec986e7..f196e712076 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/DiseasePanelClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/DiseasePanelClient.java @@ -35,11 +35,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -<<<<<<< HEAD -* Autogenerated on: 2024-02-02 -======= -* Autogenerated on: 2024-03-04 ->>>>>>> develop +* Autogenerated on: 2024-03-06 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -48,11 +44,7 @@ /** * This class contains methods for the DiseasePanel webservices. -<<<<<<< HEAD - * Client version: 2.12.2-SNAPSHOT -======= * Client version: 3.0.0-SNAPSHOT ->>>>>>> develop * PATH: panels */ public class DiseasePanelClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FamilyClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FamilyClient.java index 51d7850ae11..0687b39811e 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FamilyClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FamilyClient.java @@ -35,11 +35,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -<<<<<<< HEAD -* Autogenerated on: 2024-02-02 -======= -* Autogenerated on: 2024-03-04 ->>>>>>> develop +* Autogenerated on: 2024-03-06 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -48,11 +44,7 @@ /** * This class contains methods for the Family webservices. -<<<<<<< HEAD - * Client version: 2.12.2-SNAPSHOT -======= * Client version: 3.0.0-SNAPSHOT ->>>>>>> develop * PATH: families */ public class FamilyClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FileClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FileClient.java index b29f3396ca9..680e134178f 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FileClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/FileClient.java @@ -42,11 +42,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -<<<<<<< HEAD -* Autogenerated on: 2024-02-02 -======= -* Autogenerated on: 2024-03-04 ->>>>>>> develop +* Autogenerated on: 2024-03-06 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -55,11 +51,7 @@ /** * This class contains methods for the File webservices. -<<<<<<< HEAD - * Client version: 2.12.2-SNAPSHOT -======= * Client version: 3.0.0-SNAPSHOT ->>>>>>> develop * PATH: files */ public class FileClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/GA4GHClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/GA4GHClient.java index a22d897ea61..f60884bfc32 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/GA4GHClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/GA4GHClient.java @@ -27,11 +27,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -<<<<<<< HEAD -* Autogenerated on: 2024-02-02 -======= -* Autogenerated on: 2024-03-04 ->>>>>>> develop +* Autogenerated on: 2024-03-06 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -40,11 +36,7 @@ /** * This class contains methods for the GA4GH webservices. -<<<<<<< HEAD - * Client version: 2.12.2-SNAPSHOT -======= * Client version: 3.0.0-SNAPSHOT ->>>>>>> develop * PATH: ga4gh */ public class GA4GHClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/IndividualClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/IndividualClient.java index 029a533b5ca..2377d530fb4 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/IndividualClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/IndividualClient.java @@ -35,11 +35,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -<<<<<<< HEAD -* Autogenerated on: 2024-02-02 -======= -* Autogenerated on: 2024-03-04 ->>>>>>> develop +* Autogenerated on: 2024-03-06 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -48,11 +44,7 @@ /** * This class contains methods for the Individual webservices. -<<<<<<< HEAD - * Client version: 2.12.2-SNAPSHOT -======= * Client version: 3.0.0-SNAPSHOT ->>>>>>> develop * PATH: individuals */ public class IndividualClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/JobClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/JobClient.java index 4be618dbab8..eec7ad233d3 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/JobClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/JobClient.java @@ -36,11 +36,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -<<<<<<< HEAD -* Autogenerated on: 2024-02-02 -======= -* Autogenerated on: 2024-03-04 ->>>>>>> develop +* Autogenerated on: 2024-03-06 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -49,11 +45,7 @@ /** * This class contains methods for the Job webservices. -<<<<<<< HEAD - * Client version: 2.12.2-SNAPSHOT -======= * Client version: 3.0.0-SNAPSHOT ->>>>>>> develop * PATH: jobs */ public class JobClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/MetaClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/MetaClient.java index 974034e3c00..edc9bfa3dd7 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/MetaClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/MetaClient.java @@ -28,11 +28,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -<<<<<<< HEAD -* Autogenerated on: 2024-02-02 -======= -* Autogenerated on: 2024-03-04 ->>>>>>> develop +* Autogenerated on: 2024-03-06 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -41,11 +37,7 @@ /** * This class contains methods for the Meta webservices. -<<<<<<< HEAD - * Client version: 2.12.2-SNAPSHOT -======= * Client version: 3.0.0-SNAPSHOT ->>>>>>> develop * PATH: meta */ public class MetaClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/OrganizationClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/OrganizationClient.java index ac14662b2fc..55330d49dcc 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/OrganizationClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/OrganizationClient.java @@ -30,7 +30,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -* Autogenerated on: 2024-03-04 +* Autogenerated on: 2024-03-06 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ProjectClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ProjectClient.java index 3e960991c45..878a3d679e9 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ProjectClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/ProjectClient.java @@ -31,11 +31,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -<<<<<<< HEAD -* Autogenerated on: 2024-02-02 -======= -* Autogenerated on: 2024-03-04 ->>>>>>> develop +* Autogenerated on: 2024-03-06 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -44,11 +40,7 @@ /** * This class contains methods for the Project webservices. -<<<<<<< HEAD - * Client version: 2.12.2-SNAPSHOT -======= * Client version: 3.0.0-SNAPSHOT ->>>>>>> develop * PATH: projects */ public class ProjectClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/SampleClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/SampleClient.java index de59008c429..3426ea51565 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/SampleClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/SampleClient.java @@ -35,11 +35,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -<<<<<<< HEAD -* Autogenerated on: 2024-02-02 -======= -* Autogenerated on: 2024-03-04 ->>>>>>> develop +* Autogenerated on: 2024-03-06 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -48,11 +44,7 @@ /** * This class contains methods for the Sample webservices. -<<<<<<< HEAD - * Client version: 2.12.2-SNAPSHOT -======= * Client version: 3.0.0-SNAPSHOT ->>>>>>> develop * PATH: samples */ public class SampleClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/StudyClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/StudyClient.java index 27f96bf374b..81a4a7bbc85 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/StudyClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/StudyClient.java @@ -44,11 +44,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -<<<<<<< HEAD -* Autogenerated on: 2024-02-02 -======= -* Autogenerated on: 2024-03-04 ->>>>>>> develop +* Autogenerated on: 2024-03-06 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -57,11 +53,7 @@ /** * This class contains methods for the Study webservices. -<<<<<<< HEAD - * Client version: 2.12.2-SNAPSHOT -======= * Client version: 3.0.0-SNAPSHOT ->>>>>>> develop * PATH: studies */ public class StudyClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/UserClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/UserClient.java index 80e1824f2d6..b2e525f244b 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/UserClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/UserClient.java @@ -36,11 +36,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -<<<<<<< HEAD -* Autogenerated on: 2024-02-02 -======= -* Autogenerated on: 2024-03-04 ->>>>>>> develop +* Autogenerated on: 2024-03-06 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -49,11 +45,7 @@ /** * This class contains methods for the User webservices. -<<<<<<< HEAD - * Client version: 2.12.2-SNAPSHOT -======= * Client version: 3.0.0-SNAPSHOT ->>>>>>> develop * PATH: users */ public class UserClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantClient.java index a43274342a3..fbd8a7f28f3 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantClient.java @@ -62,11 +62,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -<<<<<<< HEAD -* Autogenerated on: 2024-02-02 -======= -* Autogenerated on: 2024-03-04 ->>>>>>> develop +* Autogenerated on: 2024-03-06 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -75,11 +71,7 @@ /** * This class contains methods for the Variant webservices. -<<<<<<< HEAD - * Client version: 2.12.2-SNAPSHOT -======= * Client version: 3.0.0-SNAPSHOT ->>>>>>> develop * PATH: analysis/variant */ public class VariantClient extends AbstractParentClient { diff --git a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantOperationClient.java b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantOperationClient.java index b7b2ad670ac..9dea80db8ff 100644 --- a/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantOperationClient.java +++ b/opencga-client/src/main/java/org/opencb/opencga/client/rest/clients/VariantOperationClient.java @@ -50,11 +50,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -<<<<<<< HEAD -* Autogenerated on: 2024-02-02 -======= -* Autogenerated on: 2024-03-04 ->>>>>>> develop +* Autogenerated on: 2024-03-06 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -63,11 +59,7 @@ /** * This class contains methods for the VariantOperation webservices. -<<<<<<< HEAD - * Client version: 2.12.2-SNAPSHOT -======= * Client version: 3.0.0-SNAPSHOT ->>>>>>> develop * PATH: operation */ public class VariantOperationClient extends AbstractParentClient { diff --git a/opencga-client/src/main/javascript/Admin.js b/opencga-client/src/main/javascript/Admin.js index 64a269c01ed..5997bed882d 100644 --- a/opencga-client/src/main/javascript/Admin.js +++ b/opencga-client/src/main/javascript/Admin.js @@ -12,11 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -<<<<<<< HEAD - * Autogenerated on: 2024-02-02 -======= - * Autogenerated on: 2024-03-04 ->>>>>>> develop + * Autogenerated on: 2024-03-06 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Alignment.js b/opencga-client/src/main/javascript/Alignment.js index 1b7f9f761c2..9173d6738dc 100644 --- a/opencga-client/src/main/javascript/Alignment.js +++ b/opencga-client/src/main/javascript/Alignment.js @@ -12,11 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -<<<<<<< HEAD - * Autogenerated on: 2024-02-02 -======= - * Autogenerated on: 2024-03-04 ->>>>>>> develop + * Autogenerated on: 2024-03-06 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/ClinicalAnalysis.js b/opencga-client/src/main/javascript/ClinicalAnalysis.js index 591b16653f6..2d47cced785 100644 --- a/opencga-client/src/main/javascript/ClinicalAnalysis.js +++ b/opencga-client/src/main/javascript/ClinicalAnalysis.js @@ -12,11 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -<<<<<<< HEAD - * Autogenerated on: 2024-02-02 -======= - * Autogenerated on: 2024-03-04 ->>>>>>> develop + * Autogenerated on: 2024-03-06 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. @@ -870,7 +866,7 @@ export default class ClinicalAnalysis extends OpenCGAParentClass { * @param {Object} [params] - The Object containing the following optional parameters: * @param {String} [params.include] - Fields included in the response, whole JSON path must be provided. * @param {String} [params.exclude] - Fields excluded in the response, whole JSON path must be provided. - * @param {String} [params.study] - Study [[user@]project:]study where study and project can be either the ID or UUID. + * @param {String} [params.study] - Study [[organization@]project:]study where study and project can be either the ID or UUID. * @param {"ADD REMOVE REPLACE"} [params.commentsAction = "ADD"] - Action to be performed if the array of comments is being updated. The * default value is ADD. * @param {"ADD SET REMOVE"} [params.supportingEvidencesAction = "ADD"] - Action to be performed if the array of supporting evidences is diff --git a/opencga-client/src/main/javascript/Cohort.js b/opencga-client/src/main/javascript/Cohort.js index 6be1fb757e0..237d874af6f 100644 --- a/opencga-client/src/main/javascript/Cohort.js +++ b/opencga-client/src/main/javascript/Cohort.js @@ -12,11 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -<<<<<<< HEAD - * Autogenerated on: 2024-02-02 -======= - * Autogenerated on: 2024-03-04 ->>>>>>> develop + * Autogenerated on: 2024-03-06 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/DiseasePanel.js b/opencga-client/src/main/javascript/DiseasePanel.js index d273463007e..44b47ec7d9f 100644 --- a/opencga-client/src/main/javascript/DiseasePanel.js +++ b/opencga-client/src/main/javascript/DiseasePanel.js @@ -12,11 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -<<<<<<< HEAD - * Autogenerated on: 2024-02-02 -======= - * Autogenerated on: 2024-03-04 ->>>>>>> develop + * Autogenerated on: 2024-03-06 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Family.js b/opencga-client/src/main/javascript/Family.js index ec4a259a515..028113d98b3 100644 --- a/opencga-client/src/main/javascript/Family.js +++ b/opencga-client/src/main/javascript/Family.js @@ -12,11 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -<<<<<<< HEAD - * Autogenerated on: 2024-02-02 -======= - * Autogenerated on: 2024-03-04 ->>>>>>> develop + * Autogenerated on: 2024-03-06 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/File.js b/opencga-client/src/main/javascript/File.js index 119fc635bbf..4419c507e8e 100644 --- a/opencga-client/src/main/javascript/File.js +++ b/opencga-client/src/main/javascript/File.js @@ -12,11 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -<<<<<<< HEAD - * Autogenerated on: 2024-02-02 -======= - * Autogenerated on: 2024-03-04 ->>>>>>> develop + * Autogenerated on: 2024-03-06 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/GA4GH.js b/opencga-client/src/main/javascript/GA4GH.js index 4f6b5d66b90..b06055721c4 100644 --- a/opencga-client/src/main/javascript/GA4GH.js +++ b/opencga-client/src/main/javascript/GA4GH.js @@ -12,11 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -<<<<<<< HEAD - * Autogenerated on: 2024-02-02 -======= - * Autogenerated on: 2024-03-04 ->>>>>>> develop + * Autogenerated on: 2024-03-06 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Individual.js b/opencga-client/src/main/javascript/Individual.js index 2c20d3cc516..a3307d522da 100644 --- a/opencga-client/src/main/javascript/Individual.js +++ b/opencga-client/src/main/javascript/Individual.js @@ -12,11 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -<<<<<<< HEAD - * Autogenerated on: 2024-02-02 -======= - * Autogenerated on: 2024-03-04 ->>>>>>> develop + * Autogenerated on: 2024-03-06 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Job.js b/opencga-client/src/main/javascript/Job.js index f429d2db5f3..b83184040e6 100644 --- a/opencga-client/src/main/javascript/Job.js +++ b/opencga-client/src/main/javascript/Job.js @@ -12,11 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -<<<<<<< HEAD - * Autogenerated on: 2024-02-02 -======= - * Autogenerated on: 2024-03-04 ->>>>>>> develop + * Autogenerated on: 2024-03-06 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Meta.js b/opencga-client/src/main/javascript/Meta.js index 6f48debfc9e..7028dd5ea71 100644 --- a/opencga-client/src/main/javascript/Meta.js +++ b/opencga-client/src/main/javascript/Meta.js @@ -12,11 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -<<<<<<< HEAD - * Autogenerated on: 2024-02-02 -======= - * Autogenerated on: 2024-03-04 ->>>>>>> develop + * Autogenerated on: 2024-03-06 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Organization.js b/opencga-client/src/main/javascript/Organization.js index 5102f6b76b5..3884dc598da 100644 --- a/opencga-client/src/main/javascript/Organization.js +++ b/opencga-client/src/main/javascript/Organization.js @@ -12,7 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. - * Autogenerated on: 2024-03-04 + * Autogenerated on: 2024-03-06 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Project.js b/opencga-client/src/main/javascript/Project.js index 08abd83dbe8..3767afc6bca 100644 --- a/opencga-client/src/main/javascript/Project.js +++ b/opencga-client/src/main/javascript/Project.js @@ -12,11 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -<<<<<<< HEAD - * Autogenerated on: 2024-02-02 -======= - * Autogenerated on: 2024-03-04 ->>>>>>> develop + * Autogenerated on: 2024-03-06 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Sample.js b/opencga-client/src/main/javascript/Sample.js index 1d552d1ea25..1d4f379fa33 100644 --- a/opencga-client/src/main/javascript/Sample.js +++ b/opencga-client/src/main/javascript/Sample.js @@ -12,11 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -<<<<<<< HEAD - * Autogenerated on: 2024-02-02 -======= - * Autogenerated on: 2024-03-04 ->>>>>>> develop + * Autogenerated on: 2024-03-06 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Study.js b/opencga-client/src/main/javascript/Study.js index 2de49ab20cb..b170fbf1c16 100644 --- a/opencga-client/src/main/javascript/Study.js +++ b/opencga-client/src/main/javascript/Study.js @@ -12,11 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -<<<<<<< HEAD - * Autogenerated on: 2024-02-02 -======= - * Autogenerated on: 2024-03-04 ->>>>>>> develop + * Autogenerated on: 2024-03-06 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/User.js b/opencga-client/src/main/javascript/User.js index 542bba9c384..c5c7544c653 100644 --- a/opencga-client/src/main/javascript/User.js +++ b/opencga-client/src/main/javascript/User.js @@ -12,11 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -<<<<<<< HEAD - * Autogenerated on: 2024-02-02 -======= - * Autogenerated on: 2024-03-04 ->>>>>>> develop + * Autogenerated on: 2024-03-06 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/Variant.js b/opencga-client/src/main/javascript/Variant.js index 2e551118709..98d42a16fd2 100644 --- a/opencga-client/src/main/javascript/Variant.js +++ b/opencga-client/src/main/javascript/Variant.js @@ -12,11 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -<<<<<<< HEAD - * Autogenerated on: 2024-02-02 -======= - * Autogenerated on: 2024-03-04 ->>>>>>> develop + * Autogenerated on: 2024-03-06 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/javascript/VariantOperation.js b/opencga-client/src/main/javascript/VariantOperation.js index 21b21feff78..9ceb02dd57d 100644 --- a/opencga-client/src/main/javascript/VariantOperation.js +++ b/opencga-client/src/main/javascript/VariantOperation.js @@ -12,11 +12,7 @@ * WARNING: AUTOGENERATED CODE * * This code was generated by a tool. -<<<<<<< HEAD - * Autogenerated on: 2024-02-02 -======= - * Autogenerated on: 2024-03-04 ->>>>>>> develop + * Autogenerated on: 2024-03-06 * * Manual changes to this file may cause unexpected behavior in your application. * Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/admin_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/admin_client.py index 3c4bfd4e1ed..85bf0da3b3e 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/admin_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/admin_client.py @@ -2,11 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. -<<<<<<< HEAD - Autogenerated on: 2024-02-02 -======= - Autogenerated on: 2024-03-04 ->>>>>>> develop + Autogenerated on: 2024-03-06 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -18,11 +14,7 @@ class Admin(_ParentRestClient): """ This class contains methods for the 'Admin' webservices -<<<<<<< HEAD - Client version: 2.12.2-SNAPSHOT -======= Client version: 3.0.0-SNAPSHOT ->>>>>>> develop PATH: /{apiVersion}/admin """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/alignment_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/alignment_client.py index 315f01380a0..34e898b9f67 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/alignment_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/alignment_client.py @@ -2,11 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. -<<<<<<< HEAD - Autogenerated on: 2024-02-02 -======= - Autogenerated on: 2024-03-04 ->>>>>>> develop + Autogenerated on: 2024-03-06 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -18,11 +14,7 @@ class Alignment(_ParentRestClient): """ This class contains methods for the 'Analysis - Alignment' webservices -<<<<<<< HEAD - Client version: 2.12.2-SNAPSHOT -======= Client version: 3.0.0-SNAPSHOT ->>>>>>> develop PATH: /{apiVersion}/analysis/alignment """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/clinical_analysis_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/clinical_analysis_client.py index 00366d7f79a..0cdeeda33d7 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/clinical_analysis_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/clinical_analysis_client.py @@ -2,11 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. -<<<<<<< HEAD - Autogenerated on: 2024-02-02 -======= - Autogenerated on: 2024-03-04 ->>>>>>> develop + Autogenerated on: 2024-03-06 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -18,11 +14,7 @@ class ClinicalAnalysis(_ParentRestClient): """ This class contains methods for the 'Analysis - Clinical' webservices -<<<<<<< HEAD - Client version: 2.12.2-SNAPSHOT -======= Client version: 3.0.0-SNAPSHOT ->>>>>>> develop PATH: /{apiVersion}/analysis/clinical """ @@ -1108,8 +1100,8 @@ def update_report(self, clinical_analysis, data=None, **options): must be provided. :param str exclude: Fields excluded in the response, whole JSON path must be provided. - :param str study: Study [[user@]project:]study where study and project - can be either the ID or UUID. + :param str study: Study [[organization@]project:]study where study and + project can be either the ID or UUID. :param str comments_action: Action to be performed if the array of comments is being updated. Allowed values: ['ADD REMOVE REPLACE'] :param str supporting_evidences_action: Action to be performed if the diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/cohort_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/cohort_client.py index 1f884ac1133..d0081675985 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/cohort_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/cohort_client.py @@ -2,11 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. -<<<<<<< HEAD - Autogenerated on: 2024-02-02 -======= - Autogenerated on: 2024-03-04 ->>>>>>> develop + Autogenerated on: 2024-03-06 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -18,11 +14,7 @@ class Cohort(_ParentRestClient): """ This class contains methods for the 'Cohorts' webservices -<<<<<<< HEAD - Client version: 2.12.2-SNAPSHOT -======= Client version: 3.0.0-SNAPSHOT ->>>>>>> develop PATH: /{apiVersion}/cohorts """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/disease_panel_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/disease_panel_client.py index d305a445e47..ad7fc8a94a5 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/disease_panel_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/disease_panel_client.py @@ -2,11 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. -<<<<<<< HEAD - Autogenerated on: 2024-02-02 -======= - Autogenerated on: 2024-03-04 ->>>>>>> develop + Autogenerated on: 2024-03-06 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -18,11 +14,7 @@ class DiseasePanel(_ParentRestClient): """ This class contains methods for the 'Disease Panels' webservices -<<<<<<< HEAD - Client version: 2.12.2-SNAPSHOT -======= Client version: 3.0.0-SNAPSHOT ->>>>>>> develop PATH: /{apiVersion}/panels """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/family_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/family_client.py index 3a625dcd693..a2d849ec0b7 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/family_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/family_client.py @@ -2,11 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. -<<<<<<< HEAD - Autogenerated on: 2024-02-02 -======= - Autogenerated on: 2024-03-04 ->>>>>>> develop + Autogenerated on: 2024-03-06 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -18,11 +14,7 @@ class Family(_ParentRestClient): """ This class contains methods for the 'Families' webservices -<<<<<<< HEAD - Client version: 2.12.2-SNAPSHOT -======= Client version: 3.0.0-SNAPSHOT ->>>>>>> develop PATH: /{apiVersion}/families """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/file_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/file_client.py index 1ea7c212f62..b9b998ba72f 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/file_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/file_client.py @@ -2,11 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. -<<<<<<< HEAD - Autogenerated on: 2024-02-02 -======= - Autogenerated on: 2024-03-04 ->>>>>>> develop + Autogenerated on: 2024-03-06 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -18,11 +14,7 @@ class File(_ParentRestClient): """ This class contains methods for the 'Files' webservices -<<<<<<< HEAD - Client version: 2.12.2-SNAPSHOT -======= Client version: 3.0.0-SNAPSHOT ->>>>>>> develop PATH: /{apiVersion}/files """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/ga4gh_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/ga4gh_client.py index 165ebf5dd3a..01f77db3bac 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/ga4gh_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/ga4gh_client.py @@ -2,11 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. -<<<<<<< HEAD - Autogenerated on: 2024-02-02 -======= - Autogenerated on: 2024-03-04 ->>>>>>> develop + Autogenerated on: 2024-03-06 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -18,11 +14,7 @@ class GA4GH(_ParentRestClient): """ This class contains methods for the 'GA4GH' webservices -<<<<<<< HEAD - Client version: 2.12.2-SNAPSHOT -======= Client version: 3.0.0-SNAPSHOT ->>>>>>> develop PATH: /{apiVersion}/ga4gh """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/individual_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/individual_client.py index 257eaaca77e..7243a4f0865 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/individual_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/individual_client.py @@ -2,11 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. -<<<<<<< HEAD - Autogenerated on: 2024-02-02 -======= - Autogenerated on: 2024-03-04 ->>>>>>> develop + Autogenerated on: 2024-03-06 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -18,11 +14,7 @@ class Individual(_ParentRestClient): """ This class contains methods for the 'Individuals' webservices -<<<<<<< HEAD - Client version: 2.12.2-SNAPSHOT -======= Client version: 3.0.0-SNAPSHOT ->>>>>>> develop PATH: /{apiVersion}/individuals """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/job_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/job_client.py index 26fb036e601..e37e64878e3 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/job_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/job_client.py @@ -2,11 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. -<<<<<<< HEAD - Autogenerated on: 2024-02-02 -======= - Autogenerated on: 2024-03-04 ->>>>>>> develop + Autogenerated on: 2024-03-06 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -18,11 +14,7 @@ class Job(_ParentRestClient): """ This class contains methods for the 'Jobs' webservices -<<<<<<< HEAD - Client version: 2.12.2-SNAPSHOT -======= Client version: 3.0.0-SNAPSHOT ->>>>>>> develop PATH: /{apiVersion}/jobs """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/meta_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/meta_client.py index bfc097ab67e..515d9c60bcd 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/meta_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/meta_client.py @@ -2,11 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. -<<<<<<< HEAD - Autogenerated on: 2024-02-02 -======= - Autogenerated on: 2024-03-04 ->>>>>>> develop + Autogenerated on: 2024-03-06 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -18,11 +14,7 @@ class Meta(_ParentRestClient): """ This class contains methods for the 'Meta' webservices -<<<<<<< HEAD - Client version: 2.12.2-SNAPSHOT -======= Client version: 3.0.0-SNAPSHOT ->>>>>>> develop PATH: /{apiVersion}/meta """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/organization_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/organization_client.py index 7938fd9bed5..cac13370617 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/organization_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/organization_client.py @@ -2,7 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. - Autogenerated on: 2024-03-04 + Autogenerated on: 2024-03-06 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/project_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/project_client.py index b497a51ed86..5e403ca5027 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/project_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/project_client.py @@ -2,11 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. -<<<<<<< HEAD - Autogenerated on: 2024-02-02 -======= - Autogenerated on: 2024-03-04 ->>>>>>> develop + Autogenerated on: 2024-03-06 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -18,11 +14,7 @@ class Project(_ParentRestClient): """ This class contains methods for the 'Projects' webservices -<<<<<<< HEAD - Client version: 2.12.2-SNAPSHOT -======= Client version: 3.0.0-SNAPSHOT ->>>>>>> develop PATH: /{apiVersion}/projects """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/sample_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/sample_client.py index cce64c1266c..e9307f29656 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/sample_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/sample_client.py @@ -2,11 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. -<<<<<<< HEAD - Autogenerated on: 2024-02-02 -======= - Autogenerated on: 2024-03-04 ->>>>>>> develop + Autogenerated on: 2024-03-06 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -18,11 +14,7 @@ class Sample(_ParentRestClient): """ This class contains methods for the 'Samples' webservices -<<<<<<< HEAD - Client version: 2.12.2-SNAPSHOT -======= Client version: 3.0.0-SNAPSHOT ->>>>>>> develop PATH: /{apiVersion}/samples """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/study_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/study_client.py index 26d84ece241..5c2907ee8e4 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/study_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/study_client.py @@ -2,11 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. -<<<<<<< HEAD - Autogenerated on: 2024-02-02 -======= - Autogenerated on: 2024-03-04 ->>>>>>> develop + Autogenerated on: 2024-03-06 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -18,11 +14,7 @@ class Study(_ParentRestClient): """ This class contains methods for the 'Studies' webservices -<<<<<<< HEAD - Client version: 2.12.2-SNAPSHOT -======= Client version: 3.0.0-SNAPSHOT ->>>>>>> develop PATH: /{apiVersion}/studies """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/user_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/user_client.py index 3f6348d3508..12e2c801ea7 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/user_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/user_client.py @@ -2,11 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. -<<<<<<< HEAD - Autogenerated on: 2024-02-02 -======= - Autogenerated on: 2024-03-04 ->>>>>>> develop + Autogenerated on: 2024-03-06 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -18,11 +14,7 @@ class User(_ParentRestClient): """ This class contains methods for the 'Users' webservices -<<<<<<< HEAD - Client version: 2.12.2-SNAPSHOT -======= Client version: 3.0.0-SNAPSHOT ->>>>>>> develop PATH: /{apiVersion}/users """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/variant_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/variant_client.py index 5293d379501..99976a5ae1b 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/variant_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/variant_client.py @@ -2,11 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. -<<<<<<< HEAD - Autogenerated on: 2024-02-02 -======= - Autogenerated on: 2024-03-04 ->>>>>>> develop + Autogenerated on: 2024-03-06 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -18,11 +14,7 @@ class Variant(_ParentRestClient): """ This class contains methods for the 'Analysis - Variant' webservices -<<<<<<< HEAD - Client version: 2.12.2-SNAPSHOT -======= Client version: 3.0.0-SNAPSHOT ->>>>>>> develop PATH: /{apiVersion}/analysis/variant """ diff --git a/opencga-client/src/main/python/pyopencga/rest_clients/variant_operation_client.py b/opencga-client/src/main/python/pyopencga/rest_clients/variant_operation_client.py index 9266b1648c7..9a9a5fca230 100644 --- a/opencga-client/src/main/python/pyopencga/rest_clients/variant_operation_client.py +++ b/opencga-client/src/main/python/pyopencga/rest_clients/variant_operation_client.py @@ -2,11 +2,7 @@ WARNING: AUTOGENERATED CODE This code was generated by a tool. -<<<<<<< HEAD - Autogenerated on: 2024-02-02 -======= - Autogenerated on: 2024-03-04 ->>>>>>> develop + Autogenerated on: 2024-03-06 Manual changes to this file may cause unexpected behavior in your application. Manual changes to this file will be overwritten if the code is regenerated. @@ -18,11 +14,7 @@ class VariantOperation(_ParentRestClient): """ This class contains methods for the 'Operations - Variant Storage' webservices -<<<<<<< HEAD - Client version: 2.12.2-SNAPSHOT -======= Client version: 3.0.0-SNAPSHOT ->>>>>>> develop PATH: /{apiVersion}/operation """ From df495c18e082c7c7bb03112c216265fb06abe7be Mon Sep 17 00:00:00 2001 From: JuanfeSanahuja Date: Wed, 6 Mar 2024 16:12:42 +0100 Subject: [PATCH 84/89] Deleted the folder opencga-storage-hadoop-deps #TASK-5618 --- .../pom.xml | 519 -------- .../pom.xml | 376 ------ .../pom.xml | 542 --------- .../opencga-storage-hadoop-deps/pom.xml | 1042 ----------------- 4 files changed, 2479 deletions(-) delete mode 100644 opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-emr6.1/pom.xml delete mode 100644 opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp2.6/pom.xml delete mode 100644 opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp3.1/pom.xml delete mode 100644 opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-emr6.1/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-emr6.1/pom.xml deleted file mode 100644 index 2ef5c79bb53..00000000000 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-emr6.1/pom.xml +++ /dev/null @@ -1,519 +0,0 @@ - - - - 4.0.0 - - - org.opencb.opencga - opencga-storage-hadoop-deps - 3.0.0-SNAPSHOT - ../pom.xml - - - - opencga-storage-hadoop-deps-emr6.1 - jar - - - ${artifactId} - - 3.2.1-amzn-1 - 2.2.5 - - - 2.2.1 - - 3.4.14 - 5.0.0-HBase-2.0 - 0.14.0-incubating - 0.7.0 - - 3.3.6 - 3.2.1 - 3.6.1 - - 1.18 - 2.5 - 3.6 - 2.12.0 - - 28.0-jre - - - - - - emr-6.1.0-artifacts - EMR 6.1.0 Releases Repository - - true - - - false - - https://s3.eu-west-2.amazonaws.com/eu-west-2-emr-artifacts/emr-6.1.0/repos/maven/ - - - - - - - - - com.google.protobuf - protobuf-java - ${protobuf2.version} - true - - - com.google.guava - guava - ${guava.version} - true - - - - - - - - - - org.apache.hadoop - hadoop-common - ${hadoop.version} - true - - - org.apache.hadoop - hadoop-client - ${hadoop.version} - true - - - org.apache.hadoop - hadoop-hdfs - ${hadoop.version} - true - - - org.apache.hadoop - hadoop-aws - ${hadoop.version} - true - - - - - org.apache.hbase - hbase-server - ${hbase.version} - true - - - org.apache.hbase - hbase-mapreduce - ${hbase.version} - true - - - - - org.apache.phoenix - phoenix-core - ${phoenix.version} - true - - - - - - - - org.apache.hadoop - hadoop-minicluster - ${hadoop.version} - true - - - org.apache.hbase - hbase-testing-util - ${hbase.version} - test-jar - true - - - org.apache.hbase - hbase-it - ${hbase.version} - test-jar - true - - - - - - - - - - org.apache.htrace - htrace-core - 3.1.0-incubating - - - commons-cli - commons-cli - 1.2 - - - - - org.apache.avro - avro - - - org.apache.avro - avro-ipc - - - org.apache.avro - avro-mapred - hadoop2 - - - - - - - - - commons-lang - commons-lang - - - commons-logging - commons-logging - - - commons-io - commons-io - ${commons-io.version} - - - commons-net - commons-net - ${commons-net.version} - - - commons-httpclient - commons-httpclient - ${commons-httpclient.version} - - - org.apache.curator - curator-recipes - ${curator.version} - - - org.apache.curator - curator-client - ${curator.version} - - - org.apache.curator - curator-framework - ${curator.version} - - - org.apache.zookeeper - zookeeper - ${zookeeper.version} - - - - - org.fusesource.leveldbjni - leveldbjni-all - ${leveldbjni-all.version} - - - - - org.apache.directory.server - apacheds-kerberos-codec - compile - ${apacheds-kerberos-codec.version} - - - - - com.microsoft.azure - azure-storage - 2.0.0 - - - - org.mortbay.jetty - jetty-util - ${mortbay.jetty.version} - - - - - com.lmax - disruptor - ${disruptor.version} - - - - - - - - org.apache.commons - commons-math - ${commons-math.version} - - - org.apache.commons - commons-compress - ${commons-compress.version} - - - io.netty - netty-all - ${netty.version} - - - org.jamon - jamon-runtime - ${jamon-runtime.version} - - - org.codehaus.jackson - jackson-core-asl - ${codehaus.jackson.version} - - - org.codehaus.jackson - jackson-mapper-asl - ${codehaus.jackson.version} - - - org.codehaus.jackson - jackson-jaxrs - ${codehaus.jackson.version} - - - org.codehaus.jackson - jackson-xc - ${codehaus.jackson.version} - - - - - - org.antlr - antlr-runtime - ${antlr.version} - - - jline - jline - ${jline.version} - - - sqlline - sqlline - ${sqlline.version} - - - - - - - - - - - - - - - - - - org.apache.httpcomponents - httpclient - 4.0.1 - - - org.iq80.snappy - snappy - ${snappy.version} - - - commons-codec - commons-codec - ${commons-codec.version} - - - commons-collections - commons-collections - ${collections.version} - - - org.apache.commons - commons-csv - ${commons-csv.version} - - - joda-time - joda-time - - - - - org.apache.hbase.thirdparty - hbase-shaded-netty - ${hbase-thirdparty.version} - - true - - - org.apache.tephra - tephra-api - ${apache.tephra.version} - - - org.apache.tephra - tephra-core - ${apache.tephra.version} - - - ch.qos.logback - logback-core - - - ch.qos.logback - logback-classic - - - - - org.apache.tephra - tephra-hbase-compat-1.1 - ${apache.tephra.version} - - - - - - org.apache.commons - commons-configuration2 - 2.1.1 - - - org.apache.commons - commons-lang3 - - - - - - - org.apache.commons - commons-math3 - ${commons-math3.version} - - - - - io.dropwizard.metrics - metrics-core - ${io.dropwizard.metrics-core.version} - - - - - org.apache.htrace - htrace-core4 - 4.1.0-incubating - - - - com.google.re2j - re2j - 1.1 - - - - org.apache.hbase.thirdparty - hbase-shaded-protobuf - ${hbase-thirdparty.version} - - - - org.apache.hbase.thirdparty - hbase-shaded-miscellaneous - ${hbase-thirdparty.version} - - - org.apache.yetus - audience-annotations - 0.5.0 - - - - org.apache.hadoop - hadoop-azure-datalake - ${hadoop.version} - true - - - - org.wildfly.openssl - wildfly-openssl - 1.0.7.Final - - - - - \ No newline at end of file diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp2.6/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp2.6/pom.xml deleted file mode 100644 index 5a162302e74..00000000000 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp2.6/pom.xml +++ /dev/null @@ -1,376 +0,0 @@ - - - - 4.0.0 - - - org.opencb.opencga - opencga-storage-hadoop-deps - 3.0.0-SNAPSHOT - ../pom.xml - - - - opencga-storage-hadoop-deps-hdp2.6 - jar - - - ${artifactId} - - 2.6.5.298-4 - - - 2.7.3.${hdp.dependencies.version} - 1.1.2.${hdp.dependencies.version} - 4.7.0.${hdp.dependencies.version} - 0.7.0 - - - - - hortonworks-releases - https://repo.hortonworks.com/content/repositories/releases/ - - - hortonworks-public - https://repo.hortonworks.com/content/groups/public - - - - - - - com.google.protobuf - protobuf-java - ${protobuf2.version} - true - - - com.google.guava - guava - ${guava.version} - true - - - - - - - - - - org.apache.hadoop - hadoop-common - ${hadoop.version} - true - - - org.apache.hadoop - hadoop-client - ${hadoop.version} - true - - - org.apache.hadoop - hadoop-azure - ${hadoop.version} - - - - org.apache.hadoop - hadoop-azure-datalake - ${hadoop.version} - - - org.apache.hadoop - hadoop-common - - - org.apache.commons - commons-lang3 - - - - - - - - org.apache.hbase - hbase-server - ${hbase.version} - true - - - - - org.apache.phoenix - phoenix-core - ${phoenix.version} - true - - - - - - - - org.apache.hadoop - hadoop-minicluster - ${hadoop.version} - true - - - org.apache.hbase - hbase-testing-util - ${hbase.version} - test-jar - true - - - org.apache.hbase - hbase-it - ${hbase.version} - test-jar - true - - - - - - - - - org.apache.htrace - htrace-core - 3.1.0-incubating - - - commons-cli - commons-cli - 1.2 - - - - - org.apache.avro - avro - - - org.apache.avro - avro-ipc - - - org.apache.avro - avro-mapred - hadoop2 - - - - - commons-configuration - commons-configuration - - - commons-lang - commons-lang - - - commons-logging - commons-logging - - - commons-io - commons-io - ${commons-io.version} - - - commons-net - commons-net - ${commons-net.version} - - - commons-httpclient - commons-httpclient - ${commons-httpclient.version} - - - org.apache.curator - curator-recipes - ${curator.version} - - - org.apache.curator - curator-client - ${curator.version} - - - org.apache.curator - curator-framework - ${curator.version} - - - org.apache.zookeeper - zookeeper - ${zookeeper.version} - - - - - org.fusesource.leveldbjni - leveldbjni-all - ${leveldbjni-all.version} - - - - - org.apache.directory.server - apacheds-kerberos-codec - compile - ${apacheds-kerberos-codec.version} - - - - - com.microsoft.azure - azure-storage - 2.0.0 - - - - org.mortbay.jetty - jetty-util - ${mortbay.jetty.version} - - - - - com.lmax - disruptor - ${disruptor.version} - - - com.yammer.metrics - metrics-core - ${metrics-core.version} - - - org.apache.commons - commons-math - ${commons-math.version} - - - org.apache.commons - commons-compress - ${commons-compress.version} - - - io.netty - netty-all - ${netty.version} - - - org.jamon - jamon-runtime - ${jamon-runtime.version} - - - org.codehaus.jackson - jackson-core-asl - ${codehaus.jackson.version} - - - org.codehaus.jackson - jackson-mapper-asl - ${codehaus.jackson.version} - - - org.codehaus.jackson - jackson-jaxrs - ${codehaus.jackson.version} - - - org.codehaus.jackson - jackson-xc - ${codehaus.jackson.version} - - - - - - org.antlr - antlr-runtime - ${antlr.version} - - - jline - jline - ${jline.version} - - - sqlline - sqlline - ${sqlline.version} - - - co.cask.tephra - tephra-api - ${tephra.version} - - - co.cask.tephra - tephra-core - ${tephra.version} - - - co.cask.tephra - tephra-hbase-compat-1.1 - ${tephra.version} - - - org.apache.httpcomponents - httpclient - 4.0.1 - - - org.iq80.snappy - snappy - ${snappy.version} - - - commons-codec - commons-codec - ${commons-codec.version} - - - commons-collections - commons-collections - ${collections.version} - - - org.apache.commons - commons-csv - ${commons-csv.version} - - - joda-time - joda-time - - - - \ No newline at end of file diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp3.1/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp3.1/pom.xml deleted file mode 100644 index ee2c708c193..00000000000 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp3.1/pom.xml +++ /dev/null @@ -1,542 +0,0 @@ - - - - 4.0.0 - - - org.opencb.opencga - opencga-storage-hadoop-deps - 3.0.0-SNAPSHOT - ../pom.xml - - - - opencga-storage-hadoop-deps-hdp3.1 - jar - - - ${artifactId} - 3.1.4.41-5 - - 3.1.1.${hdp.dependencies.version} - 2.0.2.${hdp.dependencies.version} - - 2.1.0 - 3.4.6 - 5.0.0.${hdp.dependencies.version} - 0.14.0-incubating - 0.7.0 - - 3.3.6 - 3.2.1 - 3.6.1 - - 1.18 - 2.5 - 3.6 - 2.12.0 - - 9.3.24.v20180605 - - 28.0-jre - - - - hortonworks-releases - https://repo.hortonworks.com/content/repositories/releases/ - - - hortonworks-public - https://repo.hortonworks.com/content/groups/public - - - - - - - - - com.google.protobuf - protobuf-java - ${protobuf2.version} - true - - - com.google.guava - guava - ${guava.version} - true - - - - - - - - - - org.apache.hadoop - hadoop-common - ${hadoop.version} - true - - - org.apache.hadoop - hadoop-client - ${hadoop.version} - true - - - org.apache.hadoop - hadoop-azure - ${hadoop.version} - true - - - - - org.apache.hbase - hbase-server - ${hbase.version} - true - - - - - org.apache.phoenix - phoenix-core - ${phoenix.version} - true - - - - - - - - org.apache.hadoop - hadoop-minicluster - ${hadoop.version} - true - - - org.apache.hbase - hbase-testing-util - ${hbase.version} - test-jar - true - - - org.apache.hbase - hbase-it - ${hbase.version} - test-jar - true - - - - - - - - - - org.apache.htrace - htrace-core - 3.1.0-incubating - - - commons-cli - commons-cli - 1.2 - - - - - org.apache.avro - avro - - - org.apache.avro - avro-ipc - - - org.apache.avro - avro-mapred - hadoop2 - - - - - - - - - commons-lang - commons-lang - - - commons-logging - commons-logging - - - commons-io - commons-io - ${commons-io.version} - - - commons-net - commons-net - ${commons-net.version} - - - commons-httpclient - commons-httpclient - ${commons-httpclient.version} - - - org.apache.curator - curator-recipes - ${curator.version} - - - org.apache.curator - curator-client - ${curator.version} - - - org.apache.curator - curator-framework - ${curator.version} - - - org.apache.zookeeper - zookeeper - ${zookeeper.version} - - - org.eclipse.jetty - jetty-server - ${jetty.version} - true - - - org.eclipse.jetty - jetty-util - ${jetty.version} - true - - - org.eclipse.jetty - jetty-servlet - ${jetty.version} - true - - - org.eclipse.jetty - jetty-webapp - ${jetty.version} - true - - - org.eclipse.jetty - jetty-security - ${jetty.version} - true - - - org.eclipse.jetty - jetty-http - ${jetty.version} - true - - - org.eclipse.jetty - jetty-io - ${jetty.version} - true - - - - - org.fusesource.leveldbjni - leveldbjni-all - ${leveldbjni-all.version} - - - - - org.apache.directory.server - apacheds-kerberos-codec - compile - ${apacheds-kerberos-codec.version} - - - - - com.microsoft.azure - azure-storage - 2.0.0 - - - - org.mortbay.jetty - jetty-util - ${mortbay.jetty.version} - - - - - com.lmax - disruptor - ${disruptor.version} - - - - - - - - org.apache.commons - commons-math - ${commons-math.version} - - - org.apache.commons - commons-compress - ${commons-compress.version} - - - io.netty - netty-all - ${netty.version} - - - org.jamon - jamon-runtime - ${jamon-runtime.version} - - - org.codehaus.jackson - jackson-core-asl - ${codehaus.jackson.version} - - - org.codehaus.jackson - jackson-mapper-asl - ${codehaus.jackson.version} - - - org.codehaus.jackson - jackson-jaxrs - ${codehaus.jackson.version} - - - org.codehaus.jackson - jackson-xc - ${codehaus.jackson.version} - - - - - - org.antlr - antlr-runtime - ${antlr.version} - - - jline - jline - ${jline.version} - - - sqlline - sqlline - ${sqlline.version} - - - - - - - - - - - - - - - - - - org.apache.httpcomponents - httpclient - 4.0.1 - - - org.iq80.snappy - snappy - ${snappy.version} - - - commons-codec - commons-codec - ${commons-codec.version} - - - commons-collections - commons-collections - ${collections.version} - - - org.apache.commons - commons-csv - ${commons-csv.version} - - - joda-time - joda-time - - - - - org.apache.hbase.thirdparty - hbase-shaded-netty - ${hbase-thirdparty.version} - - true - - - org.apache.tephra - tephra-api - ${apache.tephra.version} - - - org.apache.tephra - tephra-core - ${apache.tephra.version} - - - ch.qos.logback - logback-core - - - ch.qos.logback - logback-classic - - - - - org.apache.tephra - tephra-hbase-compat-1.1 - ${apache.tephra.version} - - - - - - org.apache.commons - commons-configuration2 - 2.1.1 - - - org.apache.commons - commons-lang3 - - - - - - - org.apache.commons - commons-math3 - ${commons-math3.version} - - - - - io.dropwizard.metrics - metrics-core - ${io.dropwizard.metrics-core.version} - - - - - org.apache.htrace - htrace-core4 - 4.1.0-incubating - - - - com.google.re2j - re2j - 1.1 - - - - org.apache.hbase.thirdparty - hbase-shaded-protobuf - ${hbase-thirdparty.version} - - - - org.apache.hbase.thirdparty - hbase-shaded-miscellaneous - ${hbase-thirdparty.version} - - - org.apache.yetus - audience-annotations - 0.5.0 - - - - org.apache.hadoop - hadoop-azure-datalake - ${hadoop.version} - true - - - - org.wildfly.openssl - wildfly-openssl - 1.0.7.Final - - - - - \ No newline at end of file diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/pom.xml deleted file mode 100644 index 9d9c1350046..00000000000 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/pom.xml +++ /dev/null @@ -1,1042 +0,0 @@ - - - - - - 4.0.0 - - - org.opencb.opencga - opencga-storage-hadoop - 3.0.0-SNAPSHOT - ../pom.xml - - - - opencga-storage-hadoop-deps-hdp3.1 - opencga-storage-hadoop-deps-emr6.1 - opencga-storage-hadoop-deps-hdp2.6 - - - - - - - opencga-storage-hadoop-deps - pom - - - true - - - 2.7.3 - 1.1.2 - 4.7.0-HBase-1.1 - - 2.5.0 - 15.0 - - - 3.1 - 1.4.1 - 2.5 - 3.1 - 2.7.1 - 2.0.0-M15 - 1.8 - 3.4.6 - - - 2.2.0 - 3.3.0 - 2.2 - 4.0.23.Final - 2.4.1 - 1.9.13 - 6.1.26 - - - 1.6 - - 2.5 - 1.2 - 1.0 - 1.7 - 3.2.1 - 1.1.9 - 2.11 - 3.5.2 - 0.7.0 - 0.3 - - 1.6 - - - - - - - - - - com.google.protobuf - protobuf-java - ${protobuf2.version} - true - - - com.google.guava - guava - ${guava.version} - true - - - - - - - - - - org.apache.hadoop - hadoop-common - ${hadoop.version} - true - - - org.apache.hadoop - hadoop-client - ${hadoop.version} - true - - - org.apache.hadoop - hadoop-azure - ${hadoop.version} - true - - - org.apache.hadoop - hadoop-common - - - org.apache.commons - commons-lang3 - - - - - - - org.apache.hbase - hbase-server - ${hbase.version} - true - - - org.mortbay.jetty - jetty - - - org.mortbay.jetty - jetty-util - - - org.mortbay.jetty - jsp-2.1 - - - org.mortbay.jetty - jsp-api-2.1 - - - org.mortbay.jetty - servlet-api-2.5 - - - org.mortbay.jetty - jetty-sslengine - - - com.sun.jersey - jersey-core - - - com.sun.jersey - jersey-json - - - com.sun.jersey - jersey-server - - - org.slf4j - slf4j-api - - - org.slf4j - slf4j-log4j12 - - - com.lmax - disruptor - - - - - - - org.apache.phoenix - phoenix-core - ${phoenix.version} - true - - - org.apache.hadoop - hadoop-common - - - org.apache.hadoop - hadoop-client - - - org.apache.hadoop - hadoop-mapreduce-client-core - - - org.apache.hadoop - hadoop-annotations - - - org.apache.hadoop - hadoop-azure - - - org.apache.hbase - hbase-server - - - org.apache.hbase - hbase-client - - - org.apache.hbase - hbase-compact - - - org.apache.hbase - hbase-hadoop-compat - - - org.apache.hbase - hbase-common - - - org.apache.hbase - hbase-protocol - - - org.apache.hbase - hbase-annotations - - - - - - - - - - - org.apache.htrace - htrace-core - 3.1.0-incubating - - - commons-cli - commons-cli - 1.2 - - - - - org.apache.avro - avro - ${avro.version} - - - org.apache.avro - avro-ipc - ${avro.version} - - - org.mortbay.jetty - servlet-api - - - jetty - org.mortbay.jetty - - - jetty-util - org.mortbay.jetty - - - - - org.apache.avro - avro-mapred - hadoop2 - ${avro.version} - - - org.mortbay.jetty - servlet-api - - - jetty - org.mortbay.jetty - - - jetty-util - org.mortbay.jetty - - - - - - - commons-configuration - commons-configuration - 1.6 - - - commons-lang - commons-lang - 2.6 - - - commons-logging - commons-logging - 1.1.3 - - - commons-io - commons-io - ${commons-io.version} - - - commons-net - commons-net - ${commons-net.version} - - - commons-httpclient - commons-httpclient - ${commons-httpclient.version} - - - org.apache.curator - curator-recipes - ${curator.version} - - - org.apache.curator - curator-client - ${curator.version} - - - org.apache.curator - curator-framework - ${curator.version} - - - org.apache.zookeeper - zookeeper - ${zookeeper.version} - - - jline - jline - - - org.jboss.netty - netty - - - - junit - junit - - - com.sun.jdmk - jmxtools - - - com.sun.jmx - jmxri - - - org.slf4j - slf4j-log4j12 - - - log4j - log4j - - - - - - - org.fusesource.leveldbjni - leveldbjni-all - ${leveldbjni-all.version} - - - - - org.apache.directory.server - apacheds-kerberos-codec - compile - ${apacheds-kerberos-codec.version} - - - org.apache.directory.api - api-asn1-ber - - - org.apache.directory.api - api-i18n - - - org.apache.directory.api - api-ldap-model - - - net.sf.ehcache - ehcache-core - - - - - - - com.microsoft.azure - azure-storage - 2.0.0 - - - org.apache.hadoop - hadoop-common - - - org.apache.commons - commons-lang3 - - - - - - org.mortbay.jetty - jetty-util - ${mortbay.jetty.version} - - - org.mortbay.jetty - servlet-api - - - - - - - com.lmax - disruptor - ${disruptor.version} - - - com.yammer.metrics - metrics-core - ${metrics-core.version} - - - org.apache.commons - commons-math - ${commons-math.version} - - - org.apache.commons - commons-compress - ${commons-compress.version} - - - io.netty - netty-all - ${netty.version} - - - org.jamon - jamon-runtime - ${jamon-runtime.version} - - - org.codehaus.jackson - jackson-core-asl - ${codehaus.jackson.version} - - - org.codehaus.jackson - jackson-mapper-asl - ${codehaus.jackson.version} - - - org.codehaus.jackson - jackson-jaxrs - ${codehaus.jackson.version} - - - org.codehaus.jackson - jackson-xc - ${codehaus.jackson.version} - - - - - - org.antlr - antlr-runtime - ${antlr.version} - - - jline - jline - ${jline.version} - - - sqlline - sqlline - ${sqlline.version} - - - co.cask.tephra - tephra-api - ${tephra.version} - - - co.cask.tephra - tephra-core - ${tephra.version} - - - ch.qos.logback - logback-core - - - ch.qos.logback - logback-classic - - - - - co.cask.tephra - tephra-hbase-compat-1.1 - ${tephra.version} - - - org.apache.httpcomponents - httpclient - 4.0.1 - - - org.iq80.snappy - snappy - ${snappy.version} - - - commons-codec - commons-codec - ${commons-codec.version} - - - commons-collections - commons-collections - ${collections.version} - - - org.apache.commons - commons-csv - ${commons-csv.version} - - - joda-time - joda-time - ${joda.version} - - - - - - - - org.apache.hadoop - hadoop-minicluster - ${hadoop.version} - true - - - org.apache.hbase - hbase-testing-util - ${hbase.version} - test-jar - true - - - org.apache.hbase - hbase-it - ${hbase.version} - test-jar - true - - - hbase-server - org.apache.hbase - - - - - - log4j - log4j - 1.2.17 - true - - - - - - - - org.apache.maven.plugins - maven-install-plugin - 2.5.2 - - - my_install - - install - - - - - - - - - - org.apache.maven.plugins - maven-jar-plugin - - - jar - - jar - - - true - - - - test-jar - - test-jar - - - tests - true - - - - - - org.apache.maven.plugins - maven-shade-plugin - - - shade-main-jar - package - - shade - - - shaded - true - - true - true - true - - - - com.sun.jersey:jersey-server - - com/sun/jersey/server/impl/provider/RuntimeDelegateImpl* - - - - com.sun.jersey:jersey-client - - com/sun/ws/rs/ext/RuntimeDelegateImpl* - - - - - com.google.guava:guava - - com/google/common/io/Closeables* - com/google/common/base/Stopwatch* - com/google/common/base/Preconditions* - - - - org.apache.phoenix:phoenix-core - - com/codahale/metrics/* - - - - - - - - - - - - javax.ws.rs - shaded.javax.ws.rs - - - com.google.protobuf - shaded.com.google.protobuf - - - - com.google.common - shaded.com.google.common - - com.google.common.io.Closeables - com.google.common.base.Stopwatch - com.google.common.base.Preconditions - - - - - - - org.eclipse.jetty - shaded.org.eclipse.jetty - - org.eclipse.jetty.server.** - org.eclipse.jetty.webapp.** - org.eclipse.jetty.servlet.** - org.eclipse.jetty.security.** - org.eclipse.jetty.http.** - org.eclipse.jetty.io.** - org.eclipse.jetty.util.** - - - - - - - - - javax.ws.rs - - - com.sun.jersey - - - org.apache.hadoop - - org.apache.hbase - - - - - - - - - - org.apache.phoenix - - - - - com.google.guava - com.google.protobuf - - - org.apache.hbase.thirdparty:hbase-shaded-netty - - org.eclipse.jetty:jetty-server - org.eclipse.jetty:jetty-webapp - org.eclipse.jetty:jetty-servlet - org.eclipse.jetty:jetty-security - org.eclipse.jetty:jetty-http - org.eclipse.jetty:jetty-io - org.eclipse.jetty:jetty-util - - - - org.apache.hbase:**:tests - org.apache.hadoop:hadoop-minicluster - org.apache.hadoop:**:tests - org.mortbay.jetty:** - log4j:** - - - - - - - - - - - - - shade-test-jar - package - - shade - - - true - tests - true - - - - - - - - javax.ws.rs - shaded.javax.ws.rs - - - com.google.protobuf - shaded.com.google.protobuf - - - - com.google.common - shaded.com.google.common - - com.google.common.io.Closeables - com.google.common.base.Stopwatch - - - - - org.eclipse.jetty - shaded.org.eclipse.jetty - - org.eclipse.jetty.server.** - org.eclipse.jetty.webapp.** - org.eclipse.jetty.servlet.** - org.eclipse.jetty.security.** - org.eclipse.jetty.http.** - org.eclipse.jetty.io.** - org.eclipse.jetty.util.** - - - - - - - - - - - - org.apache.hbase:**:tests - org.apache.hadoop:hadoop-minicluster - org.apache.hadoop:**:tests - org.mortbay.jetty:servlet-api - org.mortbay.jetty:jetty - org.mortbay.jetty:jetty-util - org.mortbay.jetty:jetty-sslengine - log4j:** - - - - - - - - - - - - - - org.apache.maven.plugins - maven-dependency-plugin - 3.6.0 - - - analyze - - analyze-only - - - false - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From 424d1a445544d8cd1cf0a84ac590090c618c68e3 Mon Sep 17 00:00:00 2001 From: JuanfeSanahuja Date: Thu, 7 Mar 2024 18:34:59 +0100 Subject: [PATCH 85/89] Prepare release 3.0.0 --- opencga-analysis/pom.xml | 2 +- opencga-app/pom.xml | 2 +- opencga-catalog/pom.xml | 2 +- opencga-client/pom.xml | 2 +- opencga-clinical/pom.xml | 2 +- opencga-core/pom.xml | 2 +- opencga-master/pom.xml | 2 +- opencga-server/pom.xml | 2 +- opencga-storage/opencga-storage-app/pom.xml | 2 +- opencga-storage/opencga-storage-benchmark/pom.xml | 2 +- opencga-storage/opencga-storage-core/pom.xml | 2 +- .../opencga-storage-hadoop-compat-api/pom.xml | 2 +- .../opencga-storage-hadoop-compat-hbase2.0/pom.xml | 2 +- .../opencga-storage-hadoop-compat-hbase2.2/pom.xml | 2 +- .../opencga-storage-hadoop-compat-hbase2.4/pom.xml | 2 +- .../opencga-storage-hadoop-compat/pom.xml | 2 +- .../opencga-storage-hadoop-core/pom.xml | 2 +- .../opencga-storage-hadoop-lib-emr6.1/pom.xml | 2 +- .../opencga-storage-hadoop-lib-emr6.13/pom.xml | 2 +- .../opencga-storage-hadoop-lib-hdi5.1/pom.xml | 2 +- .../opencga-storage-hadoop-lib-hdp3.1/pom.xml | 2 +- .../opencga-storage-hadoop-lib/pom.xml | 2 +- opencga-storage/opencga-storage-hadoop/pom.xml | 2 +- opencga-storage/opencga-storage-server/pom.xml | 2 +- opencga-storage/pom.xml | 2 +- opencga-test/pom.xml | 2 +- pom.xml | 14 +++++++------- 27 files changed, 33 insertions(+), 33 deletions(-) diff --git a/opencga-analysis/pom.xml b/opencga-analysis/pom.xml index 896632402e1..b207d265360 100644 --- a/opencga-analysis/pom.xml +++ b/opencga-analysis/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 3.0.0-SNAPSHOT + 3.0.0 ../pom.xml diff --git a/opencga-app/pom.xml b/opencga-app/pom.xml index 80f8a238c0e..955c526ad6e 100644 --- a/opencga-app/pom.xml +++ b/opencga-app/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 3.0.0-SNAPSHOT + 3.0.0 ../pom.xml diff --git a/opencga-catalog/pom.xml b/opencga-catalog/pom.xml index 1c630e8d691..9ec39cb0aa7 100644 --- a/opencga-catalog/pom.xml +++ b/opencga-catalog/pom.xml @@ -23,7 +23,7 @@ org.opencb.opencga opencga - 3.0.0-SNAPSHOT + 3.0.0 ../pom.xml diff --git a/opencga-client/pom.xml b/opencga-client/pom.xml index e8e9c753dd4..d267e075341 100644 --- a/opencga-client/pom.xml +++ b/opencga-client/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 3.0.0-SNAPSHOT + 3.0.0 ../pom.xml diff --git a/opencga-clinical/pom.xml b/opencga-clinical/pom.xml index 80cf5324837..f996aa69c44 100644 --- a/opencga-clinical/pom.xml +++ b/opencga-clinical/pom.xml @@ -5,7 +5,7 @@ org.opencb.opencga opencga - 3.0.0-SNAPSHOT + 3.0.0 ../pom.xml 4.0.0 diff --git a/opencga-core/pom.xml b/opencga-core/pom.xml index dd8e2ad01d4..5b93869e400 100644 --- a/opencga-core/pom.xml +++ b/opencga-core/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 3.0.0-SNAPSHOT + 3.0.0 ../pom.xml diff --git a/opencga-master/pom.xml b/opencga-master/pom.xml index 8152c26eaf4..c689e382215 100644 --- a/opencga-master/pom.xml +++ b/opencga-master/pom.xml @@ -22,7 +22,7 @@ opencga org.opencb.opencga - 3.0.0-SNAPSHOT + 3.0.0 ../pom.xml diff --git a/opencga-server/pom.xml b/opencga-server/pom.xml index c5632ce7c14..dc20e3dcf3a 100644 --- a/opencga-server/pom.xml +++ b/opencga-server/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 3.0.0-SNAPSHOT + 3.0.0 ../pom.xml diff --git a/opencga-storage/opencga-storage-app/pom.xml b/opencga-storage/opencga-storage-app/pom.xml index 38475fb2365..6b1f0a28fb5 100644 --- a/opencga-storage/opencga-storage-app/pom.xml +++ b/opencga-storage/opencga-storage-app/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage - 3.0.0-SNAPSHOT + 3.0.0 ../pom.xml diff --git a/opencga-storage/opencga-storage-benchmark/pom.xml b/opencga-storage/opencga-storage-benchmark/pom.xml index 66f14ff71c6..fb71790dc5e 100644 --- a/opencga-storage/opencga-storage-benchmark/pom.xml +++ b/opencga-storage/opencga-storage-benchmark/pom.xml @@ -22,7 +22,7 @@ opencga-storage org.opencb.opencga - 3.0.0-SNAPSHOT + 3.0.0 ../pom.xml diff --git a/opencga-storage/opencga-storage-core/pom.xml b/opencga-storage/opencga-storage-core/pom.xml index e1fe11fd455..3688c101f6b 100644 --- a/opencga-storage/opencga-storage-core/pom.xml +++ b/opencga-storage/opencga-storage-core/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage - 3.0.0-SNAPSHOT + 3.0.0 ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-api/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-api/pom.xml index c132f168e75..44fd8cf29d7 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-api/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-api/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage-hadoop-compat - 3.0.0-SNAPSHOT + 3.0.0 ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.0/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.0/pom.xml index 5397637414f..327725fd2e4 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.0/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.0/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage-hadoop-compat - 3.0.0-SNAPSHOT + 3.0.0 ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.2/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.2/pom.xml index 9faa5dbe70a..4f094c0a282 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.2/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.2/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage-hadoop-compat - 3.0.0-SNAPSHOT + 3.0.0 ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.4/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.4/pom.xml index 140f3c239e6..be88884b590 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.4/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.4/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage-hadoop-compat - 3.0.0-SNAPSHOT + 3.0.0 ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/pom.xml index 4718c9e24e6..d6758ba7e39 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/pom.xml @@ -23,7 +23,7 @@ org.opencb.opencga opencga-storage-hadoop - 3.0.0-SNAPSHOT + 3.0.0 ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/pom.xml index c7b4e429c48..508b1b2468b 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/pom.xml @@ -23,7 +23,7 @@ org.opencb.opencga opencga-storage-hadoop - 3.0.0-SNAPSHOT + 3.0.0 ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-lib/opencga-storage-hadoop-lib-emr6.1/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-lib/opencga-storage-hadoop-lib-emr6.1/pom.xml index 7e68b543899..177e7d79267 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-lib/opencga-storage-hadoop-lib-emr6.1/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-lib/opencga-storage-hadoop-lib-emr6.1/pom.xml @@ -7,7 +7,7 @@ org.opencb.opencga opencga-storage-hadoop-lib - 3.0.0-SNAPSHOT + 3.0.0 ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-lib/opencga-storage-hadoop-lib-emr6.13/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-lib/opencga-storage-hadoop-lib-emr6.13/pom.xml index 4f5a99e5897..2152ce3ec3e 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-lib/opencga-storage-hadoop-lib-emr6.13/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-lib/opencga-storage-hadoop-lib-emr6.13/pom.xml @@ -7,7 +7,7 @@ org.opencb.opencga opencga-storage-hadoop-lib - 3.0.0-SNAPSHOT + 3.0.0 ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-lib/opencga-storage-hadoop-lib-hdi5.1/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-lib/opencga-storage-hadoop-lib-hdi5.1/pom.xml index 31b1f00598d..a0fae207eff 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-lib/opencga-storage-hadoop-lib-hdi5.1/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-lib/opencga-storage-hadoop-lib-hdi5.1/pom.xml @@ -7,7 +7,7 @@ org.opencb.opencga opencga-storage-hadoop-lib - 3.0.0-SNAPSHOT + 3.0.0 ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-lib/opencga-storage-hadoop-lib-hdp3.1/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-lib/opencga-storage-hadoop-lib-hdp3.1/pom.xml index 024269d35fc..f273977d555 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-lib/opencga-storage-hadoop-lib-hdp3.1/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-lib/opencga-storage-hadoop-lib-hdp3.1/pom.xml @@ -7,7 +7,7 @@ org.opencb.opencga opencga-storage-hadoop-lib - 3.0.0-SNAPSHOT + 3.0.0 ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-lib/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-lib/pom.xml index 917c026de61..94139ce36d5 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-lib/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-lib/pom.xml @@ -23,7 +23,7 @@ org.opencb.opencga opencga-storage-hadoop - 3.0.0-SNAPSHOT + 3.0.0 ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/pom.xml b/opencga-storage/opencga-storage-hadoop/pom.xml index b3264cdf8db..46501dba0bf 100644 --- a/opencga-storage/opencga-storage-hadoop/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/pom.xml @@ -23,7 +23,7 @@ org.opencb.opencga opencga-storage - 3.0.0-SNAPSHOT + 3.0.0 ../pom.xml diff --git a/opencga-storage/opencga-storage-server/pom.xml b/opencga-storage/opencga-storage-server/pom.xml index c2d67f4046c..dc9acd1a6b1 100644 --- a/opencga-storage/opencga-storage-server/pom.xml +++ b/opencga-storage/opencga-storage-server/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage - 3.0.0-SNAPSHOT + 3.0.0 ../pom.xml diff --git a/opencga-storage/pom.xml b/opencga-storage/pom.xml index 221a9b348c6..164e769ee99 100644 --- a/opencga-storage/pom.xml +++ b/opencga-storage/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 3.0.0-SNAPSHOT + 3.0.0 ../pom.xml diff --git a/opencga-test/pom.xml b/opencga-test/pom.xml index dcf660958ab..1076e3ad276 100644 --- a/opencga-test/pom.xml +++ b/opencga-test/pom.xml @@ -24,7 +24,7 @@ org.opencb.opencga opencga - 3.0.0-SNAPSHOT + 3.0.0 ../pom.xml diff --git a/pom.xml b/pom.xml index 7d49e44a0c7..ea34c50ade0 100644 --- a/pom.xml +++ b/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 3.0.0-SNAPSHOT + 3.0.0 pom OpenCGA @@ -43,12 +43,12 @@ - 3.0.0_dev - 3.0.0_dev - 6.0.0-SNAPSHOT - 3.0.0-SNAPSHOT - 5.0.0-SNAPSHOT - 3.0.0-SNAPSHOT + 3.0.0 + 3.0.0 + 6.0.0 + 3.0.0 + 5.0.0 + 3.0.0 0.2.0 2.14.3 From 7f52ceb41aa7abd0885e855d47cdbfe5ea9a2e4c Mon Sep 17 00:00:00 2001 From: JuanfeSanahuja Date: Thu, 7 Mar 2024 18:36:43 +0100 Subject: [PATCH 86/89] Prepare new development branch release-3.0.x --- opencga-analysis/pom.xml | 2 +- opencga-app/pom.xml | 2 +- opencga-catalog/pom.xml | 2 +- opencga-client/pom.xml | 2 +- opencga-clinical/pom.xml | 2 +- opencga-core/pom.xml | 2 +- opencga-master/pom.xml | 2 +- opencga-server/pom.xml | 2 +- opencga-storage/opencga-storage-app/pom.xml | 2 +- opencga-storage/opencga-storage-benchmark/pom.xml | 2 +- opencga-storage/opencga-storage-core/pom.xml | 2 +- .../opencga-storage-hadoop-compat-api/pom.xml | 2 +- .../opencga-storage-hadoop-compat-hbase2.0/pom.xml | 2 +- .../opencga-storage-hadoop-compat-hbase2.2/pom.xml | 2 +- .../opencga-storage-hadoop-compat-hbase2.4/pom.xml | 2 +- .../opencga-storage-hadoop-compat/pom.xml | 2 +- .../opencga-storage-hadoop-core/pom.xml | 2 +- .../opencga-storage-hadoop-lib-emr6.1/pom.xml | 2 +- .../opencga-storage-hadoop-lib-emr6.13/pom.xml | 2 +- .../opencga-storage-hadoop-lib-hdi5.1/pom.xml | 2 +- .../opencga-storage-hadoop-lib-hdp3.1/pom.xml | 2 +- .../opencga-storage-hadoop-lib/pom.xml | 2 +- opencga-storage/opencga-storage-hadoop/pom.xml | 2 +- opencga-storage/opencga-storage-server/pom.xml | 2 +- opencga-storage/pom.xml | 2 +- opencga-test/pom.xml | 2 +- pom.xml | 14 +++++++------- 27 files changed, 33 insertions(+), 33 deletions(-) diff --git a/opencga-analysis/pom.xml b/opencga-analysis/pom.xml index b207d265360..5a20730f71c 100644 --- a/opencga-analysis/pom.xml +++ b/opencga-analysis/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 3.0.0 + 3.1.0-SNAPSHOT ../pom.xml diff --git a/opencga-app/pom.xml b/opencga-app/pom.xml index 955c526ad6e..6dcf364e559 100644 --- a/opencga-app/pom.xml +++ b/opencga-app/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 3.0.0 + 3.1.0-SNAPSHOT ../pom.xml diff --git a/opencga-catalog/pom.xml b/opencga-catalog/pom.xml index 9ec39cb0aa7..fac816b2a76 100644 --- a/opencga-catalog/pom.xml +++ b/opencga-catalog/pom.xml @@ -23,7 +23,7 @@ org.opencb.opencga opencga - 3.0.0 + 3.1.0-SNAPSHOT ../pom.xml diff --git a/opencga-client/pom.xml b/opencga-client/pom.xml index d267e075341..ce253ddc6ae 100644 --- a/opencga-client/pom.xml +++ b/opencga-client/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 3.0.0 + 3.1.0-SNAPSHOT ../pom.xml diff --git a/opencga-clinical/pom.xml b/opencga-clinical/pom.xml index f996aa69c44..215d392ce1c 100644 --- a/opencga-clinical/pom.xml +++ b/opencga-clinical/pom.xml @@ -5,7 +5,7 @@ org.opencb.opencga opencga - 3.0.0 + 3.1.0-SNAPSHOT ../pom.xml 4.0.0 diff --git a/opencga-core/pom.xml b/opencga-core/pom.xml index 5b93869e400..432db00c834 100644 --- a/opencga-core/pom.xml +++ b/opencga-core/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 3.0.0 + 3.1.0-SNAPSHOT ../pom.xml diff --git a/opencga-master/pom.xml b/opencga-master/pom.xml index c689e382215..eda14c31ea1 100644 --- a/opencga-master/pom.xml +++ b/opencga-master/pom.xml @@ -22,7 +22,7 @@ opencga org.opencb.opencga - 3.0.0 + 3.1.0-SNAPSHOT ../pom.xml diff --git a/opencga-server/pom.xml b/opencga-server/pom.xml index dc20e3dcf3a..94dc9cf9bf9 100644 --- a/opencga-server/pom.xml +++ b/opencga-server/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 3.0.0 + 3.1.0-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-app/pom.xml b/opencga-storage/opencga-storage-app/pom.xml index 6b1f0a28fb5..cc692c6fcea 100644 --- a/opencga-storage/opencga-storage-app/pom.xml +++ b/opencga-storage/opencga-storage-app/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage - 3.0.0 + 3.1.0-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-benchmark/pom.xml b/opencga-storage/opencga-storage-benchmark/pom.xml index fb71790dc5e..bae503e0e91 100644 --- a/opencga-storage/opencga-storage-benchmark/pom.xml +++ b/opencga-storage/opencga-storage-benchmark/pom.xml @@ -22,7 +22,7 @@ opencga-storage org.opencb.opencga - 3.0.0 + 3.1.0-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-core/pom.xml b/opencga-storage/opencga-storage-core/pom.xml index 3688c101f6b..0dffe6806ff 100644 --- a/opencga-storage/opencga-storage-core/pom.xml +++ b/opencga-storage/opencga-storage-core/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage - 3.0.0 + 3.1.0-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-api/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-api/pom.xml index 44fd8cf29d7..deac888af82 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-api/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-api/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage-hadoop-compat - 3.0.0 + 3.1.0-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.0/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.0/pom.xml index 327725fd2e4..661d9416a8f 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.0/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.0/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage-hadoop-compat - 3.0.0 + 3.1.0-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.2/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.2/pom.xml index 4f094c0a282..358590f69f6 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.2/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.2/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage-hadoop-compat - 3.0.0 + 3.1.0-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.4/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.4/pom.xml index be88884b590..394e6c90e16 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.4/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/opencga-storage-hadoop-compat-hbase2.4/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage-hadoop-compat - 3.0.0 + 3.1.0-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/pom.xml index d6758ba7e39..58aac8414c5 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-compat/pom.xml @@ -23,7 +23,7 @@ org.opencb.opencga opencga-storage-hadoop - 3.0.0 + 3.1.0-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/pom.xml index 508b1b2468b..8ed2b87e4bb 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/pom.xml @@ -23,7 +23,7 @@ org.opencb.opencga opencga-storage-hadoop - 3.0.0 + 3.1.0-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-lib/opencga-storage-hadoop-lib-emr6.1/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-lib/opencga-storage-hadoop-lib-emr6.1/pom.xml index 177e7d79267..45370142854 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-lib/opencga-storage-hadoop-lib-emr6.1/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-lib/opencga-storage-hadoop-lib-emr6.1/pom.xml @@ -7,7 +7,7 @@ org.opencb.opencga opencga-storage-hadoop-lib - 3.0.0 + 3.1.0-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-lib/opencga-storage-hadoop-lib-emr6.13/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-lib/opencga-storage-hadoop-lib-emr6.13/pom.xml index 2152ce3ec3e..82a3d1f0fdc 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-lib/opencga-storage-hadoop-lib-emr6.13/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-lib/opencga-storage-hadoop-lib-emr6.13/pom.xml @@ -7,7 +7,7 @@ org.opencb.opencga opencga-storage-hadoop-lib - 3.0.0 + 3.1.0-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-lib/opencga-storage-hadoop-lib-hdi5.1/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-lib/opencga-storage-hadoop-lib-hdi5.1/pom.xml index a0fae207eff..c4839e1c646 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-lib/opencga-storage-hadoop-lib-hdi5.1/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-lib/opencga-storage-hadoop-lib-hdi5.1/pom.xml @@ -7,7 +7,7 @@ org.opencb.opencga opencga-storage-hadoop-lib - 3.0.0 + 3.1.0-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-lib/opencga-storage-hadoop-lib-hdp3.1/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-lib/opencga-storage-hadoop-lib-hdp3.1/pom.xml index f273977d555..8d09832b15a 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-lib/opencga-storage-hadoop-lib-hdp3.1/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-lib/opencga-storage-hadoop-lib-hdp3.1/pom.xml @@ -7,7 +7,7 @@ org.opencb.opencga opencga-storage-hadoop-lib - 3.0.0 + 3.1.0-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-lib/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-lib/pom.xml index 94139ce36d5..0326f2479f3 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-lib/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-lib/pom.xml @@ -23,7 +23,7 @@ org.opencb.opencga opencga-storage-hadoop - 3.0.0 + 3.1.0-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/pom.xml b/opencga-storage/opencga-storage-hadoop/pom.xml index 46501dba0bf..7d97161a5e3 100644 --- a/opencga-storage/opencga-storage-hadoop/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/pom.xml @@ -23,7 +23,7 @@ org.opencb.opencga opencga-storage - 3.0.0 + 3.1.0-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-server/pom.xml b/opencga-storage/opencga-storage-server/pom.xml index dc9acd1a6b1..054ab3bc9de 100644 --- a/opencga-storage/opencga-storage-server/pom.xml +++ b/opencga-storage/opencga-storage-server/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage - 3.0.0 + 3.1.0-SNAPSHOT ../pom.xml diff --git a/opencga-storage/pom.xml b/opencga-storage/pom.xml index 164e769ee99..20db88ba519 100644 --- a/opencga-storage/pom.xml +++ b/opencga-storage/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 3.0.0 + 3.1.0-SNAPSHOT ../pom.xml diff --git a/opencga-test/pom.xml b/opencga-test/pom.xml index 1076e3ad276..12981fefe10 100644 --- a/opencga-test/pom.xml +++ b/opencga-test/pom.xml @@ -24,7 +24,7 @@ org.opencb.opencga opencga - 3.0.0 + 3.1.0-SNAPSHOT ../pom.xml diff --git a/pom.xml b/pom.xml index ea34c50ade0..0403f1bca8c 100644 --- a/pom.xml +++ b/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 3.0.0 + 3.1.0-SNAPSHOT pom OpenCGA @@ -43,12 +43,12 @@ - 3.0.0 - 3.0.0 - 6.0.0 - 3.0.0 - 5.0.0 - 3.0.0 + 3.1.0_dev + 3.1.0_dev + 6.1.0-SNAPSHOT + 3.1.0-SNAPSHOT + 5.1.0-SNAPSHOT + 3.1.0-SNAPSHOT 0.2.0 2.14.3 From c54477d199e0a06814f41ea365b83d98fe8474f5 Mon Sep 17 00:00:00 2001 From: JuanfeSanahuja Date: Fri, 8 Mar 2024 16:41:32 +0100 Subject: [PATCH 87/89] Prepare cicd release --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b7fccc7fa3f..0481b386dca 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -23,7 +23,7 @@ jobs: uses: opencb/java-common-libs/.github/workflows/deploy-docker-hub-workflow.yml@develop needs: build with: - cli: python3 ./build/cloud/docker/docker-build.py push --images base,init + cli: python3 ./build/cloud/docker/docker-build.py push --images base,init --tag ${{ needs.build.outputs.version }} secrets: inherit deploy-python: From b1c1b13cd03364afc1e14165ac31c33289f6a791 Mon Sep 17 00:00:00 2001 From: JuanfeSanahuja Date: Fri, 8 Mar 2024 17:10:14 +0100 Subject: [PATCH 88/89] Prepare release 2.12.3 --- opencga-analysis/pom.xml | 2 +- opencga-app/pom.xml | 2 +- opencga-catalog/pom.xml | 2 +- opencga-client/pom.xml | 2 +- opencga-clinical/pom.xml | 2 +- opencga-core/pom.xml | 2 +- opencga-master/pom.xml | 2 +- opencga-server/pom.xml | 2 +- opencga-storage/opencga-storage-app/pom.xml | 2 +- opencga-storage/opencga-storage-benchmark/pom.xml | 2 +- opencga-storage/opencga-storage-core/pom.xml | 2 +- .../opencga-storage-hadoop-core/pom.xml | 2 +- .../opencga-storage-hadoop-deps-emr6.1/pom.xml | 2 +- .../opencga-storage-hadoop-deps-hdp2.6/pom.xml | 2 +- .../opencga-storage-hadoop-deps-hdp3.1/pom.xml | 2 +- .../opencga-storage-hadoop-deps/pom.xml | 2 +- opencga-storage/opencga-storage-hadoop/pom.xml | 2 +- opencga-storage/opencga-storage-server/pom.xml | 2 +- opencga-storage/pom.xml | 2 +- opencga-test/pom.xml | 2 +- pom.xml | 14 +++++++------- 21 files changed, 27 insertions(+), 27 deletions(-) diff --git a/opencga-analysis/pom.xml b/opencga-analysis/pom.xml index 9e67e5abd6d..2f37a252831 100644 --- a/opencga-analysis/pom.xml +++ b/opencga-analysis/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 2.12.3-SNAPSHOT + 2.12.3 ../pom.xml diff --git a/opencga-app/pom.xml b/opencga-app/pom.xml index 9014be55b89..469a78da211 100644 --- a/opencga-app/pom.xml +++ b/opencga-app/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 2.12.3-SNAPSHOT + 2.12.3 ../pom.xml diff --git a/opencga-catalog/pom.xml b/opencga-catalog/pom.xml index 37ccba9b126..45841f053b8 100644 --- a/opencga-catalog/pom.xml +++ b/opencga-catalog/pom.xml @@ -23,7 +23,7 @@ org.opencb.opencga opencga - 2.12.3-SNAPSHOT + 2.12.3 ../pom.xml diff --git a/opencga-client/pom.xml b/opencga-client/pom.xml index c02fc16f87f..f83bc38566c 100644 --- a/opencga-client/pom.xml +++ b/opencga-client/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 2.12.3-SNAPSHOT + 2.12.3 ../pom.xml diff --git a/opencga-clinical/pom.xml b/opencga-clinical/pom.xml index daaefd9783c..c940323e6c3 100644 --- a/opencga-clinical/pom.xml +++ b/opencga-clinical/pom.xml @@ -5,7 +5,7 @@ org.opencb.opencga opencga - 2.12.3-SNAPSHOT + 2.12.3 ../pom.xml 4.0.0 diff --git a/opencga-core/pom.xml b/opencga-core/pom.xml index 4359b28eb39..d604a47f8a7 100644 --- a/opencga-core/pom.xml +++ b/opencga-core/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 2.12.3-SNAPSHOT + 2.12.3 ../pom.xml diff --git a/opencga-master/pom.xml b/opencga-master/pom.xml index f8336b9cafc..b73a4997bde 100644 --- a/opencga-master/pom.xml +++ b/opencga-master/pom.xml @@ -22,7 +22,7 @@ opencga org.opencb.opencga - 2.12.3-SNAPSHOT + 2.12.3 ../pom.xml diff --git a/opencga-server/pom.xml b/opencga-server/pom.xml index 624520ae185..cc283eec5b3 100644 --- a/opencga-server/pom.xml +++ b/opencga-server/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 2.12.3-SNAPSHOT + 2.12.3 ../pom.xml diff --git a/opencga-storage/opencga-storage-app/pom.xml b/opencga-storage/opencga-storage-app/pom.xml index 45e1d70baf2..2ac713e617f 100644 --- a/opencga-storage/opencga-storage-app/pom.xml +++ b/opencga-storage/opencga-storage-app/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage - 2.12.3-SNAPSHOT + 2.12.3 ../pom.xml diff --git a/opencga-storage/opencga-storage-benchmark/pom.xml b/opencga-storage/opencga-storage-benchmark/pom.xml index 6753e6b9b76..a7165736683 100644 --- a/opencga-storage/opencga-storage-benchmark/pom.xml +++ b/opencga-storage/opencga-storage-benchmark/pom.xml @@ -22,7 +22,7 @@ opencga-storage org.opencb.opencga - 2.12.3-SNAPSHOT + 2.12.3 ../pom.xml diff --git a/opencga-storage/opencga-storage-core/pom.xml b/opencga-storage/opencga-storage-core/pom.xml index 60f8935f9c5..de4c0fa391f 100644 --- a/opencga-storage/opencga-storage-core/pom.xml +++ b/opencga-storage/opencga-storage-core/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage - 2.12.3-SNAPSHOT + 2.12.3 ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/pom.xml index 0f3aa20292b..57b93f43638 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/pom.xml @@ -23,7 +23,7 @@ org.opencb.opencga opencga-storage-hadoop - 2.12.3-SNAPSHOT + 2.12.3 ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-emr6.1/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-emr6.1/pom.xml index f26f95ba4e2..187bcf1ebca 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-emr6.1/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-emr6.1/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage-hadoop-deps - 2.12.3-SNAPSHOT + 2.12.3 ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp2.6/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp2.6/pom.xml index a8fc767bcd1..3d9770ca8b6 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp2.6/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp2.6/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage-hadoop-deps - 2.12.3-SNAPSHOT + 2.12.3 ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp3.1/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp3.1/pom.xml index 2bdf0c2524f..1dcdfd8806f 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp3.1/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp3.1/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage-hadoop-deps - 2.12.3-SNAPSHOT + 2.12.3 ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/pom.xml index 54adedea682..a2f013cecee 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/pom.xml @@ -50,7 +50,7 @@ org.opencb.opencga opencga-storage-hadoop - 2.12.3-SNAPSHOT + 2.12.3 ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/pom.xml b/opencga-storage/opencga-storage-hadoop/pom.xml index 6e3ad65ac21..dfcc535c552 100644 --- a/opencga-storage/opencga-storage-hadoop/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/pom.xml @@ -28,7 +28,7 @@ org.opencb.opencga opencga-storage - 2.12.3-SNAPSHOT + 2.12.3 ../pom.xml diff --git a/opencga-storage/opencga-storage-server/pom.xml b/opencga-storage/opencga-storage-server/pom.xml index 53215221e7d..7fa16cd7e44 100644 --- a/opencga-storage/opencga-storage-server/pom.xml +++ b/opencga-storage/opencga-storage-server/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage - 2.12.3-SNAPSHOT + 2.12.3 ../pom.xml diff --git a/opencga-storage/pom.xml b/opencga-storage/pom.xml index 4f6b1923191..1b9aa4d14f1 100644 --- a/opencga-storage/pom.xml +++ b/opencga-storage/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 2.12.3-SNAPSHOT + 2.12.3 ../pom.xml diff --git a/opencga-test/pom.xml b/opencga-test/pom.xml index e655e693e56..9e45f063d59 100644 --- a/opencga-test/pom.xml +++ b/opencga-test/pom.xml @@ -24,7 +24,7 @@ org.opencb.opencga opencga - 2.12.3-SNAPSHOT + 2.12.3 ../pom.xml diff --git a/pom.xml b/pom.xml index 6333c20566b..d87ec40c887 100644 --- a/pom.xml +++ b/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 2.12.3-SNAPSHOT + 2.12.3 pom OpenCGA @@ -43,12 +43,12 @@ - 2.12.3_dev - 2.12.3_dev - 5.8.3-SNAPSHOT - 2.12.2-SNAPSHOT - 4.12.1-SNAPSHOT - 2.12.3-SNAPSHOT + 2.12.3 + 2.12.3 + 5.8.2 + 2.12.1 + 4.12.0 + 2.12.3 0.2.0 2.11.4 From 322e41d9aebd495c8f964cb7e5d2d754d89a929f Mon Sep 17 00:00:00 2001 From: JuanfeSanahuja Date: Mon, 11 Mar 2024 15:46:32 +0100 Subject: [PATCH 89/89] pom: Prepare port patch #TASK-5827 --- opencga-analysis/pom.xml | 2 +- opencga-app/pom.xml | 2 +- opencga-catalog/pom.xml | 2 +- opencga-client/pom.xml | 2 +- opencga-clinical/pom.xml | 2 +- opencga-core/pom.xml | 2 +- opencga-master/pom.xml | 2 +- opencga-server/pom.xml | 2 +- opencga-storage/opencga-storage-app/pom.xml | 2 +- opencga-storage/opencga-storage-benchmark/pom.xml | 2 +- opencga-storage/opencga-storage-core/pom.xml | 2 +- .../opencga-storage-hadoop/opencga-storage-hadoop-core/pom.xml | 2 +- .../opencga-storage-hadoop-deps-emr6.1/pom.xml | 2 +- .../opencga-storage-hadoop-deps-hdp2.6/pom.xml | 2 +- .../opencga-storage-hadoop-deps-hdp3.1/pom.xml | 2 +- .../opencga-storage-hadoop/opencga-storage-hadoop-deps/pom.xml | 2 +- opencga-storage/opencga-storage-hadoop/pom.xml | 2 +- opencga-storage/opencga-storage-server/pom.xml | 2 +- opencga-storage/pom.xml | 2 +- opencga-test/pom.xml | 2 +- pom.xml | 2 +- 21 files changed, 21 insertions(+), 21 deletions(-) diff --git a/opencga-analysis/pom.xml b/opencga-analysis/pom.xml index 2f37a252831..802ea748ffb 100644 --- a/opencga-analysis/pom.xml +++ b/opencga-analysis/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 2.12.3 + 3.1.0-SNAPSHOT ../pom.xml diff --git a/opencga-app/pom.xml b/opencga-app/pom.xml index 469a78da211..e6c9fa7259e 100644 --- a/opencga-app/pom.xml +++ b/opencga-app/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 2.12.3 + 3.1.0-SNAPSHOT ../pom.xml diff --git a/opencga-catalog/pom.xml b/opencga-catalog/pom.xml index 45841f053b8..d652ccf2333 100644 --- a/opencga-catalog/pom.xml +++ b/opencga-catalog/pom.xml @@ -23,7 +23,7 @@ org.opencb.opencga opencga - 2.12.3 + 3.1.0-SNAPSHOT ../pom.xml diff --git a/opencga-client/pom.xml b/opencga-client/pom.xml index f83bc38566c..ce253ddc6ae 100644 --- a/opencga-client/pom.xml +++ b/opencga-client/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 2.12.3 + 3.1.0-SNAPSHOT ../pom.xml diff --git a/opencga-clinical/pom.xml b/opencga-clinical/pom.xml index c940323e6c3..215d392ce1c 100644 --- a/opencga-clinical/pom.xml +++ b/opencga-clinical/pom.xml @@ -5,7 +5,7 @@ org.opencb.opencga opencga - 2.12.3 + 3.1.0-SNAPSHOT ../pom.xml 4.0.0 diff --git a/opencga-core/pom.xml b/opencga-core/pom.xml index d604a47f8a7..432db00c834 100644 --- a/opencga-core/pom.xml +++ b/opencga-core/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 2.12.3 + 3.1.0-SNAPSHOT ../pom.xml diff --git a/opencga-master/pom.xml b/opencga-master/pom.xml index b73a4997bde..eda14c31ea1 100644 --- a/opencga-master/pom.xml +++ b/opencga-master/pom.xml @@ -22,7 +22,7 @@ opencga org.opencb.opencga - 2.12.3 + 3.1.0-SNAPSHOT ../pom.xml diff --git a/opencga-server/pom.xml b/opencga-server/pom.xml index cc283eec5b3..2f238cb9285 100644 --- a/opencga-server/pom.xml +++ b/opencga-server/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 2.12.3 + 3.1.0-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-app/pom.xml b/opencga-storage/opencga-storage-app/pom.xml index 2ac713e617f..a8ee604270d 100644 --- a/opencga-storage/opencga-storage-app/pom.xml +++ b/opencga-storage/opencga-storage-app/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage - 2.12.3 + 3.1.0-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-benchmark/pom.xml b/opencga-storage/opencga-storage-benchmark/pom.xml index a7165736683..7b67cd57de7 100644 --- a/opencga-storage/opencga-storage-benchmark/pom.xml +++ b/opencga-storage/opencga-storage-benchmark/pom.xml @@ -22,7 +22,7 @@ opencga-storage org.opencb.opencga - 2.12.3 + 3.1.0-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-core/pom.xml b/opencga-storage/opencga-storage-core/pom.xml index de4c0fa391f..874f7cee714 100644 --- a/opencga-storage/opencga-storage-core/pom.xml +++ b/opencga-storage/opencga-storage-core/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage - 2.12.3 + 3.1.0-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/pom.xml index 57b93f43638..727640bc7b5 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-core/pom.xml @@ -23,7 +23,7 @@ org.opencb.opencga opencga-storage-hadoop - 2.12.3 + 3.1.0-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-emr6.1/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-emr6.1/pom.xml index 187bcf1ebca..6b742b4588d 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-emr6.1/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-emr6.1/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage-hadoop-deps - 2.12.3 + 3.1.0-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp2.6/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp2.6/pom.xml index 3d9770ca8b6..dd2888ac17c 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp2.6/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp2.6/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage-hadoop-deps - 2.12.3 + 3.1.0-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp3.1/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp3.1/pom.xml index 1dcdfd8806f..58b95f8b8d8 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp3.1/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/opencga-storage-hadoop-deps-hdp3.1/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage-hadoop-deps - 2.12.3 + 3.1.0-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/pom.xml b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/pom.xml index a2f013cecee..66ff4078f24 100644 --- a/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/opencga-storage-hadoop-deps/pom.xml @@ -50,7 +50,7 @@ org.opencb.opencga opencga-storage-hadoop - 2.12.3 + 3.1.0-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-hadoop/pom.xml b/opencga-storage/opencga-storage-hadoop/pom.xml index dfcc535c552..27b1d923f76 100644 --- a/opencga-storage/opencga-storage-hadoop/pom.xml +++ b/opencga-storage/opencga-storage-hadoop/pom.xml @@ -28,7 +28,7 @@ org.opencb.opencga opencga-storage - 2.12.3 + 3.1.0-SNAPSHOT ../pom.xml diff --git a/opencga-storage/opencga-storage-server/pom.xml b/opencga-storage/opencga-storage-server/pom.xml index 7fa16cd7e44..054ab3bc9de 100644 --- a/opencga-storage/opencga-storage-server/pom.xml +++ b/opencga-storage/opencga-storage-server/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga-storage - 2.12.3 + 3.1.0-SNAPSHOT ../pom.xml diff --git a/opencga-storage/pom.xml b/opencga-storage/pom.xml index 1b9aa4d14f1..20db88ba519 100644 --- a/opencga-storage/pom.xml +++ b/opencga-storage/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 2.12.3 + 3.1.0-SNAPSHOT ../pom.xml diff --git a/opencga-test/pom.xml b/opencga-test/pom.xml index 9e45f063d59..c04600f263f 100644 --- a/opencga-test/pom.xml +++ b/opencga-test/pom.xml @@ -24,7 +24,7 @@ org.opencb.opencga opencga - 2.12.3 + 3.1.0-SNAPSHOT ../pom.xml diff --git a/pom.xml b/pom.xml index d87ec40c887..789ba90cd0b 100644 --- a/pom.xml +++ b/pom.xml @@ -22,7 +22,7 @@ org.opencb.opencga opencga - 2.12.3 + 3.1.0-SNAPSHOT pom OpenCGA