From b4bf5f6a5a3ffbbf22e81cbcf257f29e1107ee24 Mon Sep 17 00:00:00 2001 From: Fengchao Date: Wed, 6 Sep 2017 14:46:03 +0800 Subject: [PATCH] Improve fasta reader. --- src/main/java/proteomics/TheoSeq/DbTool.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/main/java/proteomics/TheoSeq/DbTool.java b/src/main/java/proteomics/TheoSeq/DbTool.java index 8ca5772..c971ee9 100644 --- a/src/main/java/proteomics/TheoSeq/DbTool.java +++ b/src/main/java/proteomics/TheoSeq/DbTool.java @@ -17,7 +17,7 @@ public class DbTool { public DbTool(String db_name) { String id = ""; String annotate; - String seq = ""; + StringBuilder seq = new StringBuilder(99999); boolean new_pro = true; @@ -32,7 +32,7 @@ public DbTool(String db_name) { // This line is a header if (!new_pro) { // This isn't the first protein - pro_seq_map.put(id, seq); + pro_seq_map.put(id, seq.toString()); } id = head_matcher.group(1).trim(); annotate = head_matcher.group(2).trim(); @@ -41,15 +41,16 @@ public DbTool(String db_name) { } else if (!line.isEmpty()) { // This line is a body if (new_pro) { - seq = line; + seq = new StringBuilder(99999); + seq.append(line); new_pro = false; } else { - seq += line; + seq.append(line); } } } // Last protein - pro_seq_map.put(id, seq); + pro_seq_map.put(id, seq.toString()); } catch (IOException | PatternSyntaxException ex) { logger.error(ex.getMessage()); ex.printStackTrace();