protein.h 1.96 KB
Newer Older
David Trudgian's avatar
David Trudgian committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157
#ifndef PROTEIN_H
#define PROTEIN_H

#include <iostream>
#include <vector>
#include <cstdlib>

using namespace std;

class protein
{
 private:
  string sequence;
  string info_line;
  int id;
  int gnums;
  int gene_ids;
  bool deleter;
  bool manually_include; //beats deleter.

 public:
  protein();
  void mark_keeper();
  void add_gnums(int i);
  void add_gis(int i);
  void mark_for_deletion();
  void print_protein_info();
  void reset_deleters();
  bool ginclude();
  void minclude();  

  //setters
  void set_sequence(string s);
  void set_info_line(string il);
  void set_id(int i);  

  //getters
  string get_sequence();
  string get_info_line();
  int get_gnums();
  int get_geneids();
  bool get_deleter();
  double get_ratio();
  int get_id();
  bool get_mi();
};

protein::protein()
{
  deleter=false;
  manually_include=false;
  gnums=0;
  gene_ids=0;
}

void protein::set_sequence(string s)
{
  sequence = s;
}

void protein::mark_keeper()
{
  manually_include=true;
}

void protein::set_info_line(string il)
{
  info_line = il;
}

void protein::set_id(int i)
{
  id = i;
}

string protein::get_sequence()
{
  return sequence;
}

string protein::get_info_line()
{
  return info_line;
}

void protein::add_gnums(int i)
{
  gnums+=i;
}

void protein::add_gis(int i)
{
  gene_ids+=i;
}

void protein::mark_for_deletion()
{
  deleter=true;
}

int protein::get_gnums()
{
  return gnums;
}

int protein::get_geneids()
{
  return gene_ids;
}

void protein::print_protein_info()
{
  cout<<info_line<<endl<<sequence<<endl<<gnums<<endl<<gene_ids<<endl;
}

double protein::get_ratio()
{
  return (double)gene_ids/(double)gnums;
}

void protein::reset_deleters()
{
  if(deleter)
    {
      print_protein_info();
      gnums=0;
    }
}


bool protein::get_deleter()
{
  return deleter;
}

void protein::minclude()
{
  manually_include=true;
}

bool protein::ginclude()
{
  return manually_include;
}

int protein::get_id()
{
  return id;
}

bool protein::get_mi()
{
  return manually_include;
}

#endif