<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
 xmlns:cis="http://zlab.bu.edu/schema/cisml"
>

<!-- A stylesheet to generate a text report of pvalues for patterns scanned over a group of sequences-->

<xsl:output method="text" />

<xsl:variable name="newline">
<xsl:text>
</xsl:text>
</xsl:variable>


<xsl:variable name="tab">
<xsl:text>	</xsl:text>
</xsl:variable>

<xsl:template match="/">#Sequence Analysis by <xsl:value-of select="//cis:program-name"/>
#Pattern File: <xsl:value-of select="//cis:pattern-file" />
#Sequences File: <xsl:value-of select="//cis:sequence-file" />
#Background Sequences File: <xsl:value-of select="//cis:background-seq-file" />
#Sequence Filtering: <xsl:value-of select="//cis:sequence-filtering/@on-off" />
#Sequence Pvalue Cutoff: <xsl:value-of select="//cis:sequence-pvalue-cutoff" />
#Site Pvalue Cutoff: <xsl:value-of select="//cis:site-pvalue-cutoff" />
<xsl:value-of select="$newline"/>
	<xsl:choose>
		<xsl:when test="//cis:multi-pattern-scan">
			<xsl:for-each select="//cis:multi-pattern-scan">
				<!-- Loop through each pattern group -->
				<xsl:sort select="@pvalue" data-type="number" order="ascending"/>	
				<xsl:value-of select="$newline"/>
				<xsl:text>#Pattern Group #</xsl:text><xsl:value-of select="position()"/>
				<xsl:value-of select="$newline"/>
				<xsl:text>#Group P-Value: </xsl:text><xsl:value-of select="@pvalue"/>
				<xsl:value-of select="$newline"/>
				<xsl:text>#Accession	P-Value	Name</xsl:text><xsl:value-of select="$newline"/>
				<xsl:for-each select="cis:pattern">
					<!-- Loop through each pattern in this pattern group -->
					<xsl:sort select="@pvalue" data-type="number" order="ascending" />
					<xsl:value-of select="@accession"/><xsl:value-of select="$tab"/>
					<xsl:value-of select="@pvalue"/><xsl:value-of select="$tab"/>
					<xsl:value-of select="@name"/><xsl:value-of select="$newline"/>
				</xsl:for-each>
			</xsl:for-each>
		</xsl:when>
		<xsl:otherwise>
			<xsl:text>#Pattern	Pvalue	Pattern Name</xsl:text><xsl:value-of select="$newline"/>
			<xsl:for-each select="//cis:pattern">
				<!-- Loop through each pattern -->
				<xsl:sort select="@pvalue" data-type="number" order="ascending" />
				<xsl:value-of select="@accession"/><xsl:value-of select="$tab"/>
				<xsl:value-of select="@pvalue"/><xsl:value-of select="$tab"/>
				<xsl:value-of select="@name"/><xsl:value-of select="$newline"/>
			</xsl:for-each>
		</xsl:otherwise>
	</xsl:choose>
</xsl:template>

</xsl:stylesheet>





