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()); } }