Subsections

Overview

SciCraft have 10 different nodes which are divided into 5 categories; edit, filehandler, logic, plot and test. There is also a special purpose node, FunctionNode, which is linked up with the plug-ins. Each of these contains a function which makes us of an external program.

Edit Nodes

Edit Node

The edit node is capable of editing and transforming data in SciCraft. Table 4.1 gives a summary of the EditNode. A detailed description of this node is provided in section 4.3.

Table 4.1: Summary of the EditNode.
Name EditNode
Category Edit
Description Node that can remove one or several rows from a dataset.
Usage An edit node makes use of a command string to edit the data it receives. Its intention in later editions of SciCraft is to make it possible to select data in a plot node and then tell the edit node to remove these elements.
Parameters Command
Input ports commandInput - the enter point for data.
Output ports An exit port for the edited data.


SpreadSheet Node

The spreadsheet node may take several matrices, vectors and scalars on its input port and display them in a spreadsheet. Table 4.2 gives a summary of the SpreadSheet Node, while a more detailed description is presented in section 4.6.


Table 4.2: Summary of the SpreadSheet Node.
Name SpreadSheet Node
Category Edit
Description Node that displays the selected data in a familiar spreadsheet.
Usage View matrices, vectors and scalars in a spreadsheet representation. It is possible to save all the data that is in the spreadsheet to file, and to make selections which may be copied to the clipboard, for pasting it into another application.
Parameters None
Input ports matrices - the entry point for data.
Output ports None


RDissection Node

The RDissection node is used for picking spesific fields from complex R-Objects for further treatment in SciCraft. A summary of the node is to be found in table 4.3, a more detailed description can be found in section 4.4.


Table 4.3: Summary of the RDissection Node.
Name RDissection Node
Category Edit
Description Field picker for complex R-Objects.
Usage Connect input to the RDissection node. Run the diagram. Open the node dialog, and select the wanted fields.
Parameters None
Input ports Data from Input-node reading rdata files.
Output ports Depending on selection.


Gaussdal node

This node is yet highly experimental. Use it at your own risk, and do not expect it to behave as intended. It has basic functionality, but lacks stability and extended functionality. The Gaussdal node takes as input molecule data from a GaussDal database query, and maps the molecules relative to a reference molecule. The node is connected to Octave's Procrustes routine, running this routine on the mapped molecules. A summary of the node is found in table 4.4. A more detailed description can be found in section 4.5.


Table 4.4: Summary of the Gaussdal node.
Name Gaussdal node
Category Edit
Description Molecule mapper for Gaussdal database data.
Parameters Mapping parameters
Input ports Data from Input-node reading Gaussdal files, column names, optional molecule mapping matrix.
Output ports Molecule data, mapping (not implemented yet)


Filehandler nodes

These nodes (table 4.6 and 4.7) are capable of reading and writing plug-in specific files.

File type support

Table 4.5: File type support
Input node Output node
Matlab R
BASE Molecule(PDB)
Octave Octave
R
Molecule(PDB)



Table 4.6: Summary of the InputNode.
Name InputNode
Category FileHandler
Description Node that reads data from a file.
Usage This node is used for retrieving data from a file into a Module Diagram. A file is read and the content in this file is parsed into data which can be used by SciCraft.
Parameters Filename
Input ports None
Output ports One port for each variable in the current file will be added.



Table 4.7: Summary of the OutputNode.
Name OutputNode
Category Filehandlers
Description Node that writes data to a file.
Usage This node is used for writing results calculated by SciCraft to a file. Only file formats supported by SciCraft can be written.
Parameters Filename
Input ports One port for each variable that will be written to the file.
Output ports None


Function nodes

Plugin nodes which executes different functions in an external program, e.g. Octave or R.

Table 4.8: Summary of the Function nodes.
Name FunctionNode
Category None
Description Node responsible for communication with external programs.
Usage This node is used for communication with external programs. SciCraft contains scripts which are used to generate different function nodes. These nodes will then use these scripts to process data through the external program.
Parameters Depending on the type of script the node contains. None of these are meant to be edited by the user.
Input ports One port for each variable needed by the script this node will execute.
Output ports One port for each data element generated by the external program.


Logic nodes

Nodes capable of doing evaluation and acting on the evaluation result. Currently, there are four logic nodes in SciCraft; the BufferNode (table 4.9), the ForNode (table 4.10), the IfNode (table 4.11) and the SelectNode (table 4.12).

Table 4.9: Summary of the BufferNode.
Name BufferNode
Category Logic
Description Node capable of storing multiple datasets.
Usage Used when a user wants to buffer several dataset. This node will save any data coming to the ``data'' input port by appending it to an internal buffer. This list is placed to the output port as soon as data is sent to the ``exit'' input port.
Parameters None
Input ports
data - data received here will be appended to an internal buffer.
exit - when data is coming here, it will be appended to the internal buffer before this list is sent to the output port.
Output ports One port where data is placed when the node stops to receive data.



Table 4.10: Summary of the ForNode.
Name ForNode
Category Logic
Description Node that enables for-loops in a Module Diagram.
Usage Used together with other nodes to create a for-loop.
Parameters step - number of iterations it should do.
Input ports One port where data enters.
Output ports
exit - port where data will be sent when the for-loop is done.
loop - port where data will be sent when the for-loop is not finished.



Table 4.11: Summary of the IfNode.
Name IfNode
Category Logic
Description Node that will be used as an if-statement.
Usage This node will evaluate a python statement given as a parameter. This statement will decide which output port the data will be placed on.
Parameters A python statement. This statement will make use of name on the input port, ``inPort''. An example statement could be inPort[0][0] > 5. Then, if the statement is true, the data will be sent to the true output port and false output port otherwise.
Input ports inPort - the port where data enters.
Output ports
true - data is set here if the statement is evaluated to true.
false - data is set here if the statement is evaluated to false.



Table 4.12: Summary of the SelectNode.
Name SelectNode
Category Logic
Description A node that will select one of two input ports depending on which one of them that receives data first.
Usage This node's task is to send data to the output port when one of the input ports is filled with data. This will be useful in a loop where the first iteration will use data from an input node and in the other iterations use data from a for node.
Parameters None
Input ports One port for one of the possible sources, one port for the other source.
Output ports One port where the data from one of the input sources will be set.


Plot nodes

Nodes capable of showing plots based on data in SciCraft. These nodes are summed up in table 4.13 and detailed coverage of plotting is given in section 2.6.

Table 4.13: Summary of the Plot nodes.
Name PlotNode
Category Plot
Description Node that is used to make plot based on calculated data in the Module Diagram.
Usage This node's task is to show plots bases on data coming in on the plotnode. In later edition of SciCraft it will be possible to select elements in the plot and then send the data and a command to an edit node to remove these elements from the dataset.
Parameters None
Input ports Arbitrarily many ports with input matrices
Output ports In later editions there will be one exit ports where a command string is set. These ports will then be connected with an edit node which will process the current dataset.


Test nodes

This is nodes used for development and testing. A summary of these nodes is found in table 4.14.

Table 4.14: Summary of the test nodes.
Name TestNode
Category Test
Description Node used for testing and should only apply for SciCraft developers.
Usage This node is used for testing purposes only. The data coming in is multiplied, with the value set in the parameter for this node, and sent through to the output port.
Parameters func - the value used when multiplying the data.
Input ports One port where the data enters.
Output ports One port where data is exited.




SciCraft Development Team