| 103 | } |
| 104 | |
| 105 | ExitCodes main_(int, const char **) override |
| 106 | { |
| 107 | //------------------------------------------------------------- |
| 108 | // parsing parameters |
| 109 | //------------------------------------------------------------- |
| 110 | StringList in_files = getStringList_("in"); |
| 111 | String out = getStringOption_("out"); |
| 112 | String setname = getStringOption_("setname"); |
| 113 | |
| 114 | //------------------------------------------------------------- |
| 115 | // reading input |
| 116 | //------------------------------------------------------------- |
| 117 | QcMLFile qcmlfile; |
| 118 | if (!setname.empty()) |
| 119 | { |
| 120 | qcmlfile.registerSet(setname,setname,std::set< String >()); |
| 121 | } |
| 122 | for (Size i = 0; i < in_files.size(); ++i) |
| 123 | { |
| 124 | QcMLFile tmpfile; |
| 125 | tmpfile.load(in_files[i]); |
| 126 | qcmlfile.merge(tmpfile,setname); |
| 127 | } |
| 128 | |
| 129 | if (!setname.empty()) |
| 130 | { |
| 131 | // // make #ms2 set stats |
| 132 | // std::vector<String> ms2nums_strings; |
| 133 | // qcmlfile.collectSetParameter(setname,"QC:0000007", ms2nums_strings); |
| 134 | // std::vector<Int> ms2nums; |
| 135 | // for (std::vector<String>::iterator it = ms2nums_strings.begin(); it != ms2nums_strings.end(); ++it) //transform is too ugly and errorprone |
| 136 | // { |
| 137 | // ms2nums.push_back(it->toInt()); |
| 138 | // } |
| 139 | |
| 140 | // std::sort(ms2nums.begin(), ms2nums.end()); |
| 141 | |
| 142 | // if (ms2nums.size()>0) |
| 143 | // { |
| 144 | // std::map<String,String> nums; |
| 145 | // std::map<String,String> nams; |
| 146 | // //~ min,q1,q2,q3,max |
| 147 | // nums["QC:0000043"] = String(ms2nums.front()); |
| 148 | // nams["QC:0000043"] = "min ms2 number"; |
| 149 | // nums["QC:0000044"] = String(OpenMS::Math::quantile1st(ms2nums.begin(), ms2nums.end(),true)); |
| 150 | // nams["QC:0000044"] = "Q1 ms2 number"; |
| 151 | // nums["QC:0000045"] = String(OpenMS::Math::median(ms2nums.begin(), ms2nums.end(), true)); |
| 152 | // nams["QC:0000045"] = "Q2 ms2 number"; |
| 153 | // nums["QC:0000046"] = String(OpenMS::Math::quantile3rd(ms2nums.begin(), ms2nums.end(),true)); |
| 154 | // nams["QC:0000046"] = "Q3 ms2 number"; |
| 155 | // nums["QC:0000047"] = String(ms2nums.back()); |
| 156 | // nams["QC:0000047"] = "max ms2 number"; |
| 157 | |
| 158 | // addBoxPlotQPs(nums, nams, setname, qcmlfile); |
| 159 | // } |
| 160 | |
| 161 | // // make #id-psm set stats |
| 162 | // std::vector<String> idnums_strings; |