Skip to content

Commit

Permalink
review comments incorporated
Browse files Browse the repository at this point in the history
  • Loading branch information
nitin-ebi committed Apr 26, 2024
1 parent 2f29133 commit dab4e0f
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -192,20 +192,23 @@ public void writeRSMerge(SubmittedVariantOperationEntity currentOperation)
ImmutablePair<ClusteredVariantEntity, List<ClusteredVariantEntity>> mergeDestinationAndMergees =
getMergeDestinationAndMergees(mergeCandidates);
ClusteredVariantEntity mergeDestination = mergeDestinationAndMergees.getLeft();
List<ClusteredVariantEntity> mergees = mergeDestinationAndMergees.getRight();

// check if any variant with same hash as mergeDestination already exist in DB
ClusteredVariantEntity existingClusteredVariantEntity = getClusteredVariantEntityWithHash(mergeDestination);
if (existingClusteredVariantEntity != null && existingClusteredVariantEntity.getAccession()!=mergeDestination.getAccession()) {
if (mergeDestination.getAccession() == ClusteredVariantMergingPolicy.prioritise(mergeDestination.getAccession(),
existingClusteredVariantEntity.getAccession()).accessionToKeep) {
merge(mergeDestination, existingClusteredVariantEntity, currentOperation);
} else {
merge(existingClusteredVariantEntity, mergeDestination, currentOperation);
mergeDestination = existingClusteredVariantEntity;
if (mergees.size() > 1) {
// check if any variant with same hash as mergeDestination already exist in DB
ClusteredVariantEntity existingClusteredVariantEntity = getClusteredVariantEntityWithHash(mergeDestination);
if (existingClusteredVariantEntity != null && existingClusteredVariantEntity.getAccession() != mergeDestination.getAccession()) {
if (mergeDestination.getAccession() == ClusteredVariantMergingPolicy.prioritise(mergeDestination.getAccession(),
existingClusteredVariantEntity.getAccession()).accessionToKeep) {
merge(mergeDestination, existingClusteredVariantEntity, currentOperation);
mergees = mergees.stream()
.filter(cve -> !(cve.equals(existingClusteredVariantEntity)
&& cve.getAccession() == existingClusteredVariantEntity.getAccession()))
.collect(Collectors.toList());
}
}
}

List<ClusteredVariantEntity> mergees = mergeDestinationAndMergees.getRight();
for (ClusteredVariantEntity mergee: mergees) {
logger.info("RS merge operation: Merging rs{} to rs{} due to hash collision...",
mergee.getAccession(), mergeDestination.getAccession());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -483,8 +483,8 @@ public void testRSWithSameHashAsMergeDestinationAlreadyExistsInDBWithLowerAccess

SubmittedVariantOperationEntity mergeOperation1 = new SubmittedVariantOperationEntity();
mergeOperation1.fill(RSMergeAndSplitCandidatesReaderConfiguration.MERGE_CANDIDATES_EVENT_TYPE,
ss2.getAccession(), null, "Different RS with matching loci",
Stream.of(ss2, ss3).map(SubmittedVariantInactiveEntity::new).collect(Collectors.toList()));
ss1.getAccession(), null, "Different RS with matching loci",
Stream.of(ss1, ss2, ss3).map(SubmittedVariantInactiveEntity::new).collect(Collectors.toList()));
mergeOperation1.setId(ClusteringWriter.getMergeCandidateId(mergeOperation1));
this.mongoTemplate.insert(Arrays.asList(mergeOperation1), SUBMITTED_VARIANT_OPERATION_COLLECTION);

Expand Down

0 comments on commit dab4e0f

Please sign in to comment.