Search Toolkit Book for CSeqDBAliasFile
CSeqDBAliasFile class. More...
#include "seqdbalias.hpp"
(Private to src/objtools/blast/seqdb_reader
.)
CSeqDBAliasFile class.
This class is an interface to the alias node tree. It provides functionality to classes like CSeqDBImpl (and others) that do not need to understand alias walkers, nodes, and tree traversal.
Definition at line 982 of file seqdbalias.hpp.
◆ TAliasFileValues ◆ CSeqDBAliasFile() [1/2]Constructor.
This builds a tree of CSeqDBAliasNode objects from a space-seperated list of database names. Every database instance has at least one node, because the top most node is an "artificial" node, which serves only to aggregate the list of databases specified to the constructor. The tree is constructed in a depth first manner, and will be complete upon return from this constructor.
Definition at line 55 of file seqdbalias.cpp.
References CSeqDBAliasNode::FindVolumePaths(), m_AliasNames, m_AliasSets, m_Node, m_VolumeNames, and CRef< C, Locker >::Reset().
◆ CSeqDBAliasFile() [2/2]Disable copy constructor.
◆ DebugDump()Dump debug information for this object.
Reimplemented from CObject.
Definition at line 1918 of file seqdbalias.cpp.
References CObject::DebugDump(), depth, i, CDebugDumpContext::Log(), m_AliasNames, m_HasFilters, m_HasTitle, m_IsProtein, m_MembBit, m_MinLength, m_NeedTotalsScan, m_NumOIDs, m_NumSeqs, m_NumSeqsStats, m_Title, m_TotalLength, m_TotalLengthStats, m_VolumeLength, m_VolumeNames, CDebugDumpContext::SetFrame(), and NStr::SizetToString().
◆ FindVolumePaths() void CSeqDBAliasFile::FindVolumePaths ( vector< string > & vols, vector< string > * alias, bool recursive ) const inlineFind the base names of volumes.
This method populates the vector with volume names.
Definition at line 1032 of file seqdbalias.hpp.
Referenced by CSeqDBImpl::FindVolumePaths().
◆ GetAliasFileValues()Get Name/Value Data From Alias Files.
SeqDB treats each alias file as a map from a variable name to a value. This method will return a map from the basename of the filename of each alias file, to a mapping from variable name to value for each entry in that file. For example, the value of the "DBLIST" entry in the "wgs.nal" file would be values["wgs"]["DBLIST"]. The lines returned have been processed somewhat by SeqDB, including normalizing tabs to whitespace, trimming leading and trailing whitespace, and removal of comments and other non-value lines. Care should be taken when using the values returned by this method. SeqDB uses an internal "virtual" alias file entry to aggregate the values passed into SeqDB by the user. This mapping uses a filename of "-" and contains a single entry mapping "DBLIST" to SeqDB's database name input. This entry is the root of the alias file inclusion tree. Also note that alias files that appear in several places in the alias file inclusion tree only have one entry in the returned map (and are only parsed once by SeqDB).
Definition at line 1760 of file seqdbalias.cpp.
References CSeqDBAliasNode::CompleteAliasFileValues(), map_checker< Container >::end(), map_checker< Container >::find(), CSeqDBAliasNode::GetAliasFileValues(), CSeqDBVolSet::GetNumVols(), CSeqDBVol::GetTitle(), CSeqDBVolSet::GetVol(), CSeqDBVol::GetVolName(), i, ncbi::grid::netcache::search::fields::key, m_IsProtein, and m_Node.
Referenced by CSeqDBImpl::GetAliasFileValues().
◆ GetFilterTree() ◆ GetMaskList() void CSeqDBAliasFile::GetMaskList ( vector< string > & mask_list ) inlineGet Gi-based Mask Names From Alias Files.
This will return the MASKLIST field of the top alias node.
Definition at line 1250 of file seqdbalias.hpp.
Referenced by CSeqDBImpl::CSeqDBImpl().
◆ GetMembBit()Get the membership bit.
This iterates the alias node tree to find the membership bit, if there is one. If more than one alias node provides a membership bit, only one will be used. This value can only be found in alias files (volumes do not have a single internal membership bit).
Definition at line 1790 of file seqdbalias.cpp.
References CSeqDBAliasNode::GetMembBit(), m_MembBit, and m_Node.
◆ GetMinLength() ◆ GetNumOIDs()Get the size of the OID range.
This iterates the alias node tree to compute the number of sequences in all volumes as encountered in traversal. Alias files cannot override this value. Filtering does not affect this value.
Definition at line 1835 of file seqdbalias.cpp.
References CSeqDBAliasNode::GetNumOIDs(), m_Node, and m_NumOIDs.
Referenced by CSeqDBImpl::x_GetNumOIDs().
◆ GetNumSeqs()Get the number of sequences available.
This iterates the alias node tree to compute the number of sequences available here. Alias files may override this value (stopping traversal at that depth). It is normally used to provide information on how many OIDs exist after filtering has been applied.
Definition at line 1817 of file seqdbalias.cpp.
References CSeqDBAliasNode::GetNumSeqs(), m_Node, and m_NumSeqs.
Referenced by CSeqDBImpl::x_GetNumSeqs().
◆ GetNumSeqsStats()Get the number of sequences available.
This iterates the alias node tree to compute the number of sequences available here. Alias files may override this value (stopping traversal at that depth). It is normally used to provide information on how many OIDs exist after filtering has been applied. This is like GetNumSeqs, but uses STATS_NSEQ.
Definition at line 1826 of file seqdbalias.cpp.
References CSeqDBAliasNode::GetNumSeqsStats(), int, m_Node, and m_NumSeqsStats.
Referenced by CSeqDBImpl::x_GetNumSeqsStats().
◆ GetOidMaskType() ◆ GetTitle() ◆ GetTotalLength()Get the total length of the set of databases.
This iterates the alias node tree to compute the total length of all sequences in all volumes included in the database. This may count volumes several times (depending on alias tree structure). Alias files can override this value (stopping traversal at that depth). It is normally used to describe the amount of sequence data remaining after filtering has been applied.
Definition at line 1844 of file seqdbalias.cpp.
References CSeqDBAliasNode::GetTotalLength(), m_Node, and m_TotalLength.
Referenced by CSeqDBImpl::x_GetTotalLength().
◆ GetTotalLengthStats()Get the total length of the set of databases.
This iterates the alias node tree to compute the total length of all sequences in all volumes included in the database. This may count volumes several times (depending on alias tree structure). Alias files can override this value (stopping traversal at that depth). It is normally used to describe the amount of sequence data remaining after filtering has been applied. This is like GetTotalLength but uses STATS_TOTLEN.
Definition at line 1853 of file seqdbalias.cpp.
References CSeqDBAliasNode::GetTotalLengthStats(), m_Node, and m_TotalLengthStats.
Referenced by CSeqDBImpl::x_GetTotalLengthStats().
◆ GetVolumeLength()Get the sum of the volume lengths.
This iterates the alias node tree to compute the total length of all sequences in all volumes as encountered in traversal. This may count volumes several times (depending on alias tree structure). Alias files cannot override this value.
Definition at line 1862 of file seqdbalias.cpp.
References CSeqDBAliasNode::GetVolumeLength(), m_Node, and m_VolumeLength.
◆ GetVolumeNames() const vector<string>& CSeqDBAliasFile::GetVolumeNames ( ) const inlineGet the list of volume names.
This method returns a reference to the vector of volume names. The vector will contain all volume names mentioned in any of the DBLIST lines in the hierarchy of the alias node tree. The volume names do not include an extension (such as .pin or .nin).
Definition at line 1019 of file seqdbalias.hpp.
◆ HasFilters() bool CSeqDBAliasFile::HasFilters ( ) inlineCheck if any volume filtering exists.
This method computes and caches the sequence filtering for this node and any subnodes, and returns true if any filtering exists. Subsequent calls will just return the cached value.
Definition at line 1188 of file seqdbalias.hpp.
Referenced by CSeqDBImpl::CSeqDBImpl().
◆ HasGiMask() bool CSeqDBAliasFile::HasGiMask ( ) const inlineIs the top node alias file associated with Gi based masks?
This will return true if the MASKLIST field of the top alias node is set.
Definition at line 1239 of file seqdbalias.hpp.
◆ NeedTotalsScan() ◆ operator=() ◆ x_ComputeMasks() void CSeqDBAliasFile::x_ComputeMasks ( ) inlineprivateCompute filtering options for all volumes.
This method applies the filtering options found in the alias node tree to all associated volumes (iterating over the tree recursively). The virtual OID lists are not built as a result of this process, but the data necessary for virtual OID construction is copied to the volume objects.
Definition at line 1278 of file seqdbalias.hpp.
Referenced by GetFilterTree().
◆ m_AliasNames vector<string> CSeqDBAliasFile::m_AliasNames private ◆ m_AliasSets ◆ m_HasFilters bool CSeqDBAliasFile::m_HasFilters private ◆ m_HasTitle bool CSeqDBAliasFile::m_HasTitle mutableprivate ◆ m_IsProtein bool CSeqDBAliasFile::m_IsProtein private ◆ m_MembBit int CSeqDBAliasFile::m_MembBit mutableprivate ◆ m_MinLength Int4 CSeqDBAliasFile::m_MinLength mutableprivate ◆ m_NeedTotalsScan int CSeqDBAliasFile::m_NeedTotalsScan mutableprivate ◆ m_NodeThis is the alias node tree's "artificial" topmost node, which aggregates the user provided database names.
Definition at line 1288 of file seqdbalias.hpp.
Referenced by CSeqDBAliasFile(), GetAliasFileValues(), GetFilterTree(), GetMembBit(), GetMinLength(), GetNumOIDs(), GetNumSeqs(), GetNumSeqsStats(), GetOidMaskType(), GetTitle(), GetTotalLength(), GetTotalLengthStats(), GetVolumeLength(), and NeedTotalsScan().
◆ m_NumOIDs Int8 CSeqDBAliasFile::m_NumOIDs mutableprivate ◆ m_NumSeqs Int8 CSeqDBAliasFile::m_NumSeqs mutableprivate ◆ m_NumSeqsStats int CSeqDBAliasFile::m_NumSeqsStats mutableprivate ◆ m_OidMaskType int CSeqDBAliasFile::m_OidMaskType mutableprivate ◆ m_Title string CSeqDBAliasFile::m_Title mutableprivate ◆ m_TopTree ◆ m_TotalLength Int8 CSeqDBAliasFile::m_TotalLength mutableprivate ◆ m_TotalLengthStats Int8 CSeqDBAliasFile::m_TotalLengthStats mutableprivate ◆ m_VolumeLength Int8 CSeqDBAliasFile::m_VolumeLength mutableprivate ◆ m_VolumeNames vector<string> CSeqDBAliasFile::m_VolumeNames privateThe documentation for this class was generated from the following files:
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4