# This is highly experimental, and not a part of the Oscar3 mainstream yet

[DEFINE]
$ANDOR = $( and $| or $)
$MAYBECOMMA = $( , $) $?
$CMEXACTHYPO = $( >>>
	$( $CM:EXACT<hypo> $) $| >>>
	$( $( $CM:EXACT<hypo> , $) $* $CM:EXACT<hypo> $MAYBECOMMA $ANDOR $CM:EXACT<hypo> $) $)
$PARENSTART = $( $SUCHAS $| $( eg $| e.g $) $( . $) $? $( , $) $? $) $?
$LISTSEP = $( , $| and $| , and $)
$SUCHAS = $( such as $| including $| excluding $| particularly $| especially $| mainly $| primarily $| chiefly $| specifically $)
# e.g., for example, more specifically, notably
# include, which include
$ANDOTHER = $( and other $| or other $| and related $| and similar $| or related $| and assorted $)
# and both, and other JJ, or other JJ etc., and/or all/most/any/the/an/presumably other

[ISA]
the $( $pos=JJ $| $pos=VBN $) $* $CMTYPE<hyper> $CMEXACTHYPO
the $( $pos=JJ $| $pos=VBN $) $* $CM:CLASS<hyper> $CMEXACTHYPO
$CMEXACTHYPO $( is a $| is an $| are $) $( $pos=JJ $| $pos=VBN $) $* $CMTYPE<hyper>
$CMEXACTHYPO $( is a $| is an $| are $) $( $pos=JJ $| $pos=VBN $) $* $CM:CLASS<hyper>
$CM<hypo> and other $CMTYPE<hyper>
$CM:EXACT<hypo> and other $CM:CLASS<hyper>
$CMTYPE<hyper> $MAYBECOMMA $SUCHAS $CMEXACTHYPO
such $CMTYPE<hyper> as $CMEXACTHYPO
such $CM:CLASS<hyper> as $CMEXACTHYPO
$CM:CLASS<hyper> $MAYBECOMMA $SUCHAS $CMEXACTHYPO
$CM:CLASS<hyper> ( $PARENSTART $( $CM $LISTSEP $) $+ $CM:EXACT<hypo> )
$CM:CLASS<hyper> ( $PARENSTART $( $CM $LISTSEP $) $* $CM:EXACT<hypo> $LISTSEP $( $CM $LISTSEP $) $* $CM )
$CMTYPE<hyper> ( $PARENSTART $( $CM $LISTSEP $) $+ $CM:EXACT<hypo> )
$CMTYPE<hyper> ( $PARENSTART $( $CM $LISTSEP $) $* $CM:EXACT<hypo> $LISTSEP $( $CM $LISTSEP $) $* $CM )

[HASA]
the $CM:EXACT<whole> $CM:PART<part>
the $CM:PART<whole> $CM:PART<part>

[MODIFY]
$CJ<modifier> $CM:EXACT<modified>
$CJ<modifier> $CM:CLASS<modified>
$RN:DESC<modifier> $CM:EXACT<modified>
$RN:DESC<modifier> $CM:CLASS<modified>

[SOLUTION]
$CJ:SOLUTION<solvent> $CM:EXACT<solute>
$CJ:SOLUTION<solvent> solution of $CM:EXACT<solute>

[SYNONYM]
$CM<a> ( $CM<b> )
$CM<a> ( INN = $CM<b> )

[DEFINE]
$METABADJ = $( main $| major $| primary $| active $) $?

[METABOLITE]
$CM:EXACT<metaboliteof> and $( its $| the $) $METABADJ $( metabolite $| metabolites $) $CM:EXACT<metabolite>
$CM:EXACT<metaboliteof> and $( its $| the $) $METABADJ $CM:EXACT<metabolite> $( metabolite $| metabolites $)
$CM:EXACT<metaboliteof> and $( its $| the $) $METABADJ $CM:CLASS<metaboliteclass> $( metabolite $| metabolites $) $( $CM:EXACT<metabolite> $)
the $CM:EXACT<metaboliteof> metabolite $CM:EXACT<metabolite>

[ENZYME]
$CM<chemical> $ASE<enzyme>
$CM<chemical> ( $CM ) $ASE<enzyme>

[DEFINE]
$CMEXACTSUBSTRATE = $( $( $CM:EXACT<substrate> , $) $* $CM:EXACT<substrate> $MAYBECOMMA and $) $? $CM:EXACT<substrate>
$CMEXACTPRODUCT = $( $( $CM:EXACT<product> , $) $* $CM:EXACT<product> $MAYBECOMMA and $) $? $CM:EXACT<product>

[REACTION]
$CMEXACTSUBSTRATE $pos=NN:$RN:REACT<reaction>
$CM:CLASS<substrate> $RN:REACT<reaction>
$RN:REACT<reaction> of $CMEXACTSUBSTRATE
$RN:REACT<reaction> of $CM:EXACT<substrate> to $CM:EXACT<product>
$RN:REACT<reaction> of $CM:CLASS<substrate>
$RN:REACT<reaction> of $CM:CLASS<substrate> to $CM:CLASS<product>
$pos=NN:$ONT=PTCO:"destructive_reaction"<reaction> of $CMEXACTSUBSTRATE
$pos=NN:$ONT=PTCO:"destructive_reaction"<reaction> of $CM:EXACT<substrate> $( to $| into $) $CM:EXACT<product>
$CM:EXACT<substrate> $pos=NN:$ONT=PTCO:"destructive_reaction"<reaction> $( $( to $| into $) $CM:EXACT<product> $) $?
$pos=NN:$ONT=PTCO:"constructive_reaction"<reaction> of $CMEXACTPRODUCT
$pos=NN:$ONT=PTCO:"constructive_reaction"<reaction> of $CM:EXACT<product> $( from $) $CM:EXACT<substrate>
$CM:EXACT<product> $pos=NN:$ONT=PTCO:"constructive_reaction"<reaction> $( from $CM:EXACT<substrate> $) $?
$CM:EXACT<substrate> $RN:REACT<reaction> to $CM:EXACT<product>
$CM:CLASS<substrate> $RN:REACT<reaction> to $CM:CLASS<product>
$CM:PART<location> $RN:REACT<reaction> to $CM:EXACT<product>
$pos=VBZ:$RN:REACT<reaction> $CMEXACTSUBSTRATE
$pos=VBD:$RN:REACT<reaction> $CMEXACTSUBSTRATE
$pos=VBP:$RN:REACT<reaction> $CMEXACTSUBSTRATE
$pos=VB:$RN:REACT<reaction> $CMEXACTSUBSTRATE
$pos=VBZ:$RN:REACT<reaction> the $CM:PART<location>
$CM:EXACT<substrate> - $pos=VBG:$RN<reaction>

[INHIBITOR]
the $( $pos=JJ $) $? $GENIA-protein<protein> inhibitor $MAYBECOMMA $CM:EXACT<inhibtor>
$CM:EXACT<inhibitor> is $pos=DT $( $pos=JJ $) $? of $GENIA-protein<protein>

#[HEADWORD]
#$CM:EXACT<chemical> $pos=NN<head> $endNP

[RELWORD]
the $CM:EXACT $pos=NN<relword> $CM:EXACT $endNP