⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 db_traceback.cpp

📁 ncbi源码
💻 CPP
字号:
/* * =========================================================================== * PRODUCTION $Log: db_traceback.cpp,v $ * PRODUCTION Revision 1000.1  2004/06/01 18:06:07  gouriano * PRODUCTION PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.10 * PRODUCTION * =========================================================================== *//*  $Id: db_traceback.cpp,v 1000.1 2004/06/01 18:06:07 gouriano Exp $ * =========================================================================== * *                            PUBLIC DOMAIN NOTICE *               National Center for Biotechnology Information * *  This software/database is a "United States Government Work" under the *  terms of the United States Copyright Act.  It was written as part of *  the author's official duties as a United States Government employee and *  thus cannot be copyrighted.  This software/database is freely available *  to the public for use. The National Library of Medicine and the U.S. *  Government have not placed any restriction on its use or reproduction. * *  Although all reasonable efforts have been taken to ensure the accuracy *  and reliability of the software and data, the NLM and the U.S. *  Government do not and cannot warrant the performance or results that *  may be obtained by using this software or data. The NLM and the U.S. *  Government disclaim all warranties, express or implied, including *  warranties of performance, merchantability or fitness for any particular *  purpose. * *  Please cite the author in any work or product based on this material. * * =========================================================================== * * Author:  Ilya Dondoshansky * * File Description: *   Class interface for running BLAST traceback only, given the precomputed *   preliminary HSP results. * * =========================================================================== */#include <ncbi_pch.hpp>#include <algo/blast/api/db_traceback.hpp>#include "blast_setup.hpp"#include <algo/blast/core/blast_traceback.h>#include <algo/blast/core/blast_setup.h>#include <algo/blast/core/blast_message.h>BEGIN_NCBI_SCOPEUSING_SCOPE(objects);BEGIN_SCOPE(blast)CDbBlastTraceback::CDbBlastTraceback(const TSeqLocVector& queries,                        BlastSeqSrc* seq_src, EProgram p,                        BlastHSPResults* results)    : CDbBlast(queries, seq_src, p){    Blast_HSPResultsFree(m_ipResults);    m_ipResults = results;}CDbBlastTraceback::CDbBlastTraceback(const TSeqLocVector& queries,                        BlastSeqSrc* seq_src, CBlastOptionsHandle& opts,                       BlastHSPResults* results)    : CDbBlast(queries, seq_src, opts){    Blast_HSPResultsFree(m_ipResults);    m_ipResults = results;}int CDbBlastTraceback::SetupSearch(){    int status = 0;    EProgram x_eProgram = GetOptionsHandle().GetOptions().GetProgram();        if ( !m_ibQuerySetUpDone ) {        double scale_factor;        x_ResetQueryDs();                SetupQueryInfo(GetQueries(), GetOptionsHandle().GetOptions(),                        &m_iclsQueryInfo);        SetupQueries(GetQueries(), GetOptionsHandle().GetOptions(),                      m_iclsQueryInfo, &m_iclsQueries);        m_ipScoreBlock = 0;                if (x_eProgram == eRPSBlast || x_eProgram == eRPSTblastn)            scale_factor = GetRPSInfo()->aux_info.scale_factor;        else            scale_factor = 1.0;        Blast_Message* blast_message = NULL;                /* Pass NULL lookup segments and output filtering locations pointers           in the next call, to indicate that we don't need them here. */        BLAST_MainSetUp(x_eProgram, GetQueryOpts(), GetScoringOpts(),            GetHitSaveOpts(), m_iclsQueries, m_iclsQueryInfo, scale_factor,            NULL, NULL, &m_ipScoreBlock, &blast_message);        if (blast_message)            GetErrorMessage().push_back(blast_message);        BLAST_GapAlignSetUp(x_eProgram, GetSeqSrc(),             GetScoringOpts(), GetEffLenOpts(), GetExtnOpts(), GetHitSaveOpts(),            m_iclsQueryInfo, m_ipScoreBlock, &m_ipScoringParams,            &m_ipExtParams, &m_ipHitParams, &m_ipEffLenParams, &m_ipGapAlign);    }    return status;}voidCDbBlastTraceback::RunSearchEngine(){    Int2 status;    status =         BLAST_ComputeTraceback(GetOptionsHandle().GetOptions().GetProgram(),             m_ipResults, m_iclsQueries, m_iclsQueryInfo,            GetSeqSrc(), m_ipGapAlign, m_ipScoringParams, m_ipExtParams,             m_ipHitParams, m_ipEffLenParams, GetDbOpts(), NULL);}/// Resets query data structures; does only part of the work in the base /// CDbBlast classvoidCDbBlastTraceback::x_ResetQueryDs(){    m_ibQuerySetUpDone = false;    // should be changed if derived classes are created    m_iclsQueries.Reset(NULL);    m_iclsQueryInfo.Reset(NULL);    m_ipScoreBlock = BlastScoreBlkFree(m_ipScoreBlock);    m_ipScoringParams = BlastScoringParametersFree(m_ipScoringParams);    m_ipExtParams = BlastExtensionParametersFree(m_ipExtParams);    m_ipHitParams = BlastHitSavingParametersFree(m_ipHitParams);    m_ipEffLenParams = BlastEffectiveLengthsParametersFree(m_ipEffLenParams);    m_ipGapAlign = BLAST_GapAlignStructFree(m_ipGapAlign);    sfree(m_ipDiagnostics);    NON_CONST_ITERATE(TBlastError, itr, m_ivErrors) {        *itr = Blast_MessageFree(*itr);    }}END_SCOPE(blast)END_NCBI_SCOPE/* * =========================================================================== * * $Log: db_traceback.cpp,v $ * Revision 1000.1  2004/06/01 18:06:07  gouriano * PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.10 * * Revision 1.10  2004/05/21 21:41:02  gorelenk * Added PCH ncbi_pch.hpp * * Revision 1.9  2004/05/14 17:16:32  dondosha * BlastReturnStat structure changed to BlastDiagnostics and refactored * * Revision 1.8  2004/05/12 12:19:33  madden * Add (NULL) psi_options to call to BLAST_ComputeTraceback * * Revision 1.7  2004/05/07 15:30:09  papadopo * use BlastScoringParameters instead of BlastScoringOptions * * Revision 1.6  2004/05/05 15:28:56  dondosha * Renamed functions in blast_hits.h accordance with new convention Blast_[StructName][Task] * * Revision 1.5  2004/04/30 16:53:06  dondosha * Changed a number of function names to have the same conventional Blast_ prefix * * Revision 1.4  2004/03/16 23:30:59  dondosha * Changed mi_ to m_i in member field names * * Revision 1.3  2004/03/15 19:57:00  dondosha * Merged TwoSequences and Database engines * * Revision 1.2  2004/03/09 18:54:06  dondosha * Setup now needs the effective lengths parameters structure * * Revision 1.1  2004/02/24 18:20:42  dondosha * Class derived from CDbBlast to do only traceback, given precomputed HSP results * * * =========================================================================== */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -