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.