schrodinger.infra.table module

A pythonic wrapper to an mmlibs mmtable object.

Note that column and row indices start at 1.

Copyright Schrodinger, LLC. All rights reserved.

class schrodinger.infra.table.TableRow(table, row)

Bases: object

This class represents a table row–what you get by indexing a Table.

Note that a TableRow should not outlive its corresponding Table.

__init__(table, row)

Construct a Table Row for the given table handle and row number

class schrodinger.infra.table.Table(table_file='', table_handle=None, manage=True)

Bases: schrodinger.infra.mmobject.MmObject

Class to handle mmtables. This is largely a wrapper to the underlying C library which stores all the state information.

static setDebug(state)

Enable or disable debug output. Use False or True. Sets this for the class, i.e. affects all instances, current and future.

static initialize(error_handler=None)

Initialize necessary mmlibs (which will also implicitly initialize all the dependent mmlibs)

static terminate()

Terminate various mmlibs (which also implicitly terminates all the libraries they are dependent upon)

__init__(table_file='', table_handle=None, manage=True)

Construct a Table class object either by reading a table file or using a handle to an existing mmtable.

If a table file is given via table_file, then we read the given mmtable file. If a table handle for an existing table is passed in (via the table_handle argument), then we use that. If neither are given, then we create a new table object owned by this table. Specifying both is an error.

Passing in a table file causes manage=True. When a managed instance goes out of scope or is deleted, garbage collection is performed. One side effect is that the table is deleted.

Passing in a table handle causes manage=False. When a non-managed instance goes out of scope or is deleted the table is left around.

__len__()

Return the number of rows in the table

cellClearData(row, column)

Clears any data in the given cell

cellHasData(row, column)

Indicates whether or not the given cell has data

columnGetDataName(column)

Returns the data name for the given column

columnGetDataType(column)

Returns the data type for the given column

Possibilities are: mm.M2IO_BOOLEAN_TYPE, mm.M2IO_INT_TYPE, mm.M2IO_REAL_TYPE, or mm.M2IO_STRING_TYPE

columnGetName(column)

Returns the user name for the given column

columnGetPersistent(column)

Returns whether or not the given column is persistent. Only persistent columns will be written to disk.

columnGetProperty(column, prop)

Returns the value of the given property for the column

columnGetVisible(column)

Returns the visible property for the given column

columnGetWidth(column)

Returns the width in characters of the given column

columnSetName(column, name)

Sets the user name for the given column

columnSetPersistent(column, persistent)

Sets whether or not the given row is persistent. Only persistent columns will be written to disk.

columnSetProperty(column, prop, value)

Sets the value of the given property for the column

columnSetVisible(column, visible)

Sets the visible property for the given column

columnSetWidth(column, width)

Sets the width in characters for the given column

deleteAllRows()

Deletes all rows from the table

deleteColumn(column)

Delets the given column

deleteRow(row)

Deletes the given row

getColumnIndex(name)

Returns the column index for the given user or data name

getColumnNames()

Return a list of the column data names in this table

getColumnTotal()

Returns the number of columns in the table

getFirstSelectedRow()

Returns the first selected row–throws an error if no rows are selected.

getOrAddColumn(name, visible)

Finds or adds the given column via data name.

visible indicates whether or not the column should be visible if it is added.

getSelectedRows()

Returns a bitset containing the selected rows

getSelectedRowTotal()

Return the total number of selected rows

getVisibleColumnTotal()

Returns the number of visible columns

getVisibleColumnIndex(column)

Converts an index from the visible columns into the full set of columns

getVisibleRowIndex(row)

Converts an index from the visible rows into the full set of rows

getVisibleRowTotal()

Returns the number of visible rows

insertColumn(column, name)

Adds the given column before the specified column. Specify column 1 to insert at the far left of the table (first column) Specify mm.MMTABLE_END to add to the right of the table

insertRow(row, file_index)

Adds a row.

Set row to 1 to insert at the top of the table or mm.MMTABLE_END to add to the bottom of the table.

If the table has an M2IO_DATA_FILE_INDEX column, the cell’s value will be set to file_index (if file_index != 0), or to a unique value if file_index == 0.

isRowSelected(row)

Returns True if the given row is selected, or False otherwise

keys()

Returns the column data names

makeNestedRowVisible(row)

Expands and makes visible all parents of the given row. Also makes the given row visible, but does not expand it.

moveColumn(from_column, to_column)

Moves the given column to the destination column

moveRows(from_rows, to_row)

Moves the given rows to the destination row

rowGetExpanded(row)

Indicates whether or not the given row is expanded

rowGetVisible(row)

Returns the visible property for the given row

rowSetExpanded(row, expanded)

Sets the expanded property for the given row. The row can also be set to mm.MMTABLE_ALL_ROWS.

rowSetVisible(row, visible)

Sets the visible property for the given row. The row can also be set to mm.MMTABLE_ALL_ROWS.

selectAddRows(rows)

This function selects the given rows without deselecting any other rows.

selectRows(rows)

This function selects only the given rows.

sortRows(column, ascending)

Sorts the rows by the given column in either ascending or descending order

unselectRows(rows)

This function unselects the given rows