seq_to_neighbors.hpp
上传用户:yhdzpy8989
上传日期:2007-06-13
资源大小:13604k
文件大小:5k
- /*
- * ===========================================================================
- * PRODUCTION $Log: seq_to_neighbors.hpp,v $
- * PRODUCTION Revision 1000.1 2004/04/12 19:28:19 gouriano
- * PRODUCTION PRODUCTION: UPGRADED [CATCHUP_003] Dev-tree R1.2
- * PRODUCTION
- * ===========================================================================
- */
- #ifndef GUI_PLUGINS_ALGO_ALIGN___SEQ_TO_NEIGHBORS__HPP
- #define GUI_PLUGINS_ALGO_ALIGN___SEQ_TO_NEIGHBORS__HPP
- /* $Id: seq_to_neighbors.hpp,v 1000.1 2004/04/12 19:28:19 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.
- *
- * ===========================================================================
- *
- * Authors: Mike DiCuccio
- *
- * File Description:
- *
- */
- #include <gui/core/algo_thread.hpp>
- #include <gui/core/version.hpp>
- #include "align_to_neighbors.hpp"
- #include "blast_util.hpp"
- BEGIN_NCBI_SCOPE
- USING_SCOPE(objects);
- class CAlignSeqToNeighbors : public CAlignToNeighbors,
- public CThreadedAlgorithm<CAlignSeqToNeighbors>
- {
- public:
- void RunThreaded(CPluginMessage& msg);
- // standard info boilerplate
- static void GetInfo(CPluginInfo& info);
- };
- inline
- void CAlignSeqToNeighbors::RunThreaded(CPluginMessage& msg)
- {
- CAlignToNeighbors::RunCommand(msg, m_Progress);
- }
- // standard info boilerplate
- inline
- void CAlignSeqToNeighbors::GetInfo(CPluginInfo& info)
- {
- info.Reset();
- // version info macro
- info.SetInfo(CPluginVersion::eMajor, CPluginVersion::eMinor, 0,
- string(__DATE__) + " " + string(__TIME__),
- "CAlignSeqToNeighbors",
- "Alignments/Align mRNA sequence to Entrez neighbors",
- "Create an alignment of an mRNA sequence "
- "to its related sequences and to its genomic context",
- "http://graceland.ncbi.nlm.nih.gov:6224/staff/jcherry/"
- "plugin_help/align_mrna_to_neighbors.html");
- // command info
- CPluginCommandSet& cmds = info.SetCommands();
- CPluginCommand& args = cmds.AddAlgoCommand(eAlgoCommand_run);
- args.AddArgument("mrna_feat", "mRNA sequence",
- CSeq_feat::GetTypeInfo());
- args.SetConstraint("mrna_feat",
- (*CPluginValueConstraint::CreateFeatSubtype(),
- CSeqFeatData::eSubtype_mRNA));
- args.AddConstraint("mrna_feat",
- *CPluginValueConstraint::CreateFeatProduct());
- args.AddDefaultArgument("word", "Word Size",
- CPluginArg::eInteger, "11");
- args.AddDefaultArgument("expect", "Expect Value",
- CPluginArg::eDouble, "0.05");
- args.AddArgument("greedy", "Perform a greedy alignment",
- CPluginArg::eBoolean);
- args.AddArgument("genomic", "Align to the genomic sequence",
- CPluginArg::eBoolean);
- args.AddDefaultArgument("neighbor_filter",
- "Which entrez neighbors",
- CPluginArg::eString, "all");
- args.SetConstraint("neighbor_filter",
- (*CPluginValueConstraint::CreateSet(),
- "all", "mRNA only", "genomic only",
- "arbitrary query string (below)"));
- args.AddOptionalArgument("query_string",
- "Entrez query for filtering",
- CPluginArg::eString);
- }
- END_NCBI_SCOPE
- /*
- * ===========================================================================
- * $Log: seq_to_neighbors.hpp,v $
- * Revision 1000.1 2004/04/12 19:28:19 gouriano
- * PRODUCTION: UPGRADED [CATCHUP_003] Dev-tree R1.2
- *
- * Revision 1.2 2004/01/27 18:40:27 dicuccio
- * Code clean-up. Renamed plugin classes to follow standard pattern
- *
- * Revision 1.1 2003/10/24 12:49:21 dicuccio
- * Moved files from algo/net_blast
- *
- * ===========================================================================
- */
- #endif // GUI_PLUGINS_ALGO_ALIGN___SEQ_TO_NEIGHBORS__HPP