NCBI C++ ToolKit
bed_track_record.hpp
Go to the documentation of this file.

Go to the SVN repository for this file.

1 /* $Id: bed_track_record.hpp 95079 2021-10-05 13:52:18Z ludwigf $
2  * ===========================================================================
3  *
4  * PUBLIC DOMAIN NOTICE
5  * National Center for Biotechnology Information
6  *
7  * This software/database is a "United States Government Work" under the
8  * terms of the United States Copyright Act. It was written as part of
9  * the author's official duties as a United States Government employee and
10  * thus cannot be copyrighted. This software/database is freely available
11  * to the public for use. The National Library of Medicine and the U.S.
12  * Government have not placed any restriction on its use or reproduction.
13  *
14  * Although all reasonable efforts have been taken to ensure the accuracy
15  * and reliability of the software and data, the NLM and the U.S.
16  * Government do not and cannot warrant the performance or results that
17  * may be obtained by using this software or data. The NLM and the U.S.
18  * Government disclaim all warranties, express or implied, including
19  * warranties of performance, merchantability or fitness for any particular
20  * purpose.
21  *
22  * Please cite the author in any work or product based on this material.
23  *
24  * ===========================================================================
25  *
26  * Authors: Frank Ludwig
27  *
28  * File Description: BED file track line data
29  *
30  */
31 
32 #ifndef OBJTOOLS_WRITERS___BED_TRACK_RECORD__HPP
33 #define OBJTOOLS_WRITERS___BED_TRACK_RECORD__HPP
34 
36 
38 BEGIN_objects_SCOPE
39 
40 // ============================================================================
41 /// Encapsulation of a track line in the BED file format. For the most part,
42 /// BED track line consist of key value pairs. Some of the keys are part of the
43 /// actual spec and have a defined meaning.
44 ///
46 // ============================================================================
47 {
48 public:
50  const string& type = ""): mType(type) {};
52 
53  bool Assign(const CSeq_annot&);
54  bool Write(CNcbiOstream&);
55 
56  bool UseScore() const;
57 
58 protected:
60  const CUser_object&);
62  const std::string&) const;
63 
64  string mType;
65  string mName;
66  string mTitle;
67  std::map<std::string, std::string> mKeyValuePairs;
68 };
69 
70 END_objects_SCOPE
72 
73 #endif // OBJTOOLS_WRITERS___BED_TRACK_RECORD__HPP
Encapsulation of a track line in the BED file format.
std::map< std::string, std::string > mKeyValuePairs
bool xImportKeyValuePairs(const CUser_object &)
std::string xGetKeyValue(const std::string &) const
CBedTrackRecord(const string &type="")
bool UseScore() const
bool Assign(const CSeq_annot &)
bool Write(CNcbiOstream &)
string
Definition: cgiapp.hpp:687
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
IO_PREFIX::ostream CNcbiOstream
Portable alias for ostream.
Definition: ncbistre.hpp:149
Definition: type.c:6
Modified on Tue May 28 05:54:08 2024 by modify_doxy.py rev. 669887