00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
#ifndef __Scaffold_AMOS_HH
00011 #define __Scaffold_AMOS_HH 1
00012
00013
#include "Universal_AMOS.hh"
00014
#include "Layout_AMOS.hh"
00015
#include <vector>
00016
00017
00018
00019
00020
namespace AMOS {
00021
00022
00028
00029 class Scaffold_t :
public Universal_t
00030 {
00031
00032
private:
00033
00034 std::vector<Tile_t> contigs_m;
00035 std::vector<ID_t> edges_m;
00036
00037
00038
protected:
00039
00040
00041
virtual void readRecord (std::istream & fix, std::istream & var);
00042
00043
00044
00045
virtual void writeRecord (std::ostream & fix, std::ostream & var)
const;
00046
00047
00048
public:
00049
00050
static const NCode_t NCODE;
00052
00053
00054
00057 Scaffold_t ( )
00058 {
00059
00060 }
00061
00062
00063
00066 Scaffold_t (
const Scaffold_t & source)
00067 {
00068 *
this = source;
00069 }
00070
00071
00072
00075 ~Scaffold_t ( )
00076 {
00077
00078 }
00079
00080
00081
00082 virtual void clear ( )
00083 {
00084
Universal_t::clear( );
00085 contigs_m .
clear( );
00086 edges_m .
clear( );
00087 }
00088
00089
00090
00095 const std::vector<Tile_t> &
getContigTiling ( )
const
00096
{
00097
return contigs_m;
00098 }
00099
00100
00101
00106 std::vector<Tile_t> &
getContigTiling ( )
00107 {
00108
return contigs_m;
00109 }
00110
00111
00112
00117 const std::vector<ID_t> &
getContigEdges ( )
const
00118
{
00119
return edges_m;
00120 }
00121
00122
00123
00128 std::vector<ID_t> &
getContigEdges ( )
00129 {
00130
return edges_m;
00131 }
00132
00133
00134
00135 virtual NCode_t getNCode ( )
const
00136
{
00137
return Scaffold_t::NCODE;
00138 }
00139
00140
00141
00149
Size_t getSpan ( ) const;
00150
00151
00152
00153 virtual
void readMessage (const
Message_t & msg);
00154
00155
00156
00162 void setContigTiling (const std::vector<
Tile_t> & contigs)
00163 {
00164 contigs_m = contigs;
00165 }
00166
00167
00168
00174 void setContigTiling (
const Layout_t & layout)
00175 {
00176 contigs_m = layout . getTiling( );
00177 }
00178
00179
00180
00186 void setContigEdges (
const std::vector<ID_t> & edges)
00187 {
00188 edges_m = edges;
00189 }
00190
00191
00192
00193
virtual void writeMessage (
Message_t & msg)
const;
00194
00195 };
00196
00197 }
00198
00199
#endif // #ifndef __Scaffold_AMOS_HH