Skip to content

Commit d347393

Browse files
committed
addressing issue #37 - changed deprecated functions to lambda expressions
1 parent 579c01c commit d347393

File tree

2 files changed

+11
-12
lines changed

2 files changed

+11
-12
lines changed

chromosome_utils.cpp

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -110,12 +110,12 @@ extract_regions_chrom_fasta(const string &chrom_name,
110110
in.read(buffer, region_size);
111111

112112
std::remove_if(buffer, buffer + region_size,
113-
std::bind2nd(std::equal_to<char>(), '\n'));
113+
[](const char x) {return x == '\n';});
114114
buffer[orig_region_size] = '\0';
115115

116116
sequences.push_back(buffer);
117117
std::transform(sequences.back().begin(), sequences.back().end(),
118-
sequences.back().begin(), std::ptr_fun(&toupper));
118+
sequences.back().begin(), [](const char x) {return toupper(x);});
119119
assert(i->get_width() == sequences.back().length());
120120
}
121121
in.close();
@@ -146,15 +146,14 @@ extract_regions_chrom_fasta(const string &chrom_name,
146146
buffer[region_size] = '\0';
147147
in.read(buffer, region_size);
148148

149-
std::remove_if(
150-
buffer, buffer + region_size,
151-
std::bind2nd(std::equal_to<char>(), '\n'));
149+
std::remove_if(buffer, buffer + region_size,
150+
[](const char x) {return x == '\n';});
152151
buffer[orig_region_size] = '\0';
153152

154153
sequences.push_back(buffer);
155-
std::transform(
156-
sequences.back().begin(), sequences.back().end(),
157-
sequences.back().begin(), std::ptr_fun(&toupper));
154+
std::transform(sequences.back().begin(), sequences.back().end(),
155+
sequences.back().begin(), [](const char x) {return toupper(x);});
156+
158157
if (i->neg_strand())
159158
revcomp_inplace(sequences.back());
160159
assert(i->get_width() == sequences.back().length());

sim_utils.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -224,10 +224,10 @@ prob_to_quality_scores_solexa(const vector<vector<double> > &prb,
224224
quality = prb;
225225
for (size_t i = 0; i < prb.size(); ++i) {
226226
std::transform(prb[i].begin(), prb[i].end(),
227-
quality[i].begin(), std::bind2nd(std::plus<double>(), 1e-3));
227+
quality[i].begin(), [](double x) {return x + 1e-3;});
228228
const double column_sum = accumulate(quality[i].begin(), quality[i].end(), 0.0);
229229
std::transform(quality[i].begin(), quality[i].end(),
230-
quality[i].begin(), std::bind2nd(std::divides<double>(), column_sum));
230+
quality[i].begin(), [&column_sum](double x) {return x / column_sum;});
231231
}
232232
for (size_t i = 0; i < quality.size(); ++i)
233233
for (size_t j = 0; j < smithlab::alphabet_size; ++j) {
@@ -269,11 +269,11 @@ add_sequencing_errors(mt19937 &generator, const double max_errors,
269269

270270
for (size_t i = 0; i < quality_scores.size(); ++i) {
271271
std::transform(quality_scores[i].begin(), quality_scores[i].end(),
272-
quality_scores[i].begin(), std::bind2nd(std::plus<double>(), 1e-3));
272+
quality_scores[i].begin(), [](double x) {return x + 1e-3;});
273273
const double column_sum = accumulate(quality_scores[i].begin(),
274274
quality_scores[i].end(), 0.0);
275275
std::transform(quality_scores[i].begin(), quality_scores[i].end(),
276-
quality_scores[i].begin(), std::bind2nd(std::divides<double>(), column_sum));
276+
quality_scores[i].begin(), [&column_sum](double x) {return x / column_sum;});
277277
}
278278

279279
for (size_t i = 0; i < quality_scores.size(); ++i)

0 commit comments

Comments
 (0)