|
<?xml version='1.0' encoding="UTF-8" ?> |
|
<xsl:stylesheet |
|
xmlns:xsl='http://www.w3.org/1999/XSL/Transform' |
|
version='1.0' |
|
> |
|
<xsl:output method="text" /> |
|
|
|
<xsl:template match="/"> |
|
<xsl:apply-templates select="DASDNA"/> |
|
</xsl:template> |
|
|
|
<xsl:template match="DASDNA"> |
|
<xsl:apply-templates select="SEQUENCE"/> |
|
</xsl:template> |
|
|
|
<xsl:template match="SEQUENCE"> |
|
<xsl:text>>translate(</xsl:text> |
|
<xsl:value-of select="concat(@id,':',@start,'-',@stop)"/> |
|
<xsl:text>) |
|
</xsl:text> |
|
<xsl:apply-templates select="DNA"/> |
|
<xsl:text> |
|
</xsl:text> |
|
</xsl:template> |
|
|
|
<xsl:template match="DNA"> |
|
<xsl:call-template name="prot"> |
|
<xsl:with-param name="s" select="translate(text(),'atgc','ATGC')"/> |
|
</xsl:call-template> |
|
</xsl:template> |
|
|
|
<xsl:template match="DNA"> |
|
<xsl:call-template name="prot"> |
|
<xsl:with-param name="s" select="translate(translate(normalize-space(text()),'atgc','ATGC'),' ','')"/> |
|
</xsl:call-template> |
|
</xsl:template> |
|
|
|
<xsl:template name="prot"> |
|
<xsl:param name="s"/> |
|
<xsl:if test="string-length($s)>2"> |
|
<xsl:variable name="codon" select="substring($s,1,3)"/> |
|
<xsl:choose> |
|
<xsl:when test="$codon = 'ATT'"><xsl:text>I</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'ATC'"><xsl:text>I</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'ATA'"><xsl:text>I</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'CTT'"><xsl:text>L </xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'CTC'"><xsl:text>L</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'CTA'"><xsl:text>L</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'CTG'"><xsl:text>L</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'TTA'"><xsl:text>L</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'TTG'"><xsl:text>L</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'GTT'"><xsl:text>V</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'GTC'"><xsl:text>V</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'GTA'"><xsl:text>V</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'GTG'"><xsl:text>V</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'TTT'"><xsl:text>F</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'TTC'"><xsl:text>F</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'ATG'"><xsl:text>M</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'TGT'"><xsl:text>C</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'TGC'"><xsl:text>C</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'GCT'"><xsl:text>A</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'GCC'"><xsl:text>A</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'GCA'"><xsl:text>A</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'GCG'"><xsl:text>A</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'GGT'"><xsl:text>G</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'GGC'"><xsl:text>G</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'GGA'"><xsl:text>G</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'GGG'"><xsl:text>G</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'CCT'"><xsl:text>P</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'CCC'"><xsl:text>P</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'CCA'"><xsl:text>P</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'CCG'"><xsl:text>P</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'ACT'"><xsl:text>T</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'ACC'"><xsl:text>T</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'ACA'"><xsl:text>T</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'ACG'"><xsl:text>T</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'TCT'"><xsl:text>S</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'TCC'"><xsl:text>S</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'TCA'"><xsl:text>S</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'TCG'"><xsl:text>S</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'AGT'"><xsl:text>S</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'AGC'"><xsl:text>S</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'TAT'"><xsl:text>Y</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'TAC'"><xsl:text>Y</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'TGG'"><xsl:text>W</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'CAA'"><xsl:text>Q</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'CAG'"><xsl:text>Q</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'AAT'"><xsl:text>N</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'AAC'"><xsl:text>N</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'CAT'"><xsl:text>H</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'CAC'"><xsl:text>H</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'GAA'"><xsl:text>E</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'GAG'"><xsl:text>E</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'GAT'"><xsl:text>D</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'GAC'"><xsl:text>D</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'AAA'"><xsl:text>K</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'AAG'"><xsl:text>K</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'CGT'"><xsl:text>R</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'CGC'"><xsl:text>R</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'CGA'"><xsl:text>R</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'CGG'"><xsl:text>R</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'AGA'"><xsl:text>R</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'AGG'"><xsl:text>R</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'TAA'"><xsl:text>*</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'TAG'"><xsl:text>*</xsl:text></xsl:when> |
|
<xsl:when test="$codon = 'TGA'"><xsl:text>*</xsl:text></xsl:when> |
|
<xsl:otherwise><xsl:text>?</xsl:text></xsl:otherwise> |
|
</xsl:choose> |
|
<xsl:call-template name="prot"> |
|
<xsl:with-param name="s" select="substring($s,4)"/> |
|
</xsl:call-template> |
|
</xsl:if> |
|
</xsl:template> |
|
|
|
|
|
</xsl:stylesheet> |
That XML sheet doesn't seem to translate it in the correct reading frame. Based on the UCSC genome browser, the correct amino acid sequence for mm10 chr3:93396405,93396500 is QDSPHRGQK...
I'm trying to get the amino acid sequence that displays in the UCSC genome browser itself.
That's because the DAS segment starts with 93396406:
so if you want to know the amino acid translated for the gene at this position, the stylehsheet won't work. You should work with the knownGene table to get the position of the exon .
for example: Is A Genome Position In An Exon Or Intron?
So are you saying that there is no direct way to download the amino acid sequence for a given region? That's hard to believe, considering that it is displayed in the genome browser.
That's all I'm looking for. A direct way to download the amino acid sequence for a given region. I'd rather avoid MySQL table lookups.