From 30878c4cde0da062e4d8876baec8a7d85ba326bb Mon Sep 17 00:00:00 2001 From: Nick <53413353+nickpalladino@users.noreply.github.com> Date: Thu, 25 May 2023 14:15:36 -0400 Subject: [PATCH 1/2] Use additional info for pedigree gids --- .../brapi/v2/services/BrAPIGermplasmService.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/main/java/org/breedinginsight/brapi/v2/services/BrAPIGermplasmService.java b/src/main/java/org/breedinginsight/brapi/v2/services/BrAPIGermplasmService.java index 527ad1272..c02a7f13e 100644 --- a/src/main/java/org/breedinginsight/brapi/v2/services/BrAPIGermplasmService.java +++ b/src/main/java/org/breedinginsight/brapi/v2/services/BrAPIGermplasmService.java @@ -138,14 +138,14 @@ public List> processListData(List germplasm, } } - if ((germplasmEntry.getPedigree() != null) && (!germplasmEntry.getPedigree().isEmpty())) { - Pedigree germPedigree = Pedigree.parsePedigreeString(germplasmEntry.getPedigree()); - if (!germPedigree.maleParent.isEmpty()) { - row.put("Male Parent GID", Integer.parseInt(germPedigree.maleParent)); - } - if (!germPedigree.femaleParent.isEmpty()) { - row.put("Female Parent GID", Integer.parseInt(germPedigree.femaleParent)); - } + if (germplasmEntry.getAdditionalInfo().get(BrAPIAdditionalInfoFields.GERMPLASM_MALE_PARENT_GID) != null) { + row.put("Male Parent GID", germplasmEntry.getAdditionalInfo() + .get(BrAPIAdditionalInfoFields.GERMPLASM_MALE_PARENT_GID).getAsInt()); + } + + if (germplasmEntry.getAdditionalInfo().get(BrAPIAdditionalInfoFields.GERMPLASM_FEMALE_PARENT_GID) != null) { + row.put("Female Parent GID", germplasmEntry.getAdditionalInfo() + .get(BrAPIAdditionalInfoFields.GERMPLASM_FEMALE_PARENT_GID).getAsInt()); } // Synonyms From a0e57662ebeaa30fc699a78d708b4ee818793f80 Mon Sep 17 00:00:00 2001 From: Nick <53413353+nickpalladino@users.noreply.github.com> Date: Thu, 1 Jun 2023 14:53:04 -0400 Subject: [PATCH 2/2] Accounted for entry number of 0 --- .../v2/constants/BrAPIAdditionalInfoFields.java | 2 ++ .../brapi/v2/services/BrAPIGermplasmService.java | 13 +++++++++++++ .../services/processors/GermplasmProcessor.java | 4 ++-- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/breedinginsight/brapi/v2/constants/BrAPIAdditionalInfoFields.java b/src/main/java/org/breedinginsight/brapi/v2/constants/BrAPIAdditionalInfoFields.java index 8503b406e..9e0289a51 100644 --- a/src/main/java/org/breedinginsight/brapi/v2/constants/BrAPIAdditionalInfoFields.java +++ b/src/main/java/org/breedinginsight/brapi/v2/constants/BrAPIAdditionalInfoFields.java @@ -41,4 +41,6 @@ public final class BrAPIAdditionalInfoFields { public static final String ENVIRONMENT_NUMBER = "environmentNumber"; public static final String STUDY_NAME = "studyName"; public static final String OBSERVATION_DATASET_ID = "observationDatasetId"; + public static final String FEMALE_PARENT_UNKNOWN = "femaleParentUnknown"; + public static final String MALE_PARENT_UNKNOWN = "maleParentUnknown"; } diff --git a/src/main/java/org/breedinginsight/brapi/v2/services/BrAPIGermplasmService.java b/src/main/java/org/breedinginsight/brapi/v2/services/BrAPIGermplasmService.java index c02a7f13e..719b76b5e 100644 --- a/src/main/java/org/breedinginsight/brapi/v2/services/BrAPIGermplasmService.java +++ b/src/main/java/org/breedinginsight/brapi/v2/services/BrAPIGermplasmService.java @@ -138,14 +138,27 @@ public List> processListData(List germplasm, } } + // Try getting parentGID otherwise look for unknownParent flag if (germplasmEntry.getAdditionalInfo().get(BrAPIAdditionalInfoFields.GERMPLASM_MALE_PARENT_GID) != null) { row.put("Male Parent GID", germplasmEntry.getAdditionalInfo() .get(BrAPIAdditionalInfoFields.GERMPLASM_MALE_PARENT_GID).getAsInt()); + } else if (germplasmEntry.getAdditionalInfo().get(BrAPIAdditionalInfoFields.MALE_PARENT_UNKNOWN) != null) { + if (germplasmEntry.getAdditionalInfo().get(BrAPIAdditionalInfoFields.MALE_PARENT_UNKNOWN).getAsBoolean()) { + row.put("Male Parent GID", 0); + } + } else { + log.error("Male Parent missing expected value"); } if (germplasmEntry.getAdditionalInfo().get(BrAPIAdditionalInfoFields.GERMPLASM_FEMALE_PARENT_GID) != null) { row.put("Female Parent GID", germplasmEntry.getAdditionalInfo() .get(BrAPIAdditionalInfoFields.GERMPLASM_FEMALE_PARENT_GID).getAsInt()); + } else if (germplasmEntry.getAdditionalInfo().get(BrAPIAdditionalInfoFields.FEMALE_PARENT_UNKNOWN) != null) { + if (germplasmEntry.getAdditionalInfo().get(BrAPIAdditionalInfoFields.FEMALE_PARENT_UNKNOWN).getAsBoolean()) { + row.put("Female Parent GID", 0); + } + } else { + log.error("Female Parent missing expected value"); } // Synonyms diff --git a/src/main/java/org/breedinginsight/brapps/importer/services/processors/GermplasmProcessor.java b/src/main/java/org/breedinginsight/brapps/importer/services/processors/GermplasmProcessor.java index e0c8b60b2..cc4d8f476 100644 --- a/src/main/java/org/breedinginsight/brapps/importer/services/processors/GermplasmProcessor.java +++ b/src/main/java/org/breedinginsight/brapps/importer/services/processors/GermplasmProcessor.java @@ -584,8 +584,8 @@ else if (germplasmIndexByEntryNo.containsKey(germplasm.getFemaleParentEntryNo()) if (existingPedigree.isEmpty()) { mappedBrAPIImport.get(i).getGermplasm().getBrAPIObject().setPedigree(pedigreeString.length() > 0 ? pedigreeString.toString() : null); //Simpler to just always add boolean, but consider for logic that previous imported values won't have that additional info value - mappedBrAPIImport.get(i).getGermplasm().getBrAPIObject().putAdditionalInfoItem("femaleParentUnknown", femaleParentUnknown); - mappedBrAPIImport.get(i).getGermplasm().getBrAPIObject().putAdditionalInfoItem("maleParentUnknown", maleParentUnknown); + mappedBrAPIImport.get(i).getGermplasm().getBrAPIObject().putAdditionalInfoItem(BrAPIAdditionalInfoFields.FEMALE_PARENT_UNKNOWN, femaleParentUnknown); + mappedBrAPIImport.get(i).getGermplasm().getBrAPIObject().putAdditionalInfoItem(BrAPIAdditionalInfoFields.MALE_PARENT_UNKNOWN, maleParentUnknown); } } }