This command provides simple, generic versions of some commonly used major objects (ensembles, reactions, datasets, molfiles, tables, networks) commands. The difference to the object-specific commands is that any major object handle is accepted as object identifier, not just the type of handle associated with the associated specialized object command. Specialized object commands generally implement more powerful commands with additional, usually class-specific options. This command is generally used when different types of objects (such as ensembles and reactions) share a common simple processing path and code duplication for each type of object would be tedious.
It is not possible to create generic major objects without specialization - this is an abstraction.
majorobj delete ?handle?...
Majorobj.Delete(?mrefsequence/mref/handle?,...)
The command returns the number of deleted objects.
majorobj delete $ehandle $xhandle
majorobj dget handle propertylist ?filterset? ?parameterdict?
Standard data manipulation command for reading object data. It is explained in more detail in the section about retrieving property data.
For examples, see the
majorobj get
command. The difference between
majorobj get
and
majorobj dget
is that the latter does not attempt computation of property data, but rather initializes the property values to the default and return that default if the data is not yet available. For data already present,
majorobj get
and
majorobj dget
are equivalent.
A
Python
implementation would not be useful because every major object has a
dget()
method, which can be invoked without exact knowledge of the object class.
majorobj dup handle ?dataset? ?position?
The duplicate object is placed into the same dataset as the source, if it is a member of a dataset. Specifying an explicitly empty dataset argument places the duplicate outside any dataset, regardless of the dataset membership of the source object.
If the duplicate is moved to a dataset, it is appended to the dataset end by default. This happens also if the position parameter is explicitly specified as end or an empty string. Otherwise, the object is inserted at the given position, starting with 0. If the requested position is larger than the current size of the dataset, the object is appended.
A
Python
implementation would not be useful because every major object has a
dup()
method, which can be invoked without exact knowledge of the object class.
majorobj dup $handle
majorobj exists handle ?filterlist?
Check whether a handle is valid. The command returns boolean 0 or 1. Optionally, the object may be filtered by a standard filter list, and if it does not pass the filter, it is reported as not valid.
A
Python
implementation would not be useful because every major object has a
exists()
method, which can be invoked without exact knowledge of the object class.
majorobj exists $handle
majorobj get handle propertylist ?filterset? ?parameterdict?
majorobj get handle attribute
Standard data manipulation command for reading object data. It is explained in more detail in the section about retrieving property data.
For the use of the optional property parameter list argument, refer to the documentation of the
ens get
command.
Variants of the
majorobj get
command are
majorobj new, majorobj dget, majorobj jget, majorobj jnew, majorobj jshow, majorobj nget, majorobj show, majorobj sqldget, majorobj sqlget, majorobj sqlnew,
and
majorobj sqlshow
.
In addition to property data, all major objects possess a few common attributes, which can be retrieved with the
get
command (but not by its related sister subcommands like
dget, sqlget,
etc.). Object-specific attributes can only be retrieved via the object-specific access commands. The common attributes are:
majorobj delete
command. This attribute is read-only. Object which are, for example, property data values or a part of a
molfile loop
command cannot be deleted by standard means.
::cactvs(object_scope)
is also set, the network object is visible only in the
Tcl
interpreter which set the scope flag and thus claimed it. Object list commands executed in other interpreters omit this object, and attempts to decode its handle in other interpreters will fail. The most common use of this feature is the hiding of persistent chemistry objects in scripted property computation functions.
A
Python
implementation would not be useful because every major object has a
get()
method, which can be invoked without exact knowledge of the object class.
majorobj hadd handle
Add a standard set of hydrogens to the object, if applicable (ensembles, reaction, datasets). The command returns the total number of hydrogens added. This command version has less options than the class-specific variants.
A
Python
implementation would not be useful because all applicable major objects have a
hadd()
method, which can be invoked without exact knowledge of the object class.
majorobj hdup handle ?dataset? ?position?
This command is the same as
majorobj dup
, except that a full set of hydrogens is added to the duplicated objects if applicable (ensembles, reactions, datasets).
A
Python
implementation would not be useful because all applicable major objects have a
hdup()
method, which can be invoked without exact knowledge of the object class.
majorobj hstrip handle ?flags?
This command removes hydrogens from all applicable objects (ensembles, reactions, datasets). By default, all hydrogen atoms on the object are removed.
The flags parameter can be used to make the operation more selective. It may be a list of the following flags:
atom hstrip
commandIf the flags parameter is an empty string, or none , it is ignored. The default flag value is wedgetransfer - but the default value is overridden if any flags are set!
The return value is the total number of hydrogens deleted.
A
Python
implementation would not be useful because all applicable major objects have a
hstrip()
method, which can be invoked without exact knowledge of the object class.
majorobj jget handle propertylist ?filterset? ?parameterdict?
This is a variant of
majorobj get
which returns the result data as a
JSON
formatted string instead of
Tcl
or
Python
interpreter objects. The command is usable only for property data, not attribute retrieval.
A
Python
implementation would not be useful because every major object has a
jget()
method, which can be invoked without exact knowledge of the object class.
majorobj jnew handle propertylist ?filterset? ?parameterdict?
This is a variant of
majorobj new
which returns the result data as a
JSON
formatted string instead of
Tcl
or
Python
interpreter objects.
A
Python
implementation would not be useful because every major object has a
jnew()
method, which can be invoked without exact knowledge of the object class.
majorobj jshow handle propertylist ?filterset? ?parameterdict?
This is a variant of
majorobj show
which returns the result data as a
JSON
formatted string instead of
Tcl
or
Python
interpreter objects.
A
Python
implementation would not be useful because every major object has a
jshow()
method, which can be invoked without exact knowledge of the object class.
majorobj ldup ?handlelist?...
Majorobj.ldup(?mref/mrefsequence/handle?,...)
Duplicate all objects in the handle list(s) in default mode.
The return value is a single list (even if multiple source lists are used) of the duplicated object handles or references. If an argument list element is an empty string (or
None
for
Python
), it indicates a missing object, and the output list also receives an empty string (or
None
) element at its position, without raising an error.
majorobj lhdup ?handlelist?...
Majorobj.lhdup(?mref/mrefsequence/handle?,...)
Duplicate all objects in the handle list(s) in default mode, and add hydrogens if applicable (ensembles, reactions, datasets).
The return value is a single list (even if multiple source lists are used) of the duplicated object handles. If an argument list element is an empty string (or
None
for
Python
), it indicates a missing object, and the output list also receives an empty string (or
None
) element at its position, without raising an error.
majorobj new handle propertylist ?filterset? ?parameterdict?
Standard data manipulation command for reading object data. It is explained in more detail in the section about retrieving property data.
For examples, see the
majorobj get
command. The difference between
majorobj get
and
majorobj new
is that the latter forces the re-computation of the property data, regardless whether it is present and valid, or not.
A
Python
implementation would not be useful because every major object has a
new()
method, which can be invoked without exact knowledge of the object class.
majorobj nget handle propertylist ?filterset? ?parameterdict?
Standard data manipulation command for reading object data. It is explained in more detail in the section about retrieving property data.
For examples, see the
majorobj get
command. The difference between
majorobj get
and
majorobj nget
is that the latter always returns numeric data, even if symbolic names for the values are available.
A
Python
implementation would not be useful because every major object has a
nget()
method, which can be invoked without exact knowledge of the object class.
majorobj nget handle propertylist ?filterset? ?parameterdict?
Standard data manipulation command for reading object data. It is explained in more detail in the section about retrieving property data.
For examples, see the
majorobj get
command. The difference between
majorobj get
and
majorobj nget
is that the latter always returns numeric data, even if symbolic names for the values are available.
For examples, see the
majorobj get
command. The difference between
majorobj get
and
majorobj nnew
is that the latter always returns numeric data, even if symbolic names for the values are available, and that property data re-computation is enforced.
A
Python
implementation would not be useful because every major object has a
nnew()
method, which can be invoked without exact knowledge of the object class.
majorobj show handle propertylist ?filterset? ?parameterdict?
Standard data manipulation command for reading object data. It is explained in more detail in the section about retrieving property data.
For examples, see the
majorobj get
command. The difference between
majorobnj get
and
majorobj show
is that the latter does not attempt computation of property data, but raises an error if the data is not present and valid. For data already present,
majorobj get
and
majorobj show
are equivalent.
A
Python
implementation would not be useful because every major object has a
show()
method, which can be invoked without exact knowledge of the object class.
majorobj sqldget nhandle propertylist ?filterset? ?parameterdict?
Standard data manipulation command for reading object data. It is explained in more detail in the section about retrieving property data.
For examples, see the
majorobj get
command. The differences between
majorobj get
and
majorobj sqldget
are that the latter does not attempt computation of property data, but initializes the property value to the default and returns that default, if the data is not present and valid; and that the
SQL
command variant formats the data as
SQL
values rather than for
Tcl
or
Python
script processing.
A
Python
implementation would not be useful because every major object has a
sqldget()
method, which can be invoked without exact knowledge of the object class.
majorobj sqlget nhandle propertylist ?filterset? ?parameterdict?
Standard data manipulation command for reading object data. It is explained in more detail in the section about retrieving property data.
For examples, see the
majorobj get
command. The difference between
majorobj get
and
majorobj sqlget
is that the
SQL
command variant formats the data as
SQL
values rather than for
Tcl
or
Python
script processing.
A
Python
implementation would not be useful because every major object has a
sqlget()
method, which can be invoked without exact knowledge of the object class.
majorobj sqlnew nhandle propertylist ?filterset? ?parameterdict?
Standard data manipulation command for reading object data. It is explained in more detail in the section about retrieving property data.
For examples, see the
majorobj get
command. The differences between
majorobj get
and
majorobj sqlnew
are that the latter forces re-computation of the property data, and that the
SQL
command variant formats the data as
SQL
values rather than for
Tcl
or
Python
script processing.
A
Python
implementation would not be useful because every major object has a
sqlnew()
method, which can be invoked without exact knowledge of the object class.
majorobj sqlshow nhandle propertylist ?filterset? ?parameterdict?
Standard data manipulation command for reading object data. It is explained in more detail in the section about retrieving property data.
For examples, see the
majorobj get
command. The differences between
majorobj get
and
majorobj sqlshow
are that the latter does not attempt computation of property data, but raises an error if the data is not present and valid, and that the
SQL
command variant formats the data as
SQL
values rather than for
Tcl
or
Python
script processing.
A
Python
implementation would not be useful because every major object has a
sqlshow()
method, which can be invoked without exact knowledge of the object class.
majorobj subcommands
dir(Majorobj)
List all currently implemented subcommands of this command.
The Python version is somewhat misleading, because it also lists methods which are implemented in a generic fashion for all major objects and then inherited by specialized classes.
majorobj valid handle propertylist
Returns a list of boolean values indicating whether values for the named properties are currently set for the object. No attempt at computation is made.
majorobj has
is an alias to this command.
A
Python
implementation would not be useful because every major object has a
valid()
method, which can be invoked without exact knowledge of the object class.