File: gnFileContig.cpp

package info (click to toggle)
libgenome 1.3.11%2Bsvn20110227.4616-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 916 kB
  • sloc: cpp: 11,120; makefile: 79; sh: 31
file content (89 lines) | stat: -rw-r--r-- 2,079 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
/////////////////////////////////////////////////////////////////////////////
// File:            gnFileContig.h
// Purpose:         File Position holder.
// Description:     
// Changes:        
// Version:         libGenome 0.5.1 
// Author:          Aaron Darling 
// Modified by:     
// Copyright:       (c) Aaron Darling 
// Licenses:        See COPYING file for details
/////////////////////////////////////////////////////////////////////////////
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif

#include "libGenome/gnFileContig.h"
#include <iostream>


using namespace std;
namespace genome {


gnFileContig::gnFileContig()
{
	Clear();
}
gnFileContig::gnFileContig( string nameStr, const uint64 s, const uint64 e )
{
	Clear();
	m_name = nameStr;
	m_fileStartEnd.first = s;
	m_fileStartEnd.second = e;
}
gnFileContig::gnFileContig( const gnFileContig& fc )
{
	m_name = fc.m_name;
	m_seqLength = fc.m_seqLength;
	m_fileStartEnd = fc.m_fileStartEnd;
	for( uint32 i=0; i < CONTIG_SECTION_SIZE; ++i )
		m_startEndArray[i] = fc.m_startEndArray[i];
	m_repeatSeqGap = fc.m_repeatSeqGap;
	m_repeatSeqGapSize = fc.m_repeatSeqGapSize;
}
gnFileContig::~gnFileContig()
{
}
void gnFileContig::Clear()
{
	m_name = "";
	m_seqLength = 0;
	m_fileStartEnd = pair<uint64,uint64>(0,0);
	for( uint32 i=0; i < CONTIG_SECTION_SIZE; ++i )
		m_startEndArray[i] = pair<uint64,uint64>(0,0);
	m_repeatSeqGap = false;
	m_repeatSeqGapSize = pair<uint64,uint64>(0,0);
}

boolean gnFileContig::SetRepeatSeqSize( const uint64 seqSize )
{
	if( !m_repeatSeqGap )
		return false;
	if( m_repeatSeqGapSize.first == seqSize )
		return true;
	if( m_repeatSeqGapSize.first == 0 )
	{
		m_repeatSeqGapSize.first = seqSize;
		return true;
	}
	m_repeatSeqGap = false;
	return false;
}
boolean gnFileContig::SetRepeatGapSize( const uint64 gapSize )
{
	if( !m_repeatSeqGap )
		return false;
	if( m_repeatSeqGapSize.second == gapSize )
		return true;
	if( m_repeatSeqGapSize.second == 0 )
	{
		m_repeatSeqGapSize.second = gapSize;
		return true;
	}
	m_repeatSeqGap = false;
	return false;
}

}	// end namespace genome