示例#1
0
BlastSeqSrc* 
SeqDbBlastSeqSrcInit(const string& dbname, bool is_prot, 
                 Uint4 first_seq, Uint4 last_seq,
                 Int4 mask_algo_id, ESubjectMaskingType mask_type)
{
    BlastSeqSrcNewInfo bssn_info;
    BlastSeqSrc* seq_src = NULL;
    CSeqDbSrcNewArgs seqdb_args(dbname, is_prot, first_seq, last_seq,
                                mask_algo_id, mask_type);

    bssn_info.constructor = &s_SeqDbSrcNew; // FIXME: shouldn't this be s_SeqDbSrcSharedNew?
    bssn_info.ctor_argument = (void*) &seqdb_args;
    seq_src = BlastSeqSrcNew(&bssn_info);
    return seq_src;
}
示例#2
0
BlastSeqSrc* 
SeqDbBlastSeqSrcInit(CSeqDB * seqdb,
                     Int4 mask_algo_id,
                     ESubjectMaskingType mask_type)
{
    BlastSeqSrcNewInfo bssn_info;
    BlastSeqSrc * seq_src = NULL;

    TSeqDBData data(seqdb, mask_algo_id, mask_type);

    bssn_info.constructor = & s_SeqDbSrcSharedNew;
    bssn_info.ctor_argument = (void*) & data;
    seq_src = BlastSeqSrcNew(& bssn_info);
    return seq_src;
}
示例#3
0
BlastSeqSrc*
MultiSeqBlastSeqSrcInit(SeqLoc* seqloc_list, EBlastProgramType program)
{
    BlastSeqSrc* seq_src;
    BlastSeqSrcNewInfo bssn_info;
    MultiSeqSrcNewArgs* args =
        (MultiSeqSrcNewArgs*) calloc(1, sizeof(MultiSeqSrcNewArgs));;
    args->seqloc_list = seqloc_list;
    args->program = program;
    bssn_info.constructor = &s_MultiSeqSrcNew;
    bssn_info.ctor_argument = (void*) args;

    seq_src = BlastSeqSrcNew(&bssn_info);
    sfree(args);

    return seq_src;
}