NCBI C++ ToolKit
|
Search Toolkit Book for CBlastFastaInputSource
Class representing a text file containing sequences in fasta format. More...
#include <algo/blast/blastinput/blast_fasta_input.hpp>
Public Member Functions | |
CBlastFastaInputSource (CNcbiIstream &infile, const CBlastInputSourceConfig &iconfig) | |
Constructor. More... | |
CBlastFastaInputSource (const string &user_input, const CBlastInputSourceConfig &iconfig) | |
Constructor. More... | |
virtual | ~CBlastFastaInputSource () |
Destructor. 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 |
Protected Member Functions | |
virtual SSeqLoc | GetNextSSeqLoc (CScope &scope) |
Retrieve a single sequence (in an SSeqLoc container) More... | |
virtual CRef< CBlastSearchQuery > | GetNextSequence (CScope &scope) |
Retrieve a single sequence (in a CBlastSearchQuery container) More... | |
virtual bool | End () |
Signal whether there are any unread sequences left. More... | |
Protected Member Functions inherited from CBlastInputSource | |
virtual | ~CBlastInputSource () |
Destructor. More... | |
Protected Member Functions inherited from CObject | |
virtual void | DeleteThis (void) |
Virtual method "deleting" this object. More... | |
Private Member Functions | |
CRef< objects::CSeq_loc > | x_FastaToSeqLoc (CRef< objects::CSeq_loc > &lcase_mask, CScope &scope) |
Read a single sequence from file and convert to a Seq_loc. More... | |
void | x_InitInputReader () |
Initialization method for the input reader. More... | |
Private Attributes | |
CBlastInputSourceConfig | m_Config |
Configuration for the sequences to be read. More... | |
CRef< ILineReader > | m_LineReader |
interface to read lines More... | |
AutoPtr< CFastaReader > | m_InputReader |
Reader of FASTA sequences or identifiers. More... | |
bool | m_ReadProteins |
read protein sequences? 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 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... | |
Class representing a text file containing sequences in fasta format.
Definition at line 48 of file blast_fasta_input.hpp.
CBlastFastaInputSource::CBlastFastaInputSource | ( | CNcbiIstream & | infile, |
const CBlastInputSourceConfig & | iconfig | ||
) |
Constructor.
infile | The file to read [in] |
iconfig | Input configuration object, this options apply to all input read [in] |
Definition at line 263 of file blast_fasta_input.cpp.
References x_InitInputReader().
CBlastFastaInputSource::CBlastFastaInputSource | ( | const string & | user_input, |
const CBlastInputSourceConfig & | iconfig | ||
) |
Constructor.
objmgr | Object Manager instance [in] |
user_input | User provided input in a string [in] |
iconfig | Input configuration object, this options apply to all input read [in] |
Definition at line 274 of file blast_fasta_input.cpp.
References m_LineReader, NCBI_THROW, CRef< C, Locker >::Reset(), and x_InitInputReader().
|
inlinevirtual |
Destructor.
Definition at line 68 of file blast_fasta_input.hpp.
|
protectedvirtual |
Signal whether there are any unread sequences left.
Implements CBlastInputSource.
Definition at line 343 of file blast_fasta_input.cpp.
References ILineReader::AtEOF(), and m_LineReader.
|
protectedvirtual |
Retrieve a single sequence (in a CBlastSearchQuery container)
scope | CScope object to use in CBlastSearchQuery returned [in] |
CObjReaderParseException | if input file is empty of the end of file is reached unexpectedly |
Implements CBlastInputSource.
Definition at line 456 of file blast_fasta_input.cpp.
References eBlastTypeBlastn, eBlastTypeBlastp, CBlastInputSourceConfig::GetLowercaseMask(), m_Config, m_ReadProteins, PackedSeqLocToMaskedQueryRegions(), and x_FastaToSeqLoc().
Retrieve a single sequence (in an SSeqLoc container)
CObjReaderParseException | if input file is empty or the end of file is reached unexpectedly |
Implements CBlastInputSource.
Definition at line 442 of file blast_fasta_input.cpp.
References CBlastInputSourceConfig::GetLowercaseMask(), m_Config, SSeqLoc::mask, and x_FastaToSeqLoc().
|
private |
Read a single sequence from file and convert to a Seq_loc.
lcase_mask | A Seq_loc that describes the lowercase-masked regions in the query that was read in. If there are no such locations, the Seq_loc is of type 'null', otherwise it is of type 'packed_seqint' [out] |
scope | CScope object to which the read sequence is added [in] |
Definition at line 349 of file blast_fasta_input.cpp.
References _ASSERT, CBlastScopeSource::AddDataLoaders(), CScope::AddTopLevelSeqEntry(), CSeq_id::BestRank(), ConstBegin(), CSeq_loc_Base::e_not_set, eNa_strand_both, eNa_strand_other, eNa_strand_plus, eNa_strand_unknown, FindBestChoice(), AutoPtr< X, Del >::get(), COpenRange< TSeqPos >::GetEmpty(), CRange_Base::GetFrom(), CBioseq_Base::GetInst(), CSeq_inst_Base::GetLength(), CBlastInputSourceConfig::GetLowercaseMask(), CBlastInputReader::GetQueryScopeSource(), CBlastInputSourceConfig::GetRange(), CSeq_entry_Base::GetSeq(), CBlastInputSourceConfig::GetStrand(), CRange_Base::GetTo(), HasRawSequenceData(), m_Config, m_InputReader, m_ReadProteins, max(), NCBI_THROW, CRef< C, Locker >::NotEmpty(), CFastaReader::ReadOneSeq(), CFastaReader::SaveMask(), and CSeq_loc::SetInt().
Referenced by GetNextSequence(), and GetNextSSeqLoc().
|
private |
Initialization method for the input reader.
Definition at line 289 of file blast_fasta_input.cpp.
References ILineError::eProblem_ModifierFoundButNoneExpected, ILineError::eProblem_TooLong, ILineError::eProblem_TooManyAmbiguousResidues, CFastaReader::fAssumeNuc, CFastaReader::fAssumeProt, CFastaReader::fDisableNoResidues, CFastaReader::fDLOptional, CFastaReader::fHyphensIgnoreAndWarn, flags, CFastaReader::fNoParseID, CFastaReader::fNoSplit, CFastaReader::fParseRawID, CFastaReader::fQuickIDCheck, CFastaReader::fSkipCheck, CBlastInputSourceConfig::GetBelieveDeflines(), CBlastInputSourceConfig::GetDataLoaderConfig(), CBlastInputSourceConfig::GetLocalIdCounterInitValue(), CBlastInputSourceConfig::GetLocalIdPrefix(), CBlastInputSourceConfig::GetSeqLenThreshold2Guess(), CBlastInputSourceConfig::GetSkipSeqCheck(), CFastaReader::IgnoreProblem(), kEmptyStr, m_Config, m_InputReader, m_LineReader, m_ReadProteins, NULL, AutoPtr< X, Del >::reset(), CBlastInputSourceConfig::RetrieveSeqData(), CFastaReader::SetIDGenerator(), and SDataLoaderConfig::UseDataLoaders().
Referenced by CBlastFastaInputSource().
|
private |
Configuration for the sequences to be read.
Definition at line 92 of file blast_fasta_input.hpp.
Referenced by GetNextSequence(), GetNextSSeqLoc(), x_FastaToSeqLoc(), and x_InitInputReader().
|
private |
Reader of FASTA sequences or identifiers.
Definition at line 95 of file blast_fasta_input.hpp.
Referenced by x_FastaToSeqLoc(), and x_InitInputReader().
|
private |
interface to read lines
Definition at line 93 of file blast_fasta_input.hpp.
Referenced by CBlastFastaInputSource(), End(), and x_InitInputReader().
|
private |
read protein sequences?
Definition at line 96 of file blast_fasta_input.hpp.
Referenced by GetNextSequence(), x_FastaToSeqLoc(), and x_InitInputReader().