1 /* $Id: Spliced_seg.hpp 144013 2008-10-24 17:52:00Z dicuccio $ 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 */ 27 28 /// @file Spliced_seg.hpp 29 /// User-defined methods of the data storage class. 30 /// 31 /// This file was originally generated by application DATATOOL 32 /// using the following specifications: 33 /// 'seqalign.asn'. 34 /// 35 /// New methods or data members can be added to it if needed. 36 /// See also: Spliced_seg_.hpp 37 38 39 #ifndef OBJECTS_SEQALIGN_SPLICED_SEG_HPP 40 #define OBJECTS_SEQALIGN_SPLICED_SEG_HPP 41 42 43 // generated includes 44 #include <objects/seqalign/Spliced_seg_.hpp> 45 46 // generated classes 47 48 BEGIN_NCBI_SCOPE 49 50 BEGIN_objects_SCOPE // namespace ncbi::objects:: 51 52 class CSeq_align; 53 54 ///////////////////////////////////////////////////////////////////////////// 55 class NCBI_SEQALIGN_EXPORT CSpliced_seg : public CSpliced_seg_Base 56 { 57 typedef CSpliced_seg_Base Tparent; 58 public: 59 // constructor 60 CSpliced_seg(void); 61 // destructor 62 ~CSpliced_seg(void); 63 64 /// types 65 typedef int TDim; 66 67 /// Validators 68 void Validate (bool full_test = false) const; CheckNumRows(void) const69 TDim CheckNumRows(void) const { 70 return 2; 71 } 72 73 /// GetSeqRange 74 /// NB: In case the product-type is protein, these only return the 75 /// amin part of Prot-pos. The frame is ignored. 76 CRange<TSeqPos> GetSeqRange(TDim row) const; 77 TSeqPos GetSeqStart(TDim row) const; 78 TSeqPos GetSeqStop (TDim row) const; 79 80 /// Get strand (the first one if segments have different strands). 81 ENa_strand GetSeqStrand(TDim row) const; 82 83 /// Convert this alignment to a discontinuous segment 84 CRef<CSeq_align> AsDiscSeg() const; 85 86 private: 87 // Prohibit copy constructor and assignment operator 88 CSpliced_seg(const CSpliced_seg& value); 89 CSpliced_seg& operator=(const CSpliced_seg& value); 90 91 }; 92 93 /////////////////// CSpliced_seg inline methods 94 95 // constructor 96 inline CSpliced_seg(void)97CSpliced_seg::CSpliced_seg(void) 98 { 99 } 100 101 102 /////////////////// end of CSpliced_seg inline methods 103 104 105 END_objects_SCOPE // namespace ncbi::objects:: 106 107 END_NCBI_SCOPE 108 109 110 #endif // OBJECTS_SEQALIGN_SPLICED_SEG_HPP 111 /* Original file checksum: lines: 86, chars: 2460, CRC32: 4b1fdf5 */ 112