- /*
- * ===========================================================================
- * PRODUCTION $Log: PDB_seq_id.cpp,v $
- * PRODUCTION Revision 1000.1 2004/06/01 19:34:15 gouriano
- * PRODUCTION PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R6.11
- * PRODUCTION
- * ===========================================================================
- */
- /* $Id: PDB_seq_id.cpp,v 1000.1 2004/06/01 19:34:15 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: .......
- *
- * File Description:
- * .......
- *
- * Remark:
- * This code was originally generated by application DATATOOL
- * using specifications from the ASN data definition file
- * 'seqloc.asn'.
- *
- * ---------------------------------------------------------------------------
- * $Log: PDB_seq_id.cpp,v $
- * Revision 1000.1 2004/06/01 19:34:15 gouriano
- * PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R6.11
- *
- * Revision 6.11 2004/05/19 17:26:25 gorelenk
- * Added include of PCH - ncbi_pch.hpp
- *
- * Revision 6.10 2002/01/09 15:59:30 grichenk
- * Fixed includes
- *
- * Revision 6.9 2001/08/31 16:05:08 clausen
- * Removed upper casing, changed output for vertical bars and lower case in chain.
- *
- * Revision 6.8 2001/06/01 15:37:16 clausen
- * Changed CPDB_seq_id::Match() to use PCase instead of PNocase
- *
- * Revision 6.7 2001/01/07 22:00:58 vakatov
- * Upcase((const string&) GetMol()) -- expl.cast (for WorkShop5 compiler)
- *
- * Revision 6.6 2000/12/26 17:28:55 vasilche
- * Simplified and formatted code.
- *
- * Revision 6.5 2000/12/15 19:30:31 ostell
- * Used Upcase() in AsFastaString() and changed to PNocase().Equals() style
- *
- * Revision 6.4 2000/12/08 22:19:46 ostell
- * changed MakeFastString to AsFastaString and to use ostream instead of string
- *
- * Revision 6.3 2000/12/08 20:45:15 ostell
- * added MakeFastaString()
- *
- * Revision 6.2 2000/11/30 21:56:25 ostell
- * added Match()
- *
- * Revision 6.1 2000/11/30 18:39:26 ostell
- * added Textseq_id.Match
- *
- * ===========================================================================
- */
- #include <ncbi_pch.hpp>
- #include <objects/seqloc/PDB_seq_id.hpp>
- #include <objects/seqloc/PDB_mol_id.hpp>
- BEGIN_NCBI_SCOPE
- BEGIN_objects_SCOPE // namespace ncbi::objects::
- // destructor
- CPDB_seq_id::~CPDB_seq_id(void)
- {
- return;
- }
- // comparison function
- bool CPDB_seq_id::Match(const CPDB_seq_id& psip2) const
- {
- return
- GetChain() == psip2.GetChain() &&
- PCase().Equals(GetMol(), psip2.GetMol());
- }
- // format a FASTA style string
- ostream& CPDB_seq_id::AsFastaString(ostream& s) const
- {
- // no Upcase per Ostell - Karl 7/2001
- // Output "VB" when chain id is ASCII 124 ('|').
- // Output double upper case letter when chain is a lower case character.
- char chain = (char) GetChain();
- if (chain == '|') {
- return s << GetMol().Get() << "|VB";
- } else if ( islower(chain) != 0 ) {
- return s << GetMol().Get() << '|'
- << (char) toupper(chain) << (char) toupper(chain);
- } else if ( chain == ' ' ) {
- return s << GetMol().Get() << "| ";
- }
- return s << GetMol().Get() << '|' << chain;
- }
- END_objects_SCOPE // namespace ncbi::objects::
- END_NCBI_SCOPE