chfl_residue
type¶
- type chfl_residue¶
A
chfl_residue
is a group of atoms belonging to the same logical unit. They can be small molecules, amino-acids in a protein, monomers in polymers, etc.- Type fields:
% init [subroutine] ::
chfl_residue%init()
% copy [subroutine] ::
chfl_residue%copy()
% name [function] ::
chfl_residue%name()
% id [function] ::
chfl_residue%id()
% atoms_count [function] ::
chfl_residue%atoms_count()
% add_atom [subroutine] ::
chfl_residue%add_atom()
% contains [function] ::
chfl_residue%contains()
% atoms [subroutine] ::
chfl_residue%atoms()
% set [subroutine] ::
chfl_residue%set()
% get [function] ::
chfl_residue%get()
% properties_count [function] ::
chfl_residue%properties_count()
% list_properties [subroutine] ::
chfl_residue%list_properties()
% free [subroutine] ::
chfl_residue%free()
- subroutine chfl_residue%init(name[, id, status])¶
Initialize the residue with a new residue with the given
name
and optional residueid
. This subroutine allocate memory which must be released withchfl_residue%free()
.- Parameters:
name [character(len=*)] :: residue name
- Options:
id [integer] :: residue id
status [integer(chfl_status)] :: status code of the operation. If it is not
CHFL_SUCCESS
, usechfl_last_error()
to learn more about the error.
- subroutine chfl_residue%copy(residue[, status])¶
Initialize this residue with a copy of
residue
. This subroutine allocate memory which must be released withchfl_residue%free()
.- Parameters:
residue [type(chfl_residue)] :: residue to copy
- Options:
status [integer(chfl_status)] :: status code of the operation. If it is not
CHFL_SUCCESS
, usechfl_last_error()
to learn more about the error.
- function chfl_residue%name([status])¶
Get the name of the residue. If the name is longer than
CHFL_STRING_LENGTH
, it will be truncated.- Return:
character (len=CHFL_STRING_LENGTH)
- Options:
status [integer(chfl_status)] :: status code of the operation. If it is not
CHFL_SUCCESS
, usechfl_last_error()
to learn more about the error.
- function chfl_residue%id([status])¶
Get the residue id. If the residue do not have an id,
status
is set toCHFL_GENERIC_ERROR
, and no value is returned.- Return:
integer
- Options:
status [integer(chfl_status)] :: status code of the operation. If it is not
CHFL_SUCCESS
, usechfl_last_error()
to learn more about the error.
- function chfl_residue%atoms_count([status])¶
Get the number of atoms in the residue.
- Return:
integer
- Options:
status [integer(chfl_status)] :: status code of the operation. If it is not
CHFL_SUCCESS
, usechfl_last_error()
to learn more about the error.
- subroutine chfl_residue%add_atom(index[, status])¶
Add the atom at the given
index
in the residue.- Parameters:
index [integer] :: index of the atom to add
- Options:
status [integer(chfl_status)] :: status code of the operation. If it is not
CHFL_SUCCESS
, usechfl_last_error()
to learn more about the error.
- function chfl_residue%contains(index[, status])¶
Check if the atom at the given
index
is in the residue.- Return:
logical
- Parameters:
index [integer] :: index of the atom
- Options:
status [integer(chfl_status)] :: status code of the operation. If it is not
CHFL_SUCCESS
, usechfl_last_error()
to learn more about the error.
- subroutine chfl_residue%atoms(data[, status])¶
Get the list of atoms in the topology in the pre-allocated array
data
of sizechfl_residue%atoms_count()
.- Parameters:
data [integer,dimension(:)] :: array to be filled with the indexes of atoms in the residue
- Options:
status [integer(chfl_status)] :: status code of the operation. If it is not
CHFL_SUCCESS
, usechfl_last_error()
to learn more about the error.
- subroutine chfl_residue%set(name, property[, status])¶
Add a new
property
with the givenname
to this residue.If a property with the same name already exists, this function override the existing property with the new one.
property
can either be achfl_property
, or any value that can be stored in achfl_property
: logical, real, string, or vector3d.- Parameters:
name [character(len=*)] :: property name
property [type(chfl_property)] :: the new property
- Options:
status [integer(chfl_status)] :: status code of the operation. If it is not
CHFL_SUCCESS
, usechfl_last_error()
to learn more about the error.
- function chfl_residue%get(name[, status])¶
Get a copy of the property with the given
name
in this residue. If no property exist with this name,status
will be set toCHFL_PROPERTY_ERROR
.The associated memory must be released by calling
chfl_property%free()
.- Return:
type (chfl_property)
- Parameters:
name [character(len=*)] :: property name
- Options:
status [integer(chfl_status)] :: status code of the operation. If it is not
CHFL_SUCCESS
, usechfl_last_error()
to learn more about the error.
- function chfl_residue%properties_count([status])¶
Get the number of properties in this residue.
- Return:
integer
- Options:
status [integer(chfl_status)] :: status code of the operation. If it is not
CHFL_SUCCESS
, usechfl_last_error()
to learn more about the error.
- subroutine chfl_residue%list_properties(names[, status])¶
Fill the pre-allocated array
names
with the names of the properties in this residue. The array must have room forchfl_residue%properties_count()
values of typecharacter(len=CHFL_STRING_LENGTH)
.- Return:
integer
- Parameters:
names (:) [character(len=CHFL_STRING_LENGTH)] :: list of properties names
- Options:
status [integer(chfl_status)] :: status code of the operation. If it is not
CHFL_SUCCESS
, usechfl_last_error()
to learn more about the error.
- subroutine chfl_residue%free()¶
Destroy a residue, and free the associated memory