# `class pdb.PdbResidue extends ResidueBase`

Available on all platforms

Container of a residue in pdb file. Non-amino acid molecules such as waters, co-factors, lipids are considered as residues.

## Instance Fields

### `var atoms:Map<String, PdbAtom>`

atoms in this residue, where the map key is the name of the atom.

### `var rama:RamaAngles`

phi and psi angle information

### `var secondary:Int`

secondary structure type. See `SecondaryType.hx` for the meaning of the values.

### `function new(n:String, i:Int, isnt:Bool, isct:Bool, sec:Int):Void`

Constructor.

- n: residue name
- i: residue index
- isnt: is this residue the N-terminal?
- isct: is this residue the C-terminal?
- sec: seondary structure type (see SecondaryType.hx)

### `function addAtom(a:PdbAtom):Void`

add an atom to this residue

### `function clearAtoms():Void`

remove all atoms from this residue

### `function genH(r:PdbResidue):Void`

generate "H" atom, which binds to backbone "N" atom. the parameter c corresponds to the position of "C" atom in the previous residue. thus, "H" atom never be created for first residue

### `function genHatom(a:PdbAtom):Void`

add H atom which binds to backbone N using C atom of adjacent residue given by `a`

### `function genHpos(c:Point3D):Void`

generate H atom; generated atom is automatically registered in this instance

### `function genPoint():String`

write position of alpha-carbon, "CA" in POINT element of WMXML xml.

### `function getAtom(a:String):PdbAtom`

get atom of name `a` from this residue

### `function get_atoms():Map<String, PdbAtom>`

getter of `atoms`

### `function get_rama():RamaAngles`

getter of `rama`

### `function get_secondary():Int`

gettter of `secondary`

### `function isAmino():Bool`

returns whether this residue is amino acids or not

### `function set_secondary(s:Int):Int`

settter of `secondary`