57 : m_Params(params), m_FileNames(
filenames)
68 return "Loading FASTA Files";
85 const wxString& fn = *it;
101 catch (
const exception& e) {
165 rdr.SetCanceler(canceled);
169 vector<CConstRef<CSeq_id>> wellknown_ids;
173 vector<CRef<CSeq_entry> >
entries;
174 if (entry->
IsSeq()) {
183 for (
unsigned int i = 0;
i <
entries.size(); ++
i) {
196 vector< CRef<CSeq_loc> > expanded_locs;
203 expanded_locs.push_back(loc_int);
209 for (
CSeq_loc_CI loc_iter(loc); loc_iter; ++loc_iter) {
211 loc_int->
SetInt().SetFrom(loc_iter.GetRange().GetFrom());
212 loc_int->
SetInt().SetTo(loc_iter.GetRange().GetTo());
214 expanded_locs.push_back(loc_int);
230 feat->
SetData().SetRegion(
"lowercase in FASTA file");
233 feat->
SetData().SetImp().SetKey(
"repeat_region");
234 feat->
SetData().SetImp().SetDescr(
"lowercase in FASTA file");
236 annot->
SetData().SetFtable().push_back(feat);
241 annot->
SetData().SetLocs().push_back(*iter);
257 for (
auto &
id : wellknown_ids) {
277 rdr.SetCanceler(canceled);
void LoadFromStream(CNcbiIstream &istr, TObjects &objects, CErrorContainer *errCont=0, ICanceled *canceled=0)
virtual bool Execute(ICanceled &canceled)
CFastaLoadParams m_Params
vector< wxString > m_FileNames
virtual string GetDescription() const
virtual bool PreExecute()
virtual bool PostExecute()
virtual TObjects & GetObjects()
void LoadAlignsFromStream(CNcbiIstream &istr, TObjects &objects, CErrorContainer *errCont=0, ICanceled *canceled=0)
CFastaObjectLoader(const CFastaLoadParams ¶ms)
CRef< objects::CScope > m_Scope
void x_ShowErrorsDlg(const wxString &title)
void x_UpdateHTMLResults(const wxString &object, objects::ILineErrorListener *errCont, const string &exception="", const string &error_msg="", const wxString &objectName=wxT("File:"))
FASTA sequences reader class that does post-processing: * Overrides the local ids; * Removes the well...
CRef< objects::CSeq_entry > ReadSequences(vector< CConstRef< objects::CSeq_id >> *wellknown_ids=nullptr, int max_seqs=kMax_Int, objects::ILineErrorListener *pMessageListener=0)
Read multiple sequences and remove the well-known sequences from the entry.
namespace ncbi::objects::
Seq-loc iterator class – iterates all intervals from a seq-loc in the correct order.
Template class for iteration on objects of class C.
Interface for testing cancellation request in a long lasting operation.
vector< SObject > TObjects
Operators to edit gaps in sequences.
static CFastaReader::TFlags s_GetFlags(const CFastaLoadParams ¶ms)
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
#define NON_CONST_ITERATE(Type, Var, Cont)
Non constant version of ITERATE macro.
const string & GetMsg(void) const
Get message string.
virtual const char * what(void) const noexcept
Standard report (includes full backlog).
bool GetReadFirst() const
bool GetForceLocalIDs() const
bool GetMakeDelta() const
int GetLowercaseOption() const
bool GetSkipInvalid() const
bool GetIgnoreGaps() const
static void GetLabel(const CObject &obj, string *label, ELabelType type=eDefault)
static CRef< ILineReader > New(const string &filename)
Return a new ILineReader object corresponding to the given filename, taking "-" (but not "....
long TFlags
binary OR of EFlags
@ fDLOptional
Don't require a leading defline.
@ fHyphensIgnoreAndWarn
When a hyphen is encountered in seq data, ignore it but warn.
@ fRequireID
Reject deflines that lack IDs.
@ fAddMods
Parse defline mods and add to SeqEntry.
@ fForceType
Force specified type regardless of accession.
@ fParseRawID
Try to identify raw accessions.
@ fNoSplit
Don't split out ambiguous sequence regions.
@ fAssumeNuc
Assume nucs unless accns indicate otherwise.
@ fParseGaps
Make a delta sequence if gaps found.
@ fOneSeq
Just read the first sequence found.
@ fAssumeProt
Assume prots unless accns indicate otherwise.
virtual void Assign(const CSerialObject &source, ESerialRecursionMode how=eRecursive)
Optimized implementation of CSerialObject::Assign, which is not so efficient.
void SetId(CSeq_id &id)
set the 'id' field in all parts of this location
const CSeq_id & GetId(const CSeq_loc &loc, CScope *scope)
If all CSeq_ids embedded in CSeq_loc refer to the same CBioseq, returns the first CSeq_id found,...
TSeqPos GetLength(const CSeq_id &id, CScope *scope)
Get sequence length if scope not null, else return max possible TSeqPos.
static CRef< CObjectManager > GetInstance(void)
Return the existing object manager or create one.
void Reset(void)
Reset reference object.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
virtual bool IsCanceled(void) const =0
IO_PREFIX::istream CNcbiIstream
Portable alias for istream.
static const char label[]
void SetLocation(TLocation &value)
Assign a value to Location data member.
void SetData(TData &value)
Assign a value to Data data member.
list< CRef< CSeq_interval > > Tdata
const Tdata & Get(void) const
Get the member data.
bool IsPacked_int(void) const
Check if variant Packed_int is selected.
bool IsNull(void) const
Check if variant Null is selected.
const TPacked_int & GetPacked_int(void) const
Get the variant data.
const TSeq & GetSeq(void) const
Get the variant data.
TSet & SetSet(void)
Select the variant.
bool IsSeq(void) const
Check if variant Seq is selected.
list< CRef< CSeq_entry > > TSeq_set
TSeq & SetSeq(void)
Select the variant.
TSeq_set & SetSeq_set(void)
Assign a value to Seq_set data member.
void SetData(TData &value)
Assign a value to Data data member.
const TInst & GetInst(void) const
Get the Inst member data.
TAnnot & SetAnnot(void)
Assign a value to Annot data member.
TLength GetLength(void) const
Get the Length member data.
static wxAcceleratorEntry entries[3]