Mercurial > repos > zzhou > spp_phantompeak
comparison spp/src/BamReader.cpp @ 15:e689b83b0257 draft
Uploaded
author | zzhou |
---|---|
date | Tue, 27 Nov 2012 16:15:21 -0500 |
parents | ce08b0efa3fd |
children |
comparison
equal
deleted
inserted
replaced
14:918fecc1e7bb | 15:e689b83b0257 |
---|---|
1 // *************************************************************************** | |
2 // BamReader.cpp (c) 2009 Derek Barnett, Michael Str�mberg | |
3 // Marth Lab, Department of Biology, Boston College | |
4 // All rights reserved. | |
5 // --------------------------------------------------------------------------- | |
6 // Last modified: 22 November 2010 (DB) | |
7 // --------------------------------------------------------------------------- | |
8 // Provides the basic functionality for reading BAM files | |
9 // *************************************************************************** | |
10 | |
11 #include <BamReader.h> | |
12 #include <BamReader_p.h> | |
13 using namespace BamTools; | |
14 using namespace BamTools::Internal; | |
15 | |
16 #include <algorithm> | |
17 #include <iostream> | |
18 #include <iterator> | |
19 #include <string> | |
20 #include <vector> | |
21 using namespace std; | |
22 | |
23 // constructor | |
24 BamReader::BamReader(void) { | |
25 d = new BamReaderPrivate(this); | |
26 } | |
27 | |
28 // destructor | |
29 BamReader::~BamReader(void) { | |
30 delete d; | |
31 d = 0; | |
32 } | |
33 | |
34 // file operations | |
35 void BamReader::Close(void) { d->Close(); } | |
36 bool BamReader::HasIndex(void) const { return d->HasIndex; } | |
37 bool BamReader::IsIndexLoaded(void) const { return HasIndex(); } | |
38 bool BamReader::IsOpen(void) const { return d->mBGZF.IsOpen; } | |
39 bool BamReader::Jump(int refID, int position) { return d->SetRegion( BamRegion(refID, position) ); } | |
40 bool BamReader::Open(const std::string& filename, | |
41 const std::string& indexFilename, | |
42 const bool lookForIndex, | |
43 const bool preferStandardIndex) | |
44 { | |
45 return d->Open(filename, indexFilename, lookForIndex, preferStandardIndex); | |
46 } | |
47 bool BamReader::Rewind(void) { return d->Rewind(); } | |
48 bool BamReader::SetRegion(const BamRegion& region) { return d->SetRegion(region); } | |
49 bool BamReader::SetRegion(const int& leftRefID, const int& leftBound, const int& rightRefID, const int& rightBound) { | |
50 return d->SetRegion( BamRegion(leftRefID, leftBound, rightRefID, rightBound) ); | |
51 } | |
52 | |
53 // access alignment data | |
54 bool BamReader::GetNextAlignment(BamAlignment& bAlignment) { return d->GetNextAlignment(bAlignment); } | |
55 bool BamReader::GetNextAlignmentCore(BamAlignment& bAlignment) { return d->GetNextAlignmentCore(bAlignment); } | |
56 | |
57 // access auxiliary data | |
58 const string BamReader::GetHeaderText(void) const { return d->GetHeaderText(); } | |
59 int BamReader::GetReferenceCount(void) const { return d->References.size(); } | |
60 const RefVector& BamReader::GetReferenceData(void) const { return d->References; } | |
61 int BamReader::GetReferenceID(const string& refName) const { return d->GetReferenceID(refName); } | |
62 const std::string BamReader::GetFilename(void) const { return d->Filename; } | |
63 | |
64 // index operations | |
65 bool BamReader::CreateIndex(bool useStandardIndex) { return d->CreateIndex(useStandardIndex); } | |
66 void BamReader::SetIndexCacheMode(const BamIndex::BamIndexCacheMode mode) { d->SetIndexCacheMode(mode); } |