From a8f0947a043d48ee594d9124566513cf4d7c6c2a Mon Sep 17 00:00:00 2001 From: Fengchao Date: Tue, 22 Aug 2017 10:50:07 +0800 Subject: [PATCH] Fix a bug that doesn't record multiple proteins for one sequence. --- .../java/proteomics/Index/BuildIndex.java | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/main/java/proteomics/Index/BuildIndex.java b/src/main/java/proteomics/Index/BuildIndex.java index 6129b60..398a82f 100644 --- a/src/main/java/proteomics/Index/BuildIndex.java +++ b/src/main/java/proteomics/Index/BuildIndex.java @@ -256,13 +256,14 @@ private Map> buildSeqProMap(Map pro_seq_map, } seq_term_map.put(target_seq, new boolean[]{n_term, c_term}); - if (seq_pro_map.containsKey(target_seq)) { - seq_pro_map.get(target_seq).add(pro_id); - } else { - Set pro_list = new HashSet<>(5, 1); - pro_list.add(pro_id); - seq_pro_map.put(target_seq, pro_list); - } + Set pro_set = new HashSet<>(5, 1); + pro_set.add(pro_id); + seq_pro_map.put(target_seq, pro_set); + } + + // considering the case that the sequence has multiple proteins. In the above if clock, such a protein wasn't recorded. + if (seq_pro_map.containsKey(target_seq)) { + seq_pro_map.get(target_seq).add(pro_id); } } } @@ -288,13 +289,12 @@ private Map> buildSeqProMap(Map pro_seq_map, } seq_term_map.put(decoy_seq, new boolean[]{n_term, c_term}); - if (seq_pro_map.containsKey(decoy_seq)) { - seq_pro_map.get(decoy_seq).add("DECOY_" + pro_id); - } else { - Set pro_list = new HashSet<>(5, 1); - pro_list.add("DECOY_" + pro_id); - seq_pro_map.put(decoy_seq, pro_list); - } + Set pro_set = new HashSet<>(5, 1); + pro_set.add("DECOY_" + pro_id); + seq_pro_map.put(decoy_seq, pro_set); + } + if (seq_pro_map.containsKey(decoy_seq)) { + seq_pro_map.get(decoy_seq).add("DECOY_" + pro_id); } } }