Mercurial > repos > chrisd > testshed
diff snp_caller/src/FastaRecord.cpp @ 0:0fd352f62446 draft default tip
planemo upload for repository https://github.com/ChrisD11/Duplicon commit 3ee0594c692faac542ffa58f4339d79b9b8aefbd-dirty
author | chrisd |
---|---|
date | Sun, 21 Feb 2016 06:05:24 -0500 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/snp_caller/src/FastaRecord.cpp Sun Feb 21 06:05:24 2016 -0500 @@ -0,0 +1,27 @@ +#include <algorithm> + +#include "FastaRecord.h" + +FastaRecord::FastaRecord(std::string gene_id, std::string gene) : + _gene_id(gene_id), _gene(gene) {} + +int FastaRecord::find_gene(const std::vector<FastaRecord> & records, + const std::string &gene_id, + const std::string seq) { + int gene_index; + + std::vector<FastaRecord>::const_iterator low; + low = std::lower_bound(records.begin(), records.end(), + FastaRecord(gene_id, seq), + [](const FastaRecord &a, const FastaRecord &b) + { return a.gene_id() < b.gene_id(); }); + gene_index = (low - records.begin()); + + return gene_index; +} + +void FastaRecord::sort_by_gene_id(std::vector<FastaRecord> &records) { + sort(records.begin(), records.end(), + [](const FastaRecord &a, const FastaRecord &b) + { return a.gene_id() < b.gene_id(); }); +}