From 62c1034f56e918f277bf9ee1ad5afde5a654bf88 Mon Sep 17 00:00:00 2001 From: Erik Garrison Date: Thu, 5 Aug 2010 09:01:02 -0400 Subject: [PATCH] for json output in bamtools convert Process qualities to provide a list of Q scores in the json output instead of just a string of characters. --- bamtools_convert.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/bamtools_convert.cpp b/bamtools_convert.cpp index ddb3389..408b4fd 100644 --- a/bamtools_convert.cpp +++ b/bamtools_convert.cpp @@ -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(*s) - 33; + ++s; + for (; s != a.Qualities.end(); ++s) { + m_out << "," << static_cast(*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 +} -- 2.39.2