Skip to content

Commit

Permalink
Merge pull request #110 from KPMP/TI_Fix
Browse files Browse the repository at this point in the history
Ti fix
  • Loading branch information
rlreamy authored Dec 21, 2023
2 parents 7f6febb + e7f3334 commit bc3ba90
Show file tree
Hide file tree
Showing 3 changed files with 90 additions and 19 deletions.
45 changes: 27 additions & 18 deletions src/main/java/org/kpmp/cellTypeSummary/ClusterHierarchyService.java
Original file line number Diff line number Diff line change
@@ -1,11 +1,6 @@
package org.kpmp.cellTypeSummary;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;

import org.kpmp.DataTypeEnum;
import org.springframework.beans.factory.annotation.Autowired;
Expand Down Expand Up @@ -39,7 +34,16 @@ public List<ClusterHierarchy> findClustersByCellType(String cellType) {
clusterToHierarchy.put(clusterName, clusterHierarchy);
}
}

if (cellType.equals("Tubules") || cellType.equals("Interstitium")) {
ClusterHierarchy tiCluster = new ClusterHierarchy();
tiCluster.setStructureRegion("Tubulo-interstitium");
tiCluster.setIsSingleCellCluster("N");
tiCluster.setIsSingleNucCluster("N");
tiCluster.setIsRegionalProteomics("Y");
tiCluster.setIsRegionalTranscriptomics("Y");
tiCluster.setCellTypeOrder(0.01);
result.add(tiCluster);
}
result.addAll(clusterToHierarchy.values());
Collections.sort(result, new Comparator<ClusterHierarchy>() {
@Override
Expand All @@ -52,18 +56,23 @@ public int compare(ClusterHierarchy a, ClusterHierarchy b) {

public List<String> findDataTypesByClusterName(String clusterName) {
List<String> dataTypesRepresented = new ArrayList<>();
ClusterHierarchy clustersInDataTypes = clusterHierarchyRepo.findFirstByClusterOrRegion(clusterName);
if (clustersInDataTypes.getIsSingleCellCluster().equalsIgnoreCase("Y")) {
dataTypesRepresented.add(DataTypeEnum.SINGLE_CELL.getAbbreviation());
}
if (clustersInDataTypes.getIsSingleNucCluster().equalsIgnoreCase("Y")) {
dataTypesRepresented.add(DataTypeEnum.SINGLE_NUCLEUS.getAbbreviation());
}
if (clustersInDataTypes.getIsRegionalTranscriptomics().equalsIgnoreCase("Y")) {
dataTypesRepresented.add(DataTypeEnum.REGIONAL_TRANSCRIPTOMICS.getAbbreviation());
}
if (clustersInDataTypes.getIsRegionalProteomics().equalsIgnoreCase("Y")) {
if (clusterName.equals("Tubulo-interstitium")) {
dataTypesRepresented.add(DataTypeEnum.REGIONAL_PROTEOMICS.getAbbreviation());
dataTypesRepresented.add(DataTypeEnum.REGIONAL_TRANSCRIPTOMICS.getAbbreviation());
} else {
ClusterHierarchy clustersInDataTypes = clusterHierarchyRepo.findFirstByClusterOrRegion(clusterName);
if (clustersInDataTypes.getIsSingleCellCluster().equalsIgnoreCase("Y")) {
dataTypesRepresented.add(DataTypeEnum.SINGLE_CELL.getAbbreviation());
}
if (clustersInDataTypes.getIsSingleNucCluster().equalsIgnoreCase("Y")) {
dataTypesRepresented.add(DataTypeEnum.SINGLE_NUCLEUS.getAbbreviation());
}
if (clustersInDataTypes.getIsRegionalTranscriptomics().equalsIgnoreCase("Y")) {
dataTypesRepresented.add(DataTypeEnum.REGIONAL_TRANSCRIPTOMICS.getAbbreviation());
}
if (clustersInDataTypes.getIsRegionalProteomics().equalsIgnoreCase("Y")) {
dataTypesRepresented.add(DataTypeEnum.REGIONAL_PROTEOMICS.getAbbreviation());
}
}
return dataTypesRepresented;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
package org.kpmp.cellTypeSummary;

import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.*;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

Expand Down Expand Up @@ -190,4 +191,24 @@ public void testFindDataTypesByClusterNameWhenRPY() throws Exception {
assertEquals(Arrays.asList("rp"), dataTypes);
verify(clusterHierarchyRepo).findFirstByClusterOrRegion("cluster");
}

@Test
public void testFindClustersByCellTypeTubulesOrInterstitium() throws Exception {
List<ClusterHierarchy> clusterHierarchies = new ArrayList<>();
when(clusterHierarchyRepo.findByCellType("Tubules")).thenReturn(clusterHierarchies);
when(clusterHierarchyRepo.findByCellType("Interstitium")).thenReturn(clusterHierarchies);
List<ClusterHierarchy> clusters = service.findClustersByCellType("Tubules");
assertEquals("Tubulo-interstitium", clusters.get(0).getStructureRegion());
List<ClusterHierarchy> clusters2 = service.findClustersByCellType("Interstitium");
assertEquals("Tubulo-interstitium", clusters2.get(0).getStructureRegion());
}

@Test
public void testFindDataTypesByClusterNameTi() throws Exception {
List<String> dataTypes = service.findDataTypesByClusterName("Tubulo-interstitium");
assertTrue(dataTypes.contains(DataTypeEnum.REGIONAL_PROTEOMICS.getAbbreviation()));
assertTrue(dataTypes.contains(DataTypeEnum.REGIONAL_TRANSCRIPTOMICS.getAbbreviation()));
assertFalse(dataTypes.contains(DataTypeEnum.SINGLE_CELL.getAbbreviation()));
assertFalse(dataTypes.contains(DataTypeEnum.SINGLE_NUCLEUS.getAbbreviation()));
}
}
41 changes: 41 additions & 0 deletions src/test/java/org/kpmp/geneExpression/RPAccessionGroupTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
package org.kpmp.geneExpression;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import static org.junit.jupiter.api.Assertions.assertEquals;

public class RPAccessionGroupTest {

private RPAccessionGroup rpAccessionGroup;

@Before
public void setUp() throws Exception {
rpAccessionGroup = new RPAccessionGroup();
}

@After
public void tearDown() throws Exception {
rpAccessionGroup = null;
}

@Test
public void testConstructor() throws Exception {
RPExpressionByTissueType rpExpressionByTissueType = new RPExpressionByTissueType();
RPAccessionGroup rpAccessionGroup1 = new RPAccessionGroup("accession", rpExpressionByTissueType);
assertEquals(rpExpressionByTissueType, rpAccessionGroup1.getRpExpressionByTissueType());
assertEquals("accession", rpAccessionGroup1.getAccession());
}

@Test
public void testSetters() throws Exception {
RPExpressionByTissueType rpExpressionByTissueType = new RPExpressionByTissueType();
rpAccessionGroup.setAccession("1234");
rpAccessionGroup.setRpExpressionByTissueType(rpExpressionByTissueType);
assertEquals("1234", rpAccessionGroup.getAccession());
assertEquals(rpExpressionByTissueType, rpAccessionGroup.getRpExpressionByTissueType());
}


}

0 comments on commit bc3ba90

Please sign in to comment.