1 /* $Id: objcoords.hpp 396144 2013-04-16 19:59:16Z voronov $ 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 * Author: Victor Joukov, Yury Voronov 27 * 28 * File Description: Library to retrieve mapped sequence coordinates of 29 * the feature products given a sequence location 30 * 31 * 32 */ 33 34 #include <objects/seqloc/Seq_id.hpp> 35 // our ASN 36 #include <objects/coords/HGVS_Coordinate.hpp> 37 #include <objects/coords/HGVS_Coordinate_Set.hpp> 38 39 BEGIN_NCBI_SCOPE 40 BEGIN_SCOPE(objects) 41 class CScope; 42 END_SCOPE(objects) 43 44 USING_SCOPE(ncbi); 45 USING_SCOPE(objects); 46 47 48 class CObjectCoords : public CObject 49 { 50 public: 51 // how far to search for features from the pos given 52 static const TSeqPos kSearchWindow = 2000; 53 CObjectCoords(objects::CScope& scope); 54 CRef<CHGVS_Coordinate_Set> GetCoordinates(const CSeq_id& id, TSeqPos pos, TSeqPos window = kSearchWindow); 55 void GetCoordinates(CHGVS_Coordinate_Set& coords, const CSeq_id& id, TSeqPos pos, TSeqPos window = kSearchWindow); 56 57 protected: 58 CRef<objects::CScope> m_Scope; 59 }; 60 61 62 END_NCBI_SCOPE 63