Develop Biology
The language of life
Expressor.h
Go to the documentation of this file.
1/*
2 * This file is a part of the Biology project by eons LLC.
3 * Biology (aka Develop Biology) is a framework for approaching software
4 * development from a natural sciences perspective.
5 *
6 * Copyright (C) 2021 Séon O'Shannon & eons LLC
7 *
8 * This program is free software: you can redistribute it and/or modify
9 * it under the terms of the GNU Affero General Public License as
10 * published by the Free Software Foundation, either version 3 of the
11 * License, or (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU Affero General Public License for more details.
17 *
18 * You should have received a copy of the GNU Affero General Public License
19 * along with this program. If not, see <https://www.gnu.org/licenses/>.
20 */
21
22#pragma once
23
29#include "RNA.h"
30
31namespace bio {
32namespace genetic {
33
34class Plasmid;
35
40class Expressor :
41 public genetic::Class< Expressor >,
42 public chemical::UnorderedMotif< TranscriptionFactor >,
43 public chemical::LinearMotif< Plasmid* >,
44 public chemical::LinearMotif< molecular::Protein* >,
45 virtual public molecular::Vesicle
46{
47public:
48
54
59 &molecular::VesiclePerspective::Instance(),
61
62
65 virtual ~Expressor();
66
73 virtual void CacheProteins()
74 {
75 // YOUR CODE HERE
76 }
77
86 Code Activate(StandardDimension proteinId);
87
93 Code Activate(Name proteinName);
94
102 template < typename T >
103 Code Activate()
104 {
105 return Activate(TypeName< T >);
106 }
107
108
117 virtual Code Translate(const RNA* mRNA);
118
124 virtual Code ExpressGenes();
125
131 virtual Code AddToTranscriptome(const RNA* toExpress);
132
133protected:
135};
136
137} //molecular namespace
138} //bio namespace
#define BIO_DEFAULT_IDENTIFIABLE_CONSTRUCTORS(ns, class,...)
virtual Code AddToTranscriptome(const RNA *toExpress)
Definition: Expressor.cpp:78
virtual void CacheProteins()
Definition: Expressor.h:73
virtual Code Translate(const RNA *mRNA)
Definition: Expressor.cpp:86
Transcriptome m_transcriptome
Definition: Expressor.h:134
BIO_DISAMBIGUATE_ALL_CLASS_METHODS(genetic, Expressor) BIO_DEFAULT_IDENTIFIABLE_CONSTRUCTORS(genetic
virtual Code ExpressGenes()
Definition: Expressor.cpp:48
Filter Genetic()
std::vector< const RNA * > Transcriptome
Definition: Types.h:58
Definition: Cell.h:31
const char * Name
Definition: Types.h:46