<<
"CWinMaskConfig::FillIdList(): can't understand id: " 55<< id_str <<
": "<< e.
what() <<
": ignoring");
61 constobjects::CBioseq_Handle & bsh )
const 67 if( idset.find( *iter ) != idset.end() ) {
82 if( !
tmp.empty() &&
tmp[
tmp.length() - 1] ==
'|')
83 tmp=
tmp.substr( 0,
tmp.length() - 1 );
85 if( !
tmp.empty() ) {
86string::size_type pos = (
tmp[0] ==
'>') ? 1 : 0;
87string::size_type
len=
tmp.length();
89 while( pos != string::npos && pos <
len) {
92 if( (pos =
tmp.find_first_of(
"|", pos )) != string::npos ) {
109<<
"CWinMaskConfig::CIdSet_TextMatch::insert(): bad id: " 110<< id_str <<
": ignoring");
113 if( nword_sets_.size() < nwords ) {
114nword_sets_.resize( nwords );
117 if( id_str[id_str.length() - 1] !=
'|') {
118nword_sets_[nwords - 1].insert( id_str );
120nword_sets_[nwords - 1].insert(
121id_str.substr( 0, id_str.length() - 1 ) );
127 constobjects::CBioseq_Handle & bsh )
const 132 if( !id_str.empty() ) {
133string::size_type pos = id_str.find_first_of(
" \t");
134id_str = id_str.substr( 0, pos );
137 if( find( id_str ) )
return true;
138 else if( id_str.substr( 0, 4 ) ==
"lcl|") {
139id_str = id_str.substr( 4, string::npos );
140 returnfind( id_str );
147 const string& id_str,
Uint4nwords )
const 149 returnnword_sets_[nwords].find( id_str ) != nword_sets_[nwords].end();
155vector< Uint4 > word_starts =
split( id_str );
158 i< nword_sets_.size() &&
i< word_starts.size() - 1; ++
i) {
159 if( !nword_sets_[
i].
empty() ) {
160 for(
Uint4j = 0; j < word_starts.size() -
i- 1; ++j ) {
161 stringpattern = id_str.substr(
163word_starts[j +
i+ 1] - word_starts[j] - 1 );
165 if( find( pattern,
i) ) {
176 const string& input_format)
179 if( input_format ==
"fasta") {
182 else if( input_format ==
"blastdb") {
184}
else if( input_format !=
"seqids") {
186 "Invalid CInputBioseq_CI input format: "+ input_format);
195m_CurrentBioseq.Reset();
207 if(
id.
empty() ||
id[0] ==
'#')
221 if( (ids == 0 || ids->
empty()) &&
222(exclude_ids == 0 || exclude_ids->
empty()) ) {
228 if( ids != 0 && !ids->
empty() )
232 if( ids->
find( bsh ) ) {
237 if( exclude_ids != 0 && !exclude_ids->
empty() )
239 if( exclude_ids->
find( bsh ) ) {
static CRef< CScope > m_Scope
Class for reading sequences from BLAST databases.
Class for reading sequences from fasta files.
virtual void insert(const string &id_str)
See documentation for CIdSet::insert().
set< objects::CSeq_id_Handle > idset
virtual bool find(const objects::CBioseq_Handle &) const
See documentation for CIdSet::find().
virtual bool find(const objects::CBioseq_Handle &) const
See documentation for CIdSet::find().
virtual void insert(const string &id_str)
See documentation for CIdSet::insert().
static const vector< Uint4 > split(const string &id_str)
\brief Split a string into words and return an array of word start offsets.
Base class for sets of seq_id representations used with -ids and -exclude-ids options.
virtual bool find(const objects::CBioseq_Handle &bsh) const =0
Check if the id of the given bioseq is in the id set.
virtual bool empty() const =0
Check if the id set is empty.
Function iterating over bioseqs in input.
CInputBioseq_CI(const string &input_file, const string &input_format)
unique_ptr< CNcbiIstream > m_InputFile
CInputBioseq_CI & operator++(void)
Move to the next object in iterated sequence.
unique_ptr< CMaskReader > m_Reader
static bool consider(const objects::CBioseq_Handle &bsh, const CIdSet *ids, const CIdSet *exclude_ids)
Check if the given bioseq should be considered for processing.
iterator_bool insert(const value_type &val)
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
#define NCBI_ASSERT(expr, mess)
#define ERR_POST(message)
Error posting with file, line number information but without error codes.
void Error(CExceptionArgs_Base &args)
#define NCBI_THROW(exception_class, err_code, message)
Generic macro to throw an exception, given the exception class, error code and message string.
virtual const char * what(void) const noexcept
Standard report (includes full backlog).
static CSeq_id_Handle GetHandle(const CSeq_id &id)
Normal way of getting a handle, works for any seq-id.
NCBI_XOBJUTIL_EXPORT string GetTitle(const CBioseq_Handle &hnd, TGetTitleFlags flags=0)
static CRef< CObjectManager > GetInstance(void)
Return the existing object manager or create one.
CSeq_entry_Handle AddTopLevelSeqEntry(CSeq_entry &top_entry, TPriority pri=kPriority_Default, EExist action=eExist_Default)
Add seq_entry, default priority is higher than for defaults or loaders Add object to the score with p...
CBioseq_Handle GetBioseqHandle(const CSeq_id &id)
Get bioseq handle by seq-id.
void AddDefaults(TPriority pri=kPriority_Default)
Add default data loaders from object manager.
vector< CSeq_id_Handle > TId
void Reset(void)
Reset reference object.
bool NotEmpty(void) const THROWS_NONE
Check if CRef is not empty â pointing to an object and has a non-null value.
uint32_t Uint4
4-byte (32-bit) unsigned integer
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
CNcbiIstream & NcbiGetlineEOL(CNcbiIstream &is, string &str, string::size_type *count=NULL)
Read from "is" to "str" the next line (taking into account platform specifics of End-of-Line)
IO_PREFIX::ifstream CNcbiIfstream
Portable alias for ifstream.
bool IsSeq(void) const
Check if variant Seq is selected.
constexpr bool empty(list< Ts... >) noexcept
void split(std::vector< std::string > *strVec, const std::string &str_, const std::string &split_)
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