private static boolean safeCategoryCheck(Sample sample, String category) { DetailedSample detailedSample = (DetailedSample) sample; if (detailedSample.getSampleClass() == null) return false; return category.equals(detailedSample.getSampleClass().getSampleCategory()); }
public static boolean isSampleSlide(DetailedSample sample) { return sample instanceof SampleSlide || sample.getSampleClass().getAlias().equals(SampleSlide.SAMPLE_CLASS_NAME); }
public static boolean isValidRelationship(Iterable<SampleValidRelationship> relations, Sample parent, Sample child) { if (parent == null && !isDetailedSample(child)) { return true; // Simple sample has no relationships. } if (!isDetailedSample(child) || !isDetailedSample(parent)) { return false; } return isValidRelationship( relations, ((DetailedSample) parent).getSampleClass(), ((DetailedSample) child).getSampleClass()); }
@Override public ProgressStep create(String input, Set<InputType> inputTypes) throws IOException { SampleProgressStep step = ((SampleProgressStep) super.create(input, inputTypes)); if (step == null) { return null; } if (((DetailedSample) step.getInput()).getSampleClass().getSampleCategory().equals("Stock")) { return step; } return null; }
private void validateHierarchy(DetailedSample sample) throws IOException { Set<SampleValidRelationship> sampleValidRelationships = sampleValidRelationshipService.getAll(); if (!isValidRelationship(sampleValidRelationships, sample.getParent(), sample)) { throw new IllegalArgumentException("Parent " + sample.getParent().getSampleClass().getAlias() + " not permitted to have a child of type " + sample.getSampleClass().getAlias()); } }
private void validateParentOrThrow(Library library) { if (!isDetailedLibrary(library)) return; if (!isAliquotSample(library.getSample())) { String sc = null; if (isDetailedSample(library.getSample())) { DetailedSample sample = (DetailedSample) library.getSample(); sc = sample.getSampleClass() == null ? "not set" : sample.getSampleClass().getAlias(); } else { sc = "Plain Sample"; } throw new IllegalArgumentException(String.format("Sample Class '%s' is not a valid parent for Libraries. Must be an aliquot", sc)); } }
private String addSiblingTag(String parentAlias, DetailedSample sample) throws IOException { SampleClass sc = sample.getSampleClass(); if (sc == null || sc.getSuffix() == null) { throw new InvalidParameterException("Unexpected null SampleClass or suffix"); } String partialAlias = parentAlias + SEPARATOR + sc.getSuffix(); if (sample.getSiblingNumber() == null) { if (siblingNumberGenerator == null) { throw new IllegalStateException("No SiblingNumberGenerator configured"); } sample.setSiblingNumber(siblingNumberGenerator.getNextSiblingNumber(SampleImpl.class, partialAlias)); } String siblingNum = sample.getSiblingNumber().toString(); // Sibling number is only padded for Tissue Processing if (isTissueProcessingSample(sample)) { while (siblingNum.length() < 2) siblingNum = "0" + siblingNum; } return partialAlias + siblingNum; }
validRelationship -> !validRelationship.getArchived() && validRelationship.getChild().getId().equals(sampleClass.getId()) && validRelationship.getParent().getId().equals(sample.getSampleClass().getId())); } catch (IOException e) { log.error("Error getting SampleValidRelationship", e);
public boolean validate(Library library) { if (!(library.getSample() instanceof DetailedSample)) return true; if (((DetailedSample) library.getSample()).getSampleClass().getId() != sampleClass.getId()) return false; if (library.getLibrarySelectionType().getId() != librarySelectionType.getId()) return false; if (library.getLibraryStrategyType().getId() != libraryStrategyType.getId()) return false; return true; }
tissue.getSampleClass().setId(childDto.getParentTissueSampleClassId()); tissue.setParent(parent); parent = tissue; DetailedSample tissueProcessing = toSingleCellSample((SampleSingleCellRelative) childDto); tissueProcessing.setSampleClass(new SampleClassImpl()); tissueProcessing.getSampleClass().setId(stockDto.getTissueProcessingClassId()); tissueProcessing.setParent(parent); parent = tissueProcessing; DetailedSample stock = toStockSample((SampleStockDto) childDto); stock.setSampleClass(new SampleClassImpl()); stock.getSampleClass().setId(aliquotDto.getStockClassId()); stock.setParent(parent); parent = stock; DetailedSample parentAliquot = toAliquotSample(aliquotDto); parentAliquot.setSampleClass(new SampleClassImpl()); parentAliquot.getSampleClass().setId(aliquotDto.getParentAliquotClassId()); parentAliquot.setParent(parent); parent = parentAliquot;
public static SampleDto asMinimalDto(@Nonnull Sample from) { DetailedSampleDto dto = new DetailedSampleDto(); copySampleFields(from, dto, false); if (isDetailedSample(from)) { DetailedSample detailed = (DetailedSample) from; dto.setSampleClassId(detailed.getSampleClass().getId()); dto.setCreationDate(detailed.getCreationDate() == null ? "" : formatDate(detailed.getCreationDate())); dto.setIdentityConsentLevel(getIdentityConsentLevelString(detailed)); if (detailed.getSubproject() != null) { dto.setSubprojectAlias(detailed.getSubproject().getAlias()); dto.setSubprojectPriority(detailed.getSubproject().getPriority()); } } return dto; }
throw new IllegalArgumentException(); dto.setSampleClassId(from.getSampleClass().getId()); if (from.getDetailedQcStatus() != null) { dto.setDetailedQcStatusId(from.getDetailedQcStatus().getId()); dto.setParentId(from.getParent().getId()); dto.setParentAlias(from.getParent().getAlias()); dto.setParentTissueSampleClassId(from.getParent().getSampleClass().getId()); dto.setIdentityConsentLevel(getIdentityConsentLevelString(from));
if (sai.getSampleClass() != null && sai.getSampleClass().getId() != null) { sai.setSampleClass(sampleClassService.get(sai.getSampleClass().getId()));
lai.setLibraryStrategyType(design.getLibraryStrategyType()); lai.setLibraryDesignCode(design.getLibraryDesignCode()); SampleClass sampleClass = ((DetailedSample) library.getSample()).getSampleClass(); if (!sampleClass.getId().equals(design.getSampleClass().getId())) { throw new IllegalArgumentException(
dto.setParentSampleProjectId(from.getSample().getProject().getId()); if (from.getSample() instanceof DetailedSample) { dto.setParentSampleClassId(((DetailedSample) from.getSample()).getSampleClass().getId());