Mercurial > repos > chrisd > testing
comparison gene_fraction/src/FastaRecord.h @ 0:f95150c37d38 draft default tip
planemo upload for repository https://github.com/ChrisD11/Tools commit ddc95e5d6b5f2c0a5340c0bc384aa822db8856d5
| author | chrisd |
|---|---|
| date | Sun, 21 Feb 2016 23:31:55 -0500 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:f95150c37d38 |
|---|---|
| 1 #ifndef FASTA_RECORD_H | |
| 2 #define FASTA_RECORD_H | |
| 3 | |
| 4 #include <string> | |
| 5 #include <vector> | |
| 6 | |
| 7 /** | |
| 8 * Class for dealing with fasta records | |
| 9 */ | |
| 10 class FastaRecord { | |
| 11 public: | |
| 12 /** | |
| 13 * Ctor that initializes gene id and gene | |
| 14 */ | |
| 15 FastaRecord(std::string gene_id, std::string gene); | |
| 16 | |
| 17 /** | |
| 18 * Returns a string gene id | |
| 19 */ | |
| 20 std::string gene_id() const; | |
| 21 | |
| 22 /** | |
| 23 * Returns the gene associated with gene id | |
| 24 */ | |
| 25 std::string gene() const; | |
| 26 | |
| 27 /** | |
| 28 * Returns the total base hits for a gene | |
| 29 */ | |
| 30 int get_base_hits() const; | |
| 31 | |
| 32 /** | |
| 33 * Returns the amount of genes that were hit | |
| 34 * during the gene fraction calculation | |
| 35 */ | |
| 36 int gene_hits() const; | |
| 37 | |
| 38 /** | |
| 39 * | |
| 40 */ | |
| 41 void update_base_hits(const int &index); | |
| 42 | |
| 43 /** | |
| 44 * | |
| 45 */ | |
| 46 void update_gene_hits(); | |
| 47 | |
| 48 /** | |
| 49 * Searches for a fasta record corresponding | |
| 50 * to gene id | |
| 51 */ | |
| 52 static int find_gene(const std::vector<FastaRecord> &records, | |
| 53 const std::string &gene_id, | |
| 54 std::string seq = ""); | |
| 55 | |
| 56 /** | |
| 57 * Sorts fasta records by gene id | |
| 58 */ | |
| 59 static void sort_by_gene_id(std::vector<FastaRecord> &records); | |
| 60 | |
| 61 /** | |
| 62 * Resets base hits vector to 0's. | |
| 63 * This occurs after each sample is processed | |
| 64 */ | |
| 65 static void reset_base_hits(std::vector<FastaRecord> &records); | |
| 66 | |
| 67 /** | |
| 68 * Resets gene hits primitive to 0. | |
| 69 * This happens after each sample is processed | |
| 70 */ | |
| 71 static void reset_gene_hits(std::vector<FastaRecord> &records); | |
| 72 | |
| 73 std::vector<int> &base_hits(); | |
| 74 | |
| 75 std::string _gene_id; | |
| 76 std::string _gene; | |
| 77 std::vector<int> _base_hits; | |
| 78 | |
| 79 private: | |
| 80 int _gene_hits; | |
| 81 }; | |
| 82 | |
| 83 | |
| 84 | |
| 85 | |
| 86 #endif /* FASTA_RECORD_H */ |
