NCBI C++ ToolKit
|
Search Toolkit Book for CWriteDB_SequenceFile
#include <objtools/blast/seqdb_writer/writedb_files.hpp>
Public Member Functions | |
CWriteDB_SequenceFile (const string &dbname, bool protein, int index, Uint8 max_file_size, Uint8 max_letters) | |
Constructor. More... | |
bool | CanFit (int size, int letters) |
Returns true if the specified amount of data would fit. More... | |
void | AddSequence (const string &sequence, unsigned int &offset, int length) |
Add a protein sequence to this file. More... | |
void | AddSequence (const string &sequence, const string &ambig, unsigned int &off_seq, unsigned int &off_amb, int length) |
Add a nucleotide sequence to this file. More... | |
Public Member Functions inherited from CWriteDB_File | |
CWriteDB_File (const string &basename, const string &extension, int index, Uint8 max_file_size, bool always_create) | |
Constructor. More... | |
void | Create () |
Create and open the file. More... | |
unsigned int | Write (const CTempString &data) |
Write contents of a string to the file. More... | |
unsigned int | Write (const char *data, int length) |
unsigned int | WriteInt4 (int data) |
Write an Int4 (in bigendian order) to the file. More... | |
unsigned int | WriteInt8 (Int8 data) |
Write an Int8 (in bigendian order) to the file. More... | |
unsigned int | WriteWithNull (const CTempString &data) |
Write contents of a string to the file, appending a NUL. More... | |
void | Close () |
Close the file, flushing any remaining data to disk. More... | |
virtual void | RenameSingle () |
Rename this file, disincluding the volume index. More... | |
virtual void | RenameFileIndex (unsigned int num_digits) |
const string & | GetFilename () const |
Get the current filename for this file. More... | |
Public Member Functions inherited from CObject | |
CObject (void) | |
Constructor. More... | |
CObject (const CObject &src) | |
Copy constructor. More... | |
virtual | ~CObject (void) |
Destructor. More... | |
CObject & | operator= (const CObject &src) THROWS_NONE |
Assignment operator. More... | |
bool | CanBeDeleted (void) const THROWS_NONE |
Check if object can be deleted. More... | |
bool | IsAllocatedInPool (void) const THROWS_NONE |
Check if object is allocated in memory pool (not system heap) More... | |
bool | Referenced (void) const THROWS_NONE |
Check if object is referenced. More... | |
bool | ReferencedOnlyOnce (void) const THROWS_NONE |
Check if object is referenced only once. More... | |
void | AddReference (void) const |
Add reference to object. More... | |
void | RemoveReference (void) const |
Remove reference to object. More... | |
void | ReleaseReference (void) const |
Remove reference without deleting object. More... | |
virtual void | DoNotDeleteThisObject (void) |
Mark this object as not allocated in heap – do not delete this object. More... | |
virtual void | DoDeleteThisObject (void) |
Mark this object as allocated in heap – object can be deleted. More... | |
void * | operator new (size_t size) |
Define new operator for memory allocation. More... | |
void * | operator new[] (size_t size) |
Define new[] operator for 'array' memory allocation. More... | |
void | operator delete (void *ptr) |
Define delete operator for memory deallocation. More... | |
void | operator delete[] (void *ptr) |
Define delete[] operator for memory deallocation. More... | |
void * | operator new (size_t size, void *place) |
Define new operator. More... | |
void | operator delete (void *ptr, void *place) |
Define delete operator. More... | |
void * | operator new (size_t size, CObjectMemoryPool *place) |
Define new operator using memory pool. More... | |
void | operator delete (void *ptr, CObjectMemoryPool *place) |
Define delete operator. More... | |
virtual void | DebugDump (CDebugDumpContext ddc, unsigned int depth) const |
Define method for dumping debug information. More... | |
Public Member Functions inherited from CDebugDumpable | |
CDebugDumpable (void) | |
virtual | ~CDebugDumpable (void) |
void | DebugDumpText (ostream &out, const string &bundle, unsigned int depth) const |
void | DebugDumpFormat (CDebugDumpFormatter &ddf, const string &bundle, unsigned int depth) const |
void | DumpToConsole (void) const |
Private Member Functions | |
virtual void | x_Flush () |
Flush unwritten data to the output file. More... | |
Private Attributes | |
Uint8 | m_Letters |
Letters of sequence data added so far. More... | |
Uint8 | m_BaseLimit |
Limit on letters of sequence data. More... | |
bool | m_Protein |
True if this is a protein database. More... | |
Additional Inherited Members | |
Public Types inherited from CObject | |
enum | EAllocFillMode { eAllocFillNone = 1 , eAllocFillZero , eAllocFillPattern } |
Control filling of newly allocated memory. More... | |
typedef CObjectCounterLocker | TLockerType |
Default locker type for CRef. More... | |
typedef atomic< Uint8 > | TCounter |
Counter type is CAtomiCounter. More... | |
typedef Uint8 | TCount |
Alias for value type of counter. More... | |
Static Public Member Functions inherited from CWriteDB_File | |
static string | MakeShortName (const string &base, int index) |
Construct the short name for a volume. More... | |
Static Public Member Functions inherited from CObject | |
static NCBI_XNCBI_EXPORT void | ThrowNullPointerException (void) |
Define method to throw null pointer exception. More... | |
static NCBI_XNCBI_EXPORT void | ThrowNullPointerException (const type_info &type) |
static EAllocFillMode | GetAllocFillMode (void) |
static void | SetAllocFillMode (EAllocFillMode mode) |
static void | SetAllocFillMode (const string &value) |
Set mode from configuration parameter value. More... | |
Static Public Member Functions inherited from CDebugDumpable | |
static void | EnableDebugDump (bool on) |
Static Public Attributes inherited from CObject | |
static const TCount | eCounterBitsCanBeDeleted = 1 << 0 |
Define possible object states. More... | |
static const TCount | eCounterBitsInPlainHeap = 1 << 1 |
Heap signature was found. More... | |
static const TCount | eCounterBitsPlaceMask |
Mask for 'in heap' state flags. More... | |
static const int | eCounterStep = 1 << 2 |
Skip over the "in heap" bits. More... | |
static const TCount | eCounterValid = TCount(1) << (sizeof(TCount) * 8 - 2) |
Minimal value for valid objects (reference counter is zero) Must be a single bit value. More... | |
static const TCount | eCounterStateMask |
Valid object, and object in heap. More... | |
Protected Types inherited from CWriteDB_File | |
typedef ofstream | TFile |
Underlying 'output file' type used here. More... | |
Protected Member Functions inherited from CWriteDB_File | |
Uint8 | x_DefaultByteLimit () |
The default value for max_file_size. More... | |
void | x_MakeFileName () |
Build the filename for this file. More... | |
Protected Member Functions inherited from CObject | |
virtual void | DeleteThis (void) |
Virtual method "deleting" this object. More... | |
Protected Attributes inherited from CWriteDB_File | |
bool | m_Created |
True if the file has already been opened. More... | |
string | m_Nul |
For convenience, a string containing one NUL character. More... | |
string | m_BaseName |
Database base name for all files. More... | |
string | m_Extension |
File extension for this file. More... | |
int | m_Index |
Volume index. More... | |
unsigned int | m_Offset |
Stream position. More... | |
Uint8 | m_MaxFileSize |
Maximum file size in bytes. More... | |
bool | m_UseIndex |
True if filenames should use volume index. More... | |
string | m_Fname |
Current filename for output file. More... | |
TFile | m_RealFile |
Actual stream implementing the output file. More... | |
Definition at line 396 of file writedb_files.hpp.
CWriteDB_SequenceFile::CWriteDB_SequenceFile | ( | const string & | dbname, |
bool | protein, | ||
int | index, | ||
Uint8 | max_file_size, | ||
Uint8 | max_letters | ||
) |
Constructor.
dbname | Database base name. |
protein | True for protein volumes. |
index | Index of this volume. |
max_file_size | Maximum file size in bytes (or zero). |
max_letter | Maximum sequence letters per volume (or zero). |
Definition at line 463 of file writedb_files.cpp.
References CWriteDB_File::WriteWithNull().
|
inline |
Add a nucleotide sequence to this file.
This method should only be called in the nucleotide case.
sequence | Packed sequence data. [in] |
ambig | Packed ambiguity data. [in] |
off_seq | Offset of the end of the sequence data. [out] |
off_amb | Offset of the end of the ambiguity data. [out] |
length | Length of the sequence in letters. [in] |
Definition at line 463 of file writedb_files.hpp.
References _ASSERT, ambig(), m_Letters, m_Protein, and CWriteDB_File::Write().
|
inline |
Add a protein sequence to this file.
This method should only be called in the protein case.
sequence | Packed sequence data. [in] |
offset | Offset of the end of the sequence data. [out] |
length | Length of the sequence in letters. [in] |
Definition at line 443 of file writedb_files.hpp.
References _ASSERT, m_Letters, m_Protein, offset, and CWriteDB_File::WriteWithNull().
Referenced by CWriteDB_Volume::WriteSequence().
Returns true if the specified amount of data would fit.
If the specified amount of data (in bytes) would fit in the file without exceeding the max_file_size, and the specified number of letters would fit without exceeding the maximum letters limit, this method returns true.
size | Size of new data in bytes. |
letters | Number of sequence letters in new data. |
Definition at line 419 of file writedb_files.hpp.
References _ASSERT, m_BaseLimit, m_Letters, CWriteDB_File::m_MaxFileSize, CWriteDB_File::m_Offset, and ncbi::grid::netcache::search::fields::size.
Referenced by CWriteDB_Volume::WriteSequence().
|
inlineprivatevirtual |
Flush unwritten data to the output file.
Implements CWriteDB_File.
Definition at line 479 of file writedb_files.hpp.
|
private |
Limit on letters of sequence data.
Definition at line 486 of file writedb_files.hpp.
Referenced by CanFit().
|
private |
Letters of sequence data added so far.
Definition at line 485 of file writedb_files.hpp.
Referenced by AddSequence(), and CanFit().
|
private |
True if this is a protein database.
Definition at line 488 of file writedb_files.hpp.
Referenced by AddSequence().