map.put(s.rawFile.getId(), s);
}
for (RawFile f : rawFiles) {
if (map.containsKey(f.getId())) {
final SequestSearchStatisticRecordPerFile s = map.get(f.getId());
statisticPerFile.add(new FileStatisticsItem(f.getId(), s.scans, s.peptides, s.proteins, s.isotopeGroups));
} else {
statisticPerFile.add(new FileStatisticsItem(f.getId(), 0, 0, 0, 0));
}
}
return new SequestStatisticsItem(stats.peptides, stats.scans, stats.proteins, stats.isotopeGroups, statisticPerFile);
case PEPTIDE:
stats = experimentSearchRepository.findStatsByPeptideIds(experimentSearch, ids);
statsPerFile = experimentSearchRepository.findStatsPerFileByPeptideIds(experimentSearch, ids);
for (SequestSearchStatisticRecordPerFile s : statsPerFile) {
map.put(s.rawFile.getId(), s);
}
for (RawFile f : rawFiles) {
if (map.containsKey(f.getId())) {
final SequestSearchStatisticRecordPerFile s = map.get(f.getId());
statisticPerFile.add(new FileStatisticsItem(f.getId(), s.scans, s.peptides, s.proteins, s.isotopeGroups));
} else {
statisticPerFile.add(new FileStatisticsItem(f.getId(), 0, 0, 0, 0));
}
}
return new SequestStatisticsItem(stats.peptides, stats.scans, stats.proteins, stats.isotopeGroups, statisticPerFile);
case ISOTOPE_GROUP:
stats = experimentSearchRepository.findStatsByIsotopeGroupIds(ids);
statsPerFile = experimentSearchRepository.findStatsByIsotopeGroupIdsAndFile(ids);
for (SequestSearchStatisticRecordPerFile s : statsPerFile) {
map.put(s.rawFile.getId(), s);
}
for (RawFile f : rawFiles) {
if (map.containsKey(f.getId())) {
final SequestSearchStatisticRecordPerFile s = map.get(f.getId());
statisticPerFile.add(new FileStatisticsItem(f.getId(), s.scans, s.peptides, s.proteins, s.isotopeGroups));
} else {
statisticPerFile.add(new FileStatisticsItem(f.getId(), 0, 0, 0, 0));
}
}
return new SequestStatisticsItem(stats.peptides, stats.scans, stats.proteins, stats.isotopeGroups, statisticPerFile);
default:
throw new IllegalArgumentException("Specified row Aggregation is not supported: " + rowAggregation);