-/* Copyright (c) 2010 Peter Troshin\r
+/* Copyright (c) 2011 Peter Troshin\r
* \r
- * Amino Acid Conservation Web Service client @version: 1.0 \r
+ * JAva Bioinformatics Analysis Web Services (JABAWS) @version: 2.0 \r
* \r
* This library is free software; you can redistribute it and/or modify it under the terms of the\r
* Apache License version 2 as published by the Apache Software Foundation\r
import java.io.Closeable;\r
import java.io.File;\r
import java.io.IOException;\r
-import java.io.OutputStream;\r
+import java.io.PrintWriter;\r
+import java.io.Writer;\r
import java.net.MalformedURLException;\r
import java.net.URL;\r
-import java.util.HashSet;\r
import java.util.List;\r
-import java.util.Map;\r
-import java.util.Set;\r
import java.util.logging.Level;\r
import java.util.logging.Logger;\r
\r
\r
import compbio.data.msa.SequenceAnnotation;\r
import compbio.data.sequence.FastaSequence;\r
-import compbio.data.sequence.Score;\r
+import compbio.data.sequence.ScoreManager;\r
import compbio.data.sequence.SequenceUtil;\r
import compbio.data.sequence.UnknownFileFormatException;\r
import compbio.metadata.JobSubmissionException;\r
customOptions = MetadataHelper.processParameters(prms,\r
msaws.getRunnerOptions());\r
}\r
- Map<String, HashSet<Score>> result = null;\r
+ ScoreManager result = null;\r
if (inputFile != null) {\r
System.out.println("Calculating conservation...");\r
result = analize(inputFile, msaws, preset, customOptions);\r
- OutputStream outStream = null;\r
+ Writer outStream = null;\r
if (outFile != null) {\r
- outStream = IOHelper.getOutStream(outFile);\r
+ outStream = IOHelper.getWriter(outFile);\r
} else {\r
// this stream is going to be closed later which is fine as\r
// std.out will not be\r
- outStream = System.out;\r
+ outStream = new PrintWriter(System.out, true);\r
}\r
writeOut(outStream, result);\r
// stream is closed in the method no need to close it here\r
* @param result\r
* the AACon scores to output\r
*/\r
- static void writeOut(OutputStream outStream,\r
- Map<String, HashSet<Score>> result) {\r
+ static void writeOut(Writer writer, ScoreManager result) {\r
try {\r
- for (Map.Entry<String, ? extends Set<Score>> entry : result\r
- .entrySet()) {\r
- System.out.println(">" + entry.getKey());\r
- Score.write(entry.getValue(), outStream);\r
- }\r
+ result.writeOut(writer);\r
} catch (IOException e) {\r
System.err\r
.println("Problems writing output file! Stack trace is below: ");\r
e.printStackTrace();\r
} finally {\r
- if (outStream != null) {\r
+ if (writer != null) {\r
try {\r
- outStream.close();\r
+ writer.close();\r
} catch (IOException ignored) {\r
// e.printStackTrace();\r
}\r
* @return Set<Score> the conservation scores\r
* @throws UnknownFileFormatException\r
*/\r
- static Map<String, HashSet<Score>> analize(File file,\r
- SequenceAnnotation<AAConWS> wsproxy, Preset<AAConWS> preset,\r
- List<Option<AAConWS>> customOptions) {\r
+ static ScoreManager analize(File file, SequenceAnnotation<AAConWS> wsproxy,\r
+ Preset<AAConWS> preset, List<Option<AAConWS>> customOptions) {\r
\r
List<FastaSequence> fastalist = null;\r
- Map<String, HashSet<Score>> scores = null;\r
+ ScoreManager scores = null;\r
try {\r
fastalist = SequenceUtil.openInputStream(file.getAbsolutePath());\r
\r