void SequenceSet::UnpackSeqSet(const CBioseq_set& bss) { CBioseq_set::TSeq_set::const_iterator q, qe = bss.GetSeq_set().end(); for (q=bss.GetSeq_set().begin(); q!=qe; ++q) { if (q->GetObject().IsSeq()) { // only store amino acid or nucleotide sequences if (q->GetObject().GetSeq().GetInst().GetMol() != CSeq_inst::eMol_aa && q->GetObject().GetSeq().GetInst().GetMol() != CSeq_inst::eMol_dna && q->GetObject().GetSeq().GetInst().GetMol() != CSeq_inst::eMol_rna && q->GetObject().GetSeq().GetInst().GetMol() != CSeq_inst::eMol_na) continue; const Sequence *sequence = new Sequence(q->GetObject().GetSeq()); if (!sequence || sequence->Status() != CAV_SUCCESS) { status = sequence->Status(); return; } sequences.push_back(sequence); } else { // Bioseq-set UnpackSeqSet(q->GetObject().GetSet()); } } }
static void UnpackSeqEntry(CSeq_entry& seqEntry, SequenceSet *parent, SequenceSet::SequenceList& seqlist) { if (seqEntry.IsSeq()) { const Sequence *sequence = new Sequence(parent, seqEntry.SetSeq()); if (!sequence || !sequence->identifier) FATALMSG("Can't create Sequence object, aborting..."); seqlist.push_back(sequence); } else { // Bioseq-set UnpackSeqSet(seqEntry.SetSet(), parent, seqlist); } }
void SequenceSet::UnpackSeqEntry(const CSeq_entry& seqEntry) { if (seqEntry.IsSeq()) { const Sequence *sequence = new Sequence(seqEntry.GetSeq()); if (!sequence || sequence->Status() != CAV_SUCCESS) { status = sequence->Status(); return; } sequences.push_back(sequence); } else { // Bioseq-set UnpackSeqSet(seqEntry.GetSet()); } }
static void UnpackSeqSet(CBioseq_set& bss, SequenceSet *parent, SequenceSet::SequenceList& seqlist) { CBioseq_set::TSeq_set::iterator q, qe = bss.SetSeq_set().end(); for (q=bss.SetSeq_set().begin(); q!=qe; ++q) { if (q->GetObject().IsSeq()) { // only store amino acid or nucleotide sequences if (q->GetObject().GetSeq().GetInst().GetMol() != CSeq_inst::eMol_aa && q->GetObject().GetSeq().GetInst().GetMol() != CSeq_inst::eMol_dna && q->GetObject().GetSeq().GetInst().GetMol() != CSeq_inst::eMol_rna && q->GetObject().GetSeq().GetInst().GetMol() != CSeq_inst::eMol_na) continue; const Sequence *sequence = new Sequence(parent, q->GetObject().SetSeq()); if (!sequence || !sequence->identifier) FATALMSG("Can't create Sequence object, aborting..."); seqlist.push_back(sequence); } else { // Bioseq-set UnpackSeqSet(q->GetObject().SetSet(), parent, seqlist); } } }