From 5fa5c2d04311721652332161f7fb577ef4f0a1f0 Mon Sep 17 00:00:00 2001 From: pfurio Date: Fri, 31 Mar 2023 16:17:19 +0200 Subject: [PATCH] tools: update panel parser, #TASK-4150 --- .../tools/clinical/DiseasePanelParsers.java | 22 ++++++------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/biodata-tools/src/main/java/org/opencb/biodata/tools/clinical/DiseasePanelParsers.java b/biodata-tools/src/main/java/org/opencb/biodata/tools/clinical/DiseasePanelParsers.java index 51c92a5c..dcf26363 100644 --- a/biodata-tools/src/main/java/org/opencb/biodata/tools/clinical/DiseasePanelParsers.java +++ b/biodata-tools/src/main/java/org/opencb/biodata/tools/clinical/DiseasePanelParsers.java @@ -143,26 +143,18 @@ public static DiseasePanel parseCensus(Path censusTsvFile) throws IOException { case "Role in Cancer": if (StringUtils.isNotEmpty(value)) { String[] roles = value.split(", "); - ClinicalProperty.RoleInCancer roleInCancer = null; + Set rolesInCancer = new HashSet<>(); for (String role : roles) { - ClinicalProperty.RoleInCancer tmpRole = null; if ("TSG".equals(role)) { - tmpRole = ClinicalProperty.RoleInCancer.TUMOR_SUPPRESSOR_GENE; + rolesInCancer.add(ClinicalProperty.RoleInCancer.TUMOR_SUPPRESSOR_GENE); } else if ("oncogene".equals(role)) { - tmpRole = ClinicalProperty.RoleInCancer.ONCOGENE; - } - if (tmpRole != null && roleInCancer == null) { - roleInCancer = tmpRole; - } else if (tmpRole != null) { - if (tmpRole != roleInCancer) { - roleInCancer = ClinicalProperty.RoleInCancer.BOTH; - } else { - System.out.println("Found repeated roles?"); - } + rolesInCancer.add(ClinicalProperty.RoleInCancer.ONCOGENE); + } else if ("fusion".equals(role)) { + rolesInCancer.add(ClinicalProperty.RoleInCancer.FUSION); } } - if (roleInCancer != null) { - genePanel.getCancer().setRoles(Collections.singletonList(roleInCancer)); + if (!rolesInCancer.isEmpty()) { + genePanel.getCancer().setRoles(new ArrayList<>(rolesInCancer)); } } break;