utils.hpp

来自「ncbi源码」· HPP 代码 · 共 153 行

HPP
153
字号
/* * =========================================================================== * PRODUCTION $Log: utils.hpp,v $ * PRODUCTION Revision 1000.1  2004/06/01 19:45:38  gouriano * PRODUCTION PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.7 * PRODUCTION * =========================================================================== */#ifndef OBJTOOLS_FLAT___UTILS_HPP#define OBJTOOLS_FLAT___UTILS_HPP/*  $Id: utils.hpp,v 1000.1 2004/06/01 19:45:38 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:  Mati Shomrat** File Description:*   Flat-file generator shared utility functions*/#include <corelib/ncbistd.hpp>BEGIN_NCBI_SCOPEBEGIN_SCOPE(objects)class CDate;class CBioseq;class CScope;class CSeq_feat;class CBioseq_Handle;enum ETildeStyle {    eTilde_tilde,  // no-op    eTilde_space,  // '~' -> ' ', except before /[ (]?\d/    eTilde_newline // '~' -> '\n' but "~~" -> "~"};string ExpandTildes(const string& s, ETildeStyle style);void JoinNoRedund(string& to, const string& prefix, const string& str);string JoinNoRedund(const list<string>& l, const string& delim);// Strips all spaces in string in following manner. If the function// meet several spaces (spaces and tabs) in succession it replaces them// with one space. Strips all spaces after '(' and before ')'void StripSpaces(string& str);bool RemovePeriodFromEnd(string& str, bool keep_ellipsis = true);bool ValidateAccession(const string& accn);void DateToString(const CDate& date, string& str, bool is_cit_sub = false);struct SDeltaSeqSummary{    string text;    size_t num_segs;        // total number of segments    size_t num_gaps;        // total number of segments representing gaps    size_t residues;        // number of real residues in the sequence (not gaps)    size_t num_faked_gaps;  // number of gaps where real length is not known,                            // but where a length was guessed by spreading the                            // total gap length out over all gaps evenly.    SDeltaSeqSummary(void) :        text(kEmptyStr),        num_segs(0), num_gaps(0), residues(0), num_faked_gaps(0)    {}};void GetDeltaSeqSummary(const CBioseq_Handle& seq, SDeltaSeqSummary& summary);const string& GetTechString(int tech);struct SModelEvidance{    string name;    string method;    bool mrnaEv;    bool estEv;    SModelEvidance(void) :        name(kEmptyStr), method(kEmptyStr), mrnaEv(false), estEv(false)    {}};bool GetModelEvidance(const CBioseq_Handle& bsh, SModelEvidance& me);const char* GetAAName(unsigned char aa, bool is_ascii);END_SCOPE(objects)END_NCBI_SCOPE/** ===========================================================================** $Log: utils.hpp,v $* Revision 1000.1  2004/06/01 19:45:38  gouriano* PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.7** Revision 1.7  2004/05/07 15:23:11  shomrat* + RemovePeriodFromEnd** Revision 1.6  2004/04/22 15:54:37  shomrat* Use CBioseq_Handle instead of CBioseq** Revision 1.5  2004/04/07 14:29:19  shomrat* + GetAAName** Revision 1.4  2004/03/25 20:47:59  shomrat* Add class forwarding** Revision 1.3  2004/03/18 15:34:54  shomrat* Meaningful argument names** Revision 1.2  2004/02/11 16:57:17  shomrat* added JoinNoRedund functions** Revision 1.1  2003/12/17 20:25:10  shomrat* Initial Revision (adapted from flat lib)*** ===========================================================================*/#endif  /* OBJTOOLS_FLAT___UTILS_HPP */

⌨️ 快捷键说明

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