This file is indexed.

/usr/include/BALL/STRUCTURE/rotamerLibrary.h is in libball1.4-dev 1.4.1+20111206-3.

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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
// -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
//

#ifndef BALL_STRUCTURE_ROTAMERLIBRARY_H
#define BALL_STRUCTURE_ROTAMERLIBRARY_H

#ifndef BALL_STRUCTURE_FRAGMENT_DB_H
#	include <BALL/STRUCTURE/fragmentDB.h>
#endif

#ifndef BALL_STRUCTURE_RESIDUEROTAMERSET_H
 #include <BALL/STRUCTURE/residueRotamerSet.h>
#endif

#ifndef BALL_DATATYPE_HASHMAP_H
	#include <BALL/DATATYPE/hasMap.h>
#endif

//#include <map>

namespace BALL
{
	class FragmentDB;
	class String;

	/** @brief Rotamer Library Class.
		
		\ingroup StructureRotamers
		A rotamer library contains a list of possible rotamers
		for each of the 18 amino acid side chains (GLY and ALA do not have rotamers). 
	*/
	class BALL_EXPORT RotamerLibrary
	{
		public:

		BALL_CREATE(RotamerLibrary)

    /** @name String constants
     */
    //@{

    /// Rotamer library used when calling the default constructor
    static const String DEFAULT_LIBRARY;

    /// Fragment DB used when calling the default constructor
    static const String DEFAULT_FRAGMENT_DB;
    //@}

		/**	@name	Constructors and Destructors
		*/
		//@{
		/**	Default constructor.
        Uses rotamer library <tt>RotamerLibrary::DEFAULT_LIBRARY</tt> and 
        fragment db <tt>RotamerLibrary::DEFAULT_FRAGMENT_DB</tt>.
		*/
		RotamerLibrary() ;

		///	Detailed constructor, provided for convenience
		RotamerLibrary(const String& filename, const FragmentDB& fragment_db) ;

		/// Detailed constructor
		RotamerLibrary(const FragmentDB& fragment_db) ;

		///	Copy constructor
		RotamerLibrary(const RotamerLibrary& library) ;

		///	Destructor
		virtual ~RotamerLibrary();
		//@}

		/**	@name Assignment
		*/
		//@{
		///	Assignment operator
		RotamerLibrary& operator = (const RotamerLibrary& rhs);
		//@}
			

		/**	@name Accessors
		*/
		//@{
		/// Return the residue set of the residue name.
		ResidueRotamerSet* getRotamerSet(const String& name);

		/// Return the residue set of the given name and torsions.
		ResidueRotamerSet* getRotamerSet(const String& name, float phi, float psi);

		/// Return the residue set of the given residue.
		ResidueRotamerSet* getRotamerSet(const Residue& residue);

		/// Return total number of rotamers.
		Size getNumberOfRotamers() const;

		/// Return the number of rotamers of the residue with the name.
		Size getNumberOfRotamers(const String& name) const;

		/// returns the number of rotamer sets
		Size getNumberOfRotamerSets() const;

		/// adds rotamer with specific phi/psi backbone torsion
		void addRotamer(const String& name, const Rotamer& rotamer, Size number_of_torsions, Index phi, Index psi);

		/// adds a rotamer with name
		void addRotamer(const String& name, const Rotamer& rotamer, Size number_of_torsions);

		/// returns true if the rotamers are backbone dependent
		bool isBackboneDependent() const;

		/// sets whether the rotamers are backbone dependent or not
		void setBackboneDependent(bool dependent);

		/// returns true if the library contains rotamers with this name
		bool hasRotamers(const String& name) const;

		/// method to test the validity of this library, typically called after the building (see SCWRLLibraryFile)
		bool validate();

		/// method to sort the Rotamers of each ResidueRotamerSet descendingly according to the probability
		void sort();

    /** Clear rotamer library.
        Removes all rotamers and sets library to backbone independent.
     */
    void clear();
		//@}

		protected:

		/** @name Protected Attributes
		*/
		//@{
		/// Contains the available variants (phi, psi, name, rotamer set) in case of bb dep
		HashMap<Index, HashMap<Index, HashMap<String, ResidueRotamerSet> > > bb_dep_sets_;
	
		/// Contains the available variants (name, rotamer set) in case of bb indep
		HashMap<String, ResidueRotamerSet> bb_indep_sets_;

		/// 
		Index getNearestBackboneTorsion_(double angle) const;

		/// discretization step width of the torsion angles
		Size step_width_;

		/// fragment db used in this class
		FragmentDB fragment_db_;

		/// flag which is true when the library has backbone dependent rotamers
		bool backbone_dependent_;
		//@}
	};

} // namespace BALL

#endif // BALL_STRUCTURE_ROTAMERLIBRARY_H