ctags -a -R
authorDariusz Murakowski <murakdar@mit.edu>
Tue, 28 Apr 2015 04:04:27 +0000 (00:04 -0400)
committerDariusz Murakowski <murakdar@mit.edu>
Tue, 28 Apr 2015 04:04:27 +0000 (00:04 -0400)
tags

diff --git a/tags b/tags
index 6a7cfa5..a1159c4 100644 (file)
--- a/tags
+++ b/tags
 021l   session.vim     /^normal! 021l$/;"      m
 <NL>   session.vim     /^noremap <NL> \16\17j$/;"  m
 <Plug>NetrwBrowseX     session.vim     /^nnoremap <silent> <Plug>NetrwBrowseX :call netrw#NetrwBrowseX(expand("\16<cWORD>"),0)\16$/;"      m
+AAKillingReaction      reaction.h      /^    AAKillingReaction() : Reaction() {}$/;"   f       class:AAKillingReaction
+AAKillingReaction      reaction.h      /^    AAKillingReaction(double k) : Reaction(k) {}$/;"  f       class:AAKillingReaction
+AAKillingReaction      reaction.h      /^class AAKillingReaction : public Reaction {$/;"       c
+AARecognizer   pop_ss.cpp      /^AARecognizer::AARecognizer(const std::string &seq, const std::vector<unsigned> &s)$/;"        f       class:AARecognizer
+AARecognizer   pop_ss.cpp      /^AARecognizer::AARecognizer(const std::string &seq, int start_index)$/;"       f       class:AARecognizer
+AARecognizer   pop_ss.h        /^class AARecognizer {$/;"      c
+AdjacencyList  ham_ss.h        /^typedef std::vector<std::vector<int> > AdjacencyList;$/;"     t
 AdjacencyList  hamiltonian.h   /^typedef std::vector<std::vector<int> > AdjacencyList;$/;"     t
 BuildIntersection      main.cpp        /^BuildIntersection(std::vector<int>& v0,std::vector<int>& v1)$/;"      f
 BuildIntersection1     main.cpp        /^BuildIntersection1(std::vector<int>& v0,std::vector<int>& v1)$/;"     f
 CFLAGS Makefile        /^CFLAGS = $(DBGFLAG) -Wall -Wextra -pedantic -Wno-unused-parameter$/;" m
+CFLAGS Makefile        /^CFLAGS = -std=c++0x $(DBGFLAG) -Wall -Wextra -pedantic -Wno-unused-parameter$/;"      m
+CTLActivationReaction  reaction.h      /^    CTLActivationReaction() : Reaction() {}$/;"       f       class:CTLActivationReaction
+CTLActivationReaction  reaction.h      /^    CTLActivationReaction(double k) : Reaction(k) {}$/;"      f       class:CTLActivationReaction
+CTLActivationReaction  reaction.h      /^class CTLActivationReaction : public Reaction {$/;"   c
+CTLSpecies     pop_ss.h        /^    CTLSpecies() : Species(), num_ep(0) {}$/;"        f       class:CTLSpecies
+CTLSpecies     pop_ss.h        /^    CTLSpecies(long c) : Species(c), num_ep(0) {}$/;" f       class:CTLSpecies
+CTLSpecies     pop_ss.h        /^    CTLSpecies(std::string x) : Species(x), num_ep(0) {}$/;"  f       class:CTLSpecies
+CTLSpecies     pop_ss.h        /^    CTLSpecies(std::string x, long c) : Species(x,c), num_ep(0) {}$/;"        f       class:CTLSpecies
+CTLSpecies     pop_ss.h        /^class CTLSpecies : public Species {$/;"       c
+CTLaaActivationReaction        reaction.h      /^    CTLaaActivationReaction() : Reaction() {}$/;"     f       class:CTLaaActivationReaction
+CTLaaActivationReaction        reaction.h      /^    CTLaaActivationReaction(double k) : Reaction(k) {}$/;"    f       class:CTLaaActivationReaction
+CTLaaActivationReaction        reaction.h      /^class CTLaaActivationReaction : public Reaction {$/;" c
+CTLaaSpecies   pop_ss.h        /^    CTLaaSpecies() : Species(), num_ep(0) {}$/;"      f       class:CTLaaSpecies
+CTLaaSpecies   pop_ss.h        /^    CTLaaSpecies(long c) : Species(c), num_ep(0) {}$/;"       f       class:CTLaaSpecies
+CTLaaSpecies   pop_ss.h        /^    CTLaaSpecies(std::string x) : Species(x), num_ep(0) {}$/;"        f       class:CTLaaSpecies
+CTLaaSpecies   pop_ss.h        /^    CTLaaSpecies(std::string x, long c) : Species(x,c), num_ep(0) {}$/;"      f       class:CTLaaSpecies
+CTLaaSpecies   pop_ss.h        /^class CTLaaSpecies : public Species {$/;"     c
 CXX    Makefile        /^CXX = c++$/;" m
+CharVector     seqTools.h      /^typedef std::vector<std::vector<char> > CharVector;$/;"       t
 Cont   sorted_vector.h /^    typedef typename std::vector<K,A>         Cont;$/;"       t       class:codeproject::sorted_vector
+Coupling       ham_ss.h        /^typedef std::vector<std::vector<double> > Coupling;$/;"       t
 Coupling       hamiltonian.h   /^typedef std::vector<std::vector<double> > Coupling;$/;"       t
+DBGFLAG        Makefile        /^      DBGFLAG = -O3 -combine -DHAVE_INLINE$/;"        m
 DBGFLAG        Makefile        /^      DBGFLAG = -O3 -combine$/;"      m
+DBGFLAG        Makefile        /^      DBGFLAG = -g -DDEBUG  # -D_GLIBCXX_DEBUG$/;"    m
 DBGFLAG        Makefile        /^      DBGFLAG = -g -DDEBUG$/;"        m
 EXECNAME_MC    Makefile        /^EXECNAME_MC = mc$/;"  m
 EXECNAME_SS    Makefile        /^EXECNAME_SS = ss$/;"  m
 EXECNAME_WF    Makefile        /^EXECNAME_WF = wf$/;"  m
 Eavg   pop_ss.h        /^    double Eavg;    \/\/ Average energy of the sequence population$/;"        m       class:Population
 Eavg   population.h    /^    double Eavg;    \/\/ Average energy of the sequence population$/;"        m       class:Population
+ElementaryReaction     reaction.h      /^    ElementaryReaction() : Reaction() {}$/;"  f       class:ElementaryReaction
+ElementaryReaction     reaction.h      /^    ElementaryReaction(double k) : Reaction(k) {}$/;" f       class:ElementaryReaction
+ElementaryReaction     reaction.h      /^class ElementaryReaction : public Reaction {$/;"      c
 EpitopeHamiltonian     hamiltonian.cpp /^EpitopeHamiltonian::EpitopeHamiltonian(std::string &FILENAME) {$/;"   f       class:EpitopeHamiltonian
 EpitopeHamiltonian     hamiltonian.h   /^class EpitopeHamiltonian : public Hamiltonian {$/;"   c
+EpitopeRecognizer      pop_ss.h        /^class EpitopeRecognizer {$/;" c
 Eq_    sorted_vector.h /^    bool Eq_(const Myt_& x) const      $/;"   f       class:codeproject::sorted_vector
 ExecTests      main.cpp        /^void ExecTests(std::vector<T>& v)$/;" f
+Graph  ham_ss.h        /^    AdjacencyList Graph;$/;"  m       class:Hamiltonian
 Graph  hamiltonian.h   /^    AdjacencyList Graph;$/;"  m       class:Hamiltonian
+H      reaction.h      /^    Hamiltonian H;$/;"        m       class:VirusDeathReaction
+H      reaction.h      /^    Hamiltonian H;$/;"        m       class:VirusReaction
+H      reaction.h      /^    PottsHamiltonian H;$/;"   m       class:NTVirusDeathReaction
+H      reaction.h      /^    PottsHamiltonian H;$/;"   m       class:NTVirusReaction
 HAMILTONIAN_H  hamiltonian.h   2;"     d
+HAM_SS_H       ham_ss.h        2;"     d
+Hamiltonian    ham_ss.cpp      /^Hamiltonian::Hamiltonian(std::string &FILENAME) {$/;" f       class:Hamiltonian
+Hamiltonian    ham_ss.h        /^    Hamiltonian() { }$/;"     f       class:Hamiltonian
+Hamiltonian    ham_ss.h        /^class Hamiltonian {$/;"       c
 Hamiltonian    hamiltonian.cpp /^Hamiltonian::Hamiltonian(std::string &FILENAME) {$/;" f       class:Hamiltonian
 Hamiltonian    hamiltonian.h   /^    Hamiltonian() { }$/;"     f       class:Hamiltonian
 Hamiltonian    hamiltonian.h   /^class Hamiltonian {$/;"       c
 INCLUDEDIR     Makefile        /^INCLUDEDIR = # -I\/usr\/local\/pkg\/gsl\/gsl-1.15\/include$/;"        m
 InsertImpl_    sorted_vector.h /^    iterator InsertImpl_(iterator p,const value_type& x)$/;"  f       class:codeproject::sorted_vector
+IntVector      seqTools.h      /^typedef std::vector<std::vector<int> > IntVector;$/;" t
 IntVector      snip.h  /^typedef std::vector<std::vector<int> > IntVector;$/;" t
+J      ham_ss.h        /^    Coupling J;$/;"   m       class:Hamiltonian
+J      ham_ss.h        /^    Coupling J;$/;"   m       class:PottsHamiltonian
 J      hamiltonian.h   /^    Coupling J;$/;"   m       class:Hamiltonian
 J12    mc.h    /^    double J12;$/;"   m       class:RunParameters_MC
 J12    ss.h    /^    double J12;$/;"   m       class:RunParameters_SS
@@ -47,20 +91,45 @@ Key snip.h  /^typedef std::vector<unsigned long> Key;$/;"   t
 KeyCompare_Geq_        sorted_vector.h /^    bool KeyCompare_Geq_(const K& ty0,const K& ty1)$/;"       f       class:codeproject::sorted_vector
 KeyCompare_Gt_ sorted_vector.h /^    bool KeyCompare_Gt_(const K& ty0,const K& ty1)$/;"        f       class:codeproject::sorted_vector
 KeyCompare_Leq_        sorted_vector.h /^    bool KeyCompare_Leq_(const K& ty0,const K& ty1)$/;"       f       class:codeproject::sorted_vector
+KillingReaction        reaction.h      /^    KillingReaction() : Reaction() {}$/;"     f       class:KillingReaction
+KillingReaction        reaction.h      /^    KillingReaction(double k) : Reaction(k) {}$/;"    f       class:KillingReaction
+KillingReaction        reaction.h      /^class KillingReaction : public Reaction {$/;" c
+L      pop_ss.h        /^    unsigned int L;$/;"       m       class:Virus
 L      virus.h /^    unsigned int L;$/;"       m       class:Virus
 LIBDIR Makefile        /^LIBDIR = # -L\/usr\/local\/pkg\/gsl\/gsl-1.15\/lib$/;"        m
 LIBS   Makefile        /^LIBS = -lgsl -lgslcblas -lm$/;"       m
+L_aa   pop_ss.h        /^    unsigned int L_aa;$/;"    m       class:NTVirus
+L_nt   pop_ss.h        /^    unsigned int L_nt;$/;"    m       class:NTVirus
 Lt_    sorted_vector.h /^      bool Lt_(const Myt_& x) const$/;"       f       class:codeproject::sorted_vector
 MC_H   mc.h    2;"     d
 Main   sorted_vector_doc.html  /^                                          <a name="Main"><\/a>$/;"    a
 MakeSTest      main.cpp        /^STest MakeSTest()$/;" f
+MutatedSiteSequence    ham_ss.h        /^typedef std::set<unsigned int> MutatedSiteSequence;$/;"       t
 MutatedSiteSequence    hamiltonian.h   /^typedef std::set<unsigned int> MutatedSiteSequence;$/;"       t
 MutatedSiteSequence    mc.h    /^typedef std::set<unsigned int> MutatedSiteSequence;$/;"       t
+MutatedSiteSequence    pop_ss.h        /^typedef std::set<unsigned int> MutatedSiteSequence;$/;"       t
+MutatedSiteSequence    reaction.h      /^typedef std::set<unsigned int> MutatedSiteSequence;$/;"       t
 Myt_   sorted_vector.h /^      typedef sorted_vector<K,bNoDuplicates,Pr,A> Myt_;$/;"   t       class:codeproject::sorted_vector
 N      pop_ss.h        /^    unsigned int N;   \/\/ Population size$/;"        m       class:Population
 N      population.h    /^    unsigned int N;   \/\/ Population size$/;"        m       class:Population
+NTVirus        pop_ss.cpp      /^NTVirus::NTVirus(const PottsHamiltonian &H, const std::string &NT)$/;"        f       class:NTVirus
+NTVirus        pop_ss.cpp      /^NTVirus::NTVirus(const std::string &NT)$/;"   f       class:NTVirus
+NTVirus        pop_ss.h        /^class NTVirus {$/;"   c
+NTVirusDeathReaction   reaction.h      /^    NTVirusDeathReaction() : Reaction() {}$/;"        f       class:NTVirusDeathReaction
+NTVirusDeathReaction   reaction.h      /^    NTVirusDeathReaction(double k) : Reaction(k) {}$/;"       f       class:NTVirusDeathReaction
+NTVirusDeathReaction   reaction.h      /^class NTVirusDeathReaction : public Reaction {$/;"    c
+NTVirusReaction        reaction.h      /^    NTVirusReaction() : Reaction() {}$/;"     f       class:NTVirusReaction
+NTVirusReaction        reaction.h      /^    NTVirusReaction(double k) : Reaction(k), mu(0) {}$/;"     f       class:NTVirusReaction
+NTVirusReaction        reaction.h      /^class NTVirusReaction : public Reaction {$/;" c
+NTVirusSpecies pop_ss.h        /^    NTVirusSpecies() : Species() {}$/;"       f       class:NTVirusSpecies
+NTVirusSpecies pop_ss.h        /^    NTVirusSpecies(long c) : Species(c) {}$/;"        f       class:NTVirusSpecies
+NTVirusSpecies pop_ss.h        /^    NTVirusSpecies(std::string x) : Species(x) {}$/;" f       class:NTVirusSpecies
+NTVirusSpecies pop_ss.h        /^    NTVirusSpecies(std::string x, long c) : Species(x,c) {}$/;"       f       class:NTVirusSpecies
+NTVirusSpecies pop_ss.h        /^class NTVirusSpecies : public Species {$/;"   c
+NTVirus_map    pop_ss.h        /^typedef std::map<NTVirus, unsigned int> NTVirus_map;$/;"      t
 POPULATION_H   pop_ss.h        2;"     d
 POPULATION_H   population.h    2;"     d
+POP_SS_H       pop_ss.h        2;"     d
 Paircc_        sorted_vector.h /^      typedef typename std::pair<const_iterator, const_iterator> Paircc_;$/;" t       class:codeproject::sorted_vector
 Pairib_        sorted_vector.h /^    typedef typename std::pair<iterator, bool> Pairib_;$/;"   t       class:codeproject::sorted_vector
 Pairii_        sorted_vector.h /^    typedef typename std::pair<iterator, iterator> Pairii_;$/;"       t       class:codeproject::sorted_vector
@@ -76,22 +145,49 @@ Population pop_ss.h        /^class Population{$/;" c
 Population     population.cpp  /^Population::Population(const Hamiltonian &H, unsigned int N, double mu) {$/;" f       class:Population
 Population     population.cpp  /^Population::Population(const Hamiltonian &H, unsigned int N, double mu, const std::vector<std::set<unsigned int> > &initPop, const std::vector<double> &initFrac) {$/;"       f       class:Population
 Population     population.h    /^class Population{$/;" c
+PottsHamiltonian       ham_ss.cpp      /^PottsHamiltonian::PottsHamiltonian(const std::string &couplingsFile, const std::string &seq2stateFile) : bh(1.0), bJ(1.0)$/;" f       class:PottsHamiltonian
+PottsHamiltonian       ham_ss.h        /^    PottsHamiltonian() : bh(1.0), bJ(1.0) { }$/;"     f       class:PottsHamiltonian
+PottsHamiltonian       ham_ss.h        /^class PottsHamiltonian {$/;"  c
+PottsState     ham_ss.h        /^typedef std::vector<unsigned> PottsState;$/;" t
+PottsState     pop_ss.h        /^typedef std::vector<unsigned> PottsState;$/;" t
+RC_fun reaction.cpp    /^double RC_fun(double E)$/;"   f
+REACTION_H     reaction.h      2;"     d
+Reaction       reaction.h      /^    Reaction() {}$/;" f       class:Reaction
+Reaction       reaction.h      /^    Reaction(double k) : rate_constant(k) {}$/;"      f       class:Reaction
+Reaction       reaction.h      /^class Reaction {$/;"  c
 RunParameters  wf.h    /^    RunParameters() {$/;"     f       class:RunParameters
 RunParameters  wf.h    /^class RunParameters {$/;"     c
 RunParameters_MC       mc.h    /^    RunParameters_MC() {$/;"  f       class:RunParameters_MC
 RunParameters_MC       mc.h    /^class RunParameters_MC {$/;"  c
 RunParameters_SS       ss.h    /^    RunParameters_SS() {$/;"  f       class:RunParameters_SS
 RunParameters_SS       ss.h    /^class RunParameters_SS {$/;"  c
+Rxn_parray     ss.h    /^typedef std::vector<Reaction*> Rxn_parray;$/;"        t
+SEQTOOLS_H     seqTools.h      2;"     d
 SGITest        main.cpp        /^int SGITest()$/;"     f
 SNIP_H snip.h  2;"     d
 SORTED_VECTOR_ sorted_vector.h 24;"    d
 SRCS_MC        Makefile        /^SRCS_MC = mc.cpp hamiltonian.cpp population.cpp virus.cpp$/;" m
+SRCS_SS        Makefile        /^SRCS_SS = ss.cpp ham_ss.cpp pop_ss.cpp reaction.cpp seqTools.cpp$/;"  m
 SRCS_SS        Makefile        /^SRCS_SS = ss.cpp hamiltonian.cpp population.cpp virus.cpp$/;" m
 SRCS_WF        Makefile        /^SRCS_WF = wf.cpp hamiltonian.cpp population.cpp virus.cpp$/;" m
+SS_H   ss.h    2;"     d
 STest  main.cpp        /^struct STest{$/;"     s       file:
 SessionLoad    session.vim     /^let SessionLoad = 1$/;"       v
 SimpTimer      main.cpp        /^    SimpTimer(const char* msg):m_msg(msg),m_start(clock()){}$/;"      f       class:SimpTimer
 SimpTimer      main.cpp        /^class SimpTimer{$/;"  c       file:
+SimpleSpecies  pop_ss.h        /^    SimpleSpecies() : Species() {}$/;"        f       class:SimpleSpecies
+SimpleSpecies  pop_ss.h        /^    SimpleSpecies(long c) : Species(c) {}$/;" f       class:SimpleSpecies
+SimpleSpecies  pop_ss.h        /^    SimpleSpecies(std::string x) : Species(x) {}$/;"  f       class:SimpleSpecies
+SimpleSpecies  pop_ss.h        /^    SimpleSpecies(std::string x, long c) : Species(x,c) {}$/;"        f       class:SimpleSpecies
+SimpleSpecies  pop_ss.h        /^class SimpleSpecies : public Species {$/;"    c
+Species        pop_ss.h        /^    Species() : count(0), name("") {}$/;"     f       class:Species
+Species        pop_ss.h        /^    Species(long c) : count(c), name("") {}$/;"       f       class:Species
+Species        pop_ss.h        /^    Species(std::string x) : count(0), name(x) {}$/;" f       class:Species
+Species        pop_ss.h        /^    Species(std::string x, long c) : count(c), name(x) {}$/;" f       class:Species
+Species        pop_ss.h        /^class Species {$/;"   c
+Species_parray ss.h    /^typedef std::vector<Species*> Species_parray;$/;"     t
+T      reaction.h      /^    CTLSpecies* T;$/;"        m       class:KillingReaction
+T      reaction.h      /^    CTLaaSpecies* T;$/;"      m       class:AAKillingReaction
 Template       test/make_tests.py      /^from string import Template$/;"       i
 TestAllSet     main.cpp        /^void TestAllSet()$/;" f
 TestMultiSet   main.cpp        /^void TestMultiSet(std::vector<T>& v)$/;"      f
@@ -99,16 +195,42 @@ TestSet    main.cpp        /^void TestSet(std::vector<T>& v)$/;"   f
 TestSetOperations      main.cpp        /^void TestSetOperations(const std::vector<T>& v0,$/;"  f
 TestSortedVector_AsMultiSet    main.cpp        /^void TestSortedVector_AsMultiSet(std::vector<T>& v)$/;"       f
 TestSortedVector_AsSet main.cpp        /^void TestSortedVector_AsSet(std::vector<T>& v)$/;"    f
+Tfrom  reaction.h      /^    CTLSpecies* Tfrom;$/;"    m       class:CTLActivationReaction
+Tfrom  reaction.h      /^    CTLaaSpecies* Tfrom;$/;"  m       class:CTLaaActivationReaction
+Tto    reaction.h      /^    CTLSpecies* Tto;$/;"      m       class:CTLActivationReaction
+Tto    reaction.h      /^    CTLaaSpecies* Tto;$/;"    m       class:CTLaaActivationReaction
 TwoSiteHamiltonian     hamiltonian.cpp /^TwoSiteHamiltonian::TwoSiteHamiltonian(double h1, double h2, double J12) {$/;"        f       class:TwoSiteHamiltonian
 TwoSiteHamiltonian     hamiltonian.cpp /^TwoSiteHamiltonian::TwoSiteHamiltonian(std::string &FILENAME) {$/;"   f       class:TwoSiteHamiltonian
 TwoSiteHamiltonian     hamiltonian.h   /^class TwoSiteHamiltonian : public Hamiltonian {$/;"   c
 Unique_        sorted_vector.h /^    iterator Unique_()$/;"    f       class:codeproject::sorted_vector
+V      reaction.h      /^    NTVirusSpecies* V;$/;"    m       class:AAKillingReaction
+V      reaction.h      /^    NTVirusSpecies* V;$/;"    m       class:CTLaaActivationReaction
+V      reaction.h      /^    NTVirusSpecies* V;$/;"    m       class:NTVirusDeathReaction
+V      reaction.h      /^    NTVirusSpecies* V;$/;"    m       class:NTVirusReaction
+V      reaction.h      /^    VirusSpecies* V;$/;"      m       class:CTLActivationReaction
+V      reaction.h      /^    VirusSpecies* V;$/;"      m       class:KillingReaction
+V      reaction.h      /^    VirusSpecies* V;$/;"      m       class:VirusDeathReaction
+V      reaction.h      /^    VirusSpecies* V;$/;"      m       class:VirusReaction
 VERSION_SORTED_VECTOR_ sorted_vector.h 25;"    d
 VIRUS_H        virus.h 2;"     d
 Vector snip.h  /^typedef std::vector<std::vector<double> > Vector;$/;" t
+Virus  pop_ss.cpp      /^Virus::Virus(const Hamiltonian &H) {$/;"      f       class:Virus
+Virus  pop_ss.cpp      /^Virus::Virus(const Hamiltonian &H, const std::set<unsigned int> &mutated_sites) {$/;" f       class:Virus
+Virus  pop_ss.h        /^class Virus {$/;"     c
 Virus  virus.cpp       /^Virus::Virus(const Hamiltonian &H, double mu) {$/;"   f       class:Virus
 Virus  virus.cpp       /^Virus::Virus(const Hamiltonian &H, double mu, const std::set<unsigned int> &mutated_sites) {$/;"      f       class:Virus
 Virus  virus.h /^class Virus {$/;"     c
+VirusDeathReaction     reaction.h      /^    VirusDeathReaction() : Reaction() {}$/;"  f       class:VirusDeathReaction
+VirusDeathReaction     reaction.h      /^    VirusDeathReaction(double k) : Reaction(k) {}$/;" f       class:VirusDeathReaction
+VirusDeathReaction     reaction.h      /^class VirusDeathReaction : public Reaction {$/;"      c
+VirusReaction  reaction.h      /^    VirusReaction() : Reaction() {}$/;"       f       class:VirusReaction
+VirusReaction  reaction.h      /^    VirusReaction(double k) : Reaction(k), mu(0) {}$/;"       f       class:VirusReaction
+VirusReaction  reaction.h      /^class VirusReaction : public Reaction {$/;"   c
+VirusSpecies   pop_ss.h        /^    VirusSpecies() : Species() {}$/;" f       class:VirusSpecies
+VirusSpecies   pop_ss.h        /^    VirusSpecies(long c) : Species(c) {}$/;"  f       class:VirusSpecies
+VirusSpecies   pop_ss.h        /^    VirusSpecies(std::string x) : Species(x) {}$/;"   f       class:VirusSpecies
+VirusSpecies   pop_ss.h        /^    VirusSpecies(std::string x, long c) : Species(x,c) {}$/;" f       class:VirusSpecies
+VirusSpecies   pop_ss.h        /^class VirusSpecies : public Species {$/;"     c
 WF_H   ss.h    2;"     d
 WF_H   wf.h    2;"     d
 Y      session.vim     /^nnoremap Y y\$$/;"    m
@@ -116,15 +238,26 @@ Y session.vim     /^nnoremap Y y\$$/;"    m
 ]%     session.vim     /^vmap ]% \16\e]%m'gv``$/;"        m
 _articleTop    sorted_vector_doc.html  /^                                          <a name="_articleTop" id="_articleTop"><\/a>$/;"    a
 a%     session.vim     /^vmap a% \16\e[%v]%$/;"   m
+aa2int seqTools.cpp    /^const str2int_map aa2int = {$/;"      v
+aa2state       ham_ss.h        /^    std::vector<std::array<int,aa_END> > aa2state;$/;"        m       class:PottsHamiltonian
+aa2str seqTools.cpp    /^const aa2str_map aa2str = {$/;"       v
+aa2str_map     seqTools.h      /^typedef std::unordered_map<aa,char> aa2str_map;$/;"   t
+aa_seq pop_ss.h        /^    std::vector<aa> aa_seq;$/;"       m       class:NTVirus
+aaseq2str      pop_ss.cpp      /^std::string aaseq2str(const std::vector<aa> &aa_seq)$/;"      f
 add_to_two_site_pop    mc.cpp  /^void add_to_two_site_pop(RunParameters_MC &r, bool s1, bool s2, double frac) {$/;"    f
 add_to_two_site_pop    ss.cpp  /^void add_to_two_site_pop(RunParameters_SS &r, bool s1, bool s2, double frac) {$/;"    f
 add_to_two_site_pop    wf.cpp  /^void add_to_two_site_pop(RunParameters &r, bool s1, bool s2, double frac) {$/;"       f
+affinity       pop_ss.h        /^    std::vector<double> affinity;$/;" m       class:CTLSpecies
+affinity       pop_ss.h        /^    std::vector<double> affinity;$/;" m       class:CTLaaSpecies
 ality  sorted_vector_doc.html  /^functionality (random access) in one container.<\/p>$/;"      f
 allocator_type sorted_vector.h /^      typedef typename Cont::allocator_type   allocator_type;$/;"     t       class:codeproject::sorted_vector
+allow_dynamic_cast     pop_ss.h        /^    virtual void allow_dynamic_cast() {}$/;"  f       class:Species
 assign sorted_vector.h /^      void assign(size_type n, const K& x = K())$/;"  f       class:codeproject::sorted_vector
 assign sorted_vector.h /^    void assign(const_iterator first, const_iterator beyond)                                  $/;"    f       class:codeproject::sorted_vector
 at     sorted_vector.h /^    const_reference at(size_type p) const             {return vec_.at(p);}$/;"        f       class:codeproject::sorted_vector
 at     sorted_vector.h /^    reference at(size_type p)                                 {return vec_.at(p);}$/;"        f       class:codeproject::sorted_vector
+bJ     ham_ss.h        /^    double bJ;      \/\/ couplings "inverse temperature" multiplier$/;"       m       class:Hamiltonian
+bJ     ham_ss.h        /^    double bJ;      \/\/ couplings "inverse temperature" multiplier$/;"       m       class:PottsHamiltonian
 bJ     hamiltonian.h   /^    double bJ;      \/\/ couplings "inverse temperature" multiplier$/;"       m       class:Hamiltonian
 bJ     mc.h    /^    double bJ;                  \/\/ Coupling "inverse temperature" multiplier$/;"    m       class:RunParameters_MC
 bJ     ss.h    /^    double bJ;                  \/\/ Coupling "inverse temperature" multiplier$/;"    m       class:RunParameters_SS
@@ -133,6 +266,8 @@ back        sorted_vector.h /^    const_reference back() const                              {return vec_.back();}
 back   sorted_vector.h /^    reference back()                                                  {return vec_.back();}$/;"       f       class:codeproject::sorted_vector
 begin  sorted_vector.h /^      const_iterator          begin() const                   {return vec_.begin(); }$/;"     f       class:codeproject::sorted_vector
 begin  sorted_vector.h /^      iterator                        begin()                                 {return vec_.begin(); }$/;"     f       class:codeproject::sorted_vector
+bh     ham_ss.h        /^    double bh;      \/\/ fields "inverse temperature" multiplier$/;"  m       class:Hamiltonian
+bh     ham_ss.h        /^    double bh;      \/\/ fields "inverse temperature" multiplier$/;"  m       class:PottsHamiltonian
 bh     hamiltonian.h   /^    double bh;      \/\/ fields "inverse temperature" multiplier$/;"  m       class:Hamiltonian
 bh     mc.h    /^    double bh;                  \/\/ Field "inverse temperature" multiplier$/;"       m       class:RunParameters_MC
 bh     ss.h    /^    double bh;                  \/\/ Field "inverse temperature" multiplier$/;"       m       class:RunParameters_SS
@@ -140,7 +275,77 @@ bh wf.h    /^    double bh;                  \/\/ Field "inverse temperature" multi
 charmap        seqTools.cpp    /^typedef std::unordered_map<char,int> charmap;$/;"     t       file:
 checkTest      test/runTests.sh        /^checkTest () {$/;"    f
 clear  sorted_vector.h /^    void clear()                        {return vec_.clear();}$/;"    f       class:codeproject::sorted_vector
+coarse_grain   ham_ss.cpp      /^void PottsHamiltonian::coarse_grain(const std::vector<aa> &aa_seq, PottsState &config) const$/;"      f       class:PottsHamiltonian
+cod_AAA        seqTools.h      /^            cod_ATT,cod_ATC,cod_ATA,cod_ATG, cod_ACT,cod_ACC,cod_ACA,cod_ACG, cod_AAT,cod_AAC,cod_AAA,cod_AAG, cod_AGT,cod_AGC,cod_AGA,cod_AGG,$/;"   e       enum:codon
+cod_AAC        seqTools.h      /^            cod_ATT,cod_ATC,cod_ATA,cod_ATG, cod_ACT,cod_ACC,cod_ACA,cod_ACG, cod_AAT,cod_AAC,cod_AAA,cod_AAG, cod_AGT,cod_AGC,cod_AGA,cod_AGG,$/;"   e       enum:codon
+cod_AAG        seqTools.h      /^            cod_ATT,cod_ATC,cod_ATA,cod_ATG, cod_ACT,cod_ACC,cod_ACA,cod_ACG, cod_AAT,cod_AAC,cod_AAA,cod_AAG, cod_AGT,cod_AGC,cod_AGA,cod_AGG,$/;"   e       enum:codon
+cod_AAT        seqTools.h      /^            cod_ATT,cod_ATC,cod_ATA,cod_ATG, cod_ACT,cod_ACC,cod_ACA,cod_ACG, cod_AAT,cod_AAC,cod_AAA,cod_AAG, cod_AGT,cod_AGC,cod_AGA,cod_AGG,$/;"   e       enum:codon
+cod_ACA        seqTools.h      /^            cod_ATT,cod_ATC,cod_ATA,cod_ATG, cod_ACT,cod_ACC,cod_ACA,cod_ACG, cod_AAT,cod_AAC,cod_AAA,cod_AAG, cod_AGT,cod_AGC,cod_AGA,cod_AGG,$/;"   e       enum:codon
+cod_ACC        seqTools.h      /^            cod_ATT,cod_ATC,cod_ATA,cod_ATG, cod_ACT,cod_ACC,cod_ACA,cod_ACG, cod_AAT,cod_AAC,cod_AAA,cod_AAG, cod_AGT,cod_AGC,cod_AGA,cod_AGG,$/;"   e       enum:codon
+cod_ACG        seqTools.h      /^            cod_ATT,cod_ATC,cod_ATA,cod_ATG, cod_ACT,cod_ACC,cod_ACA,cod_ACG, cod_AAT,cod_AAC,cod_AAA,cod_AAG, cod_AGT,cod_AGC,cod_AGA,cod_AGG,$/;"   e       enum:codon
+cod_ACT        seqTools.h      /^            cod_ATT,cod_ATC,cod_ATA,cod_ATG, cod_ACT,cod_ACC,cod_ACA,cod_ACG, cod_AAT,cod_AAC,cod_AAA,cod_AAG, cod_AGT,cod_AGC,cod_AGA,cod_AGG,$/;"   e       enum:codon
+cod_AGA        seqTools.h      /^            cod_ATT,cod_ATC,cod_ATA,cod_ATG, cod_ACT,cod_ACC,cod_ACA,cod_ACG, cod_AAT,cod_AAC,cod_AAA,cod_AAG, cod_AGT,cod_AGC,cod_AGA,cod_AGG,$/;"   e       enum:codon
+cod_AGC        seqTools.h      /^            cod_ATT,cod_ATC,cod_ATA,cod_ATG, cod_ACT,cod_ACC,cod_ACA,cod_ACG, cod_AAT,cod_AAC,cod_AAA,cod_AAG, cod_AGT,cod_AGC,cod_AGA,cod_AGG,$/;"   e       enum:codon
+cod_AGG        seqTools.h      /^            cod_ATT,cod_ATC,cod_ATA,cod_ATG, cod_ACT,cod_ACC,cod_ACA,cod_ACG, cod_AAT,cod_AAC,cod_AAA,cod_AAG, cod_AGT,cod_AGC,cod_AGA,cod_AGG,$/;"   e       enum:codon
+cod_AGT        seqTools.h      /^            cod_ATT,cod_ATC,cod_ATA,cod_ATG, cod_ACT,cod_ACC,cod_ACA,cod_ACG, cod_AAT,cod_AAC,cod_AAA,cod_AAG, cod_AGT,cod_AGC,cod_AGA,cod_AGG,$/;"   e       enum:codon
+cod_ATA        seqTools.h      /^            cod_ATT,cod_ATC,cod_ATA,cod_ATG, cod_ACT,cod_ACC,cod_ACA,cod_ACG, cod_AAT,cod_AAC,cod_AAA,cod_AAG, cod_AGT,cod_AGC,cod_AGA,cod_AGG,$/;"   e       enum:codon
+cod_ATC        seqTools.h      /^            cod_ATT,cod_ATC,cod_ATA,cod_ATG, cod_ACT,cod_ACC,cod_ACA,cod_ACG, cod_AAT,cod_AAC,cod_AAA,cod_AAG, cod_AGT,cod_AGC,cod_AGA,cod_AGG,$/;"   e       enum:codon
+cod_ATG        seqTools.h      /^            cod_ATT,cod_ATC,cod_ATA,cod_ATG, cod_ACT,cod_ACC,cod_ACA,cod_ACG, cod_AAT,cod_AAC,cod_AAA,cod_AAG, cod_AGT,cod_AGC,cod_AGA,cod_AGG,$/;"   e       enum:codon
+cod_ATT        seqTools.h      /^            cod_ATT,cod_ATC,cod_ATA,cod_ATG, cod_ACT,cod_ACC,cod_ACA,cod_ACG, cod_AAT,cod_AAC,cod_AAA,cod_AAG, cod_AGT,cod_AGC,cod_AGA,cod_AGG,$/;"   e       enum:codon
+cod_CAA        seqTools.h      /^            cod_CTT,cod_CTC,cod_CTA,cod_CTG, cod_CCT,cod_CCC,cod_CCA,cod_CCG, cod_CAT,cod_CAC,cod_CAA,cod_CAG, cod_CGT,cod_CGC,cod_CGA,cod_CGG,$/;"   e       enum:codon
+cod_CAC        seqTools.h      /^            cod_CTT,cod_CTC,cod_CTA,cod_CTG, cod_CCT,cod_CCC,cod_CCA,cod_CCG, cod_CAT,cod_CAC,cod_CAA,cod_CAG, cod_CGT,cod_CGC,cod_CGA,cod_CGG,$/;"   e       enum:codon
+cod_CAG        seqTools.h      /^            cod_CTT,cod_CTC,cod_CTA,cod_CTG, cod_CCT,cod_CCC,cod_CCA,cod_CCG, cod_CAT,cod_CAC,cod_CAA,cod_CAG, cod_CGT,cod_CGC,cod_CGA,cod_CGG,$/;"   e       enum:codon
+cod_CAT        seqTools.h      /^            cod_CTT,cod_CTC,cod_CTA,cod_CTG, cod_CCT,cod_CCC,cod_CCA,cod_CCG, cod_CAT,cod_CAC,cod_CAA,cod_CAG, cod_CGT,cod_CGC,cod_CGA,cod_CGG,$/;"   e       enum:codon
+cod_CCA        seqTools.h      /^            cod_CTT,cod_CTC,cod_CTA,cod_CTG, cod_CCT,cod_CCC,cod_CCA,cod_CCG, cod_CAT,cod_CAC,cod_CAA,cod_CAG, cod_CGT,cod_CGC,cod_CGA,cod_CGG,$/;"   e       enum:codon
+cod_CCC        seqTools.h      /^            cod_CTT,cod_CTC,cod_CTA,cod_CTG, cod_CCT,cod_CCC,cod_CCA,cod_CCG, cod_CAT,cod_CAC,cod_CAA,cod_CAG, cod_CGT,cod_CGC,cod_CGA,cod_CGG,$/;"   e       enum:codon
+cod_CCG        seqTools.h      /^            cod_CTT,cod_CTC,cod_CTA,cod_CTG, cod_CCT,cod_CCC,cod_CCA,cod_CCG, cod_CAT,cod_CAC,cod_CAA,cod_CAG, cod_CGT,cod_CGC,cod_CGA,cod_CGG,$/;"   e       enum:codon
+cod_CCT        seqTools.h      /^            cod_CTT,cod_CTC,cod_CTA,cod_CTG, cod_CCT,cod_CCC,cod_CCA,cod_CCG, cod_CAT,cod_CAC,cod_CAA,cod_CAG, cod_CGT,cod_CGC,cod_CGA,cod_CGG,$/;"   e       enum:codon
+cod_CGA        seqTools.h      /^            cod_CTT,cod_CTC,cod_CTA,cod_CTG, cod_CCT,cod_CCC,cod_CCA,cod_CCG, cod_CAT,cod_CAC,cod_CAA,cod_CAG, cod_CGT,cod_CGC,cod_CGA,cod_CGG,$/;"   e       enum:codon
+cod_CGC        seqTools.h      /^            cod_CTT,cod_CTC,cod_CTA,cod_CTG, cod_CCT,cod_CCC,cod_CCA,cod_CCG, cod_CAT,cod_CAC,cod_CAA,cod_CAG, cod_CGT,cod_CGC,cod_CGA,cod_CGG,$/;"   e       enum:codon
+cod_CGG        seqTools.h      /^            cod_CTT,cod_CTC,cod_CTA,cod_CTG, cod_CCT,cod_CCC,cod_CCA,cod_CCG, cod_CAT,cod_CAC,cod_CAA,cod_CAG, cod_CGT,cod_CGC,cod_CGA,cod_CGG,$/;"   e       enum:codon
+cod_CGT        seqTools.h      /^            cod_CTT,cod_CTC,cod_CTA,cod_CTG, cod_CCT,cod_CCC,cod_CCA,cod_CCG, cod_CAT,cod_CAC,cod_CAA,cod_CAG, cod_CGT,cod_CGC,cod_CGA,cod_CGG,$/;"   e       enum:codon
+cod_CTA        seqTools.h      /^            cod_CTT,cod_CTC,cod_CTA,cod_CTG, cod_CCT,cod_CCC,cod_CCA,cod_CCG, cod_CAT,cod_CAC,cod_CAA,cod_CAG, cod_CGT,cod_CGC,cod_CGA,cod_CGG,$/;"   e       enum:codon
+cod_CTC        seqTools.h      /^            cod_CTT,cod_CTC,cod_CTA,cod_CTG, cod_CCT,cod_CCC,cod_CCA,cod_CCG, cod_CAT,cod_CAC,cod_CAA,cod_CAG, cod_CGT,cod_CGC,cod_CGA,cod_CGG,$/;"   e       enum:codon
+cod_CTG        seqTools.h      /^            cod_CTT,cod_CTC,cod_CTA,cod_CTG, cod_CCT,cod_CCC,cod_CCA,cod_CCG, cod_CAT,cod_CAC,cod_CAA,cod_CAG, cod_CGT,cod_CGC,cod_CGA,cod_CGG,$/;"   e       enum:codon
+cod_CTT        seqTools.h      /^            cod_CTT,cod_CTC,cod_CTA,cod_CTG, cod_CCT,cod_CCC,cod_CCA,cod_CCG, cod_CAT,cod_CAC,cod_CAA,cod_CAG, cod_CGT,cod_CGC,cod_CGA,cod_CGG,$/;"   e       enum:codon
+cod_GAA        seqTools.h      /^            cod_GTT,cod_GTC,cod_GTA,cod_GTG, cod_GCT,cod_GCC,cod_GCA,cod_GCG, cod_GAT,cod_GAC,cod_GAA,cod_GAG, cod_GGT,cod_GGC,cod_GGA,cod_GGG};$/;"  e       enum:codon
+cod_GAC        seqTools.h      /^            cod_GTT,cod_GTC,cod_GTA,cod_GTG, cod_GCT,cod_GCC,cod_GCA,cod_GCG, cod_GAT,cod_GAC,cod_GAA,cod_GAG, cod_GGT,cod_GGC,cod_GGA,cod_GGG};$/;"  e       enum:codon
+cod_GAG        seqTools.h      /^            cod_GTT,cod_GTC,cod_GTA,cod_GTG, cod_GCT,cod_GCC,cod_GCA,cod_GCG, cod_GAT,cod_GAC,cod_GAA,cod_GAG, cod_GGT,cod_GGC,cod_GGA,cod_GGG};$/;"  e       enum:codon
+cod_GAT        seqTools.h      /^            cod_GTT,cod_GTC,cod_GTA,cod_GTG, cod_GCT,cod_GCC,cod_GCA,cod_GCG, cod_GAT,cod_GAC,cod_GAA,cod_GAG, cod_GGT,cod_GGC,cod_GGA,cod_GGG};$/;"  e       enum:codon
+cod_GCA        seqTools.h      /^            cod_GTT,cod_GTC,cod_GTA,cod_GTG, cod_GCT,cod_GCC,cod_GCA,cod_GCG, cod_GAT,cod_GAC,cod_GAA,cod_GAG, cod_GGT,cod_GGC,cod_GGA,cod_GGG};$/;"  e       enum:codon
+cod_GCC        seqTools.h      /^            cod_GTT,cod_GTC,cod_GTA,cod_GTG, cod_GCT,cod_GCC,cod_GCA,cod_GCG, cod_GAT,cod_GAC,cod_GAA,cod_GAG, cod_GGT,cod_GGC,cod_GGA,cod_GGG};$/;"  e       enum:codon
+cod_GCG        seqTools.h      /^            cod_GTT,cod_GTC,cod_GTA,cod_GTG, cod_GCT,cod_GCC,cod_GCA,cod_GCG, cod_GAT,cod_GAC,cod_GAA,cod_GAG, cod_GGT,cod_GGC,cod_GGA,cod_GGG};$/;"  e       enum:codon
+cod_GCT        seqTools.h      /^            cod_GTT,cod_GTC,cod_GTA,cod_GTG, cod_GCT,cod_GCC,cod_GCA,cod_GCG, cod_GAT,cod_GAC,cod_GAA,cod_GAG, cod_GGT,cod_GGC,cod_GGA,cod_GGG};$/;"  e       enum:codon
+cod_GGA        seqTools.h      /^            cod_GTT,cod_GTC,cod_GTA,cod_GTG, cod_GCT,cod_GCC,cod_GCA,cod_GCG, cod_GAT,cod_GAC,cod_GAA,cod_GAG, cod_GGT,cod_GGC,cod_GGA,cod_GGG};$/;"  e       enum:codon
+cod_GGC        seqTools.h      /^            cod_GTT,cod_GTC,cod_GTA,cod_GTG, cod_GCT,cod_GCC,cod_GCA,cod_GCG, cod_GAT,cod_GAC,cod_GAA,cod_GAG, cod_GGT,cod_GGC,cod_GGA,cod_GGG};$/;"  e       enum:codon
+cod_GGG        seqTools.h      /^            cod_GTT,cod_GTC,cod_GTA,cod_GTG, cod_GCT,cod_GCC,cod_GCA,cod_GCG, cod_GAT,cod_GAC,cod_GAA,cod_GAG, cod_GGT,cod_GGC,cod_GGA,cod_GGG};$/;"  e       enum:codon
+cod_GGT        seqTools.h      /^            cod_GTT,cod_GTC,cod_GTA,cod_GTG, cod_GCT,cod_GCC,cod_GCA,cod_GCG, cod_GAT,cod_GAC,cod_GAA,cod_GAG, cod_GGT,cod_GGC,cod_GGA,cod_GGG};$/;"  e       enum:codon
+cod_GTA        seqTools.h      /^            cod_GTT,cod_GTC,cod_GTA,cod_GTG, cod_GCT,cod_GCC,cod_GCA,cod_GCG, cod_GAT,cod_GAC,cod_GAA,cod_GAG, cod_GGT,cod_GGC,cod_GGA,cod_GGG};$/;"  e       enum:codon
+cod_GTC        seqTools.h      /^            cod_GTT,cod_GTC,cod_GTA,cod_GTG, cod_GCT,cod_GCC,cod_GCA,cod_GCG, cod_GAT,cod_GAC,cod_GAA,cod_GAG, cod_GGT,cod_GGC,cod_GGA,cod_GGG};$/;"  e       enum:codon
+cod_GTG        seqTools.h      /^            cod_GTT,cod_GTC,cod_GTA,cod_GTG, cod_GCT,cod_GCC,cod_GCA,cod_GCG, cod_GAT,cod_GAC,cod_GAA,cod_GAG, cod_GGT,cod_GGC,cod_GGA,cod_GGG};$/;"  e       enum:codon
+cod_GTT        seqTools.h      /^            cod_GTT,cod_GTC,cod_GTA,cod_GTG, cod_GCT,cod_GCC,cod_GCA,cod_GCG, cod_GAT,cod_GAC,cod_GAA,cod_GAG, cod_GGT,cod_GGC,cod_GGA,cod_GGG};$/;"  e       enum:codon
+cod_TAA        seqTools.h      /^enum codon {cod_TTT,cod_TTC,cod_TTA,cod_TTG, cod_TCT,cod_TCC,cod_TCA,cod_TCG, cod_TAT,cod_TAC,cod_TAA,cod_TAG, cod_TGT,cod_TGC,cod_TGA,cod_TGG,$/;"   e       enum:codon
+cod_TAC        seqTools.h      /^enum codon {cod_TTT,cod_TTC,cod_TTA,cod_TTG, cod_TCT,cod_TCC,cod_TCA,cod_TCG, cod_TAT,cod_TAC,cod_TAA,cod_TAG, cod_TGT,cod_TGC,cod_TGA,cod_TGG,$/;"   e       enum:codon
+cod_TAG        seqTools.h      /^enum codon {cod_TTT,cod_TTC,cod_TTA,cod_TTG, cod_TCT,cod_TCC,cod_TCA,cod_TCG, cod_TAT,cod_TAC,cod_TAA,cod_TAG, cod_TGT,cod_TGC,cod_TGA,cod_TGG,$/;"   e       enum:codon
+cod_TAT        seqTools.h      /^enum codon {cod_TTT,cod_TTC,cod_TTA,cod_TTG, cod_TCT,cod_TCC,cod_TCA,cod_TCG, cod_TAT,cod_TAC,cod_TAA,cod_TAG, cod_TGT,cod_TGC,cod_TGA,cod_TGG,$/;"   e       enum:codon
+cod_TCA        seqTools.h      /^enum codon {cod_TTT,cod_TTC,cod_TTA,cod_TTG, cod_TCT,cod_TCC,cod_TCA,cod_TCG, cod_TAT,cod_TAC,cod_TAA,cod_TAG, cod_TGT,cod_TGC,cod_TGA,cod_TGG,$/;"   e       enum:codon
+cod_TCC        seqTools.h      /^enum codon {cod_TTT,cod_TTC,cod_TTA,cod_TTG, cod_TCT,cod_TCC,cod_TCA,cod_TCG, cod_TAT,cod_TAC,cod_TAA,cod_TAG, cod_TGT,cod_TGC,cod_TGA,cod_TGG,$/;"   e       enum:codon
+cod_TCG        seqTools.h      /^enum codon {cod_TTT,cod_TTC,cod_TTA,cod_TTG, cod_TCT,cod_TCC,cod_TCA,cod_TCG, cod_TAT,cod_TAC,cod_TAA,cod_TAG, cod_TGT,cod_TGC,cod_TGA,cod_TGG,$/;"   e       enum:codon
+cod_TCT        seqTools.h      /^enum codon {cod_TTT,cod_TTC,cod_TTA,cod_TTG, cod_TCT,cod_TCC,cod_TCA,cod_TCG, cod_TAT,cod_TAC,cod_TAA,cod_TAG, cod_TGT,cod_TGC,cod_TGA,cod_TGG,$/;"   e       enum:codon
+cod_TGA        seqTools.h      /^enum codon {cod_TTT,cod_TTC,cod_TTA,cod_TTG, cod_TCT,cod_TCC,cod_TCA,cod_TCG, cod_TAT,cod_TAC,cod_TAA,cod_TAG, cod_TGT,cod_TGC,cod_TGA,cod_TGG,$/;"   e       enum:codon
+cod_TGC        seqTools.h      /^enum codon {cod_TTT,cod_TTC,cod_TTA,cod_TTG, cod_TCT,cod_TCC,cod_TCA,cod_TCG, cod_TAT,cod_TAC,cod_TAA,cod_TAG, cod_TGT,cod_TGC,cod_TGA,cod_TGG,$/;"   e       enum:codon
+cod_TGG        seqTools.h      /^enum codon {cod_TTT,cod_TTC,cod_TTA,cod_TTG, cod_TCT,cod_TCC,cod_TCA,cod_TCG, cod_TAT,cod_TAC,cod_TAA,cod_TAG, cod_TGT,cod_TGC,cod_TGA,cod_TGG,$/;"   e       enum:codon
+cod_TGT        seqTools.h      /^enum codon {cod_TTT,cod_TTC,cod_TTA,cod_TTG, cod_TCT,cod_TCC,cod_TCA,cod_TCG, cod_TAT,cod_TAC,cod_TAA,cod_TAG, cod_TGT,cod_TGC,cod_TGA,cod_TGG,$/;"   e       enum:codon
+cod_TTA        seqTools.h      /^enum codon {cod_TTT,cod_TTC,cod_TTA,cod_TTG, cod_TCT,cod_TCC,cod_TCA,cod_TCG, cod_TAT,cod_TAC,cod_TAA,cod_TAG, cod_TGT,cod_TGC,cod_TGA,cod_TGG,$/;"   e       enum:codon
+cod_TTC        seqTools.h      /^enum codon {cod_TTT,cod_TTC,cod_TTA,cod_TTG, cod_TCT,cod_TCC,cod_TCA,cod_TCG, cod_TAT,cod_TAC,cod_TAA,cod_TAG, cod_TGT,cod_TGC,cod_TGA,cod_TGG,$/;"   e       enum:codon
+cod_TTG        seqTools.h      /^enum codon {cod_TTT,cod_TTC,cod_TTA,cod_TTG, cod_TCT,cod_TCC,cod_TCA,cod_TCG, cod_TAT,cod_TAC,cod_TAA,cod_TAG, cod_TGT,cod_TGC,cod_TGA,cod_TGG,$/;"   e       enum:codon
+cod_TTT        seqTools.h      /^enum codon {cod_TTT,cod_TTC,cod_TTA,cod_TTG, cod_TCT,cod_TCC,cod_TCA,cod_TCG, cod_TAT,cod_TAC,cod_TAA,cod_TAG, cod_TGT,cod_TGC,cod_TGA,cod_TGG,$/;"   e       enum:codon
 codeproject    sorted_vector.h /^namespace codeproject{$/;"    n
+codon  seqTools.h      /^enum codon {cod_TTT,cod_TTC,cod_TTA,cod_TTG, cod_TCT,cod_TCC,cod_TCA,cod_TCG, cod_TAT,cod_TAC,cod_TAA,cod_TAG, cod_TGT,cod_TGC,cod_TGA,cod_TGG,$/;"   g
+codon2aa       seqTools.cpp    /^const codon2aa_map codon2aa = {$/;"   v
+codon2aa_map   seqTools.h      /^typedef std::unordered_map<codon,aa> codon2aa_map;$/;"        t
+codon2str      seqTools.cpp    /^const codon2str_map codon2str = {$/;" v
+codon2str_map  seqTools.h      /^typedef std::unordered_map<codon,std::string> codon2str_map;$/;"      t
 computeEnergy  snip.cpp        /^double computeEnergy(const Vector &J, const std::vector<int> &config) {$/;"   f
 compute_num_escaped    pop_ss.cpp      /^unsigned int Population::compute_num_escaped(Hamiltonian &H) {$/;"    f       class:Population
 compute_num_escaped    population.cpp  /^unsigned int Population::compute_num_escaped(Hamiltonian &H) {$/;"    f       class:Population
@@ -148,6 +353,7 @@ compute_num_escaped_all     pop_ss.cpp      /^unsigned int Population::compute_num_escape
 compute_num_escaped_all        population.cpp  /^unsigned int Population::compute_num_escaped_all(Hamiltonian &H) {$/;"        f       class:Population
 compute_population_size        pop_ss.cpp      /^unsigned int Population::compute_population_size() {$/;"      f       class:Population
 compute_population_size        population.cpp  /^unsigned int Population::compute_population_size() {$/;"      f       class:Population
+config pop_ss.h        /^    PottsState config;$/;"    m       class:NTVirus
 const_iterator sorted_vector.h /^      typedef typename Cont::const_iterator   const_iterator;$/;"     t       class:codeproject::sorted_vector
 const_reference        sorted_vector.h /^      typedef typename Cont::const_reference  const_reference;$/;"    t       class:codeproject::sorted_vector
 const_reverse_iterator sorted_vector.h /^      typedef typename Cont::const_reverse_iterator const_reverse_iterator;$/;"       t       class:codeproject::sorted_vector
@@ -155,6 +361,7 @@ contains    hamiltonian.cpp /^inline bool contains(const std::set<T> &container, co
 contains       hamiltonian.cpp /^inline bool contains(const std::vector<T> &vec, const T &value)$/;"   f
 contains       mc.cpp  /^inline bool contains(const std::set<T> &container, const T &value)$/;"        f
 contains       mc.cpp  /^inline bool contains(const std::vector<T> &vec, const T &value)$/;"   f
+count  pop_ss.h        /^    long count;$/;"   m       class:Species
 count  sorted_vector.h /^      size_type count(const K& k) const$/;"   f       class:codeproject::sorted_vector
 couplingsInfile        mc.h    /^    std::string couplingsInfile;$/;"  m       class:RunParameters_MC
 couplingsInfile        ss.h    /^    std::string couplingsInfile;$/;"  m       class:RunParameters_SS
@@ -179,6 +386,8 @@ eend        wf.h    /^    int eend;                   \/\/ Epitope end position$/;" m       clas
 empty  sorted_vector.h /^    bool empty() const                                                        {return vec_.empty();}$/;"      f       class:codeproject::sorted_vector
 end    sorted_vector.h /^    const_iterator            end() const                             {return vec_.end();}$/;"        f       class:codeproject::sorted_vector
 end    sorted_vector.h /^    iterator                  end()                                   {return vec_.end();}$/;"        f       class:codeproject::sorted_vector
+energy pop_ss.h        /^    double energy;$/;"        m       class:NTVirus
+energy pop_ss.h        /^    double energy;$/;"        m       class:Virus
 energy virus.h /^    double energy;$/;"        m       class:Virus
 ensure_get_energy_false_instantiated   hamiltonian.cpp /^double ensure_get_energy_false_instantiated(const std::set<unsigned int> &x) { EpitopeHamiltonian A((std::string&)""); return A.get_energy<false>(x); }$/;"   f
 epitopeAllSites        hamiltonian.h   /^    MutatedSiteSequence epitopeAllSites;    \/\/ all site indices belonging to an epitope (WT or mut ant)$/;" m       class:EpitopeHamiltonian
@@ -187,11 +396,16 @@ epitopeInfile     ss.h    /^    std::string epitopeInfile;$/;"    m       class:RunParameters_SS
 epitopeInfile  wf.h    /^    std::string epitopeInfile;$/;"    m       class:RunParameters
 epitopeMut     hamiltonian.h   /^    std::vector<std::vector<unsigned int> > epitopeMut;$/;"   m       class:EpitopeHamiltonian
 epitopeMut     hamiltonian.h   /^    std::vector<unsigned int> epitopeMut;$/;" m       class:EpitopeHamiltonian
+epitopeMut     pop_ss.h        /^    std::vector<unsigned int> epitopeMut; \/\/ sites with state=1 are recognized$/;"  m       class:EpitopeRecognizer
 epitopeWT      hamiltonian.h   /^    std::vector<std::vector<unsigned int> > epitopeWT;$/;"    m       class:EpitopeHamiltonian
 epitopeWT      hamiltonian.h   /^    std::vector<unsigned int> epitopeWT;$/;"  m       class:EpitopeHamiltonian
+epitopeWT      pop_ss.h        /^    std::vector<unsigned int> epitopeWT;  \/\/ sites with state=0 are recognized$/;"  m       class:EpitopeRecognizer
 epitopefile    mc.h    /^    std::string epitopefile;    \/\/ Input file name for targeted epitopes$/;"        m       class:RunParameters_MC
 epitopefile    ss.h    /^    std::string epitopefile;    \/\/ Input file name for targeted epitopes$/;"        m       class:RunParameters_SS
 epitopefile    wf.h    /^    std::string epitopefile;    \/\/ Input file name for targeted epitopes$/;"        m       class:RunParameters
+epitopefiles   ss.h    /^    std::vector<std::string> epitopefiles;$/;"        m       class:RunParameters_SS
+epitopes       pop_ss.h        /^    std::vector<AARecognizer> epitopes;$/;"   m       class:CTLaaSpecies
+epitopes       pop_ss.h        /^    std::vector<EpitopeRecognizer> epitopes;$/;"      m       class:CTLSpecies
 equal_range    sorted_vector.h /^      Paircc_ equal_range(const K& k) const$/;"       f       class:codeproject::sorted_vector
 equal_range    sorted_vector.h /^      Pairii_ equal_range(const K& k)$/;"     f       class:codeproject::sorted_vector
 erase  sorted_vector.h /^      iterator erase(iterator first, iterator beyond)$/;"     f       class:codeproject::sorted_vector
@@ -207,6 +421,10 @@ escaped    hamiltonian.cpp /^bool EpitopeHamiltonian::escaped(const std::set<unsign
 escaped        hamiltonian.cpp /^bool EpitopeHamiltonian::escaped(const std::set<unsigned int> &mutated_sites, const std::vector<unsigned int> &eWT, const std::vector<unsigned int> &eMut) const {$/;"        f       class:EpitopeHamiltonian
 escaped        hamiltonian.h   /^    virtual bool escaped(const Virus &v) { return false; }$/;"        f       class:Hamiltonian
 escaped        hamiltonian.h   /^    virtual bool escaped(const std::set<unsigned int> &mutated_sites) const { return false; }$/;"     f       class:Hamiltonian
+escaped        pop_ss.cpp      /^bool AARecognizer::escaped(const NTVirus &v) const {$/;"      f       class:AARecognizer
+escaped        pop_ss.cpp      /^bool AARecognizer::escaped(const std::vector<aa> &aa_seq) const {$/;" f       class:AARecognizer
+escaped        pop_ss.cpp      /^bool EpitopeRecognizer::escaped(const MutatedSiteSequence &mutated_sites) const {$/;" f       class:EpitopeRecognizer
+escaped        pop_ss.cpp      /^bool EpitopeRecognizer::escaped(const Virus &v) const {$/;"   f       class:EpitopeRecognizer
 escaped        pop_ss.cpp      /^bool Population::escaped(Hamiltonian &H) {$/;"        f       class:Population
 escaped        population.cpp  /^bool Population::escaped(Hamiltonian &H) {$/;"        f       class:Population
 escaped_all    hamiltonian.cpp /^bool EpitopeHamiltonian::escaped_all(const Virus &v) {$/;"    f       class:EpitopeHamiltonian
@@ -220,6 +438,15 @@ estart     ss.h    /^    int estart;                 \/\/ Epitope start position$/;"       m
 estart wf.h    /^    int estart;                 \/\/ Epitope start position$/;"       m       class:RunParameters
 find   sorted_vector.h /^      const_iterator find(const K& k) const$/;"       f       class:codeproject::sorted_vector
 find   sorted_vector.h /^      iterator find(const K& k)$/;"   f       class:codeproject::sorted_vector
+fire   reaction.cpp    /^void AAKillingReaction::fire()$/;"    f       class:AAKillingReaction
+fire   reaction.cpp    /^void CTLActivationReaction::fire()$/;"        f       class:CTLActivationReaction
+fire   reaction.cpp    /^void CTLaaActivationReaction::fire()$/;"      f       class:CTLaaActivationReaction
+fire   reaction.cpp    /^void ElementaryReaction::fire()$/;"   f       class:ElementaryReaction
+fire   reaction.cpp    /^void KillingReaction::fire()$/;"      f       class:KillingReaction
+fire   reaction.cpp    /^void NTVirusDeathReaction::fire()$/;" f       class:NTVirusDeathReaction
+fire   reaction.cpp    /^void NTVirusReaction::fire()$/;"      f       class:NTVirusReaction
+fire   reaction.cpp    /^void VirusDeathReaction::fire()$/;"   f       class:VirusDeathReaction
+fire   reaction.cpp    /^void VirusReaction::fire()$/;"        f       class:VirusReaction
 front  sorted_vector.h /^      const_reference front() const                           {return vec_.front();}$/;"      f       class:codeproject::sorted_vector
 front  sorted_vector.h /^    reference front()                                                 {return vec_.front();}$/;"      f       class:codeproject::sorted_vector
 g      mc.h    /^    unsigned int g;             \/\/ Number of generations$/;"        m       class:RunParameters_MC
@@ -227,9 +454,14 @@ g  ss.h    /^    unsigned int g;             \/\/ Number of generations$/;"        m       class:
 g      wf.h    /^    unsigned int g;             \/\/ Number of generations$/;"        m       class:RunParameters
 generate_allsites_set  hamiltonian.cpp /^void EpitopeHamiltonian::generate_allsites_set()$/;"  f       class:EpitopeHamiltonian
 getCorrelations        snip.cpp        /^void getCorrelations(FILE *input, Vector &p) {$/;"    f
+getCouplings   ham_ss.cpp      /^void PottsHamiltonian::getCouplings(const std::string &FILENAME)$/;"  f       class:PottsHamiltonian
 getCouplings   snip.cpp        /^void getCouplings(FILE *input, Vector &p) {$/;"       f
+getSeq2State   ham_ss.cpp      /^void PottsHamiltonian::getSeq2State(const std::string &FILENAME)$/;"  f       class:PottsHamiltonian
+getSeq2State   seqTools.cpp    /^void getSeq2State(FILE *input, CharVector &p)$/;"     f
 get_allocator  sorted_vector.h /^    A get_allocator() const                                           {return vec_.get_allocator();}$/;"      f       class:codeproject::sorted_vector
 get_container  sorted_vector.h /^    Cont& get_container()$/;" f       class:codeproject::sorted_vector
+get_energy     ham_ss.cpp      /^double Hamiltonian::get_energy(const std::set<unsigned int> &mutated_sites) const {$/;"       f       class:Hamiltonian
+get_energy     ham_ss.cpp      /^double PottsHamiltonian::get_energy(const PottsState &config) const$/;"       f       class:PottsHamiltonian
 get_energy     hamiltonian.cpp /^double EpitopeHamiltonian::get_energy(const std::set<unsigned int> &mutated_sites) const {$/;"        f       class:EpitopeHamiltonian
 get_energy     hamiltonian.cpp /^double EpitopeHamiltonian::get_energy(const std::set<unsigned int> &mutated_sites) const$/;"  f       class:EpitopeHamiltonian
 get_energy     hamiltonian.cpp /^double Hamiltonian::get_energy(const std::set<unsigned int> &mutated_sites) const {$/;"       f       class:Hamiltonian
@@ -244,16 +476,23 @@ h1        wf.h    /^    double h1;$/;"    m       class:RunParameters
 h2     mc.h    /^    double h2;$/;"    m       class:RunParameters_MC
 h2     ss.h    /^    double h2;$/;"    m       class:RunParameters_SS
 h2     wf.h    /^    double h2;$/;"    m       class:RunParameters
+hash   seqTools.h      /^    template<> struct hash<aa> {$/;"  s       namespace:std
+hash   seqTools.h      /^    template<> struct hash<codon> {$/;"       s       namespace:std
+hash   seqTools.h      /^    template<> struct hash<nt> {$/;"  s       namespace:std
 id     main.cpp        /^    int         id;$/;"       m       struct:STest    file:
 importEpitope  mc.cpp  /^void importEpitope(RunParameters_MC &r) {$/;" f
 importEpitope  ss.cpp  /^void importEpitope(RunParameters_SS &r) {$/;" f
+importEpitope  ss.cpp  /^void importEpitope(RunParameters_SS &r, Species_parray &species, Rxn_parray &reactions, VirusSpecies *V, Species_parray &print_spec)$/;"      f
 importEpitope  wf.cpp  /^void importEpitope(RunParameters &r) {$/;"    f
+importEpitope_Potts    ss.cpp  /^void importEpitope_Potts(RunParameters_SS &r, Species_parray &species, Rxn_parray &reactions, NTVirusSpecies *V, Species_parray &print_spec)$/;"      f
 importState    mc.cpp  /^void importState(RunParameters_MC &r) {$/;"   f
 importState    mc.h    /^    bool importState;           \/\/ If true, import state from a state file$/;"      m       class:RunParameters_MC
 importState    ss.cpp  /^void importState(RunParameters_SS &r) {$/;"   f
 importState    ss.h    /^    bool importState;           \/\/ If true, import state from a state file$/;"      m       class:RunParameters_SS
 importState    wf.cpp  /^void importState(RunParameters &r) {$/;"      f
 importState    wf.h    /^    bool importState;           \/\/ If true, import state from a state file$/;"      m       class:RunParameters
+importState_Potts      ss.cpp  /^void importState_Potts(RunParameters_SS &r)$/;"       f
+index  ham_ss.h        /^inline int index(int i, int j, size_t length) {$/;"   f
 index  snip.h  /^inline int index(int i, int j, size_t length) {$/;"   f
 infile mc.h    /^    std::string infile;         \/\/ Input file from which couplings are to be read$/;"       m       class:RunParameters_MC
 infile ss.h    /^    std::string infile;         \/\/ Input file from which couplings are to be read$/;"       m       class:RunParameters_SS
@@ -264,18 +503,27 @@ initFrac  wf.h    /^    std::vector<double>                  initFrac;  \/\/ Initial
 initPop        mc.h    /^    std::vector<std::set<unsigned int> > initPop;   \/\/ Initial population sequences$/;"     m       class:RunParameters_MC
 initPop        ss.h    /^    std::vector<std::set<unsigned int> > initPop;   \/\/ Initial population sequences$/;"     m       class:RunParameters_SS
 initPop        wf.h    /^    std::vector<std::set<unsigned int> > initPop;   \/\/ Initial population sequences$/;"     m       class:RunParameters
+initPop_NT     ss.h    /^    std::vector<std::string> initPop_NT;$/;"  m       class:RunParameters_SS
 initState      mc.h    /^    MutatedSiteSequence initState;  \/\/ initial state of system$/;"  m       class:RunParameters_MC
+init_CTL_numM  ss.h    /^    std::vector<long> init_CTL_numM;$/;"      m       class:RunParameters_SS
+init_CTL_numN  ss.h    /^    std::vector<long> init_CTL_numN;$/;"      m       class:RunParameters_SS
+init_CTL_numT  ss.h    /^    std::vector<long> init_CTL_numT;$/;"      m       class:RunParameters_SS
 initial_sequence       mc.cpp  /^MutatedSiteSequence initial_sequence(const EpitopeHamiltonian &H, const MutatedSiteSequence &initState)$/;"   f
+initialize_Ising       ss.cpp  /^void initialize_Ising(RunParameters_SS &r, Species_parray &species, Rxn_parray &reactions, Species_parray &print_spec)$/;"    f
+initialize_Potts       ss.cpp  /^void initialize_Potts(RunParameters_SS &r, Species_parray &species, Rxn_parray &reactions, Species_parray &print_spec)$/;"    f
 insert sorted_vector.h /^      void insert(It first, It beyond)$/;"    f       class:codeproject::sorted_vector
 insert sorted_vector.h /^   Pairib_ insert(const value_type& x)$/;"    f       class:codeproject::sorted_vector
 insert sorted_vector.h /^   iterator insert(iterator it, const value_type& x)\/\/it is the hint$/;"    f       class:codeproject::sorted_vector
 insert sorted_vector.h /^   void insert(const_iterator first, const_iterator beyond)$/;"       f       class:codeproject::sorted_vector
+int2aa seqTools.cpp    /^const int2str_map int2aa = {$/;"      v
+int2str_map    seqTools.h      /^typedef std::unordered_map<int,char> int2str_map;$/;" t
 is_unique      main.cpp        /^bool is_unique(It beg,It beyond,Pred pred)$/;"        f
 iterator       sorted_vector.h /^      typedef typename Cont::iterator                 iterator;$/;"   t       class:codeproject::sorted_vector
 key_comp       sorted_vector.h /^      key_compare key_comp() const                    {return key_compare_; }$/;"     f       class:codeproject::sorted_vector
 key_compare    sorted_vector.h /^    typedef Pr                                                key_compare;$/;"        t       class:codeproject::sorted_vector
 key_compare_   sorted_vector.h /^    key_compare         key_compare_;$/;"     m       class:codeproject::sorted_vector
 key_type       sorted_vector.h /^    typedef K                                         key_type;$/;"   t       class:codeproject::sorted_vector
+len    pop_ss.h        /^    size_t len;$/;"   m       class:AARecognizer
 lower_bound    sorted_vector.h /^      const_iterator lower_bound(const K& k) const$/;"        f       class:codeproject::sorted_vector
 lower_bound    sorted_vector.h /^      iterator lower_bound(const K& k)$/;"    f       class:codeproject::sorted_vector
 ltstr  main.cpp        /^struct ltstr$/;"      s       file:
@@ -285,37 +533,62 @@ m_stop    main.cpp        /^    time_t m_start, m_stop;$/;"       m       class:SimpTimer file:
 main   main.cpp        /^int main()$/;"        f
 main   mc.cpp  /^int main(int argc, char *argv[]) {$/;"        f
 main   seqTools.cpp    /^int main(int argc, char *argv[])$/;"  f
+main   snip.cpp        /^int main(int argc, char **argv)$/;"   f
 main   ss.cpp  /^int main(int argc, char *argv[]) {$/;"        f
 main   test/make_tests.py      /^def main():$/;"       f
 main   wf.cpp  /^int main(int argc, char *argv[]) {$/;"        f
 max_size       sorted_vector.h /^    size_type max_size() const                                        {return vec_.max_size();}$/;"   f       class:codeproject::sorted_vector
+max_steps      ss.h    /^    long max_steps;$/;"       m       class:RunParameters_SS
 mu     mc.h    /^    double mu;                  \/\/ Mutation rate$/;"        m       class:RunParameters_MC
 mu     pop_ss.h        /^    double mu;      \/\/ Mutation rate$/;"    m       class:Population
 mu     population.h    /^    double mu;      \/\/ Mutation rate$/;"    m       class:Population
+mu     reaction.h      /^    double mu;$/;"    m       class:NTVirusReaction
+mu     reaction.h      /^    double mu;$/;"    m       class:VirusReaction
 mu     ss.h    /^    double mu;                  \/\/ Mutation rate$/;"        m       class:RunParameters_SS
 mu     virus.h /^    double mu;$/;"    m       class:Virus
 mu     wf.h    /^    double mu;                  \/\/ Mutation rate$/;"        m       class:RunParameters
 mutate virus.cpp       /^void Virus::mutate(const Hamiltonian &H, gsl_rng* r) {$/;"    f       class:Virus
 mutate_population      pop_ss.cpp      /^void Population::mutate_population(const Hamiltonian &H, gsl_rng* r) {$/;"    f       class:Population
 mutate_population      population.cpp  /^void Population::mutate_population(const Hamiltonian &H, gsl_rng* r) {$/;"    f       class:Population
+mutated_sites  pop_ss.h        /^    std::set<unsigned int> mutated_sites;$/;" m       class:Virus
 mutated_sites  virus.h /^    std::set<unsigned int> mutated_sites;$/;" m       class:Virus
 n      mc.h    /^    unsigned int n;             \/\/ Population size$/;"      m       class:RunParameters_MC
 n      ss.h    /^    unsigned int n;             \/\/ Population size$/;"      m       class:RunParameters_SS
 n      wf.h    /^    unsigned int n;             \/\/ Population size$/;"      m       class:RunParameters
+name   pop_ss.h        /^    std::string name;$/;"     m       class:Species
 next_generation        pop_ss.cpp      /^void Population::next_generation(const Hamiltonian &H, gsl_rng* r, bool useRelative, bool useVerbose) {$/;"   f       class:Population
 next_generation        population.cpp  /^void Population::next_generation(const Hamiltonian &H, gsl_rng* r, bool useRelative, bool useVerbose) {$/;"   f       class:Population
 notEpitopeAllSites     hamiltonian.h   /^    MutatedSiteSequence notEpitopeAllSites; \/\/ all sites not involved in an epitope$/;"     m       class:EpitopeHamiltonian
+nt     seqTools.h      /^enum nt {nt_T,nt_C,nt_A,nt_G};$/;"    g
+nt2str seqTools.cpp    /^const nt2str_map nt2str = {$/;"       v
+nt2str_map     seqTools.h      /^typedef std::unordered_map<nt,char> nt2str_map;$/;"   t
+nt_A   seqTools.h      /^enum nt {nt_T,nt_C,nt_A,nt_G};$/;"    e       enum:nt
+nt_C   seqTools.h      /^enum nt {nt_T,nt_C,nt_A,nt_G};$/;"    e       enum:nt
+nt_G   seqTools.h      /^enum nt {nt_T,nt_C,nt_A,nt_G};$/;"    e       enum:nt
+nt_T   seqTools.h      /^enum nt {nt_T,nt_C,nt_A,nt_G};$/;"    e       enum:nt
+nt_seq pop_ss.h        /^    std::string nt_seq;$/;"   m       class:NTVirus
 numEpitopes    mc.h    /^    unsigned int numEpitopes;   \/\/ how many epitopes are targeted$/;"       m       class:RunParameters_MC
 numEpitopes    ss.h    /^    unsigned int numEpitopes;   \/\/ how many epitopes are targeted$/;"       m       class:RunParameters_SS
 numEpitopes    wf.h    /^    unsigned int numEpitopes;   \/\/ how many epitopes are targeted$/;"       m       class:RunParameters
+num_CTL_clones ss.h    /^    unsigned int num_CTL_clones;$/;"  m       class:RunParameters_SS
+num_T_gen      ss.h    /^    unsigned int num_T_gen;    \/\/ ND, number of effector cell generations (i.e. divisions)$/;"      m       class:RunParameters_SS
+num_ep pop_ss.h        /^    size_t num_ep;$/;"        m       class:CTLSpecies
+num_ep pop_ss.h        /^    size_t num_ep;$/;"        m       class:CTLaaSpecies
 num_runs       mc.h    /^    unsigned int num_runs;      \/\/ Number of times to run the simulation for gathering overall statistics$/;"       m       class:RunParameters_MC
 num_runs       ss.h    /^    unsigned int num_runs;      \/\/ Number of times to run the simulation for gathering overall statistics$/;"       m       class:RunParameters_SS
 num_runs       wf.h    /^    unsigned int num_runs;      \/\/ Number of times to run the simulation for gathering overall statistics$/;"       m       class:RunParameters
 operator !=    sorted_vector.h /^      bool operator!=(const sorted_vector<K, bNoDuplicates,Pr,A>& x,$/;"      f       namespace:codeproject
 operator ()    main.cpp        /^  bool operator()(const char* s1, const char* s2) const$/;"   f       struct:ltstr
+operator ()    seqTools.h      /^        inline size_t operator()(const aa &x) const { return static_cast<int>(x); }$/;"       f       struct:std::hash
+operator ()    seqTools.h      /^        inline size_t operator()(const codon &x) const { return static_cast<int>(x); }$/;"    f       struct:std::hash
+operator ()    seqTools.h      /^        inline size_t operator()(const nt &x) const { return static_cast<int>(x); }$/;"       f       struct:std::hash
 operator <     main.cpp        /^bool operator<(const STest& t0,const STest& t1)$/;"   f
+operator <     pop_ss.cpp      /^bool operator<(const NTVirus& lhs, const NTVirus& rhs) {$/;"  f
+operator <     pop_ss.cpp      /^bool operator<(const Virus& lhs, const Virus& rhs) {$/;"      f
 operator <     sorted_vector.h /^      bool operator<(const sorted_vector<K, bNoDuplicates,Pr,A>& x,$/;"       f       namespace:codeproject
 operator <     virus.cpp       /^bool operator<(const Virus& lhs, const Virus& rhs) {$/;"      f
+operator <<    ss.h    /^std::ostream& operator<<(std::ostream& os, MutatedSiteSequence s)$/;" f
+operator <<    ss.h    /^std::ostream& operator<<(std::ostream& os, std::vector<unsigned int> s)$/;"   f
 operator <=    sorted_vector.h /^      bool operator<=(const sorted_vector<K, bNoDuplicates,Pr,A>& x,$/;"      f       namespace:codeproject
 operator =     sorted_vector.h /^    Myt_& operator=(const Cont& x){vec_.operator=(x);$/;"     f       class:codeproject::sorted_vector
 operator =     sorted_vector.h /^    Myt_& operator=(const Myt_& x) {vec_.operator=(x.vec_);$/;"       f       class:codeproject::sorted_vector
@@ -337,19 +610,57 @@ penalty   ss.h    /^    double                               penalty;   \/\/ Energy p
 penalty        wf.h    /^    double                               penalty;   \/\/ Energy penalty if sequence contains the targeted epitope$/;" m       class:RunParameters
 penaltyType    ss.h    /^    PenaltyTYPE penaltyType;$/;"      m       class:RunParameters_SS
 penaltyType    wf.h    /^    PenaltyTYPE penaltyType;$/;"      m       class:RunParameters
+pop    pop_ss.h        /^    NTVirus_map pop;$/;"      m       class:NTVirusSpecies
 pop    pop_ss.h        /^    virus_map pop;$/;"        m       class:Population
+pop    pop_ss.h        /^    virus_map pop;$/;"        m       class:VirusSpecies
 pop    population.h    /^    virus_map pop;$/;"        m       class:Population
 pop_back       sorted_vector.h /^    void pop_back()                                                           {vec_.pop_back();}$/;"  f       class:codeproject::sorted_vector
 print_parameters       virus.cpp       /^void Virus::print_parameters() {$/;"  f       class:Virus
 print_population_size  pop_ss.cpp      /^void Population::print_population_size() {$/;"        f       class:Population
 print_population_size  population.cpp  /^void Population::print_population_size() {$/;"        f       class:Population
+print_species_header   ss.cpp  /^void print_species_header(const Species_parray &print_spec)$/;"       f
+print_species_traj     ss.cpp  /^void print_species_traj(double t, const Species_parray &print_spec, bool verbose)$/;" f
+product_stoich reaction.h      /^    std::vector<int> product_stoich;  \/\/ must be negative for reactants that are consumed!$/;"      m       class:ElementaryReaction
+products       reaction.h      /^    std::vector<Species*> products;  \/\/ effects of reaction$/;"     m       class:ElementaryReaction
+propensity     reaction.h      /^    double propensity;$/;"    m       class:Reaction
+rate_a ss.h    /^    double rate_a;$/;"        m       class:RunParameters_SS
+rate_aprime    ss.h    /^    double rate_aprime;$/;"   m       class:RunParameters_SS
+rate_b ss.h    /^    double rate_b;$/;"        m       class:RunParameters_SS
+rate_constant  reaction.h      /^    double rate_constant;  \/\/ must manually ensure it includes division by statistical degeneracy factor (in case of reaction order >1 for any species)$/;" m       class:Reaction
+rate_d ss.h    /^    double rate_d;$/;"        m       class:RunParameters_SS
+rate_dprime    ss.h    /^    double rate_dprime;$/;"   m       class:RunParameters_SS
+rate_e ss.h    /^    double rate_e;$/;"        m       class:RunParameters_SS
+rate_g ss.h    /^    double rate_g;$/;"        m       class:RunParameters_SS
+rate_h ss.h    /^    double rate_h;$/;"        m       class:RunParameters_SS
+rate_p ss.h    /^    double rate_p;$/;"        m       class:RunParameters_SS
+rate_r ss.h    /^    double rate_r;$/;"        m       class:RunParameters_SS
+rate_s ss.h    /^    double rate_s;$/;"        m       class:RunParameters_SS
+rate_u ss.h    /^    double rate_u;$/;"        m       class:RunParameters_SS
+rate_w ss.h    /^    double rate_w;$/;"        m       class:RunParameters_SS
 rbegin sorted_vector.h /^    const_reverse_iterator rbegin() const   $/;"      f       class:codeproject::sorted_vector
 rbegin sorted_vector.h /^    reverse_iterator  rbegin()                                {return vec_.rbegin();}$/;"     f       class:codeproject::sorted_vector
+reactant_stoich        reaction.h      /^    std::vector<int> reactant_stoich;   \/\/ reaction order$/;"       m       class:ElementaryReaction
+reactants      reaction.h      /^    std::vector<Species*> reactants;  \/\/ anything that participates in reaction rate$/;"    m       class:ElementaryReaction
+recalc reaction.cpp    /^double AAKillingReaction::recalc()$/;"        f       class:AAKillingReaction
+recalc reaction.cpp    /^double CTLActivationReaction::recalc()$/;"    f       class:CTLActivationReaction
+recalc reaction.cpp    /^double CTLaaActivationReaction::recalc()$/;"  f       class:CTLaaActivationReaction
+recalc reaction.cpp    /^double ElementaryReaction::recalc()$/;"       f       class:ElementaryReaction
+recalc reaction.cpp    /^double KillingReaction::recalc()$/;"  f       class:KillingReaction
+recalc reaction.cpp    /^double NTVirusDeathReaction::recalc()$/;"     f       class:NTVirusDeathReaction
+recalc reaction.cpp    /^double NTVirusReaction::recalc()$/;"  f       class:NTVirusReaction
+recalc reaction.cpp    /^double VirusDeathReaction::recalc()$/;"       f       class:VirusDeathReaction
+recalc reaction.cpp    /^double VirusReaction::recalc()$/;"    f       class:VirusReaction
+recognized     pop_ss.cpp      /^double CTLSpecies::recognized(const MutatedSiteSequence &mutated_sites) const {$/;"   f       class:CTLSpecies
+recognized     pop_ss.cpp      /^double CTLSpecies::recognized(const Virus &v) const {$/;"     f       class:CTLSpecies
+recognized     pop_ss.cpp      /^double CTLaaSpecies::recognized(const NTVirus &v) const {$/;" f       class:CTLaaSpecies
+recognized     pop_ss.cpp      /^double CTLaaSpecies::recognized(const std::vector<aa> &aa_seq) const {$/;"    f       class:CTLaaSpecies
+ref    pop_ss.h        /^    std::vector<aa> ref;$/;"  m       class:AARecognizer
 reference      sorted_vector.h /^      typedef typename Cont::reference                        reference;$/;"  t       class:codeproject::sorted_vector
 rend   sorted_vector.h /^    const_reverse_iterator rend() const     $/;"      f       class:codeproject::sorted_vector
 rend   sorted_vector.h /^    reverse_iterator rend()                                           {return vec_.rend();}$/;"       f       class:codeproject::sorted_vector
 reserve        sorted_vector.h /^      void                            reserve(size_type n)    {vec_.reserve(n);}$/;"  f       class:codeproject::sorted_vector
 reverse_iterator       sorted_vector.h /^      typedef typename Cont::reverse_iterator reverse_iterator;$/;"   t       class:codeproject::sorted_vector
+rnd    ss.cpp  /^gsl_rng *rnd;   \/\/pointer to random number generator state$/;"      v
 run    mc.cpp  /^void run(RunParameters_MC &r, unsigned seed) {$/;"    f
 run    ss.cpp  /^void run(RunParameters_SS &r, unsigned seed) {$/;"    f
 run    wf.cpp  /^void run(RunParameters &r) {$/;"      f
@@ -368,19 +679,31 @@ s:l       session.vim     /^let s:l = 55 - ((0 * winheight(0) + 13) \/ 26)$/;"    v
 s:so_save      session.vim     /^let s:so_save = &so | let s:siso_save = &siso | set so=0 siso=0$/;"   v
 s:sx   session.vim     /^let s:sx = expand("<sfile>:p:r")."x.vim"$/;"  v
 s:wipebuf      session.vim     /^  let s:wipebuf = bufnr('%')$/;"      v
+sample_interval        ss.h    /^    double sample_interval;$/;"       m       class:RunParameters_SS
+seq2stateInfile        ss.h    /^    std::string seq2stateInfile;$/;"  m       class:RunParameters_SS
 setFiles       mc.h    /^    void setFiles() {$/;"     f       class:RunParameters_MC
 setFiles       ss.h    /^    void setFiles() {$/;"     f       class:RunParameters_SS
 setFiles       wf.h    /^    void setFiles() {$/;"     f       class:RunParameters
 set_epitope    hamiltonian.cpp /^void EpitopeHamiltonian::set_epitope(const std::vector<unsigned int> &eWT, const std::vector<unsigned int> &eMut, double d) {$/;"     f       class:EpitopeHamiltonian
+set_temp       ham_ss.h        /^    void set_temp(double x)           { bh=x; bJ=x; }$/;"     f       class:Hamiltonian
+set_temp       ham_ss.h        /^    void set_temp(double x)           { bh=x; bJ=x; }$/;"     f       class:PottsHamiltonian
+set_temp       ham_ss.h        /^    void set_temp(double x, double y) { bh=x; bJ=y; }$/;"     f       class:Hamiltonian
+set_temp       ham_ss.h        /^    void set_temp(double x, double y) { bh=x; bJ=y; }$/;"     f       class:PottsHamiltonian
 set_temp       hamiltonian.h   /^    void set_temp(double x)           { bh=x; bJ=x; }$/;"     f       class:Hamiltonian
 set_temp       hamiltonian.h   /^    void set_temp(double x, double y) { bh=x; bJ=y; }$/;"     f       class:Hamiltonian
 sim_random_seed        mc.cpp  /^static unsigned sim_random_seed() {$/;"       f       file:
 sim_random_seed        ss.cpp  /^static unsigned sim_random_seed() {$/;"       f       file:
 sim_random_seed        wf.cpp  /^static unsigned sim_random_seed() {$/;"       f       file:
+simulate       ss.cpp  /^void simulate(Rxn_parray &reactions, Species_parray &species, double t_end, long max_steps, double sample_interval, const Species_parray &print_spec, bool verbose)$/;"       f
+sindex ham_ss.h        /^inline int sindex(int i, int j, size_t qi, size_t qj) {$/;"   f
 sindex snip.h  /^inline int sindex(int i, int j, size_t qi, size_t qj) {$/;"   f
+site   pop_ss.h        /^    std::vector<unsigned> site;$/;"   m       class:AARecognizer
+size   ham_ss.h        /^    int size;$/;"     m       class:Hamiltonian
+size   ham_ss.h        /^    unsigned int size;  \/\/ amino acid length$/;"    m       class:PottsHamiltonian
 size   hamiltonian.h   /^    int size;$/;"     m       class:Hamiltonian
 size   sorted_vector.h /^    size_type size() const                                            {return vec_.size();}$/;"       f       class:codeproject::sorted_vector
 size_type      sorted_vector.h /^      typedef typename Cont::size_type                        size_type;$/;"  t       class:codeproject::sorted_vector
+sizetolength   ham_ss.h        /^inline int sizetolength(size_t size) {$/;"    f
 sizetolength   snip.h  /^inline int sizetolength(size_t size) {$/;"    f
 sort   sorted_vector.h /^    void sort()\/\/restore sorted order after low level access $/;"   f       class:codeproject::sorted_vector
 sorted_vector  sorted_vector.h /^      class sorted_vector {$/;"       c       namespace:codeproject
@@ -388,13 +711,24 @@ sorted_vector     sorted_vector.h /^      explicit sorted_vector(const Pr& pred = Pr(),co
 sorted_vector  sorted_vector.h /^      sorted_vector(It first, It beyond, $/;" f       class:codeproject::sorted_vector
 sorted_vector  sorted_vector.h /^      sorted_vector(const Myt_& x)$/;"        f       class:codeproject::sorted_vector
 sorted_vector  sorted_vector.h /^    sorted_vector(const_iterator first, const_iterator beyond, $/;"   f       class:codeproject::sorted_vector
+split  ss.h    /^inline std::vector<std::string> &split(const std::string &s, char delim, std::vector<std::string> &elems) {$/;"       f
+split  ss.h    /^inline std::vector<std::string> split(const std::string &s, char delim) {$/;" f
 stable_sort    sorted_vector.h /^    void stable_sort()\/\/restore sorted order after low level access $/;"    f       class:codeproject::sorted_vector
+state2aa       ham_ss.h        /^    std::vector<std::vector<aa> > state2aa;$/;"       m       class:PottsHamiltonian
 stateInfile    mc.h    /^    std::string stateInfile;$/;"      m       class:RunParameters_MC
 stateInfile    ss.h    /^    std::string stateInfile;$/;"      m       class:RunParameters_SS
 stateInfile    wf.h    /^    std::string stateInfile;$/;"      m       class:RunParameters
 statefile      mc.h    /^    std::string statefile;      \/\/ Input state file which contains initial population fractions$/;" m       class:RunParameters_MC
 statefile      ss.h    /^    std::string statefile;      \/\/ Input state file which contains initial population fractions$/;" m       class:RunParameters_SS
 statefile      wf.h    /^    std::string statefile;      \/\/ Input state file which contains initial population fractions$/;" m       class:RunParameters
+std    seqTools.h      /^namespace std {$/;"   n
+str2aa seqTools.cpp    /^const str2aa_map str2aa = {$/;"       v
+str2aa_map     seqTools.h      /^typedef std::unordered_map<char,aa> str2aa_map;$/;"   t
+str2codon      seqTools.cpp    /^const str2codon_map str2codon = {$/;" v
+str2codon_map  seqTools.h      /^typedef std::unordered_map<std::string,codon> str2codon_map;$/;"      t
+str2int_map    seqTools.h      /^typedef std::unordered_map<char,int> str2int_map;$/;" t
+str2nt seqTools.cpp    /^const str2nt_map str2nt = {$/;"       v
+str2nt_map     seqTools.h      /^typedef std::unordered_map<char,nt> str2nt_map;$/;"   t
 strtodouble    mc.h    /^inline double strtodouble(const std::string &s) {$/;" f
 strtodouble    ss.h    /^inline double strtodouble(const std::string &s) {$/;" f
 strtodouble    wf.h    /^inline double strtodouble(const std::string &s) {$/;" f
@@ -403,6 +737,7 @@ strtoint    ss.h    /^inline int strtoint(const std::string &s) {$/;"       f
 strtoint       wf.h    /^inline int strtoint(const std::string &s) {$/;"       f
 strtouint      mc.h    /^inline int strtouint(const std::string &s) {$/;"      f
 strtouint      ss.h    /^inline int strtouint(const std::string &s) {$/;"      f
+strtouint      ss.h    /^inline unsigned int strtouint(const std::string &s) {$/;"     f
 strtouint      wf.h    /^inline int strtouint(const std::string &s) {$/;"      f
 supplementaryOutfile   mc.h    /^    std::string supplementaryOutfile;$/;"     m       class:RunParameters_MC
 supplementaryOutfile   ss.h    /^    std::string supplementaryOutfile;$/;"     m       class:RunParameters_SS
@@ -412,13 +747,18 @@ survival  virus.cpp       /^double Virus::survival(double Eavg) const {$/;"       f       class:Vir
 swap   sorted_vector.h /^      friend void swap(Myt_& x, Myt_& Y_)$/;" f       class:codeproject::sorted_vector
 swap   sorted_vector.h /^      void swap(Myt_& x)$/;"  f       class:codeproject::sorted_vector
 sys    test/make_tests.py      /^import sys$/;"        i
+t_end  ss.h    /^    double t_end;$/;" m       class:RunParameters_SS
+to_string_uint ss.cpp  /^  to_string_uint(unsigned __val)$/;"  f
 tostring       mc.h    /^inline std::string tostring (const T& t) {$/;"        f
 tostring       ss.h    /^inline std::string tostring (const T& t) {$/;"        f
 tostring       wf.h    /^inline std::string tostring (const T& t) {$/;"        f
 trajectoryOutfile      mc.h    /^    std::string trajectoryOutfile;$/;"        m       class:RunParameters_MC
 trajectoryOutfile      ss.h    /^    std::string trajectoryOutfile;$/;"        m       class:RunParameters_SS
 trajectoryOutfile      wf.h    /^    std::string trajectoryOutfile;$/;"        m       class:RunParameters
+translate_nt_seq       pop_ss.cpp      /^std::vector<aa> translate_nt_seq(const std::string &nt_seq)$/;"       f
 unsorted_find  main.cpp        /^FwIt unsorted_find(FwIt beg,FwIt beyond,Pred pred)$/;"        f
+update_energy  pop_ss.cpp      /^void NTVirus::update_energy(const PottsHamiltonian &H)$/;"    f       class:NTVirus
+update_energy  pop_ss.cpp      /^void Virus::update_energy(const Hamiltonian &H) {$/;" f       class:Virus
 update_energy  virus.cpp       /^void Virus::update_energy(const Hamiltonian &H) {$/;" f       class:Virus
 upper_bound    sorted_vector.h /^      const_iterator upper_bound(const K& k) const$/;"        f       class:codeproject::sorted_vector
 upper_bound    sorted_vector.h /^      iterator upper_bound(const K& k)$/;"    f       class:codeproject::sorted_vector
@@ -427,7 +767,9 @@ usage       ss.cpp  /^void usage()$/;"      f
 usage  wf.cpp  /^void usage()$/;"      f
 useEpitope     mc.h    /^    bool useEpitope;            \/\/ Include selective pressure on an epitope $/;"    m       class:RunParameters_MC
 useEpitope     ss.h    /^    bool useEpitope;            \/\/ Include selective pressure on an epitope $/;"    m       class:RunParameters_SS
+useEpitope     ss.h    /^    bool useEpitope;            \/\/ Include selective pressure on an epitope$/;"     m       class:RunParameters_SS
 useEpitope     wf.h    /^    bool useEpitope;            \/\/ Include selective pressure on an epitope $/;"    m       class:RunParameters
+usePotts       ss.h    /^    bool usePotts;$/;"        m       class:RunParameters_SS
 useRelative    mc.h    /^    bool useRelative;           \/\/ If true, use relative energy for survival probability$/;"        m       class:RunParameters_MC
 useRelative    ss.h    /^    bool useRelative;           \/\/ If true, use relative energy for survival probability$/;"        m       class:RunParameters_SS
 useRelative    wf.h    /^    bool useRelative;           \/\/ If true, use relative energy for survival probability$/;"        m       class:RunParameters
@@ -453,6 +795,7 @@ write_population    population.cpp  /^void Population::write_population(std::string
 write_two_site_population      pop_ss.cpp      /^void Population::write_two_site_population(FILE *output, const Hamiltonian &H, unsigned int generation) {$/;" f       class:Population
 write_two_site_population      population.cpp  /^void Population::write_two_site_population(FILE *output, const Hamiltonian &H, unsigned int generation) {$/;" f       class:Population
 zt     session.vim     /^normal! zt$/;"        m
+~Hamiltonian   ham_ss.h        /^    virtual ~Hamiltonian() { }$/;"    f       class:Hamiltonian
 ~Hamiltonian   hamiltonian.h   /^    virtual ~Hamiltonian() { }$/;"    f       class:Hamiltonian
 ~RunParameters wf.h    /^    ~RunParameters() {}$/;"   f       class:RunParameters
 ~RunParameters_MC      mc.h    /^    ~RunParameters_MC() {}$/;"        f       class:RunParameters_MC