<?xml version="1.0" encoding="UTF-8"?>
<sci:data xmlns:sci="http://www.SciTegic.com/" object="SciTegic.Protocol.1" format="8.0.0">
	<sci:dbitem>
		<sci:component name="paper" version="2">
			<sci:arg name="Tempfiles" type="StringType" required="false" visibility="visible" multi="false" uimpl="true">
				<sci:help>&lt;p&gt;A comma delimited list of global properties, each of which will automatically hold the name of a file in the job&apos;s temporary folder, whose name is guaranteed to be unique.&lt;/p&gt;

&lt;p&gt;For each global name, an additional global is created (with the suffix &lt;i&gt;_Filename&lt;/i&gt;) that hold just the leaf file name of the temporary file.&lt;/p&gt;</sci:help>
			</sci:arg>
			<sci:arg name="DeclareGlobal" type="StringType" required="false" visibility="visible" multi="false" uimpl="true">
				<sci:help>&lt;p&gt;Lists a set of properties (without the @) to create on the global property list for this protocol. Such properties can be accessed within the scope of this protocol and its descendent subprotocols.&lt;p/&gt;

&lt;p&gt;It is best practice to declare all global properties before use. Indeed, this practice is enforced in some contexts.&lt;/p&gt;

&lt;dl&gt;
&lt;dt&gt;&lt;b&gt;When a global property needs to be scoped to the whole protocol:&lt;/b&gt;&lt;/dt&gt;
&lt;dd&gt;List the new global property in the &lt;i&gt;DeclareGlobal&lt;/i&gt; parameter at the protocol level.&lt;/dd&gt;
&lt;br/&gt;
&lt;dt&gt;&lt;b&gt;To limit a global property to a subprotocol scope:&lt;/b&gt;&lt;/dt&gt;
&lt;dd&gt;List the property in the subprotocol&apos;s &lt;i&gt;DeclareLocal&lt;/i&gt; parameter.&lt;/dd&gt;

&lt;p&gt;This example declares 2 global properties:&lt;/p&gt;
&lt;pre&gt;
    g_tokenHash,g_assayIdentifier
&lt;/pre&gt;

&lt;p&gt;
To initialize the declared global value with a scalar value, use the syntax:
&lt;/p&gt;

&lt;p&gt;
&lt;i&gt;property-name&lt;/i&gt; := &lt;i&gt;value&lt;/i&gt;
&lt;/p&gt;
&lt;p&gt;
You can surround text string values with quotes to aid clarity. Values of &lt;code&gt;true&lt;/code&gt; and &lt;code&gt;false&lt;/code&gt; are handled as boolean values.
&lt;/p&gt;
&lt;p&gt;This example declares 3 global properties, and sets initial values on two of them:&lt;/p&gt;
&lt;pre&gt;
    g_counter := 0, g_location, g_geography:=&quot;APAC&quot;
&lt;/pre&gt;</sci:help>
			</sci:arg>
			<sci:arg name="Protocol Form" type="ProtocolType" required="false" visibility="visible" multi="false" uimpl="true">
				<sci:help>&lt;p&gt;The path to a protocol that will render an HTML user interface for this protocol.  This optional parameter is used by Web Port to provide a custom user interface for a protocol.&lt;/p&gt;</sci:help>
			</sci:arg>
			<sci:arg name="Advanced Options" type="GroupType" required="false" visibility="visible" multi="false" expanded="true" legalvalsenforced="false" uimpl="true">
				<sci:member>__PoolID</sci:member>
				<sci:member>Http Cookie Handling</sci:member>
				<sci:member>__NotificationProtocol</sci:member>
			</sci:arg>
			<sci:arg name="__PoolID" type="StringType" required="false" visibility="visible" multi="false" uimpl="true">
				<sci:help>&lt;p&gt;&lt;i&gt;__PoolID&lt;/i&gt; is a case insensitive string that can optionally be set to optimize the speed of execution for quick running protocols.  Multiple protocols with the same value for &lt;i&gt;__PoolID&lt;/i&gt; can share expensive resources such as database connections, Java VMs, memory, etc. reducing the execution time by 1 to 2 seconds per run.  This can give a large speed improvement to protocols that run in a few seconds such as web applications and interactive reports.  Longer running protocols will not see much benefit.  Generally, it is a good idea to use the same &lt;i&gt;__PoolID&lt;/i&gt; for all protocols within a single application such as an interactive report since many of the components, databases, and data structures will be similar.&lt;/p&gt;

&lt;p&gt;&lt;i&gt;__PoolID&lt;/i&gt; can also be specified by the client when the protocol is launched.  If &lt;i&gt;__PoolID&lt;/i&gt; is specified both as a parameter by the client and as a parameter stored within the protocol, the client&apos;s value overrides the stored value.&lt;/p&gt;

&lt;p&gt;To disable pooling entirely for this particular protocol, set &lt;i&gt;__PoolID&lt;/i&gt; to &lt;b&gt;&amp;lt;Disable&amp;gt;&lt;/b&gt;&lt;/p&gt;</sci:help>
			</sci:arg>
			<sci:arg name="Http Cookie Handling" type="StringType" required="false" visibility="visible" multi="false" uimpl="true">
				<sci:help>&lt;p&gt;&lt;i&gt;Http Cookie Handling&lt;/i&gt; provides a mechanism to control the handling of Http cookies within components that access remote resources via Http and Https.  These include the &lt;a href=&quot;javascript:DoLink(&apos;{8A25024A-C274-485B-BB99-8570DCC4C075}&apos;)&quot;&gt;HTTP Connector&lt;/a&gt;, Data readers such as &lt;a href=&quot;javascript:DoLink(&apos;{8056E8AD-33EA-42BB-9099-EAB24C3D08E6}&apos;)&quot;&gt;Text Reader&lt;/a&gt;, &lt;a href=&quot;javascript:DoLink(&apos;{93C4D73F-0B4D-03F4-B0E3-D82C4FE04C6F}&apos;)&quot;&gt;XML Reader (Generic)&lt;/a&gt;, etc., and custom Java, Perl, and .Net components that use the available APIs for accessing remote servers.  By default, New Protocols will have this setting enabled and set to &quot;Protocol Scope&quot;.  This means that Http cookies obtained from a remote server within any component in the protocol or any of its subprotocols will be parsed and appropriately sent back on subsequent requests from the same component or any other component.   The handling of the cookies is based on the IETF standard as specified in &lt;a href=&quot;javascript:DoLink(&apos;http://tools.ietf.org/html/rfc6265&apos;)&quot;&gt;http://tools.ietf.org/html/rfc6265&lt;/a&gt;.  Setting the parameter to Disabled will prevent components from parsing and returning cookies to the remote servers.&lt;/p&gt;

&lt;p&gt;Persistence of cookies is not supported, so scoping of Http cookies is entirely within the context of a single protocol execution.&lt;/p&gt;

&lt;p&gt;Older protocols that do not have the &lt;i&gt;Http Cookie Handling&lt;/i&gt; parameter will behave as though it had been set to &quot;Disabled&quot;.  To enable cookie handling in these protocols, copy this parameter from a New Protocol to the older protocol and set the parameter as desired.&lt;/p&gt;</sci:help>
				<sci:legalval selected="true">Protocol Scoped</sci:legalval>
				<sci:legalval>Disabled</sci:legalval>
			</sci:arg>
			<sci:arg name="__NotificationProtocol" type="StringType" required="false" visibility="visible" multi="false" uimpl="true">
				<sci:help>&lt;p&gt;&lt;i&gt;__NotificationProtocol&lt;/i&gt; specifies the name or component ID (guid) of a protocol stored in the server&apos;s protocol database that will be executed when the current job completes. If your administrator has enabled notification protocols and depending on his or her preference, the notify protocol will either run as the anonymous user or as an admin specified user. The notification protocol receives several parameters that contain information about the original job:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;i&gt;Notify_JobID&lt;/i&gt;: The job id of the execution
&lt;li&gt;&lt;i&gt;Notify_JobStatus&lt;/i&gt;: 
A description of the result of the job execution
&lt;li&gt;&lt;i&gt;Notify_JobStatusCode&lt;/i&gt;: The 
status code that for the result of the job execution.
	&lt;ul style=&quot;list-style-type:circle&quot;&gt;
	
&lt;li&gt;&lt;i&gt;5&lt;/i&gt;: Job was stopped by the client or administrator.
	&lt;li&gt;&lt;i&gt;6&lt;/i&gt;: 
Job completed normally with success.
	&lt;li&gt;&lt;i&gt;7&lt;/i&gt;: Job completed with an error.
	&lt;li&gt;&lt;i&gt;8&lt;/i&gt;: 
The process ID associated with the running job crashed or otherwise disappeared.
	&lt;li&gt;&lt;i&gt;9&lt;/i&gt;: 
Job failed to start.
	&lt;/ul&gt;
&lt;li&gt;&lt;i&gt;Notify_ProtocolName&lt;/i&gt;: The name of the protocol
&lt;li&gt;&lt;i&gt;Notify_ProtocolPath&lt;/i&gt;: 
The path of the protocol in the DB.  This field can be blank for protocols that were launched without 
saving to the database.
&lt;li&gt;&lt;i&gt;Notify_ProtocolLogName&lt;/i&gt;: The log name of the protocol.  
Is usually the same as ProtocolName, however this can be set by the client to a different name than the 
protocol.
&lt;li&gt;&lt;i&gt;Notify_RunHost&lt;/i&gt;: The name of the node where the protocol executed.
&lt;li&gt;&lt;i&gt;Notify_Username&lt;/i&gt;: 
The user that ran the job
&lt;/ul&gt;</sci:help>
			</sci:arg>
			<sci:arg name="Run On Grid" type="BoolType" required="false" visibility="visible" multi="false" uimpl="true">
				<sci:help>The Run On Grid parameter tells the server to run the protocol on the grid engine if the Pipeline Pilot server is configured to run with grid integration.</sci:help>
				<sci:member>Queue Name</sci:member>
				<sci:member>Grid Options</sci:member>
				<sci:legalval>True</sci:legalval>
				<sci:legalval selected="true">False</sci:legalval>
			</sci:arg>
			<sci:arg name="Queue Name" type="StringType" required="false" visibility="visible" multi="false" legalvalsenforced="false" uimpl="true">
				<sci:help>The Queue Name allows you to specify the name of the queue on the grid engine to submit the job to. Leave blank to specify the default queue.</sci:help>
				<sci:enabledscript>parameter(&apos;Run On Grid&apos;);</sci:enabledscript>
			</sci:arg>
			<sci:arg name="Grid Options" type="StringType" required="false" visibility="visible" multi="true" legalvalsenforced="false" uimpl="true">
				<sci:help>&lt;p&gt;This is an array of command line options to send to the Grid engine submit command.&lt;/p&gt;
&lt;p&gt;If you just include one line, whatever you enter will be sent &quot;as is&quot; to the submission command.&lt;/p&gt;
&lt;/br&gt;
&lt;b&gt;Example - Just sending options directly to command line - PBS&lt;/b&gt;
&lt;p&gt;-l procs=16 -l walltime=08:00:00 -A PROJECTID&lt;/p&gt;
&lt;/br&gt;
&lt;p&gt;There are a number of parameters that Pipeline Pilot will translate to the correct command line options for whichever supported Grid Engine you are using.&lt;/p&gt;
&lt;/br&gt;
&lt;b&gt;Example - Supported parameters&lt;/b&gt;
&lt;p&gt;Account=&amp;lt;Project/Account name&amp;gt;&lt;/p&gt;
&lt;p&gt;Maximum Execution Time=&amp;lt;HH:MM:SS&amp;gt; hours, minutes, seconds - LSF ignores seconds&lt;/p&gt;
&lt;p&gt;Number of Cores=&amp;lt;16&amp;gt;&lt;/p&gt;
&lt;p&gt;Parallel Environment=&amp;lt;The Parallel Environment to use&amp;gt; - Only needed for SGE&lt;/p&gt;
&lt;p&gt;Other=&amp;lt;Additional Parameters sent directly to submit command line&amp;gt;&lt;/p&gt;
&lt;/br&gt;
&lt;p&gt;Any of these options can be commented out by placing a # in front of them.&lt;/p&gt;
&lt;/br&gt;
					</sci:help>
				<sci:enabledscript>parameter(&apos;Run On Grid&apos;);</sci:enabledscript>
				<sci:value>Account=</sci:value>
				<sci:value>Maximum Execution Time=</sci:value>
				<sci:value>Parallel Environment=</sci:value>
				<sci:value>Number of Cores=</sci:value>
				<sci:value>Other=</sci:value>
			</sci:arg>
			<sci:arg name="ComponentAttributes" type="StringType" required="false" visibility="hidden" multi="true">
				<sci:help>Component Attributes</sci:help>
				<sci:legalval>ComponentTakesInput</sci:legalval>
				<sci:legalval>ComponentReturnsPass</sci:legalval>
				<sci:legalval>ComponentReturnsFail</sci:legalval>
				<sci:legalval>ComponentRunsLocal</sci:legalval>
			</sci:arg>
			<sci:arg name="OnDataTypeError" type="StringType" required="true" visibility="hidden" multi="false">
				<sci:legalval selected="true">Halt</sci:legalval>
				<sci:legalval>Fail</sci:legalval>
				<sci:legalval>Pass</sci:legalval>
			</sci:arg>
			<sci:arg name="OnGeneralError" type="StringType" required="true" visibility="hidden" multi="false">
				<sci:legalval selected="true">Halt</sci:legalval>
				<sci:legalval>Fail</sci:legalval>
				<sci:legalval>Pass</sci:legalval>
			</sci:arg>
			<sci:arg name="CustomErrorText" type="StringType" required="false" visibility="nevershow" multi="false"/>
			<sci:arg name="WebExports" type="StringType" required="false" visibility="nevershow" multi="false" uimpl="true">
				<sci:help>&lt;p&gt;A comma delimited list of global properties which will be automatically 
exported if this protocol is published as a web service.&lt;/p&gt;

&lt;p&gt;Each global property in the list is created with an empty value at the start of the protocol run.&lt;/p&gt;</sci:help>
			</sci:arg>
			<sci:arg name="Keep Alive" type="BoolType" required="false" visibility="nevershow" multi="false" uimpl="true">
				<sci:help>&lt;p&gt;Specifies if the process where this protocol is run should stay around for later use.&lt;/p&gt;</sci:help>
				<sci:legalval selected="true">True</sci:legalval>
				<sci:legalval>False</sci:legalval>
			</sci:arg>
			<sci:arg name="Registrant" type="StringType" required="false" visibility="nevershow" multi="false">
				<sci:help>The user who registered this component.</sci:help>
				<sci:value>username</sci:value>
			</sci:arg>
			<sci:arg name="RegistrationDate" type="StringType" required="false" visibility="nevershow" multi="false">
				<sci:help>The date this component was registered.</sci:help>
				<sci:value>Fri Jun  9 05:27:27 2023</sci:value>
			</sci:arg>
			<sci:arg name="RegistrationVersion" type="StringType" required="false" visibility="nevershow" multi="false">
				<sci:help>The server version when this component was registered</sci:help>
				<sci:value>20.1.0.2208</sci:value>
			</sci:arg>
			<sci:arg name="ComponentDisplayName" type="StringType" required="false" visibility="nevershow" multi="false">
				<sci:value>1hustGC_fragment1</sci:value>
			</sci:arg>
			<sci:arg name="ProtocolAutoLayout" type="BoolType" required="false" visibility="nevershow" multi="false">
				<sci:help>Protocol AutoLayout</sci:help>
				<sci:value>1</sci:value>
			</sci:arg>
			<sci:arg name="ComponentIcon" type="StringType" required="true" visibility="nevershow" multi="false">
				<sci:value>PROTOCOLNODE</sci:value>
			</sci:arg>
			<sci:arg name="ComponentRevision" type="LongType" required="true" visibility="nevershow" multi="false">
				<sci:help>Component Revision</sci:help>
				<sci:value>790</sci:value>
			</sci:arg>
			<sci:arg name="ComponentGUID" type="StringType" required="false" visibility="nevershow" multi="false">
				<sci:help>The Unique ID for this item</sci:help>
				<sci:value>{D73B610F-5865-430B-AAEE-064DFAD449D9}</sci:value>
			</sci:arg>
			<sci:arg name="ByReference" type="BoolType" required="false" visibility="nevershow" multi="false">
				<sci:help>By Ref</sci:help>
				<sci:value>0</sci:value>
			</sci:arg>
			<sci:arg name="ComponentHelp" type="StringType" required="false" visibility="nevershow" multi="true">
				<sci:value>100</sci:value>
				<sci:value>1hustGC_fragment1</sci:value>
				<sci:value/>
				<sci:value>None</sci:value>
				<sci:value/>
				<sci:value>None</sci:value>
				<sci:value/>
				<sci:value>None</sci:value>
				<sci:value/>
			</sci:arg>
			<sci:arg name="Component Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false"/>
			<sci:arg name="ProtocolScale2" type="LongType" required="false" visibility="nevershow" multi="false">
				<sci:help>Protocol Scale</sci:help>
				<sci:value>150</sci:value>
			</sci:arg>
			<sci:arg name="Protocol Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false">
				<sci:help>Protocol Sticky Notes</sci:help>
			</sci:arg>
			<sci:arg name="Protocol Options" type="StringType" required="false" visibility="nevershow" multi="false">
				<sci:help>Protocol Options</sci:help>
				<sci:legalval>Owner Access Only</sci:legalval>
			</sci:arg>
			<sci:arg name="ResultFiles Options" type="StringType" required="false" visibility="nevershow" multi="false">
				<sci:value>Include JobDir Files</sci:value>
			</sci:arg>
			<sci:arg name="ComponentDisabled" type="LongType" required="false" visibility="nevershow" multi="false">
				<sci:value>0</sci:value>
			</sci:arg>
			<sci:arg name="ComponentLocalID" type="LongType" required="false" visibility="nevershow" multi="false">
				<sci:help>Local Component Identifier</sci:help>
				<sci:value>-1</sci:value>
			</sci:arg>
			<sci:arg name="ComponentPoint" type="StringType" required="false" visibility="nevershow" multi="false">
				<sci:value>50 -50</sci:value>
			</sci:arg>
			<sci:arg name="OriginalPackage" type="StringType" required="false" visibility="nevershow" multi="false">
				<sci:help>OriginalPackage</sci:help>
				<sci:value>scitegic/coreutils</sci:value>
			</sci:arg>
			<sci:arg name="Component Path" type="StringType" required="false" visibility="nevershow" multi="false">
				<sci:help>The original path within the database of this component.</sci:help>
				<sci:value>username\paper</sci:value>
			</sci:arg>
		</sci:component>
		<sci:protocol>
			<sci:data object="SciTegic.Protocol.1">
				<sci:component name="Set Property Value" version="2">
					<sci:arg name="Property Name" type="PropertyNameType" required="true" visibility="visible" multi="false">
						<sci:help>The name of the property</sci:help>
						<sci:value>druglike</sci:value>
					</sci:arg>
					<sci:arg name="Value" type="StringType" required="true" visibility="visible" multi="false">
						<sci:help>The value to assign.

If you want to assign from an existing data property or global property, use the &lt;i&gt;Initialize Using...&lt;/i&gt; operation on the parameter.</sci:help>
						<sci:value>yes</sci:value>
					</sci:arg>
					<sci:arg name="RunToCompletion" type="StringType" required="false" visibility="visible" multi="false" uimpl="false">
						<sci:help>When &lt;i&gt;RunToCompletion&lt;/i&gt; is set to &quot;True - For Each Data Record&quot;, the subprotocol is re-initialized and executed in its entirety for each individual data record it processes.
&lt;p&gt;
When set to &quot;True - For Each Category&quot;, the data records are divided into categories based on the value of the Categorize Using parameter and then the subprotocol is re-initialized and executed in its entirety for each category of data records. When used in conjunction with &lt;i&gt;Parallel Processing Options&lt;/i&gt;, each category of data records will be sent to the remote server as part of one single batch.</sci:help>
						<sci:member>RunToCompletion Categorize Using</sci:member>
						<sci:legalval selected="true">False</sci:legalval>
						<sci:legalval>True - For Each Data Record</sci:legalval>
						<sci:legalval>True - For Each Category</sci:legalval>
					</sci:arg>
					<sci:arg name="RunToCompletion Categorize Using" type="StringType" required="false" visibility="visible" multi="false" uimpl="false">
						<sci:help>Required when RunToCompletion is set to &lt;i&gt;True - For Each Category&lt;/i&gt;, this parameter specifies the property or properties used to define the categories.</sci:help>
						<sci:validscript>SetInvalidDetails(&apos;This parameter is required when RunToCompletion is set to True - For Each Category&apos;);
Parameter() ne &apos;&apos;;</sci:validscript>
						<sci:enabledscript>SetDisabledDetails(&apos;To Enable, Set RunToCompletion to True - For Each Category&apos;);
Parameter(&apos;RunToCompletion&apos;) eq &apos;True - For Each Category&apos;;</sci:enabledscript>
					</sci:arg>
					<sci:arg name="Parallel Processing Options" type="BoolType" required="false" visibility="visible" multi="false" uimpl="false">
						<sci:help>&lt;p&gt;
When set to True, this set of options allows the subprotocol to execute in parallel on one or more independent Pipeline Pilot servers, running locally or remotely.  Additional parameters control the number of data records to send in each process batch, the list of Pipeline Pilot servers to use, the number of protocol processes that can be executed on each server, and whether to preserve the order of the processed data records.
&lt;/p&gt;&lt;p&gt;
Use this option with care, since it will not increase throughput in all circumstances. Generally speaking, it yields improved performance when the parallelization benefits outweigh the data transfer overhead for the specified batch size.  As a rough guide, performance can be improved when each individual batch requires at least 10 seconds to execute, although this can be affected by the size of each data record.
&lt;/p&gt;&lt;p&gt;
When running the protocol with debugging, the subprotocol will provide debugging messages to detail each of the various steps of execution.  Also, components located within the parallel subprotocol will display their debugging messages as well.
&lt;/p&gt;&lt;p&gt;
For more information on the parallel subprotocol options, see &lt;a href=&quot;javascript:DoLink(&apos;scihelpdocs/user/subprots/subprot_parallel_processing.htm&apos;)&quot;&gt;Parallel Processing Subprotocols&lt;/a&gt;.
&lt;/p&gt;
</sci:help>
						<sci:member>Parallel Processing Options Batch Size</sci:member>
						<sci:member>Parallel Processing Options Server</sci:member>
						<sci:member>Parallel Processing Options Preserve Order</sci:member>
						<sci:legalval>True</sci:legalval>
						<sci:legalval selected="true">False</sci:legalval>
					</sci:arg>
					<sci:arg name="Parallel Processing Options Batch Size" type="LongType" required="true" visibility="visible" multi="false" uimpl="false">
						<sci:help>&lt;p&gt;The number of records to send to the remote server(s) for each subprotocol execution.  In general, performance is optimized when the amount of time required to process each batch is at least 10 seconds (note that this can vary depending on the characteristics of the remote server&apos;s hardware).  Use a batch size of -1 to pass all data in a single batch.&lt;/p&gt;
&lt;p&gt;When &lt;i&gt;RunToCompletion&lt;/i&gt; is set to &quot;True - for each category&quot;, the batch sizes will be determined by the number of records in each individual category.  Therefore, the &lt;i&gt;Batch Size&lt;/i&gt; parameter is not applicable.</sci:help>
						<sci:enabledscript>#parallel := Parameter(&apos;Parallel Processing Options&apos;);
if (not #parallel) then
	SetDisabledDetails(&quot;This parameter is only applicable if &apos;Parallel Processing Options&apos; is &apos;True&apos;&quot;);
end if;
#parallel;</sci:enabledscript>
					</sci:arg>
					<sci:arg name="Parallel Processing Options Server" type="StringType" required="false" visibility="visible" multi="true" expanded="true" legalvalsenforced="false" uimpl="false">
						<sci:help>&lt;p&gt;
A comma-separated list of Pipeline Pilot servers on which to execute the parallel subprotocol.  The server names should be in the same format as the Pipeline Pilot Client&apos;s change server dialog (that is, server-name:port-number).
&lt;/p&gt;&lt;p&gt;
Specifying &lt;b&gt;localhost&lt;/b&gt; as a server will cause the subprotocol to use its own Pipeline Pilot server.  This can be useful on multi-CPU/multi-core systems (where the subprotocol jobs are spawned on the same machine) and Pipeline Pilot Linux clusters (where &apos;localhost&apos; requests spawning the subprotocol jobs on the same cluster).
&lt;/p&gt;</sci:help>
						<sci:member>Parallel Processing Options Server Processes</sci:member>
						<sci:member>Parallel Processing Options Server Run On Grid</sci:member>
						<sci:validscript>SetInvalidDetails(&apos;This parameter is required.&apos;);
Parameter() ne &apos;&apos;;</sci:validscript>
						<sci:enabledscript>SetDisabledDetails(&quot;This parameter is only applicable if &apos;Parallel Processing Options&apos; is &apos;True&apos;&quot;);
Parameter(&apos;Parallel Processing Options&apos;);</sci:enabledscript>
					</sci:arg>
					<sci:arg name="Parallel Processing Options Server Processes" type="StringType" required="false" visibility="visible" multi="false" uimpl="false">
						<sci:help>A comma-separated list of the maximum number of batches that can be simultaneously executed on each remote server.  The number of entries in this parameter must equal the number of servers. If &apos;*&apos; is specified as the number of processes, then that server will only launch as many batches as the administrator of the remote server has permitted.</sci:help>
						<sci:validscript>/* Server Processes must have the same number of comma separated entries as the Server parameter and must have a value*/
#processes := parameter();
expand(&apos;,&apos;, #processes);
#servers := parameter(&apos;Parallel Processing Options Server&apos;);
expand(&apos;,&apos;, #servers);

if (numvalues(#processes) == 0) then
	SetInvalidDetails(&apos;This parameter is required.&apos;);
else
	SetInvalidDetails(&apos;The number of server processes (&apos; . numvalues(#processes) . &apos;) must equal the number of servers (&apos; . numvalues(#servers) . &apos;).&apos;);
end if;
numvalues(#processes) &gt; 0 and numvalues(#processes) == numvalues(#servers);</sci:validscript>
						<sci:enabledscript>SetDisabledDetails(&quot;This parameter is only applicable if &apos;Parallel Processing Options&apos; is &apos;True&apos;&quot;);
Parameter(&apos;Parallel Processing Options&apos;);</sci:enabledscript>
					</sci:arg>
					<sci:arg name="Parallel Processing Options Server Run On Grid" type="BoolType" required="false" visibility="visible" multi="false" uimpl="false">
						<sci:help>Run subprotocol on grid engine if available.</sci:help>
						<sci:member>Parallel Processing Options Server Run On Grid Queue Name</sci:member>
						<sci:member>Parallel Processing Options Server Run On Grid Grid Options</sci:member>
						<sci:enabledscript>parameter(&apos;Parallel Processing Options&apos;);</sci:enabledscript>
						<sci:legalval selected="true">True</sci:legalval>
						<sci:legalval>False</sci:legalval>
					</sci:arg>
					<sci:arg name="Parallel Processing Options Server Run On Grid Queue Name" type="StringType" required="false" visibility="visible" multi="false" legalvalsenforced="false" uimpl="false">
						<sci:help>Select the queue name on the grid to submit jobs to. Leave blank to use default queue name.</sci:help>
						<sci:enabledscript>parameter(&apos;Parallel Processing Options Server Run On Grid&apos;);</sci:enabledscript>
					</sci:arg>
					<sci:arg name="Parallel Processing Options Server Run On Grid Grid Options" type="StringType" required="false" visibility="visible" multi="false" uimpl="false">
						<sci:help>Use this to specify grid engine specific command line parameters to the job submission command. Leave blank to use defaults.</sci:help>
						<sci:enabledscript>parameter(&apos;Parallel Processing Options Server Run On Grid&apos;);</sci:enabledscript>
					</sci:arg>
					<sci:arg name="Parallel Processing Options Preserve Order" type="BoolType" required="false" visibility="visible" multi="false" uimpl="false">
						<sci:help>Whether to preserve the order of the data as it enters and leaves the remote subprotocol.</sci:help>
						<sci:enabledscript>SetDisabledDetails(&quot;This parameter is only applicable if &apos;Parallel Processing Options&apos; is &apos;True&apos;&quot;);
Parameter(&apos;Parallel Processing Options&apos;);</sci:enabledscript>
						<sci:legalval selected="true">True</sci:legalval>
						<sci:legalval>False</sci:legalval>
					</sci:arg>
					<sci:arg name="Tempfiles" type="StringType" required="false" visibility="visible" multi="false" uimpl="true">
						<sci:help>&lt;p&gt;A comma-delimited list of global properties, each of which is automatically populated with the name of a file in the job&apos;s temporary folder, which always has a unique name.&lt;p/&gt;For each global name, an additional global is created (with the suffix &lt;i&gt;_Filename&lt;/i&gt;) that hold only the leaf file name of the temporary file.&lt;/p&gt;</sci:help>
					</sci:arg>
					<sci:arg name="DeclareLocal" type="StringType" required="false" visibility="visible" multi="false" uimpl="true">
						<sci:help>&lt;p&gt;Lists a set of properties (without the @) to create on the global property list for this subprotocol. Such properties can only be accessed within the scope of this subprotocol and its descendent subprotocols.&lt;p/&gt;

&lt;p&gt;Any global property not declared in this way is created on the top-level global property list and is accessible from all subprotocols, but breaks the encapsulation of the subprotocol and may collide with another property of the same name.&lt;/p&gt;

&lt;p&gt;Therefore, you should always declare a new global property in the &lt;i&gt;DeclareLocal&lt;/i&gt; parameter, to scope the global property to the subprotocol where it is used.&lt;/p&gt;</sci:help>
					</sci:arg>
					<sci:arg name="ComponentAttributes" type="StringType" required="false" visibility="hidden" multi="true">
						<sci:help>Component Attributes</sci:help>
						<sci:legalval selected="true">ComponentTakesInput</sci:legalval>
						<sci:legalval selected="true">ComponentReturnsPass</sci:legalval>
						<sci:legalval>ComponentReturnsFail</sci:legalval>
						<sci:legalval>ComponentRunsLocal</sci:legalval>
					</sci:arg>
					<sci:arg name="OnDataTypeError" type="StringType" required="true" visibility="hidden" multi="false">
						<sci:help>When an expected data type is not found during processing:  
  Halt: Terminate the execution of the network
  Fail: Continue execution of the network, passing data out the Fail(red) port
  Pass: Continue execution of the network, passing data out the Pass(green) port</sci:help>
						<sci:legalval selected="true">Halt</sci:legalval>
						<sci:legalval>Fail</sci:legalval>
						<sci:legalval>Pass</sci:legalval>
					</sci:arg>
					<sci:arg name="OnGeneralError" type="StringType" required="true" visibility="hidden" multi="false">
						<sci:help>When an recoverable error occurs during processing:  
  Halt: Terminate the execution of the network
  Fail: Continue execution of the network, passing data out the Fail(red) port
  Pass: Continue execution of the network, passing data out the Pass(green) port</sci:help>
						<sci:legalval selected="true">Halt</sci:legalval>
						<sci:legalval>Fail</sci:legalval>
						<sci:legalval>Pass</sci:legalval>
					</sci:arg>
					<sci:arg name="CustomErrorText" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>Custom Error Message</sci:help>
					</sci:arg>
					<sci:arg name="Refresh rather than Reinitialize" type="BoolType" required="false" visibility="nevershow" multi="false">
						<sci:help>Refresh rather than Reinitialize</sci:help>
						<sci:value>1</sci:value>
					</sci:arg>
					<sci:arg name="ComponentDisplayName" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:value>chemical-physical=yes</sci:value>
					</sci:arg>
					<sci:arg name="ComponentAutoDisplayName" type="ExpressionType" required="false" visibility="nevershow" multi="false">
						<sci:help>Automatically update the component display name when the &quot;Destination&quot; property is changed. This feature is turned off after the user manually changes the display name of the component in Protocol workspace.</sci:help>
						<sci:value>
#prop := trim(Parameter(&apos;Property Name&apos;, 2));
#value := trim(Parameter(&apos;Value&apos;, 2));
if(strlength(#prop) &gt; 0 AND strlength(#value) &gt; 0) then	
	&apos;Set &apos; . #prop . &apos; to &apos; . #value;
else
	&apos;&apos;;
end if;</sci:value>
					</sci:arg>
					<sci:arg name="ProtocolAutoLayout" type="BoolType" required="false" visibility="nevershow" multi="false">
						<sci:help>Protocol AutoLayout</sci:help>
						<sci:value>1</sci:value>
					</sci:arg>
					<sci:arg name="ComponentDisabled" type="LongType" required="false" visibility="nevershow" multi="false">
						<sci:value>0</sci:value>
					</sci:arg>
					<sci:arg name="ComponentIcon" type="StringType" required="true" visibility="nevershow" multi="false">
						<sci:value>ComponentNode</sci:value>
					</sci:arg>
					<sci:arg name="ComponentRevision" type="LongType" required="true" visibility="nevershow" multi="false">
						<sci:help>Component Revision</sci:help>
						<sci:value>790</sci:value>
					</sci:arg>
					<sci:arg name="ComponentGUID" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:value>{68C8B76A-B698-4B78-9B58-2D8D5E1B8D8D}</sci:value>
					</sci:arg>
					<sci:arg name="ComponentPoint" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:value>1890 -95</sci:value>
					</sci:arg>
					<sci:arg name="ByReference" type="BoolType" required="false" visibility="nevershow" multi="false">
						<sci:help>By Ref</sci:help>
						<sci:value>1</sci:value>
					</sci:arg>
					<sci:arg name="ComponentHelp" type="StringType" required="false" visibility="nevershow" multi="true">
						<sci:value>100</sci:value>
						<sci:value>Set a property value</sci:value>
						<sci:value>&lt;p&gt;
This component allows you to set a property value from a value. To set a value on a subset of your data records, use the &lt;i&gt;Compare Property to Value Filter&lt;/i&gt; upstream.</sci:value>
						<sci:value>Generic</sci:value>
						<sci:value>The data record</sci:value>
						<sci:value>Generic</sci:value>
						<sci:value>Data records with the property assigned to the new value (and if provided, passed the test)</sci:value>
						<sci:value>None</sci:value>
						<sci:value/>
					</sci:arg>
					<sci:arg name="RegistrationVersion" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The server version when this component was registered</sci:help>
						<sci:value>17.1.0.119</sci:value>
					</sci:arg>
					<sci:arg name="Component Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false"/>
					<sci:arg name="Protocol Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>Protocol Sticky Notes</sci:help>
					</sci:arg>
					<sci:arg name="ProtocolScale2" type="LongType" required="false" visibility="nevershow" multi="false">
						<sci:help>Protocol Scale</sci:help>
						<sci:value>100</sci:value>
					</sci:arg>
					<sci:arg name="Protocol Options" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>Protocol Options</sci:help>
						<sci:legalval selected="true">Owner Access Only</sci:legalval>
					</sci:arg>
					<sci:arg name="Registrant" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The user who registered this component.</sci:help>
						<sci:value>scitegic/generic</sci:value>
					</sci:arg>
					<sci:arg name="RegistrationDate" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The date this component was registered.</sci:help>
						<sci:value>Mon Sep 19 13:15:39 2016</sci:value>
					</sci:arg>
					<sci:arg name="ComponentLocalID" type="LongType" required="false" visibility="nevershow" multi="false">
						<sci:help>Local Component Identifier</sci:help>
						<sci:value>0</sci:value>
					</sci:arg>
					<sci:arg name="SubProtocolMadeLinkIntoCopy" type="BoolType" required="false" visibility="nevershow" multi="false">
						<sci:help>Subprotocol Made Link Into Copy</sci:help>
						<sci:value>0</sci:value>
					</sci:arg>
					<sci:arg name="Component Path" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The original path within the database of this component.</sci:help>
						<sci:value>Components\Data Access and Manipulation\Property Manipulators\Set Property Value</sci:value>
					</sci:arg>
				</sci:component>
				<sci:protocol/>
			</sci:data>
			<sci:data object="SciTegic.DelimitedWriter.1">
				<sci:component name="Delimited Text Writer" version="2">
					<sci:arg name="Destination" type="DestinationURLType" required="true" visibility="visible" multi="false" legalvalsenforced="false">
						<sci:help>The location to which to write the data. Can be a file, a network resource, a global property, or a data record property.
&lt;ul&gt;
&lt;ul&gt;
&lt;li&gt;For a file, enter a path.&lt;/li&gt;
&lt;li&gt;For a network resource, enter a network URL in the form &lt;b&gt;protocol://server:port/...&lt;/b&gt;. (If port is omitted, a default is used.) Protocols supported are:
	&lt;ul&gt;
	&lt;li&gt;http, https&lt;/li&gt;
	&lt;li&gt;ftp&lt;/li&gt;
	&lt;li&gt;hdfs (Hadoop Distributed File System)&lt;/li&gt;
	&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;For a global property, enter &quot;global://property-name&quot;.&lt;/li&gt;
&lt;li&gt;For a data record property, enter &quot;property://property-name&quot; and add an output port.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;b&gt;Note:&lt;/b&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;When the destination is a file or network resource, be sure to specify an extension such as .txt or .xls. To save in compressed (zipped) format, add the extension .gz or .zip to the filename.&lt;/li&gt;
&lt;/ul&gt;
</sci:help>
						<sci:member>Maximum</sci:member>
						<sci:member>IfFileExists</sci:member>
						<sci:member>CharacterEncoding</sci:member>
						<sci:member>Destination Authentication Options</sci:member>
						<sci:value>\home\username\result\chemphy-smiles-unique.csv</sci:value>
					</sci:arg>
					<sci:arg name="Destination Authentication Options" type="GroupType" required="false" visibility="hidden" multi="false" legalvalsenforced="false" uimpl="false">
						<sci:help>For HTTP, HTTPS, and HDFS URLs, you may optionally specify authentication information for the URL in the following parameters</sci:help>
						<sci:member>Destination Authentication Options Username</sci:member>
						<sci:member>Destination Authentication Options Password</sci:member>
						<sci:member>Destination Authentication Options Authentication Method</sci:member>
						<sci:member>Destination Authentication Options KDC Server</sci:member>
						<sci:member>Destination Authentication Options KDC Realm</sci:member>
						<sci:enabledscript>SetDisabledDetails(&apos;To enable, specify an HTTP or HDFS URL for Destination&apos;);
Parameter(&apos;Destination&apos;) rlike &apos;^(https?|hdfs):&apos;;</sci:enabledscript>
					</sci:arg>
					<sci:arg name="Destination Authentication Options Authentication Method" type="StringType" required="false" visibility="hidden" multi="false" uimpl="false">
						<sci:help>Determines which method to use during authentication with an HTTP, HTTPS, or HDFS URL.

&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Use Username and Password Parameters&lt;/b&gt;: Use the values provided by the parameter group&apos;s &lt;i&gt;Username&lt;/i&gt; and &lt;i&gt;Password&lt;/i&gt; parameters.
&lt;li&gt;&lt;b&gt;Use Pipeline Pilot Credentials&lt;/b&gt;: Use the username and password that were provided when the user logged into Pipeline Pilot if available.  NOTE: if the &lt;i&gt;Username&lt;/i&gt; parameter is provided, its value will override the user&apos;s logged in username.
&lt;/ul&gt;</sci:help>
						<sci:legalval selected="true">Use Username and Password Parameters</sci:legalval>
						<sci:legalval>Use Pipeline Pilot Credentials</sci:legalval>
					</sci:arg>
					<sci:arg name="Destination Authentication Options Username" type="UserNameType" required="false" visibility="hidden" multi="false" legalvalsenforced="false" uimpl="false">
						<sci:help>&lt;p&gt;
The username used to connect to the supplied URL.
&lt;/p&gt;
&lt;p&gt;
If the Authentication Method is set to &apos;Use Username and Password Parameters&apos;, then this parameter
must be filled in to log into the remote server.
&lt;/p&gt;
&lt;p&gt; 
If the Authentication Method is set to &apos;Use Pipeline Pilot Credentials&apos;, then this parameter can be left empty
and the logged in username is used. As an override option, if the username is filled in, this
username will be used along with the user&apos;s Pipeline Pilot password.
&lt;/p&gt;
</sci:help>
					</sci:arg>
					<sci:arg name="Destination Authentication Options Password" type="xpass" encrypt="bf_1" required="false" visibility="hidden" multi="false" legalvalsenforced="false" uimpl="false">
						<sci:help>The password used to authenticate to the URL.  This parameter is disabled if Authentication Method is not set to &apos;Use Username and Password Parameters&apos;.
</sci:help>
						<sci:enabledscript>SetDisabledDetails(&quot;To enable, set Authentication Method to &apos;Use Username and Password Parameters&apos;&quot;);
Parameter(&apos;Authentication Method&apos;) eq &apos;Use Username and Password Parameters&apos;;</sci:enabledscript>
					</sci:arg>
					<sci:arg name="Destination Authentication Options KDC Server" type="StringType" required="false" visibility="hidden" multi="false" uimpl="false">
						<sci:help>For authentication to HDFS servers, KDC Server and Realm are also required</sci:help>
						<sci:enabledscript>SetDisabledDetails(&apos;To enable, specify an HDFS URL for Destination&apos;);
Parameter(&apos;Destination&apos;) rlike &apos;^hdfs:&apos;;</sci:enabledscript>
					</sci:arg>
					<sci:arg name="Destination Authentication Options KDC Realm" type="StringType" required="false" visibility="hidden" multi="false" uimpl="false">
						<sci:help>For authentication to HDFS servers, KDC Server and Realm are also required</sci:help>
						<sci:enabledscript>SetDisabledDetails(&apos;To enable, specify an HDFS URL for Destination&apos;);
Parameter(&apos;Destination&apos;) rlike &apos;^hdfs:&apos;;</sci:enabledscript>
					</sci:arg>
					<sci:arg name="Maximum" type="LongType" required="false" visibility="visible" multi="false">
						<sci:help>The maximum number of data records to write. If empty, all records are written out.</sci:help>
					</sci:arg>
					<sci:arg name="IfFileExists" type="StringType" required="true" visibility="visible" multi="false">
						<sci:help>Specifies action to take if a file specified by &lt;i&gt;Destination&lt;/i&gt; already exists. Options are:
&lt;ul&gt;
&lt;li&gt;Overwrite: Replace the existing file with the new content.
&lt;li&gt;Append: Append the new content to the end of the existing file.
&lt;li&gt;Halt: Raise an error and halt the protocol.
&lt;/ul&gt;
</sci:help>
						<sci:legalval selected="true">Overwrite</sci:legalval>
						<sci:legalval>Append</sci:legalval>
						<sci:legalval>Halt</sci:legalval>
					</sci:arg>
					<sci:arg name="CharacterEncoding" type="StringType" required="false" visibility="visible" multi="false" expanded="true">
						<sci:help>Specifies the character set encoding to use within the destination file. Options are:
&lt;ul&gt;
&lt;li&gt;ANSI: an encoding where each character is defined by a single byte. This allows the Latin-1 (ISO-8859-1) character set to be written to the file. Virtually all applications can read these files.
&lt;li&gt;UTF-8: a variable length encoding supporting all Unicode characters. Each character is represented by 1 to 6 bytes. This allows writing out any extended characters specified in the Unicode character sets while minimizing the size of the file when most characters are from the ANSI set. Some applications do not support UTF-8 files.
&lt;li&gt;Unicode: (also known as UCS-2) represents each character by exactly 2 bytes in &quot;little-endian&quot; order. Many applications do not support this encoding.
&lt;li&gt;Unicode big endian: represents each character by exactly 2 bytes in &quot;big-endian&quot; order. Many applications do not support this encoding.
&lt;/ul&gt;
&lt;b&gt;Notes:&lt;/b&gt;
&lt;ul&gt;
&lt;li&gt;If you choose an option other than ANSI, then take note of the &lt;i&gt;UseByteOrderMark&lt;/i&gt; setting.
&lt;li&gt;For more information about each of these encoding styles, go to &lt;a href=&quot;javascript:DoLink(&apos;http://www.unicode.org&apos;)&quot;&gt;http://www.unicode.org&lt;/a&gt;.
&lt;li&gt;The UCS-2 encoding has been superseded by &lt;a href=&quot;javascript:DoLink(&apos;https://en.wikipedia.org/wiki/UTF-16&apos;)&quot;&gt;UTF-16&lt;/a&gt; but the two 
are equivalent for all characters in the &lt;a href=&quot;javascript:DoLink(&apos;https://en.wikipedia.org/wiki/Plane_(Unicode)#Basic_Multilingual_Plane&apos;)&quot;&gt;Basic Multilingual Plane&lt;/a&gt; .
&lt;/ul&gt;
</sci:help>
						<sci:member>UseByteOrderMark</sci:member>
						<sci:legalval selected="true">ANSI</sci:legalval>
						<sci:legalval>UTF-8</sci:legalval>
						<sci:legalval>Unicode</sci:legalval>
						<sci:legalval>Unicode big endian</sci:legalval>
					</sci:arg>
					<sci:arg name="UseByteOrderMark" type="StringType" required="false" visibility="visible" multi="false">
						<sci:help>Specifies whether to use a byte order mark (BOM) when writing a file with a &lt;i&gt;CharacterEncoding&lt;/i&gt; other than ANSI. The BOM is a set of 2 or 3 bytes written to the start of a file or data stream to indicate the character encoding of the following data. BOMs are more widely used in Windows than in Linux environments. (For example, Windows Notepad includes a BOM in UTF-8 files.)
&lt;p&gt;
Options are:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Always: For non-ANSI encodings, always writes a BOM at the start of the output stream.
&lt;li&gt;Never: Never writes a BOM at the start of the output stream.
&lt;li&gt;Native: Equivalent to &quot;Always&quot; on Windows and &quot;Never&quot; on Linux.
&lt;/ul&gt;</sci:help>
						<sci:enabledscript>SetDisabledDetails(
	       &apos;To enable &apos;.ParameterName().&apos;, set CharacterEncoding to a value other than &quot;ANSI&quot;&apos;);
	Parameter(&apos;CharacterEncoding&apos;) ne &apos;ANSI&apos;;</sci:enabledscript>
						<sci:legalval selected="true">Always</sci:legalval>
						<sci:legalval>Never</sci:legalval>
						<sci:legalval>Native</sci:legalval>
					</sci:arg>
					<sci:arg name="Delimiter" type="StringType" required="true" visibility="visible" multi="false">
						<sci:help>Specifies the character to use to separate
the fields in the file. (Whole records are separated by line breaks.) Make sure you use a different
MultiValueDelimiter than Delimiter!</sci:help>
						<sci:member>MultipleValueDelimiter</sci:member>
						<sci:legalval>Tab</sci:legalval>
						<sci:legalval>Space</sci:legalval>
						<sci:legalval selected="true">Comma</sci:legalval>
						<sci:legalval>Colon</sci:legalval>
						<sci:legalval>Semicolon</sci:legalval>
					</sci:arg>
					<sci:arg name="MultipleValueDelimiter" type="StringType" required="true" visibility="visible" multi="false">
						<sci:help>The delimiter to use between multiple values on a single property. If &quot;None&quot;, 
multiple values are separated into their own columns.</sci:help>
						<sci:legalval selected="true">None</sci:legalval>
						<sci:legalval>Semicolon</sci:legalval>
						<sci:legalval>Colon</sci:legalval>
						<sci:legalval>Comma</sci:legalval>
						<sci:legalval>Linefeed</sci:legalval>
					</sci:arg>
					<sci:arg name="Format Options" type="GroupType" required="false" visibility="visible" multi="false">
						<sci:member>OutputColumnNames</sci:member>
						<sci:member>OutputColumnTypes</sci:member>
						<sci:member>OutputRowNumber</sci:member>
						<sci:member>UndefinedString</sci:member>
						<sci:member>MissingValue Format</sci:member>
						<sci:member>NewlineStyle</sci:member>
					</sci:arg>
					<sci:arg name="UndefinedString" type="StringType" required="false" visibility="visible" multi="false">
						<sci:help>Text to output when data for a given column is not present (leave empty or enter text of choice)</sci:help>
					</sci:arg>
					<sci:arg name="OutputColumnNames" type="BoolType" required="true" visibility="visible" multi="false">
						<sci:help>Output column names</sci:help>
						<sci:legalval selected="true">True</sci:legalval>
						<sci:legalval>False</sci:legalval>
					</sci:arg>
					<sci:arg name="OutputColumnTypes" type="StringType" required="true" visibility="visible" multi="false">
						<sci:help>Output a row that includes column types</sci:help>
						<sci:legalval selected="true">None</sci:legalval>
						<sci:legalval>SpotfireFormat</sci:legalval>
						<sci:legalval>NDIFormat</sci:legalval>
					</sci:arg>
					<sci:arg name="OutputRowNumber" type="BoolType" required="true" visibility="visible" multi="false">
						<sci:help>Includes the number of the record as the first field for each record</sci:help>
						<sci:legalval>True</sci:legalval>
						<sci:legalval selected="true">False</sci:legalval>
					</sci:arg>
					<sci:arg name="MissingValue Format" type="StringType" required="true" visibility="visible" multi="false">
						<sci:help>How to write out explicitly-defined MissingValue properties. Each missing value property
contains a string that might indicate the reason the value is missing. You can ask to 
see either the missing value text containing this string, or use the undefined string to write out missing values.</sci:help>
						<sci:legalval selected="true">Use MissingValue Text</sci:legalval>
						<sci:legalval>Use UndefinedString</sci:legalval>
					</sci:arg>
					<sci:arg name="NewlineStyle" type="StringType" required="false" visibility="visible" multi="false">
						<sci:help>&lt;p&gt;
Set this value to define the line ending character(s) in the output file. The default value is the Windows-standard carriage return plus line feed (CR+LF), but you might need to change this, especially in a non-Windows environment. Options are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CR+LF (Traditional Windows text file line ending)&lt;/li&gt;
&lt;li&gt;LF (Line feed, &apos;\n&apos;, 0x0A)&lt;/li&gt;
&lt;li&gt;CR (Carriage return, &apos;\r&apos;, 0x0D)&lt;/li&gt;
&lt;li&gt;Native (CR+LF on Windows, LF on Linux)&lt;/li&gt;
&lt;/ul&gt;</sci:help>
						<sci:legalval selected="true">CR+LF</sci:legalval>
						<sci:legalval>LF</sci:legalval>
						<sci:legalval>CR</sci:legalval>
						<sci:legalval>Native</sci:legalval>
					</sci:arg>
					<sci:arg name="ComponentAttributes" type="StringType" required="false" visibility="hidden" multi="true">
						<sci:help>Component Attributes</sci:help>
						<sci:legalval selected="true">ComponentTakesInput</sci:legalval>
						<sci:legalval>ComponentReturnsPass</sci:legalval>
						<sci:legalval>ComponentReturnsFail</sci:legalval>
						<sci:legalval>ComponentRunsLocal</sci:legalval>
					</sci:arg>
					<sci:arg name="OnDataTypeError" type="StringType" required="true" visibility="hidden" multi="false">
						<sci:legalval selected="true">Halt</sci:legalval>
						<sci:legalval>Fail</sci:legalval>
						<sci:legalval>Pass</sci:legalval>
					</sci:arg>
					<sci:arg name="OnGeneralError" type="StringType" required="true" visibility="hidden" multi="false">
						<sci:legalval selected="true">Halt</sci:legalval>
						<sci:legalval>Fail</sci:legalval>
						<sci:legalval>Pass</sci:legalval>
					</sci:arg>
					<sci:arg name="CustomErrorText" type="StringType" required="false" visibility="nevershow" multi="false"/>
					<sci:arg name="Registrant" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The user who registered this component.</sci:help>
						<sci:value>scitegic/generic</sci:value>
					</sci:arg>
					<sci:arg name="RegistrationDate" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The date this component was registered.</sci:help>
						<sci:value>Mon Jul 16 10:54:42 2018</sci:value>
					</sci:arg>
					<sci:arg name="ComponentDisplayName" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:value>CSV Writer</sci:value>
					</sci:arg>
					<sci:arg name="ComponentAutoDisplayName" type="ExpressionType" required="false" visibility="nevershow" multi="false">
						<sci:help>Automatically update the component display name when the &quot;Destination&quot; property is changed. This feature is turned off after the user manually changes the display name of the component in Protocol workspace.</sci:help>
						<sci:value>
#displayName := Trim(Parameter(&apos;Destination&apos;, 2));
if(StrLength(#displayName) &gt; 0) then	
	/* Find the last slash or backslash, extract the end */
	#name := #displayName;
	#ls1 := FindLastSubstring(#name, &apos;/&apos;);
	#ls2 := FindLastSubstring(#name, &apos;\&apos;);
	if (#ls1 &gt; #ls2) then
		#name := Substring(#name, #ls1+1);
	elsif (#ls2 &gt; #ls1) then
		#name := Substring(#name, #ls2+1);
	end if;

	if (#name eq &apos;&apos;) then
		&apos;&apos;;
	elsif (Substring(#displayName, 1, 9) eq &apos;global://&apos;) then
		&apos;Write to @&apos; . #name;
	elsif (Substring(#displayName, 1, 11) eq &apos;property://&apos;) then
		&apos;Write to property &apos; . #name;
	else
		&apos;Write &apos; . #name;
	end if;
else
	&apos;&apos;;
end if;
			</sci:value>
					</sci:arg>
					<sci:arg name="DerivedFrom" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The component this component is based upon.</sci:help>
						<sci:value>Delimited Writer</sci:value>
					</sci:arg>
					<sci:arg name="ComponentDisabled" type="LongType" required="false" visibility="nevershow" multi="false">
						<sci:value>0</sci:value>
					</sci:arg>
					<sci:arg name="ComponentIcon" type="StringType" required="true" visibility="nevershow" multi="false">
						<sci:value>DOCUMENTNODE</sci:value>
					</sci:arg>
					<sci:arg name="ComponentGUID" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:value>{9B0081A4-6085-4FF0-BD12-AEB8B7BD9CB5}</sci:value>
					</sci:arg>
					<sci:arg name="ComponentPoint" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:value>2490 -95</sci:value>
					</sci:arg>
					<sci:arg name="ComponentHelp" type="StringType" required="false" visibility="nevershow" multi="true">
						<sci:value>100</sci:value>
						<sci:value>Writes data records to a text file with one data record per line and data separated by delimiters</sci:value>
						<sci:value>&lt;p&gt;Data records are separated with a new line and the individual properties within each record are separated with the character specified by &lt;i&gt;Delimiter&lt;/I&gt;. The property names for the fields are stored as the first line of the file. 
&lt;p&gt;
&lt;b&gt;Note:&lt;/b&gt;
&lt;ul&gt;
&lt;li&gt;Use &lt;i&gt;MultipleValueDelimiter&lt;/i&gt; to control the output format for properties 
  with more than one value (array properties).
&lt;/ul&gt;
</sci:value>
						<sci:value>Generic</sci:value>
						<sci:value/>
						<sci:value>None</sci:value>
						<sci:value/>
						<sci:value>None</sci:value>
						<sci:value/>
					</sci:arg>
					<sci:arg name="RegistrationVersion" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The server version when this component was registered</sci:help>
						<sci:value>19.1.0.1864</sci:value>
					</sci:arg>
					<sci:arg name="Component Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false"/>
					<sci:arg name="ComponentLocalID" type="LongType" required="false" visibility="nevershow" multi="false">
						<sci:help>Local Component Identifier</sci:help>
						<sci:value>1</sci:value>
					</sci:arg>
					<sci:arg name="Component Path" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The original path within the database of this component.</sci:help>
						<sci:value>Components\Data Access and Manipulation\File Writers\Delimited Text Writer</sci:value>
					</sci:arg>
				</sci:component>
			</sci:data>
			<sci:data object="SciTegic.MDLSDReader.1">
				<sci:component name="SD Reader" version="2">
					<sci:arg name="Source" type="URLType" required="true" visibility="visible" multi="false" expanded="true">
						<sci:help>The file or URL source to read</sci:help>
						<sci:member>Maximum</sci:member>
						<sci:member>SourceTag</sci:member>
						<sci:member>Keep Properties</sci:member>
						<sci:member>UTF-8 Auto Detect</sci:member>
						<sci:value>\home\username\PC-gen\*.sdf</sci:value>
					</sci:arg>
					<sci:arg name="Maximum" type="LongType" required="false" visibility="visible" multi="false">
						<sci:help>The maximum number of data records to read (all if value is empty)</sci:help>
					</sci:arg>
					<sci:arg name="SourceTag" type="StringType" required="true" visibility="visible" multi="false">
						<sci:help>&lt;p&gt;The type of tag to create to identify the source of data records. A property called 
&lt;b&gt;SourceTag&lt;/b&gt; is created and holds the value indicated.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;None&lt;/b&gt;: 
No SourceTag property is created and any existing ones are removed.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Filename&lt;/b&gt;: 
The name of the file read.&lt;/li&gt;&lt;li&gt;&lt;b&gt;FilenameAndExtension&lt;/b&gt;: The name of the 
file read with its file extension.&lt;/li&gt;&lt;li&gt;&lt;b&gt;FullFilename&lt;/b&gt;: The name of the 
file read, including the directory path.&lt;/li&gt;&lt;li&gt;&lt;b&gt;ZipFilename&lt;/b&gt;: When reading 
a compressed zip file, the filename within the compressed archive.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Number&lt;/b&gt;: 
When multiple files are read in this component, they are numbered 1,2,3...&lt;/li&gt;&lt;li&gt;&lt;b&gt;Letter&lt;/b&gt;: 
When multiple files are read in this component, they are lettered A, B, C...&lt;/li&gt;&lt;li&gt;&lt;b&gt;KeepCurrent&lt;/b&gt;: 
Keeps the current value of SourceTag.&lt;/li&gt;&lt;/ul&gt;</sci:help>
						<sci:legalval>None</sci:legalval>
						<sci:legalval selected="true">Filename</sci:legalval>
						<sci:legalval>FilenameAndExtension</sci:legalval>
						<sci:legalval>FullFilename</sci:legalval>
						<sci:legalval>ZipFilename</sci:legalval>
						<sci:legalval>Number</sci:legalval>
						<sci:legalval>Letter</sci:legalval>
						<sci:legalval>KeepCurrent</sci:legalval>
					</sci:arg>
					<sci:arg name="Keep Properties" type="PropertyPreviewType" required="false" visibility="visible" multi="false">
						<sci:help>A list of properties the reader should retain for each data record that is output. If a value is not defined, retains all properties. If the parameter contains the value &quot;-&quot; (minus sign), properties are not retained.</sci:help>
					</sci:arg>
					<sci:arg name="UTF-8 Auto Detect" type="BoolType" required="false" visibility="visible" multi="false" legalvalsenforced="false" uimpl="false">
						<sci:help>&lt;p&gt;UTF-8 is a type of character encoding used to represent international characters with multiple bytes whereas basic Latin characters remain as a single byte.  Files can be stored with a Byte Order Mark (BOM) to indicate that the type of character encoding.&lt;/p&gt;
&lt;p&gt;When reading files that do not have a BOM, this parameter allows the reader to attempt to automatically detect UTF-8 encodings and convert as needed.  However, be aware that automatic detection is not always reliable.  In some cases, valid text stored in different character encodings can appear to be valid UTF-8.  In these cases, the automatic detection will result in garbled text.  When this occurs, you can consider using the &lt;a href=&quot;javascript:DoLink(&apos;{B0B1B56C-3DF6-444C-BB78-B43211188F63}&apos;)&quot;&gt;Binary Reader&lt;/a&gt; to read the file, then converting using the Pilotscript function &lt;b&gt;ConvertBytesToString&lt;/b&gt;&lt;/p&gt;</sci:help>
						<sci:legalval>True</sci:legalval>
						<sci:legalval selected="true">False</sci:legalval>
					</sci:arg>
					<sci:arg name="Additional Options" type="GroupType" required="false" visibility="visible" multi="false" legalvalsenforced="false">
						<sci:help>Contains less commonly used parameters</sci:help>
						<sci:member>ReadProperties</sci:member>
						<sci:member>PutNameInProperty</sci:member>
						<sci:member>ReadQueryInfo</sci:member>
						<sci:member>PutCommentInProperty</sci:member>
						<sci:member>SD Format Options</sci:member>
						<sci:member>Global Templates</sci:member>
					</sci:arg>
					<sci:arg name="SD Format Options" type="StringType" required="false" visibility="visible" multi="true">
						<sci:help>&lt;p&gt;Options available for the SD Reader:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Properties Can Contain $$$$:&lt;/b&gt;  By the CTFile standard, a property can contain a &apos;$$$$&apos;-line.  
Properties or data field values are terminated by a blank line.  Only then will the &apos;$$$$&apos;-line 
terminate the full data block.  Setting this option off will terminate the data block upon any read of 
a &apos;$$$$&apos;-line.  This option is available to provide compatibility with some 3rd Party SD files.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;One-space Lines Terminate Properties:&lt;/b&gt;  By the CTFile standard, properties or data fields values are 
terminated by a blank line. Selecting this option will terminate the data block when encountering a line 
containing a space as the only character in the line.  This option is available to provide compatibility 
with some 3rd Party SD files.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Unwrap Long Property Lines:&lt;/b&gt;  By the CTFile standard, lines in property fields cannot exceed 200 characters.  When this option is selected and a property line of exactly 200 characters is found, the newline character will be ignored and property string will continue on the next line.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Read Unknown Stereo Parity:&lt;/b&gt;  When selected, the SD Reader will use the &apos;Atom Parity&apos; value (parity of 
&apos;3&apos;) to mark unknown stereo centers in 3D mol files.  This will leave these atoms marked as 
&apos;unknown stereo&apos; and will not calculate the stereo from the coordinates.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Process Complex Data Header Lines:&lt;/b&gt; Data header lines are the lines in the SD format that precede the actual data. They can contain the data field name (enclosed in angular brackets &lt;&gt;), the data field number (as DTn), the external registry number (enclosed in parentheses), and other optional information. When this parameter is set to False, only the data field name is parsed and used to set the corresponding property name. All the other information in the line is ignored. When the parameter is set to true, all the information is parsed. The property name is set from either the field name in &lt;&gt; or the DTn. If both are present the field name takes priority and the DTn number is saved as an additional property named &lt;b&gt;FieldName#DTn&lt;/b&gt;. The external registry number is saved as &lt;b&gt;FieldName#ExtRegNum&lt;/b&gt; and any other information is saved as &lt;b&gt;FieldName#OtherDataFieldInfo&lt;/b&gt;. When the molecules are written to an SD file, the data header lines are reconstructed from these properties. The default state of this parameter is False, as parsing, preserving, and eventually writing all the information in the data header lines can be costly, specially for SD files with many data fields.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Convert From H2 And H+ Atom Types:&lt;/b&gt; &apos;H2&apos; and &apos;H+&apos; are two non-standard element types that can be assigned to atoms by the BIOVIA Draw sketcher. They represent unattached Hydrogen (a Hydrogen molecule) and charged Hydrogen (a proton), respectively. When this parameter is selected, these atom types are converted to standard hydrogen atoms upon reading, with charges of 0 for H2 and +1 for H+. Otherwise, these atoms are read and perceived as unknown atom types, with &apos;H2&apos; and &apos;H+&apos; as the atom labels.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Convert Radicals To Pi Systems:&lt;/b&gt; When selected, pi bonds will be perceived between adjacent atoms marked with radicals and any adjacent metal atom.  Once pi bonds are perceived, subsequent exports will represent the pi bonds using the V3000 format and one-to-many coordination bonds (type 9) unless the writer&apos;s &lt;i&gt;Convert Pi Systems To Radicals&lt;/i&gt; option is used to convert the pi systems back. &lt;/li&gt;
&lt;li&gt;&lt;b&gt;Convert GEN+DAT to Polymer Repeat Units:&lt;/b&gt; When selected, this option will automatically convert input GEN sgroups with linked DAT sgroups having the special fieldname of &apos;rc&apos; and numeric or numeric range data internally into polymer repeat sgroups.  This usage is a special type of NONS (Non-Specific Structure) convention that was prototyped in previous releases.  Disabling this conversion will have a higher likelihood of producing a structure that can be registered into Direct databases. &lt;/li&gt;
&lt;li&gt;&lt;b&gt;Always Keep Enhanced Stereo:&lt;/b&gt; Preserves any enhanced stereo collections that are read in from V3000 MOL file.  When disabled, stereo structures will be checked to see if they can be represented more simply using only the Chiral Flag.  That is, structures with only ABS centers can be represented without enhanced stereo by setting the Chiral Flag on and structures with all centers in a single AND group can be represented without enhanced stereo by setting the Chiral Flag off.  Enhanced stereo collections that do not fit into the above cases are always preserved.&lt;/li&gt;
&lt;/ul&gt;</sci:help>
						<sci:legalval selected="true">Properties Can Contain $$$$</sci:legalval>
						<sci:legalval>One-space Lines Terminate Properties</sci:legalval>
						<sci:legalval selected="true">Unwrap Long Property Lines</sci:legalval>
						<sci:legalval>Read Unknown Stereo Parity</sci:legalval>
						<sci:legalval>Process Complex Data Header Lines</sci:legalval>
						<sci:legalval selected="true">Convert From H2 And H+ Atom Types</sci:legalval>
						<sci:legalval>Convert Radicals To Pi Systems</sci:legalval>
						<sci:legalval selected="true">Convert GEN+DAT to Polymer Repeat Units</sci:legalval>
						<sci:legalval>Always Keep Enhanced Stereo</sci:legalval>
					</sci:arg>
					<sci:arg name="ReadProperties" type="BoolType" required="true" visibility="visible" multi="false">
						<sci:help>Select True to read the properties for each molecule (in addition to the structures)</sci:help>
						<sci:legalval selected="true">True</sci:legalval>
						<sci:legalval>False</sci:legalval>
					</sci:arg>
					<sci:arg name="ReadQueryInfo" type="BoolType" required="true" visibility="visible" multi="false">
						<sci:help>If properties starting with &quot;QueryInfo&quot; are present, use them to set up query information on the atoms and bonds. (This is how, for example, SMARTS query information can be preserved when writing to an SD format file.) For molecules saved in MOL/SD format, this information only contains information that cannot be written out in the connection table.</sci:help>
						<sci:legalval>True</sci:legalval>
						<sci:legalval selected="true">False</sci:legalval>
					</sci:arg>
					<sci:arg name="PutNameInProperty" type="StringType" required="false" visibility="visible" multi="false">
						<sci:help>What to call the property that holds the name of each molecule</sci:help>
						<sci:value>Name</sci:value>
					</sci:arg>
					<sci:arg name="PutCommentInProperty" type="StringType" required="false" visibility="visible" multi="false" expanded="true">
						<sci:help>What to call the property that holds the comment associated with each molecule</sci:help>
					</sci:arg>
					<sci:arg name="Global Templates" type="URLType" required="false" visibility="visible" multi="false">
						<sci:help>V3000 SD or MOL files containing template definitions for amino acid, nucleic acid or other residues or monomers. These templates can then be refered to by molecules read by the SD reader.&lt;p&gt;
The default template file included in the Chemistry collection, &lt;i&gt;data\Direct\Direct_templates.mol&lt;/i&gt; contains definitions for 22 amino acids and 8 DNA and RNA templates.</sci:help>
						<sci:value>data\HELM\SCSRtemplates.mol</sci:value>
					</sci:arg>
					<sci:arg name="ComponentAttributes" type="StringType" required="false" visibility="hidden" multi="true">
						<sci:help>Component Attributes</sci:help>
						<sci:legalval>ComponentTakesInput</sci:legalval>
						<sci:legalval selected="true">ComponentReturnsPass</sci:legalval>
						<sci:legalval>ComponentReturnsFail</sci:legalval>
						<sci:legalval>ComponentRunsLocal</sci:legalval>
					</sci:arg>
					<sci:arg name="OnDataTypeError" type="StringType" required="true" visibility="hidden" multi="false">
						<sci:legalval selected="true">Halt</sci:legalval>
						<sci:legalval>Fail</sci:legalval>
						<sci:legalval>Pass</sci:legalval>
					</sci:arg>
					<sci:arg name="OnGeneralError" type="StringType" required="true" visibility="hidden" multi="false">
						<sci:legalval selected="true">Halt</sci:legalval>
						<sci:legalval>Fail</sci:legalval>
						<sci:legalval>Pass</sci:legalval>
					</sci:arg>
					<sci:arg name="CustomErrorText" type="StringType" required="false" visibility="nevershow" multi="false"/>
					<sci:arg name="HasConvertPiSystemOption" type="BoolType" required="false" visibility="nevershow" multi="false" legalvalsenforced="false">
						<sci:help>Hidden flag specifying the presence of the &quot;Convert Radicals To Pi Systems&quot; option.</sci:help>
						<sci:legalval selected="true">True</sci:legalval>
						<sci:legalval>False</sci:legalval>
					</sci:arg>
					<sci:arg name="AllowUnknownDoubleBondsFromCoordinates" type="BoolType" required="false" visibility="nevershow" multi="false">
						<sci:help>According to the CTfile specifications, the cis/trans character of double bonds with bond stereo set to zero is determined from the coordinates. This parameter controls whether or not to assign unknown bond stereo to double bonds for which the stereo could not be determined from the coordinates, either because there are no coordinates or because of colinearity issues.  When the parameter is set to False and the stereo could not be determined, no specific stereo configuration is assigned to the double bond, but it is not marked as unknown stereo.</sci:help>
						<sci:legalval selected="true">True</sci:legalval>
						<sci:legalval>False</sci:legalval>
					</sci:arg>
					<sci:arg name="Registrant" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The user who registered this component.</sci:help>
						<sci:value>scitegic/chemistry</sci:value>
					</sci:arg>
					<sci:arg name="RegistrationDate" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The date this component was registered.</sci:help>
						<sci:value>Wed Apr 06 11:41:13 2016</sci:value>
					</sci:arg>
					<sci:arg name="ComponentDisplayName" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:value>SDF Reader</sci:value>
					</sci:arg>
					<sci:arg name="ComponentIcon" type="StringType" required="true" visibility="nevershow" multi="false">
						<sci:value>DOCUMENTNODE</sci:value>
					</sci:arg>
					<sci:arg name="ComponentGUID" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:value>{CA65B896-4FE6-4E3A-B884-DC16B53B8D26}</sci:value>
					</sci:arg>
					<sci:arg name="DerivedFrom" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The component this component is based upon.</sci:help>
						<sci:value>SD Reader</sci:value>
					</sci:arg>
					<sci:arg name="ComponentDisabled" type="LongType" required="false" visibility="nevershow" multi="false">
						<sci:value>0</sci:value>
					</sci:arg>
					<sci:arg name="ComponentPoint" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:value>90 -270</sci:value>
					</sci:arg>
					<sci:arg name="ComponentHelp" type="StringType" required="false" visibility="nevershow" multi="true">
						<sci:value>100</sci:value>
						<sci:value>Reads MOL (molecule CTAB) files and SD (structured data) files</sci:value>
						<sci:value>&lt;p&gt;Creates a molecular data record for each molecule represented in the &lt;i&gt;Source&lt;/i&gt; 
data file.  All properties contained in the file are read into the data records.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Note:&lt;/b&gt;&lt;p&gt;&lt;ul&gt;&lt;li&gt;This 
component can also read zipped (.zip) and URL-based files.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;b&gt;See 
Also:&lt;/b&gt;&lt;p&gt;&lt;ul&gt;&lt;li&gt;To write files in MOL or SD format, use the &lt;a href=&quot;javascript:DoLink(&apos;{DC8EE7B0-0620-42FE-944C-B4CD1E79480E}&apos;)&quot;&gt;SD 
Writer&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;To convert a molecule to and from between text properties in CTAB 
format, use &lt;a href=&quot;javascript:DoLink(&apos;{E622FBD9-9FA9-451A-A102-1800B5F28B6D}&apos;)&quot;&gt;Molecule 
to CTAB&lt;/a&gt; and &lt;a href=&quot;javascript:DoLink(&apos;{7D354B65-DDD8-4EA4-83A7-21501A8A6852}&apos;)&quot;&gt;Molecule 
from CTAB&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Other related CTFile format file readers include &lt;a href=&quot;javascript:DoLink(&apos;{169AB4E5-A470-477B-AA65-50464411036C}&apos;)&quot;&gt;RG 
Reader&lt;/a&gt;, &lt;a href=&quot;javascript:DoLink(&apos;{036731AA-0015-4606-9750-7D9D020F21C8}&apos;)&quot;&gt;RXN 
Reader&lt;/a&gt; and &lt;a href=&quot;javascript:DoLink(&apos;{55431CCB-06EA-4741-B95B-633C877E3E9B}&apos;)&quot;&gt;RD 
Reader&lt;/a&gt;.&lt;/li&gt; &lt;/ul&gt;</sci:value>
						<sci:value>None</sci:value>
						<sci:value/>
						<sci:value>Molecule</sci:value>
						<sci:value>Data fields in the SD file will be added to the property fields</sci:value>
						<sci:value>None</sci:value>
						<sci:value/>
					</sci:arg>
					<sci:arg name="Component Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false"/>
					<sci:arg name="RegistrationVersion" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The server version when this component was registered</sci:help>
						<sci:value>17.1.0.59</sci:value>
					</sci:arg>
					<sci:arg name="ComponentLocalID" type="LongType" required="false" visibility="nevershow" multi="false">
						<sci:help>Local Component Identifier</sci:help>
						<sci:value>2</sci:value>
					</sci:arg>
					<sci:arg name="Component Path" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The original path within the database of this component.</sci:help>
						<sci:value>Components\Chemistry\Data Access and Manipulation\Readers\SD Reader</sci:value>
					</sci:arg>
				</sci:component>
			</sci:data>
			<sci:data object="SciTegic.CalculateMW.1">
				<sci:component name="Molecular Weight" version="2">
					<sci:arg name="Output" type="StringType" required="true" visibility="visible" multi="true">
						<sci:help>The following properties are available for calculation:
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Molecular_Weight&lt;/b&gt;:  The sum of the atomic masses with the isotope average used for each atomic mass.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Molecular_Mass&lt;/b&gt;:  The sum of the atomic masses with the most common isotope is used for each atomic mass.&lt;/li&gt;
&lt;/ul&gt;

&lt;i&gt;Output&lt;/i&gt; properties can be calculated &quot;on demand&quot; by simply using their names within a PilotScript expression or as the parameter value to many parameters that require a property name.</sci:help>
						<sci:legalval type="DoubleType" selected="true">Molecular_Weight</sci:legalval>
						<sci:legalval type="DoubleType">Molecular_Mass</sci:legalval>
					</sci:arg>
					<sci:arg name="ComponentAttributes" type="StringType" required="false" visibility="hidden" multi="true">
						<sci:help>Component Attributes</sci:help>
						<sci:legalval selected="true">ComponentTakesInput</sci:legalval>
						<sci:legalval selected="true">ComponentReturnsPass</sci:legalval>
						<sci:legalval>ComponentReturnsFail</sci:legalval>
						<sci:legalval>ComponentRunsLocal</sci:legalval>
					</sci:arg>
					<sci:arg name="OnDataTypeError" type="StringType" required="true" visibility="hidden" multi="false">
						<sci:help>When an expected data type is not found during processing:  
  Halt: Terminate the execution of the network
  Fail: Continue execution of the network, passing data out the Fail(red) port
  Pass: Continue execution of the network, passing data out the Pass(green) port</sci:help>
						<sci:legalval selected="true">Halt</sci:legalval>
						<sci:legalval>Fail</sci:legalval>
						<sci:legalval>Pass</sci:legalval>
					</sci:arg>
					<sci:arg name="OnGeneralError" type="StringType" required="true" visibility="hidden" multi="false">
						<sci:help>When an recoverable error occurs during processing:  
  Halt: Terminate the execution of the network
  Fail: Continue execution of the network, passing data out the Fail(red) port
  Pass: Continue execution of the network, passing data out the Pass(green) port</sci:help>
						<sci:legalval selected="true">Halt</sci:legalval>
						<sci:legalval>Fail</sci:legalval>
						<sci:legalval>Pass</sci:legalval>
					</sci:arg>
					<sci:arg name="CustomErrorText" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>Custom Error Message</sci:help>
					</sci:arg>
					<sci:arg name="Registrant" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The user who registered this component.</sci:help>
						<sci:value>scitegic/chemistry</sci:value>
					</sci:arg>
					<sci:arg name="RegistrationDate" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The date this component was registered.</sci:help>
						<sci:value>Tue Oct 31 08:18:26 2006</sci:value>
					</sci:arg>
					<sci:arg name="ComponentDisplayName" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:value>Molecular_weight</sci:value>
					</sci:arg>
					<sci:arg name="DerivedFrom" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The component this component is based upon.</sci:help>
						<sci:value>Molecular Weight</sci:value>
					</sci:arg>
					<sci:arg name="ComponentIcon" type="StringType" required="true" visibility="nevershow" multi="false">
						<sci:value>CALCULATORNODE</sci:value>
					</sci:arg>
					<sci:arg name="ComponentGUID" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:value>{4706C7A2-77DA-4BBF-AEFA-E0D6F4269688}</sci:value>
					</sci:arg>
					<sci:arg name="ComponentPoint" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:value>378 -270</sci:value>
					</sci:arg>
					<sci:arg name="ComponentDisabled" type="LongType" required="false" visibility="nevershow" multi="false">
						<sci:value>0</sci:value>
					</sci:arg>
					<sci:arg name="ComponentHelp" type="StringType" required="false" visibility="nevershow" multi="true">
						<sci:value>100</sci:value>
						<sci:value>Calculates the molecular weight and/or molecular mass</sci:value>
						<sci:value>The following &lt;i&gt;Output&lt;/i&gt; properties are available for calculation:

&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Molecular_Weight&lt;/b&gt;:  The sum of the atomic masses with the isotope average used for each atomic mass.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Molecular_Mass&lt;/b&gt;:  The sum of the atomic masses with the most common isotope is used for each atomic mass.&lt;/li&gt;
&lt;/ul&gt;


</sci:value>
						<sci:value>Molecule</sci:value>
						<sci:value/>
						<sci:value>Molecule</sci:value>
						<sci:value>Records augmented with the calculated properties</sci:value>
						<sci:value>None</sci:value>
						<sci:value/>
					</sci:arg>
					<sci:arg name="Component Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:value>%VERSION 3%</sci:value>
						<sci:value>49 -845 672 227</sci:value>
						<sci:value>255 255 0</sci:value>
						<sci:value>Calculate chemical-physical properties
</sci:value>
					</sci:arg>
					<sci:arg name="ComponentLocalID" type="LongType" required="false" visibility="nevershow" multi="false">
						<sci:help>Local Component Identifier</sci:help>
						<sci:value>6</sci:value>
					</sci:arg>
					<sci:arg name="Component Path" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The original path within the database of this component.</sci:help>
						<sci:value>Components\Chemistry\Property Calculators\Structural\Molecular Weight</sci:value>
					</sci:arg>
				</sci:component>
				<sci:proplist>
					<sci:propval name="RegistrationVersion">6.0.1.7</sci:propval>
					<sci:propval name="Molecular_Weight|Category">Molecular Properties</sci:propval>
					<sci:propval name="Molecular_Mass|Category">Molecular Properties</sci:propval>
				</sci:proplist>
			</sci:data>
			<sci:data object="SciTegic.CalculateALogP.1">
				<sci:component name="ALogP" version="2">
					<sci:arg name="Output" type="StringType" required="false" visibility="visible" multi="true">
						<sci:help>ALogP molecule-level properties to calculate. Available properties are:
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;ALogP&lt;/b&gt;: The Ghose and Crippen octanol-water partition coefficient.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ALogP_MR&lt;/b&gt;:  The Ghose and Crippen estimate of molar refractivity.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ALogP_Count&lt;/b&gt;:  An array of 120 numbers that correspond to the 120 Ghose and Crippen atom types. The content of each array element is the number of times that particular atom type was seen in the molecule&lt;/li&gt;
&lt;/ul&gt;
&lt;i&gt;Output&lt;/i&gt; properties can be calculated &quot;on demand&quot; by simply using their names within a PilotScript expression or as the parameter value to many parameters that require a property name.</sci:help>
						<sci:legalval type="DoubleType" selected="true">ALogP</sci:legalval>
						<sci:legalval type="DoubleType">ALogP_MR</sci:legalval>
						<sci:legalval type="LongType">ALogP_Count</sci:legalval>
					</sci:arg>
					<sci:arg name="Atom Properties Output" type="StringType" required="false" visibility="visible" multi="true">
						<sci:help>These properties are defined for each atom and are stored in the atom property list. &lt;i&gt;Atom Properties Output&lt;/i&gt; specifies which atom-level properties to calculate: 
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;ALogP_AtomClass&lt;/b&gt;: Integer with the Ghose and Crippen atom type assigned to the atom, a number from 1 to 120.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ALogP_AtomClassName&lt;/b&gt;: String describing the Ghose and Crippen atom type assigned to the atom (example: &quot;C in CH2R2&quot;).&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ALogP_AtomScore&lt;/b&gt;: atomic contribution to the total value of ALogP.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ALogP_AtomMRScore&lt;/b&gt;: atomic contribution to the total value of AMR.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
The &lt;i&gt;Atom Properties&lt;/i&gt; component is available for manipulation of atom properties downstream.</sci:help>
						<sci:legalval>ALogP_AtomClass</sci:legalval>
						<sci:legalval>ALogP_AtomClassName</sci:legalval>
						<sci:legalval>ALogP_AtomScore</sci:legalval>
						<sci:legalval>ALogP_AtomMRScore</sci:legalval>
					</sci:arg>
					<sci:arg name="ComponentAttributes" type="StringType" required="false" visibility="hidden" multi="true">
						<sci:help>Component Attributes</sci:help>
						<sci:legalval selected="true">ComponentTakesInput</sci:legalval>
						<sci:legalval selected="true">ComponentReturnsPass</sci:legalval>
						<sci:legalval>ComponentReturnsFail</sci:legalval>
						<sci:legalval>ComponentRunsLocal</sci:legalval>
					</sci:arg>
					<sci:arg name="OnDataTypeError" type="StringType" required="true" visibility="hidden" multi="false">
						<sci:legalval selected="true">Halt</sci:legalval>
						<sci:legalval>Fail</sci:legalval>
						<sci:legalval>Pass</sci:legalval>
					</sci:arg>
					<sci:arg name="OnGeneralError" type="StringType" required="true" visibility="hidden" multi="false">
						<sci:legalval selected="true">Halt</sci:legalval>
						<sci:legalval>Fail</sci:legalval>
						<sci:legalval>Pass</sci:legalval>
					</sci:arg>
					<sci:arg name="CustomErrorText" type="StringType" required="false" visibility="nevershow" multi="false"/>
					<sci:arg name="AtomPropertiesAsPropertiesOnAtoms" type="BoolType" required="false" visibility="nevershow" multi="false">
						<sci:legalval selected="true">True</sci:legalval>
						<sci:legalval>False</sci:legalval>
					</sci:arg>
					<sci:arg name="Registrant" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The user who registered this component.</sci:help>
						<sci:value>scitegic/chemistry</sci:value>
					</sci:arg>
					<sci:arg name="RegistrationDate" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The date this component was registered.</sci:help>
						<sci:value>Fri Feb 04 14:18:01 2011</sci:value>
					</sci:arg>
					<sci:arg name="ComponentGUID" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:value>{F211E9F5-7052-4E5B-9D8D-E234D6EEE41C}</sci:value>
					</sci:arg>
					<sci:arg name="Version" type="StringType" required="true" visibility="nevershow" multi="false">
						<sci:help>Parameter Help</sci:help>
						<sci:legalval>1989</sci:legalval>
						<sci:legalval>1989B</sci:legalval>
						<sci:legalval selected="true">1998</sci:legalval>
					</sci:arg>
					<sci:arg name="AddNames" type="BoolType" required="true" visibility="nevershow" multi="false">
						<sci:help>Parameter Help</sci:help>
						<sci:legalval>True</sci:legalval>
						<sci:legalval selected="true">False</sci:legalval>
					</sci:arg>
					<sci:arg name="IonizeAminoAcids" type="BoolType" required="true" visibility="nevershow" multi="false">
						<sci:help>Whether to identify and ionize molecules with both carboxylic acid and amine groups</sci:help>
						<sci:legalval selected="true">True</sci:legalval>
						<sci:legalval>False</sci:legalval>
					</sci:arg>
					<sci:arg name="ComponentDisplayName" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:value>ALogP</sci:value>
					</sci:arg>
					<sci:arg name="DerivedFrom" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The component this component is based upon.</sci:help>
						<sci:value>ALogP</sci:value>
					</sci:arg>
					<sci:arg name="ComponentDisabled" type="LongType" required="false" visibility="nevershow" multi="false">
						<sci:value>0</sci:value>
					</sci:arg>
					<sci:arg name="ComponentIcon" type="StringType" required="true" visibility="nevershow" multi="false">
						<sci:value>CALCULATORNODE</sci:value>
					</sci:arg>
					<sci:arg name="ComponentPoint" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:value>690 -270</sci:value>
					</sci:arg>
					<sci:arg name="ComponentHelp" type="StringType" required="false" visibility="nevershow" multi="true">
						<sci:value>100</sci:value>
						<sci:value>Calculates LogP and Molar Refractivity by the Ghose and Crippen method</sci:value>
						<sci:value>&lt;p&gt;
Uses the atom-based method published by Ghose and Crippen to calculate the octanol-water partition coefficient (LogP), and the molar refractivity (MR) for the incoming molecules. LogP provides a measure of the hydrophobicity of the molecule, while MR contains information about molecular volume and polarizability.
&lt;/p&gt;
&lt;i&gt;Output&lt;/i&gt; specifies which molecule-level properties to calculate and output for each data record:
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;ALogP&lt;/b&gt;: The Ghose and Crippen octanol-water partition coefficient.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ALogP_MR&lt;/b&gt;:  The Ghose and Crippen estimate of molar refractivity.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ALogP_Count&lt;/b&gt;:  An array of 120 numbers that correspond to the 120 Ghose and Crippen atom types. The content of each array element is the number of times that particular atom type was seen in the molecule&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;b&gt;Notes:&lt;/b&gt; 
&lt;ul&gt;
&lt;li&gt;Atom-level properties are also available. These properties are defined for each atom and are stored in the atom property list. &lt;i&gt;Atom Properties Output&lt;/i&gt; specifies which atom-level properties to calculate.&lt;/li&gt;
&lt;li&gt;For more information on the ALogP method see Ghose, A.K., Viswanadhan V.N., and Wendoloski, J.J., Prediction of Hydrophobic (Lipophilic) Properties of Small Organic Molecules Using Fragment Methods: An Analysis of AlogP and CLogP Methods. J. Phys. Chem. A, 1998, 102, 3762-3772.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;b&gt;See Also:&lt;/b&gt;
&lt;li&gt;To manipulate atomic properties see &lt;a href=&quot;javascript:DoLink(&apos;{B380D0B9-62F9-4b2a-83AE-EEB9465E3F67}&apos;)&quot;&gt;Atom Properties&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;To calculate LogD, the octanol-water partition coefficient calculated taking into account the ionization states of the molecule, see &lt;a href=&quot;javascript:DoLink(&apos;{DDDB7E61-D653-45e8-9564-39FB67159FD4}&apos;)&quot;&gt;logD&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;</sci:value>
						<sci:value>Molecule</sci:value>
						<sci:value/>
						<sci:value>Molecule</sci:value>
						<sci:value>Records augmented with the selected property or properties.</sci:value>
						<sci:value>None</sci:value>
						<sci:value/>
					</sci:arg>
					<sci:arg name="RegistrationVersion" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The server version when this component was registered</sci:help>
						<sci:value>6.0.0.44</sci:value>
					</sci:arg>
					<sci:arg name="Component Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false"/>
					<sci:arg name="ComponentLocalID" type="LongType" required="false" visibility="nevershow" multi="false">
						<sci:help>Local Component Identifier</sci:help>
						<sci:value>8</sci:value>
					</sci:arg>
					<sci:arg name="Component Path" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The original path within the database of this component.</sci:help>
						<sci:value>Components\Chemistry\Property Calculators\Physicochemical\ALogP</sci:value>
					</sci:arg>
				</sci:component>
				<sci:proplist>
					<sci:propval name="ALogP|Category">AlogP</sci:propval>
					<sci:propval name="ALogP_MR|Category">AlogP</sci:propval>
					<sci:propval name="ALogP_Count|Category">AlogP</sci:propval>
				</sci:proplist>
			</sci:data>
			<sci:data object="SciTegic.CalculateVolume.1">
				<sci:component name="Surface Area and Volume" version="2">
					<sci:arg name="Output" type="StringType" required="true" visibility="visible" multi="true">
						<sci:help>&lt;i&gt;Output&lt;/i&gt; properties can be calculated &quot;on demand&quot; by simply using their names within a PilotScript expression or as the parameter value to many parameters that require a property name.</sci:help>
						<sci:member>PolarAtoms</sci:member>
						<sci:legalval type="DoubleType">Molecular_SurfaceArea</sci:legalval>
						<sci:legalval type="DoubleType" selected="true">Molecular_PolarSurfaceArea</sci:legalval>
						<sci:legalval type="DoubleType">Molecular_FractionalPolarSurfaceArea</sci:legalval>
						<sci:legalval type="DoubleType">Molecular_SASA</sci:legalval>
						<sci:legalval type="DoubleType">Molecular_PolarSASA</sci:legalval>
						<sci:legalval type="DoubleType">Molecular_FractionalPolarSASA</sci:legalval>
						<sci:legalval type="DoubleType">Molecular_Volume</sci:legalval>
						<sci:legalval type="DoubleType">Molecular_SAVol</sci:legalval>
					</sci:arg>
					<sci:arg name="PolarAtoms" type="StringType" required="false" visibility="visible" multi="true">
						<sci:help>Select the atoms to be considered polar in the calculation of Molecular_PolarSurfaceArea and Molecular_PolarSASA.


The default setting is to select N, O, P, and S as polar. If a different setting is selected, the selected polar atoms will be appended to the property name. For example, the property name when selecting only N and O as polar atoms will be Molecular_PolarSurfaceArea#NO and Molecular_PolarSASA#NO.</sci:help>
						<sci:legalval selected="true">N</sci:legalval>
						<sci:legalval selected="true">O</sci:legalval>
						<sci:legalval selected="true">P</sci:legalval>
						<sci:legalval selected="true">S</sci:legalval>
					</sci:arg>
					<sci:arg name="ComponentAttributes" type="StringType" required="false" visibility="hidden" multi="true">
						<sci:help>Component Attributes</sci:help>
						<sci:legalval selected="true">ComponentTakesInput</sci:legalval>
						<sci:legalval selected="true">ComponentReturnsPass</sci:legalval>
						<sci:legalval>ComponentReturnsFail</sci:legalval>
						<sci:legalval>ComponentRunsLocal</sci:legalval>
					</sci:arg>
					<sci:arg name="OnDataTypeError" type="StringType" required="true" visibility="hidden" multi="false">
						<sci:legalval selected="true">Halt</sci:legalval>
						<sci:legalval>Fail</sci:legalval>
						<sci:legalval>Pass</sci:legalval>
					</sci:arg>
					<sci:arg name="OnGeneralError" type="StringType" required="true" visibility="hidden" multi="false">
						<sci:legalval selected="true">Halt</sci:legalval>
						<sci:legalval>Fail</sci:legalval>
						<sci:legalval>Pass</sci:legalval>
					</sci:arg>
					<sci:arg name="CustomErrorText" type="StringType" required="false" visibility="nevershow" multi="false"/>
					<sci:arg name="Registrant" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The user who registered this component.</sci:help>
						<sci:value>scitegic/chemistry</sci:value>
					</sci:arg>
					<sci:arg name="RegistrationDate" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The date this component was registered.</sci:help>
						<sci:value>Fri Feb 04 14:21:45 2011</sci:value>
					</sci:arg>
					<sci:arg name="ComponentDisplayName" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:value>PSA</sci:value>
					</sci:arg>
					<sci:arg name="DerivedFrom" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The component this component is based upon.</sci:help>
						<sci:value>Molecular Volume</sci:value>
					</sci:arg>
					<sci:arg name="ComponentIcon" type="StringType" required="true" visibility="nevershow" multi="false">
						<sci:value>CALCULATORNODE</sci:value>
					</sci:arg>
					<sci:arg name="ComponentGUID" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:value>{5D1413B8-2FAB-4C85-AB2E-240CC4AAA1CC}</sci:value>
					</sci:arg>
					<sci:arg name="ComponentPoint" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:value>978 -270</sci:value>
					</sci:arg>
					<sci:arg name="ComponentDisabled" type="LongType" required="false" visibility="nevershow" multi="false">
						<sci:value>0</sci:value>
					</sci:arg>
					<sci:arg name="ComponentHelp" type="StringType" required="false" visibility="nevershow" multi="true">
						<sci:value>100</sci:value>
						<sci:value>Calculates surface area, polar surface area (PSA) and volume properties for each molecule</sci:value>
						<sci:value>&lt;p&gt;Calculates one or more of the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Molecular_SurfaceArea&lt;/b&gt;: Calculates the total surface area for each molecule using a 2D approximation.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Molecular_PolarSurfaceArea&lt;/b&gt;: Calculates the polar surface area for each molecule using a 2D approximation.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Molecular_FractionalPolarSurfaceArea&lt;/b&gt;: The ratio of the polar surface area divided by the total surface area.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Molecular_Volume&lt;/b&gt;: Calculates the 3D volume for each molecule using the current 3D coordinates. The component will fail if there are no 3D coordinates for the molecule.  The &lt;i&gt;3D Coords&lt;/i&gt; and &lt;i&gt;Minimize Molecule&lt;/i&gt; components can be used prior to the molecular volume calculation if no 3D coordinates are present for the molecules on the input stream. &lt;/li&gt;
&lt;li&gt;&lt;b&gt;Molecular_SASA&lt;/b&gt;: Calculates the total solvent accessible surface area for each molecule using a 2D approximation.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Molecular_PolarSASA&lt;/b&gt;: Calculates the polar solvent accessible surface area for each molecule using a 2D approximation. The polar solvent accessible surface area is defined as the sum of the solvent accessible surface area of all the selected polar elements, which can include N, O, P, and S.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Molecular_FractionalPolarSASA&lt;/b&gt;: The ratio of the polar solvent accessible surface area divided by the total solvent accessible surface area.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Molecular_SAVol&lt;/b&gt;: Calculates the solvent accessible volume for each molecule using a 2D approximation.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;Notes: &lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Solvent accessible surface area and solvent accessible volume are calculated assuming a solvent probe radius of 1.4 Angstroms.&lt;/li&gt;
&lt;li&gt;The  Molecular_SurfaceArea and Molecular_PolarSurfaceArea descriptors are calculated using a method based on the published method: &quot;Fast calculation of molecular polar surface area as a sum of fragment based contributions and its application to the prediction of drug transport  properties&quot;, Ertl, P., Rohde, B., Selzer, P., &lt;i&gt;J. Med. Chem.&lt;/i&gt; 2000, &lt;b&gt;43&lt;/b&gt;, 3714-3717.&lt;/li&gt;
&lt;li&gt;The solvent-accessible surface area descriptors measure the surface area exposed to a solvent probe. It is based on a 2D approximation which uses models parameterized to reproduce the results obtained with a full 3D calculation using a dot-based method similar to the one originally described in: &quot;Environment and exposure to solvent of protein atoms, lysozyme and insulin&quot;, Shrake, A.  and Rupley, J.A., &lt;i&gt;J. Mol. Biol.&lt;/i&gt;, &lt;b&gt;79&lt;/b&gt;, 351-371, 1973. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;See Also:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;To quickly generate 3D coordinates for a molecule, use the &lt;a href=&quot;javascript:DoLink(&apos;{E145CB33-02C3-455E-94CC-F0FA0B88B2AC}&apos;)&quot;&gt;3D Coords&lt;/a&gt; or &lt;a href=&quot;javascript:DoLink(&apos;{E88DC05D-6E85-40D2-933C-F49DABE0F3BA}&apos;)&quot;&gt;3D Conformations&lt;/a&gt; components.&lt;/li&gt;
&lt;li&gt;To generate 3D coordinates using the Clean force-field, use the &lt;a href=&quot;javascript:DoLink(&apos;{FA683576-279B-429B-A1D1-D6B784A8FF8F}&apos;)&quot;&gt;Minimize Molecule&lt;/a&gt; component.

&lt;li&gt;For more details see the Chemistry Guide Help topic &lt;a href=&quot;javascript:DoLink(&apos;sciapps/scitegic/chemistry/docs/chemistry_one.pdf&apos;)&quot;&gt;Molecular Surface Area&lt;/a&gt;.
&lt;/li&gt;
&lt;/ul&gt;
</sci:value>
						<sci:value>Molecule</sci:value>
						<sci:value/>
						<sci:value>Molecule</sci:value>
						<sci:value>Data records augmented with the calculated properties</sci:value>
						<sci:value>None</sci:value>
						<sci:value/>
					</sci:arg>
					<sci:arg name="Component Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false"/>
					<sci:arg name="RegistrationVersion" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The server version when this component was registered</sci:help>
						<sci:value>6.0.1.6</sci:value>
					</sci:arg>
					<sci:arg name="ComponentLocalID" type="LongType" required="false" visibility="nevershow" multi="false">
						<sci:help>Local Component Identifier</sci:help>
						<sci:value>9</sci:value>
					</sci:arg>
					<sci:arg name="Component Path" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The original path within the database of this component.</sci:help>
						<sci:value>Components\Chemistry\Property Calculators\Physicochemical\Surface Area and Volume</sci:value>
					</sci:arg>
				</sci:component>
				<sci:proplist>
					<sci:propval name="Molecular_SurfaceArea|Category">Surface Area and Volume</sci:propval>
					<sci:propval name="Molecular_PolarSurfaceArea|Category">Surface Area and Volume</sci:propval>
					<sci:propval name="Molecular_FractionalPolarSurfaceArea|Category">Surface Area and Volume</sci:propval>
					<sci:propval name="Molecular_SASA|Category">Surface Area and Volume</sci:propval>
					<sci:propval name="Molecular_PolarSASA|Category">Surface Area and Volume</sci:propval>
					<sci:propval name="Molecular_FractionalPolarSASA|Category">Surface Area and Volume</sci:propval>
					<sci:propval name="Molecular_Volume|Category">Surface Area and Volume</sci:propval>
					<sci:propval name="Molecular_SAVol|Category">Surface Area and Volume</sci:propval>
				</sci:proplist>
			</sci:data>
			<sci:data object="SciTegic.CalculateMoleculeInfo.1">
				<sci:component name="Molecular Property Counts" version="2">
					<sci:arg name="Output" type="StringType" required="false" visibility="visible" multi="true">
						<sci:help>&lt;i&gt;Output&lt;/i&gt; properties can be calculated &quot;on demand&quot; by simply using their names within a PilotScript expression or as the parameter value to many parameters that require a property name.</sci:help>
						<sci:legalval type="LongType">Num_Atoms</sci:legalval>
						<sci:legalval type="LongType">Num_Bonds</sci:legalval>
						<sci:legalval type="LongType">Num_ExplicitAtoms</sci:legalval>
						<sci:legalval type="LongType">Num_ExplicitBonds</sci:legalval>
						<sci:legalval type="LongType">Num_Hydrogens</sci:legalval>
						<sci:legalval type="LongType">Num_ExplicitHydrogens</sci:legalval>
						<sci:legalval type="LongType">Num_PositiveAtoms</sci:legalval>
						<sci:legalval type="LongType">Num_NegativeAtoms</sci:legalval>
						<sci:legalval type="LongType">Num_RingBonds</sci:legalval>
						<sci:legalval type="LongType" selected="true">Num_RotatableBonds</sci:legalval>
						<sci:legalval type="LongType">Num_AromaticBonds</sci:legalval>
						<sci:legalval type="LongType">Num_BridgeBonds</sci:legalval>
						<sci:legalval type="LongType">Num_RingFusionBonds</sci:legalval>
						<sci:legalval type="LongType">Num_SingleBonds</sci:legalval>
						<sci:legalval type="LongType">Num_DoubleBonds</sci:legalval>
						<sci:legalval type="LongType">Num_TripleBonds</sci:legalval>
						<sci:legalval type="LongType">Num_AliphaticSingleBonds</sci:legalval>
						<sci:legalval type="LongType">Num_AliphaticDoubleBonds</sci:legalval>
						<sci:legalval type="LongType">Num_DativeBonds</sci:legalval>
						<sci:legalval type="LongType">Num_HydrogenBonds</sci:legalval>
						<sci:legalval type="LongType">Num_Rings</sci:legalval>
						<sci:legalval type="LongType">Num_AromaticRings</sci:legalval>
						<sci:legalval type="LongType">Num_RingAssemblies</sci:legalval>
						<sci:legalval type="LongType">Num_Rings3</sci:legalval>
						<sci:legalval type="LongType">Num_Rings4</sci:legalval>
						<sci:legalval type="LongType">Num_Rings5</sci:legalval>
						<sci:legalval type="LongType">Num_Rings6</sci:legalval>
						<sci:legalval type="LongType">Num_Rings7</sci:legalval>
						<sci:legalval type="LongType">Num_Rings8</sci:legalval>
						<sci:legalval type="LongType">Num_Rings9Plus</sci:legalval>
						<sci:legalval type="LongType">Num_Chains</sci:legalval>
						<sci:legalval type="LongType">Num_ChainAssemblies</sci:legalval>
						<sci:legalval type="LongType">Num_Fragments</sci:legalval>
						<sci:legalval type="LongType">Num_ComplexedFragments</sci:legalval>
						<sci:legalval type="LongType">Num_StereoAtoms</sci:legalval>
						<sci:legalval type="LongType">Num_StereoBonds</sci:legalval>
						<sci:legalval type="LongType">Num_UnknownStereoAtoms</sci:legalval>
						<sci:legalval type="LongType">Num_UnknownStereoBonds</sci:legalval>
						<sci:legalval type="LongType">Num_TrueStereoAtoms</sci:legalval>
						<sci:legalval type="LongType">Num_UnknownTrueStereoAtoms</sci:legalval>
						<sci:legalval type="LongType">Num_PseudoStereoAtoms</sci:legalval>
						<sci:legalval type="LongType">Num_UnknownPseudoStereoAtoms</sci:legalval>
						<sci:legalval type="LongType">Num_TrueStereoAtomsCIP</sci:legalval>
						<sci:legalval type="LongType">Num_UnknownTrueStereoAtomsCIP</sci:legalval>
						<sci:legalval type="LongType">Num_PseudoStereoAtomsCIP</sci:legalval>
						<sci:legalval type="LongType">Num_UnknownPseudoStereoAtomsCIP</sci:legalval>
						<sci:legalval type="LongType">Num_MesoStereoAtomsCIP</sci:legalval>
						<sci:legalval type="LongType">Num_EnhancedStereoAtoms</sci:legalval>
						<sci:legalval type="LongType">Num_AlleneStereoCenters</sci:legalval>
						<sci:legalval type="LongType">Num_TrueAlleneStereoCenters</sci:legalval>
						<sci:legalval type="LongType">Num_AtropisomerCenters</sci:legalval>
						<sci:legalval type="LongType">Num_TrueAtropisomerCenters</sci:legalval>
						<sci:legalval type="LongType">Num_AxialStereoCenters</sci:legalval>
						<sci:legalval type="LongType">Num_SquarePlanarCenters</sci:legalval>
						<sci:legalval type="LongType">Num_TrigonalBiPyramidalCenters</sci:legalval>
						<sci:legalval type="LongType">Num_OctahedralCenters</sci:legalval>
						<sci:legalval type="LongType">Num_AtomClasses</sci:legalval>
						<sci:legalval type="LongType">Num_Macro_Chains</sci:legalval>
						<sci:legalval type="LongType">Num_Macro_Residues</sci:legalval>
						<sci:legalval type="LongType">Num_TerminalRotomers</sci:legalval>
						<sci:legalval type="LongType">Num_SpiroAtoms</sci:legalval>
						<sci:legalval type="LongType">Num_BridgeHeadAtoms</sci:legalval>
						<sci:legalval type="LongType">Num_MetalAtoms</sci:legalval>
						<sci:legalval type="LongType">Num_PiBonds</sci:legalval>
						<sci:legalval type="LongType">Num_Isotopes</sci:legalval>
						<sci:legalval type="LongType">Num_QueryAtoms</sci:legalval>
						<sci:legalval type="LongType">Num_QueryBonds</sci:legalval>
						<sci:legalval type="BoolType">Num_RGroupFragments</sci:legalval>
						<sci:legalval type="LongType">Num_LinkAtoms</sci:legalval>
					</sci:arg>
					<sci:arg name="ComponentAttributes" type="StringType" required="false" visibility="hidden" multi="true">
						<sci:help>Component Attributes</sci:help>
						<sci:legalval selected="true">ComponentTakesInput</sci:legalval>
						<sci:legalval selected="true">ComponentReturnsPass</sci:legalval>
						<sci:legalval>ComponentReturnsFail</sci:legalval>
						<sci:legalval>ComponentRunsLocal</sci:legalval>
					</sci:arg>
					<sci:arg name="OnDataTypeError" type="StringType" required="true" visibility="hidden" multi="false">
						<sci:legalval selected="true">Halt</sci:legalval>
						<sci:legalval>Fail</sci:legalval>
						<sci:legalval>Pass</sci:legalval>
					</sci:arg>
					<sci:arg name="OnGeneralError" type="StringType" required="true" visibility="hidden" multi="false">
						<sci:legalval selected="true">Halt</sci:legalval>
						<sci:legalval>Fail</sci:legalval>
						<sci:legalval>Pass</sci:legalval>
					</sci:arg>
					<sci:arg name="CustomErrorText" type="StringType" required="false" visibility="nevershow" multi="false"/>
					<sci:arg name="Registrant" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The user who registered this component.</sci:help>
						<sci:value>scitegic/chemistry</sci:value>
					</sci:arg>
					<sci:arg name="RegistrationDate" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The date this component was registered.</sci:help>
						<sci:value>Mon Jan 25 09:15:49 2016</sci:value>
					</sci:arg>
					<sci:arg name="ComponentDisplayName" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:value>Num_RotatableBonds</sci:value>
					</sci:arg>
					<sci:arg name="DerivedFrom" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The component this component is based upon.</sci:help>
						<sci:value>Molecular Property Counts</sci:value>
					</sci:arg>
					<sci:arg name="ComponentIcon" type="StringType" required="true" visibility="nevershow" multi="false">
						<sci:value>CALCULATORNODE</sci:value>
					</sci:arg>
					<sci:arg name="ComponentGUID" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:value>{74147AAA-1C18-4308-9899-EB7896C88DBE}</sci:value>
					</sci:arg>
					<sci:arg name="ComponentPoint" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:value>1290 -270</sci:value>
					</sci:arg>
					<sci:arg name="ComponentDisabled" type="LongType" required="false" visibility="nevershow" multi="false">
						<sci:value>0</sci:value>
					</sci:arg>
					<sci:arg name="ComponentHelp" type="StringType" required="false" visibility="nevershow" multi="true">
						<sci:value>100</sci:value>
						<sci:value>Calculates counts of molecular features</sci:value>
						<sci:value>&lt;p&gt;The &lt;i&gt;Output&lt;/i&gt; specifies which molecular features are counted. Each selection creates a property on the output data record. This is more efficient than using a consecutive series of individual property calculators.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;See Also:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;For information on which molecular features can be counted, see the Chemistry User Guide help topic for &lt;a href=&quot;javascript:DoLink(&apos;sciapps/scitegic/chemistry/docs/chemistry_one.pdf&apos;)&quot;&gt;Molecular Property Counts&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;</sci:value>
						<sci:value>Molecule</sci:value>
						<sci:value/>
						<sci:value>Molecule</sci:value>
						<sci:value>Records augmented with the required property or properties</sci:value>
						<sci:value>None</sci:value>
						<sci:value/>
					</sci:arg>
					<sci:arg name="RegistrationVersion" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The server version when this component was registered</sci:help>
						<sci:value>16.1.0.1140</sci:value>
					</sci:arg>
					<sci:arg name="Component Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false"/>
					<sci:arg name="ComponentLocalID" type="LongType" required="false" visibility="nevershow" multi="false">
						<sci:help>Local Component Identifier</sci:help>
						<sci:value>10</sci:value>
					</sci:arg>
					<sci:arg name="Component Path" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The original path within the database of this component.</sci:help>
						<sci:value>Components\Chemistry\Property Calculators\Structural\Molecular Property Counts</sci:value>
					</sci:arg>
				</sci:component>
				<sci:proplist>
					<sci:propval name="Num_Atoms|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_Bonds|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_Hydrogens|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_PositiveAtoms|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_NegativeAtoms|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_RingBonds|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_RotatableBonds|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_AromaticBonds|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_BridgeBonds|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_RingFusionBonds|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_SingleBonds|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_DoubleBonds|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_TripleBonds|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_AliphaticSingleBonds|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_AliphaticDoubleBonds|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_DativeBonds|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_HydrogenBonds|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_Rings|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_AromaticRings|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_RingAssemblies|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_Chains|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_ChainAssemblies|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_Fragments|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_ComplexedFragments|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_ExplicitAtoms|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_ExplicitBonds|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_ExplicitHydrogens|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_Rings3|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_Rings4|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_Rings5|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_Rings6|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_Rings7|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_Rings8|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_Rings9Plus|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_StereoAtoms|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_StereoBonds|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_UnknownStereoAtoms|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_UnknownStereoBonds|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_TrueStereoAtoms|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_UnknownTrueStereoAtoms|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_PseudoStereoAtoms|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_UnknownPseudoStereoAtoms|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_TrueStereoAtomsCIP|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_UnknownTrueStereoAtomsCIP|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_PseudoStereoAtomsCIP|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_UnknownPseudoStereoAtomsCIP|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_MesoStereoAtomsCIP|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_EnhancedStereoAtoms|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_AlleneStereoCenters|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_TrueAlleneStereoCenters|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_AtropisomerCenters|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_TrueAtropisomerCenters|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_AxialStereoCenters|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_SquarePlanarCenters|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_OctahedralCenters|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_AtomClasses|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_Macro_Chains|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_Macro_Residues|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_TerminalRotomers|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_SpiroAtoms|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_BridgeHeadAtoms|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_MetalAtoms|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_PiBonds|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_Isotopes|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_QueryAtoms|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_QueryBonds|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_RGroupFragments|Category">Molecular Property Counts</sci:propval>
					<sci:propval name="Num_LinkAtoms|Category">Molecular Property Counts</sci:propval>
				</sci:proplist>
			</sci:data>
			<sci:data object="SciTegic.EvaluateExpression.1">
				<sci:component name="Custom Filter (PilotScript)" version="2">
					<sci:arg name="Expression" type="ExpressionType" required="true" visibility="visible" multi="false" implbase="{DD58ECD1-516F-48FE-A5DB-8328AED680F2}">
						<sci:help>The PilotScript expression used to filter the data.</sci:help>
						<sci:member>Initial Expression</sci:member>
						<sci:member>Final Expression</sci:member>
						<sci:member>Keep Calculated Properties</sci:member>
						<sci:value>Molecular_weight &lt;1200 AND AlogP&lt;7 AND AlogP&gt;-1 AND Molecular_PolarSurfaceArea&lt;125 AND Num_RotatableBonds&lt;12;</sci:value>
					</sci:arg>
					<sci:arg name="Initial Expression" type="ExpressionType" required="false" visibility="visible" multi="false" implbase="{DD58ECD1-516F-48FE-A5DB-8328AED680F2}">
						<sci:help>&lt;p&gt;
An expression evaluated only when the component
is first initialized (when the first data record enters).
&lt;p/&gt;
Since there is no data available at initialization time, only expressions referencing local or global properties are allowed.
&lt;/p&gt;</sci:help>
					</sci:arg>
					<sci:arg name="Final Expression" type="ExpressionType" required="false" visibility="visible" multi="false" implbase="{DD58ECD1-516F-48FE-A5DB-8328AED680F2}">
						<sci:help>&lt;p&gt;
An expression evaluated only when the
component is finalized (once the last data
record has passed).
&lt;p/&gt;
Since there is no data available at finalization time, only expressions referencing local or global properties are allowed.
&lt;/p&gt;</sci:help>
					</sci:arg>
					<sci:arg name="Keep Calculated Properties" type="BoolType" required="true" visibility="visible" multi="false" implbase="{DD58ECD1-516F-48FE-A5DB-8328AED680F2}">
						<sci:help>Allows any properties that were calculated in
&quot;Expression&quot; to be included with the exiting
record.
Otherwise, these properties are removed after
the evaluation is complete.</sci:help>
						<sci:legalval>True</sci:legalval>
						<sci:legalval selected="true">False</sci:legalval>
					</sci:arg>
					<sci:arg name="ComponentAttributes" type="StringType" required="false" visibility="hidden" multi="true">
						<sci:help>Component Attributes</sci:help>
						<sci:legalval selected="true">ComponentTakesInput</sci:legalval>
						<sci:legalval selected="true">ComponentReturnsPass</sci:legalval>
						<sci:legalval selected="true">ComponentReturnsFail</sci:legalval>
						<sci:legalval>ComponentRunsLocal</sci:legalval>
					</sci:arg>
					<sci:arg name="OnDataTypeError" type="StringType" required="true" visibility="hidden" multi="false">
						<sci:legalval selected="true">Halt</sci:legalval>
						<sci:legalval>Fail</sci:legalval>
						<sci:legalval>Pass</sci:legalval>
					</sci:arg>
					<sci:arg name="OnGeneralError" type="StringType" required="true" visibility="hidden" multi="false">
						<sci:legalval selected="true">Halt</sci:legalval>
						<sci:legalval>Fail</sci:legalval>
						<sci:legalval>Pass</sci:legalval>
					</sci:arg>
					<sci:arg name="CustomErrorText" type="StringType" required="false" visibility="nevershow" multi="false"/>
					<sci:arg name="ExpressionVersion" type="LongType" required="false" visibility="nevershow" multi="false" implbase="{DD58ECD1-516F-48FE-A5DB-8328AED680F2}">
						<sci:help>Version of expression parser to use.</sci:help>
						<sci:value>2</sci:value>
					</sci:arg>
					<sci:arg name="Registrant" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The user who registered this component.</sci:help>
						<sci:value>scitegic/generic</sci:value>
					</sci:arg>
					<sci:arg name="RegistrationDate" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The date this component was registered.</sci:help>
						<sci:value>Mon Jan 21 09:57:16 2008</sci:value>
					</sci:arg>
					<sci:arg name="ComponentDisplayName" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:value>chemical-physical filter</sci:value>
					</sci:arg>
					<sci:arg name="ComponentAutoDisplayName" type="ExpressionType" required="false" visibility="nevershow" multi="false">
						<sci:help>Automatically update the component display name when the &quot;Expression&quot; property is changed. This feature is turned off after the user manually changes the display name of the component in Protocol workspace.</sci:help>
						<sci:value>#displayName := trim(Parameter(&apos;Expression&apos;, 2));
if(strlength(#displayName) &gt; 0) then	
	/* Find the first line break */
	#nl := FindSubstring(#displayName, &quot;\r&quot;);
	if #nl &lt;= 0 then
		#nl := FindSubstring(#displayName, &quot;\n&quot;);
	end if;

	/* Keep the first line only */
	if (#nl &gt; 0) then
		StrErase(#displayName, #nl);
	end if;
	
	#displayName;
else
	&quot;&quot;;
end if;</sci:value>
					</sci:arg>
					<sci:arg name="ComponentIcon" type="StringType" required="true" visibility="nevershow" multi="false">
						<sci:value>FILTERNODE</sci:value>
					</sci:arg>
					<sci:arg name="DerivedFrom" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The component this component is based upon.</sci:help>
						<sci:value>Custom Filter (PilotScript)</sci:value>
					</sci:arg>
					<sci:arg name="ComponentDisabled" type="LongType" required="false" visibility="nevershow" multi="false">
						<sci:value>0</sci:value>
					</sci:arg>
					<sci:arg name="ComponentGUID" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:value>{DD58ECD1-516F-48FE-A5DB-8328AED680F2}</sci:value>
					</sci:arg>
					<sci:arg name="ComponentPoint" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:value>1578 -270</sci:value>
					</sci:arg>
					<sci:arg name="ComponentHelp" type="StringType" required="false" visibility="nevershow" multi="true">
						<sci:value>100</sci:value>
						<sci:value>Passes data records for which a PilotScript expression evaluates to True

</sci:value>
						<sci:value>&lt;p&gt;For each incoming data record, the PilotScript statements in &lt;i&gt;Expression&lt;/i&gt; are evaluated. If the last statement in the expression evaluates to True or non-zero, the record is sent out the Pass port. Otherwise it is sent out the Fail port.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Notes:&lt;/b&gt;
&lt;ul&gt;
&lt;li&gt;To initialize global variables such as counters, use &lt;i&gt;Initial Expression&lt;/i&gt;.&lt;/li&gt; 
&lt;li&gt;To clean up global variables or calculate final results use &lt;i&gt;Final Expression&lt;/i&gt;.&lt;/li&gt;
&lt;li&gt;Parameters on Custom Manipulators do not become global variables that can be accessed via &lt;i&gt;@ParameterName&lt;/i&gt; syntax.  They must be accessed by using the &lt;i&gt;Parameter(&apos;ParameterName&apos;)&lt;/i&gt; function or by using token substitution via &lt;i&gt;$(ParameterName)&lt;/i&gt; syntax.&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
</sci:value>
						<sci:value>Generic</sci:value>
						<sci:value/>
						<sci:value>Generic</sci:value>
						<sci:value>Data records for which the final expression in the PilotScript evaluates to True or non-zero</sci:value>
						<sci:value>Generic</sci:value>
						<sci:value>Data records for which the final expression in the PilotScript evaluates to False or zero</sci:value>
					</sci:arg>
					<sci:arg name="Component Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:value>%VERSION 3%</sci:value>
						<sci:value>770 -845 1037 227</sci:value>
						<sci:value>255 255 0</sci:value>
						<sci:value>Molecular_weight &lt; 800 AND AlogP = 1-7 AND Molecular_PolarSurfaceArea (PSA) &lt;125 AND Num_RotatableBonds&lt;12;</sci:value>
					</sci:arg>
					<sci:arg name="ComponentLocalID" type="LongType" required="false" visibility="nevershow" multi="false">
						<sci:help>Local Component Identifier</sci:help>
						<sci:value>12</sci:value>
					</sci:arg>
					<sci:arg name="Component Path" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The original path within the database of this component.</sci:help>
						<sci:value>Components\Data Access and Manipulation\Property Filters\Custom Filter (PilotScript)</sci:value>
					</sci:arg>
				</sci:component>
				<sci:proplist>
					<sci:propval name="RegistrationVersion">7.0.0.35</sci:propval>
				</sci:proplist>
			</sci:data>
			<sci:data object="SciTegic.Protocol.1">
				<sci:component name="Subprotocol" version="2">
					<sci:arg name="Tempfiles" type="StringType" required="false" visibility="hidden" multi="false" implbase="{17001C74-63CE-4B4B-B37C-F0EAA19CE4AA}">
						<sci:help>Temporary files converted by the network to true temporary filenames</sci:help>
					</sci:arg>
					<sci:arg name="DeclareLocal" type="StringType" required="false" visibility="hidden" multi="false" implbase="{17001C74-63CE-4B4B-B37C-F0EAA19CE4AA}">
						<sci:help>Lists a set of properties (without the @) to create on the property list for this protocol. Other properties are created on the global property list and are accessible from all protocols.</sci:help>
					</sci:arg>
					<sci:arg name="RunToCompletion" type="BoolType" required="false" visibility="hidden" multi="false" implbase="{17001C74-63CE-4B4B-B37C-F0EAA19CE4AA}">
						<sci:help>When the network runs, processes once or until done for each process call</sci:help>
						<sci:legalval>True</sci:legalval>
						<sci:legalval selected="true">False</sci:legalval>
					</sci:arg>
					<sci:arg name="ComponentAttributes" type="StringType" required="false" visibility="hidden" multi="true">
						<sci:help>Component Attributes</sci:help>
						<sci:legalval selected="true">ComponentTakesInput</sci:legalval>
						<sci:legalval selected="true">ComponentReturnsPass</sci:legalval>
						<sci:legalval>ComponentReturnsFail</sci:legalval>
						<sci:legalval>ComponentRunsLocal</sci:legalval>
					</sci:arg>
					<sci:arg name="OnDataTypeError" type="StringType" required="true" visibility="hidden" multi="false">
						<sci:legalval selected="true">Halt</sci:legalval>
						<sci:legalval>Fail</sci:legalval>
						<sci:legalval>Pass</sci:legalval>
					</sci:arg>
					<sci:arg name="OnGeneralError" type="StringType" required="true" visibility="hidden" multi="false">
						<sci:legalval selected="true">Halt</sci:legalval>
						<sci:legalval>Fail</sci:legalval>
						<sci:legalval>Pass</sci:legalval>
					</sci:arg>
					<sci:arg name="CustomErrorText" type="StringType" required="false" visibility="nevershow" multi="false"/>
					<sci:arg name="Registrant" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The user who registered this component.</sci:help>
						<sci:value>scitegic/core</sci:value>
					</sci:arg>
					<sci:arg name="RegistrationDate" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The date this component was registered.</sci:help>
						<sci:value>Mon Feb 27 15:32:44 2006</sci:value>
					</sci:arg>
					<sci:arg name="ComponentComment" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>Component Comment</sci:help>
						<sci:value>Defines a subprotocol in a pipeline. When you are creating a pipeline that requires a subprotocol as a component, drag this component into the pipeline, open it, and add components to it.</sci:value>
					</sci:arg>
					<sci:arg name="ComponentUsage" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>Component Usage</sci:help>
						<sci:value>When you are creating a pipeline which requires a subprotocol as 
a component, you can drag this SubProtocol component into the 
pipeline, open it, and add components into it.</sci:value>
					</sci:arg>
					<sci:arg name="ComponentDisplayName" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:value> clustering</sci:value>
					</sci:arg>
					<sci:arg name="ProtocolAutoLayout" type="BoolType" required="false" visibility="nevershow" multi="false">
						<sci:help>Protocol AutoLayout</sci:help>
						<sci:value>1</sci:value>
					</sci:arg>
					<sci:arg name="ProtocolShowComment" type="BoolType" required="false" visibility="nevershow" multi="false">
						<sci:help>Protocol ShowComment</sci:help>
						<sci:value>true</sci:value>
					</sci:arg>
					<sci:arg name="ProtocolComment" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>Add Protocol Comment Here</sci:help>
						<sci:value>Add Protocol Comment Here</sci:value>
					</sci:arg>
					<sci:arg name="ComponentDisabled" type="LongType" required="false" visibility="nevershow" multi="false">
						<sci:value>0</sci:value>
					</sci:arg>
					<sci:arg name="ComponentIcon" type="StringType" required="true" visibility="nevershow" multi="false">
						<sci:value>SubProtocolNode</sci:value>
					</sci:arg>
					<sci:arg name="ComponentRevision" type="LongType" required="true" visibility="nevershow" multi="false">
						<sci:help>Component Revision</sci:help>
						<sci:value>100</sci:value>
					</sci:arg>
					<sci:arg name="DerivedFrom" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The component this component is based upon.</sci:help>
						<sci:value>SubProtocol</sci:value>
					</sci:arg>
					<sci:arg name="ComponentGUID" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:value>{17001C74-63CE-4B4B-B37C-F0EAA19CE4AA}</sci:value>
					</sci:arg>
					<sci:arg name="ComponentPoint" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:value>2178 -270</sci:value>
					</sci:arg>
					<sci:arg name="ByReference" type="BoolType" required="false" visibility="nevershow" multi="false">
						<sci:help>By Ref</sci:help>
						<sci:value>0</sci:value>
					</sci:arg>
					<sci:arg name="ComponentHelp" type="StringType" required="false" visibility="nevershow" multi="true">
						<sci:value>100</sci:value>
						<sci:value>Builds subprotocols in Pipeline Pilot.</sci:value>
						<sci:value>Use a subprotocol to collapse one or more components into a single item. Open a subprotocol to view or edit its contents. 

To define input and output ports, right-click and select Edit. You can save subprotocols and reuse them. For more information, see the User Guide help for &lt;a href=&quot;javascript:DoLink(&apos;scihelpdocs/user/subprots/subprot_overview.htm &apos;)&quot;&gt;Subprotocols Overview&lt;/a&gt;.

Tip: Any component can be made into a shortcut, so that the latest version is always used. For more information, see &lt;a href=&quot;javascript:DoLink(&apos;scihelpdocs/user/subprots/shortcuts.htm &apos;)&quot;&gt;Creating Shortcuts&lt;/a&gt;.</sci:value>
						<sci:value>Generic Data</sci:value>
						<sci:value/>
						<sci:value>Generic Data</sci:value>
						<sci:value>Records passing out of any unconnected pass ports of components inside the subprotocol</sci:value>
						<sci:value>Generic Data</sci:value>
						<sci:value>Records passing out of any unconnected fail ports of components inside the subprotocol</sci:value>
					</sci:arg>
					<sci:arg name="RegistrationVersion" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The server version when this component was registered</sci:help>
						<sci:value>5.1.0.100</sci:value>
					</sci:arg>
					<sci:arg name="Component Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:value>%VERSION 3%</sci:value>
						<sci:value>1874 -845 624 227</sci:value>
						<sci:value>255 255 0</sci:value>
						<sci:value>&quot;Bemis-Murcko Assemblies&quot; clustering
</sci:value>
					</sci:arg>
					<sci:arg name="Protocol Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>Protocol Sticky Notes</sci:help>
					</sci:arg>
					<sci:arg name="Protocol Options" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>Protocol Options</sci:help>
						<sci:legalval>Make Shortcut by Default</sci:legalval>
						<sci:legalval>Owner Access Only</sci:legalval>
					</sci:arg>
					<sci:arg name="ComponentLocalID" type="LongType" required="false" visibility="nevershow" multi="false">
						<sci:help>Local Component Identifier</sci:help>
						<sci:value>25</sci:value>
					</sci:arg>
					<sci:arg name="ProtocolScale2" type="LongType" required="false" visibility="nevershow" multi="false">
						<sci:help>Protocol Scale</sci:help>
						<sci:value>75</sci:value>
					</sci:arg>
					<sci:arg name="Component Path" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The original path within the database of this component.</sci:help>
						<sci:value>Components\Data Access and Manipulation\Utilities\Subprotocol Utilities\Subprotocol</sci:value>
					</sci:arg>
				</sci:component>
				<sci:protocol>
					<sci:data object="SciTegic.TransformMolecule.1">
						<sci:component name="Standardize Molecule" version="2">
							<sci:arg name="Action" type="StringType" required="false" visibility="visible" multi="true">
								<sci:help>This parameter lists a set of options for the type of standardization that
you may perform.  The default is to standardize the charging and stereochemistry
of the molecule.  If multiple actions are selected, they are performed in 
the order given.</sci:help>
								<sci:legalval selected="true">StandardizeStereo</sci:legalval>
								<sci:legalval>StandardizeCharges</sci:legalval>
								<sci:legalval>CenterMolecule</sci:legalval>
								<sci:legalval>RemoveSingleAtomFragments</sci:legalval>
								<sci:legalval>KeepSmallestFragment</sci:legalval>
								<sci:legalval>MakeAllAtomsCarbon</sci:legalval>
								<sci:legalval>MakeAllBondsSingle</sci:legalval>
								<sci:legalval>ClearCoordinates</sci:legalval>
								<sci:legalval>ClearMolecule</sci:legalval>
								<sci:legalval>ClearStereo</sci:legalval>
								<sci:legalval>ClearUnknownStereo</sci:legalval>
								<sci:legalval selected="true">ClearCharges</sci:legalval>
								<sci:legalval>SetStereoFromCoordinates</sci:legalval>
							</sci:arg>
							<sci:arg name="ComponentAttributes" type="StringType" required="false" visibility="hidden" multi="true">
								<sci:help>Componet Attributes</sci:help>
								<sci:legalval selected="true">ComponentTakesInput</sci:legalval>
								<sci:legalval selected="true">ComponentReturnsPass</sci:legalval>
								<sci:legalval>ComponentReturnsFail</sci:legalval>
								<sci:legalval>ComponentRunsLocal</sci:legalval>
							</sci:arg>
							<sci:arg name="OnDataTypeError" type="StringType" required="true" visibility="hidden" multi="false">
								<sci:legalval>Halt</sci:legalval>
								<sci:legalval>Fail</sci:legalval>
								<sci:legalval selected="true">Pass</sci:legalval>
							</sci:arg>
							<sci:arg name="OnGeneralError" type="StringType" required="true" visibility="hidden" multi="false">
								<sci:legalval>Halt</sci:legalval>
								<sci:legalval>Fail</sci:legalval>
								<sci:legalval selected="true">Pass</sci:legalval>
							</sci:arg>
							<sci:arg name="CustomErrorText" type="StringType" required="false" visibility="nevershow" multi="false"/>
							<sci:arg name="Registrant" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The user who registered this component.</sci:help>
								<sci:value>SciTegic</sci:value>
							</sci:arg>
							<sci:arg name="RegistrationDate" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The date this component was registered.</sci:help>
								<sci:value>Wed Jan 21 12:15:21 2004</sci:value>
							</sci:arg>
							<sci:arg name="ComponentComment" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>Component Comment</sci:help>
								<sci:value>Contains a number of actions that are useful for taking molecules from different sources and correcting non-uniform features.</sci:value>
							</sci:arg>
							<sci:arg name="ComponentUsage" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>Component Usage</sci:help>
								<sci:value>One or more actions can be applied to each molecule to standardize the way molecules are presented to downstream components.

Input             - Molecular data records
Output Pass  - Molecular data records with standardization changes

Description of StandardizeStereo option:

Atoms that are perceived as true stereo atoms but which have no stereochemical markings (UnknownAtomStereo, EvenAtomStereo, or OddAtomStereo) are set to UnknownAtomStereo.  Atoms that have stereochemical markings but which are not true stereoatoms are set to NoAtomStereo. 2D or 3D coordinates are not used in this process.

Similarly, bonds that are perceived as true stereo double bonds but 
which have no stereochemical markings (UnknownBondStereo, CisBondStereo, or TransBondStereo) are set to UnknownBondStereo.  Bonds that have stereochemical markings but which are not true stereo bonds are set to NoBondStereo. Again, 2D or 3D coordinates are not used in this process.</sci:value>
							</sci:arg>
							<sci:arg name="ComponentDisplayName" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:value>Standardize Molecule</sci:value>
							</sci:arg>
							<sci:arg name="ComponentIcon" type="StringType" required="true" visibility="nevershow" multi="false">
								<sci:value>ComponentNode</sci:value>
							</sci:arg>
							<sci:arg name="DerivedFrom" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The component this component is based upon.</sci:help>
								<sci:value>Standardize Charges</sci:value>
							</sci:arg>
							<sci:arg name="ComponentDisabled" type="LongType" required="false" visibility="nevershow" multi="false">
								<sci:value>0</sci:value>
							</sci:arg>
							<sci:arg name="ComponentGUID" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:value>{EFEA1A46-A6DB-4DB9-A5A9-C7F3D2ADFDE2}</sci:value>
							</sci:arg>
							<sci:arg name="ComponentPoint" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:value>90 -95</sci:value>
							</sci:arg>
							<sci:arg name="ComponentHelp" type="StringType" required="false" visibility="nevershow" multi="true">
								<sci:value>100</sci:value>
								<sci:value>Applies a number of optional methods to transform characteristics of input molecules to a standard form.

</sci:value>
								<sci:value>One or more actions can be applied to each molecule to standardize the way molecules are presented to downstream components. Actions include methods to standardize stereo, charges, hydrogen counts, fragments, bond orders and coordinates.
 
Standardization is important when comparing molecular libraries from different sources. If different rules were used for structural representation when creating these libraries, a straight comparison would yield incorrect results. This component allows you to apply a consistent set of rules first to structures before comparing them

Description of available options:

StandardizeStereo

Atoms that are perceived as true stereo atoms but which have no stereochemical markings (UnknownAtomStereo, EvenAtomStereo, or OddAtomStereo) are set to UnknownAtomStereo.  Atoms that have stereochemical markings but which are not true stereoatoms are set to NoAtomStereo. 2D or 3D coordinates are not used in this process.

Similarly, bonds that are perceived as true stereo double bonds but 
which have no stereochemical markings (UnknownBondStereo, CisBondStereo, or TransBondStereo) are set to UnknownBondStereo.  Bonds that have stereochemical markings but which are not true stereo bonds are set to NoBondStereo. Again, 2D or 3D coordinates are not used in this process.

SetStereoFromCoordinates

This option uses the 2D coordinates and up/down bond markings, or the 3D coordinates, to assign the stereochemistry of the atoms or bonds.  Typically, this is done by the readers or the molecules from text components, but occasionally, components may create molecules which need to have their stereo reperceived.

StandardizeCharges

Sets standard formal charges for common functional groups:
Quaternary Nitrogen: +1

Nitro groups: N+(=O)O-

Diazonium N: +1

Oxygen with three attachments: +1

X=O-C Oxygen: +1

Sulfur with three attachments: +1

S=O-C Sulfur: +1

F, Cl, Br, I with no attachments: -1

ClearStereo

Sets all atoms and bonds to NoStereo

ClearUnknownStereo

Sets all atoms and bonds that are marked UnknownStereo to NoStereo

ClearCharges

Sets all formal charges to zero

CenterMolecule

Translates the molecule to the center of geometry

RemoveSingleAtomFragments

Removes all unattached atoms from the molecule

KeepSmallestFragment

Keeps only the fragment with fewer atoms in the case of multifragment molecules

MakeAllAtomsCarbon

Converts all the atoms in the molecule to Carbon

MakeAllSingleBonds

Converts all the bonds in the molecule to Single bonds

ClearCoordinates

Sets all x, y, z coordinates to zero

ClearMolecule

Deletes all atoms and bonds in the molecule


</sci:value>
								<sci:value>Molecule</sci:value>
								<sci:value/>
								<sci:value>Molecule</sci:value>
								<sci:value/>
								<sci:value>None</sci:value>
								<sci:value/>
							</sci:arg>
							<sci:arg name="Component Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false"/>
							<sci:arg name="ComponentLocalID" type="LongType" required="false" visibility="nevershow" multi="false">
								<sci:help>Local Component Identifier</sci:help>
								<sci:value>0</sci:value>
							</sci:arg>
							<sci:arg name="Component Path" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The original path within the database of this component.</sci:help>
								<sci:value>Components\Chemistry\Data Access and Manipulation\Manipulators\Standardize Molecule</sci:value>
							</sci:arg>
						</sci:component>
					</sci:data>
					<sci:data object="SciTegic.CalculateSmiles.1">
						<sci:component name="Canonical Smiles" version="2">
							<sci:arg name="Output" type="StringType" required="false" visibility="visible" multi="true">
								<sci:help>Select Smiles or Canonical Smiles
(Canonical smiles are unique for every molecule)</sci:help>
								<sci:legalval type="StringType" selected="true">Canonical_Smiles</sci:legalval>
								<sci:legalval type="StringType">Smiles</sci:legalval>
							</sci:arg>
							<sci:arg name="ComponentAttributes" type="StringType" required="false" visibility="hidden" multi="true">
								<sci:help>Component Attributes</sci:help>
								<sci:legalval selected="true">ComponentTakesInput</sci:legalval>
								<sci:legalval selected="true">ComponentReturnsPass</sci:legalval>
								<sci:legalval>ComponentReturnsFail</sci:legalval>
								<sci:legalval>ComponentRunsLocal</sci:legalval>
							</sci:arg>
							<sci:arg name="OnDataTypeError" type="StringType" required="true" visibility="hidden" multi="false">
								<sci:legalval selected="true">Halt</sci:legalval>
								<sci:legalval>Fail</sci:legalval>
								<sci:legalval>Pass</sci:legalval>
							</sci:arg>
							<sci:arg name="OnGeneralError" type="StringType" required="true" visibility="hidden" multi="false">
								<sci:legalval selected="true">Halt</sci:legalval>
								<sci:legalval>Fail</sci:legalval>
								<sci:legalval>Pass</sci:legalval>
							</sci:arg>
							<sci:arg name="CustomErrorText" type="StringType" required="false" visibility="nevershow" multi="false"/>
							<sci:arg name="ComponentComment" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>Comment</sci:help>
								<sci:value>Calculates a SMILES representation of the molecular information in a molecular data record. SMILES is a text-based representation for molecular information developed by Daylight.</sci:value>
							</sci:arg>
							<sci:arg name="Registrant" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The user who registered this component.</sci:help>
								<sci:value>scitegic/chemistry</sci:value>
							</sci:arg>
							<sci:arg name="RegistrationDate" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The date this component was registered.</sci:help>
								<sci:value>Wed Feb 16 14:20:52 2005</sci:value>
							</sci:arg>
							<sci:arg name="ComponentUsage" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>Component Usage</sci:help>
								<sci:value>Select either &apos;Smiles&apos; or &apos;Canonical_Smiles&quot; s in the &apos;Output&apos; pulldown list to generate the required string.  The data is augmented with the selected properties.

Input             - Molecule data records
Output Pass - Molecule data records augmented with selected properties</sci:value>
							</sci:arg>
							<sci:arg name="ComponentDisplayName" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:value>Canonical Smiles</sci:value>
							</sci:arg>
							<sci:arg name="DerivedFrom" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The component this component is based upon.</sci:help>
								<sci:value>Canonical Smiles</sci:value>
							</sci:arg>
							<sci:arg name="ComponentIcon" type="StringType" required="true" visibility="nevershow" multi="false">
								<sci:value>CalculatorNode</sci:value>
							</sci:arg>
							<sci:arg name="ComponentGUID" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:value>{0C60C40A-5189-42DA-A3C0-4EA44BC27D15}</sci:value>
							</sci:arg>
							<sci:arg name="ComponentPoint" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:value>390 -95</sci:value>
							</sci:arg>
							<sci:arg name="ComponentDisabled" type="LongType" required="false" visibility="nevershow" multi="false">
								<sci:value>0</sci:value>
							</sci:arg>
							<sci:arg name="ComponentHelp" type="StringType" required="false" visibility="nevershow" multi="true">
								<sci:value>100</sci:value>
								<sci:value>Calculates a SMILES representation of the input molecule, optionally canonicalized to be independent of the original atom numbering.</sci:value>
								<sci:value>&lt;p&gt;A canonical SMILES is independent of the original atom numbering or explicit vs. implicit hydrogens. 
The SMILES string is written as text to a property.&lt;/p&gt;

&lt;p&gt;Note that the Canonicalization algorithm is Scitegic&apos;s; while it is derived from the Daylight algorithm, 
it will not necessarily give identical results. Compare two SMILES for identity only when having both canonicalized 
by the same method. &lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;javascript:DoLink(&apos;{0C60C40A-5189-42DA-A3C0-4EA44BFF7D15}&apos;)&quot;&gt;See Also:&lt;/a&gt;&quot;Molecule to SMILES&quot;.&lt;/p&gt;</sci:value>
								<sci:value>Molecule</sci:value>
								<sci:value/>
								<sci:value>Molecule</sci:value>
								<sci:value>Records augmented with a text property containing the canonical SMILES or SMILES</sci:value>
								<sci:value>None</sci:value>
								<sci:value/>
							</sci:arg>
							<sci:arg name="RegistrationVersion" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The server version when this component was registered</sci:help>
								<sci:value>4.5.2.200</sci:value>
							</sci:arg>
							<sci:arg name="Component Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false"/>
							<sci:arg name="ComponentLocalID" type="LongType" required="false" visibility="nevershow" multi="false">
								<sci:help>Local Component Identifier</sci:help>
								<sci:value>1</sci:value>
							</sci:arg>
							<sci:arg name="Component Path" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The original path within the database of this component.</sci:help>
								<sci:value>Components\Chemistry\Property Calculators\Structural\Canonical Smiles</sci:value>
							</sci:arg>
						</sci:component>
					</sci:data>
					<sci:data object="SciTegic.PropertyFunctions.1">
						<sci:component name="Rename Property" version="2">
							<sci:arg name="Property" type="StringType" required="true" visibility="visible" multi="false">
								<sci:help>Property name to change</sci:help>
								<sci:value>canonical_smiles</sci:value>
							</sci:arg>
							<sci:arg name="NewProperty" type="StringType" required="true" visibility="visible" multi="false">
								<sci:help>Name of the new property</sci:help>
								<sci:value>original_canonical_smiles</sci:value>
							</sci:arg>
							<sci:arg name="DataActionOnError" type="StringType" required="true" visibility="hidden" multi="false">
								<sci:help>When a General or DataType error occurs during processing:  
  LeaveData: The data is passed unalterd
  ClearData: The data is cleared before being passed (an empty data item)
  DeleteData: The data is deleted and not passed</sci:help>
								<sci:legalval selected="true">LeaveData</sci:legalval>
								<sci:legalval>ClearData</sci:legalval>
								<sci:legalval>DeleteData</sci:legalval>
							</sci:arg>
							<sci:arg name="ComponentAttributes" type="StringType" required="false" visibility="hidden" multi="true">
								<sci:help>Component Attributes</sci:help>
								<sci:legalval selected="true">ComponentTakesInput</sci:legalval>
								<sci:legalval selected="true">ComponentReturnsPass</sci:legalval>
								<sci:legalval>ComponentReturnsFail</sci:legalval>
								<sci:legalval>ComponentRunsLocal</sci:legalval>
							</sci:arg>
							<sci:arg name="OnDataTypeError" type="StringType" required="true" visibility="hidden" multi="false">
								<sci:legalval selected="true">Halt</sci:legalval>
								<sci:legalval>Fail</sci:legalval>
								<sci:legalval>Pass</sci:legalval>
							</sci:arg>
							<sci:arg name="OnGeneralError" type="StringType" required="true" visibility="hidden" multi="false">
								<sci:legalval selected="true">Halt</sci:legalval>
								<sci:legalval>Fail</sci:legalval>
								<sci:legalval>Pass</sci:legalval>
							</sci:arg>
							<sci:arg name="CustomErrorText" type="StringType" required="false" visibility="nevershow" multi="false"/>
							<sci:arg name="Action" type="StringType" required="true" visibility="nevershow" multi="false">
								<sci:help>the action to perform</sci:help>
								<sci:value>Rename</sci:value>
							</sci:arg>
							<sci:arg name="ComponentIcon" type="StringType" required="true" visibility="nevershow" multi="false">
								<sci:value>ExpressionNode</sci:value>
							</sci:arg>
							<sci:arg name="ComponentComment" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>Comment</sci:help>
								<sci:value>Renames a single property.</sci:value>
							</sci:arg>
							<sci:arg name="Registrant" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The user who registered this component.</sci:help>
								<sci:value>scitegic/core</sci:value>
							</sci:arg>
							<sci:arg name="RegistrationDate" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The date this component was registered.</sci:help>
								<sci:value>Mon Feb 27 15:32:34 2006</sci:value>
							</sci:arg>
							<sci:arg name="ComponentUsage" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>Component Usage</sci:help>
								<sci:value>The component works for single properties as well as property arrays. 

Input             - Data records
Output Pass  - All Data records</sci:value>
							</sci:arg>
							<sci:arg name="ComponentDisplayName" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:value>Rename property</sci:value>
							</sci:arg>
							<sci:arg name="DerivedFrom" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The component this component is based upon.</sci:help>
								<sci:value>Evaluate Expression</sci:value>
							</sci:arg>
							<sci:arg name="ComponentGUID" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:value>{5A384E06-8AF2-4C10-A9B7-7302DD110A48}</sci:value>
							</sci:arg>
							<sci:arg name="ComponentDisabled" type="LongType" required="false" visibility="nevershow" multi="false">
								<sci:value>0</sci:value>
							</sci:arg>
							<sci:arg name="ComponentPoint" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:value>690 -95</sci:value>
							</sci:arg>
							<sci:arg name="ComponentHelp" type="StringType" required="false" visibility="nevershow" multi="true">
								<sci:value>100</sci:value>
								<sci:value>Renames a property.</sci:value>
								<sci:value>For each data record entering the component, the property with the specified name is renamed.</sci:value>
								<sci:value>Generic Data</sci:value>
								<sci:value/>
								<sci:value>Generic Data</sci:value>
								<sci:value/>
								<sci:value>None</sci:value>
								<sci:value/>
							</sci:arg>
							<sci:arg name="RegistrationVersion" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The server version when this component was registered</sci:help>
								<sci:value>5.1.0.100</sci:value>
							</sci:arg>
							<sci:arg name="Component Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false"/>
							<sci:arg name="ComponentLocalID" type="LongType" required="false" visibility="nevershow" multi="false">
								<sci:help>Local Component Identifier</sci:help>
								<sci:value>2</sci:value>
							</sci:arg>
							<sci:arg name="Component Path" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The original path within the database of this component.</sci:help>
								<sci:value>Components\Data Access and Manipulation\Utilities\Deprecated\Rename Property</sci:value>
							</sci:arg>
						</sci:component>
					</sci:data>
					<sci:data object="SciTegic.PropertyFunctions.1">
						<sci:component name="Remove Properties" version="2">
							<sci:arg name="PropertyList" type="StringType" required="true" visibility="visible" multi="false">
								<sci:help>The names of properties to remove from each data record entering the component</sci:help>
								<sci:value>cluster</sci:value>
							</sci:arg>
							<sci:arg name="ComponentAttributes" type="StringType" required="false" visibility="hidden" multi="true">
								<sci:help>Component Attributes</sci:help>
								<sci:legalval selected="true">ComponentTakesInput</sci:legalval>
								<sci:legalval selected="true">ComponentReturnsPass</sci:legalval>
								<sci:legalval>ComponentReturnsFail</sci:legalval>
								<sci:legalval>ComponentRunsLocal</sci:legalval>
							</sci:arg>
							<sci:arg name="OnDataTypeError" type="StringType" required="true" visibility="hidden" multi="false">
								<sci:legalval selected="true">Halt</sci:legalval>
								<sci:legalval>Fail</sci:legalval>
								<sci:legalval>Pass</sci:legalval>
							</sci:arg>
							<sci:arg name="OnGeneralError" type="StringType" required="true" visibility="hidden" multi="false">
								<sci:legalval selected="true">Halt</sci:legalval>
								<sci:legalval>Fail</sci:legalval>
								<sci:legalval>Pass</sci:legalval>
							</sci:arg>
							<sci:arg name="CustomErrorText" type="StringType" required="false" visibility="nevershow" multi="false"/>
							<sci:arg name="Action" type="StringType" required="true" visibility="nevershow" multi="false">
								<sci:help>the action to perform</sci:help>
								<sci:value>Remove</sci:value>
							</sci:arg>
							<sci:arg name="Registrant" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The user who registered this component.</sci:help>
								<sci:value>scitegic/core</sci:value>
							</sci:arg>
							<sci:arg name="RegistrationDate" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The date this component was registered.</sci:help>
								<sci:value>Mon Feb 27 15:32:34 2006</sci:value>
							</sci:arg>
							<sci:arg name="ComponentComment" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>Component Comment</sci:help>
								<sci:value>Removes the specified properties from the property list.</sci:value>
							</sci:arg>
							<sci:arg name="ComponentUsage" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>Component Usage</sci:help>
								<sci:value>&apos;PropertyList&apos; contains a comma-separated list of the property names that you wish to remove.

Input             - Data records
Output Pass  - All Data records</sci:value>
							</sci:arg>
							<sci:arg name="ComponentDisplayName" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:value>Remove properties</sci:value>
							</sci:arg>
							<sci:arg name="ProtocolAutoLayout" type="BoolType" required="false" visibility="nevershow" multi="false">
								<sci:help>Protocol AutoLayout</sci:help>
								<sci:value>true</sci:value>
							</sci:arg>
							<sci:arg name="ProtocolShowComment" type="BoolType" required="false" visibility="nevershow" multi="false">
								<sci:help>Protocol ShowComment</sci:help>
								<sci:value>false</sci:value>
							</sci:arg>
							<sci:arg name="ProtocolComment" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>Add Protocol Comment Here</sci:help>
								<sci:value>Add Protocol Comment Here</sci:value>
							</sci:arg>
							<sci:arg name="ComponentDisabled" type="LongType" required="false" visibility="nevershow" multi="false">
								<sci:value>0</sci:value>
							</sci:arg>
							<sci:arg name="ComponentIcon" type="StringType" required="true" visibility="nevershow" multi="false">
								<sci:value>ExpressionNode</sci:value>
							</sci:arg>
							<sci:arg name="ComponentRevision" type="LongType" required="true" visibility="nevershow" multi="false">
								<sci:help>Component Revision</sci:help>
								<sci:value>100</sci:value>
							</sci:arg>
							<sci:arg name="DerivedFrom" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The component this component is based upon.</sci:help>
								<sci:value>SubProtocol</sci:value>
							</sci:arg>
							<sci:arg name="ProtocolScale" type="LongType" required="false" visibility="nevershow" multi="false">
								<sci:help>Protocol Scale</sci:help>
								<sci:value>0</sci:value>
							</sci:arg>
							<sci:arg name="ComponentPoint" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:value>990 -95</sci:value>
							</sci:arg>
							<sci:arg name="ComponentGUID" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:value>{C2ED35FF-5397-4877-AADB-10F1A15D60E2}</sci:value>
							</sci:arg>
							<sci:arg name="ComponentHelp" type="StringType" required="false" visibility="nevershow" multi="true">
								<sci:value>100</sci:value>
								<sci:value>Removes the specified properties.</sci:value>
								<sci:value>For each data record that enters the component, the specified properties are removed and the modified record is passed out.

&lt;p&gt;&lt;b&gt;See Also:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;javascript:DoLink(&apos;{456195EF-9708-4367-B3DD-21EBF3796604}&apos;)&quot;&gt;Keep Properties&lt;/a&gt;: To keep only a few properties from a long list, it may be more efficient to specify those properties in the &lt;i&gt;Keep Properties&lt;/i&gt; component.&lt;/p&gt;</sci:value>
								<sci:value>Generic Data</sci:value>
								<sci:value/>
								<sci:value>Generic Data</sci:value>
								<sci:value>Data records with the specified properties removed</sci:value>
								<sci:value>None</sci:value>
								<sci:value/>
							</sci:arg>
							<sci:arg name="RegistrationVersion" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The server version when this component was registered</sci:help>
								<sci:value>5.1.0.100</sci:value>
							</sci:arg>
							<sci:arg name="Component Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false"/>
							<sci:arg name="ByReference" type="BoolType" required="false" visibility="nevershow" multi="false">
								<sci:help>By Ref</sci:help>
								<sci:value>0</sci:value>
							</sci:arg>
							<sci:arg name="Protocol Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>Protocol Sticky Notes</sci:help>
							</sci:arg>
							<sci:arg name="ComponentLocalID" type="LongType" required="false" visibility="nevershow" multi="false">
								<sci:help>Local Component Identifier</sci:help>
								<sci:value>3</sci:value>
							</sci:arg>
							<sci:arg name="Component Path" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The original path within the database of this component.</sci:help>
								<sci:value>Components\Data Access and Manipulation\Property Manipulators\Remove Properties</sci:value>
							</sci:arg>
						</sci:component>
					</sci:data>
					<sci:data object="SciTegic.Protocol.1">
						<sci:component name="Subprotocol" version="2">
							<sci:arg name="Tempfiles" type="StringType" required="false" visibility="hidden" multi="false" implbase="{17001C74-63CE-4B4B-B37C-F0EAA19CE4AA}">
								<sci:help>Temporary files converted by the network to true temporary filenames</sci:help>
							</sci:arg>
							<sci:arg name="DeclareLocal" type="StringType" required="false" visibility="hidden" multi="false" implbase="{17001C74-63CE-4B4B-B37C-F0EAA19CE4AA}">
								<sci:help>Lists a set of properties (without the @) to create on the property list for this protocol. Other properties are created on the global property list and are accessible from all protocols.</sci:help>
							</sci:arg>
							<sci:arg name="RunToCompletion" type="BoolType" required="false" visibility="hidden" multi="false" implbase="{17001C74-63CE-4B4B-B37C-F0EAA19CE4AA}">
								<sci:help>When the network runs, processes once or until done for each process call</sci:help>
								<sci:legalval>True</sci:legalval>
								<sci:legalval selected="true">False</sci:legalval>
							</sci:arg>
							<sci:arg name="ComponentAttributes" type="StringType" required="false" visibility="hidden" multi="true">
								<sci:help>Component Attributes</sci:help>
								<sci:legalval selected="true">ComponentTakesInput</sci:legalval>
								<sci:legalval selected="true">ComponentReturnsPass</sci:legalval>
								<sci:legalval>ComponentReturnsFail</sci:legalval>
								<sci:legalval>ComponentRunsLocal</sci:legalval>
							</sci:arg>
							<sci:arg name="OnDataTypeError" type="StringType" required="true" visibility="hidden" multi="false">
								<sci:legalval selected="true">Halt</sci:legalval>
								<sci:legalval>Fail</sci:legalval>
								<sci:legalval>Pass</sci:legalval>
							</sci:arg>
							<sci:arg name="OnGeneralError" type="StringType" required="true" visibility="hidden" multi="false">
								<sci:legalval selected="true">Halt</sci:legalval>
								<sci:legalval>Fail</sci:legalval>
								<sci:legalval>Pass</sci:legalval>
							</sci:arg>
							<sci:arg name="CustomErrorText" type="StringType" required="false" visibility="nevershow" multi="false"/>
							<sci:arg name="Registrant" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The user who registered this component.</sci:help>
								<sci:value>scitegic/core</sci:value>
							</sci:arg>
							<sci:arg name="RegistrationDate" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The date this component was registered.</sci:help>
								<sci:value>Mon Feb 27 15:32:44 2006</sci:value>
							</sci:arg>
							<sci:arg name="ComponentComment" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>Component Comment</sci:help>
								<sci:value>Defines a subprotocol in a pipeline. When you are creating a pipeline that requires a subprotocol as a component, drag this component into the pipeline, open it, and add components to it.</sci:value>
							</sci:arg>
							<sci:arg name="ComponentUsage" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>Component Usage</sci:help>
								<sci:value>When you are creating a pipeline which requires a subprotocol as 
a component, you can drag this SubProtocol component into the 
pipeline, open it, and add components into it.</sci:value>
							</sci:arg>
							<sci:arg name="ComponentDisplayName" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:value>get unique murcko</sci:value>
							</sci:arg>
							<sci:arg name="ProtocolAutoLayout" type="BoolType" required="false" visibility="nevershow" multi="false">
								<sci:help>Protocol AutoLayout</sci:help>
								<sci:value>1</sci:value>
							</sci:arg>
							<sci:arg name="ProtocolShowComment" type="BoolType" required="false" visibility="nevershow" multi="false">
								<sci:help>Protocol ShowComment</sci:help>
								<sci:value>true</sci:value>
							</sci:arg>
							<sci:arg name="ProtocolComment" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>Add Protocol Comment Here</sci:help>
								<sci:value>Add Protocol Comment Here</sci:value>
							</sci:arg>
							<sci:arg name="ComponentDisabled" type="LongType" required="false" visibility="nevershow" multi="false">
								<sci:value>0</sci:value>
							</sci:arg>
							<sci:arg name="ComponentIcon" type="StringType" required="true" visibility="nevershow" multi="false">
								<sci:value>SubProtocolNode</sci:value>
							</sci:arg>
							<sci:arg name="ComponentRevision" type="LongType" required="true" visibility="nevershow" multi="false">
								<sci:help>Component Revision</sci:help>
								<sci:value>100</sci:value>
							</sci:arg>
							<sci:arg name="DerivedFrom" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The component this component is based upon.</sci:help>
								<sci:value>SubProtocol</sci:value>
							</sci:arg>
							<sci:arg name="ComponentGUID" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:value>{17001C74-63CE-4B4B-B37C-F0EAA19CE4AA}</sci:value>
							</sci:arg>
							<sci:arg name="ComponentPoint" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:value>1290 -95</sci:value>
							</sci:arg>
							<sci:arg name="ByReference" type="BoolType" required="false" visibility="nevershow" multi="false">
								<sci:help>By Ref</sci:help>
								<sci:value>0</sci:value>
							</sci:arg>
							<sci:arg name="ComponentHelp" type="StringType" required="false" visibility="nevershow" multi="true">
								<sci:value>100</sci:value>
								<sci:value>Builds subprotocols in Pipeline Pilot.</sci:value>
								<sci:value>Use a subprotocol to collapse one or more components into a single item. Open a subprotocol to view or edit its contents. 

To define input and output ports, right-click and select Edit. You can save subprotocols and reuse them. For more information, see the User Guide help for &lt;a href=&quot;javascript:DoLink(&apos;scihelpdocs/user/subprots/subprot_overview.htm &apos;)&quot;&gt;Subprotocols Overview&lt;/a&gt;.

Tip: Any component can be made into a shortcut, so that the latest version is always used. For more information, see &lt;a href=&quot;javascript:DoLink(&apos;scihelpdocs/user/subprots/shortcuts.htm &apos;)&quot;&gt;Creating Shortcuts&lt;/a&gt;.</sci:value>
								<sci:value>Generic Data</sci:value>
								<sci:value/>
								<sci:value>Generic Data</sci:value>
								<sci:value>Records passing out of any unconnected pass ports of components inside the subprotocol</sci:value>
								<sci:value>Generic Data</sci:value>
								<sci:value>Records passing out of any unconnected fail ports of components inside the subprotocol</sci:value>
							</sci:arg>
							<sci:arg name="RegistrationVersion" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The server version when this component was registered</sci:help>
								<sci:value>5.1.0.100</sci:value>
							</sci:arg>
							<sci:arg name="Component Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false"/>
							<sci:arg name="Protocol Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>Protocol Sticky Notes</sci:help>
							</sci:arg>
							<sci:arg name="Protocol Options" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>Protocol Options</sci:help>
								<sci:legalval>Make Shortcut by Default</sci:legalval>
								<sci:legalval>Owner Access Only</sci:legalval>
							</sci:arg>
							<sci:arg name="ComponentLocalID" type="LongType" required="false" visibility="nevershow" multi="false">
								<sci:help>Local Component Identifier</sci:help>
								<sci:value>4</sci:value>
							</sci:arg>
							<sci:arg name="ProtocolScale2" type="LongType" required="false" visibility="nevershow" multi="false">
								<sci:help>Protocol Scale</sci:help>
								<sci:value>75</sci:value>
							</sci:arg>
							<sci:arg name="Component Path" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The original path within the database of this component.</sci:help>
								<sci:value>Components\Data Access and Manipulation\Utilities\Subprotocol Utilities\Subprotocol</sci:value>
							</sci:arg>
						</sci:component>
						<sci:protocol>
							<sci:data object="SciTegic.TransformMolecule.1">
								<sci:component name="Standardize Molecule" version="2">
									<sci:arg name="Action" type="StringType" required="false" visibility="visible" multi="true">
										<sci:help>Options for the type of standardization you can perform. The default is to standardize the charging and stereochemistry of the molecule. If multiple actions are selected, they are performed in  the given order.</sci:help>
										<sci:legalval selected="true">StandardizeStereo</sci:legalval>
										<sci:legalval selected="true">StandardizeCharges</sci:legalval>
										<sci:legalval>CenterMolecule</sci:legalval>
										<sci:legalval>RemoveSingleAtomFragments</sci:legalval>
										<sci:legalval>KeepSmallestFragment</sci:legalval>
										<sci:legalval>KeepLargestFragment</sci:legalval>
										<sci:legalval>MakeNon[H]Atoms[C]Atoms</sci:legalval>
										<sci:legalval>MakeNon[H]Atoms[A]Atoms</sci:legalval>
										<sci:legalval>MakeNon[C,H]Atoms[Q]Atoms</sci:legalval>
										<sci:legalval>MakeAllBondsSingle</sci:legalval>
										<sci:legalval>ClearCoordinates</sci:legalval>
										<sci:legalval>ClearMolecule</sci:legalval>
										<sci:legalval>RemoveMolecule</sci:legalval>
										<sci:legalval>ClearStereo</sci:legalval>
										<sci:legalval>ClearUnknownStereo</sci:legalval>
										<sci:legalval>ClearCisTransBondStereo</sci:legalval>
										<sci:legalval>ClearCharges</sci:legalval>
										<sci:legalval>ClearSgroupData</sci:legalval>
										<sci:legalval>ClearHighlightColors</sci:legalval>
										<sci:legalval>ClearQueryInfo</sci:legalval>
										<sci:legalval>ClearAtomLabels</sci:legalval>
										<sci:legalval>ClearBondLabels</sci:legalval>
										<sci:legalval>ClearReactionMapping</sci:legalval>
										<sci:legalval>SetStereoFromCoordinates</sci:legalval>
										<sci:legalval>RepositionStereoBonds</sci:legalval>
										<sci:legalval>NeutralizeBondedZwitterions</sci:legalval>
									</sci:arg>
									<sci:arg name="ComponentAttributes" type="StringType" required="false" visibility="hidden" multi="true">
										<sci:help>Componet Attributes</sci:help>
										<sci:legalval selected="true">ComponentTakesInput</sci:legalval>
										<sci:legalval selected="true">ComponentReturnsPass</sci:legalval>
										<sci:legalval>ComponentReturnsFail</sci:legalval>
										<sci:legalval>ComponentRunsLocal</sci:legalval>
									</sci:arg>
									<sci:arg name="OnDataTypeError" type="StringType" required="true" visibility="hidden" multi="false">
										<sci:legalval selected="true">Halt</sci:legalval>
										<sci:legalval>Fail</sci:legalval>
										<sci:legalval>Pass</sci:legalval>
									</sci:arg>
									<sci:arg name="OnGeneralError" type="StringType" required="true" visibility="hidden" multi="false">
										<sci:legalval selected="true">Halt</sci:legalval>
										<sci:legalval>Fail</sci:legalval>
										<sci:legalval>Pass</sci:legalval>
									</sci:arg>
									<sci:arg name="CustomErrorText" type="StringType" required="false" visibility="nevershow" multi="false"/>
									<sci:arg name="Registrant" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The user who registered this component.</sci:help>
										<sci:value>scitegic/chemistry</sci:value>
									</sci:arg>
									<sci:arg name="RegistrationDate" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The date this component was registered.</sci:help>
										<sci:value>Mon Feb 27 15:33:11 2006</sci:value>
									</sci:arg>
									<sci:arg name="ComponentComment" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>Component Comment</sci:help>
										<sci:value>Contains a number of actions that are useful for taking molecules from different sources and correcting non-uniform features.</sci:value>
									</sci:arg>
									<sci:arg name="ComponentUsage" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>Component Usage</sci:help>
										<sci:value>One or more actions can be applied to each molecule to standardize the way molecules are presented to downstream components.

Input             - Molecular data records
Output Pass  - Molecular data records with standardization changes

Description of StandardizeStereo option:

Atoms that are perceived as true stereo atoms but which have no stereochemical markings (UnknownAtomStereo, EvenAtomStereo, or OddAtomStereo) are set to UnknownAtomStereo.  Atoms that have stereochemical markings but which are not true stereoatoms are set to NoAtomStereo. 2D or 3D coordinates are not used in this process.

Similarly, bonds that are perceived as true stereo double bonds but 
which have no stereochemical markings (UnknownBondStereo, CisBondStereo, or TransBondStereo) are set to UnknownBondStereo.  Bonds that have stereochemical markings but which are not true stereo bonds are set to NoBondStereo. Again, 2D or 3D coordinates are not used in this process.</sci:value>
									</sci:arg>
									<sci:arg name="ComponentDisplayName" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:value>Standardize Molecule</sci:value>
									</sci:arg>
									<sci:arg name="ComponentIcon" type="StringType" required="true" visibility="nevershow" multi="false">
										<sci:value>ComponentNode</sci:value>
									</sci:arg>
									<sci:arg name="DerivedFrom" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The component this component is based upon.</sci:help>
										<sci:value>Standardize Charges</sci:value>
									</sci:arg>
									<sci:arg name="ComponentDisabled" type="LongType" required="false" visibility="nevershow" multi="false">
										<sci:value>0</sci:value>
									</sci:arg>
									<sci:arg name="ComponentGUID" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:value>{EFEA1A46-A6DB-4DB9-A5A9-C7F3D2ADFDE2}</sci:value>
									</sci:arg>
									<sci:arg name="ComponentPoint" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:value>90 -95</sci:value>
									</sci:arg>
									<sci:arg name="ComponentHelp" type="StringType" required="false" visibility="nevershow" multi="true">
										<sci:value>100</sci:value>
										<sci:value>Applies a number of optional methods to transform characteristics of input molecules to a standard form.

</sci:value>
										<sci:value>&lt;p&gt;One or more actions can be applied to each molecule to standardize the way molecules are presented to downstream components. 
Actions include methods to standardize stereo, charges, hydrogen counts, fragments, bond orders, and coordinates.&lt;/p&gt;
 
&lt;p&gt;Standardization is important when comparing molecular libraries from different sources. If different rules were used for structural 
representation when creating these libraries, a straight comparison would yield incorrect results. This component allows you to apply a 
consistent set of rules to structures before comparing them.&lt;/p&gt;

&lt;p&gt;Description of available options:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;StandardizeStereo:&lt;br /&gt;
  &lt;/strong&gt;Atoms that are perceived as true stereo atoms but which have no stereochemical 
  markings (UnknownAtomStereo, EvenAtomStereo, or OddAtomStereo) are set to UnknownAtomStereo. 
  Atoms that have stereochemical markings but which are not true stereoatoms are 
  set to NoAtomStereo. 2D or 3D coordinates are not used in this process. &lt;br /&gt;
  Similarly, bonds that are perceived as true stereo double bonds, but which have 
  no stereochemical markings (UnknownBondStereo, CisBondStereo, or TransBondStereo) 
  are set to UnknownBondStereo. Bonds that have stereochemical markings but which 
  are not true stereo bonds are set to NoBondStereo. Again, 2D or 3D coordinates 
  are not used in this process. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;StandardizeCharges:&lt;/strong&gt;&lt;br /&gt;
  Sets standard formal charges for common functional groups: Quaternary Nitrogen: 
  +1 &lt;br /&gt;
  Nitro groups: N+(=O)O- &lt;br /&gt;
  Diazonium N: +1 &lt;br /&gt;
  Oxygen with three attachments: +1 &lt;br /&gt;
  X=O-C Oxygen: +1 &lt;br /&gt;
  Sulfur with three attachments: +1 &lt;br /&gt;
  S=O-C Sulfur: +1 &lt;br /&gt;
  F, Cl, Br, I with no attachments: -1 &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;CenterMolecule:&lt;br /&gt;
  &lt;/strong&gt;Translates the molecule to the center of geometry &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;RemoveSingleAtomFragments:&lt;br /&gt;
  &lt;/strong&gt;Removes all unattached atoms from the molecule &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;KeepSmallestFragment: &lt;br /&gt;
  &lt;/strong&gt;Keeps only the fragment with fewer atoms in the case of multifragment 
  molecules &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;MakeNon[H]Atoms[C]Atoms: &lt;br /&gt;
  &lt;/strong&gt;Converts all the atoms in the molecule to Carbon &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;MakeNon[C,H]Atoms[Q]Atoms: &lt;br /&gt;
  &lt;/strong&gt;Converts all non-carbon, non-hydrogen atoms in the molecule to the Q query atom type &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;MakeNon[H]Atoms[A]Atoms: &lt;br /&gt;
  &lt;/strong&gt;Converts all non-hydrogen atoms in the molecule to the A query atom type &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;MakeAllBondsSingle: &lt;br /&gt;
  &lt;/strong&gt;Converts all the bonds in the molecule to Single bonds &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ClearCoordinates:&lt;br /&gt;
  &lt;/strong&gt;Sets all x, y, z coordinates to zero &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ClearMolecule:&lt;br /&gt;
  &lt;/strong&gt;Deletes all atoms and bonds in the molecule, keeping the molecule object in the data record &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;RemoveMolecule:&lt;br /&gt;
  &lt;/strong&gt;Deletes the molecule object from the data record &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ClearStereo: &lt;/strong&gt;&lt;br /&gt;
  Sets all atoms and bonds to NoStereo &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ClearUnknownStereo:&lt;/strong&gt; &lt;br /&gt;
  Sets all atoms and bonds that are marked UnknownStereo to NoStereo &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ClearCisTransBondStereo:&lt;br /&gt;
  &lt;/strong&gt;Sets all bonds that are marked CisStereo or TransStereo to UnknownStereo 
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ClearCharges: &lt;br /&gt;
  &lt;/strong&gt;Sets all formal charges to zero &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;SetStereoFromCoordinates: &lt;br /&gt;
  &lt;/strong&gt;This option uses the 2D coordinates and up/down bond markings, or the 
  3D coordinates, to assign the stereochemistry of the atoms or bonds. Typically, 
  this is done by the readers or the molecules from text components. Occasionally, 
  components may create molecules that need to have their stereo reperceived. 
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;RepositionStereoBonds: &lt;br /&gt;
  &lt;/strong&gt;This option repositions the stereo bond markings, trying to find the best bond to mark as a wedge bond for each stereo atom. 
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ClearQueryInfo: &lt;/strong&gt;&lt;br /&gt;
  Deletes all query information from atoms and bonds &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;NeutralizeBondedZwitterions:&lt;/strong&gt;&lt;br /&gt;
  Converts directly bonded zwitterions (positively charged atom bonded to negatively charged atom, A+B-) to the neutral representation (A=B)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ClearSGroupData:&lt;/strong&gt;&lt;br /&gt;
  Clears any SGroup information from the molecule&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ClearHighlightColors:&lt;/strong&gt;&lt;br /&gt;
  Clears any highlight colors from atoms and bonds&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ClearReactionMapping:&lt;/strong&gt;&lt;br /&gt;
  Clears any atom-atom mappings from the reaction&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ClearAtomLabels:&lt;/strong&gt;&lt;br /&gt;
  Clears any labels assigned to the atoms&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ClearBondLabels:&lt;/strong&gt;&lt;br /&gt;
  Clears any labels assigned to the bonds&lt;/p&gt;
  

</sci:value>
										<sci:value>Molecule</sci:value>
										<sci:value/>
										<sci:value>Molecule</sci:value>
										<sci:value/>
										<sci:value>None</sci:value>
										<sci:value/>
									</sci:arg>
									<sci:arg name="Component Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false"/>
									<sci:arg name="RegistrationVersion" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The server version when this component was registered</sci:help>
										<sci:value>5.1.0.100</sci:value>
									</sci:arg>
									<sci:arg name="ComponentLocalID" type="LongType" required="false" visibility="nevershow" multi="false">
										<sci:help>Local Component Identifier</sci:help>
										<sci:value>2</sci:value>
									</sci:arg>
									<sci:arg name="Component Path" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The original path within the database of this component.</sci:help>
										<sci:value>Components\Chemistry\Data Access and Manipulation\Manipulators\Standardize Molecule</sci:value>
									</sci:arg>
								</sci:component>
							</sci:data>
							<sci:data object="SciTegic.GenerateFragments.1">
								<sci:component name="Generate Fragments" version="2">
									<sci:arg name="FragmentsToGenerate" type="StringType" required="false" visibility="visible" multi="true">
										<sci:help>Specifies what kind of molecular fragments are to be created:
 - RingAssemblies: Contiguous ring structures.
 - BridgeAssemblies: Rings sharing two or more bonds.
 - Rings: Individual rings.
 - ChainAssemblies: Contiguous chains.
 - MurckoAssemblies: Trim all aliphatic sidechains.


</sci:help>
										<sci:legalval>RingAssemblies</sci:legalval>
										<sci:legalval>BridgeAssemblies</sci:legalval>
										<sci:legalval>Rings</sci:legalval>
										<sci:legalval>ChainAssemblies</sci:legalval>
										<sci:legalval selected="true">MurckoAssemblies</sci:legalval>
									</sci:arg>
									<sci:arg name="IncludeAlphaAtoms" type="BoolType" required="true" visibility="visible" multi="false">
										<sci:help>Include the first atom outside the fragment</sci:help>
										<sci:legalval>True</sci:legalval>
										<sci:legalval selected="true">False</sci:legalval>
									</sci:arg>
									<sci:arg name="MarkAttachmentAtoms" type="BoolType" required="true" visibility="visible" multi="false">
										<sci:help>Atoms in the fragment at the point of attachment are marked as Z atoms</sci:help>
										<sci:legalval>True</sci:legalval>
										<sci:legalval selected="true">False</sci:legalval>
									</sci:arg>
									<sci:arg name="PassOnProperties" type="BoolType" required="true" visibility="visible" multi="false">
										<sci:help>Clone and pass on the original molecular property list with each fragment record created
</sci:help>
										<sci:legalval selected="true">True</sci:legalval>
										<sci:legalval>False</sci:legalval>
									</sci:arg>
									<sci:arg name="KeepExocyclicDoubleBonds" type="BoolType" required="true" visibility="visible" multi="false">
										<sci:help>Keep exocyclic double bonds when generating Rings or RingAssemblies</sci:help>
										<sci:legalval selected="true">True</sci:legalval>
										<sci:legalval>False</sci:legalval>
									</sci:arg>
									<sci:arg name="KeepPartialAromaticInfo" type="BoolType" required="true" visibility="visible" multi="false">
										<sci:help>Sometimes, a fragment contains bonds that used to be part of an aromatic system, but that
on their own, are not.  If this parameter is set to True, then these bonds are left marked as aromatic query bonds.
If this is False, then these bonds are left as their original single/double bond types.</sci:help>
										<sci:legalval selected="true">True</sci:legalval>
										<sci:legalval>False</sci:legalval>
									</sci:arg>
									<sci:arg name="ComponentAttributes" type="StringType" required="false" visibility="hidden" multi="true">
										<sci:help>Component Attributes</sci:help>
										<sci:legalval selected="true">ComponentTakesInput</sci:legalval>
										<sci:legalval selected="true">ComponentReturnsPass</sci:legalval>
										<sci:legalval selected="true">ComponentReturnsFail</sci:legalval>
										<sci:legalval>ComponentRunsLocal</sci:legalval>
									</sci:arg>
									<sci:arg name="OnDataTypeError" type="StringType" required="true" visibility="hidden" multi="false">
										<sci:legalval selected="true">Halt</sci:legalval>
										<sci:legalval>Fail</sci:legalval>
										<sci:legalval>Pass</sci:legalval>
									</sci:arg>
									<sci:arg name="OnGeneralError" type="StringType" required="true" visibility="hidden" multi="false">
										<sci:legalval selected="true">Halt</sci:legalval>
										<sci:legalval>Fail</sci:legalval>
										<sci:legalval>Pass</sci:legalval>
									</sci:arg>
									<sci:arg name="CustomErrorText" type="StringType" required="false" visibility="nevershow" multi="false"/>
									<sci:arg name="ComponentComment" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>Comment</sci:help>
										<sci:value>Fragments the incoming molecules to keep only their rings, ring assemblies, chains, Murcko assemblies, etc.</sci:value>
									</sci:arg>
									<sci:arg name="Registrant" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The user who registered this component.</sci:help>
										<sci:value>scitegic/chemistry</sci:value>
									</sci:arg>
									<sci:arg name="RegistrationDate" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The date this component was registered.</sci:help>
										<sci:value>Wed Feb 16 14:20:57 2005</sci:value>
									</sci:arg>
									<sci:arg name="ComponentUsage" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>Component Usage</sci:help>
										<sci:value>Parameter &apos;FragmentsToGenerate&apos; specified the type of fragments to generate. &apos;IncludeAlphaAtoms&apos; specifies whether to include the atom next to the cut point in each fragment.  &apos;PassOnProperties&apos; is whether the properties of the original molecule should be copied onto each fragment.

Input             - Molecular data records, which are not passed
Output Pass  - Molecular data records, one for each fragment</sci:value>
									</sci:arg>
									<sci:arg name="ComponentDisplayName" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:value>Generate Fragments</sci:value>
									</sci:arg>
									<sci:arg name="DerivedFrom" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The component this component is based upon.</sci:help>
										<sci:value>Generate Fragments</sci:value>
									</sci:arg>
									<sci:arg name="ComponentDisabled" type="LongType" required="false" visibility="nevershow" multi="false">
										<sci:value>0</sci:value>
									</sci:arg>
									<sci:arg name="ComponentIcon" type="StringType" required="true" visibility="nevershow" multi="false">
										<sci:value>GeneratorNode</sci:value>
									</sci:arg>
									<sci:arg name="ComponentGUID" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:value>{331A2ED0-52DF-4FC0-B3FB-271A747B1645}</sci:value>
									</sci:arg>
									<sci:arg name="ComponentPoint" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:value>390 -95</sci:value>
									</sci:arg>
									<sci:arg name="ComponentHelp" type="StringType" required="false" visibility="nevershow" multi="true">
										<sci:value>100</sci:value>
										<sci:value>Fragments the incoming molecules, outputting a variety of fragment types.</sci:value>
										<sci:value>Fragments a molecule keeping one or more types of fragments that you select. The fragment types are rings, ring assemblies, bridge assemblies, chains and Murcko assemblies. Properties of the original molecules can be passed on to each generated fragment. 

</sci:value>
										<sci:value>Molecule</sci:value>
										<sci:value/>
										<sci:value>Molecule</sci:value>
										<sci:value>One molecule record for each fragment generated.</sci:value>
										<sci:value>Molecule,Generic Data</sci:value>
										<sci:value/>
									</sci:arg>
									<sci:arg name="Component Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false"/>
									<sci:arg name="RegistrationVersion" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The server version when this component was registered</sci:help>
										<sci:value>4.5.2.200</sci:value>
									</sci:arg>
									<sci:arg name="ComponentLocalID" type="LongType" required="false" visibility="nevershow" multi="false">
										<sci:help>Local Component Identifier</sci:help>
										<sci:value>3</sci:value>
									</sci:arg>
									<sci:arg name="Component Path" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The original path within the database of this component.</sci:help>
										<sci:value>Components\Chemistry\Data Access and Manipulation\Manipulators\Generate Fragments</sci:value>
									</sci:arg>
								</sci:component>
							</sci:data>
							<sci:data object="SciTegic.CalculateSmiles.1">
								<sci:component name="Molecule to SMILES" version="2">
									<sci:arg name="Output" type="StringType" required="false" visibility="visible" multi="true">
										<sci:help>Select the type of output required: SMILES or Canonical Smiles</sci:help>
										<sci:legalval type="StringType" selected="true">Canonical_Smiles</sci:legalval>
										<sci:legalval type="StringType">Smiles</sci:legalval>
									</sci:arg>
									<sci:arg name="ComponentAttributes" type="StringType" required="false" visibility="hidden" multi="true">
										<sci:help>Component Attributes</sci:help>
										<sci:legalval selected="true">ComponentTakesInput</sci:legalval>
										<sci:legalval selected="true">ComponentReturnsPass</sci:legalval>
										<sci:legalval>ComponentReturnsFail</sci:legalval>
										<sci:legalval>ComponentRunsLocal</sci:legalval>
									</sci:arg>
									<sci:arg name="OnDataTypeError" type="StringType" required="true" visibility="hidden" multi="false">
										<sci:legalval selected="true">Halt</sci:legalval>
										<sci:legalval>Fail</sci:legalval>
										<sci:legalval>Pass</sci:legalval>
									</sci:arg>
									<sci:arg name="OnGeneralError" type="StringType" required="true" visibility="hidden" multi="false">
										<sci:legalval selected="true">Halt</sci:legalval>
										<sci:legalval>Fail</sci:legalval>
										<sci:legalval>Pass</sci:legalval>
									</sci:arg>
									<sci:arg name="CustomErrorText" type="StringType" required="false" visibility="nevershow" multi="false"/>
									<sci:arg name="ComponentComment" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>Comment</sci:help>
										<sci:value>Calculates a SMILES representation of the molecular information in a molecular data record. SMILES is a text-based representation for molecular information developed by Daylight.</sci:value>
									</sci:arg>
									<sci:arg name="Registrant" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The user who registered this component.</sci:help>
										<sci:value>scitegic/chemistry</sci:value>
									</sci:arg>
									<sci:arg name="RegistrationDate" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The date this component was registered.</sci:help>
										<sci:value>Wed Feb 16 14:20:52 2005</sci:value>
									</sci:arg>
									<sci:arg name="ComponentUsage" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>Component Usage</sci:help>
										<sci:value>Select either &apos;Smiles&apos; or &apos;Canonical_Smiles&quot; s in the &apos;Output&apos; pulldown list to generate the required string.  The data is augmented with the selected properties.

Input             - Molecule data records
Output Pass - Molecule data records augmented with selected properties</sci:value>
									</sci:arg>
									<sci:arg name="ComponentDisplayName" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:value>Molecule to SMILES</sci:value>
									</sci:arg>
									<sci:arg name="DerivedFrom" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The component this component is based upon.</sci:help>
										<sci:value>Canonical Smiles</sci:value>
									</sci:arg>
									<sci:arg name="ComponentIcon" type="StringType" required="true" visibility="nevershow" multi="false">
										<sci:value>CalculatorNode</sci:value>
									</sci:arg>
									<sci:arg name="ComponentGUID" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:value>{0C60C40A-5189-42DA-A3C0-4EA44BFF7D15}</sci:value>
									</sci:arg>
									<sci:arg name="ComponentPoint" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:value>990 -95</sci:value>
									</sci:arg>
									<sci:arg name="ComponentDisabled" type="LongType" required="false" visibility="nevershow" multi="false">
										<sci:value>0</sci:value>
									</sci:arg>
									<sci:arg name="ComponentHelp" type="StringType" required="false" visibility="nevershow" multi="true">
										<sci:value>100</sci:value>
										<sci:value>Creates a text property containing the SMILES representation of the molecule.</sci:value>
										<sci:value>&lt;p&gt;Can calculate the SMILES and/or Canonical SMILES. Note that the Canonicalization 
  algorithm is Scitegic&apos;s; while it is derived from the Daylight algorithm, it 
  will not necessarily give identical results. Compare two SMILES for identity 
  only when having both canonicalized by the same method. &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;javascript:DoLink(&apos;{0C60C40A-5189-42DA-A3C0-4EA44BC27D15}&apos;)&quot;&gt;See Also:&lt;/a&gt;&quot;Canonical SMILES&quot;.&lt;/p&gt;</sci:value>
										<sci:value>Molecule</sci:value>
										<sci:value/>
										<sci:value>Molecule</sci:value>
										<sci:value>Molecular data records augmented with text properties containing either the SMILES and/or the canonical SMILES of the molecule</sci:value>
										<sci:value>None</sci:value>
										<sci:value/>
									</sci:arg>
									<sci:arg name="RegistrationVersion" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The server version when this component was registered</sci:help>
										<sci:value>4.5.2.200</sci:value>
									</sci:arg>
									<sci:arg name="Component Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false"/>
									<sci:arg name="ComponentLocalID" type="LongType" required="false" visibility="nevershow" multi="false">
										<sci:help>Local Component Identifier</sci:help>
										<sci:value>0</sci:value>
									</sci:arg>
									<sci:arg name="Component Path" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The original path within the database of this component.</sci:help>
										<sci:value>Components\Chemistry\Data Access and Manipulation\Converters\Molecule To Text\Molecule to SMILES</sci:value>
									</sci:arg>
								</sci:component>
							</sci:data>
							<sci:data object="SciTegic.PropertyFunctions.1">
								<sci:component name="Rename Property" version="2">
									<sci:arg name="Property" type="StringType" required="true" visibility="visible" multi="false">
										<sci:help>Property name to change</sci:help>
										<sci:value>canonical_smiles</sci:value>
									</sci:arg>
									<sci:arg name="NewProperty" type="StringType" required="true" visibility="visible" multi="false">
										<sci:help>Name of the new property</sci:help>
										<sci:value>murcko_smiles</sci:value>
									</sci:arg>
									<sci:arg name="DataActionOnError" type="StringType" required="true" visibility="hidden" multi="false">
										<sci:help>When a General or DataType error occurs during processing:  
  LeaveData: The data is passed unalterd
  ClearData: The data is cleared before being passed (an empty data item)
  DeleteData: The data is deleted and not passed</sci:help>
										<sci:legalval selected="true">LeaveData</sci:legalval>
										<sci:legalval>ClearData</sci:legalval>
										<sci:legalval>DeleteData</sci:legalval>
									</sci:arg>
									<sci:arg name="ComponentAttributes" type="StringType" required="false" visibility="hidden" multi="true">
										<sci:help>Component Attributes</sci:help>
										<sci:legalval selected="true">ComponentTakesInput</sci:legalval>
										<sci:legalval selected="true">ComponentReturnsPass</sci:legalval>
										<sci:legalval>ComponentReturnsFail</sci:legalval>
										<sci:legalval>ComponentRunsLocal</sci:legalval>
									</sci:arg>
									<sci:arg name="OnDataTypeError" type="StringType" required="true" visibility="hidden" multi="false">
										<sci:legalval selected="true">Halt</sci:legalval>
										<sci:legalval>Fail</sci:legalval>
										<sci:legalval>Pass</sci:legalval>
									</sci:arg>
									<sci:arg name="OnGeneralError" type="StringType" required="true" visibility="hidden" multi="false">
										<sci:legalval selected="true">Halt</sci:legalval>
										<sci:legalval>Fail</sci:legalval>
										<sci:legalval>Pass</sci:legalval>
									</sci:arg>
									<sci:arg name="CustomErrorText" type="StringType" required="false" visibility="nevershow" multi="false"/>
									<sci:arg name="Action" type="StringType" required="true" visibility="nevershow" multi="false">
										<sci:help>the action to perform</sci:help>
										<sci:value>Rename</sci:value>
									</sci:arg>
									<sci:arg name="ComponentIcon" type="StringType" required="true" visibility="nevershow" multi="false">
										<sci:value>ExpressionNode</sci:value>
									</sci:arg>
									<sci:arg name="ComponentComment" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>Comment</sci:help>
										<sci:value>Renames a single property.</sci:value>
									</sci:arg>
									<sci:arg name="Registrant" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The user who registered this component.</sci:help>
										<sci:value>scitegic/core</sci:value>
									</sci:arg>
									<sci:arg name="RegistrationDate" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The date this component was registered.</sci:help>
										<sci:value>Wed Feb 16 14:20:35 2005</sci:value>
									</sci:arg>
									<sci:arg name="ComponentUsage" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>Component Usage</sci:help>
										<sci:value>The component works for single properties as well as property arrays. 

Input             - Data records
Output Pass  - All Data records</sci:value>
									</sci:arg>
									<sci:arg name="ComponentDisplayName" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:value>Rename property</sci:value>
									</sci:arg>
									<sci:arg name="DerivedFrom" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The component this component is based upon.</sci:help>
										<sci:value>Evaluate Expression</sci:value>
									</sci:arg>
									<sci:arg name="ComponentGUID" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:value>{5A384E06-8AF2-4C10-A9B7-7302DD110A48}</sci:value>
									</sci:arg>
									<sci:arg name="ComponentDisabled" type="LongType" required="false" visibility="nevershow" multi="false">
										<sci:value>0</sci:value>
									</sci:arg>
									<sci:arg name="ComponentPoint" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:value>1290 -95</sci:value>
									</sci:arg>
									<sci:arg name="ComponentHelp" type="StringType" required="false" visibility="nevershow" multi="true">
										<sci:value>100</sci:value>
										<sci:value>Renames a property.</sci:value>
										<sci:value>For each data record entering the component, the property with the specified name is renamed.</sci:value>
										<sci:value>Generic Data</sci:value>
										<sci:value/>
										<sci:value>Generic Data</sci:value>
										<sci:value/>
										<sci:value>None</sci:value>
										<sci:value/>
									</sci:arg>
									<sci:arg name="RegistrationVersion" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The server version when this component was registered</sci:help>
										<sci:value>4.5.2.200</sci:value>
									</sci:arg>
									<sci:arg name="Component Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false"/>
									<sci:arg name="ComponentLocalID" type="LongType" required="false" visibility="nevershow" multi="false">
										<sci:help>Local Component Identifier</sci:help>
										<sci:value>1</sci:value>
									</sci:arg>
									<sci:arg name="Component Path" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The original path within the database of this component.</sci:help>
										<sci:value>Components\Data Access and Manipulation\Utilities\Deprecated\Rename Property</sci:value>
									</sci:arg>
								</sci:component>
							</sci:data>
							<sci:data object="SciTegic.PropertyFunctions.1">
								<sci:component name="Copy Property" version="2">
									<sci:arg name="Property" type="StringType" required="true" visibility="visible" multi="false">
										<sci:help>Name of the property to copy</sci:help>
										<sci:value>original_canonical_smiles</sci:value>
									</sci:arg>
									<sci:arg name="NewProperty" type="StringType" required="true" visibility="visible" multi="false">
										<sci:help>Name of the new property to create</sci:help>
										<sci:value>canonical_smiles</sci:value>
									</sci:arg>
									<sci:arg name="DataActionOnError" type="StringType" required="true" visibility="hidden" multi="false">
										<sci:help>When a General or DataType error occurs during processing:  
  LeaveData: The data is passed unalterd
  ClearData: The data is cleared before being passed (an empty data item)
  DeleteData: The data is deleted and not passed</sci:help>
										<sci:legalval selected="true">LeaveData</sci:legalval>
										<sci:legalval>ClearData</sci:legalval>
										<sci:legalval>DeleteData</sci:legalval>
									</sci:arg>
									<sci:arg name="ComponentAttributes" type="StringType" required="false" visibility="hidden" multi="true">
										<sci:help>Component Attributes</sci:help>
										<sci:legalval selected="true">ComponentTakesInput</sci:legalval>
										<sci:legalval selected="true">ComponentReturnsPass</sci:legalval>
										<sci:legalval>ComponentReturnsFail</sci:legalval>
										<sci:legalval>ComponentRunsLocal</sci:legalval>
									</sci:arg>
									<sci:arg name="OnDataTypeError" type="StringType" required="true" visibility="hidden" multi="false">
										<sci:legalval selected="true">Halt</sci:legalval>
										<sci:legalval>Fail</sci:legalval>
										<sci:legalval>Pass</sci:legalval>
									</sci:arg>
									<sci:arg name="OnGeneralError" type="StringType" required="true" visibility="hidden" multi="false">
										<sci:legalval selected="true">Halt</sci:legalval>
										<sci:legalval>Fail</sci:legalval>
										<sci:legalval>Pass</sci:legalval>
									</sci:arg>
									<sci:arg name="CustomErrorText" type="StringType" required="false" visibility="nevershow" multi="false"/>
									<sci:arg name="Action" type="StringType" required="true" visibility="nevershow" multi="false">
										<sci:help>the action to perform</sci:help>
										<sci:value>Copy</sci:value>
									</sci:arg>
									<sci:arg name="ComponentIcon" type="StringType" required="true" visibility="nevershow" multi="false">
										<sci:value>ExpressionNode</sci:value>
									</sci:arg>
									<sci:arg name="ComponentComment" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>Comment</sci:help>
										<sci:value>Creates a new property with the same value as an existing property. This is useful, for example, for saving a property before another operation changes it.</sci:value>
									</sci:arg>
									<sci:arg name="Registrant" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The user who registered this component.</sci:help>
										<sci:value>scitegic/core</sci:value>
									</sci:arg>
									<sci:arg name="RegistrationDate" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The date this component was registered.</sci:help>
										<sci:value>Mon Feb 27 15:32:33 2006</sci:value>
									</sci:arg>
									<sci:arg name="ComponentUsage" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>Component Usage</sci:help>
										<sci:value>A new property &apos;NewProperty&apos; will be created with the same value as the input property &apos;Property&apos;. This is useful for math operations that overwrite the input property. The component works for single properties as well as property arrays. 

Input             - Data records
Output Pass  - All Data records</sci:value>
									</sci:arg>
									<sci:arg name="ComponentDisplayName" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:value>deal with the non ring systems</sci:value>
									</sci:arg>
									<sci:arg name="ComponentGUID" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:value>{D8FD9FE4-C445-4D04-9990-5D379E80B02F}</sci:value>
									</sci:arg>
									<sci:arg name="ComponentDisabled" type="LongType" required="false" visibility="nevershow" multi="false">
										<sci:value>0</sci:value>
									</sci:arg>
									<sci:arg name="ComponentPoint" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:value>690 -275</sci:value>
									</sci:arg>
									<sci:arg name="ComponentHelp" type="StringType" required="false" visibility="nevershow" multi="true">
										<sci:value>100</sci:value>
										<sci:value>Creates a new property that copies the value of an existing property. </sci:value>
										<sci:value>A new property called &quot;NewProperty&quot; is created with the same value as the input property &quot;Property&quot;. 

The component works for single properties as well as property arrays. This is useful for saving a property before another operation changes it. For example, a property can be copied prior to using a math operation that overwrites the original.

</sci:value>
										<sci:value>Generic Data</sci:value>
										<sci:value/>
										<sci:value>Generic Data</sci:value>
										<sci:value/>
										<sci:value>None</sci:value>
										<sci:value/>
									</sci:arg>
									<sci:arg name="RegistrationVersion" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The server version when this component was registered</sci:help>
										<sci:value>5.1.0.100</sci:value>
									</sci:arg>
									<sci:arg name="Component Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false"/>
									<sci:arg name="DerivedFrom" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The component this component is based upon</sci:help>
										<sci:value>Copy Property</sci:value>
									</sci:arg>
									<sci:arg name="ComponentLocalID" type="LongType" required="false" visibility="nevershow" multi="false">
										<sci:help>Local Component Identifier</sci:help>
										<sci:value>4</sci:value>
									</sci:arg>
									<sci:arg name="Component Path" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The original path within the database of this component.</sci:help>
										<sci:value>Components\Data Access and Manipulation\Property Manipulators\Copy Property</sci:value>
									</sci:arg>
								</sci:component>
							</sci:data>
							<sci:connectid from="2" to="3" type="true"/>
							<sci:connectid from="3" to="0" type="true"/>
							<sci:connectid from="3" to="4" type="false"/>
							<sci:connectid from="0" to="1" type="true"/>
							<sci:connectid from="4" to="0" type="true"/>
							<sci:version iVal="1"/>
						</sci:protocol>
					</sci:data>
					<sci:data object="SciTegic.PropertyFunctions.1">
						<sci:component name="Rename Property" version="2">
							<sci:arg name="Property" type="StringType" required="true" visibility="visible" multi="false">
								<sci:help>Property name to change</sci:help>
								<sci:value>original_canonical_smiles</sci:value>
							</sci:arg>
							<sci:arg name="NewProperty" type="StringType" required="true" visibility="visible" multi="false">
								<sci:help>Name of the new property</sci:help>
								<sci:value>canonical_smiles</sci:value>
							</sci:arg>
							<sci:arg name="DataActionOnError" type="StringType" required="true" visibility="hidden" multi="false">
								<sci:help>When a General or DataType error occurs during processing:  
  LeaveData: The data is passed unalterd
  ClearData: The data is cleared before being passed (an empty data item)
  DeleteData: The data is deleted and not passed</sci:help>
								<sci:legalval selected="true">LeaveData</sci:legalval>
								<sci:legalval>ClearData</sci:legalval>
								<sci:legalval>DeleteData</sci:legalval>
							</sci:arg>
							<sci:arg name="ComponentAttributes" type="StringType" required="false" visibility="hidden" multi="true">
								<sci:help>Component Attributes</sci:help>
								<sci:legalval selected="true">ComponentTakesInput</sci:legalval>
								<sci:legalval selected="true">ComponentReturnsPass</sci:legalval>
								<sci:legalval>ComponentReturnsFail</sci:legalval>
								<sci:legalval>ComponentRunsLocal</sci:legalval>
							</sci:arg>
							<sci:arg name="OnDataTypeError" type="StringType" required="true" visibility="hidden" multi="false">
								<sci:legalval selected="true">Halt</sci:legalval>
								<sci:legalval>Fail</sci:legalval>
								<sci:legalval>Pass</sci:legalval>
							</sci:arg>
							<sci:arg name="OnGeneralError" type="StringType" required="true" visibility="hidden" multi="false">
								<sci:legalval selected="true">Halt</sci:legalval>
								<sci:legalval>Fail</sci:legalval>
								<sci:legalval>Pass</sci:legalval>
							</sci:arg>
							<sci:arg name="CustomErrorText" type="StringType" required="false" visibility="nevershow" multi="false"/>
							<sci:arg name="Action" type="StringType" required="true" visibility="nevershow" multi="false">
								<sci:help>the action to perform</sci:help>
								<sci:value>Rename</sci:value>
							</sci:arg>
							<sci:arg name="ComponentIcon" type="StringType" required="true" visibility="nevershow" multi="false">
								<sci:value>ExpressionNode</sci:value>
							</sci:arg>
							<sci:arg name="ComponentComment" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>Comment</sci:help>
								<sci:value>Renames a single property.</sci:value>
							</sci:arg>
							<sci:arg name="Registrant" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The user who registered this component.</sci:help>
								<sci:value>scitegic/core</sci:value>
							</sci:arg>
							<sci:arg name="RegistrationDate" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The date this component was registered.</sci:help>
								<sci:value>Mon Feb 27 15:32:34 2006</sci:value>
							</sci:arg>
							<sci:arg name="ComponentUsage" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>Component Usage</sci:help>
								<sci:value>The component works for single properties as well as property arrays. 

Input             - Data records
Output Pass  - All Data records</sci:value>
							</sci:arg>
							<sci:arg name="ComponentDisplayName" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:value>Rename property</sci:value>
							</sci:arg>
							<sci:arg name="DerivedFrom" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The component this component is based upon.</sci:help>
								<sci:value>Evaluate Expression</sci:value>
							</sci:arg>
							<sci:arg name="ComponentGUID" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:value>{5A384E06-8AF2-4C10-A9B7-7302DD110A48}</sci:value>
							</sci:arg>
							<sci:arg name="ComponentDisabled" type="LongType" required="false" visibility="nevershow" multi="false">
								<sci:value>0</sci:value>
							</sci:arg>
							<sci:arg name="ComponentPoint" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:value>1590 -95</sci:value>
							</sci:arg>
							<sci:arg name="ComponentHelp" type="StringType" required="false" visibility="nevershow" multi="true">
								<sci:value>100</sci:value>
								<sci:value>Renames a property.</sci:value>
								<sci:value>For each data record entering the component, the property with the specified name is renamed.</sci:value>
								<sci:value>Generic Data</sci:value>
								<sci:value/>
								<sci:value>Generic Data</sci:value>
								<sci:value/>
								<sci:value>None</sci:value>
								<sci:value/>
							</sci:arg>
							<sci:arg name="RegistrationVersion" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The server version when this component was registered</sci:help>
								<sci:value>5.1.0.100</sci:value>
							</sci:arg>
							<sci:arg name="Component Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false"/>
							<sci:arg name="ComponentLocalID" type="LongType" required="false" visibility="nevershow" multi="false">
								<sci:help>Local Component Identifier</sci:help>
								<sci:value>5</sci:value>
							</sci:arg>
							<sci:arg name="Component Path" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The original path within the database of this component.</sci:help>
								<sci:value>Components\Data Access and Manipulation\Utilities\Deprecated\Rename Property</sci:value>
							</sci:arg>
						</sci:component>
					</sci:data>
					<sci:data object="SciTegic.DataCacheIO.1">
						<sci:component name="Cache Writer" version="2">
							<sci:arg name="CacheID" type="StringType" required="true" visibility="visible" multi="false">
								<sci:help>The name of the cache to write. Each cache in the protocol should have a unique name.</sci:help>
								<sci:value>swap</sci:value>
							</sci:arg>
							<sci:arg name="Maximum" type="LongType" required="false" visibility="visible" multi="false">
								<sci:help>The maximum number of data records to write to the cache.</sci:help>
							</sci:arg>
							<sci:arg name="ComponentAttributes" type="StringType" required="false" visibility="hidden" multi="true">
								<sci:help>Component Attributes</sci:help>
								<sci:legalval selected="true">ComponentTakesInput</sci:legalval>
								<sci:legalval>ComponentReturnsPass</sci:legalval>
								<sci:legalval>ComponentReturnsFail</sci:legalval>
								<sci:legalval>ComponentRunsLocal</sci:legalval>
							</sci:arg>
							<sci:arg name="OnDataTypeError" type="StringType" required="true" visibility="hidden" multi="false">
								<sci:legalval selected="true">Halt</sci:legalval>
								<sci:legalval>Fail</sci:legalval>
								<sci:legalval>Pass</sci:legalval>
							</sci:arg>
							<sci:arg name="OnGeneralError" type="StringType" required="true" visibility="hidden" multi="false">
								<sci:legalval selected="true">Halt</sci:legalval>
								<sci:legalval>Fail</sci:legalval>
								<sci:legalval>Pass</sci:legalval>
							</sci:arg>
							<sci:arg name="CustomErrorText" type="StringType" required="false" visibility="nevershow" multi="false"/>
							<sci:arg name="CacheCategory" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The cache type, that determines its folder location within the job.
               </sci:help>
								<sci:value>temp/_datacache_</sci:value>
							</sci:arg>
							<sci:arg name="Mode" type="StringType" required="true" visibility="nevershow" multi="false">
								<sci:help>Specifies the action of this component:

 - Writer: The component writes data records to a new cache.
 - Reader: The component reads data records from a pre-existing, completed cache.
 - Writer/Reader: The component writes data out to a cache and then reads it in again to generate new records.
               </sci:help>
								<sci:legalval selected="true">Writer</sci:legalval>
								<sci:legalval>Reader</sci:legalval>
								<sci:legalval>Writer/Reader</sci:legalval>
							</sci:arg>
							<sci:arg name="ComponentComment" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>Comment</sci:help>
								<sci:value>Reads raw textual data.</sci:value>
							</sci:arg>
							<sci:arg name="Registrant" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The user who registered this component.</sci:help>
								<sci:value>scitegic/core</sci:value>
							</sci:arg>
							<sci:arg name="RegistrationDate" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The date this component was registered.</sci:help>
								<sci:value>Mon Feb 27 15:32:46 2006</sci:value>
							</sci:arg>
							<sci:arg name="ComponentDisplayName" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:value>Cache Writer</sci:value>
							</sci:arg>
							<sci:arg name="ComponentPoint" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:value>1890 -95</sci:value>
							</sci:arg>
							<sci:arg name="ComponentIcon" type="StringType" required="true" visibility="nevershow" multi="false">
								<sci:value>DocumentNode</sci:value>
							</sci:arg>
							<sci:arg name="ComponentGUID" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:value>{674E3781-33EA-42BB-9099-49CB4C3D08E6}</sci:value>
							</sci:arg>
							<sci:arg name="DerivedFrom" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The component this component is based upon.</sci:help>
								<sci:value>Cache Writer</sci:value>
							</sci:arg>
							<sci:arg name="ComponentDisabled" type="LongType" required="false" visibility="nevershow" multi="false">
								<sci:value>0</sci:value>
							</sci:arg>
							<sci:arg name="ComponentHelp" type="StringType" required="false" visibility="nevershow" multi="true">
								<sci:value>100</sci:value>
								<sci:value>Writes data records to a named cache.</sci:value>
								<sci:value>This component writes data records to a named cache and can store records with any type of content. You can also mix records of different types in the cache.

The cache identifier can be any text, provided that you use a unique identifier for each cache referenced within the protocol.

The component is typically used as a mechanism for temporary data storage within a protocol. You can subsequently retrieve the cached data records using the &lt;a href=&quot;javascript:DoLink(&apos;{704E3781-33EA-42BB-9099-05B44C3D08E6}&apos;)&quot;&gt;Cache Reader&lt;/a&gt; component, by referencing the same cache identifier.

If you need to limit the stored data to specific records, use an upstream filter or use the Maxiumum parameter which prevents the cache growing beyond a specific number of records.</sci:value>
								<sci:value>Generic Data</sci:value>
								<sci:value/>
								<sci:value>None</sci:value>
								<sci:value/>
								<sci:value>None</sci:value>
								<sci:value/>
							</sci:arg>
							<sci:arg name="Component Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false"/>
							<sci:arg name="RegistrationVersion" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The server version when this component was registered</sci:help>
								<sci:value>5.1.0.100</sci:value>
							</sci:arg>
							<sci:arg name="ComponentLocalID" type="LongType" required="false" visibility="nevershow" multi="false">
								<sci:help>Local Component Identifier</sci:help>
								<sci:value>6</sci:value>
							</sci:arg>
							<sci:arg name="Component Path" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The original path within the database of this component.</sci:help>
								<sci:value>Components\Data Access and Manipulation\File Writers\Cache Writer</sci:value>
							</sci:arg>
						</sci:component>
					</sci:data>
					<sci:data object="SciTegic.DataCacheIO.1">
						<sci:component name="Cache Reader" version="2">
							<sci:arg name="CacheID" type="StringType" required="true" visibility="visible" multi="false">
								<sci:help>The name of the cache to read, which should refer to a cache already written in the protocol containing this component.</sci:help>
								<sci:value>swap</sci:value>
							</sci:arg>
							<sci:arg name="RangeMinimum" type="LongType" required="false" visibility="hidden" multi="false">
								<sci:help>The lower limit of data records to read from the cache. Numbering starts at 1.  A blank value or a value less than 1 means start reading at the first cached record.
               </sci:help>
							</sci:arg>
							<sci:arg name="RangeMaximum" type="LongType" required="false" visibility="hidden" multi="false">
								<sci:help>The upper limit of data records to read from the cache. Numbering starts at 1.  A blank value or a value less than 1 means read to the end of the set of cached records.
               </sci:help>
							</sci:arg>
							<sci:arg name="JobId" type="StringType" required="false" visibility="hidden" multi="false">
								<sci:help>The job that owns the cache, if it is different from this job. The job must have been run by the same user as this job. If not specified, then the current job is assumed to contain the cache.
               </sci:help>
							</sci:arg>
							<sci:arg name="ComponentAttributes" type="StringType" required="false" visibility="hidden" multi="true">
								<sci:help>Component Attributes</sci:help>
								<sci:legalval>ComponentTakesInput</sci:legalval>
								<sci:legalval selected="true">ComponentReturnsPass</sci:legalval>
								<sci:legalval>ComponentReturnsFail</sci:legalval>
								<sci:legalval>ComponentRunsLocal</sci:legalval>
							</sci:arg>
							<sci:arg name="OnDataTypeError" type="StringType" required="true" visibility="hidden" multi="false">
								<sci:legalval selected="true">Halt</sci:legalval>
								<sci:legalval>Fail</sci:legalval>
								<sci:legalval>Pass</sci:legalval>
							</sci:arg>
							<sci:arg name="OnGeneralError" type="StringType" required="true" visibility="hidden" multi="false">
								<sci:legalval selected="true">Halt</sci:legalval>
								<sci:legalval>Fail</sci:legalval>
								<sci:legalval>Pass</sci:legalval>
							</sci:arg>
							<sci:arg name="CustomErrorText" type="StringType" required="false" visibility="nevershow" multi="false"/>
							<sci:arg name="CacheCategory" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The cache type, that determines its folder location within the job.
               </sci:help>
								<sci:value>temp/_datacache_</sci:value>
							</sci:arg>
							<sci:arg name="Mode" type="StringType" required="true" visibility="nevershow" multi="false">
								<sci:help>Specifies the action of this component:

 - Writer: The component writes data records to a new cache.
 - Reader: The component reads data records from a pre-existing, completed cache.
 - Writer/Reader: The component writes data out to a cache and then reads it in again to generate new records.
               </sci:help>
								<sci:legalval>Writer</sci:legalval>
								<sci:legalval selected="true">Reader</sci:legalval>
								<sci:legalval>Writer/Reader</sci:legalval>
							</sci:arg>
							<sci:arg name="ComponentComment" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>Comment</sci:help>
								<sci:value>Reads raw textual data.</sci:value>
							</sci:arg>
							<sci:arg name="Registrant" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The user who registered this component.</sci:help>
								<sci:value>scitegic/core</sci:value>
							</sci:arg>
							<sci:arg name="RegistrationDate" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The date this component was registered.</sci:help>
								<sci:value>Mon Feb 27 15:32:35 2006</sci:value>
							</sci:arg>
							<sci:arg name="ComponentDisplayName" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:value>Cache Reader</sci:value>
							</sci:arg>
							<sci:arg name="ComponentPoint" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:value>90 -455</sci:value>
							</sci:arg>
							<sci:arg name="ComponentIcon" type="StringType" required="true" visibility="nevershow" multi="false">
								<sci:value>DocumentNode</sci:value>
							</sci:arg>
							<sci:arg name="ComponentGUID" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:value>{704E3781-33EA-42BB-9099-05B44C3D08E6}</sci:value>
							</sci:arg>
							<sci:arg name="DerivedFrom" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The component this component is based upon.</sci:help>
								<sci:value>Cache Reader</sci:value>
							</sci:arg>
							<sci:arg name="ComponentDisabled" type="LongType" required="false" visibility="nevershow" multi="false">
								<sci:value>0</sci:value>
							</sci:arg>
							<sci:arg name="ComponentHelp" type="StringType" required="false" visibility="nevershow" multi="true">
								<sci:value>100</sci:value>
								<sci:value>Reads data records from a named cache.</sci:value>
								<sci:value>This component reads data records from a named cache stored by this protocol.

The cache identifier must be the name of a cache written by the &lt;a href=&quot;javascript:DoLink(&apos;{674E3781-33EA-42BB-9099-49CB4C3D08E6}&apos;)&quot;&gt;Cache Writer&lt;/a&gt; component.

The component is typically used as a mechanism for retrieving temporary data stored within a protocol. 

You can specify values for the range parameters to limit which data records are read out fromthe cache.</sci:value>
								<sci:value>None</sci:value>
								<sci:value/>
								<sci:value>Generic Data</sci:value>
								<sci:value/>
								<sci:value>None</sci:value>
								<sci:value/>
							</sci:arg>
							<sci:arg name="Component Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false"/>
							<sci:arg name="RegistrationVersion" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The server version when this component was registered</sci:help>
								<sci:value>5.1.0.100</sci:value>
							</sci:arg>
							<sci:arg name="ComponentLocalID" type="LongType" required="false" visibility="nevershow" multi="false">
								<sci:help>Local Component Identifier</sci:help>
								<sci:value>7</sci:value>
							</sci:arg>
							<sci:arg name="Component Path" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The original path within the database of this component.</sci:help>
								<sci:value>Components\Data Access and Manipulation\File Readers\Cache Reader</sci:value>
							</sci:arg>
						</sci:component>
					</sci:data>
					<sci:data object="SciTegic.PropertyFunctions.1">
						<sci:component name="First Occurrence Filter" version="2">
							<sci:arg name="KeyProperty" type="StringType" required="true" visibility="visible" multi="false">
								<sci:help>Name of the property holding values to keep only one of.  If you give a comma-separated list of multiple keys, then all values must have occurred at the same time on some other record for it to be rejected.</sci:help>
								<sci:value>murcko_smiles</sci:value>
							</sci:arg>
							<sci:arg name="CaseSensitive" type="BoolType" required="true" visibility="visible" multi="false">
								<sci:help>Whether to perform the comparison as case-sensitive or case-insensitive 
strings</sci:help>
								<sci:legalval selected="true">True</sci:legalval>
								<sci:legalval>False</sci:legalval>
							</sci:arg>
							<sci:arg name="ComponentAttributes" type="StringType" required="false" visibility="hidden" multi="true">
								<sci:help>Component Attributes</sci:help>
								<sci:legalval selected="true">ComponentTakesInput</sci:legalval>
								<sci:legalval selected="true">ComponentReturnsPass</sci:legalval>
								<sci:legalval selected="true">ComponentReturnsFail</sci:legalval>
								<sci:legalval>ComponentRunsLocal</sci:legalval>
							</sci:arg>
							<sci:arg name="OnDataTypeError" type="StringType" required="true" visibility="hidden" multi="false">
								<sci:legalval selected="true">Halt</sci:legalval>
								<sci:legalval>Fail</sci:legalval>
								<sci:legalval>Pass</sci:legalval>
							</sci:arg>
							<sci:arg name="OnGeneralError" type="StringType" required="true" visibility="hidden" multi="false">
								<sci:legalval selected="true">Halt</sci:legalval>
								<sci:legalval>Fail</sci:legalval>
								<sci:legalval>Pass</sci:legalval>
							</sci:arg>
							<sci:arg name="CustomErrorText" type="StringType" required="false" visibility="nevershow" multi="false"/>
							<sci:arg name="Action" type="StringType" required="true" visibility="nevershow" multi="false">
								<sci:help>the action to perform</sci:help>
								<sci:value>FirstOccurrence</sci:value>
							</sci:arg>
							<sci:arg name="ComponentComment" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>Comment</sci:help>
								<sci:value>Outputs data records with data values for some property not already seen. This filter is different from the Unique Filter, which passes data records containing properties that exist once and only once.</sci:value>
							</sci:arg>
							<sci:arg name="Registrant" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The user who registered this component.</sci:help>
								<sci:value>scitegic/core</sci:value>
							</sci:arg>
							<sci:arg name="RegistrationDate" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The date this component was registered.</sci:help>
								<sci:value>Mon Feb 27 15:32:32 2006</sci:value>
							</sci:arg>
							<sci:arg name="ComponentUsage" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>Component Usage</sci:help>
								<sci:value>Incoming records are output the pass port unless the value of their &apos;KeyProperty&apos; has already been seen in earlier records.

Input:             Data records
Output Pass:  Data records (first occurrence only)
Output Fail:    Data records (duplicate occurrences)</sci:value>
							</sci:arg>
							<sci:arg name="ComponentDisplayName" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:value>First Occurrence
Filter</sci:value>
							</sci:arg>
							<sci:arg name="DerivedFrom" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The component this component is based upon.</sci:help>
								<sci:value>Expression Filter</sci:value>
							</sci:arg>
							<sci:arg name="ComponentIcon" type="StringType" required="true" visibility="nevershow" multi="false">
								<sci:value>FilterNode</sci:value>
							</sci:arg>
							<sci:arg name="ComponentDisabled" type="LongType" required="false" visibility="nevershow" multi="false">
								<sci:value>0</sci:value>
							</sci:arg>
							<sci:arg name="ComponentGUID" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:value>{D2EC3EBB-CD17-4093-93A9-D9FB603DE083}</sci:value>
							</sci:arg>
							<sci:arg name="ComponentPoint" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:value>390 -455</sci:value>
							</sci:arg>
							<sci:arg name="ComponentHelp" type="StringType" required="false" visibility="nevershow" multi="true">
								<sci:value>100</sci:value>
								<sci:value>Passes data records for which the value of a user defined property has not been seen on any record earlier in the input stream.

</sci:value>
								<sci:value>Incoming records are output the pass port unless the value of their &apos;KeyProperty&apos; has already been seen in earlier records.
&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;javascript:DoLink(&apos;{2FD9ECF2-C47F-4A20-AC72-5F352E08FC98}&apos;)&quot;&gt;See Also:&lt;/a&gt;The &quot;Unique Filter&quot; component only passes records for which a user defined property value occurs once and only once in the entire input stream.&lt;/p&gt;</sci:value>
								<sci:value>Generic Data</sci:value>
								<sci:value/>
								<sci:value>Generic Data</sci:value>
								<sci:value>Data records with the first occurence of a value of the given property.</sci:value>
								<sci:value>Generic Data</sci:value>
								<sci:value>Data records with the second and subsequent occurences of a value of the given property.</sci:value>
							</sci:arg>
							<sci:arg name="RegistrationVersion" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The server version when this component was registered</sci:help>
								<sci:value>5.1.0.100</sci:value>
							</sci:arg>
							<sci:arg name="Component Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false"/>
							<sci:arg name="ComponentLocalID" type="LongType" required="false" visibility="nevershow" multi="false">
								<sci:help>Local Component Identifier</sci:help>
								<sci:value>8</sci:value>
							</sci:arg>
							<sci:arg name="Component Path" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The original path within the database of this component.</sci:help>
								<sci:value>Components\Data Access and Manipulation\Data Filters\First Occurrence Filter</sci:value>
							</sci:arg>
						</sci:component>
					</sci:data>
					<sci:data object="SciTegic.SortData.1">
						<sci:component name="Sort Data" version="2">
							<sci:arg name="SortProperty1" type="StringType" required="true" visibility="visible" multi="false">
								<sci:help>First property to sort by</sci:help>
								<sci:value>Molecular_Weight</sci:value>
							</sci:arg>
							<sci:arg name="SortDirection1" type="StringType" required="true" visibility="visible" multi="false">
								<sci:help>Sort in increasing or decreasing order</sci:help>
								<sci:legalval selected="true">Increasing</sci:legalval>
								<sci:legalval>Decreasing</sci:legalval>
							</sci:arg>
							<sci:arg name="SortAs1" type="StringType" required="true" visibility="visible" multi="false">
								<sci:help>Sort as numbers or as text</sci:help>
								<sci:legalval selected="true">AsNumbers</sci:legalval>
								<sci:legalval>AsText</sci:legalval>
							</sci:arg>
							<sci:arg name="SortProperty2" type="StringType" required="false" visibility="visible" multi="false">
								<sci:help>Second property to sort by</sci:help>
							</sci:arg>
							<sci:arg name="SortDirection2" type="StringType" required="true" visibility="visible" multi="false">
								<sci:help>Sort in increasing or decreasing order</sci:help>
								<sci:legalval selected="true">Increasing</sci:legalval>
								<sci:legalval>Decreasing</sci:legalval>
							</sci:arg>
							<sci:arg name="SortAs2" type="StringType" required="true" visibility="visible" multi="false">
								<sci:help>Sort as numbers or as text</sci:help>
								<sci:legalval selected="true">AsNumbers</sci:legalval>
								<sci:legalval>AsText</sci:legalval>
							</sci:arg>
							<sci:arg name="SortProperty3" type="StringType" required="false" visibility="visible" multi="false">
								<sci:help>Third property to sort by</sci:help>
							</sci:arg>
							<sci:arg name="SortDirection3" type="StringType" required="true" visibility="visible" multi="false">
								<sci:help>Sort in increasing or decreasing order</sci:help>
								<sci:legalval selected="true">Increasing</sci:legalval>
								<sci:legalval>Decreasing</sci:legalval>
							</sci:arg>
							<sci:arg name="SortAs3" type="StringType" required="true" visibility="visible" multi="false">
								<sci:help>Sort as numbers or as text</sci:help>
								<sci:legalval selected="true">AsNumbers</sci:legalval>
								<sci:legalval>AsText</sci:legalval>
							</sci:arg>
							<sci:arg name="SortProperty4" type="StringType" required="false" visibility="hidden" multi="false">
								<sci:help>Fourth property to sort by</sci:help>
							</sci:arg>
							<sci:arg name="SortDirection4" type="StringType" required="true" visibility="hidden" multi="false">
								<sci:help>Sort in increasing or decreasing order</sci:help>
								<sci:legalval selected="true">Increasing</sci:legalval>
								<sci:legalval>Decreasing</sci:legalval>
							</sci:arg>
							<sci:arg name="SortAs4" type="StringType" required="true" visibility="hidden" multi="false">
								<sci:help>Sort as numbers or as text</sci:help>
								<sci:legalval selected="true">AsNumbers</sci:legalval>
								<sci:legalval>AsText</sci:legalval>
							</sci:arg>
							<sci:arg name="SortProperty5" type="StringType" required="false" visibility="hidden" multi="false">
								<sci:help>Fifth property to sort by</sci:help>
							</sci:arg>
							<sci:arg name="SortDirection5" type="StringType" required="true" visibility="hidden" multi="false">
								<sci:help>Sort in increasing or decreasing order</sci:help>
								<sci:legalval selected="true">Increasing</sci:legalval>
								<sci:legalval>Decreasing</sci:legalval>
							</sci:arg>
							<sci:arg name="SortAs5" type="StringType" required="true" visibility="hidden" multi="false">
								<sci:help>Sort as numbers or as text</sci:help>
								<sci:legalval selected="true">AsNumbers</sci:legalval>
								<sci:legalval>AsText</sci:legalval>
							</sci:arg>
							<sci:arg name="SortProperty6" type="StringType" required="false" visibility="hidden" multi="false">
								<sci:help>Sixth property to sort by</sci:help>
							</sci:arg>
							<sci:arg name="SortDirection6" type="StringType" required="true" visibility="hidden" multi="false">
								<sci:help>Sort in increasing or decreasing order</sci:help>
								<sci:legalval selected="true">Increasing</sci:legalval>
								<sci:legalval>Decreasing</sci:legalval>
							</sci:arg>
							<sci:arg name="SortAs6" type="StringType" required="true" visibility="hidden" multi="false">
								<sci:help>Sort as numbers or as text</sci:help>
								<sci:legalval selected="true">AsNumbers</sci:legalval>
								<sci:legalval>AsText</sci:legalval>
							</sci:arg>
							<sci:arg name="ComponentAttributes" type="StringType" required="false" visibility="hidden" multi="true">
								<sci:help>Component Attributes</sci:help>
								<sci:legalval selected="true">ComponentTakesInput</sci:legalval>
								<sci:legalval selected="true">ComponentReturnsPass</sci:legalval>
								<sci:legalval selected="true">ComponentReturnsFail</sci:legalval>
								<sci:legalval>ComponentRunsLocal</sci:legalval>
							</sci:arg>
							<sci:arg name="OnDataTypeError" type="StringType" required="true" visibility="hidden" multi="false">
								<sci:legalval selected="true">Halt</sci:legalval>
								<sci:legalval>Fail</sci:legalval>
								<sci:legalval>Pass</sci:legalval>
							</sci:arg>
							<sci:arg name="OnGeneralError" type="StringType" required="true" visibility="hidden" multi="false">
								<sci:legalval selected="true">Halt</sci:legalval>
								<sci:legalval>Fail</sci:legalval>
								<sci:legalval>Pass</sci:legalval>
							</sci:arg>
							<sci:arg name="CustomErrorText" type="StringType" required="false" visibility="nevershow" multi="false"/>
							<sci:arg name="ComponentComment" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>Comment</sci:help>
								<sci:value>Reorders the data records into a sorted order, depending on some property value.</sci:value>
							</sci:arg>
							<sci:arg name="Registrant" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The user who registered this component.</sci:help>
								<sci:value>scitegic/core</sci:value>
							</sci:arg>
							<sci:arg name="RegistrationDate" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The date this component was registered.</sci:help>
								<sci:value>Mon Feb 27 15:32:34 2006</sci:value>
							</sci:arg>
							<sci:arg name="ComponentDisplayName" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:value>Sort Data</sci:value>
							</sci:arg>
							<sci:arg name="ComponentUsage" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>Component Usage</sci:help>
								<sci:value>Incoming data records are held and sorted before being output in ascending or descending order of the named property.

Additional properties can be added to the sort by adding successive SortProperty, SortDirection, and SortAs parameters (i.e., SortProperty7, SortDirection7, and SortAs7, etc.).

Input             - Data records
Output Pass  - Data records (in sorted order).</sci:value>
							</sci:arg>
							<sci:arg name="DerivedFrom" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The component this component is based upon.</sci:help>
								<sci:value>Sort Data</sci:value>
							</sci:arg>
							<sci:arg name="ComponentIcon" type="StringType" required="true" visibility="nevershow" multi="false">
								<sci:value>ComponentNode</sci:value>
							</sci:arg>
							<sci:arg name="ComponentGUID" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:value>{E52CD4DE-1DAD-4AEA-A26D-5DEB4497365C}</sci:value>
							</sci:arg>
							<sci:arg name="ComponentPoint" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:value>690 -455</sci:value>
							</sci:arg>
							<sci:arg name="ComponentDisabled" type="LongType" required="false" visibility="nevershow" multi="false">
								<sci:value>0</sci:value>
							</sci:arg>
							<sci:arg name="ComponentHelp" type="StringType" required="false" visibility="nevershow" multi="true">
								<sci:value>100</sci:value>
								<sci:value>Sorts the data records according to one or more properties.</sci:value>
								<sci:value>Incoming data records are held and sorted before being output in ascending or descending order of the named property or properties.</sci:value>
								<sci:value>Generic Data</sci:value>
								<sci:value/>
								<sci:value>Generic Data</sci:value>
								<sci:value>Data records in sorted order</sci:value>
								<sci:value>Generic Data</sci:value>
								<sci:value>Data records that do not contain the sort field(s)</sci:value>
							</sci:arg>
							<sci:arg name="RegistrationVersion" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The server version when this component was registered</sci:help>
								<sci:value>5.1.0.100</sci:value>
							</sci:arg>
							<sci:arg name="Component Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false"/>
							<sci:arg name="ComponentLocalID" type="LongType" required="false" visibility="nevershow" multi="false">
								<sci:help>Local Component Identifier</sci:help>
								<sci:value>9</sci:value>
							</sci:arg>
							<sci:arg name="Component Path" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The original path within the database of this component.</sci:help>
								<sci:value>Unknown</sci:value>
							</sci:arg>
						</sci:component>
					</sci:data>
					<sci:data object="SciTegic.LearnClustering.1">
						<sci:component name="Cluster Molecules" version="2">
							<sci:arg name="AvgNumberPerCluster" type="LongType" required="false" visibility="visible" multi="false">
								<sci:help>The average number of molecules per cluster. (Overrides &lt;i&gt;NumberOfClusters&lt;/i&gt; if both are specified.)</sci:help>
								<sci:value>20</sci:value>
							</sci:arg>
							<sci:arg name="UseProperties" type="StringType" required="true" visibility="visible" multi="false" expanded="true">
								<sci:help>The properties to use for distance calculations.  Options are:
&lt;ul&gt;
&lt;li&gt;AllPropertiesOnFirstData: Uses all properties that are found on the first data record.
&lt;li&gt;CalculablePropertiesOnFirstData: Uses all calculable properties found on the first data record.
&lt;li&gt;PredefinedSet: Uses the properties specified by &lt;i&gt;PredefinedSet&lt;/i&gt;.
&lt;li&gt;UserSet: Uses the properties specified by &lt;i&gt;UserSet&lt;/i&gt;.  Property ranges can be given by providing the first and last property in the range separated by a hyphen. Properties can be referred to by index using the word &quot;Column&quot; followed by the index, such as &quot;Column3-Column10&quot;.
&lt;/ul&gt;
&lt;b&gt;Note:&lt;/b&gt;
&lt;ul&gt;
&lt;li&gt;Input string properties with any of the following values (independent of case) are treated as Boolean: &quot;True&quot;, &quot;False&quot;, &quot;Yes&quot;, &quot;No&quot;, &quot;T&quot;, &quot;F&quot;, &quot;Y&quot;, &quot;N&quot;. If you wish such properties to be treated as strings instead, you should modify the values with a prefix or suffix. E.g., change &quot;T&quot; to &quot;T.&quot; or &quot;TT&quot;.
&lt;/ul&gt;
</sci:help>
								<sci:member>PredefinedSet</sci:member>
								<sci:member>UserSet</sci:member>
								<sci:member>IgnoreProperties</sci:member>
								<sci:legalval>AllPropertiesOnFirstData</sci:legalval>
								<sci:legalval>CalculablePropertiesOnFirstData</sci:legalval>
								<sci:legalval selected="true">PredefinedSet</sci:legalval>
								<sci:legalval>UserSet</sci:legalval>
							</sci:arg>
							<sci:arg name="PredefinedSet" type="StringType" required="false" visibility="visible" multi="true">
								<sci:help>A predefined set of properties to use for clustering</sci:help>
								<sci:enabledscript>SetDisabledDetails(&apos;To enable, set UseProperties to PredefinedSet&apos;);
Parameter(&apos;UseProperties&apos;) eq &apos;PredefinedSet&apos;</sci:enabledscript>
								<sci:legalval>FCFP_2</sci:legalval>
								<sci:legalval>FCFP_4</sci:legalval>
								<sci:legalval>FCFP_6</sci:legalval>
								<sci:legalval>ALogP</sci:legalval>
								<sci:legalval>Molecular_Weight</sci:legalval>
								<sci:legalval>Num_H_Donors</sci:legalval>
								<sci:legalval>Num_H_Acceptors</sci:legalval>
								<sci:legalval>Num_RotatableBonds</sci:legalval>
								<sci:legalval>ECFP_2</sci:legalval>
								<sci:legalval>ECFP_4</sci:legalval>
								<sci:legalval selected="true">ECFP_6</sci:legalval>
								<sci:legalval>MDLPublicKeys</sci:legalval>
								<sci:legalval>Num_Atoms</sci:legalval>
								<sci:legalval>Num_Rings</sci:legalval>
								<sci:legalval>Num_AromaticRings</sci:legalval>
								<sci:legalval>Num_Fragments</sci:legalval>
								<sci:legalval>Molecular_PolarSurfaceArea</sci:legalval>
								<sci:legalval>Molecular_PolarSASA</sci:legalval>
								<sci:legalval>NPlusO_Count</sci:legalval>
							</sci:arg>
							<sci:arg name="UserSet" type="StringType" required="false" visibility="visible" multi="false">
								<sci:help>A comma-separated list of properties to use for clustering. 
&lt;p&gt;If an item on the list contains a hyphen (e.g., &quot;X1-X5&quot;), and the properties on either side of the hyphen (e.g., &quot;X1&quot;, &quot;X5&quot;) are defined on the first data record, then all properties in that range are included. Note that the properties within the specified range are determined by the order of properties in the property list. Thus, if properties in the property list are in the following order: X1, X2, X5, X3, X4, X6, then the range &quot;X1-X5&quot; will only include properties X1, X2, and X5.&lt;/p&gt;
</sci:help>
								<sci:enabledscript>SetDisabledDetails(&apos;To enable, set UseProperties to UserSet&apos;);
Parameter(&apos;UseProperties&apos;) eq &apos;UserSet&apos;</sci:enabledscript>
							</sci:arg>
							<sci:arg name="IgnoreProperties" type="StringType" required="false" visibility="visible" multi="false">
								<sci:help>A comma-separated list of properties to ignore. This is used, for example, if the UseProperties parameter is set to &quot;AllPropertiesOnFirstData&quot;, and there is a small set of undesirable properties you do not want to use (such as record names) but cannot remove.</sci:help>
							</sci:arg>
							<sci:arg name="Clustering Options" type="GroupType" required="false" visibility="visible" multi="false" expanded="true">
								<sci:help>Parameters controlling the clustering process</sci:help>
								<sci:member>MaximumDistance</sci:member>
								<sci:member>CenterSelectionMethod</sci:member>
								<sci:member>RecenterClusters</sci:member>
								<sci:member>RecenterCount</sci:member>
								<sci:member>NumberOfClusters</sci:member>
							</sci:arg>
							<sci:arg name="NumberOfClusters" type="LongType" required="false" visibility="visible" multi="false">
								<sci:help>The number of initial cluster centers to select. You must leave &lt;i&gt;AvgNumberPerCluster&lt;/i&gt; blank for the value of &lt;i&gt;NumberOfClusters&lt;/i&gt; to be used.</sci:help>
							</sci:arg>
							<sci:arg name="MaximumDistance" type="DoubleType" required="false" visibility="visible" multi="false">
								<sci:help>The maximum distance a cluster member can be from a cluster center
&lt;p&gt;
&lt;b&gt;Note:&lt;/b&gt;
&lt;ul&gt;
&lt;li&gt;When setting a value for &lt;i&gt;MaximumDistance&lt;/i&gt;, you must still specify a value for &lt;i&gt;AvgNumberPerCluster&lt;/i&gt; or &lt;i&gt;NumberOfClusters&lt;/i&gt;. These values are used in the initial clustering, after which the maximum distance criterion is applied.
&lt;/li&gt;
&lt;/ul&gt;</sci:help>
								<sci:value>0.625</sci:value>
							</sci:arg>
							<sci:arg name="CenterSelectionMethod" type="StringType" required="true" visibility="visible" multi="false">
								<sci:help>The method to use for selecting new cluster centers</sci:help>
								<sci:legalval selected="true">MaximumDissimilarity</sci:legalval>
								<sci:legalval>NearestOutsideMaximum</sci:legalval>
							</sci:arg>
							<sci:arg name="RecenterClusters" type="StringType" required="true" visibility="visible" multi="false">
								<sci:help>Whether to recenter clusters, that is, pick a new cluster center for each cluster rather than keep the original center</sci:help>
								<sci:legalval selected="true">No</sci:legalval>
								<sci:legalval>ToMinimizeMaximumDistance</sci:legalval>
								<sci:legalval>ToMinimizeAverageDistance</sci:legalval>
							</sci:arg>
							<sci:arg name="RecenterCount" type="LongType" required="false" visibility="visible" multi="false">
								<sci:help>If we are recentering, the number of times to recenter and recalculate the cluster members</sci:help>
								<sci:value>2</sci:value>
							</sci:arg>
							<sci:arg name="WhatToOutput" type="StringType" required="true" visibility="visible" multi="false">
								<sci:help>Controls whether the component outputs both the cluster centers and 
members, or only the cluster centers</sci:help>
								<sci:legalval selected="true">ClusterCentersAndMembers</sci:legalval>
								<sci:legalval>ClusterCenters</sci:legalval>
							</sci:arg>
							<sci:arg name="Additional Options" type="GroupType" required="false" visibility="visible" multi="false">
								<sci:help>Contains less commonly used parameters</sci:help>
								<sci:member>OptimizeFor</sci:member>
								<sci:member>Numeric Distance Function</sci:member>
								<sci:member>Fingerprint Distance Function</sci:member>
								<sci:member>Maximum Missing Properties</sci:member>
							</sci:arg>
							<sci:arg name="Numeric Distance Function" type="StringType" required="true" visibility="visible" multi="false" uimpl="false">
								<sci:help>For numeric properties and categorical properties other than fingerprints, specifies the function to use for computing the distance between two data records.  The expressions for the following distance functions assume that each record has numerical properties x&lt;sub&gt;1&lt;/sub&gt;, x&lt;sub&gt;2&lt;/sub&gt;,&amp;hellip;, with x&lt;sub&gt;1A&lt;/sub&gt;, x&lt;sub&gt;2A&lt;/sub&gt;,&amp;hellip; the values for record A and x&lt;sub&gt;1B&lt;/sub&gt;, x&lt;sub&gt;2B&lt;/sub&gt;,&amp;hellip; the values for record B. 
&lt;p&gt;
Options and their mathematical definitions are:
&lt;ul&gt;
&lt;li&gt;Euclidean: Distance (D) is the square-root of the sum of squared differences between corresponding property values: D = [&amp;sum;(x&lt;sub&gt;iA&lt;/sub&gt;&amp;minus; x&lt;sub&gt;iB&lt;/sub&gt;)&lt;sup&gt;2&lt;/sup&gt;]&lt;sup&gt;1/2&lt;/sup&gt;. Possible values range from 0 upward.
&lt;li&gt;Manhattan: Distance is the sum of the absolute value of the differences between corresponding property values: D = &amp;sum;&amp;nbsp;|x&lt;sub&gt;iA&lt;/sub&gt;&amp;minus; x&lt;sub&gt;iB&lt;/sub&gt;|. Possible values range from 0 upward.
&lt;li&gt;Mahalanobis: A generalization of the Euclidean distance that accounts for correlations between different properties. The distance is defined as: D = [&amp;sum;(x&lt;sub&gt;iA&lt;/sub&gt;&amp;minus; x&lt;sub&gt;iB&lt;/sub&gt;)(&lt;b&gt;S&lt;/b&gt;&lt;sup&gt;&amp;minus;1&lt;/sup&gt;)&lt;sub&gt;ij&lt;/sub&gt;(x&lt;sub&gt;jA&lt;/sub&gt;&amp;minus; x&lt;sub&gt;jB&lt;/sub&gt;)]&lt;sup&gt;1/2&lt;/sup&gt;, where &lt;b&gt;S&lt;/b&gt;&lt;sup&gt;&amp;minus;1&lt;/sup&gt; is the inverse of the covariance matrix for the entire data set. Possible values range from 0 upward.
&lt;li&gt;One Minus Correlation: Distance is 1 minus the &lt;a href=&quot;javascript:DoLink(&apos;http://en.wikipedia.org/wiki/Correlation&apos;)&quot;&gt;Pearson correlation coefficient&lt;/a&gt; between the vectors of property values for the two records. Possible values range from 0 to 2. (With two or fewer properties on each record, this is not a meaningful distance function.)
&lt;li&gt;One Minus Squared Correlation: Distance is 1 minus the square of the Pearson correlation coefficient between the vectors of property values for the two records. Use this function if you wish both strong correlation and strong anti-correlation to indicate that two records are &quot;near&quot;. Possible values range from 0 to 1. (With two or fewer properties on each record, this is not a meaningful distance function.)
&lt;li&gt;Angular: Each property is treated as an angle in degrees. The distance is the square-root of the sum of squared angular differences between corresponding property values.  Each difference is confined to the range [0, 180], taking into account the angle periodicity. This measure should be selected when all the properties used for clustering are angle data, such as the case of clustering conformers based on torsion angles. Possible values range from 0 upward.
&lt;li&gt;Cosine: Distance is 1 minus the cosine of the angle between the vectors defined by the properties of the two records: D = 1 &amp;minus; &amp;sum;&amp;nbsp;x&lt;sub&gt;iA&lt;/sub&gt;x&lt;sub&gt;iB&lt;/sub&gt; / [&amp;sum;(x&lt;sub&gt;iA&lt;/sub&gt;)&lt;sup&gt;2&lt;/sup&gt;&amp;nbsp;&amp;sum;(x&lt;sub&gt;iB&lt;/sub&gt;)&lt;sup&gt;2&lt;/sup&gt;]&lt;sup&gt;1/2&lt;/sup&gt;. Possible values range from 0 to 2.
&lt;li&gt;Dice: Distance is a generalization to continuous properties of the Dice distance for binary fingerprints: D = 1 &amp;minus; 2 &amp;sum;&amp;nbsp;x&lt;sub&gt;iA&lt;/sub&gt;x&lt;sub&gt;iB&lt;/sub&gt; / [&amp;sum;(x&lt;sub&gt;iA&lt;/sub&gt;)&lt;sup&gt;2&lt;/sup&gt; + &amp;sum;(x&lt;sub&gt;iB&lt;/sub&gt;)&lt;sup&gt;2&lt;/sup&gt;]. Possible values range from 0 to 2.
&lt;li&gt;Tanimoto: Distance is a generalization to continuous properties of the Tanimoto distance for binary fingerprints: D = 1 &amp;minus; &amp;sum;&amp;nbsp;x&lt;sub&gt;iA&lt;/sub&gt;x&lt;sub&gt;iB&lt;/sub&gt; / [&amp;sum;(x&lt;sub&gt;iA&lt;/sub&gt;)&lt;sup&gt;2&lt;/sup&gt; + &amp;sum;(x&lt;sub&gt;iB&lt;/sub&gt;)&lt;sup&gt;2&lt;/sup&gt; &amp;minus; &amp;sum;&amp;nbsp;x&lt;sub&gt;iA&lt;/sub&gt;x&lt;sub&gt;iB&lt;/sub&gt;]. Possible values range from 0 to 1.3333.
&lt;/ul&gt;
&lt;b&gt;Notes:&lt;/b&gt;
&lt;ul&gt;
&lt;li&gt;For Euclidean, Manhattan, and Mahalanobis distances, the difference between two string (categorical) values is considered 0 if the strings are identical, or 1 if they are not.  For Cosine, Dice, and Tanimoto distances, the product of two string values is considered 1 if the strings are identical, or 0 if they are not. String properties are ignored for the Angular option and both correlation options.
&lt;li&gt;If a property is an array, then differences or products are taken element-by-element for the entire array. If the array on one record is shorter than on the other, unmatched elements of the longer array are ignored.
&lt;li&gt;For the Mahalanobis option, if the data are so highly-correlated that the covariance matrix is singular or nearly so, then the &lt;a href=&quot;javascript:DoLink(&apos;http://en.wikipedia.org/wiki/Moore-Penrose_pseudoinverse&apos;)&quot;&gt;Moore-Penrose pseudoinverse&lt;/a&gt; is used instead of the inverse. If even the pseudoinverse cannot be computed (due to &lt;a href=&quot;javascript:DoLink(&apos;http://en.wikipedia.org/wiki/Singular_value_decomposition&apos;)&quot;&gt;SVD&lt;/a&gt; non-convergence), an error occurs. In this case, you must use an alternative distance function.
&lt;li&gt;If you specify both numeric and fingerprint properties to use in the distance calculations, separate contributions to the distance are computed for the two types of property. The overall distance is the average of the two: D = 0.5(D&lt;sub&gt;numeric&lt;/sub&gt; + D&lt;sub&gt;FP&lt;/sub&gt;). Take care to specify appropriate &lt;i&gt;Numeric Scaling&lt;/i&gt; options for this case in order to prevent one or the other of these distance contributions from dominating.
&lt;/ul&gt;
&lt;b&gt;See Also:&lt;/b&gt;
&lt;ul&gt;
&lt;li&gt;For more on several of the distance measures described here, see: &lt;a href=&quot;javascript:DoLink(&apos;http://www.dddc.ac.cn/embo04/material/Willett_1998.pdf&apos;)&quot;&gt; P. Willett, J.M. Barnard, and G.M. Downs, &quot;Chemical Similarity Searching,&quot; &lt;i&gt;J. Chem. Inf. Comput. Sci.&lt;/i&gt;, &lt;b&gt;38&lt;/b&gt;, 983 (1998)&lt;/a&gt;.
&lt;li&gt;For more on the Mahalanobis distance, see &lt;a href=&quot;javascript:DoLink(&apos;http://en.wikipedia.org/wiki/Mahalanobis_distance&apos;)&quot;&gt;here&lt;/a&gt;.
&lt;/ul&gt;
</sci:help>
								<sci:member>Numeric Scaling</sci:member>
								<sci:legalval selected="true">Euclidean</sci:legalval>
								<sci:legalval>Manhattan</sci:legalval>
								<sci:legalval>Mahalanobis</sci:legalval>
								<sci:legalval>One Minus Correlation</sci:legalval>
								<sci:legalval>One Minus Squared Correlation</sci:legalval>
								<sci:legalval>Angular</sci:legalval>
								<sci:legalval>Cosine</sci:legalval>
								<sci:legalval>Dice</sci:legalval>
								<sci:legalval>Tanimoto</sci:legalval>
							</sci:arg>
							<sci:arg name="Numeric Scaling" type="StringType" required="false" visibility="visible" multi="true" uimpl="false">
								<sci:help>Settings controlling the scaling of numeric data when computing distances.  Options are:
&lt;ul&gt;
&lt;li&gt;Mean-Center and Scale: Shifts and scales each property to have a mean of 0 and standard deviation of 1.  For Euclidean, Manhattan, Cosine, Dice, and Tanimoto distances, this is a recommended option, as it puts all numeric properties on equal footing.  Without such scaling, properties with a large typical magnitude (e.g., 1000) dominate the calculated distance, while properties with a small typical magnitude (e.g., 1) have minimal effect. (For Mahalanobis and correlation distances, this option has no effect on the calculated distance.)
&lt;li&gt;Scale by Number of Dimensions: For Euclidean, Manhattan, and Mahalanobis distances only, divides the computed distance by P (Manhattan) or P&lt;sup&gt;1/2&lt;/sup&gt; (Euclidean and Mahalanobis), where P is the number of properties (or total number of elements if some properties are arrays). This ensures that the typical magnitude of computed distances remains unchanged as you vary the number of properties in the calculation.
&lt;li&gt;Correct for Missing Values: For Euclidean and Manhattan distances only, multiplies the computed distance by P&lt;sub&gt;exp&lt;/sub&gt;/P (Manhattan) or (P&lt;sub&gt;exp&lt;/sub&gt;/P)&lt;sup&gt;1/2&lt;/sup&gt; (Euclidean), where P&lt;sub&gt;exp&lt;/sub&gt; is the expected number of properties (or expected total number of elements if some properties are arrays) in the absence of missing values. This ensures that the typical magnitude of computed distances remains unchanged when some properties are missing. Specifically, it ensures that distances to data records with missing properties are not unusually small as an artifact of the missing data. This option does not apply if &quot;Scale by Number of Dimensions&quot; is selected, as that option already corrects for missing properties implicitly.
&lt;/ul&gt;
If none of the above options are selected, no rescaling is applied to the data. This is appropriate if all numeric properties already have the same characteristic scale or represent components of a vector in the same space (e.g., spatial x, y, z coordinates), and no properties are missing from any of the data records.
&lt;p&gt;
&lt;b&gt;Notes:&lt;/b&gt;
&lt;ul&gt;
&lt;li&gt;If you specify more than one fingerprint property to use in the distance calculation, then the &quot;Scale by Number of Dimensions&quot; and &quot;Correct for Missing Values&quot; options apply to the fingerprint component of distance as well as to the numeric component. Specifically, Pfp and Pfp&lt;sub&gt;exp&lt;/sub&gt; are used in the scaling of the summed fingerprint distances, where Pfp is the number of fingerprint properties and Pfp&lt;sub&gt;exp&lt;/sub&gt; is the expected number.
&lt;li&gt;&quot;Scale by Number of Dimensions&quot; also applies to fingerprint distances when you specify Euclidean or Manhattan as the &lt;i&gt;Fingerprint Distance Function&lt;/i&gt;. In this case, the distance for each fingerprint property is divided by C (Manhattan) or C&lt;sup&gt;1/2&lt;/sup&gt; (Euclidean), where C is the total count of features over both data records (i.e., the &quot;or&quot; bit count).
&lt;/ul&gt;
</sci:help>
								<sci:legalval selected="true">Mean-Center and Scale</sci:legalval>
								<sci:legalval selected="true">Scale by Number of Dimensions</sci:legalval>
								<sci:legalval>Correct for Missing Values</sci:legalval>
							</sci:arg>
							<sci:arg name="Fingerprint Distance Function" type="StringType" required="false" visibility="visible" multi="false" uimpl="false">
								<sci:help>For fingerprint properties, specifies the function to use for computing the distance between two data records. The expressions for the following distance functions assume that each record has a single fingerprint property, with quantities SA, SB, and SC defined as follows:
&lt;p&gt;
SA: Number of fingerprint features common to both records. (Number of &quot;and&quot; bits.)&lt;br&gt;
SB: Number of features present in the first record but absent from the second.&lt;br&gt;
SC: Number of features present in the second record but absent from the first.
&lt;p&gt;
Options and their mathematical definitions are:
&lt;ul&gt;
&lt;li&gt;Cosine: Distance (D) is 1 minus the cosine of the angle between the two fingerprints when treated as binary vectors (vectors whose elements must be 0 or 1): D = 1 &amp;minus; SA / [(SA + SB)(SA + SC)]&lt;sup&gt;1/2&lt;/sup&gt;. Possible values range from 0 to 1.
&lt;li&gt;Dice: Distance is 1 minus the number of &quot;and&quot; bits scaled by the mean number of &quot;on&quot; bits for both records: D = 1 &amp;minus; 2 SA / (2SA + SB + SC). Possible values range from 0 to 1.
&lt;li&gt;Tanimoto: Distance is 1 minus the number of &quot;and&quot; bits scaled by the number of &quot;or&quot; bits: D = 1 &amp;minus; SA / (SA + SB + SC). Possible values range from 0 to 1.
&lt;li&gt;Euclidean: Distance is the square-root of the number of &quot;on&quot; bits in the squared difference between the two fingerprints when treated as vectors. For a binary fingerprint, this can be expressed as: D = (SB + SC)&lt;sup&gt;1/2&lt;/sup&gt;. Possible values range from 0 to the total number of features possible in a single fingerprint.
&lt;li&gt;Manhattan: Distance is the number of &quot;on&quot; bits in the absolute difference between the two fingerprints when treated as vectors. For a binary fingerprint, this can be expressed as: D = SB + SC. Possible values range from 0 to the total number of features possible in a single fingerprint.
&lt;/ul&gt;
&lt;b&gt;Notes:&lt;/b&gt;
&lt;ul&gt;
&lt;li&gt;When more than one fingerprint property is present, a separate distance value is computed for each, and the results are summed or averaged (depending on the &lt;i&gt;Numeric Scaling&lt;/i&gt; options).
&lt;li&gt;If you specify both numeric and fingerprint properties to use in the distance calculations, separate contributions to the distance are computed for the two types of property. The overall distance is the average of the two: D = 0.5(D&lt;sub&gt;numeric&lt;/sub&gt; + D&lt;sub&gt;FP&lt;/sub&gt;). Take care to specify appropriate &lt;i&gt;Numeric Scaling&lt;/i&gt; options for this case in order to prevent one or the other of these distance contributions from dominating.
&lt;/ul&gt;
&lt;b&gt;See Also:&lt;/b&gt;
&lt;ul&gt;
&lt;li&gt;For more on the distance measures described here, see: &lt;a href=&quot;javascript:DoLink(&apos;http://www.dddc.ac.cn/embo04/material/Willett_1998.pdf&apos;)&quot;&gt; P. Willett, J.M. Barnard, and G.M. Downs, &quot;Chemical Similarity Searching,&quot; &lt;i&gt;J. Chem. Inf. Comput. Sci.&lt;/i&gt;, &lt;b&gt;38&lt;/b&gt;, 983 (1998)&lt;/a&gt;. Also see: J.C. Gower, &quot;Measures of Similarity, Dissimilarity, and Distance,&quot; in &lt;i&gt;Encyclopedia of Statistical Sciences&lt;/i&gt;, S. Kotz, N.L. Johnson, Read C.B., eds., Vol. 5, p. 397 (1985).
&lt;/ul&gt;
</sci:help>
								<sci:member>Fixed Length</sci:member>
								<sci:legalval>Cosine</sci:legalval>
								<sci:legalval>Dice</sci:legalval>
								<sci:legalval selected="true">Tanimoto</sci:legalval>
								<sci:legalval>Euclidean</sci:legalval>
								<sci:legalval>Manhattan</sci:legalval>
							</sci:arg>
							<sci:arg name="Fixed Length" type="LongType" required="false" visibility="visible" multi="false" uimpl="false">
								<sci:help>For faster distance calculations, fingerprints are folded into a fixed-length bit set.  This specifies the number of bits in the bit set.
</sci:help>
								<sci:value>256</sci:value>
							</sci:arg>
							<sci:arg name="Maximum Missing Properties" type="LongType" required="false" visibility="visible" multi="false" uimpl="false">
								<sci:help>The maximum allowable number of missing or invalid properties (out of those specified by &lt;i&gt;UseProperties&lt;/i&gt;) in order for an input data record to be accepted.
&lt;p&gt;
When calculating the distance between two data records, only properties present on both records will be considered. Select &quot;Scale by Number of Dimensions&quot; or &quot;Correct for Missing Values&quot; as a &lt;i&gt;Numeric Scaling&lt;/i&gt; option if you wish the computed distances to be rescaled to compensate for missing values. (This correction applies only to Euclidean and Manhattan distances.)
</sci:help>
								<sci:value>0</sci:value>
							</sci:arg>
							<sci:arg name="OptimizeFor" type="StringType" required="false" visibility="visible" multi="false">
								<sci:help>Indicates whether to optimize the clustering calculation for speed and memory or for accuracy.  If optimized for accuracy, then new cluster centers will form a maximally diverse set across the entire data set.  If optimized for speed and memory, then the data will be processed a chunk at a time such that the cluster centers might not be &quot;globally&quot; maximally diverse.  Use caution when optimizing for accuracy and your data set contains more than a few thousand records, because the calculation may be &lt;b&gt;much&lt;/b&gt; slower than when optimizing for speed and memory.</sci:help>
								<sci:legalval selected="true">Speed and Memory</sci:legalval>
								<sci:legalval>Accuracy</sci:legalval>
							</sci:arg>
							<sci:arg name="ComponentAttributes" type="StringType" required="false" visibility="hidden" multi="true">
								<sci:help>Component Attributes</sci:help>
								<sci:legalval selected="true">ComponentTakesInput</sci:legalval>
								<sci:legalval selected="true">ComponentReturnsPass</sci:legalval>
								<sci:legalval selected="true">ComponentReturnsFail</sci:legalval>
								<sci:legalval>ComponentRunsLocal</sci:legalval>
							</sci:arg>
							<sci:arg name="OnDataTypeError" type="StringType" required="true" visibility="hidden" multi="false">
								<sci:legalval selected="true">Halt</sci:legalval>
								<sci:legalval>Fail</sci:legalval>
								<sci:legalval>Pass</sci:legalval>
							</sci:arg>
							<sci:arg name="OnGeneralError" type="StringType" required="true" visibility="hidden" multi="false">
								<sci:legalval selected="true">Halt</sci:legalval>
								<sci:legalval>Fail</sci:legalval>
								<sci:legalval>Pass</sci:legalval>
							</sci:arg>
							<sci:arg name="CustomErrorText" type="StringType" required="false" visibility="nevershow" multi="false"/>
							<sci:arg name="ComponentDisplayName" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:value>Cluster Molecules</sci:value>
							</sci:arg>
							<sci:arg name="DerivedFrom" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The component this component is based upon.</sci:help>
								<sci:value>Cluster Data</sci:value>
							</sci:arg>
							<sci:arg name="Registrant" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The user who registered this component.</sci:help>
								<sci:value>scitegic/modeling</sci:value>
							</sci:arg>
							<sci:arg name="RegistrationDate" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The date this component was registered.</sci:help>
								<sci:value>Thu Mar 24 12:25:02 2016</sci:value>
							</sci:arg>
							<sci:arg name="ComponentDisabled" type="LongType" required="false" visibility="nevershow" multi="false">
								<sci:value>0</sci:value>
							</sci:arg>
							<sci:arg name="ComponentGUID" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:value>{1DC3FD56-9334-42C1-9870-778274A5DBB4}</sci:value>
							</sci:arg>
							<sci:arg name="ComponentPoint" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:value>990 -455</sci:value>
							</sci:arg>
							<sci:arg name="ComponentHelp" type="StringType" required="false" visibility="nevershow" multi="true">
								<sci:value>100</sci:value>
								<sci:value>Clusters the input molecules and adds a cluster membership property to each data record</sci:value>
								<sci:value>&lt;p&gt;Clustering is based on the distances between molecules, using the properties specified by &lt;i&gt;UseProperties&lt;/i&gt;. For numeric properties, &lt;i&gt;Numeric Distance Function&lt;/i&gt; specifies the distance measure to use.  For fingerprint properties, the &lt;i&gt;Fingerprint Distance Function&lt;/i&gt; is used. The clustering method is a relocation method based on maximal dissimilarity partitioning.

&lt;p&gt;Depending on the value of &lt;i&gt;WhatToOutput&lt;/i&gt;, output consists of either all input molecules with the cluster assignment for each, or just those molecules selected as cluster centers.

&lt;p&gt;Set the value of &lt;i&gt;AvgNumberPerCluster&lt;/i&gt; to be the average number of molecules you wish each cluster to contain. Alternatively, you can leave this blank and set &lt;i&gt;NumberOfClusters&lt;/i&gt; to a target number of clusters. &lt;/p&gt;

The following properties are added to each output data record:
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Cluster&lt;/b&gt;: Cluster number to which the molecule belongs.

&lt;li&gt; &lt;b&gt;DistanceToClosest:&lt;/b&gt; Distance from the molecule to the cluster center.

&lt;li&gt;&lt;b&gt;ClusterCenter&lt;/b&gt;: The cluster number if the molecule is a cluster center, or 0 otherwise.

&lt;li&gt;&lt;b&gt;ClusterSize&lt;/b&gt;: The total number of molecules in the cluster.
&lt;/ul&gt;
&lt;b&gt;Note:&lt;/b&gt; 
&lt;ul&gt;
&lt;li&gt;You can force an input molecule to be used as a cluster center by defining a property named &quot;ClusterCenter&quot; on the data record and setting its value to any number greater than 0.
&lt;/ul&gt;
&lt;b&gt;See Also&lt;/b&gt;
&lt;ul&gt;
&lt;li&gt;To cluster non-molecular data records, use &lt;a href=&quot;javascript:DoLink(&apos;{55053E88-83D6-40B7-A7FD-96D801448CE7}&apos;)&quot;&gt;Cluster Data&lt;/a&gt;.
&lt;li&gt;For details of the clustering algorithm, see the &lt;a href=&quot;javascript:DoLink(&apos;sciapps/scitegic/modeling/docs/stats_and_modeling.pdf&apos;)&quot;&gt;Data Modeling User Guide.&lt;/a&gt;
&lt;/ul&gt;
</sci:value>
								<sci:value>Molecule</sci:value>
								<sci:value/>
								<sci:value>Molecule</sci:value>
								<sci:value>Either all molecules with properties indicating cluster membership and size, or just molecules representing cluster centers</sci:value>
								<sci:value>Molecule</sci:value>
								<sci:value>Data records with missing or invalid property values, with an added ErrorText property containing a message explaining the failure</sci:value>
							</sci:arg>
							<sci:arg name="Component Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false"/>
							<sci:arg name="RegistrationVersion" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The server version when this component was registered</sci:help>
								<sci:value>16.1.0.1140</sci:value>
							</sci:arg>
							<sci:arg name="ShowSizeWhenOutputtingCenters" type="BoolType" required="false" visibility="nevershow" multi="false">
								<sci:help>Indicates whether to show the ClusterSize property when outputting only cluster centers.  In this case, the size is always reported as 1, which can be misleading.  But this parameter allows to include the ClusterSize property anyway in case it is required by a subsequent component in the pipeline.</sci:help>
								<sci:legalval>True</sci:legalval>
								<sci:legalval selected="true">False</sci:legalval>
							</sci:arg>
							<sci:arg name="ComponentIcon" type="StringType" required="true" visibility="nevershow" multi="false">
								<sci:value>CLUSTERINGNODE</sci:value>
							</sci:arg>
							<sci:arg name="ComponentLocalID" type="LongType" required="false" visibility="nevershow" multi="false">
								<sci:help>Local Component Identifier</sci:help>
								<sci:value>16</sci:value>
							</sci:arg>
							<sci:arg name="Component Path" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The original path within the database of this component.</sci:help>
								<sci:value>Components\Analysis and Statistics\Data Modeling\Clustering\Cluster Molecules</sci:value>
							</sci:arg>
						</sci:component>
					</sci:data>
					<sci:data object="SciTegic.PropertyFunctions.1">
						<sci:component name="Keep Properties" version="2">
							<sci:arg name="PropertyList" type="StringType" required="true" visibility="visible" multi="false">
								<sci:help>Comma-separated list of property names to keep</sci:help>
								<sci:value>murcko_smiles,Cluster </sci:value>
							</sci:arg>
							<sci:arg name="RenameList" type="StringType" required="false" visibility="hidden" multi="false">
								<sci:help>If provided, it causes the properties given in PropertyList to be 
renamed to the corresponding name in this list.  If not provided, then no properties are renamed.</sci:help>
							</sci:arg>
							<sci:arg name="ComponentAttributes" type="StringType" required="false" visibility="hidden" multi="true">
								<sci:help>Component Attributes</sci:help>
								<sci:legalval selected="true">ComponentTakesInput</sci:legalval>
								<sci:legalval selected="true">ComponentReturnsPass</sci:legalval>
								<sci:legalval>ComponentReturnsFail</sci:legalval>
								<sci:legalval>ComponentRunsLocal</sci:legalval>
							</sci:arg>
							<sci:arg name="OnDataTypeError" type="StringType" required="true" visibility="hidden" multi="false">
								<sci:legalval selected="true">Halt</sci:legalval>
								<sci:legalval>Fail</sci:legalval>
								<sci:legalval>Pass</sci:legalval>
							</sci:arg>
							<sci:arg name="OnGeneralError" type="StringType" required="true" visibility="hidden" multi="false">
								<sci:legalval selected="true">Halt</sci:legalval>
								<sci:legalval>Fail</sci:legalval>
								<sci:legalval>Pass</sci:legalval>
							</sci:arg>
							<sci:arg name="CustomErrorText" type="StringType" required="false" visibility="nevershow" multi="false"/>
							<sci:arg name="Action" type="StringType" required="true" visibility="nevershow" multi="false">
								<sci:help>the action to perform</sci:help>
								<sci:value>Keep</sci:value>
							</sci:arg>
							<sci:arg name="Registrant" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The user who registered this component.</sci:help>
								<sci:value>scitegic/core</sci:value>
							</sci:arg>
							<sci:arg name="RegistrationDate" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The date this component was registered.</sci:help>
								<sci:value>Mon Feb 27 15:32:33 2006</sci:value>
							</sci:arg>
							<sci:arg name="ComponentComment" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>Component Comment</sci:help>
								<sci:value>Removes all but the specified properties from the property list.</sci:value>
							</sci:arg>
							<sci:arg name="ComponentUsage" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>Component Usage</sci:help>
								<sci:value>&apos;PropertyList&apos; contains a comma-separated list of the property names that you wish to keep.  All other properties will be removed.

Input             - Data records
Output Pass  - All Data records</sci:value>
							</sci:arg>
							<sci:arg name="ComponentDisplayName" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:value>Keep properties</sci:value>
							</sci:arg>
							<sci:arg name="ProtocolAutoLayout" type="BoolType" required="false" visibility="nevershow" multi="false">
								<sci:help>Protocol AutoLayout</sci:help>
								<sci:value>true</sci:value>
							</sci:arg>
							<sci:arg name="ProtocolShowComment" type="BoolType" required="false" visibility="nevershow" multi="false">
								<sci:help>Protocol ShowComment</sci:help>
								<sci:value>false</sci:value>
							</sci:arg>
							<sci:arg name="ProtocolComment" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>Add Protocol Comment Here</sci:help>
								<sci:value>Add Protocol Comment Here</sci:value>
							</sci:arg>
							<sci:arg name="ComponentDisabled" type="LongType" required="false" visibility="nevershow" multi="false">
								<sci:value>0</sci:value>
							</sci:arg>
							<sci:arg name="ComponentIcon" type="StringType" required="true" visibility="nevershow" multi="false">
								<sci:value>ExpressionNode</sci:value>
							</sci:arg>
							<sci:arg name="ComponentRevision" type="LongType" required="true" visibility="nevershow" multi="false">
								<sci:help>Component Revision</sci:help>
								<sci:value>100</sci:value>
							</sci:arg>
							<sci:arg name="DerivedFrom" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The component this component is based upon.</sci:help>
								<sci:value>SubProtocol</sci:value>
							</sci:arg>
							<sci:arg name="ProtocolScale" type="LongType" required="false" visibility="nevershow" multi="false">
								<sci:help>Protocol Scale</sci:help>
								<sci:value>0</sci:value>
							</sci:arg>
							<sci:arg name="ComponentPoint" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:value>1290 -455</sci:value>
							</sci:arg>
							<sci:arg name="ComponentGUID" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:value>{456195EF-9708-4367-B3DD-21EBF3796604}</sci:value>
							</sci:arg>
							<sci:arg name="ComponentHelp" type="StringType" required="false" visibility="nevershow" multi="true">
								<sci:value>100</sci:value>
								<sci:value>Removes all but the specified properties.
</sci:value>
								<sci:value>Keeps only the properties listed in the &lt;i&gt;PropertyList&lt;/i&gt; parameter and deletes all the rest from every data record that enters the component.
&lt;p&gt;&lt;b&gt;See Also:&lt;/b&gt;&lt;/p&gt; 
&lt;p&gt;
&lt;a href=&quot;javascript:DoLink(&apos;{C2ED35FF-5397-4877-AADB-10F1A15D60E2}&apos;)&quot;&gt;Remove Properties&lt;/a&gt;: To remove only a few properties from a long list, it is more efficient to list them in the &lt;i&gt;Remove Properties&lt;/i&gt; component than in &lt;i&gt;Keep Properties&lt;/i&gt;.&lt;/p&gt;</sci:value>
								<sci:value>Generic Data</sci:value>
								<sci:value/>
								<sci:value>Generic Data</sci:value>
								<sci:value>With only the specified properties remaining</sci:value>
								<sci:value>None</sci:value>
								<sci:value/>
							</sci:arg>
							<sci:arg name="RegistrationVersion" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The server version when this component was registered</sci:help>
								<sci:value>5.1.0.100</sci:value>
							</sci:arg>
							<sci:arg name="Component Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false"/>
							<sci:arg name="ByReference" type="BoolType" required="false" visibility="nevershow" multi="false">
								<sci:help>By Ref</sci:help>
								<sci:value>0</sci:value>
							</sci:arg>
							<sci:arg name="Protocol Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>Protocol Sticky Notes</sci:help>
							</sci:arg>
							<sci:arg name="ComponentLocalID" type="LongType" required="false" visibility="nevershow" multi="false">
								<sci:help>Local Component Identifier</sci:help>
								<sci:value>11</sci:value>
							</sci:arg>
							<sci:arg name="Component Path" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The original path within the database of this component.</sci:help>
								<sci:value>Components\Data Access and Manipulation\Property Manipulators\Keep or Reorder Properties</sci:value>
							</sci:arg>
						</sci:component>
					</sci:data>
					<sci:data object="SciTegic.JoinProperties.1">
						<sci:component name="Join Data from Cache" version="2">
							<sci:arg name="CacheID" type="StringType" required="true" visibility="visible" multi="false">
								<sci:help>The name of the cache that was written using the Cache Writer</sci:help>
								<sci:value>swap</sci:value>
							</sci:arg>
							<sci:arg name="JoinUsing" type="StringType" required="true" visibility="visible" multi="false">
								<sci:help>The name of the property that identifies which records to join. When a record in the source file has the same value for this property as the incoming streaming data record, its properties are added to the streaming record. Calculable properties can be used for the streaming data, but data in the source file must already contain stored properties to join.

</sci:help>
								<sci:value>murcko_smiles</sci:value>
							</sci:arg>
							<sci:arg name="IgnoreCase" type="BoolType" required="true" visibility="visible" multi="false">
								<sci:help>Consider lower-case and upper-case letters as equivalent when determining the identity of &quot;JoinUsing&quot; propety values</sci:help>
								<sci:legalval>True</sci:legalval>
								<sci:legalval selected="true">False</sci:legalval>
							</sci:arg>
							<sci:arg name="MultipleReferenceBehavior" type="StringType" required="true" visibility="visible" multi="false">
								<sci:help>What to do if there are multiple records in the source file (reference data) with a matching value for the &quot;JoinUsing&quot; property of an incoming streaming record.
  - JoinFirst: Uses the first one found. 
  - JoinLast: Uses the last one found. 
  - JoinAll: Appends all values for each property together in an array. 
  - JoinTogether: Joins each of the matching records in the source file with the streaming record individually and independently, which results in multiple records output for one input record.
</sci:help>
								<sci:legalval>JoinFirst</sci:legalval>
								<sci:legalval>JoinLast</sci:legalval>
								<sci:legalval>JoinAll</sci:legalval>
								<sci:legalval selected="true">JoinTogether</sci:legalval>
							</sci:arg>
							<sci:arg name="JoinUsingListType" type="StringType" required="true" visibility="hidden" multi="false">
								<sci:help>Indicates how &quot;JoinUsing&quot; properties are interpreted when  more than one property is listed:
 
    - UseFirstDefinedValue: Join using only the first property in the list with a defined value for a record.
 
  - UseAllValues: Joins using the concatentation of the values of all properties listed; a match occurs only when records share the same value for all the properties.</sci:help>
								<sci:legalval>UseFirstDefinedValue</sci:legalval>
								<sci:legalval selected="true">UseAllValues</sci:legalval>
							</sci:arg>
							<sci:arg name="JoinPropertyType" type="StringType" required="true" visibility="hidden" multi="false">
								<sci:help>The data type of the join property</sci:help>
								<sci:legalval>IsNumeric</sci:legalval>
								<sci:legalval selected="true">IsText</sci:legalval>
							</sci:arg>
							<sci:arg name="JoinAllNullString" type="StringType" required="false" visibility="hidden" multi="false">
								<sci:help>This string is used during append to pad out empty values when MultipleReferenceBehavior is set to  &quot;JoinAll&quot;. This keeps the generated arrays of values in sync for multiple references. 

The value &quot;None&quot; causes no padding to occur.</sci:help>
								<sci:value>None</sci:value>
							</sci:arg>
							<sci:arg name="JoinOnto" type="StringType" required="true" visibility="hidden" multi="false">
								<sci:help>Indicates precedence when joining two data records with different values for any property:
   - ProcessData: The data streaming through the pipeline remains.
   - Reference: The data from the file record becomes current.
</sci:help>
								<sci:legalval>ProcessData</sci:legalval>
								<sci:legalval selected="true">Reference</sci:legalval>
							</sci:arg>
							<sci:arg name="WhenJoiningOnto" type="StringType" required="true" visibility="hidden" multi="false">
								<sci:help>During the joining of two property lists, this parameter indicates how differences between the property lists are resolved.  
By default, the streaming input data (process data) serves as the base for a join and the source file data (reference data) is treated as the joining data (this distinction can be reversed using the &quot;JoinOnto&quot; parameter).

  - OverwriteOrCreate: Copies all properties from the joining data onto the base data, overwriting the values of any properties that already exist.
 
  - OverwriteExisting: Copies only those properties from the joining data to the base data that already exist on the base.
   
  - CreateIfNew: Copies only those properties from the joining data to the base data that do not already exist on the base data.
 
  - AppendOrCreate: The value of a joining property that already exists in the base data is appended  (as an array) to the value in the base property.  The other joining properties that are not already present in the base data are copied there.
 
  - AppendExisting: The value of a joining property that already exists in the base data is appended  (as an array) to the value in the base property.  No other properties are copied. 
 
  - GroupData: Creates a hierarchical group containing both the joining and base data.


</sci:help>
								<sci:legalval>OverwriteOrCreate</sci:legalval>
								<sci:legalval>OverwriteExisting</sci:legalval>
								<sci:legalval>CreateIfNew</sci:legalval>
								<sci:legalval selected="true">AppendOrCreate</sci:legalval>
								<sci:legalval>AppendExisting</sci:legalval>
								<sci:legalval>GroupData</sci:legalval>
							</sci:arg>
							<sci:arg name="Prefix" type="StringType" required="false" visibility="hidden" multi="false">
								<sci:help>A prefix to add to each property name as it is joined onto the streaming data (instead of overwriting or appending to the existing value).</sci:help>
							</sci:arg>
							<sci:arg name="ComponentAttributes" type="StringType" required="false" visibility="hidden" multi="true">
								<sci:help>Component Attributes</sci:help>
								<sci:legalval selected="true">ComponentTakesInput</sci:legalval>
								<sci:legalval selected="true">ComponentReturnsPass</sci:legalval>
								<sci:legalval selected="true">ComponentReturnsFail</sci:legalval>
								<sci:legalval>ComponentRunsLocal</sci:legalval>
							</sci:arg>
							<sci:arg name="OnDataTypeError" type="StringType" required="true" visibility="hidden" multi="false">
								<sci:legalval selected="true">Halt</sci:legalval>
								<sci:legalval>Fail</sci:legalval>
								<sci:legalval>Pass</sci:legalval>
							</sci:arg>
							<sci:arg name="OnGeneralError" type="StringType" required="true" visibility="hidden" multi="false">
								<sci:legalval selected="true">Halt</sci:legalval>
								<sci:legalval>Fail</sci:legalval>
								<sci:legalval>Pass</sci:legalval>
							</sci:arg>
							<sci:arg name="CustomErrorText" type="StringType" required="false" visibility="nevershow" multi="false"/>
							<sci:arg name="Source" type="URLType" required="true" visibility="nevershow" multi="false">
								<sci:help>Names of data files, a learned model, or data cache ID, to join with the streaming data that enters this component. If multiple files are given, each is joined in sequence. (The Windows browser reverses the order of the files during selection, so you should select from last to first.)</sci:help>
								<sci:value>$(CacheID)</sci:value>
							</sci:arg>
							<sci:arg name="SourceFormat" type="StringType" required="true" visibility="nevershow" multi="false">
								<sci:help>The name of the reader to use for the join source. (For readers with particular parameters, you can create them and save them, then add their name to the options list for this protocol.  For example, you could create a Delimited Text with Commas and No Column Names component, save it to your tab, then add it to this list and select.)</sci:help>
								<sci:legalval>Delimited Text With Column Names</sci:legalval>
								<sci:legalval>Delimited Text No Column Names</sci:legalval>
								<sci:legalval>Comma Delimited With Column Names</sci:legalval>
								<sci:legalval>Tab Delimited With Column Names</sci:legalval>
								<sci:legalval>Space Delimited With Column Names</sci:legalval>
								<sci:legalval>Excel XLS With Column Names</sci:legalval>
								<sci:legalval>Excel XLS No Column Names</sci:legalval>
								<sci:legalval>MDL SD Format</sci:legalval>
								<sci:legalval>Learned Model Reader</sci:legalval>
								<sci:legalval selected="true">Cache Reader</sci:legalval>
							</sci:arg>
							<sci:arg name="Keep Properties" type="PropertyPreviewType" required="false" visibility="nevershow" multi="false">
								<sci:help>A list of properties to join from the source file. If this value is not defined, all properties are joined into the record.</sci:help>
							</sci:arg>
							<sci:arg name="UseIndexFile" type="BoolType" required="false" visibility="nevershow" multi="false">
								<sci:help>Uses an index file when performing the Join operation when set to &quot;True&quot;. An index file is created if it does not already exist; it is used to accelerate the join process.

 Note: This option is useful for optimizing join operations against a file that may be used many times, at the first time of use an index file can be created to speed accesses in subsequent uses.  This file is created in the same directory as the source file and is automatically used for any subsequent join.</sci:help>
								<sci:legalval selected="true">True</sci:legalval>
								<sci:legalval>False</sci:legalval>
							</sci:arg>
							<sci:arg name="GroupName" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>If WhenJoiningOnto is set to &quot;GroupData&quot;, this is the name of the group node into which the results are placed
</sci:help>
								<sci:value>Data</sci:value>
							</sci:arg>
							<sci:arg name="Registrant" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The user who registered this component.</sci:help>
								<sci:value>scitegic/core</sci:value>
							</sci:arg>
							<sci:arg name="RegistrationDate" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The date this component was registered.</sci:help>
								<sci:value>Mon Feb 27 15:32:33 2006</sci:value>
							</sci:arg>
							<sci:arg name="ComponentGUID" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:value>{BDEEEC41-E62B-4FDE-B0D0-8B9C96CA2497}</sci:value>
							</sci:arg>
							<sci:arg name="CheckSyntax" type="BoolType" required="true" visibility="nevershow" multi="false">
								<sci:help>Whether to perform a quick syntax check at the beginning of the file when we open it, and if a problem is found, throw an error.</sci:help>
								<sci:legalval selected="true">True</sci:legalval>
								<sci:legalval>False</sci:legalval>
							</sci:arg>
							<sci:arg name="SourceComponent" type="ComponentType" required="false" visibility="nevershow" multi="false">
								<sci:help>Name of the data format of the Source file</sci:help>
								<sci:value>$(SourceFormat)</sci:value>
							</sci:arg>
							<sci:arg name="ComponentComment" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>Comment</sci:help>
								<sci:value>Merges the streaming data with data from a named file when a specified property or properties are identical.</sci:value>
							</sci:arg>
							<sci:arg name="ComponentDisplayName" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:value>Join Data from Cache</sci:value>
							</sci:arg>
							<sci:arg name="ComponentUsage" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>Component Usage</sci:help>
								<sci:value>&quot;JoinUsing&quot; is a comma-separated list of property names.  The values of all these properties are used to determine the matching reference.

&quot;Source&quot; is the source file that contains the reference data.
&quot;SourceFormat&quot; is the format of the data in the source file.

&quot;IgnoreCase&quot; tells whether lettercase should be ignored when comparing the values of the JoinUsing property.

&quot;Prefix&quot; (if given) prepends the property names from the source data to avoid overwriting identically-named properties on the streaming (process) data. 

 When join is successful for an incoming data record, the data is augmented with the new properties from the file and returned out the Pass port.  Otherwise, the unchanged data is passed out the Fail port.  


Advanced Parameters:

&quot;JoinUsingListType&quot; tells how to handle multiple join property names. UseFirstDefinedValue uses the first defined value; UseAllValues combines all values.

&quot;JoinOnto&quot; tells which data becomes the base object, to be copied onto.  The default is &quot;ProcessData&quot;, that is, the data passed into the input port.  The other choice is &quot;Reference&quot;,  which is the data read from the source file.  This can be useful, for example, if the source contains the molecular
data but the input data only contains the molecule name.

&quot;JoinPropertyType&quot; is the type of data in the JoinUsing property.  The default is &quot;IsText&quot;; the other option is &quot;IsNumeric&quot;, which converts the data into floating point values before comparison.

Input             - Data records
Output Pass  - Data records (successfully joined)
Output Fail    - Data records (failed to join)</sci:value>
							</sci:arg>
							<sci:arg name="DerivedFrom" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The component this component is based upon.</sci:help>
								<sci:value>Join Data from File</sci:value>
							</sci:arg>
							<sci:arg name="ComponentDisabled" type="LongType" required="false" visibility="nevershow" multi="false">
								<sci:value>0</sci:value>
							</sci:arg>
							<sci:arg name="ComponentIcon" type="StringType" required="true" visibility="nevershow" multi="false">
								<sci:value>JoinNode</sci:value>
							</sci:arg>
							<sci:arg name="ComponentPoint" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:value>1590 -455</sci:value>
							</sci:arg>
							<sci:arg name="ComponentHelp" type="StringType" required="false" visibility="nevershow" multi="true">
								<sci:value>100</sci:value>
								<sci:value>Augments the data records on the input stream with data from a data cache when a specified property or properties match.</sci:value>
								<sci:value>Augments records on the input stream with data from those records in the data cache, having the same value for &lt;em&gt;JoinUsing&lt;/em&gt;. When the join is successful for an incoming data record, the data is augmented with the new properties from 
the file and output through the Pass port. Otherwise, the unchanged data is passed 
out the Fail port. 

Hint: to retrieve the original data record from a cache given some key, set &lt;I&gt;JoinOnto&lt;/I&gt; to &lt;I&gt;Reference&lt;/I&gt;. </sci:value>
								<sci:value>Generic Data</sci:value>
								<sci:value/>
								<sci:value>Generic Data</sci:value>
								<sci:value>Data records which received additional properties from the source file through a successful join.</sci:value>
								<sci:value>Generic Data</sci:value>
								<sci:value>Data records for which no data was found in the source file.</sci:value>
							</sci:arg>
							<sci:arg name="Component Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false"/>
							<sci:arg name="RegistrationVersion" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The server version when this component was registered</sci:help>
								<sci:value>5.1.0.100</sci:value>
							</sci:arg>
							<sci:arg name="ComponentLocalID" type="LongType" required="false" visibility="nevershow" multi="false">
								<sci:help>Local Component Identifier</sci:help>
								<sci:value>12</sci:value>
							</sci:arg>
							<sci:arg name="Component Path" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The original path within the database of this component.</sci:help>
								<sci:value>Components\Data Access and Manipulation\Data Manipulators\Join Data from Cache</sci:value>
							</sci:arg>
						</sci:component>
					</sci:data>
					<sci:data object="SciTegic.CalculateSmiles.1">
						<sci:component name="Molecule from SMILES" version="2">
							<sci:arg name="FromProperty" type="StringType" required="true" visibility="visible" multi="false">
								<sci:help>The name of the property in the data
which holds the SMILES information</sci:help>
								<sci:value>canonical_smiles</sci:value>
							</sci:arg>
							<sci:arg name="KekulizeAromaticBonds" type="StringType" required="false" visibility="hidden" multi="false">
								<sci:help>Turn aromatic bonds into single/double bonds (set to True) or into aromatic query bonds (set to False). Molecules created with aromatic query bonds are more suitable as queries than as specific molecules. They should not be used as input for property calculators such as Molecular Weight, pKa and others, which require the structure to be uniquely defined.</sci:help>
								<sci:legalval selected="true">True</sci:legalval>
								<sci:legalval>False</sci:legalval>
							</sci:arg>
							<sci:arg name="ComponentAttributes" type="StringType" required="false" visibility="hidden" multi="true">
								<sci:help>Component Attributes</sci:help>
								<sci:legalval selected="true">ComponentTakesInput</sci:legalval>
								<sci:legalval selected="true">ComponentReturnsPass</sci:legalval>
								<sci:legalval>ComponentReturnsFail</sci:legalval>
								<sci:legalval>ComponentRunsLocal</sci:legalval>
							</sci:arg>
							<sci:arg name="OnDataTypeError" type="StringType" required="true" visibility="hidden" multi="false">
								<sci:legalval selected="true">Halt</sci:legalval>
								<sci:legalval>Fail</sci:legalval>
								<sci:legalval>Pass</sci:legalval>
							</sci:arg>
							<sci:arg name="OnGeneralError" type="StringType" required="true" visibility="hidden" multi="false">
								<sci:legalval selected="true">Halt</sci:legalval>
								<sci:legalval>Fail</sci:legalval>
								<sci:legalval>Pass</sci:legalval>
							</sci:arg>
							<sci:arg name="CustomErrorText" type="StringType" required="false" visibility="nevershow" multi="false"/>
							<sci:arg name="ComponentComment" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>Comment</sci:help>
								<sci:value>Takes a Daylight SMILES string as text on a given property and converts the object into a SciTegic molecule using that information.</sci:value>
							</sci:arg>
							<sci:arg name="Registrant" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The user who registered this component.</sci:help>
								<sci:value>scitegic/chemistry</sci:value>
							</sci:arg>
							<sci:arg name="RegistrationDate" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The date this component was registered.</sci:help>
								<sci:value>Mon Feb 27 15:33:09 2006</sci:value>
							</sci:arg>
							<sci:arg name="ComponentUsage" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>Component Usage</sci:help>
								<sci:value>A molecular representation is built for each data record from the SMILES data found in the property list.  *Note that if a molecular representation is already present, it will be overwritten by the new molecule.

Input             - Data records
Output Pass  - Molecular data records</sci:value>
							</sci:arg>
							<sci:arg name="ComponentDisplayName" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:value>Molecule from SMILES</sci:value>
							</sci:arg>
							<sci:arg name="DerivedFrom" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The component this component is based upon.</sci:help>
								<sci:value>Molecule from SMILES</sci:value>
							</sci:arg>
							<sci:arg name="ComponentIcon" type="StringType" required="true" visibility="nevershow" multi="false">
								<sci:value>ComponentNode</sci:value>
							</sci:arg>
							<sci:arg name="ComponentGUID" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:value>{AC8262DA-E648-4D24-9CD1-D731A8F53F9D}</sci:value>
							</sci:arg>
							<sci:arg name="ComponentPoint" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:value>1890 -455</sci:value>
							</sci:arg>
							<sci:arg name="ComponentDisabled" type="LongType" required="false" visibility="nevershow" multi="false">
								<sci:value>0</sci:value>
							</sci:arg>
							<sci:arg name="ComponentHelp" type="StringType" required="false" visibility="nevershow" multi="true">
								<sci:value>100</sci:value>
								<sci:value>Converts a Daylight SMILES text property to a molecule.

</sci:value>
								<sci:value>Builds a molecular representation for each data record from the SMILES data found in the property list. If a molecular representation is already present, it is overwritten by the new molecule.


</sci:value>
								<sci:value>Generic Data</sci:value>
								<sci:value/>
								<sci:value>Molecule</sci:value>
								<sci:value>Molecular data record created from SMILES string</sci:value>
								<sci:value>None</sci:value>
								<sci:value/>
							</sci:arg>
							<sci:arg name="RegistrationVersion" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The server version when this component was registered</sci:help>
								<sci:value>5.1.0.100</sci:value>
							</sci:arg>
							<sci:arg name="Component Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false"/>
							<sci:arg name="ComponentLocalID" type="LongType" required="false" visibility="nevershow" multi="false">
								<sci:help>Local Component Identifier</sci:help>
								<sci:value>13</sci:value>
							</sci:arg>
							<sci:arg name="Component Path" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The original path within the database of this component.</sci:help>
								<sci:value>Components\Chemistry\Data Access and Manipulation\Converters\Molecule From Text\Molecule from SMILES</sci:value>
							</sci:arg>
						</sci:component>
					</sci:data>
					<sci:data object="SciTegic.Protocol.1">
						<sci:component name="Subprotocol" version="2">
							<sci:arg name="Tempfiles" type="StringType" required="false" visibility="hidden" multi="false" implbase="{17001C74-63CE-4B4B-B37C-F0EAA19CE4AA}">
								<sci:help>Temporary files converted by the network to true temporary filenames</sci:help>
							</sci:arg>
							<sci:arg name="DeclareLocal" type="StringType" required="false" visibility="hidden" multi="false" implbase="{17001C74-63CE-4B4B-B37C-F0EAA19CE4AA}">
								<sci:help>Lists a set of properties (without the @) to create on the property list for this protocol. Other properties are created on the global property list and are accessible from all protocols.</sci:help>
							</sci:arg>
							<sci:arg name="RunToCompletion" type="BoolType" required="false" visibility="hidden" multi="false" implbase="{17001C74-63CE-4B4B-B37C-F0EAA19CE4AA}">
								<sci:help>When the network runs, processes once or until done for each process call</sci:help>
								<sci:legalval>True</sci:legalval>
								<sci:legalval selected="true">False</sci:legalval>
							</sci:arg>
							<sci:arg name="ComponentAttributes" type="StringType" required="false" visibility="hidden" multi="true">
								<sci:help>Component Attributes</sci:help>
								<sci:legalval selected="true">ComponentTakesInput</sci:legalval>
								<sci:legalval selected="true">ComponentReturnsPass</sci:legalval>
								<sci:legalval selected="true">ComponentReturnsFail</sci:legalval>
								<sci:legalval>ComponentRunsLocal</sci:legalval>
							</sci:arg>
							<sci:arg name="OnDataTypeError" type="StringType" required="true" visibility="hidden" multi="false">
								<sci:legalval selected="true">Halt</sci:legalval>
								<sci:legalval>Fail</sci:legalval>
								<sci:legalval>Pass</sci:legalval>
							</sci:arg>
							<sci:arg name="OnGeneralError" type="StringType" required="true" visibility="hidden" multi="false">
								<sci:legalval selected="true">Halt</sci:legalval>
								<sci:legalval>Fail</sci:legalval>
								<sci:legalval>Pass</sci:legalval>
							</sci:arg>
							<sci:arg name="CustomErrorText" type="StringType" required="false" visibility="nevershow" multi="false"/>
							<sci:arg name="Registrant" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The user who registered this component.</sci:help>
								<sci:value>scitegic/core</sci:value>
							</sci:arg>
							<sci:arg name="RegistrationDate" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The date this component was registered.</sci:help>
								<sci:value>Wed Oct 12 13:59:09 2005</sci:value>
							</sci:arg>
							<sci:arg name="ComponentComment" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>Component Comment</sci:help>
								<sci:value>Defines a subprotocol in a pipeline. When you are creating a pipeline that requires a subprotocol as a component, drag this component into the pipeline, open it, and add components to it.</sci:value>
							</sci:arg>
							<sci:arg name="ComponentUsage" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>Component Usage</sci:help>
								<sci:value>When you are creating a pipeline which requires a subprotocol as 
a component, you can drag this SubProtocol component into the 
pipeline, open it, and add components into it.</sci:value>
							</sci:arg>
							<sci:arg name="ComponentDisplayName" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:value>sort clusters by size</sci:value>
							</sci:arg>
							<sci:arg name="ProtocolAutoLayout" type="BoolType" required="false" visibility="nevershow" multi="false">
								<sci:help>Protocol AutoLayout</sci:help>
								<sci:value>0</sci:value>
							</sci:arg>
							<sci:arg name="ProtocolShowComment" type="BoolType" required="false" visibility="nevershow" multi="false">
								<sci:help>Protocol ShowComment</sci:help>
								<sci:value>true</sci:value>
							</sci:arg>
							<sci:arg name="ProtocolComment" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>Add Protocol Comment Here</sci:help>
								<sci:value>Add Protocol Comment Here</sci:value>
							</sci:arg>
							<sci:arg name="ComponentDisabled" type="LongType" required="false" visibility="nevershow" multi="false">
								<sci:value>0</sci:value>
							</sci:arg>
							<sci:arg name="ComponentIcon" type="StringType" required="true" visibility="nevershow" multi="false">
								<sci:value>SubProtocolNode</sci:value>
							</sci:arg>
							<sci:arg name="ComponentRevision" type="LongType" required="true" visibility="nevershow" multi="false">
								<sci:help>Component Revision</sci:help>
								<sci:value>100</sci:value>
							</sci:arg>
							<sci:arg name="DerivedFrom" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The component this component is based upon.</sci:help>
								<sci:value>SubProtocol</sci:value>
							</sci:arg>
							<sci:arg name="ComponentGUID" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:value>{17001C74-63CE-4B4B-B37C-F0EAA19CE4AA}</sci:value>
							</sci:arg>
							<sci:arg name="ComponentPoint" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:value>2190 -455</sci:value>
							</sci:arg>
							<sci:arg name="ByReference" type="BoolType" required="false" visibility="nevershow" multi="false">
								<sci:help>By Ref</sci:help>
								<sci:value>0</sci:value>
							</sci:arg>
							<sci:arg name="ComponentHelp" type="StringType" required="false" visibility="nevershow" multi="true">
								<sci:value>100</sci:value>
								<sci:value>Builds subprotocols in Pipeline Pilot.</sci:value>
								<sci:value>Use a subprotocol to collapse one or more components into a single item. Open a subprotocol to view or edit its contents. 

To define input and output ports, right-click and select Edit. You can save subprotocols and reuse them. For more information, see the User Guide help for &lt;a href=&quot;javascript:DoLink(&apos;scihelpdocs/user/subprots/subprot_overview.htm &apos;)&quot;&gt;Subprotocols Overview&lt;/a&gt;.

Tip: Any component can be made into a shortcut, so that the latest version is always used. For more information, see &lt;a href=&quot;javascript:DoLink(&apos;scihelpdocs/user/subprots/shortcuts.htm &apos;)&quot;&gt;Creating Shortcuts&lt;/a&gt;.</sci:value>
								<sci:value>Generic Data</sci:value>
								<sci:value/>
								<sci:value>Generic Data</sci:value>
								<sci:value>Records passing out of any unconnected pass ports of components inside the subprotocol</sci:value>
								<sci:value>Generic Data</sci:value>
								<sci:value>Records passing out of any unconnected fail ports of components inside the subprotocol</sci:value>
							</sci:arg>
							<sci:arg name="RegistrationVersion" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The server version when this component was registered</sci:help>
								<sci:value>5.0.1.100</sci:value>
							</sci:arg>
							<sci:arg name="Component Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false"/>
							<sci:arg name="Protocol Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>Protocol Sticky Notes</sci:help>
							</sci:arg>
							<sci:arg name="Protocol Options" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>Protocol Options</sci:help>
								<sci:legalval>Make Shortcut by Default</sci:legalval>
								<sci:legalval>Owner Access Only</sci:legalval>
							</sci:arg>
							<sci:arg name="ComponentLocalID" type="LongType" required="false" visibility="nevershow" multi="false">
								<sci:help>Local Component Identifier</sci:help>
								<sci:value>14</sci:value>
							</sci:arg>
							<sci:arg name="ProtocolScale2" type="LongType" required="false" visibility="nevershow" multi="false">
								<sci:help>Protocol Scale</sci:help>
								<sci:value>75</sci:value>
							</sci:arg>
							<sci:arg name="Component Path" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The original path within the database of this component.</sci:help>
								<sci:value>Components\Data Access and Manipulation\Utilities\Subprotocol Utilities\Subprotocol</sci:value>
							</sci:arg>
						</sci:component>
						<sci:protocol>
							<sci:data object="SciTegic.GroupData.1">
								<sci:component name="Group Data by Tag" version="2">
									<sci:arg name="GroupUsing" type="StringType" required="true" visibility="visible" multi="false">
										<sci:help>The name of a property that acts as a common key for those records to be grouped
</sci:help>
										<sci:value>cluster</sci:value>
									</sci:arg>
									<sci:arg name="GroupName" type="StringType" required="false" visibility="hidden" multi="false">
										<sci:help>If given, a new property called &quot;GroupName&quot; is created with this value. It can aid in unpacking only selected groups by name.
</sci:help>
										<sci:value>Data</sci:value>
									</sci:arg>
									<sci:arg name="GroupUsingListType" type="StringType" required="true" visibility="hidden" multi="false">
										<sci:help>Indicates how &quot;GroupUsing&quot; properties are interpreted when  more than one property is listed:
 
    - UseFirstDefinedValue: Group using only the first property in the list with a defined value for a record.
 
  - UseAllValues: Groups using the concatentation of the values of all properties listed; a match occurs only when records share the same value for all the properties.</sci:help>
										<sci:legalval>UseFirstDefinedValue</sci:legalval>
										<sci:legalval selected="true">UseAllValues</sci:legalval>
									</sci:arg>
									<sci:arg name="ComponentAttributes" type="StringType" required="false" visibility="hidden" multi="true">
										<sci:help>Component Attributes</sci:help>
										<sci:legalval selected="true">ComponentTakesInput</sci:legalval>
										<sci:legalval selected="true">ComponentReturnsPass</sci:legalval>
										<sci:legalval selected="true">ComponentReturnsFail</sci:legalval>
										<sci:legalval>ComponentRunsLocal</sci:legalval>
									</sci:arg>
									<sci:arg name="OnDataTypeError" type="StringType" required="true" visibility="hidden" multi="false">
										<sci:help>When an expected data type is not found during processing:  
  Halt: Terminate the execution of the network
  Fail: Continue execution of the network, passing data out the Fail(red) port
  Pass: Continue execution of the network, passing data out the Pass(green) port</sci:help>
										<sci:legalval selected="true">Halt</sci:legalval>
										<sci:legalval>Fail</sci:legalval>
										<sci:legalval>Pass</sci:legalval>
									</sci:arg>
									<sci:arg name="OnGeneralError" type="StringType" required="true" visibility="hidden" multi="false">
										<sci:help>When an recoverable error occurs during processing:  
  Halt: Terminate the execution of the network
  Fail: Continue execution of the network, passing data out the Fail(red) port
  Pass: Continue execution of the network, passing data out the Pass(green) port</sci:help>
										<sci:legalval selected="true">Halt</sci:legalval>
										<sci:legalval>Fail</sci:legalval>
										<sci:legalval>Pass</sci:legalval>
									</sci:arg>
									<sci:arg name="CustomErrorText" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>Custom Error Message</sci:help>
									</sci:arg>
									<sci:arg name="Registrant" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The user who registered this component.</sci:help>
										<sci:value>scitegic/core</sci:value>
									</sci:arg>
									<sci:arg name="RegistrationDate" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The date this component was registered.</sci:help>
										<sci:value>Wed Oct 12 13:59:03 2005</sci:value>
									</sci:arg>
									<sci:arg name="ComponentGUID" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:value>{3FDE8197-D86F-4EB0-99FF-82D6430AF466}</sci:value>
									</sci:arg>
									<sci:arg name="ComponentComment" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>Comment</sci:help>
										<sci:value>Groups a series of data records with the same tag together onto a single property list.</sci:value>
									</sci:arg>
									<sci:arg name="ComponentDisplayName" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:value>Group Data by Tag</sci:value>
									</sci:arg>
									<sci:arg name="ComponentUsage" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>Component Usage</sci:help>
										<sci:value>Data records are grouped together for collective treatment downstream.  Each incoming data record becomes a single item on the newly generated property list being output.  *Note that the Ungroup_Data component can be used to unpack these lists with no loss of any data.

Input             - Data records
Output Pass  - Property list records containing the grouped data</sci:value>
									</sci:arg>
									<sci:arg name="ComponentIcon" type="StringType" required="true" visibility="nevershow" multi="false">
										<sci:value>JoinNode</sci:value>
									</sci:arg>
									<sci:arg name="DerivedFrom" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The component this component is based upon.</sci:help>
										<sci:value>Group Data by Tag</sci:value>
									</sci:arg>
									<sci:arg name="ComponentDisabled" type="LongType" required="false" visibility="nevershow" multi="false">
										<sci:value>0</sci:value>
									</sci:arg>
									<sci:arg name="ComponentPoint" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:value>90 -95</sci:value>
									</sci:arg>
									<sci:arg name="ComponentHelp" type="StringType" required="false" visibility="nevershow" multi="true">
										<sci:value>100</sci:value>
										<sci:value>Groups all data records with the same tag together into a single record.</sci:value>
										<sci:value>&lt;p&gt;All data records with the same value for &lt;em&gt;GroupUsing&lt;/em&gt; are grouped 
  together for collective treatment downstream. Each resulting group of data records 
  is output as a single data record. &lt;/p&gt;
&lt;p&gt;The new root data record has three properties defined.  &lt;I&gt;GroupName&lt;/I&gt; contains
  the property name used to name the group node.  &lt;I&gt;NumberInGroup&lt;/I&gt; contains the 
  number of children records in the group.  Finally, a column named used the parameter
  value from &lt;I&gt;GroupUsing&lt;/I&gt; is defined, with the value of the property being the 
  value that all members of that group share. &lt;/P&gt;
&lt;p&gt;The original data records can be reconstituted by using the &lt;em&gt;Ungroup Data&lt;/em&gt; 
  component downstream. Any records lacking the &lt;em&gt;GroupByTag &lt;/em&gt;property are 
  output individually through the fail port. This component is often used to provide 
  input to a subprotocol for which &lt;em&gt;Run To Completion&lt;/em&gt; has been set to 
  &amp;quot;True&amp;quot;. By using the &lt;em&gt;Ungroup Data&lt;/em&gt; component as the first 
  element of the subprotocol, subsequent actions of the subprotocol act on all 
  the data in each group (for example, cluster) one group at a time. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;See Also: &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;javascript:DoLink(&apos;{57833F08-BD53-42AE-A14C-87EED61B8FBD}&apos;)&quot;&gt;Ungroup Data Component&lt;/a&gt;: Use it to unpack property lists without loss of data.&lt;/p&gt;</sci:value>
										<sci:value>Generic Data</sci:value>
										<sci:value/>
										<sci:value>Generic Data</sci:value>
										<sci:value>Data records, each containing a collection of grouped records stored in a hierarchy</sci:value>
										<sci:value>Generic Data</sci:value>
										<sci:value>Those input data records that lacked the GroupByTag property</sci:value>
									</sci:arg>
									<sci:arg name="RegistrationVersion" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The server version when this component was registered</sci:help>
										<sci:value>5.0.1.100</sci:value>
									</sci:arg>
									<sci:arg name="Component Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false"/>
									<sci:arg name="ComponentLocalID" type="LongType" required="false" visibility="nevershow" multi="false">
										<sci:help>Local Component Identifier</sci:help>
										<sci:value>0</sci:value>
									</sci:arg>
									<sci:arg name="Component Path" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The original path within the database of this component.</sci:help>
										<sci:value>Components\Data Access and Manipulation\Data Manipulators\Group Data by Tag</sci:value>
									</sci:arg>
								</sci:component>
							</sci:data>
							<sci:data object="SciTegic.Protocol.1">
								<sci:component name="Subprotocol" version="2">
									<sci:arg name="Tempfiles" type="StringType" required="false" visibility="hidden" multi="false" implbase="{17001C74-63CE-4B4B-B37C-F0EAA19CE4AA}">
										<sci:help>Temporary files converted by the network to true temporary filenames</sci:help>
									</sci:arg>
									<sci:arg name="DeclareLocal" type="StringType" required="false" visibility="hidden" multi="false" implbase="{17001C74-63CE-4B4B-B37C-F0EAA19CE4AA}">
										<sci:help>Lists a set of properties (without the @) to create on the property list for this protocol. Other properties are created on the global property list and are accessible from all protocols.</sci:help>
									</sci:arg>
									<sci:arg name="RunToCompletion" type="BoolType" required="false" visibility="hidden" multi="false" implbase="{17001C74-63CE-4B4B-B37C-F0EAA19CE4AA}">
										<sci:help>When the network runs, processes once or until done for each process call</sci:help>
										<sci:legalval selected="true">True</sci:legalval>
										<sci:legalval>False</sci:legalval>
									</sci:arg>
									<sci:arg name="ComponentAttributes" type="StringType" required="false" visibility="hidden" multi="true">
										<sci:help>Component Attributes</sci:help>
										<sci:legalval selected="true">ComponentTakesInput</sci:legalval>
										<sci:legalval selected="true">ComponentReturnsPass</sci:legalval>
										<sci:legalval>ComponentReturnsFail</sci:legalval>
										<sci:legalval>ComponentRunsLocal</sci:legalval>
									</sci:arg>
									<sci:arg name="OnDataTypeError" type="StringType" required="true" visibility="hidden" multi="false">
										<sci:help>When an expected data type is not found during processing:  
  Halt: Terminate the execution of the network
  Fail: Continue execution of the network, passing data out the Fail(red) port
  Pass: Continue execution of the network, passing data out the Pass(green) port</sci:help>
										<sci:legalval selected="true">Halt</sci:legalval>
										<sci:legalval>Fail</sci:legalval>
										<sci:legalval>Pass</sci:legalval>
									</sci:arg>
									<sci:arg name="OnGeneralError" type="StringType" required="true" visibility="hidden" multi="false">
										<sci:help>When an recoverable error occurs during processing:  
  Halt: Terminate the execution of the network
  Fail: Continue execution of the network, passing data out the Fail(red) port
  Pass: Continue execution of the network, passing data out the Pass(green) port</sci:help>
										<sci:legalval selected="true">Halt</sci:legalval>
										<sci:legalval>Fail</sci:legalval>
										<sci:legalval>Pass</sci:legalval>
									</sci:arg>
									<sci:arg name="CustomErrorText" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>Custom Error Message</sci:help>
									</sci:arg>
									<sci:arg name="Registrant" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The user who registered this component.</sci:help>
										<sci:value>scitegic/core</sci:value>
									</sci:arg>
									<sci:arg name="RegistrationDate" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The date this component was registered.</sci:help>
										<sci:value>Wed Oct 12 13:59:09 2005</sci:value>
									</sci:arg>
									<sci:arg name="ComponentGUID" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:value>{17001C74-63CE-4B4B-B37C-F0EAA19CE4AA}</sci:value>
									</sci:arg>
									<sci:arg name="ComponentComment" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>Component Comment</sci:help>
										<sci:value>Defines a subprotocol in a pipeline. When you are creating a pipeline that requires a subprotocol as a component, drag this component into the pipeline, open it, and add components to it.</sci:value>
									</sci:arg>
									<sci:arg name="ComponentUsage" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>Component Usage</sci:help>
										<sci:value>When you are creating a pipeline which requires a subprotocol as 
a component, you can drag this SubProtocol component into the 
pipeline, open it, and add components into it.</sci:value>
									</sci:arg>
									<sci:arg name="ComponentDisplayName" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:value>Subprotocol</sci:value>
									</sci:arg>
									<sci:arg name="ProtocolAutoLayout" type="BoolType" required="false" visibility="nevershow" multi="false">
										<sci:help>Protocol AutoLayout</sci:help>
										<sci:value>1</sci:value>
									</sci:arg>
									<sci:arg name="ProtocolShowComment" type="BoolType" required="false" visibility="nevershow" multi="false">
										<sci:help>Protocol ShowComment</sci:help>
										<sci:value>true</sci:value>
									</sci:arg>
									<sci:arg name="ProtocolComment" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>Add Protocol Comment Here</sci:help>
										<sci:value>Add Protocol Comment Here</sci:value>
									</sci:arg>
									<sci:arg name="ComponentDisabled" type="LongType" required="false" visibility="nevershow" multi="false">
										<sci:value>0</sci:value>
									</sci:arg>
									<sci:arg name="ComponentIcon" type="StringType" required="true" visibility="nevershow" multi="false">
										<sci:value>SubProtocolNode</sci:value>
									</sci:arg>
									<sci:arg name="ComponentRevision" type="LongType" required="true" visibility="nevershow" multi="false">
										<sci:help>Component Revision</sci:help>
										<sci:value>100</sci:value>
									</sci:arg>
									<sci:arg name="DerivedFrom" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The component this component is based upon.</sci:help>
										<sci:value>SubProtocol</sci:value>
									</sci:arg>
									<sci:arg name="ComponentPoint" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:value>330 -95</sci:value>
									</sci:arg>
									<sci:arg name="ByReference" type="BoolType" required="false" visibility="nevershow" multi="false">
										<sci:help>By Ref</sci:help>
										<sci:value>0</sci:value>
									</sci:arg>
									<sci:arg name="ComponentHelp" type="StringType" required="false" visibility="nevershow" multi="true">
										<sci:value>100</sci:value>
										<sci:value>Builds subprotocols in Pipeline Pilot.</sci:value>
										<sci:value>Use a subprotocol to collapse one or more components into a single item. Open a subprotocol to view or edit its contents. 

To define input and output ports, right-click and select Edit. You can save subprotocols and reuse them. For more information, see the User Guide help for &lt;a href=&quot;javascript:DoLink(&apos;scihelpdocs/user/subprots/subprot_overview.htm &apos;)&quot;&gt;Subprotocols Overview&lt;/a&gt;.

Tip: Any component can be made into a shortcut, so that the latest version is always used. For more information, see &lt;a href=&quot;javascript:DoLink(&apos;scihelpdocs/user/subprots/shortcuts.htm &apos;)&quot;&gt;Creating Shortcuts&lt;/a&gt;.</sci:value>
										<sci:value>Generic Data</sci:value>
										<sci:value/>
										<sci:value>Generic Data</sci:value>
										<sci:value>Records passing out of any unconnected pass ports of components inside the subprotocol</sci:value>
										<sci:value>None</sci:value>
										<sci:value>Records passing out of any unconnected fail ports of components inside the subprotocol</sci:value>
									</sci:arg>
									<sci:arg name="RegistrationVersion" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The server version when this component was registered</sci:help>
										<sci:value>5.0.1.100</sci:value>
									</sci:arg>
									<sci:arg name="Component Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false"/>
									<sci:arg name="Protocol Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>Protocol Sticky Notes</sci:help>
									</sci:arg>
									<sci:arg name="Protocol Options" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>Protocol Options</sci:help>
										<sci:legalval>Make Shortcut by Default</sci:legalval>
										<sci:legalval>Owner Access Only</sci:legalval>
									</sci:arg>
									<sci:arg name="ComponentLocalID" type="LongType" required="false" visibility="nevershow" multi="false">
										<sci:help>Local Component Identifier</sci:help>
										<sci:value>1</sci:value>
									</sci:arg>
									<sci:arg name="Component Path" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The original path within the database of this component.</sci:help>
										<sci:value>Components\Data Access and Manipulation\Utilities\Subprotocol Utilities\Subprotocol</sci:value>
									</sci:arg>
									<sci:arg name="ProtocolScale2" type="LongType" required="false" visibility="nevershow" multi="false">
										<sci:help>Protocol Scale</sci:help>
										<sci:value>75</sci:value>
									</sci:arg>
								</sci:component>
								<sci:protocol>
									<sci:data object="SciTegic.EvaluateExpression.1">
										<sci:component name="Custom Manipulator (PilotScript)" version="2">
											<sci:arg name="Initial Expression" type="ExpressionType" required="false" visibility="hidden" multi="false" implbase="{0995D675-7EE2-432C-95DF-E91C14052B22}">
												<sci:help>This expression is executed only the first time data passes into the component. (Since there is no data available at initialization time, only expressions referencing global properties are allowed.)</sci:help>
											</sci:arg>
											<sci:arg name="Expression" type="ExpressionType" required="true" visibility="visible" multi="false" implbase="{0995D675-7EE2-432C-95DF-E91C14052B22}">
												<sci:help>Expression (or list of expressions separated by semi-colons) to evaluate</sci:help>
												<sci:value>@size:=NumberInGroup</sci:value>
											</sci:arg>
											<sci:arg name="Final Expression" type="ExpressionType" required="false" visibility="hidden" multi="false" implbase="{0995D675-7EE2-432C-95DF-E91C14052B22}">
												<sci:help>This expression is executed only at finalization (after the last data passes out of the component). 
 (Since there is no data available at finalization time, only expressions referencing global properties are allowed.)</sci:help>
											</sci:arg>
											<sci:arg name="Keep Calculated Properties" type="BoolType" required="true" visibility="hidden" multi="false">
												<sci:help>Adds any properties calculated in this component to a molecule&apos;s property list</sci:help>
												<sci:legalval selected="true">True</sci:legalval>
												<sci:legalval>False</sci:legalval>
											</sci:arg>
											<sci:arg name="ComponentAttributes" type="StringType" required="false" visibility="hidden" multi="true">
												<sci:help>Component Attributes</sci:help>
												<sci:legalval selected="true">ComponentTakesInput</sci:legalval>
												<sci:legalval selected="true">ComponentReturnsPass</sci:legalval>
												<sci:legalval>ComponentReturnsFail</sci:legalval>
												<sci:legalval>ComponentRunsLocal</sci:legalval>
											</sci:arg>
											<sci:arg name="OnDataTypeError" type="StringType" required="true" visibility="hidden" multi="false">
												<sci:help>When an expected data type is not found during processing:  
  Halt: Terminate the execution of the network
  Fail: Continue execution of the network, passing data out the Fail(red) port
  Pass: Continue execution of the network, passing data out the Pass(green) port</sci:help>
												<sci:legalval selected="true">Halt</sci:legalval>
												<sci:legalval>Fail</sci:legalval>
												<sci:legalval>Pass</sci:legalval>
											</sci:arg>
											<sci:arg name="OnGeneralError" type="StringType" required="true" visibility="hidden" multi="false">
												<sci:help>When an recoverable error occurs during processing:  
  Halt: Terminate the execution of the network
  Fail: Continue execution of the network, passing data out the Fail(red) port
  Pass: Continue execution of the network, passing data out the Pass(green) port</sci:help>
												<sci:legalval selected="true">Halt</sci:legalval>
												<sci:legalval>Fail</sci:legalval>
												<sci:legalval>Pass</sci:legalval>
											</sci:arg>
											<sci:arg name="CustomErrorText" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>Custom Error Message</sci:help>
											</sci:arg>
											<sci:arg name="Do Screen" type="BoolType" required="false" visibility="nevershow" multi="false" implbase="{0995D675-7EE2-432C-95DF-E91C14052B22}">
												<sci:help>When TRUE, controls which exit port is used for
each data record by evaluating the final expression
(or only one) listed in the &quot;Expression&quot; parameter.
   -Pass (green) port when expression true
   -Fail (red) port when expression false</sci:help>
												<sci:legalval>True</sci:legalval>
												<sci:legalval selected="true">False</sci:legalval>
											</sci:arg>
											<sci:arg name="ExpressionVersion" type="LongType" required="false" visibility="nevershow" multi="false" implbase="{0995D675-7EE2-432C-95DF-E91C14052B22}">
												<sci:help>Version of expression parser to use.</sci:help>
												<sci:value>2</sci:value>
											</sci:arg>
											<sci:arg name="ComponentComment" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>Comment</sci:help>
												<sci:value>Processes commands expressed in PilotScript syntax to apply rapid
manipulations to data record properties. In this way, the component may be
customized to build a new, specialized data manipulation component.</sci:value>
											</sci:arg>
											<sci:arg name="Registrant" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>The user who registered this component.</sci:help>
												<sci:value>scitegic/core</sci:value>
											</sci:arg>
											<sci:arg name="RegistrationDate" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>The date this component was registered.</sci:help>
												<sci:value>Wed Oct 12 13:59:03 2005</sci:value>
											</sci:arg>
											<sci:arg name="ComponentUsage" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>Component Usage</sci:help>
												<sci:value>The &apos;Expression&apos;  is evaluated for each data record, and may alter and manipulate the properties of the data objects. The &apos;Initial expression&apos; is evaluated the first time data passes into the component and is typically used for initializing global variables. See the online documentation for full details of PilotScript expression syntax.

Input             - Data records
Output Pass  - All Data records</sci:value>
											</sci:arg>
											<sci:arg name="ComponentDisplayName" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>Display Name</sci:help>
												<sci:value>Custom Manipulator (PilotScript)</sci:value>
											</sci:arg>
											<sci:arg name="DerivedFrom" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>The component this component is based upon.</sci:help>
												<sci:value>Custom Manipulator (PilotScript)</sci:value>
											</sci:arg>
											<sci:arg name="ComponentRunTimeID" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>Component RunTimeID</sci:help>
												<sci:value>6:1:0:1:0</sci:value>
											</sci:arg>
											<sci:arg name="ComponentIcon" type="StringType" required="true" visibility="nevershow" multi="false">
												<sci:help>Component Icon</sci:help>
												<sci:value>ExpressionNode</sci:value>
											</sci:arg>
											<sci:arg name="ComponentDisabled" type="LongType" required="false" visibility="nevershow" multi="false">
												<sci:help>Disabled</sci:help>
												<sci:value>0</sci:value>
											</sci:arg>
											<sci:arg name="ComponentGUID" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>GUID</sci:help>
												<sci:value>{0995D675-7EE2-432C-95DF-E91C14052B22}</sci:value>
											</sci:arg>
											<sci:arg name="ComponentPoint" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>Component Point</sci:help>
												<sci:value>85 -50</sci:value>
											</sci:arg>
											<sci:arg name="ComponentHelp" type="StringType" required="false" visibility="nevershow" multi="true">
												<sci:help>Fancy Help</sci:help>
												<sci:value>100</sci:value>
												<sci:value>Executes PilotScript to modify data records.</sci:value>
												<sci:value>Executes custom PilotScript expression(s) for every data record that enters the component. Use this component to build new, specialized data manipulation components.

&lt;i&gt;Expression&lt;/i&gt; is evaluated for each data record and may alter the properties of the data objects. 

&lt;i&gt;Initial expression &lt;/i&gt; is evaluated the first time data passes into the component and is typically used for initializing global variables. 

&lt;p&gt;&lt;b&gt;See Also:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;For more information, go to &lt;a href=&quot;javascript:DoLink(&apos;scihelpdocs/user/pscript/pscript_overview.htm&apos;)&quot;&gt;PilotScript Overview&lt;/a&gt;.&lt;/p&gt;
 
</sci:value>
												<sci:value>Generic Data</sci:value>
												<sci:value/>
												<sci:value>Generic Data</sci:value>
												<sci:value/>
												<sci:value>None</sci:value>
												<sci:value/>
											</sci:arg>
											<sci:arg name="RegistrationVersion" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>The server version when this component was registered</sci:help>
												<sci:value>5.0.1.100</sci:value>
											</sci:arg>
											<sci:arg name="Component Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>Component Sticky Notes</sci:help>
											</sci:arg>
											<sci:arg name="Component Path" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>Location of the component in the database.</sci:help>
												<sci:value>Components\Generic\Manipulators\Custom Manipulator (PilotScript)</sci:value>
											</sci:arg>
											<sci:arg name="ComponentLocalID" type="LongType" required="false" visibility="nevershow" multi="false">
												<sci:help>Local Component Identifier</sci:help>
												<sci:value>0</sci:value>
											</sci:arg>
										</sci:component>
									</sci:data>
									<sci:data object="SciTegic.UngroupData.1">
										<sci:component name="Ungroup Data" version="2">
											<sci:arg name="GroupName" type="StringType" required="false" visibility="hidden" multi="false">
												<sci:help>(Optional) Restricts the ungroup process to only those groups having the given name -- the same name as specified by the &quot;Group Data&quot; component</sci:help>
												<sci:value>Data</sci:value>
											</sci:arg>
											<sci:arg name="ComponentAttributes" type="StringType" required="false" visibility="hidden" multi="true">
												<sci:help>Component Attributes</sci:help>
												<sci:legalval selected="true">ComponentTakesInput</sci:legalval>
												<sci:legalval selected="true">ComponentReturnsPass</sci:legalval>
												<sci:legalval>ComponentReturnsFail</sci:legalval>
												<sci:legalval>ComponentRunsLocal</sci:legalval>
											</sci:arg>
											<sci:arg name="OnDataTypeError" type="StringType" required="true" visibility="hidden" multi="false">
												<sci:help>When an expected data type is not found during processing:  
  Halt: Terminate the execution of the network
  Fail: Continue execution of the network, passing data out the Fail(red) port
  Pass: Continue execution of the network, passing data out the Pass(green) port</sci:help>
												<sci:legalval selected="true">Halt</sci:legalval>
												<sci:legalval>Fail</sci:legalval>
												<sci:legalval>Pass</sci:legalval>
											</sci:arg>
											<sci:arg name="OnGeneralError" type="StringType" required="true" visibility="hidden" multi="false">
												<sci:help>When an recoverable error occurs during processing:  
  Halt: Terminate the execution of the network
  Fail: Continue execution of the network, passing data out the Fail(red) port
  Pass: Continue execution of the network, passing data out the Pass(green) port</sci:help>
												<sci:legalval selected="true">Halt</sci:legalval>
												<sci:legalval>Fail</sci:legalval>
												<sci:legalval>Pass</sci:legalval>
											</sci:arg>
											<sci:arg name="CustomErrorText" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>Custom Error Message</sci:help>
											</sci:arg>
											<sci:arg name="ComponentComment" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>Comment</sci:help>
												<sci:value>Un-groups multiple data records previously &quot;grouped&quot; onto a group node</sci:value>
											</sci:arg>
											<sci:arg name="Registrant" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>The user who registered this component.</sci:help>
												<sci:value>scitegic/core</sci:value>
											</sci:arg>
											<sci:arg name="RegistrationDate" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>The date this component was registered.</sci:help>
												<sci:value>Wed Oct 12 13:59:03 2005</sci:value>
											</sci:arg>
											<sci:arg name="ComponentUsage" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>Component Usage</sci:help>
												<sci:value>Individual data records are created from the specified property (PropertyName) on the incoming data (containing previously grouped data).  The incoming property list containing the groups is discarded, and each ungrouped data item is individually returned in sequence.

Input             - Property list data records (containing grouped data)
Output Pass  - Data records (the original data records before grouping)</sci:value>
											</sci:arg>
											<sci:arg name="ComponentDisplayName" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>Display Name</sci:help>
												<sci:value>Ungroup Data</sci:value>
											</sci:arg>
											<sci:arg name="ComponentIcon" type="StringType" required="true" visibility="nevershow" multi="false">
												<sci:help>Component Icon</sci:help>
												<sci:value>GeneratorNode</sci:value>
											</sci:arg>
											<sci:arg name="DerivedFrom" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>The component this component is based upon.</sci:help>
												<sci:value>Ungroup Data</sci:value>
											</sci:arg>
											<sci:arg name="ComponentGUID" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>GUID</sci:help>
												<sci:value>{57833F08-BD53-42AE-A14C-87EED61B8FBD}</sci:value>
											</sci:arg>
											<sci:arg name="ComponentPoint" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>Component Point</sci:help>
												<sci:value>310 -50</sci:value>
											</sci:arg>
											<sci:arg name="ComponentDisabled" type="LongType" required="false" visibility="nevershow" multi="false">
												<sci:help>Disabled</sci:help>
												<sci:value>0</sci:value>
											</sci:arg>
											<sci:arg name="ComponentHelp" type="StringType" required="false" visibility="nevershow" multi="true">
												<sci:help>Fancy Help</sci:help>
												<sci:value>100</sci:value>
												<sci:value>Extracts the individual data records previously &quot;grouped&quot; together.</sci:value>
												<sci:value>Incoming data records containing a hierarchical group of records are separated into the original records and output individually.</sci:value>
												<sci:value>Generic Data</sci:value>
												<sci:value>Data records with a hierarchical group of other data records</sci:value>
												<sci:value>Generic Data</sci:value>
												<sci:value>The individual data records that were contained within a hierarchical group of the incoming data</sci:value>
												<sci:value>None</sci:value>
												<sci:value/>
											</sci:arg>
											<sci:arg name="RegistrationVersion" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>The server version when this component was registered</sci:help>
												<sci:value>5.0.1.100</sci:value>
											</sci:arg>
											<sci:arg name="Component Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>Component Sticky Notes</sci:help>
											</sci:arg>
											<sci:arg name="Component Path" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>Location of the component in the database.</sci:help>
												<sci:value>Components\Generic\Manipulators\Ungroup Data</sci:value>
											</sci:arg>
											<sci:arg name="ComponentRunTimeID" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>Runtime Identifier</sci:help>
												<sci:value>6:1:0:1:1</sci:value>
											</sci:arg>
											<sci:arg name="ComponentLocalID" type="LongType" required="false" visibility="nevershow" multi="false">
												<sci:help>Local Component Identifier</sci:help>
												<sci:value>1</sci:value>
											</sci:arg>
										</sci:component>
									</sci:data>
									<sci:data object="SciTegic.EvaluateExpression.1">
										<sci:component name="Custom Manipulator (PilotScript)" version="2">
											<sci:arg name="Initial Expression" type="ExpressionType" required="false" visibility="hidden" multi="false" implbase="{0995D675-7EE2-432C-95DF-E91C14052B22}">
												<sci:help>This expression is executed only the first time data passes into the component. (Since there is no data available at initialization time, only expressions referencing global properties are allowed.)</sci:help>
											</sci:arg>
											<sci:arg name="Expression" type="ExpressionType" required="true" visibility="visible" multi="false" implbase="{0995D675-7EE2-432C-95DF-E91C14052B22}">
												<sci:help>Expression (or list of expressions separated by semi-colons) to evaluate</sci:help>
												<sci:value>NumberInGroup:=@size;</sci:value>
											</sci:arg>
											<sci:arg name="Final Expression" type="ExpressionType" required="false" visibility="hidden" multi="false" implbase="{0995D675-7EE2-432C-95DF-E91C14052B22}">
												<sci:help>This expression is executed only at finalization (after the last data passes out of the component). 
 (Since there is no data available at finalization time, only expressions referencing global properties are allowed.)</sci:help>
											</sci:arg>
											<sci:arg name="Keep Calculated Properties" type="BoolType" required="true" visibility="hidden" multi="false">
												<sci:help>Adds any properties calculated in this component to a molecule&apos;s property list</sci:help>
												<sci:legalval selected="true">True</sci:legalval>
												<sci:legalval>False</sci:legalval>
											</sci:arg>
											<sci:arg name="ComponentAttributes" type="StringType" required="false" visibility="hidden" multi="true">
												<sci:help>Component Attributes</sci:help>
												<sci:legalval selected="true">ComponentTakesInput</sci:legalval>
												<sci:legalval selected="true">ComponentReturnsPass</sci:legalval>
												<sci:legalval>ComponentReturnsFail</sci:legalval>
												<sci:legalval>ComponentRunsLocal</sci:legalval>
											</sci:arg>
											<sci:arg name="OnDataTypeError" type="StringType" required="true" visibility="hidden" multi="false">
												<sci:help>When an expected data type is not found during processing:  
  Halt: Terminate the execution of the network
  Fail: Continue execution of the network, passing data out the Fail(red) port
  Pass: Continue execution of the network, passing data out the Pass(green) port</sci:help>
												<sci:legalval selected="true">Halt</sci:legalval>
												<sci:legalval>Fail</sci:legalval>
												<sci:legalval>Pass</sci:legalval>
											</sci:arg>
											<sci:arg name="OnGeneralError" type="StringType" required="true" visibility="hidden" multi="false">
												<sci:help>When an recoverable error occurs during processing:  
  Halt: Terminate the execution of the network
  Fail: Continue execution of the network, passing data out the Fail(red) port
  Pass: Continue execution of the network, passing data out the Pass(green) port</sci:help>
												<sci:legalval selected="true">Halt</sci:legalval>
												<sci:legalval>Fail</sci:legalval>
												<sci:legalval>Pass</sci:legalval>
											</sci:arg>
											<sci:arg name="CustomErrorText" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>Custom Error Message</sci:help>
											</sci:arg>
											<sci:arg name="Do Screen" type="BoolType" required="false" visibility="nevershow" multi="false" implbase="{0995D675-7EE2-432C-95DF-E91C14052B22}">
												<sci:help>When TRUE, controls which exit port is used for
each data record by evaluating the final expression
(or only one) listed in the &quot;Expression&quot; parameter.
   -Pass (green) port when expression true
   -Fail (red) port when expression false</sci:help>
												<sci:legalval>True</sci:legalval>
												<sci:legalval selected="true">False</sci:legalval>
											</sci:arg>
											<sci:arg name="ExpressionVersion" type="LongType" required="false" visibility="nevershow" multi="false" implbase="{0995D675-7EE2-432C-95DF-E91C14052B22}">
												<sci:help>Version of expression parser to use.</sci:help>
												<sci:value>2</sci:value>
											</sci:arg>
											<sci:arg name="ComponentComment" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>Comment</sci:help>
												<sci:value>Processes commands expressed in PilotScript syntax to apply rapid
manipulations to data record properties. In this way, the component may be
customized to build a new, specialized data manipulation component.</sci:value>
											</sci:arg>
											<sci:arg name="Registrant" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>The user who registered this component.</sci:help>
												<sci:value>scitegic/core</sci:value>
											</sci:arg>
											<sci:arg name="RegistrationDate" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>The date this component was registered.</sci:help>
												<sci:value>Wed Oct 12 13:59:03 2005</sci:value>
											</sci:arg>
											<sci:arg name="ComponentUsage" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>Component Usage</sci:help>
												<sci:value>The &apos;Expression&apos;  is evaluated for each data record, and may alter and manipulate the properties of the data objects. The &apos;Initial expression&apos; is evaluated the first time data passes into the component and is typically used for initializing global variables. See the online documentation for full details of PilotScript expression syntax.

Input             - Data records
Output Pass  - All Data records</sci:value>
											</sci:arg>
											<sci:arg name="ComponentDisplayName" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>Display Name</sci:help>
												<sci:value>Custom Manipulator (PilotScript)</sci:value>
											</sci:arg>
											<sci:arg name="DerivedFrom" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>The component this component is based upon.</sci:help>
												<sci:value>Custom Manipulator (PilotScript)</sci:value>
											</sci:arg>
											<sci:arg name="ComponentRunTimeID" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>Component RunTimeID</sci:help>
												<sci:value>6:1:0:1:2</sci:value>
											</sci:arg>
											<sci:arg name="ComponentIcon" type="StringType" required="true" visibility="nevershow" multi="false">
												<sci:help>Component Icon</sci:help>
												<sci:value>ExpressionNode</sci:value>
											</sci:arg>
											<sci:arg name="ComponentDisabled" type="LongType" required="false" visibility="nevershow" multi="false">
												<sci:help>Disabled</sci:help>
												<sci:value>0</sci:value>
											</sci:arg>
											<sci:arg name="ComponentGUID" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>GUID</sci:help>
												<sci:value>{0995D675-7EE2-432C-95DF-E91C14052B22}</sci:value>
											</sci:arg>
											<sci:arg name="ComponentPoint" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>Component Point</sci:help>
												<sci:value>535 -50</sci:value>
											</sci:arg>
											<sci:arg name="ComponentHelp" type="StringType" required="false" visibility="nevershow" multi="true">
												<sci:help>Fancy Help</sci:help>
												<sci:value>100</sci:value>
												<sci:value>Executes PilotScript to modify data records.</sci:value>
												<sci:value>Executes custom PilotScript expression(s) for every data record that enters the component. Use this component to build new, specialized data manipulation components.

&lt;i&gt;Expression&lt;/i&gt; is evaluated for each data record and may alter the properties of the data objects. 

&lt;i&gt;Initial expression &lt;/i&gt; is evaluated the first time data passes into the component and is typically used for initializing global variables. 

&lt;p&gt;&lt;b&gt;See Also:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;For more information, go to &lt;a href=&quot;javascript:DoLink(&apos;scihelpdocs/user/pscript/pscript_overview.htm&apos;)&quot;&gt;PilotScript Overview&lt;/a&gt;.&lt;/p&gt;
 
</sci:value>
												<sci:value>Generic Data</sci:value>
												<sci:value/>
												<sci:value>Generic Data</sci:value>
												<sci:value/>
												<sci:value>None</sci:value>
												<sci:value/>
											</sci:arg>
											<sci:arg name="RegistrationVersion" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>The server version when this component was registered</sci:help>
												<sci:value>5.0.1.100</sci:value>
											</sci:arg>
											<sci:arg name="Component Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>Component Sticky Notes</sci:help>
											</sci:arg>
											<sci:arg name="Component Path" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>Location of the component in the database.</sci:help>
												<sci:value>Components\Generic\Manipulators\Custom Manipulator (PilotScript)</sci:value>
											</sci:arg>
											<sci:arg name="ComponentLocalID" type="LongType" required="false" visibility="nevershow" multi="false">
												<sci:help>Local Component Identifier</sci:help>
												<sci:value>2</sci:value>
											</sci:arg>
										</sci:component>
									</sci:data>
									<sci:connectid from="0" to="1" type="true"/>
									<sci:connectid from="1" to="2" type="true"/>
								</sci:protocol>
							</sci:data>
							<sci:data object="SciTegic.SortData.1">
								<sci:component name="Sort Data" version="2">
									<sci:arg name="SortProperty1" type="StringType" required="true" visibility="visible" multi="false">
										<sci:help>First property to sort by</sci:help>
										<sci:value>NumberInGroup</sci:value>
									</sci:arg>
									<sci:arg name="SortDirection1" type="StringType" required="true" visibility="visible" multi="false">
										<sci:help>Sort in increasing or decreasing order</sci:help>
										<sci:legalval>Increasing</sci:legalval>
										<sci:legalval selected="true">Decreasing</sci:legalval>
									</sci:arg>
									<sci:arg name="SortAs1" type="StringType" required="true" visibility="visible" multi="false">
										<sci:help>Sort as numbers or as text</sci:help>
										<sci:legalval selected="true">AsNumbers</sci:legalval>
										<sci:legalval>AsText</sci:legalval>
									</sci:arg>
									<sci:arg name="SortProperty2" type="StringType" required="false" visibility="visible" multi="false">
										<sci:help>Second property to sort by</sci:help>
										<sci:value>cluster</sci:value>
									</sci:arg>
									<sci:arg name="SortDirection2" type="StringType" required="true" visibility="visible" multi="false">
										<sci:help>Sort in increasing or decreasing order</sci:help>
										<sci:legalval selected="true">Increasing</sci:legalval>
										<sci:legalval>Decreasing</sci:legalval>
									</sci:arg>
									<sci:arg name="SortAs2" type="StringType" required="true" visibility="visible" multi="false">
										<sci:help>Sort as numbers or as text</sci:help>
										<sci:legalval selected="true">AsNumbers</sci:legalval>
										<sci:legalval>AsText</sci:legalval>
									</sci:arg>
									<sci:arg name="SortProperty3" type="StringType" required="false" visibility="visible" multi="false">
										<sci:help>Third property to sort by</sci:help>
									</sci:arg>
									<sci:arg name="SortDirection3" type="StringType" required="true" visibility="visible" multi="false">
										<sci:help>Sort in increasing or decreasing order</sci:help>
										<sci:legalval selected="true">Increasing</sci:legalval>
										<sci:legalval>Decreasing</sci:legalval>
									</sci:arg>
									<sci:arg name="SortAs3" type="StringType" required="true" visibility="visible" multi="false">
										<sci:help>Sort as numbers or as text</sci:help>
										<sci:legalval selected="true">AsNumbers</sci:legalval>
										<sci:legalval>AsText</sci:legalval>
									</sci:arg>
									<sci:arg name="SortProperty4" type="StringType" required="false" visibility="hidden" multi="false">
										<sci:help>Fourth property to sort by</sci:help>
									</sci:arg>
									<sci:arg name="SortDirection4" type="StringType" required="true" visibility="hidden" multi="false">
										<sci:help>Sort in increasing or decreasing order</sci:help>
										<sci:legalval selected="true">Increasing</sci:legalval>
										<sci:legalval>Decreasing</sci:legalval>
									</sci:arg>
									<sci:arg name="SortAs4" type="StringType" required="true" visibility="hidden" multi="false">
										<sci:help>Sort as numbers or as text</sci:help>
										<sci:legalval selected="true">AsNumbers</sci:legalval>
										<sci:legalval>AsText</sci:legalval>
									</sci:arg>
									<sci:arg name="SortProperty5" type="StringType" required="false" visibility="hidden" multi="false">
										<sci:help>Fifth property to sort by</sci:help>
									</sci:arg>
									<sci:arg name="SortDirection5" type="StringType" required="true" visibility="hidden" multi="false">
										<sci:help>Sort in increasing or decreasing order</sci:help>
										<sci:legalval selected="true">Increasing</sci:legalval>
										<sci:legalval>Decreasing</sci:legalval>
									</sci:arg>
									<sci:arg name="SortAs5" type="StringType" required="true" visibility="hidden" multi="false">
										<sci:help>Sort as numbers or as text</sci:help>
										<sci:legalval selected="true">AsNumbers</sci:legalval>
										<sci:legalval>AsText</sci:legalval>
									</sci:arg>
									<sci:arg name="SortProperty6" type="StringType" required="false" visibility="hidden" multi="false">
										<sci:help>Sixth property to sort by</sci:help>
									</sci:arg>
									<sci:arg name="SortDirection6" type="StringType" required="true" visibility="hidden" multi="false">
										<sci:help>Sort in increasing or decreasing order</sci:help>
										<sci:legalval selected="true">Increasing</sci:legalval>
										<sci:legalval>Decreasing</sci:legalval>
									</sci:arg>
									<sci:arg name="SortAs6" type="StringType" required="true" visibility="hidden" multi="false">
										<sci:help>Sort as numbers or as text</sci:help>
										<sci:legalval selected="true">AsNumbers</sci:legalval>
										<sci:legalval>AsText</sci:legalval>
									</sci:arg>
									<sci:arg name="ComponentAttributes" type="StringType" required="false" visibility="hidden" multi="true">
										<sci:help>Component Attributes</sci:help>
										<sci:legalval selected="true">ComponentTakesInput</sci:legalval>
										<sci:legalval selected="true">ComponentReturnsPass</sci:legalval>
										<sci:legalval selected="true">ComponentReturnsFail</sci:legalval>
										<sci:legalval>ComponentRunsLocal</sci:legalval>
									</sci:arg>
									<sci:arg name="OnDataTypeError" type="StringType" required="true" visibility="hidden" multi="false">
										<sci:help>When an expected data type is not found during processing:  
  Halt: Terminate the execution of the network
  Fail: Continue execution of the network, passing data out the Fail(red) port
  Pass: Continue execution of the network, passing data out the Pass(green) port</sci:help>
										<sci:legalval selected="true">Halt</sci:legalval>
										<sci:legalval>Fail</sci:legalval>
										<sci:legalval>Pass</sci:legalval>
									</sci:arg>
									<sci:arg name="OnGeneralError" type="StringType" required="true" visibility="hidden" multi="false">
										<sci:help>When an recoverable error occurs during processing:  
  Halt: Terminate the execution of the network
  Fail: Continue execution of the network, passing data out the Fail(red) port
  Pass: Continue execution of the network, passing data out the Pass(green) port</sci:help>
										<sci:legalval selected="true">Halt</sci:legalval>
										<sci:legalval>Fail</sci:legalval>
										<sci:legalval>Pass</sci:legalval>
									</sci:arg>
									<sci:arg name="CustomErrorText" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>Custom Error Message</sci:help>
									</sci:arg>
									<sci:arg name="ComponentComment" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>Comment</sci:help>
										<sci:value>Reorders the data records into a sorted order, depending on some property value.</sci:value>
									</sci:arg>
									<sci:arg name="Registrant" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The user who registered this component.</sci:help>
										<sci:value>scitegic/core</sci:value>
									</sci:arg>
									<sci:arg name="RegistrationDate" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The date this component was registered.</sci:help>
										<sci:value>Wed Oct 12 13:59:03 2005</sci:value>
									</sci:arg>
									<sci:arg name="ComponentDisplayName" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:value>Sort Data</sci:value>
									</sci:arg>
									<sci:arg name="ComponentUsage" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>Component Usage</sci:help>
										<sci:value>Incoming data records are held and sorted before being output in ascending or descending order of the named property.

Additional properties can be added to the sort by adding successive SortProperty, SortDirection, and SortAs parameters (i.e., SortProperty7, SortDirection7, and SortAs7, etc.).

Input             - Data records
Output Pass  - Data records (in sorted order).</sci:value>
									</sci:arg>
									<sci:arg name="DerivedFrom" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The component this component is based upon.</sci:help>
										<sci:value>Sort Data</sci:value>
									</sci:arg>
									<sci:arg name="ComponentIcon" type="StringType" required="true" visibility="nevershow" multi="false">
										<sci:value>ComponentNode</sci:value>
									</sci:arg>
									<sci:arg name="ComponentGUID" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:value>{E52CD4DE-1DAD-4AEA-A26D-5DEB4497365C}</sci:value>
									</sci:arg>
									<sci:arg name="ComponentPoint" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:value>618 -95</sci:value>
									</sci:arg>
									<sci:arg name="ComponentDisabled" type="LongType" required="false" visibility="nevershow" multi="false">
										<sci:value>0</sci:value>
									</sci:arg>
									<sci:arg name="ComponentHelp" type="StringType" required="false" visibility="nevershow" multi="true">
										<sci:value>100</sci:value>
										<sci:value>Sorts the data records according to one or more properties.</sci:value>
										<sci:value>Incoming data records are held and sorted before being output in ascending or descending order of the named property or properties.</sci:value>
										<sci:value>Generic Data</sci:value>
										<sci:value/>
										<sci:value>Generic Data</sci:value>
										<sci:value>Data records in sorted order</sci:value>
										<sci:value>Generic Data</sci:value>
										<sci:value>Data records that do not contain the sort field(s)</sci:value>
									</sci:arg>
									<sci:arg name="RegistrationVersion" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The server version when this component was registered</sci:help>
										<sci:value>5.0.1.100</sci:value>
									</sci:arg>
									<sci:arg name="Component Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false"/>
									<sci:arg name="ComponentLocalID" type="LongType" required="false" visibility="nevershow" multi="false">
										<sci:help>Local Component Identifier</sci:help>
										<sci:value>2</sci:value>
									</sci:arg>
									<sci:arg name="Component Path" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The original path within the database of this component.</sci:help>
										<sci:value>Unknown</sci:value>
									</sci:arg>
								</sci:component>
							</sci:data>
							<sci:connectid from="0" to="1" type="true"/>
							<sci:connectid from="1" to="2" type="true"/>
							<sci:version iVal="1"/>
						</sci:protocol>
					</sci:data>
					<sci:data object="SciTegic.Protocol.1">
						<sci:component name="Subprotocol" version="2">
							<sci:arg name="Tempfiles" type="StringType" required="false" visibility="hidden" multi="false" implbase="{17001C74-63CE-4B4B-B37C-F0EAA19CE4AA}">
								<sci:help>Temporary files converted by the network to true temporary filenames</sci:help>
							</sci:arg>
							<sci:arg name="DeclareLocal" type="StringType" required="false" visibility="hidden" multi="false" implbase="{17001C74-63CE-4B4B-B37C-F0EAA19CE4AA}">
								<sci:help>Lists a set of properties (without the @) to create on the property list for this protocol. Other properties are created on the global property list and are accessible from all protocols.</sci:help>
							</sci:arg>
							<sci:arg name="RunToCompletion" type="BoolType" required="false" visibility="hidden" multi="false" implbase="{17001C74-63CE-4B4B-B37C-F0EAA19CE4AA}">
								<sci:help>When the network runs, processes once or until done for each process call</sci:help>
								<sci:legalval>True</sci:legalval>
								<sci:legalval selected="true">False</sci:legalval>
							</sci:arg>
							<sci:arg name="ComponentAttributes" type="StringType" required="false" visibility="hidden" multi="true">
								<sci:help>Component Attributes</sci:help>
								<sci:legalval selected="true">ComponentTakesInput</sci:legalval>
								<sci:legalval selected="true">ComponentReturnsPass</sci:legalval>
								<sci:legalval selected="true">ComponentReturnsFail</sci:legalval>
								<sci:legalval>ComponentRunsLocal</sci:legalval>
							</sci:arg>
							<sci:arg name="OnDataTypeError" type="StringType" required="true" visibility="hidden" multi="false">
								<sci:legalval selected="true">Halt</sci:legalval>
								<sci:legalval>Fail</sci:legalval>
								<sci:legalval>Pass</sci:legalval>
							</sci:arg>
							<sci:arg name="OnGeneralError" type="StringType" required="true" visibility="hidden" multi="false">
								<sci:legalval selected="true">Halt</sci:legalval>
								<sci:legalval>Fail</sci:legalval>
								<sci:legalval>Pass</sci:legalval>
							</sci:arg>
							<sci:arg name="CustomErrorText" type="StringType" required="false" visibility="nevershow" multi="false"/>
							<sci:arg name="Registrant" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The user who registered this component.</sci:help>
								<sci:value>scitegic/core</sci:value>
							</sci:arg>
							<sci:arg name="RegistrationDate" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The date this component was registered.</sci:help>
								<sci:value>Wed Oct 12 13:59:09 2005</sci:value>
							</sci:arg>
							<sci:arg name="ComponentComment" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>Component Comment</sci:help>
								<sci:value>Defines a subprotocol in a pipeline. When you are creating a pipeline that requires a subprotocol as a component, drag this component into the pipeline, open it, and add components to it.</sci:value>
							</sci:arg>
							<sci:arg name="ComponentUsage" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>Component Usage</sci:help>
								<sci:value>When you are creating a pipeline which requires a subprotocol as 
a component, you can drag this SubProtocol component into the 
pipeline, open it, and add components into it.</sci:value>
							</sci:arg>
							<sci:arg name="ComponentDisplayName" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:value>rename cluster numbers</sci:value>
							</sci:arg>
							<sci:arg name="ProtocolAutoLayout" type="BoolType" required="false" visibility="nevershow" multi="false">
								<sci:help>Protocol AutoLayout</sci:help>
								<sci:value>0</sci:value>
							</sci:arg>
							<sci:arg name="ProtocolShowComment" type="BoolType" required="false" visibility="nevershow" multi="false">
								<sci:help>Protocol ShowComment</sci:help>
								<sci:value>true</sci:value>
							</sci:arg>
							<sci:arg name="ProtocolComment" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>Add Protocol Comment Here</sci:help>
								<sci:value>Add Protocol Comment Here</sci:value>
							</sci:arg>
							<sci:arg name="ComponentDisabled" type="LongType" required="false" visibility="nevershow" multi="false">
								<sci:value>0</sci:value>
							</sci:arg>
							<sci:arg name="ComponentIcon" type="StringType" required="true" visibility="nevershow" multi="false">
								<sci:value>SubProtocolNode</sci:value>
							</sci:arg>
							<sci:arg name="ComponentRevision" type="LongType" required="true" visibility="nevershow" multi="false">
								<sci:help>Component Revision</sci:help>
								<sci:value>100</sci:value>
							</sci:arg>
							<sci:arg name="DerivedFrom" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The component this component is based upon.</sci:help>
								<sci:value>SubProtocol</sci:value>
							</sci:arg>
							<sci:arg name="ComponentGUID" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:value>{17001C74-63CE-4B4B-B37C-F0EAA19CE4AA}</sci:value>
							</sci:arg>
							<sci:arg name="ComponentPoint" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:value>2490 -455</sci:value>
							</sci:arg>
							<sci:arg name="ByReference" type="BoolType" required="false" visibility="nevershow" multi="false">
								<sci:help>By Ref</sci:help>
								<sci:value>0</sci:value>
							</sci:arg>
							<sci:arg name="ComponentHelp" type="StringType" required="false" visibility="nevershow" multi="true">
								<sci:value>100</sci:value>
								<sci:value>Builds subprotocols in Pipeline Pilot.</sci:value>
								<sci:value>Use a subprotocol to collapse one or more components into a single item. Open a subprotocol to view or edit its contents. 

To define input and output ports, right-click and select Edit. You can save subprotocols and reuse them. For more information, see the User Guide help for &lt;a href=&quot;javascript:DoLink(&apos;scihelpdocs/user/subprots/subprot_overview.htm &apos;)&quot;&gt;Subprotocols Overview&lt;/a&gt;.

Tip: Any component can be made into a shortcut, so that the latest version is always used. For more information, see &lt;a href=&quot;javascript:DoLink(&apos;scihelpdocs/user/subprots/shortcuts.htm &apos;)&quot;&gt;Creating Shortcuts&lt;/a&gt;.</sci:value>
								<sci:value>Generic Data</sci:value>
								<sci:value/>
								<sci:value>Generic Data</sci:value>
								<sci:value>Records passing out of any unconnected pass ports of components inside the subprotocol</sci:value>
								<sci:value>Generic Data</sci:value>
								<sci:value>Records passing out of any unconnected fail ports of components inside the subprotocol</sci:value>
							</sci:arg>
							<sci:arg name="RegistrationVersion" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The server version when this component was registered</sci:help>
								<sci:value>5.0.1.100</sci:value>
							</sci:arg>
							<sci:arg name="Component Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false"/>
							<sci:arg name="Protocol Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>Protocol Sticky Notes</sci:help>
							</sci:arg>
							<sci:arg name="Protocol Options" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>Protocol Options</sci:help>
								<sci:legalval>Make Shortcut by Default</sci:legalval>
								<sci:legalval>Owner Access Only</sci:legalval>
							</sci:arg>
							<sci:arg name="ComponentLocalID" type="LongType" required="false" visibility="nevershow" multi="false">
								<sci:help>Local Component Identifier</sci:help>
								<sci:value>15</sci:value>
							</sci:arg>
							<sci:arg name="ProtocolScale2" type="LongType" required="false" visibility="nevershow" multi="false">
								<sci:help>Protocol Scale</sci:help>
								<sci:value>75</sci:value>
							</sci:arg>
							<sci:arg name="Component Path" type="StringType" required="false" visibility="nevershow" multi="false">
								<sci:help>The original path within the database of this component.</sci:help>
								<sci:value>Components\Data Access and Manipulation\Utilities\Subprotocol Utilities\Subprotocol</sci:value>
							</sci:arg>
						</sci:component>
						<sci:protocol>
							<sci:data object="SciTegic.GroupData.1">
								<sci:component name="Group Data by Tag" version="2">
									<sci:arg name="GroupUsing" type="StringType" required="true" visibility="visible" multi="false">
										<sci:help>The name of a property that acts as a common key for those records to be grouped
</sci:help>
										<sci:value>cluster</sci:value>
									</sci:arg>
									<sci:arg name="GroupName" type="StringType" required="false" visibility="hidden" multi="false">
										<sci:help>If given, a new property called &quot;GroupName&quot; is created with this value. It can aid in unpacking only selected groups by name.
</sci:help>
										<sci:value>Data</sci:value>
									</sci:arg>
									<sci:arg name="GroupUsingListType" type="StringType" required="true" visibility="hidden" multi="false">
										<sci:help>Indicates how &quot;GroupUsing&quot; properties are interpreted when  more than one property is listed:
 
    - UseFirstDefinedValue: Group using only the first property in the list with a defined value for a record.
 
  - UseAllValues: Groups using the concatentation of the values of all properties listed; a match occurs only when records share the same value for all the properties.</sci:help>
										<sci:legalval>UseFirstDefinedValue</sci:legalval>
										<sci:legalval selected="true">UseAllValues</sci:legalval>
									</sci:arg>
									<sci:arg name="ComponentAttributes" type="StringType" required="false" visibility="hidden" multi="true">
										<sci:help>Component Attributes</sci:help>
										<sci:legalval selected="true">ComponentTakesInput</sci:legalval>
										<sci:legalval selected="true">ComponentReturnsPass</sci:legalval>
										<sci:legalval selected="true">ComponentReturnsFail</sci:legalval>
										<sci:legalval>ComponentRunsLocal</sci:legalval>
									</sci:arg>
									<sci:arg name="OnDataTypeError" type="StringType" required="true" visibility="hidden" multi="false">
										<sci:help>When an expected data type is not found during processing:  
  Halt: Terminate the execution of the network
  Fail: Continue execution of the network, passing data out the Fail(red) port
  Pass: Continue execution of the network, passing data out the Pass(green) port</sci:help>
										<sci:legalval selected="true">Halt</sci:legalval>
										<sci:legalval>Fail</sci:legalval>
										<sci:legalval>Pass</sci:legalval>
									</sci:arg>
									<sci:arg name="OnGeneralError" type="StringType" required="true" visibility="hidden" multi="false">
										<sci:help>When an recoverable error occurs during processing:  
  Halt: Terminate the execution of the network
  Fail: Continue execution of the network, passing data out the Fail(red) port
  Pass: Continue execution of the network, passing data out the Pass(green) port</sci:help>
										<sci:legalval selected="true">Halt</sci:legalval>
										<sci:legalval>Fail</sci:legalval>
										<sci:legalval>Pass</sci:legalval>
									</sci:arg>
									<sci:arg name="CustomErrorText" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>Custom Error Message</sci:help>
									</sci:arg>
									<sci:arg name="Registrant" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The user who registered this component.</sci:help>
										<sci:value>scitegic/core</sci:value>
									</sci:arg>
									<sci:arg name="RegistrationDate" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The date this component was registered.</sci:help>
										<sci:value>Wed Oct 12 13:59:03 2005</sci:value>
									</sci:arg>
									<sci:arg name="ComponentGUID" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>GUID</sci:help>
										<sci:value>{3FDE8197-D86F-4EB0-99FF-82D6430AF466}</sci:value>
									</sci:arg>
									<sci:arg name="ComponentComment" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>Comment</sci:help>
										<sci:value>Groups a series of data records with the same tag together onto a single property list.</sci:value>
									</sci:arg>
									<sci:arg name="ComponentDisplayName" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>Display Name</sci:help>
										<sci:value>Group Data by Tag</sci:value>
									</sci:arg>
									<sci:arg name="ComponentUsage" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>Component Usage</sci:help>
										<sci:value>Data records are grouped together for collective treatment downstream.  Each incoming data record becomes a single item on the newly generated property list being output.  *Note that the Ungroup_Data component can be used to unpack these lists with no loss of any data.

Input             - Data records
Output Pass  - Property list records containing the grouped data</sci:value>
									</sci:arg>
									<sci:arg name="ComponentIcon" type="StringType" required="true" visibility="nevershow" multi="false">
										<sci:help>Component Icon</sci:help>
										<sci:value>JoinNode</sci:value>
									</sci:arg>
									<sci:arg name="DerivedFrom" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The component this component is based upon.</sci:help>
										<sci:value>Group Data by Tag</sci:value>
									</sci:arg>
									<sci:arg name="ComponentDisabled" type="LongType" required="false" visibility="nevershow" multi="false">
										<sci:help>Disabled</sci:help>
										<sci:value>0</sci:value>
									</sci:arg>
									<sci:arg name="ComponentPoint" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>Component Point</sci:help>
										<sci:value>85 -50</sci:value>
									</sci:arg>
									<sci:arg name="ComponentHelp" type="StringType" required="false" visibility="nevershow" multi="true">
										<sci:help>Fancy Help</sci:help>
										<sci:value>100</sci:value>
										<sci:value>Groups all data records with the same tag together into a single record.</sci:value>
										<sci:value>&lt;p&gt;All data records with the same value for &lt;em&gt;GroupUsing&lt;/em&gt; are grouped 
  together for collective treatment downstream. Each resulting group of data records 
  is output as a single data record. &lt;/p&gt;
&lt;p&gt;The new root data record has three properties defined.  &lt;I&gt;GroupName&lt;/I&gt; contains
  the property name used to name the group node.  &lt;I&gt;NumberInGroup&lt;/I&gt; contains the 
  number of children records in the group.  Finally, a column named used the parameter
  value from &lt;I&gt;GroupUsing&lt;/I&gt; is defined, with the value of the property being the 
  value that all members of that group share. &lt;/P&gt;
&lt;p&gt;The original data records can be reconstituted by using the &lt;em&gt;Ungroup Data&lt;/em&gt; 
  component downstream. Any records lacking the &lt;em&gt;GroupByTag &lt;/em&gt;property are 
  output individually through the fail port. This component is often used to provide 
  input to a subprotocol for which &lt;em&gt;Run To Completion&lt;/em&gt; has been set to 
  &amp;quot;True&amp;quot;. By using the &lt;em&gt;Ungroup Data&lt;/em&gt; component as the first 
  element of the subprotocol, subsequent actions of the subprotocol act on all 
  the data in each group (for example, cluster) one group at a time. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;See Also: &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;javascript:DoLink(&apos;{57833F08-BD53-42AE-A14C-87EED61B8FBD}&apos;)&quot;&gt;Ungroup Data Component&lt;/a&gt;: Use it to unpack property lists without loss of data.&lt;/p&gt;</sci:value>
										<sci:value>Generic Data</sci:value>
										<sci:value/>
										<sci:value>Generic Data</sci:value>
										<sci:value>Data records, each containing a collection of grouped records stored in a hierarchy</sci:value>
										<sci:value>Generic Data</sci:value>
										<sci:value>Those input data records that lacked the GroupByTag property</sci:value>
									</sci:arg>
									<sci:arg name="RegistrationVersion" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The server version when this component was registered</sci:help>
										<sci:value>5.0.1.100</sci:value>
									</sci:arg>
									<sci:arg name="Component Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>Component Sticky Notes</sci:help>
									</sci:arg>
									<sci:arg name="Component Path" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>Location of the component in the database.</sci:help>
										<sci:value>Components\Generic\Manipulators\Group Data by Tag</sci:value>
									</sci:arg>
									<sci:arg name="ComponentRunTimeID" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>Runtime Identifier</sci:help>
										<sci:value>3:4:0</sci:value>
									</sci:arg>
									<sci:arg name="ComponentLocalID" type="LongType" required="false" visibility="nevershow" multi="false">
										<sci:help>Local Component Identifier</sci:help>
										<sci:value>0</sci:value>
									</sci:arg>
								</sci:component>
							</sci:data>
							<sci:data object="SciTegic.CountRecords.1">
								<sci:component name="Count and Index Data" version="2">
									<sci:arg name="Counter Property" type="StringType" required="true" visibility="visible" multi="false">
										<sci:help>The name of the property to hold the data record count. If the name begins with &quot;@&quot;, this is a global property name. Otherwise, it is considered a local property name.  
 - Globals are updated each time a data record is received.  
 - With local property names, the the property is added to each data record as they pass.

</sci:help>
										<sci:value>cluster_counter</sci:value>
									</sci:arg>
									<sci:arg name="Start Index" type="LongType" required="true" visibility="visible" multi="false">
										<sci:help>The index used to start the sequence</sci:help>
										<sci:value>1</sci:value>
									</sci:arg>
									<sci:arg name="Check if Property Already in Use" type="BoolType" required="true" visibility="hidden" multi="false">
										<sci:help>Generate an error if the property already exists. This helps prevent overwriting data created by another component. Default is &quot;True&quot;.
</sci:help>
										<sci:legalval selected="true">True</sci:legalval>
										<sci:legalval>False</sci:legalval>
									</sci:arg>
									<sci:arg name="ComponentAttributes" type="StringType" required="false" visibility="hidden" multi="true">
										<sci:help>Component Attributes</sci:help>
										<sci:legalval selected="true">ComponentTakesInput</sci:legalval>
										<sci:legalval selected="true">ComponentReturnsPass</sci:legalval>
										<sci:legalval>ComponentReturnsFail</sci:legalval>
										<sci:legalval>ComponentRunsLocal</sci:legalval>
									</sci:arg>
									<sci:arg name="OnDataTypeError" type="StringType" required="true" visibility="hidden" multi="false">
										<sci:help>When an expected data type is not found during processing:  
  Halt: Terminate the execution of the network
  Fail: Continue execution of the network, passing data out the Fail(red) port
  Pass: Continue execution of the network, passing data out the Pass(green) port</sci:help>
										<sci:legalval selected="true">Halt</sci:legalval>
										<sci:legalval>Fail</sci:legalval>
										<sci:legalval>Pass</sci:legalval>
									</sci:arg>
									<sci:arg name="OnGeneralError" type="StringType" required="true" visibility="hidden" multi="false">
										<sci:help>When an recoverable error occurs during processing:  
  Halt: Terminate the execution of the network
  Fail: Continue execution of the network, passing data out the Fail(red) port
  Pass: Continue execution of the network, passing data out the Pass(green) port</sci:help>
										<sci:legalval selected="true">Halt</sci:legalval>
										<sci:legalval>Fail</sci:legalval>
										<sci:legalval>Pass</sci:legalval>
									</sci:arg>
									<sci:arg name="CustomErrorText" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>Custom Error Message</sci:help>
									</sci:arg>
									<sci:arg name="Registrant" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The user who registered this component.</sci:help>
										<sci:value>scitegic/core</sci:value>
									</sci:arg>
									<sci:arg name="RegistrationDate" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The date this component was registered.</sci:help>
										<sci:value>Wed Oct 12 13:59:02 2005</sci:value>
									</sci:arg>
									<sci:arg name="ComponentGUID" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>GUID</sci:help>
										<sci:value>{7BF3D951-BF75-70A2-8B2C-AD8909791909}</sci:value>
									</sci:arg>
									<sci:arg name="ComponentDisplayName" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>Display Name</sci:help>
										<sci:value>Count and Index Data</sci:value>
									</sci:arg>
									<sci:arg name="ComponentIcon" type="StringType" required="true" visibility="nevershow" multi="false">
										<sci:help>Component Icon</sci:help>
										<sci:value>ComponentNode</sci:value>
									</sci:arg>
									<sci:arg name="DerivedFrom" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The component this component is based upon.</sci:help>
										<sci:value>Count and Index Data</sci:value>
									</sci:arg>
									<sci:arg name="ComponentDisabled" type="LongType" required="false" visibility="nevershow" multi="false">
										<sci:help>Disabled</sci:help>
										<sci:value>0</sci:value>
									</sci:arg>
									<sci:arg name="ComponentPoint" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>Component Point</sci:help>
										<sci:value>335 -50</sci:value>
									</sci:arg>
									<sci:arg name="ComponentHelp" type="StringType" required="false" visibility="nevershow" multi="true">
										<sci:help>Fancy Help</sci:help>
										<sci:value>100</sci:value>
										<sci:value>Counts the number of flowing data records.</sci:value>
										<sci:value>&lt;p&gt;A counter is incremented each time a new data record enters the component to 
  keep track of the total number. &lt;/p&gt;
&lt;p&gt;This component can operate in two modes:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;If &lt;I&gt;Counter Property&lt;/I&gt; is a local name (does not start with @), a new 
    property is created holding the current count on each data record that passes 
    through. &lt;/li&gt;
  &lt;li&gt;If &lt;I&gt;Counter Property&lt;/I&gt; is a global name (starts with @), then each data 
    record that passes through causes the global record count to be incremented, 
    (but values are not added to the passing records). This global value can be 
    accessed by other components at any time. &lt;/li&gt;
&lt;/ul&gt;</sci:value>
										<sci:value>Generic Data</sci:value>
										<sci:value/>
										<sci:value>Generic Data</sci:value>
										<sci:value/>
										<sci:value>None</sci:value>
										<sci:value/>
									</sci:arg>
									<sci:arg name="RegistrationVersion" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The server version when this component was registered</sci:help>
										<sci:value>5.0.1.100</sci:value>
									</sci:arg>
									<sci:arg name="Component Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>Component Sticky Notes</sci:help>
									</sci:arg>
									<sci:arg name="Component Path" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>Location of the component in the database.</sci:help>
										<sci:value>Components\Generic\Calculators\Count and Index Data</sci:value>
									</sci:arg>
									<sci:arg name="ComponentRunTimeID" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>Runtime Identifier</sci:help>
										<sci:value>3:4:1</sci:value>
									</sci:arg>
									<sci:arg name="ComponentLocalID" type="LongType" required="false" visibility="nevershow" multi="false">
										<sci:help>Local Component Identifier</sci:help>
										<sci:value>1</sci:value>
									</sci:arg>
								</sci:component>
							</sci:data>
							<sci:data object="SciTegic.Protocol.1">
								<sci:component name="Subprotocol" version="2">
									<sci:arg name="Tempfiles" type="StringType" required="false" visibility="hidden" multi="false" implbase="{17001C74-63CE-4B4B-B37C-F0EAA19CE4AA}">
										<sci:help>Temporary files converted by the network to true temporary filenames</sci:help>
									</sci:arg>
									<sci:arg name="DeclareLocal" type="StringType" required="false" visibility="hidden" multi="false" implbase="{17001C74-63CE-4B4B-B37C-F0EAA19CE4AA}">
										<sci:help>Lists a set of properties (without the @) to create on the property list for this protocol. Other properties are created on the global property list and are accessible from all protocols.</sci:help>
									</sci:arg>
									<sci:arg name="RunToCompletion" type="BoolType" required="false" visibility="hidden" multi="false" implbase="{17001C74-63CE-4B4B-B37C-F0EAA19CE4AA}">
										<sci:help>When the network runs, processes once or until done for each process call</sci:help>
										<sci:legalval selected="true">True</sci:legalval>
										<sci:legalval>False</sci:legalval>
									</sci:arg>
									<sci:arg name="ComponentAttributes" type="StringType" required="false" visibility="hidden" multi="true">
										<sci:help>Component Attributes</sci:help>
										<sci:legalval selected="true">ComponentTakesInput</sci:legalval>
										<sci:legalval selected="true">ComponentReturnsPass</sci:legalval>
										<sci:legalval>ComponentReturnsFail</sci:legalval>
										<sci:legalval>ComponentRunsLocal</sci:legalval>
									</sci:arg>
									<sci:arg name="OnDataTypeError" type="StringType" required="true" visibility="hidden" multi="false">
										<sci:help>When an expected data type is not found during processing:  
  Halt: Terminate the execution of the network
  Fail: Continue execution of the network, passing data out the Fail(red) port
  Pass: Continue execution of the network, passing data out the Pass(green) port</sci:help>
										<sci:legalval selected="true">Halt</sci:legalval>
										<sci:legalval>Fail</sci:legalval>
										<sci:legalval>Pass</sci:legalval>
									</sci:arg>
									<sci:arg name="OnGeneralError" type="StringType" required="true" visibility="hidden" multi="false">
										<sci:help>When an recoverable error occurs during processing:  
  Halt: Terminate the execution of the network
  Fail: Continue execution of the network, passing data out the Fail(red) port
  Pass: Continue execution of the network, passing data out the Pass(green) port</sci:help>
										<sci:legalval selected="true">Halt</sci:legalval>
										<sci:legalval>Fail</sci:legalval>
										<sci:legalval>Pass</sci:legalval>
									</sci:arg>
									<sci:arg name="CustomErrorText" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>Custom Error Message</sci:help>
									</sci:arg>
									<sci:arg name="Registrant" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The user who registered this component.</sci:help>
										<sci:value>scitegic/core</sci:value>
									</sci:arg>
									<sci:arg name="RegistrationDate" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The date this component was registered.</sci:help>
										<sci:value>Wed Oct 12 13:59:09 2005</sci:value>
									</sci:arg>
									<sci:arg name="ComponentGUID" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>GUID</sci:help>
										<sci:value>{17001C74-63CE-4B4B-B37C-F0EAA19CE4AA}</sci:value>
									</sci:arg>
									<sci:arg name="ComponentComment" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>Component Comment</sci:help>
										<sci:value>Defines a subprotocol in a pipeline. When you are creating a pipeline that requires a subprotocol as a component, drag this component into the pipeline, open it, and add components to it.</sci:value>
									</sci:arg>
									<sci:arg name="ComponentUsage" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>Component Usage</sci:help>
										<sci:value>When you are creating a pipeline which requires a subprotocol as 
a component, you can drag this SubProtocol component into the 
pipeline, open it, and add components into it.</sci:value>
									</sci:arg>
									<sci:arg name="ComponentDisplayName" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>Display Name</sci:help>
										<sci:value>Subprotocol</sci:value>
									</sci:arg>
									<sci:arg name="ProtocolAutoLayout" type="BoolType" required="false" visibility="nevershow" multi="false">
										<sci:help>Protocol AutoLayout</sci:help>
										<sci:value>1</sci:value>
									</sci:arg>
									<sci:arg name="ProtocolShowComment" type="BoolType" required="false" visibility="nevershow" multi="false">
										<sci:help>Protocol ShowComment</sci:help>
										<sci:value>true</sci:value>
									</sci:arg>
									<sci:arg name="ProtocolComment" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>Add Protocol Comment Here</sci:help>
										<sci:value>Add Protocol Comment Here</sci:value>
									</sci:arg>
									<sci:arg name="ComponentDisabled" type="LongType" required="false" visibility="nevershow" multi="false">
										<sci:help>Disabled</sci:help>
										<sci:value>0</sci:value>
									</sci:arg>
									<sci:arg name="ComponentIcon" type="StringType" required="true" visibility="nevershow" multi="false">
										<sci:help>Component Icon</sci:help>
										<sci:value>SubProtocolNode</sci:value>
									</sci:arg>
									<sci:arg name="ComponentRevision" type="LongType" required="true" visibility="nevershow" multi="false">
										<sci:help>Component Revision</sci:help>
										<sci:value>100</sci:value>
									</sci:arg>
									<sci:arg name="DerivedFrom" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The component this component is based upon.</sci:help>
										<sci:value>SubProtocol</sci:value>
									</sci:arg>
									<sci:arg name="ComponentPoint" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>Component Point</sci:help>
										<sci:value>560 -50</sci:value>
									</sci:arg>
									<sci:arg name="ProtocolScale" type="LongType" required="false" visibility="nevershow" multi="false">
										<sci:help>Protocol Scale</sci:help>
										<sci:value>1</sci:value>
									</sci:arg>
									<sci:arg name="ByReference" type="BoolType" required="false" visibility="nevershow" multi="false">
										<sci:help>By Ref</sci:help>
										<sci:value>0</sci:value>
									</sci:arg>
									<sci:arg name="ComponentHelp" type="StringType" required="false" visibility="nevershow" multi="true">
										<sci:help>Fancy Help</sci:help>
										<sci:value>100</sci:value>
										<sci:value>Builds subprotocols in Pipeline Pilot.</sci:value>
										<sci:value>Use a subprotocol to collapse one or more components into a single item. Open a subprotocol to view or edit its contents. 

To define input and output ports, right-click and select Edit. You can save subprotocols and reuse them. For more information, see the User Guide help for &lt;a href=&quot;javascript:DoLink(&apos;scihelpdocs/user/subprots/subprot_overview.htm &apos;)&quot;&gt;Subprotocols Overview&lt;/a&gt;.

Tip: Any component can be made into a shortcut, so that the latest version is always used. For more information, see &lt;a href=&quot;javascript:DoLink(&apos;scihelpdocs/user/subprots/shortcuts.htm &apos;)&quot;&gt;Creating Shortcuts&lt;/a&gt;.</sci:value>
										<sci:value>Generic Data</sci:value>
										<sci:value/>
										<sci:value>Generic Data</sci:value>
										<sci:value>Records passing out of any unconnected pass ports of components inside the subprotocol</sci:value>
										<sci:value>None</sci:value>
										<sci:value>Records passing out of any unconnected fail ports of components inside the subprotocol</sci:value>
									</sci:arg>
									<sci:arg name="RegistrationVersion" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>The server version when this component was registered</sci:help>
										<sci:value>5.0.1.100</sci:value>
									</sci:arg>
									<sci:arg name="Component Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>Component Sticky Notes</sci:help>
									</sci:arg>
									<sci:arg name="Protocol Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>Protocol Sticky Notes</sci:help>
									</sci:arg>
									<sci:arg name="Component Path" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>Location of the component in the database.</sci:help>
										<sci:value>Components\Generic\Utilities\SubProtocol Utilities\Subprotocol</sci:value>
									</sci:arg>
									<sci:arg name="ComponentRunTimeID" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>Runtime Identifier</sci:help>
										<sci:value>3:4:2</sci:value>
									</sci:arg>
									<sci:arg name="Protocol Options" type="StringType" required="false" visibility="nevershow" multi="false">
										<sci:help>Protocol Options</sci:help>
										<sci:legalval>Make Shortcut by Default</sci:legalval>
										<sci:legalval>Owner Access Only</sci:legalval>
									</sci:arg>
									<sci:arg name="ComponentLocalID" type="LongType" required="false" visibility="nevershow" multi="false">
										<sci:help>Local Component Identifier</sci:help>
										<sci:value>2</sci:value>
									</sci:arg>
								</sci:component>
								<sci:protocol>
									<sci:data object="SciTegic.EvaluateExpression.1">
										<sci:component name="Custom Manipulator (PilotScript)" version="2">
											<sci:arg name="Initial Expression" type="ExpressionType" required="false" visibility="hidden" multi="false" implbase="{0995D675-7EE2-432C-95DF-E91C14052B22}">
												<sci:help>This expression is executed only the first time data passes into the component. (Since there is no data available at initialization time, only expressions referencing global properties are allowed.)</sci:help>
											</sci:arg>
											<sci:arg name="Expression" type="ExpressionType" required="true" visibility="visible" multi="false" implbase="{0995D675-7EE2-432C-95DF-E91C14052B22}">
												<sci:help>Expression (or list of expressions separated by semi-colons) to evaluate</sci:help>
												<sci:value>@cluster:=cluster_counter;</sci:value>
											</sci:arg>
											<sci:arg name="Final Expression" type="ExpressionType" required="false" visibility="hidden" multi="false" implbase="{0995D675-7EE2-432C-95DF-E91C14052B22}">
												<sci:help>This expression is executed only at finalization (after the last data passes out of the component). 
 (Since there is no data available at finalization time, only expressions referencing global properties are allowed.)</sci:help>
											</sci:arg>
											<sci:arg name="Keep Calculated Properties" type="BoolType" required="true" visibility="hidden" multi="false">
												<sci:help>Adds any properties calculated in this component to a molecule&apos;s property list</sci:help>
												<sci:legalval selected="true">True</sci:legalval>
												<sci:legalval>False</sci:legalval>
											</sci:arg>
											<sci:arg name="ComponentAttributes" type="StringType" required="false" visibility="hidden" multi="true">
												<sci:help>Component Attributes</sci:help>
												<sci:legalval selected="true">ComponentTakesInput</sci:legalval>
												<sci:legalval selected="true">ComponentReturnsPass</sci:legalval>
												<sci:legalval>ComponentReturnsFail</sci:legalval>
												<sci:legalval>ComponentRunsLocal</sci:legalval>
											</sci:arg>
											<sci:arg name="OnDataTypeError" type="StringType" required="true" visibility="hidden" multi="false">
												<sci:help>When an expected data type is not found during processing:  
  Halt: Terminate the execution of the network
  Fail: Continue execution of the network, passing data out the Fail(red) port
  Pass: Continue execution of the network, passing data out the Pass(green) port</sci:help>
												<sci:legalval selected="true">Halt</sci:legalval>
												<sci:legalval>Fail</sci:legalval>
												<sci:legalval>Pass</sci:legalval>
											</sci:arg>
											<sci:arg name="OnGeneralError" type="StringType" required="true" visibility="hidden" multi="false">
												<sci:help>When an recoverable error occurs during processing:  
  Halt: Terminate the execution of the network
  Fail: Continue execution of the network, passing data out the Fail(red) port
  Pass: Continue execution of the network, passing data out the Pass(green) port</sci:help>
												<sci:legalval selected="true">Halt</sci:legalval>
												<sci:legalval>Fail</sci:legalval>
												<sci:legalval>Pass</sci:legalval>
											</sci:arg>
											<sci:arg name="CustomErrorText" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>Custom Error Message</sci:help>
											</sci:arg>
											<sci:arg name="Do Screen" type="BoolType" required="false" visibility="nevershow" multi="false" implbase="{0995D675-7EE2-432C-95DF-E91C14052B22}">
												<sci:help>When TRUE, controls which exit port is used for
each data record by evaluating the final expression
(or only one) listed in the &quot;Expression&quot; parameter.
   -Pass (green) port when expression true
   -Fail (red) port when expression false</sci:help>
												<sci:legalval>True</sci:legalval>
												<sci:legalval selected="true">False</sci:legalval>
											</sci:arg>
											<sci:arg name="ExpressionVersion" type="LongType" required="false" visibility="nevershow" multi="false" implbase="{0995D675-7EE2-432C-95DF-E91C14052B22}">
												<sci:help>Version of expression parser to use.</sci:help>
												<sci:value>2</sci:value>
											</sci:arg>
											<sci:arg name="ComponentComment" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>Comment</sci:help>
												<sci:value>Processes commands expressed in PilotScript syntax to apply rapid
manipulations to data record properties. In this way, the component may be
customized to build a new, specialized data manipulation component.</sci:value>
											</sci:arg>
											<sci:arg name="Registrant" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>The user who registered this component.</sci:help>
												<sci:value>scitegic/core</sci:value>
											</sci:arg>
											<sci:arg name="RegistrationDate" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>The date this component was registered.</sci:help>
												<sci:value>Wed Oct 12 13:59:03 2005</sci:value>
											</sci:arg>
											<sci:arg name="ComponentUsage" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>Component Usage</sci:help>
												<sci:value>The &apos;Expression&apos;  is evaluated for each data record, and may alter and manipulate the properties of the data objects. The &apos;Initial expression&apos; is evaluated the first time data passes into the component and is typically used for initializing global variables. See the online documentation for full details of PilotScript expression syntax.

Input             - Data records
Output Pass  - All Data records</sci:value>
											</sci:arg>
											<sci:arg name="ComponentDisplayName" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>Display Name</sci:help>
												<sci:value>Custom Manipulator (PilotScript)</sci:value>
											</sci:arg>
											<sci:arg name="DerivedFrom" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>The component this component is based upon.</sci:help>
												<sci:value>Custom Manipulator (PilotScript)</sci:value>
											</sci:arg>
											<sci:arg name="ComponentRunTimeID" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>Component RunTimeID</sci:help>
												<sci:value>3:4:2:0</sci:value>
											</sci:arg>
											<sci:arg name="ComponentIcon" type="StringType" required="true" visibility="nevershow" multi="false">
												<sci:help>Component Icon</sci:help>
												<sci:value>ExpressionNode</sci:value>
											</sci:arg>
											<sci:arg name="ComponentDisabled" type="LongType" required="false" visibility="nevershow" multi="false">
												<sci:help>Disabled</sci:help>
												<sci:value>0</sci:value>
											</sci:arg>
											<sci:arg name="ComponentGUID" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>GUID</sci:help>
												<sci:value>{0995D675-7EE2-432C-95DF-E91C14052B22}</sci:value>
											</sci:arg>
											<sci:arg name="ComponentPoint" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>Component Point</sci:help>
												<sci:value>85 -50</sci:value>
											</sci:arg>
											<sci:arg name="ComponentHelp" type="StringType" required="false" visibility="nevershow" multi="true">
												<sci:help>Fancy Help</sci:help>
												<sci:value>100</sci:value>
												<sci:value>Executes PilotScript to modify data records.</sci:value>
												<sci:value>Executes custom PilotScript expression(s) for every data record that enters the component. Use this component to build new, specialized data manipulation components.

&lt;i&gt;Expression&lt;/i&gt; is evaluated for each data record and may alter the properties of the data objects. 

&lt;i&gt;Initial expression &lt;/i&gt; is evaluated the first time data passes into the component and is typically used for initializing global variables. 

&lt;p&gt;&lt;b&gt;See Also:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;For more information, go to &lt;a href=&quot;javascript:DoLink(&apos;scihelpdocs/user/pscript/pscript_overview.htm&apos;)&quot;&gt;PilotScript Overview&lt;/a&gt;.&lt;/p&gt;
 
</sci:value>
												<sci:value>Generic Data</sci:value>
												<sci:value/>
												<sci:value>Generic Data</sci:value>
												<sci:value/>
												<sci:value>None</sci:value>
												<sci:value/>
											</sci:arg>
											<sci:arg name="RegistrationVersion" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>The server version when this component was registered</sci:help>
												<sci:value>5.0.1.100</sci:value>
											</sci:arg>
											<sci:arg name="Component Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>Component Sticky Notes</sci:help>
											</sci:arg>
											<sci:arg name="Component Path" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>Location of the component in the database.</sci:help>
												<sci:value>Components\Generic\Manipulators\Custom Manipulator (PilotScript)</sci:value>
											</sci:arg>
											<sci:arg name="ComponentLocalID" type="LongType" required="false" visibility="nevershow" multi="false">
												<sci:help>Local Component Identifier</sci:help>
												<sci:value>0</sci:value>
											</sci:arg>
										</sci:component>
									</sci:data>
									<sci:data object="SciTegic.UngroupData.1">
										<sci:component name="Ungroup Data" version="2">
											<sci:arg name="GroupName" type="StringType" required="false" visibility="hidden" multi="false">
												<sci:help>(Optional) Restricts the ungroup process to only those groups having the given name -- the same name as specified by the &quot;Group Data&quot; component</sci:help>
												<sci:value>Data</sci:value>
											</sci:arg>
											<sci:arg name="ComponentAttributes" type="StringType" required="false" visibility="hidden" multi="true">
												<sci:help>Component Attributes</sci:help>
												<sci:legalval selected="true">ComponentTakesInput</sci:legalval>
												<sci:legalval selected="true">ComponentReturnsPass</sci:legalval>
												<sci:legalval>ComponentReturnsFail</sci:legalval>
												<sci:legalval>ComponentRunsLocal</sci:legalval>
											</sci:arg>
											<sci:arg name="OnDataTypeError" type="StringType" required="true" visibility="hidden" multi="false">
												<sci:help>When an expected data type is not found during processing:  
  Halt: Terminate the execution of the network
  Fail: Continue execution of the network, passing data out the Fail(red) port
  Pass: Continue execution of the network, passing data out the Pass(green) port</sci:help>
												<sci:legalval selected="true">Halt</sci:legalval>
												<sci:legalval>Fail</sci:legalval>
												<sci:legalval>Pass</sci:legalval>
											</sci:arg>
											<sci:arg name="OnGeneralError" type="StringType" required="true" visibility="hidden" multi="false">
												<sci:help>When an recoverable error occurs during processing:  
  Halt: Terminate the execution of the network
  Fail: Continue execution of the network, passing data out the Fail(red) port
  Pass: Continue execution of the network, passing data out the Pass(green) port</sci:help>
												<sci:legalval selected="true">Halt</sci:legalval>
												<sci:legalval>Fail</sci:legalval>
												<sci:legalval>Pass</sci:legalval>
											</sci:arg>
											<sci:arg name="CustomErrorText" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>Custom Error Message</sci:help>
											</sci:arg>
											<sci:arg name="ComponentComment" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>Comment</sci:help>
												<sci:value>Un-groups multiple data records previously &quot;grouped&quot; onto a group node</sci:value>
											</sci:arg>
											<sci:arg name="Registrant" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>The user who registered this component.</sci:help>
												<sci:value>scitegic/core</sci:value>
											</sci:arg>
											<sci:arg name="RegistrationDate" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>The date this component was registered.</sci:help>
												<sci:value>Wed Oct 12 13:59:03 2005</sci:value>
											</sci:arg>
											<sci:arg name="ComponentUsage" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>Component Usage</sci:help>
												<sci:value>Individual data records are created from the specified property (PropertyName) on the incoming data (containing previously grouped data).  The incoming property list containing the groups is discarded, and each ungrouped data item is individually returned in sequence.

Input             - Property list data records (containing grouped data)
Output Pass  - Data records (the original data records before grouping)</sci:value>
											</sci:arg>
											<sci:arg name="ComponentDisplayName" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>Display Name</sci:help>
												<sci:value>Ungroup Data</sci:value>
											</sci:arg>
											<sci:arg name="ComponentIcon" type="StringType" required="true" visibility="nevershow" multi="false">
												<sci:help>Component Icon</sci:help>
												<sci:value>GeneratorNode</sci:value>
											</sci:arg>
											<sci:arg name="DerivedFrom" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>The component this component is based upon.</sci:help>
												<sci:value>Ungroup Data</sci:value>
											</sci:arg>
											<sci:arg name="ComponentGUID" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>GUID</sci:help>
												<sci:value>{57833F08-BD53-42AE-A14C-87EED61B8FBD}</sci:value>
											</sci:arg>
											<sci:arg name="ComponentPoint" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>Component Point</sci:help>
												<sci:value>310 -50</sci:value>
											</sci:arg>
											<sci:arg name="ComponentDisabled" type="LongType" required="false" visibility="nevershow" multi="false">
												<sci:help>Disabled</sci:help>
												<sci:value>0</sci:value>
											</sci:arg>
											<sci:arg name="ComponentHelp" type="StringType" required="false" visibility="nevershow" multi="true">
												<sci:help>Fancy Help</sci:help>
												<sci:value>100</sci:value>
												<sci:value>Extracts the individual data records previously &quot;grouped&quot; together.</sci:value>
												<sci:value>Incoming data records containing a hierarchical group of records are separated into the original records and output individually.</sci:value>
												<sci:value>Generic Data</sci:value>
												<sci:value>Data records with a hierarchical group of other data records</sci:value>
												<sci:value>Generic Data</sci:value>
												<sci:value>The individual data records that were contained within a hierarchical group of the incoming data</sci:value>
												<sci:value>None</sci:value>
												<sci:value/>
											</sci:arg>
											<sci:arg name="RegistrationVersion" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>The server version when this component was registered</sci:help>
												<sci:value>5.0.1.100</sci:value>
											</sci:arg>
											<sci:arg name="Component Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>Component Sticky Notes</sci:help>
											</sci:arg>
											<sci:arg name="Component Path" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>Location of the component in the database.</sci:help>
												<sci:value>Components\Generic\Manipulators\Ungroup Data</sci:value>
											</sci:arg>
											<sci:arg name="ComponentRunTimeID" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>Runtime Identifier</sci:help>
												<sci:value>3:4:2:1</sci:value>
											</sci:arg>
											<sci:arg name="ComponentLocalID" type="LongType" required="false" visibility="nevershow" multi="false">
												<sci:help>Local Component Identifier</sci:help>
												<sci:value>1</sci:value>
											</sci:arg>
										</sci:component>
									</sci:data>
									<sci:data object="SciTegic.EvaluateExpression.1">
										<sci:component name="Custom Manipulator (PilotScript)" version="2">
											<sci:arg name="Initial Expression" type="ExpressionType" required="false" visibility="hidden" multi="false" implbase="{0995D675-7EE2-432C-95DF-E91C14052B22}">
												<sci:help>This expression is executed only the first time data passes into the component. (Since there is no data available at initialization time, only expressions referencing global properties are allowed.)</sci:help>
											</sci:arg>
											<sci:arg name="Expression" type="ExpressionType" required="true" visibility="visible" multi="false" implbase="{0995D675-7EE2-432C-95DF-E91C14052B22}">
												<sci:help>Expression (or list of expressions separated by semi-colons) to evaluate</sci:help>
												<sci:value>cluster:=@cluster;</sci:value>
											</sci:arg>
											<sci:arg name="Final Expression" type="ExpressionType" required="false" visibility="hidden" multi="false" implbase="{0995D675-7EE2-432C-95DF-E91C14052B22}">
												<sci:help>This expression is executed only at finalization (after the last data passes out of the component). 
 (Since there is no data available at finalization time, only expressions referencing global properties are allowed.)</sci:help>
											</sci:arg>
											<sci:arg name="Keep Calculated Properties" type="BoolType" required="true" visibility="hidden" multi="false">
												<sci:help>Adds any properties calculated in this component to a molecule&apos;s property list</sci:help>
												<sci:legalval selected="true">True</sci:legalval>
												<sci:legalval>False</sci:legalval>
											</sci:arg>
											<sci:arg name="ComponentAttributes" type="StringType" required="false" visibility="hidden" multi="true">
												<sci:help>Component Attributes</sci:help>
												<sci:legalval selected="true">ComponentTakesInput</sci:legalval>
												<sci:legalval selected="true">ComponentReturnsPass</sci:legalval>
												<sci:legalval>ComponentReturnsFail</sci:legalval>
												<sci:legalval>ComponentRunsLocal</sci:legalval>
											</sci:arg>
											<sci:arg name="OnDataTypeError" type="StringType" required="true" visibility="hidden" multi="false">
												<sci:help>When an expected data type is not found during processing:  
  Halt: Terminate the execution of the network
  Fail: Continue execution of the network, passing data out the Fail(red) port
  Pass: Continue execution of the network, passing data out the Pass(green) port</sci:help>
												<sci:legalval selected="true">Halt</sci:legalval>
												<sci:legalval>Fail</sci:legalval>
												<sci:legalval>Pass</sci:legalval>
											</sci:arg>
											<sci:arg name="OnGeneralError" type="StringType" required="true" visibility="hidden" multi="false">
												<sci:help>When an recoverable error occurs during processing:  
  Halt: Terminate the execution of the network
  Fail: Continue execution of the network, passing data out the Fail(red) port
  Pass: Continue execution of the network, passing data out the Pass(green) port</sci:help>
												<sci:legalval selected="true">Halt</sci:legalval>
												<sci:legalval>Fail</sci:legalval>
												<sci:legalval>Pass</sci:legalval>
											</sci:arg>
											<sci:arg name="CustomErrorText" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>Custom Error Message</sci:help>
											</sci:arg>
											<sci:arg name="Do Screen" type="BoolType" required="false" visibility="nevershow" multi="false" implbase="{0995D675-7EE2-432C-95DF-E91C14052B22}">
												<sci:help>When TRUE, controls which exit port is used for
each data record by evaluating the final expression
(or only one) listed in the &quot;Expression&quot; parameter.
   -Pass (green) port when expression true
   -Fail (red) port when expression false</sci:help>
												<sci:legalval>True</sci:legalval>
												<sci:legalval selected="true">False</sci:legalval>
											</sci:arg>
											<sci:arg name="ExpressionVersion" type="LongType" required="false" visibility="nevershow" multi="false" implbase="{0995D675-7EE2-432C-95DF-E91C14052B22}">
												<sci:help>Version of expression parser to use.</sci:help>
												<sci:value>2</sci:value>
											</sci:arg>
											<sci:arg name="ComponentComment" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>Comment</sci:help>
												<sci:value>Processes commands expressed in PilotScript syntax to apply rapid
manipulations to data record properties. In this way, the component may be
customized to build a new, specialized data manipulation component.</sci:value>
											</sci:arg>
											<sci:arg name="Registrant" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>The user who registered this component.</sci:help>
												<sci:value>scitegic/core</sci:value>
											</sci:arg>
											<sci:arg name="RegistrationDate" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>The date this component was registered.</sci:help>
												<sci:value>Wed Oct 12 13:59:03 2005</sci:value>
											</sci:arg>
											<sci:arg name="ComponentUsage" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>Component Usage</sci:help>
												<sci:value>The &apos;Expression&apos;  is evaluated for each data record, and may alter and manipulate the properties of the data objects. The &apos;Initial expression&apos; is evaluated the first time data passes into the component and is typically used for initializing global variables. See the online documentation for full details of PilotScript expression syntax.

Input             - Data records
Output Pass  - All Data records</sci:value>
											</sci:arg>
											<sci:arg name="ComponentDisplayName" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>Display Name</sci:help>
												<sci:value>Custom Manipulator (PilotScript)</sci:value>
											</sci:arg>
											<sci:arg name="DerivedFrom" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>The component this component is based upon.</sci:help>
												<sci:value>Custom Manipulator (PilotScript)</sci:value>
											</sci:arg>
											<sci:arg name="ComponentRunTimeID" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>Component RunTimeID</sci:help>
												<sci:value>3:4:2:2</sci:value>
											</sci:arg>
											<sci:arg name="ComponentIcon" type="StringType" required="true" visibility="nevershow" multi="false">
												<sci:help>Component Icon</sci:help>
												<sci:value>ExpressionNode</sci:value>
											</sci:arg>
											<sci:arg name="ComponentDisabled" type="LongType" required="false" visibility="nevershow" multi="false">
												<sci:help>Disabled</sci:help>
												<sci:value>0</sci:value>
											</sci:arg>
											<sci:arg name="ComponentGUID" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>GUID</sci:help>
												<sci:value>{0995D675-7EE2-432C-95DF-E91C14052B22}</sci:value>
											</sci:arg>
											<sci:arg name="ComponentPoint" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>Component Point</sci:help>
												<sci:value>535 -50</sci:value>
											</sci:arg>
											<sci:arg name="ComponentHelp" type="StringType" required="false" visibility="nevershow" multi="true">
												<sci:help>Fancy Help</sci:help>
												<sci:value>100</sci:value>
												<sci:value>Executes PilotScript to modify data records.</sci:value>
												<sci:value>Executes custom PilotScript expression(s) for every data record that enters the component. Use this component to build new, specialized data manipulation components.

&lt;i&gt;Expression&lt;/i&gt; is evaluated for each data record and may alter the properties of the data objects. 

&lt;i&gt;Initial expression &lt;/i&gt; is evaluated the first time data passes into the component and is typically used for initializing global variables. 

&lt;p&gt;&lt;b&gt;See Also:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;For more information, go to &lt;a href=&quot;javascript:DoLink(&apos;scihelpdocs/user/pscript/pscript_overview.htm&apos;)&quot;&gt;PilotScript Overview&lt;/a&gt;.&lt;/p&gt;
 
</sci:value>
												<sci:value>Generic Data</sci:value>
												<sci:value/>
												<sci:value>Generic Data</sci:value>
												<sci:value/>
												<sci:value>None</sci:value>
												<sci:value/>
											</sci:arg>
											<sci:arg name="RegistrationVersion" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>The server version when this component was registered</sci:help>
												<sci:value>5.0.1.100</sci:value>
											</sci:arg>
											<sci:arg name="Component Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>Component Sticky Notes</sci:help>
											</sci:arg>
											<sci:arg name="Component Path" type="StringType" required="false" visibility="nevershow" multi="false">
												<sci:help>Location of the component in the database.</sci:help>
												<sci:value>Components\Generic\Manipulators\Custom Manipulator (PilotScript)</sci:value>
											</sci:arg>
											<sci:arg name="ComponentLocalID" type="LongType" required="false" visibility="nevershow" multi="false">
												<sci:help>Local Component Identifier</sci:help>
												<sci:value>2</sci:value>
											</sci:arg>
										</sci:component>
									</sci:data>
									<sci:connectid from="0" to="1" type="true"/>
									<sci:connectid from="1" to="2" type="true"/>
								</sci:protocol>
							</sci:data>
							<sci:connectid from="0" to="1" type="true"/>
							<sci:connectid from="1" to="2" type="true"/>
							<sci:version iVal="1"/>
						</sci:protocol>
					</sci:data>
					<sci:connectid from="0" to="1" type="true"/>
					<sci:connectid from="1" to="2" type="true"/>
					<sci:connectid from="2" to="3" type="true"/>
					<sci:connectid from="3" to="4" type="true"/>
					<sci:connectid from="4" to="5" type="true"/>
					<sci:connectid from="5" to="6" type="true"/>
					<sci:connectid from="7" to="8" type="true"/>
					<sci:connectid from="8" to="9" type="true"/>
					<sci:connectid from="9" to="16" type="true"/>
					<sci:connectid from="16" to="11" type="true"/>
					<sci:connectid from="11" to="12" type="true"/>
					<sci:connectid from="12" to="13" type="true"/>
					<sci:connectid from="13" to="14" type="true"/>
					<sci:connectid from="14" to="15" type="true"/>
				</sci:protocol>
			</sci:data>
			<sci:data object="SciTegic.Protocol.1">
				<sci:component name="Set Property Value" version="2">
					<sci:arg name="Property Name" type="PropertyNameType" required="true" visibility="visible" multi="false">
						<sci:help>The name of the property</sci:help>
						<sci:value>druglike</sci:value>
					</sci:arg>
					<sci:arg name="Value" type="StringType" required="true" visibility="visible" multi="false">
						<sci:help>The value to assign.

If you want to assign from an existing data property or global property, use the &lt;i&gt;Initialize Using...&lt;/i&gt; operation on the parameter.</sci:help>
						<sci:value>no</sci:value>
					</sci:arg>
					<sci:arg name="RunToCompletion" type="StringType" required="false" visibility="visible" multi="false" uimpl="false">
						<sci:help>When &lt;i&gt;RunToCompletion&lt;/i&gt; is set to &quot;True - For Each Data Record&quot;, the subprotocol is re-initialized and executed in its entirety for each individual data record it processes.
&lt;p&gt;
When set to &quot;True - For Each Category&quot;, the data records are divided into categories based on the value of the Categorize Using parameter and then the subprotocol is re-initialized and executed in its entirety for each category of data records. When used in conjunction with &lt;i&gt;Parallel Processing Options&lt;/i&gt;, each category of data records will be sent to the remote server as part of one single batch.</sci:help>
						<sci:member>RunToCompletion Categorize Using</sci:member>
						<sci:legalval selected="true">False</sci:legalval>
						<sci:legalval>True - For Each Data Record</sci:legalval>
						<sci:legalval>True - For Each Category</sci:legalval>
					</sci:arg>
					<sci:arg name="RunToCompletion Categorize Using" type="StringType" required="false" visibility="visible" multi="false" uimpl="false">
						<sci:help>Required when RunToCompletion is set to &lt;i&gt;True - For Each Category&lt;/i&gt;, this parameter specifies the property or properties used to define the categories.</sci:help>
						<sci:validscript>SetInvalidDetails(&apos;This parameter is required when RunToCompletion is set to True - For Each Category&apos;);
Parameter() ne &apos;&apos;;</sci:validscript>
						<sci:enabledscript>SetDisabledDetails(&apos;To Enable, Set RunToCompletion to True - For Each Category&apos;);
Parameter(&apos;RunToCompletion&apos;) eq &apos;True - For Each Category&apos;;</sci:enabledscript>
					</sci:arg>
					<sci:arg name="Parallel Processing Options" type="BoolType" required="false" visibility="visible" multi="false" uimpl="false">
						<sci:help>&lt;p&gt;
When set to True, this set of options allows the subprotocol to execute in parallel on one or more independent Pipeline Pilot servers, running locally or remotely.  Additional parameters control the number of data records to send in each process batch, the list of Pipeline Pilot servers to use, the number of protocol processes that can be executed on each server, and whether to preserve the order of the processed data records.
&lt;/p&gt;&lt;p&gt;
Use this option with care, since it will not increase throughput in all circumstances. Generally speaking, it yields improved performance when the parallelization benefits outweigh the data transfer overhead for the specified batch size.  As a rough guide, performance can be improved when each individual batch requires at least 10 seconds to execute, although this can be affected by the size of each data record.
&lt;/p&gt;&lt;p&gt;
When running the protocol with debugging, the subprotocol will provide debugging messages to detail each of the various steps of execution.  Also, components located within the parallel subprotocol will display their debugging messages as well.
&lt;/p&gt;&lt;p&gt;
For more information on the parallel subprotocol options, see &lt;a href=&quot;javascript:DoLink(&apos;scihelpdocs/user/subprots/subprot_parallel_processing.htm&apos;)&quot;&gt;Parallel Processing Subprotocols&lt;/a&gt;.
&lt;/p&gt;
</sci:help>
						<sci:member>Parallel Processing Options Batch Size</sci:member>
						<sci:member>Parallel Processing Options Server</sci:member>
						<sci:member>Parallel Processing Options Preserve Order</sci:member>
						<sci:legalval>True</sci:legalval>
						<sci:legalval selected="true">False</sci:legalval>
					</sci:arg>
					<sci:arg name="Parallel Processing Options Batch Size" type="LongType" required="true" visibility="visible" multi="false" uimpl="false">
						<sci:help>&lt;p&gt;The number of records to send to the remote server(s) for each subprotocol execution.  In general, performance is optimized when the amount of time required to process each batch is at least 10 seconds (note that this can vary depending on the characteristics of the remote server&apos;s hardware).  Use a batch size of -1 to pass all data in a single batch.&lt;/p&gt;
&lt;p&gt;When &lt;i&gt;RunToCompletion&lt;/i&gt; is set to &quot;True - for each category&quot;, the batch sizes will be determined by the number of records in each individual category.  Therefore, the &lt;i&gt;Batch Size&lt;/i&gt; parameter is not applicable.</sci:help>
						<sci:enabledscript>#parallel := Parameter(&apos;Parallel Processing Options&apos;);
if (not #parallel) then
	SetDisabledDetails(&quot;This parameter is only applicable if &apos;Parallel Processing Options&apos; is &apos;True&apos;&quot;);
end if;
#parallel;</sci:enabledscript>
					</sci:arg>
					<sci:arg name="Parallel Processing Options Server" type="StringType" required="false" visibility="visible" multi="true" expanded="true" legalvalsenforced="false" uimpl="false">
						<sci:help>&lt;p&gt;
A comma-separated list of Pipeline Pilot servers on which to execute the parallel subprotocol.  The server names should be in the same format as the Pipeline Pilot Client&apos;s change server dialog (that is, server-name:port-number).
&lt;/p&gt;&lt;p&gt;
Specifying &lt;b&gt;localhost&lt;/b&gt; as a server will cause the subprotocol to use its own Pipeline Pilot server.  This can be useful on multi-CPU/multi-core systems (where the subprotocol jobs are spawned on the same machine) and Pipeline Pilot Linux clusters (where &apos;localhost&apos; requests spawning the subprotocol jobs on the same cluster).
&lt;/p&gt;</sci:help>
						<sci:member>Parallel Processing Options Server Processes</sci:member>
						<sci:member>Parallel Processing Options Server Run On Grid</sci:member>
						<sci:validscript>SetInvalidDetails(&apos;This parameter is required.&apos;);
Parameter() ne &apos;&apos;;</sci:validscript>
						<sci:enabledscript>SetDisabledDetails(&quot;This parameter is only applicable if &apos;Parallel Processing Options&apos; is &apos;True&apos;&quot;);
Parameter(&apos;Parallel Processing Options&apos;);</sci:enabledscript>
					</sci:arg>
					<sci:arg name="Parallel Processing Options Server Processes" type="StringType" required="false" visibility="visible" multi="false" uimpl="false">
						<sci:help>A comma-separated list of the maximum number of batches that can be simultaneously executed on each remote server.  The number of entries in this parameter must equal the number of servers. If &apos;*&apos; is specified as the number of processes, then that server will only launch as many batches as the administrator of the remote server has permitted.</sci:help>
						<sci:validscript>/* Server Processes must have the same number of comma separated entries as the Server parameter and must have a value*/
#processes := parameter();
expand(&apos;,&apos;, #processes);
#servers := parameter(&apos;Parallel Processing Options Server&apos;);
expand(&apos;,&apos;, #servers);

if (numvalues(#processes) == 0) then
	SetInvalidDetails(&apos;This parameter is required.&apos;);
else
	SetInvalidDetails(&apos;The number of server processes (&apos; . numvalues(#processes) . &apos;) must equal the number of servers (&apos; . numvalues(#servers) . &apos;).&apos;);
end if;
numvalues(#processes) &gt; 0 and numvalues(#processes) == numvalues(#servers);</sci:validscript>
						<sci:enabledscript>SetDisabledDetails(&quot;This parameter is only applicable if &apos;Parallel Processing Options&apos; is &apos;True&apos;&quot;);
Parameter(&apos;Parallel Processing Options&apos;);</sci:enabledscript>
					</sci:arg>
					<sci:arg name="Parallel Processing Options Server Run On Grid" type="BoolType" required="false" visibility="visible" multi="false" uimpl="false">
						<sci:help>Run subprotocol on grid engine if available.</sci:help>
						<sci:member>Parallel Processing Options Server Run On Grid Queue Name</sci:member>
						<sci:member>Parallel Processing Options Server Run On Grid Grid Options</sci:member>
						<sci:enabledscript>parameter(&apos;Parallel Processing Options&apos;);</sci:enabledscript>
						<sci:legalval selected="true">True</sci:legalval>
						<sci:legalval>False</sci:legalval>
					</sci:arg>
					<sci:arg name="Parallel Processing Options Server Run On Grid Queue Name" type="StringType" required="false" visibility="visible" multi="false" legalvalsenforced="false" uimpl="false">
						<sci:help>Select the queue name on the grid to submit jobs to. Leave blank to use default queue name.</sci:help>
						<sci:enabledscript>parameter(&apos;Parallel Processing Options Server Run On Grid&apos;);</sci:enabledscript>
					</sci:arg>
					<sci:arg name="Parallel Processing Options Server Run On Grid Grid Options" type="StringType" required="false" visibility="visible" multi="false" uimpl="false">
						<sci:help>Use this to specify grid engine specific command line parameters to the job submission command. Leave blank to use defaults.</sci:help>
						<sci:enabledscript>parameter(&apos;Parallel Processing Options Server Run On Grid&apos;);</sci:enabledscript>
					</sci:arg>
					<sci:arg name="Parallel Processing Options Preserve Order" type="BoolType" required="false" visibility="visible" multi="false" uimpl="false">
						<sci:help>Whether to preserve the order of the data as it enters and leaves the remote subprotocol.</sci:help>
						<sci:enabledscript>SetDisabledDetails(&quot;This parameter is only applicable if &apos;Parallel Processing Options&apos; is &apos;True&apos;&quot;);
Parameter(&apos;Parallel Processing Options&apos;);</sci:enabledscript>
						<sci:legalval selected="true">True</sci:legalval>
						<sci:legalval>False</sci:legalval>
					</sci:arg>
					<sci:arg name="Tempfiles" type="StringType" required="false" visibility="visible" multi="false" uimpl="true">
						<sci:help>&lt;p&gt;A comma-delimited list of global properties, each of which is automatically populated with the name of a file in the job&apos;s temporary folder, which always has a unique name.&lt;p/&gt;For each global name, an additional global is created (with the suffix &lt;i&gt;_Filename&lt;/i&gt;) that hold only the leaf file name of the temporary file.&lt;/p&gt;</sci:help>
					</sci:arg>
					<sci:arg name="DeclareLocal" type="StringType" required="false" visibility="visible" multi="false" uimpl="true">
						<sci:help>&lt;p&gt;Lists a set of properties (without the @) to create on the global property list for this subprotocol. Such properties can only be accessed within the scope of this subprotocol and its descendent subprotocols.&lt;p/&gt;

&lt;p&gt;Any global property not declared in this way is created on the top-level global property list and is accessible from all subprotocols, but breaks the encapsulation of the subprotocol and may collide with another property of the same name.&lt;/p&gt;

&lt;p&gt;Therefore, you should always declare a new global property in the &lt;i&gt;DeclareLocal&lt;/i&gt; parameter, to scope the global property to the subprotocol where it is used.&lt;/p&gt;</sci:help>
					</sci:arg>
					<sci:arg name="ComponentAttributes" type="StringType" required="false" visibility="hidden" multi="true">
						<sci:help>Component Attributes</sci:help>
						<sci:legalval selected="true">ComponentTakesInput</sci:legalval>
						<sci:legalval selected="true">ComponentReturnsPass</sci:legalval>
						<sci:legalval>ComponentReturnsFail</sci:legalval>
						<sci:legalval>ComponentRunsLocal</sci:legalval>
					</sci:arg>
					<sci:arg name="OnDataTypeError" type="StringType" required="true" visibility="hidden" multi="false">
						<sci:help>When an expected data type is not found during processing:  
  Halt: Terminate the execution of the network
  Fail: Continue execution of the network, passing data out the Fail(red) port
  Pass: Continue execution of the network, passing data out the Pass(green) port</sci:help>
						<sci:legalval selected="true">Halt</sci:legalval>
						<sci:legalval>Fail</sci:legalval>
						<sci:legalval>Pass</sci:legalval>
					</sci:arg>
					<sci:arg name="OnGeneralError" type="StringType" required="true" visibility="hidden" multi="false">
						<sci:help>When an recoverable error occurs during processing:  
  Halt: Terminate the execution of the network
  Fail: Continue execution of the network, passing data out the Fail(red) port
  Pass: Continue execution of the network, passing data out the Pass(green) port</sci:help>
						<sci:legalval selected="true">Halt</sci:legalval>
						<sci:legalval>Fail</sci:legalval>
						<sci:legalval>Pass</sci:legalval>
					</sci:arg>
					<sci:arg name="CustomErrorText" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>Custom Error Message</sci:help>
					</sci:arg>
					<sci:arg name="Refresh rather than Reinitialize" type="BoolType" required="false" visibility="nevershow" multi="false">
						<sci:help>Refresh rather than Reinitialize</sci:help>
						<sci:value>1</sci:value>
					</sci:arg>
					<sci:arg name="ComponentDisplayName" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:value>chemical-physical=no</sci:value>
					</sci:arg>
					<sci:arg name="ComponentAutoDisplayName" type="ExpressionType" required="false" visibility="nevershow" multi="false">
						<sci:help>Automatically update the component display name when the &quot;Destination&quot; property is changed. This feature is turned off after the user manually changes the display name of the component in Protocol workspace.</sci:help>
						<sci:value>
#prop := trim(Parameter(&apos;Property Name&apos;, 2));
#value := trim(Parameter(&apos;Value&apos;, 2));
if(strlength(#prop) &gt; 0 AND strlength(#value) &gt; 0) then	
	&apos;Set &apos; . #prop . &apos; to &apos; . #value;
else
	&apos;&apos;;
end if;</sci:value>
					</sci:arg>
					<sci:arg name="ProtocolAutoLayout" type="BoolType" required="false" visibility="nevershow" multi="false">
						<sci:help>Protocol AutoLayout</sci:help>
						<sci:value>1</sci:value>
					</sci:arg>
					<sci:arg name="ComponentDisabled" type="LongType" required="false" visibility="nevershow" multi="false">
						<sci:value>0</sci:value>
					</sci:arg>
					<sci:arg name="ComponentIcon" type="StringType" required="true" visibility="nevershow" multi="false">
						<sci:value>ComponentNode</sci:value>
					</sci:arg>
					<sci:arg name="ComponentRevision" type="LongType" required="true" visibility="nevershow" multi="false">
						<sci:help>Component Revision</sci:help>
						<sci:value>790</sci:value>
					</sci:arg>
					<sci:arg name="ComponentGUID" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:value>{68C8B76A-B698-4B78-9B58-2D8D5E1B8D8D}</sci:value>
					</sci:arg>
					<sci:arg name="ComponentPoint" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:value>1890 -445</sci:value>
					</sci:arg>
					<sci:arg name="ByReference" type="BoolType" required="false" visibility="nevershow" multi="false">
						<sci:help>By Ref</sci:help>
						<sci:value>1</sci:value>
					</sci:arg>
					<sci:arg name="ComponentHelp" type="StringType" required="false" visibility="nevershow" multi="true">
						<sci:value>100</sci:value>
						<sci:value>Set a property value</sci:value>
						<sci:value>&lt;p&gt;
This component allows you to set a property value from a value. To set a value on a subset of your data records, use the &lt;i&gt;Compare Property to Value Filter&lt;/i&gt; upstream.</sci:value>
						<sci:value>Generic</sci:value>
						<sci:value>The data record</sci:value>
						<sci:value>Generic</sci:value>
						<sci:value>Data records with the property assigned to the new value (and if provided, passed the test)</sci:value>
						<sci:value>None</sci:value>
						<sci:value/>
					</sci:arg>
					<sci:arg name="RegistrationVersion" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The server version when this component was registered</sci:help>
						<sci:value>17.1.0.119</sci:value>
					</sci:arg>
					<sci:arg name="Component Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false"/>
					<sci:arg name="Protocol Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>Protocol Sticky Notes</sci:help>
					</sci:arg>
					<sci:arg name="ProtocolScale2" type="LongType" required="false" visibility="nevershow" multi="false">
						<sci:help>Protocol Scale</sci:help>
						<sci:value>100</sci:value>
					</sci:arg>
					<sci:arg name="Protocol Options" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>Protocol Options</sci:help>
						<sci:legalval selected="true">Owner Access Only</sci:legalval>
					</sci:arg>
					<sci:arg name="Registrant" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The user who registered this component.</sci:help>
						<sci:value>scitegic/generic</sci:value>
					</sci:arg>
					<sci:arg name="RegistrationDate" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The date this component was registered.</sci:help>
						<sci:value>Mon Sep 19 13:15:39 2016</sci:value>
					</sci:arg>
					<sci:arg name="ComponentLocalID" type="LongType" required="false" visibility="nevershow" multi="false">
						<sci:help>Local Component Identifier</sci:help>
						<sci:value>14</sci:value>
					</sci:arg>
					<sci:arg name="SubProtocolMadeLinkIntoCopy" type="BoolType" required="false" visibility="nevershow" multi="false">
						<sci:help>Subprotocol Made Link Into Copy</sci:help>
						<sci:value>0</sci:value>
					</sci:arg>
					<sci:arg name="Component Path" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The original path within the database of this component.</sci:help>
						<sci:value>Components\Data Access and Manipulation\Property Manipulators\Set Property Value</sci:value>
					</sci:arg>
				</sci:component>
				<sci:protocol/>
			</sci:data>
			<sci:data object="SciTegic.SDWriter.1">
				<sci:component name="SD Writer" version="2">
					<sci:arg name="Destination" type="DestinationURLType" required="true" visibility="visible" multi="false">
						<sci:help>The filename or URL for the destination data. To save in compressed (zipped) format, add the extension .gz or .zip to the filename.</sci:help>
						<sci:member>Maximum</sci:member>
						<sci:member>IfFileExists</sci:member>
						<sci:member>CharacterEncoding</sci:member>
						<sci:value>\home\username\result\chemphy-smiles-unique.sdf</sci:value>
					</sci:arg>
					<sci:arg name="Maximum" type="LongType" required="false" visibility="visible" multi="false">
						<sci:help>The maximum number of data records to write (all if value is empty)</sci:help>
					</sci:arg>
					<sci:arg name="IfFileExists" type="StringType" required="true" visibility="visible" multi="false">
						<sci:help>What to do if the given destination file already exists</sci:help>
						<sci:legalval selected="true">Overwrite</sci:legalval>
						<sci:legalval>Append</sci:legalval>
						<sci:legalval>Halt</sci:legalval>
					</sci:arg>
					<sci:arg name="CharacterEncoding" type="StringType" required="false" visibility="visible" multi="false">
						<sci:help>&lt;p&gt;Indicates the character set that will be used within the file.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;ANSI&lt;/b&gt; 
is the default and specifies a character set where each character is defined by a single byte.  This 
allows the Latin-1 (ISO-8859-1) character set to be written to the file.  Virtually all applications 
can read these files.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;UTF-8&lt;/b&gt; specifies a variable length character 
set.  Each character is represented by 1 to 6 bytes.  This allows writing out all extended characters 
specified in the Unicode character sets while maintaining reasonably lengthed files.  Many applications 
do not support UTF-8 files.&lt;/li&gt;
 
&lt;li&gt;&lt;b&gt;Unicode&lt;/b&gt; and &lt;b&gt;Unicode big 
endian&lt;/b&gt; are sets where each character is represented by exactly 2 bytes (also known as UCS-2).  
Depending on which is used will determine the order in which the bytes appear for each character. Many 
applications do not support Unicode or Unicode big endian files.&lt;/li&gt;
&lt;/ul&gt;
 
&lt;p&gt;&lt;b&gt;See 
Also&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;For more information about each of these encoding styles, 
go to &lt;a href=&quot;javascript:DoLink(&apos;http://www.unicode.org/&apos;)&quot;&gt;http://www.unicode.org/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</sci:help>
						<sci:legalval selected="true">ANSI</sci:legalval>
						<sci:legalval>UTF-8</sci:legalval>
						<sci:legalval>Unicode</sci:legalval>
						<sci:legalval>Unicode big endian</sci:legalval>
					</sci:arg>
					<sci:arg name="SD Format Options" type="StringType" required="false" visibility="visible" multi="true" expanded="true">
						<sci:help>Options for the SD Writer:
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Write Structure&lt;/b&gt;:  Includes 
available structure information with each record.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Write Properties&lt;/b&gt;:  
Includes available property information with each record.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Write Date&lt;/b&gt;:  
Writes the current date into the file.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Write Fully Padded Lines&lt;/b&gt;:  
Writes all the fields in the Atoms and Bonds lines, padding with zeroes those fields with undefined values.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Write 
Query Info&lt;/b&gt;:  Writes out MOL-file query information and also additional SciTegic molecule query 
information to the properties of the SD record.
To read the SciTegic-specific part of this information 
back in, use a SciTegic SD Reader with the ReadQueryInfo parameter set to True. (This option writes out 
substructure queries that may have come from SMARTS queries. It also stops writing query information 
for viewers that cannot handle it).&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Write Two Spaces In Data Header Line&lt;/b&gt;:  
When on, data headers will be &lt;TT&gt;&amp;gt&amp;nbsp&amp;nbsp&amp;ltPropName&amp;gt&lt;/TT&gt;.  
When off, data headers will be &lt;TT&gt;&quot;&amp;gt&amp;nbsp&amp;ltPropName&amp;gt&quot;&lt;/TT&gt;.  
The standard does not specify how many spaces there should be. Making this option available for compatibility 
with 3rd party readers.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Wrap Long Property Lines&lt;/b&gt;:  By the CTFile 
standard property lines are limited to 200 characters.  When selected, properties longer than 200 characters 
are with newlines every 200 characters.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Skip Null Or Empty String Properties&lt;/b&gt;:  
When selected, properties that are either null or empty strings will be skipped upon SD export.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Write 
Dot For Empty String Properties&lt;/b&gt;:  In the CTFile format, an empty line is used to terminate 
a property value.  Because of this, there is a convention of writing a &apos;.&apos; on an empty line 
to distinguish between a property that has an empty string value (&quot;&quot;) and a property that has 
no value (or a null value).  Selecting this option enables this convention and empty string properties 
are written with a &apos;.&apos; on the first line and an empty second line to terminate the property.  
When not selected, empty string properties will be written with only a single empty terminating line 
(the same as null properties).  The default for this option is &quot;on&quot; to match the behavior in 
previous versions.  Note that empty string members of string array properties (i.e. empty lines in multi-line 
properties) will always be written with a &apos;.&apos; to prevent an empty line from terminating the 
property.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Write Templates&lt;/b&gt;:  When the molecule has SCSR sequence 
atoms that refer to residue templates, this parameter specifies whether or not to include all the template 
definitions (local and global) in a TEMPLATE block as part of the CTAB, or to include only the local 
SCSR templates, the ones that are not defined in the global templates specified by &lt;i&gt;Global Templates&lt;/i&gt; 
in the SD Reader component. The local templates always need to be saved because the SD Reader would not 
be able to read the molecule otherwise. &lt;/li&gt;
&lt;li&gt;&lt;b&gt;Convert To H2 And H+ Atom Types:&lt;/b&gt; 
&apos;H2&apos; and &apos;H+&apos; are two non-standard element types that can be assigned to atoms by 
the BIOVIA Draw sketcher. They represent unattached Hydrogen (a Hydrogen molecule) and charged Hydrogen 
(a proton), respectively. When this parameter is selected, explicit hydrogen atoms are checked to determine 
if they can be classified as &apos;H2&apos; or &apos;H+&apos; and, if so, they are written out with these 
special types instead of just &apos;H&apos;.&lt;/li&gt; 
&lt;li&gt;&lt;b&gt;Convert Pi Systems To Radicals:&lt;/b&gt; 
When checked, converts pi systems involved in pi bonds into their radical representation which is supported 
by both the V2000 and V3000 formats.  When not checked, pi bonds and pi systems are written out in V3000 
format using multiple-attachment point coordination bonds (type 9).&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Use 
2H and 3H for Hydrogen Isotopes&lt;/b&gt;: Toggles whether to explicitly write out hydrogen isotopes 
using M ISO lines in the V2000 format or MASS values in the V3000 format.  When not checked, the simpler 
&quot;D&quot; and &quot;T&quot; symbols will be used.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&amp;nbsp
&lt;/p&gt;
&lt;b&gt;V2000 
and V3000 Format Parameters&lt;/b&gt;
&lt;p&gt;
The next two options can be used to force the SD file 
format to be exclusively V2000 or V3000. If none of the options is selected, the input molecules are 
written in V2000 format unless they contain features that require the use of the V3000 format. These 
features include presence of enhanced stereo markings, more than 999 atoms or bonds, atom lists with 
more than 16 atom types or bonds of zero order (dative, coordination, hydrogen bonds). In this case, 
the output SD file might contain a mix of V2000 and V300 molecules.
&lt;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Use 
V3000 Format&lt;/b&gt;:  Force the format to be V3000 for all molecules.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Use 
V2000 Format&lt;/b&gt;:  Force the format to be V2000 for all molecules. Any molecule with features that 
require the V3000 format is sent to the Fail port. Note that the Fail port in the SD Writer is not active 
by default. If you want to use this option, make sure to activate the component Fail port by right-clicking 
on the component and selecting the &lt;i&gt;Toggle Ports&lt;/i&gt; menu.&lt;/li&gt;
&lt;/ul&gt;</sci:help>
						<sci:legalval selected="true">Write Structure</sci:legalval>
						<sci:legalval selected="true">Write Properties</sci:legalval>
						<sci:legalval selected="true">Write Date</sci:legalval>
						<sci:legalval>Write Fully Padded Lines</sci:legalval>
						<sci:legalval selected="true">Write Query Info</sci:legalval>
						<sci:legalval>Write Two Spaces In Data Header Line</sci:legalval>
						<sci:legalval selected="true">Wrap Long Property Lines</sci:legalval>
						<sci:legalval>Skip Null Or Empty String Properties</sci:legalval>
						<sci:legalval selected="true">Write Dot For Empty String Properties</sci:legalval>
						<sci:legalval>Use V3000 Format</sci:legalval>
						<sci:legalval>Use V2000 Format</sci:legalval>
						<sci:legalval selected="true">Write Templates</sci:legalval>
						<sci:legalval>Convert To H2 And H+ Atom Types</sci:legalval>
						<sci:legalval>Convert Pi Systems To Radicals</sci:legalval>
						<sci:legalval>Use 2H and 3H for Hydrogen Isotopes</sci:legalval>
					</sci:arg>
					<sci:arg name="Additional Options" type="GroupType" required="false" visibility="visible" multi="false">
						<sci:help>Contains less commonly used parameters</sci:help>
						<sci:member>Name</sci:member>
						<sci:member>Comment</sci:member>
					</sci:arg>
					<sci:arg name="Name" type="StringType" required="false" visibility="visible" multi="false">
						<sci:help>Name of property that holds the name of each molecule</sci:help>
						<sci:value>Name</sci:value>
					</sci:arg>
					<sci:arg name="Comment" type="StringType" required="false" visibility="visible" multi="false">
						<sci:help>Name of the property that holds the comment to write in the CTAB header for each molecule</sci:help>
						<sci:value>Comment</sci:value>
					</sci:arg>
					<sci:arg name="ComponentAttributes" type="StringType" required="false" visibility="hidden" multi="true">
						<sci:help>Component Attributes</sci:help>
						<sci:legalval selected="true">ComponentTakesInput</sci:legalval>
						<sci:legalval>ComponentReturnsPass</sci:legalval>
						<sci:legalval>ComponentReturnsFail</sci:legalval>
						<sci:legalval>ComponentRunsLocal</sci:legalval>
					</sci:arg>
					<sci:arg name="OnDataTypeError" type="StringType" required="true" visibility="hidden" multi="false">
						<sci:legalval selected="true">Halt</sci:legalval>
						<sci:legalval>Fail</sci:legalval>
						<sci:legalval>Pass</sci:legalval>
					</sci:arg>
					<sci:arg name="OnGeneralError" type="StringType" required="true" visibility="hidden" multi="false">
						<sci:legalval selected="true">Halt</sci:legalval>
						<sci:legalval>Fail</sci:legalval>
						<sci:legalval>Pass</sci:legalval>
					</sci:arg>
					<sci:arg name="CustomErrorText" type="StringType" required="false" visibility="nevershow" multi="false"/>
					<sci:arg name="HasConvertPiSystemOption" type="BoolType" required="false" visibility="nevershow" multi="false">
						<sci:legalval selected="true">True</sci:legalval>
						<sci:legalval>False</sci:legalval>
					</sci:arg>
					<sci:arg name="HasWriteDotOption" type="BoolType" required="false" visibility="nevershow" multi="false">
						<sci:legalval selected="true">True</sci:legalval>
						<sci:legalval>False</sci:legalval>
					</sci:arg>
					<sci:arg name="Registrant" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The user who registered this component.</sci:help>
						<sci:value>scitegic/chemistry</sci:value>
					</sci:arg>
					<sci:arg name="RegistrationDate" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The date this component was registered.</sci:help>
						<sci:value>Tue Oct 07 13:39:57 2014</sci:value>
					</sci:arg>
					<sci:arg name="ComponentDisplayName" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:value>SDF Writer</sci:value>
					</sci:arg>
					<sci:arg name="ComponentIcon" type="StringType" required="true" visibility="nevershow" multi="false">
						<sci:value>DOCUMENTNODE</sci:value>
					</sci:arg>
					<sci:arg name="ComponentGUID" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:value>{DC8EE7B0-0620-42FE-944C-B4CD1E79480E}</sci:value>
					</sci:arg>
					<sci:arg name="DerivedFrom" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The component this component is based upon.</sci:help>
						<sci:value>SD Writer</sci:value>
					</sci:arg>
					<sci:arg name="ComponentDisabled" type="LongType" required="false" visibility="nevershow" multi="false">
						<sci:value>0</sci:value>
					</sci:arg>
					<sci:arg name="ComponentPoint" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:value>2490 -445</sci:value>
					</sci:arg>
					<sci:arg name="ComponentHelp" type="StringType" required="false" visibility="nevershow" multi="true">
						<sci:value>100</sci:value>
						<sci:value>Writes an SD (structured data) file</sci:value>
						<sci:value>Writes the molecule and associated property data to the &lt;i&gt;Destination&lt;/i&gt; 
file in SD format.

&lt;p&gt;&lt;b&gt;See Also:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;To read files 
in SD format, use the &lt;a href=&quot;javascript:DoLink(&apos;{CA65B896-4FE6-4E3A-B884-DC16B53B8D26}&apos;)&quot;&gt;SD 
Reader&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;To convert molecules to and from a text property containing the 
molecular connection table (CTAB) in MOL format, use &lt;a href=&quot;javascript:DoLink(&apos;{E622FBD9-9FA9-451A-A102-1800B5F28B6D}&apos;)&quot;&gt;Molecule 
to CTAB&lt;/a&gt; and &lt;a href=&quot;javascript:DoLink(&apos;{7D354B65-DDD8-4EA4-83A7-21501A8A6852}&apos;)&quot;&gt;Molecule 
from CTAB&lt;/a&gt;.&lt;/li&gt; 
&lt;/ul&gt;</sci:value>
						<sci:value>Molecule</sci:value>
						<sci:value/>
						<sci:value>None</sci:value>
						<sci:value/>
						<sci:value>None</sci:value>
						<sci:value/>
					</sci:arg>
					<sci:arg name="RegistrationVersion" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The server version when this component was registered</sci:help>
						<sci:value>9.5.0.606</sci:value>
					</sci:arg>
					<sci:arg name="Component Sticky Notes" type="StringType" required="false" visibility="nevershow" multi="false"/>
					<sci:arg name="ComponentLocalID" type="LongType" required="false" visibility="nevershow" multi="false">
						<sci:help>Local Component Identifier</sci:help>
						<sci:value>15</sci:value>
					</sci:arg>
					<sci:arg name="Component Path" type="StringType" required="false" visibility="nevershow" multi="false">
						<sci:help>The original path within the database of this component.</sci:help>
						<sci:value>Components\Chemistry\Data Access and Manipulation\Writers\SD Writer</sci:value>
					</sci:arg>
				</sci:component>
			</sci:data>
			<sci:connectid from="0" to="25" type="true"/>
			<sci:connectid from="2" to="6" type="true"/>
			<sci:connectid from="6" to="8" type="true"/>
			<sci:connectid from="8" to="9" type="true"/>
			<sci:connectid from="9" to="10" type="true"/>
			<sci:connectid from="10" to="12" type="true"/>
			<sci:connectid from="12" to="0" type="true"/>
			<sci:connectid from="12" to="14" type="false"/>
			<sci:connectid from="25" to="1" type="true"/>
			<sci:connectid from="25" to="15" type="true"/>
			<sci:connectid from="14" to="25" type="true"/>
			<sci:version iVal="7"/>
		</sci:protocol>
	</sci:dbitem>
</sci:data>
