Beispiel #1
0
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);
    }
}
Beispiel #2
0
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());
    }
}
Beispiel #3
0
void SequenceTable::addSequences(CSeq_entry& seqEntry)
{
	if (seqEntry.IsSet())
	{
		list< CRef< CSeq_entry > >& seqSet = seqEntry.SetSet().SetSeq_set();
		list< CRef< CSeq_entry > >::iterator it = seqSet.begin();
		for (; it != seqSet.end(); it++)
			addSequences(*(*it));
	}
	else
	{
		CRef< CBioseq > bioseq(&(seqEntry.SetSeq()));
		addSequence(bioseq);
	}
}
/**\internal
 **\brief Get a FASTA formatted id string (the first available) from the 
 **       CSeq_entry structure.
 **
 **\param entry sequence description structure
 **\return the first id string corresponding to entry
 **/
static const string GetIdString( const CSeq_entry & entry )
{
    CRef<CObjectManager> om(CObjectManager::GetInstance());
    const CBioseq & seq = entry.GetSeq();
    CRef<CScope> scope(new CScope(*om));
    CSeq_entry_Handle seh = scope->AddTopLevelSeqEntry( 
        const_cast< CSeq_entry & >( entry ) );
    return CWinMaskSeqTitle::GetId( seh, seq );
/*
    list< CRef< CSeq_id > > idlist = seq.GetId();

    if( idlist.empty() ) 
        return "???";
    else
    {
        CNcbiOstrstream os;
        (*idlist.begin())->WriteAsFasta( os );
        return CNcbiOstrstreamToString(os);
    }
*/
}