#include <featuredata.h>
Inheritance diagram for ReadMetaData:
Public Member Functions | |
ReadMetaData (db_recno_t rec=0) | |
ReadMetaData (const ReadMetaData &other) | |
virtual | ~ReadMetaData () |
virtual void | print_debug_info () |
virtual void | readStream (QDataStream &str) |
virtual void | writeStream (QDataStream &str) |
virtual void | readAttributes (const QXmlAttributes &attr) |
virtual void | writeXml (ostream &stream) |
TrDb::IndexMap | getIndexMap () |
std::string | uniqueName () |
void | setName (const std::string &n) |
void | setMate (const std::string &m) |
void | setMateLength (const std::size_t &l) |
void | setStrand (const std::string &m) |
void | setBeginGood (TR_DNA index) |
void | setEndGood (TR_DNA index) |
std::string | name () |
std::string | mate () |
std::size_t | mateLength () |
std::string | strand () |
TR_DNA | beginGood () |
TR_DNA | endGood () |
ReadMetaData (db_recno_t rec=0) | |
ReadMetaData (const ReadMetaData &other) | |
virtual | ~ReadMetaData () |
virtual void | print_debug_info () |
virtual void | readStream (QDataStream &str) |
virtual void | writeStream (QDataStream &str) |
virtual void | readAttributes (const QXmlAttributes &attr) |
virtual void | writeXml (ostream &stream) |
TrDb::IndexMap | getIndexMap () |
std::string | uniqueName () |
void | setName (const std::string &n) |
void | setMate (const std::string &m) |
void | setMateLength (const std::size_t &l) |
void | setStrand (const std::string &m) |
void | setBeginGood (TR_DNA index) |
void | setEndGood (TR_DNA index) |
std::string | name () |
std::string | mate () |
std::size_t | mateLength () |
std::string | strand () |
TR_DNA | beginGood () |
TR_DNA | endGood () |
Static Public Member Functions | |
static int | getName (Db *dbp, const Dbt *pkey, const Dbt *pdata, Dbt *skey) |
static int | bt_compare_name (DB *db, const DBT *dbt1, const DBT *dbt2) |
static int | getName (Db *dbp, const Dbt *pkey, const Dbt *pdata, Dbt *skey) |
static int | bt_compare_name (DB *db, const DBT *dbt1, const DBT *dbt2) |
Public Attributes | |
TrapperVector< double > | tc_vec |
TrapperVector< double > | tc_vec |
Protected Member Functions | |
virtual FeatureInfo * | makeInfo () |
virtual FeatureGui * | makeGui () |
Protected Attributes | |
FeatureInfo * | m_info |
std::string | name_ |
std::string | mate_ |
std::size_t | matelen_ |
std::string | strand_ |
TR_DNA | beginGood_ |
TR_DNA | endGood_ |
db_recno_t | readRecno |
FeatureInfo * | m_info |
Definition at line 264 of file featuredata.h.
ReadMetaData::ReadMetaData | ( | db_recno_t | rec = 0 |
) | [inline] |
Definition at line 267 of file featuredata.h.
00267 : FeatureData(rec), beginGood_(0), endGood_(0) {}
ReadMetaData::ReadMetaData | ( | const ReadMetaData & | other | ) |
Definition at line 12 of file readmetadata.cpp.
References beginGood_, endGood_, mate_, matelen_, name_, readRecno, FeatureData::readRecno(), strand_, and tc_vec.
00012 : GeneralData(other) 00013 { 00014 readRecno = other.readRecno; 00015 name_ = other.name_; 00016 mate_ = other.mate_; 00017 matelen_ = other.matelen_; 00018 strand_ = other.strand_; 00019 beginGood_ = other.beginGood_; 00020 endGood_ = other.endGood_; 00021 tc_vec = other.tc_vec; 00022 }
ReadMetaData::~ReadMetaData | ( | ) | [inline, virtual] |
ReadMetaData::ReadMetaData | ( | db_recno_t | rec = 0 |
) | [inline] |
Definition at line 30 of file readmetadata.h.
00030 : FeatureData(rec), beginGood_(0), endGood_(0) {}
ReadMetaData::ReadMetaData | ( | const ReadMetaData & | other | ) |
virtual ReadMetaData::~ReadMetaData | ( | ) | [virtual] |
void ReadMetaData::print_debug_info | ( | ) | [virtual] |
Prints some info for debugging, this should be removed in release version!
Reimplemented from FeatureData.
Definition at line 628 of file featuredata.cpp.
References name_, FeatureData::print_debug_info(), and FeatureData::readRecno_.
00629 { 00630 FeatureData::print_debug_info(); 00631 cerr<<"readRecno: "<<readRecno_<<endl; 00632 cerr<<"name: "<<name_<<endl; 00633 }
void ReadMetaData::readStream | ( | QDataStream & | str | ) | [virtual] |
Loads the state of this object from a byte stream. Or in other words reads and unserializes a byte stream to set the values of this class object. This method is used for loading a GeneralData object from Berkeley Db.
Reimplemented from FeatureData.
Definition at line 635 of file featuredata.cpp.
References beginGood_, QDataStream::device(), endGood_, mate_, matelen_, name_, FeatureData::readRecno_, TrapperVector< T >::stlVector(), strand_, and tc_vec.
00636 { 00637 QIODevice * dev = stream.device(); 00638 Q_ASSERT( dev ); 00639 // stream.readRawBytes( ( char * ) &s, sizeof ( StorageData ) ); 00640 00641 stream>>readRecno_; 00642 QString tmp; 00643 stream>>tmp; 00644 name_ = tmp.ascii(); 00645 stream>>tmp; 00646 mate_ = tmp.ascii(); 00647 stream>>matelen_; 00648 stream>>tmp; 00649 strand_ = tmp.ascii(); 00650 stream>>beginGood_; 00651 stream>>endGood_; 00652 tc_vec.stlVector().clear(); 00653 stream>>tc_vec; 00654 }
void ReadMetaData::writeStream | ( | QDataStream & | str | ) | [virtual] |
Saves the state of this object to a byte stream. Or in other words serializes and writes the internal data held in this class object to a byte stream. This method is used for storing a GeneralData object into Berkeley Db.
Reimplemented from FeatureData.
Definition at line 656 of file featuredata.cpp.
References beginGood_, QDataStream::device(), endGood_, mate_, matelen_, QIODevice::mode(), name_, FeatureData::readRecno_, strand_, and tc_vec.
00657 { 00658 QIODevice * dev = stream.device(); 00659 Q_ASSERT( dev ); 00660 if ( ! ( IO_WriteOnly & dev->mode() ) ) 00661 { 00662 cerr << "data stream should be writeonly" << endl; 00663 exit(1); 00664 } 00665 // stream.writeRawBytes( ( char * ) &s, sizeof ( StorageData ) ); 00666 stream<<readRecno_; 00667 00668 QString tmp; 00669 tmp = name_; 00670 stream<<tmp; 00671 tmp = mate_; 00672 stream<<tmp; 00673 stream<<matelen_; 00674 tmp = strand_; 00675 stream<<tmp; 00676 stream<<beginGood_; 00677 stream<<endGood_; 00678 stream<<tc_vec; 00679 }
void ReadMetaData::readAttributes | ( | const QXmlAttributes & | attr | ) | [virtual] |
Loads the state of this object from QXmlAttributes.This method is used for importing.
Reimplemented from FeatureData.
Definition at line 681 of file featuredata.cpp.
References beginGood_, endGood_, mate_, matelen_, name_, TrapperVector< T >::readString(), strand_, tc_vec, and QXmlAttributes::value().
00682 { 00683 if ( attr.value("name") != "" ) { 00684 name_ = attr.value("name").ascii(); 00685 } 00686 if ( attr.value("mate") != "" ) { 00687 mate_ = attr.value("mate").ascii(); 00688 } 00689 if ( attr.value("matelen") != "" ) { 00690 matelen_ = attr.value("matelen").toInt(); 00691 } 00692 if ( attr.value("strand") != "" ) { 00693 strand_ = attr.value("strand").ascii(); 00694 } 00695 if ( attr.value("beginGood") != "" ) { 00696 beginGood_ = attr.value("beginGood").toInt(); 00697 } 00698 if ( attr.value("endGood") != "" ) { 00699 endGood_ = attr.value("endGood").toInt(); 00700 } 00701 if ( attr.value("tc") != "" ) { 00702 QString str = attr.value("tc"); 00703 tc_vec.readString(str); 00704 } 00705 00706 }
void ReadMetaData::writeXml | ( | ostream & | stream | ) | [virtual] |
Reimplemented from FeatureData.
Definition at line 708 of file featuredata.cpp.
References beginGood_, endGood_, mate_, matelen_, name_, TrapperVector< T >::stlVector(), strand_, and tc_vec.
00709 { 00710 stream<<"<ReadMetaData " 00711 <<"name=\""<<name_<<"\" " 00712 <<"mate=\""<<mate_<<"\" " 00713 <<"matelen=\""<<matelen_<<"\" " 00714 <<"strand=\""<<strand_<<"\" " 00715 <<"beginGood=\""<<beginGood_<<"\" " 00716 <<"endGood=\""<<endGood_<<"\""; 00717 if ( tc_vec.stlVector().size() > 0 ) { 00718 stream<<" tc=\""; 00719 for( size_t i = 0; i < tc_vec.stlVector().size(); i++ ) { 00720 stream<<' '<<tc_vec.stlVector()[i]; 00721 } 00722 stream<<"\""; 00723 } 00724 stream<<">\n"; 00725 }
TrDb::IndexMap ReadMetaData::getIndexMap | ( | ) | [virtual] |
Returns a TrDb::IndexMap that specifies which secondary indexes should be generated for stored data objects of this class in the Berkeley Db backend. Each record in the TrDb::IndexMap generates a secondary index built as a btree ( a DB_BTREE in Berkeley Db wording ). The secondary index is sorted which makes it possible to do queries like "Give me the object that has the smallest value, bigger or equal than x".
And about speed performance, a quote from Berkeley Db documentation says: "Searches take O(log base_b N) time, where base_b is the average number of keys per page, and N is the total number of keys stored"
Reimplemented from FeatureData.
Definition at line 727 of file featuredata.cpp.
References QString::ascii(), bt_compare_name(), FeatureData::getIndexMap(), getName(), and TrDb::Index::name.
00728 { 00729 00730 TrDb::IndexMap iMap = FeatureData::getIndexMap(); 00731 TrDb::Index i1 = { 00732 &ReadMetaData::bt_compare_name, 00733 &ReadMetaData::getName, 00734 QString("name"), 00735 NULL 00736 }; 00737 iMap.insert( make_pair( i1.name.ascii(), i1 ) ); 00738 00739 return iMap; 00740 }
int ReadMetaData::getName | ( | Db * | dbp, | |
const Dbt * | pkey, | |||
const Dbt * | pdata, | |||
Dbt * | skey | |||
) | [static] |
Definition at line 754 of file featuredata.cpp.
References name(), and Database::setFromDbt().
Referenced by getIndexMap().
00756 { 00757 00758 memset(skey, 0, sizeof(Dbt)); 00759 00760 00761 ReadMetaData tmp; 00762 Database::setFromDbt(pdata, &tmp); 00763 char* name = (char*)malloc(sizeof(char)*(tmp.name().length() + 1)); 00764 strcpy(name, tmp.name().c_str()); 00765 assert( name[ tmp.name().length() ] == '\0' ); 00766 skey->set_flags( DB_DBT_APPMALLOC ); 00767 skey->set_data( (void*)name ); 00768 skey->set_size(sizeof(char)*(strlen(name) + 1) ); 00769 00770 00771 return 0; 00772 }
int ReadMetaData::bt_compare_name | ( | DB * | db, | |
const DBT * | dbt1, | |||
const DBT * | dbt2 | |||
) | [static] |
Definition at line 742 of file featuredata.cpp.
Referenced by getIndexMap().
00743 { 00744 /* order after end position */ 00745 00746 char* seqData1 = ( char* ) dbt1->data; 00747 char* seqData2 = ( char* ) dbt2->data; 00748 00749 // cerr<<seqData1<<'\t'<<seqData2<<'\t'<<strcmp(seqData1, seqData2)<<endl; 00750 00751 return strcmp(seqData1, seqData2); 00752 }
std::string ReadMetaData::uniqueName | ( | ) | [inline, virtual] |
Specifies a name that uniquely should identify this class. It will be used for lookups in the GeneralMaker class.
Implements GeneralData.
Definition at line 286 of file featuredata.h.
void ReadMetaData::setName | ( | const std::string & | n | ) | [inline] |
Definition at line 288 of file featuredata.h.
References name_.
Referenced by TrapperView::findRead(), TrapperDoc::importChromat(), TrapperDoc::importMates(), TrapperDoc::importPhd(), TrapperDoc::importTimeCourse(), and FindMatesAlgo::start().
00288 { name_ = n; }
void ReadMetaData::setMate | ( | const std::string & | m | ) | [inline] |
void ReadMetaData::setMateLength | ( | const std::size_t & | l | ) | [inline] |
void ReadMetaData::setStrand | ( | const std::string & | m | ) | [inline] |
void ReadMetaData::setBeginGood | ( | TR_DNA | index | ) | [inline] |
void ReadMetaData::setEndGood | ( | TR_DNA | index | ) | [inline] |
std::string ReadMetaData::name | ( | ) | [inline] |
Definition at line 295 of file featuredata.h.
References name_.
Referenced by TrapperDoc::all_readnames(), TrapperView::findRead(), TrapperView::getInfo(), and getName().
00295 { return name_; }
std::string ReadMetaData::mate | ( | ) | [inline] |
Definition at line 296 of file featuredata.h.
References mate_.
Referenced by TrapperView::getInfo(), and FindMatesAlgo::start().
00296 { return mate_; }
std::size_t ReadMetaData::mateLength | ( | ) | [inline] |
Definition at line 297 of file featuredata.h.
References matelen_.
Referenced by TrapperView::getInfo().
00297 { return matelen_; }
std::string ReadMetaData::strand | ( | ) | [inline] |
Definition at line 298 of file featuredata.h.
References strand_.
Referenced by TrapperView::getInfo(), TrapperDoc::importChromat(), and TrapperDoc::importPhd().
00298 { return strand_; }
TR_DNA ReadMetaData::beginGood | ( | ) | [inline] |
Definition at line 299 of file featuredata.h.
References beginGood_.
Referenced by TrapperView::getInfo().
00299 { return beginGood_; }
TR_DNA ReadMetaData::endGood | ( | ) | [inline] |
Definition at line 300 of file featuredata.h.
References endGood_.
Referenced by TrapperView::getInfo().
00300 { return endGood_; }
virtual FeatureInfo* ReadMetaData::makeInfo | ( | ) | [inline, protected, virtual] |
virtual FeatureGui* ReadMetaData::makeGui | ( | ) | [inline, protected, virtual] |
virtual void ReadMetaData::print_debug_info | ( | ) | [virtual] |
Prints some info for debugging, this should be removed in release version!
Reimplemented from FeatureData.
virtual void ReadMetaData::readStream | ( | QDataStream & | str | ) | [virtual] |
Loads the state of this object from a byte stream. Or in other words reads and unserializes a byte stream to set the values of this class object. This method is used for loading a GeneralData object from Berkeley Db.
Reimplemented from FeatureData.
virtual void ReadMetaData::writeStream | ( | QDataStream & | str | ) | [virtual] |
Saves the state of this object to a byte stream. Or in other words serializes and writes the internal data held in this class object to a byte stream. This method is used for storing a GeneralData object into Berkeley Db.
Reimplemented from FeatureData.
virtual void ReadMetaData::readAttributes | ( | const QXmlAttributes & | attr | ) | [virtual] |
Loads the state of this object from QXmlAttributes.This method is used for importing.
Reimplemented from FeatureData.
virtual void ReadMetaData::writeXml | ( | ostream & | stream | ) | [virtual] |
Reimplemented from FeatureData.
TrDb::IndexMap ReadMetaData::getIndexMap | ( | ) | [virtual] |
Returns a TrDb::IndexMap that specifies which secondary indexes should be generated for stored data objects of this class in the Berkeley Db backend. Each record in the TrDb::IndexMap generates a secondary index built as a btree ( a DB_BTREE in Berkeley Db wording ). The secondary index is sorted which makes it possible to do queries like "Give me the object that has the smallest value, bigger or equal than x".
And about speed performance, a quote from Berkeley Db documentation says: "Searches take O(log base_b N) time, where base_b is the average number of keys per page, and N is the total number of keys stored"
Reimplemented from FeatureData.
static int ReadMetaData::getName | ( | Db * | dbp, | |
const Dbt * | pkey, | |||
const Dbt * | pdata, | |||
Dbt * | skey | |||
) | [static] |
static int ReadMetaData::bt_compare_name | ( | DB * | db, | |
const DBT * | dbt1, | |||
const DBT * | dbt2 | |||
) | [static] |
std::string ReadMetaData::uniqueName | ( | ) | [inline, virtual] |
Specifies a name that uniquely should identify this class. It will be used for lookups in the GeneralMaker class.
Implements GeneralData.
Definition at line 49 of file readmetadata.h.
void ReadMetaData::setName | ( | const std::string & | n | ) | [inline] |
void ReadMetaData::setMate | ( | const std::string & | m | ) | [inline] |
void ReadMetaData::setMateLength | ( | const std::size_t & | l | ) | [inline] |
void ReadMetaData::setStrand | ( | const std::string & | m | ) | [inline] |
void ReadMetaData::setBeginGood | ( | TR_DNA | index | ) | [inline] |
void ReadMetaData::setEndGood | ( | TR_DNA | index | ) | [inline] |
std::string ReadMetaData::name | ( | ) | [inline] |
std::string ReadMetaData::mate | ( | ) | [inline] |
std::size_t ReadMetaData::mateLength | ( | ) | [inline] |
std::string ReadMetaData::strand | ( | ) | [inline] |
TR_DNA ReadMetaData::beginGood | ( | ) | [inline] |
TR_DNA ReadMetaData::endGood | ( | ) | [inline] |
FeatureInfo* ReadMetaData::m_info [protected] |
std::string ReadMetaData::name_ [protected] |
Definition at line 313 of file featuredata.h.
Referenced by name(), print_debug_info(), readAttributes(), ReadMetaData(), readStream(), setName(), writeStream(), and writeXml().
std::string ReadMetaData::mate_ [protected] |
Definition at line 314 of file featuredata.h.
Referenced by mate(), readAttributes(), ReadMetaData(), readStream(), setMate(), writeStream(), and writeXml().
std::size_t ReadMetaData::matelen_ [protected] |
Definition at line 315 of file featuredata.h.
Referenced by mateLength(), readAttributes(), ReadMetaData(), readStream(), setMateLength(), writeStream(), and writeXml().
std::string ReadMetaData::strand_ [protected] |
Definition at line 316 of file featuredata.h.
Referenced by readAttributes(), ReadMetaData(), readStream(), setStrand(), strand(), writeStream(), and writeXml().
TR_DNA ReadMetaData::beginGood_ [protected] |
Definition at line 317 of file featuredata.h.
Referenced by beginGood(), readAttributes(), ReadMetaData(), readStream(), setBeginGood(), writeStream(), and writeXml().
TR_DNA ReadMetaData::endGood_ [protected] |
Definition at line 318 of file featuredata.h.
Referenced by endGood(), readAttributes(), ReadMetaData(), readStream(), setEndGood(), writeStream(), and writeXml().
TrapperVector<double> ReadMetaData::tc_vec |
Definition at line 320 of file featuredata.h.
Referenced by TrapperView::getInfo(), TrapperView::paintFeatures(), readAttributes(), ReadMetaData(), readStream(), writeStream(), and writeXml().
db_recno_t ReadMetaData::readRecno [protected] |
Definition at line 71 of file readmetadata.h.
Referenced by TrapperView::findRead(), TrapperDoc::importChromat(), TrapperDoc::importPhd(), ReadMetaData(), and FindMatesAlgo::start().
FeatureInfo* ReadMetaData::m_info [protected] |
TrapperVector<double> ReadMetaData::tc_vec |
Definition at line 81 of file readmetadata.h.