use of ca.corefacility.bioinformatics.irida.exceptions.SequenceFileAnalysisException in project irida by phac-nml.
the class SampleServiceImpl method getTotalBasesForSample.
/**
* {@inheritDoc}
*/
@Override
@Transactional(readOnly = true)
@PreAuthorize("hasRole('ROLE_ADMIN') or hasPermission(#sample, 'canReadSample')")
public Long getTotalBasesForSample(Sample sample) throws SequenceFileAnalysisException {
checkNotNull(sample, "sample is null");
long totalBases = 0;
List<SampleSequencingObjectJoin> sequencesForSample = ssoRepository.getSequencesForSample(sample);
for (SampleSequencingObjectJoin join : sequencesForSample) {
for (SequenceFile sequenceFile : join.getObject().getFiles()) {
final AnalysisFastQC sequenceFileFastQC = analysisRepository.findFastqcAnalysisForSequenceFile(sequenceFile);
if (sequenceFileFastQC == null || sequenceFileFastQC.getTotalBases() == null) {
throw new SequenceFileAnalysisException("Missing FastQC analysis for SequenceFile [" + sequenceFile.getId() + "]");
}
totalBases += sequenceFileFastQC.getTotalBases();
}
}
return totalBases;
}
Aggregations