]> git.donarmstrong.com Git - bamtools.git/commitdiff
for json output in bamtools convert
authorErik Garrison <erik.garrison@bc.edu>
Thu, 5 Aug 2010 13:01:02 +0000 (09:01 -0400)
committerErik Garrison <erik.garrison@bc.edu>
Thu, 5 Aug 2010 13:01:02 +0000 (09:01 -0400)
Process qualities to provide a list of Q scores in the json output
instead of just a string of characters.

bamtools_convert.cpp

index ddb338910f535532c319b4159f75932147c67c03..408b4fd17478fb29ae66ffb4dc91d595d4edee4c 100644 (file)
@@ -388,8 +388,15 @@ void ConvertTool::ConvertToolPrivate::PrintJson(const BamAlignment& a) {
         m_out << "\"queryBases\":\"" << a.QueryBases << "\",";
     
     // write qualities
-    if ( !a.Qualities.empty() )
-        m_out << "\"qualities\":\"" << a.Qualities << "\",";
+    if ( !a.Qualities.empty() ) {
+        string::const_iterator s = a.Qualities.begin();
+        m_out << "\"qualities\":[" << static_cast<short>(*s) - 33;
+        ++s;
+        for (; s != a.Qualities.end(); ++s) {
+            m_out << "," << static_cast<short>(*s) - 33;
+        }
+        m_out << "],";
+    }
     
     // write tag data
     const char* tagData = a.TagData.c_str();
@@ -609,4 +616,4 @@ void ConvertTool::ConvertToolPrivate::PrintSam(const BamAlignment& a) {
 
 void ConvertTool::ConvertToolPrivate::PrintWiggle(const BamAlignment& a) { 
     ; 
-}
\ No newline at end of file
+}