This file is indexed.

/usr/include/libGenome-1.3/libGenome/gnFastTranslator.h is in libgenome-1.3-dev 1.3.1-10.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
/////////////////////////////////////////////////////////////////////////////
// File:            gnFastTranslator.h
// Purpose:         Fast translator for all Sequences
// Description:     Caches translations of each possible sequence in a tree
// 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

#ifndef _gnFastTranslator_h_
#define _gnFastTranslator_h_


#include "libGenome/gnDefs.h"

#include <string>
#include <vector>
#include <map>
#include "libGenome/gnClone.h"
#include "libGenome/gnBaseFilter.h"
#include "libGenome/gnTranslator.h"


namespace genome {

class GNDLLEXPORT gnFastTranslator : public gnBaseFilter
{
public:

	static const gnFastTranslator *ProteinDNATranslator();
	static const gnFastTranslator *DNAProteinTranslator();

	enum gnTranslatorType{
		ProteinDNATranslatorType,
		DNAProteinTranslatorType,
	};

	gnFastTranslator();
	gnFastTranslator( gnTranslatorType t_type );
	gnFastTranslator( const gnFastTranslator& sf );
	gnFastTranslator& operator= (const gnFastTranslator& sf);
	gnFastTranslator* Clone() const;
	
	/**
	 * Queries the specified gnTranslator for every possible combination translation
	 * of the characters specified in the inputs std::string.  An input_width may be specified
	 * so that every possible combination of "input_width" characters in "inputs" will be
	 * cached.  This is useful for DNA to protein translations, for example.
	 * @param tranny The gnTranslator to cache.
	 * @param inputs The characters to cache from tranny.
	 * @param input_width The number of characters in each query to make to tranny.
	 */
	virtual void CacheTranslator(const gnTranslator* tranny, std::string inputs, const gnSeqI input_width);

	// gnSeqC 
	virtual gnSeqC Filter( const gnSeqC ch ) const;

	virtual void Filter( gnSeqC** seq, gnSeqI& len ) const;
	// std::string
	virtual void Filter( std::string &seq ) const;

	// Default gnSeqC
	void SetDefaultChar( const gnSeqC ch1 );
	gnSeqC GetDefaultChar() const;
	void UseDefaultChar( const boolean use = true);
	// fill map
	void SetPair( const std::string& ch1, const std::string& ch2 );
	void RemovePair( const std::string& ch );

private:

	void CreateProteinDNATranslator();
	void CreateDNAProteinTranslator();

	//map an input std::string to an output std::string
	std::map<std::string, std::string> m_transCache;
	const gnTranslator * m_translator;
	
	boolean use_default;
	gnSeqC m_defaultChar;
};//class gnFastTranslator

inline
gnFastTranslator* gnFastTranslator::Clone() const
{
	return new gnFastTranslator(*this);
}

inline
void gnFastTranslator::SetDefaultChar( const gnSeqC ch1 )
{
	m_defaultChar = ch1;
	use_default = true;
}
inline
gnSeqC gnFastTranslator::GetDefaultChar() const
{
	return m_defaultChar;
}

inline
void gnFastTranslator::UseDefaultChar(const boolean use)
{
	use_default = use;
}


}	// end namespace genome

#endif // _gnFastTranslator_h_