<?xml version="1.0"?>
<!DOCTYPE rulefile SYSTEM "http://www.cs.ucl.ac.uk/staff/R.Summerton/rulefile.dtd">
<!-- proteindomain1. Version of: 29/8/03.-->
<!-- This is a set of rules for merging functional genomics data but it is completely distinct 
from the biofusion sets of rules. Those rules merge information from DIFFERENT protein domains, 
whereas this set of rules is used to "clean up" the (possibly conflicting) information about 
a SINGLE domain.-->
<rulefile>
	<rule code="1" status="foundational">
		<condition>
			<conditionname sign="positive"> sameproteindomain </conditionname>
			<variable>
				<set>1</set>
				<branch extract="textentry">proteindomain/name</branch>
			</variable>
		</condition>
		<action>
			<actionname>Initialize</actionname>
			<constant>proteindomain(name,GO_ID_num_molecular_function,source)</constant>
		</action>
		<action>
			<actionname>AddText</actionname>
			<variable>
				<source>1</source>
				<branch extract="textentry">proteindomain/name</branch>
			</variable>
			<constant>proteindomain/name</constant>
		</action>
	</rule>
	<rule code="2" status="optional">
		<condition>
			<conditionname sign="positive"> sameGO_IDnumbers </conditionname>
			<variable>
				<set>1</set>
				<branch extract="textentry">proteindomain/GO_ID_num</branch>
			</variable>
		</condition>
		<action>
			<actionname>AddText</actionname>
			<variable>
				<source>1</source>
				<branch extract="textentry">proteindomain/GO_ID_num</branch>
			</variable>
			<constant>proteindomain/GO_ID_num_molecular_function</constant>
		</action>
		<action>
			<actionname>AddText</actionname>
			<function>
				<functionname>Conjunction</functionname>
				<variable>
					<set>1</set>
					<branch extract="textentry">proteindomain/source</branch>
				</variable>
			</function>
			<constant>proteindomain/source</constant>
		</action>
	</rule>
	<rule code="3" status="optional">
		<condition>
			<conditionname sign="negative"> sameGO_IDnumbers </conditionname>
			<variable>
				<set>1</set>
				<branch extract="textentry">proteindomain/GO_ID_num</branch>
			</variable>
		</condition>
		<condition>
			<conditionname sign="positive"> molecularfunctions </conditionname>
			<variable>
				<set>1</set>
				<branch extract="textentry">proteindomain/GO_ID_num</branch>
			</variable>
		</condition>
		<condition>
			<conditionname sign="positive"> usepreferredsource </conditionname>
			<variable>
				<set>1</set>
				<branch extract="textentry">proteindomain/source</branch>
			</variable>
			<variable>
				<set>1</set>
				<branch extract="textentry">proteindomain/GO_ID_num</branch>
			</variable>
			<logicalvariable type="singleton"> X </logicalvariable>
		</condition>
		<condition>
			<conditionname sign="positive"> preferredsource </conditionname>
			<variable>
				<set>1</set>
				<branch extract="textentry">proteindomain/source</branch>
			</variable>
			<logicalvariable type="singleton"> Y </logicalvariable>
		</condition>
		<action>
			<actionname>AddText</actionname>
			<logicalvariable type="singleton"> X </logicalvariable>
			<constant>proteindomain/GO_ID_num_molecular_function</constant>
		</action>
		<action>
			<actionname>AddText</actionname>
			<logicalvariable type="singleton"> Y </logicalvariable>
			<constant>proteindomain/source</constant>
		</action>
	</rule>
</rulefile>
