| 104 | } |
| 105 | |
| 106 | void ThreadConfig::initWriterForSplit() { |
| 107 | if(mOptions->out1.empty()) |
| 108 | return ; |
| 109 | |
| 110 | // use 1-based naming |
| 111 | string num = to_string(mWorkingSplit + 1); |
| 112 | // padding for digits like 0001 |
| 113 | if(mOptions->split.digits > 0){ |
| 114 | while(num.size() < mOptions->split.digits) |
| 115 | num = "0" + num; |
| 116 | } |
| 117 | |
| 118 | string filename1 = joinpath(dirname(mOptions->out1), num + "." + basename(mOptions->out1)); |
| 119 | if(!mOptions->isPaired()) { |
| 120 | initWriter(filename1); |
| 121 | } else { |
| 122 | string filename2 = joinpath(dirname(mOptions->out2), num + "." + basename(mOptions->out2)); |
| 123 | initWriter(filename1, filename2); |
| 124 | } |
| 125 | } |
| 126 | |
| 127 | void ThreadConfig::markProcessed(long readNum) { |
| 128 | mCurrentSplitReads += readNum; |