]> git.donarmstrong.com Git - mothur.git/blob - orf.h
06f73a1f9a733d3c0a6b0f3cdea5fc414f9b3cd4
[mothur.git] / orf.h
1 //uchime by Robert C. Edgar http://drive5.com/uchime This code is donated to the public domain.\r
2 \r
3 #ifndef orf_h\r
4 #define orf_h\r
5 \r
6 #include "alpha.h"\r
7 \r
8 struct ORFData\r
9         {\r
10         const byte *NucSeq;\r
11         const byte *AminoSeq;\r
12         int Frame;\r
13         unsigned NucL;\r
14         unsigned AminoL;\r
15         unsigned NucLo;\r
16         unsigned NucHi;\r
17         ORFData *Next;\r
18 \r
19         unsigned GetNucPosFirstBase() const;\r
20         unsigned GetAAPos(unsigned NucPos) const;\r
21         unsigned GetCodex(unsigned NucPos) const;\r
22         unsigned GetNucLo(unsigned AALo, unsigned AAHi) const;\r
23         unsigned GetNucHi(unsigned AALo, unsigned AAHi) const;\r
24         unsigned GetAALo(unsigned NucLo, unsigned NucHi) const;\r
25         unsigned GetAAHi(unsigned NucLo, unsigned NucHi) const;\r
26         unsigned GetNucPosFirstBaseInCodon(unsigned AAPos) const;\r
27         unsigned GetNucPosLastBaseInCodon(unsigned AAPos) const;\r
28         unsigned RoundToCodonLo(unsigned NucPos) const;\r
29         unsigned RoundToCodonHi(unsigned NucPos) const;\r
30         void LogMe() const;\r
31         void LogMe2() const;\r
32         };\r
33 \r
34 const byte ORFEND = '.';\r
35 \r
36 void GetORFs(const byte *NucSeq, unsigned NucL, vector<ORFData> &ORFs,\r
37   unsigned ORFStyle, int FindFrame, int Sign);\r
38 \r
39 #endif // orf_h\r