Mercurial > repos > iuc > rdavidwebservice
changeset 0:5aa52484bef2 draft default tip
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/rdavidwebservice commit b664316c8917dff50de40207c2b3104ed850b90b
author | iuc |
---|---|
date | Thu, 23 May 2019 13:44:50 -0400 |
parents | |
children | |
files | macros.xml rdavidwebservice.xml test-data/demolist1 |
diffstat | 3 files changed, 580 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/macros.xml Thu May 23 13:44:50 2019 -0400 @@ -0,0 +1,44 @@ +<?xml version="1.0"?> +<macros> + <token name="@TOOL_VERSION@">1.20.0</token> + <xml name="identifier_options"> + <option value="AFFYMETRIX_3PRIME_IVT_ID">AFFYMETRIX_3PRIME_IVT_ID</option> + <option value="AFFYMETRIX_EXON_ID">AFFYMETRIX_EXON_ID</option> + <option value="AGILENT_CHIP_ID">AGILENT_CHIP_ID</option> + <option value="AGILENT_ID">AGILENT_ID</option> + <option value="AGILENT_OLIGO_ID">AGILENT_OLIGO_ID</option> + <option value="APHIDBASE_ID">APHIDBASE_ID</option> + <option value="BEEBASE_ID">BEEBASE_ID</option> + <option value="BEETLEBASE_ID">BEETLEBASE_ID</option> + <option value="BGD_ID">BGD_ID</option> + <option value="CGNC_ID">CGNC_ID</option> + <option value="CRYPTODB_ID">CRYPTODB_ID</option> + <option value="DICTYBASE_ID">DICTYBASE_ID</option> + <option value="ENSEMBL_GENE_ID">ENSEMBL_GENE_ID</option> + <option value="ENSEMBL_TRANSCRIPT_ID">ENSEMBL_TRANSCRIPT_ID</option> + <option value="ENTREZ_GENE_ID" selected="True">ENTREZ_GENE_ID</option> + <option value="FLYBASE_GENE_ID">FLYBASE_GENE_ID</option> + <option value="GENBANK_ACCESSION">GENBANK_ACCESSION</option> + <option value="GENOMIC_GI_ACCESSION">GENOMIC_GI_ACCESSION</option> + <option value="GENPEPT_ACCESSION">GENPEPT_ACCESSION</option> + <option value="LOCUS_TAG">LOCUS_TAG</option> + <option value="MGI_ID">MGI_ID</option> + <option value="MIRBASE_ID">MIRBASE_ID</option> + <option value="MRNA_GI_ACCESSION">MRNA_GI_ACCESSION</option> + <option value="NASONIABASE_ID">NASONIABASE_ID</option> + <option value="PROTEIN_GI_ACCESSION">PROTEIN_GI_ACCESSION</option> + <option value="PSEUDOCAP_ID">PSEUDOCAP_ID</option> + <option value="REFSEQ_MRNA">REFSEQ_MRNA</option> + <option value="REFSEQ_PROTEIN">REFSEQ_PROTEIN</option> + <option value="RGD_ID">RGD_ID</option> + <option value="SGD_ID">SGD_ID</option> + <option value="TAIR_ID">TAIR_ID</option> + <option value="UNIGENE">UNIGENE</option> + <option value="UNIPROT_ACCESSION">UNIPROT_ACCESSION</option> + <option value="UNIPROT_ID">UNIPROT_ID</option> + <option value="VECTORBASE_ID">VECTORBASE_ID</option> + <option value="WORMBASE_GENE_ID">WORMBASE_GENE_ID</option> + <option value="XENBASE_ID">XENBASE_ID</option> + <option value="ZFIN_ID">ZFIN_ID</option> + </xml> +</macros> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/rdavidwebservice.xml Thu May 23 13:44:50 2019 -0400 @@ -0,0 +1,372 @@ +<tool id="rdavidwebservice" name="RDAVIDWebService" version="@TOOL_VERSION@"> + <description> + Run functional annotation using DAVID + </description> + <macros> + <import>macros.xml</import> + </macros> + <requirements> + <requirement type="package" version="@TOOL_VERSION@">bioconductor-rdavidwebservice</requirement> + </requirements> + <command detect_errors="exit_code"><![CDATA[ +cat '$script' && +Rscript '$script' + ]]></command> + <configfiles> + <configfile name="script"><![CDATA[ +## Setup R error handling to go to stderr +options(show.error.messages=F, error=function(){cat(geterrmessage(), file=stderr()); q("no",1,F)}) +## Unify locale settings +loc <- Sys.setlocale("LC_MESSAGES", "C.UTF-8") +## Import libraries +library(RDAVIDWebService) + +gene_list <- scan('$input1', what="character") +gene_identifier_type <- '$identifier1' + +#if str('$__user_email__') != "": +email <- '$__user_email__' +#else: +email <- 'galaxy_user@galaxy.org' +#end if + +david <- DAVIDWebService(email=email, url="https://david.ncifcrf.gov/webservice/services/DAVIDWebService.DAVIDWebServiceHttpSoap12Endpoint/") + +geneList <- addList(david, gene_list, idType=gene_identifier_type, + listName="genelist", listType="Gene") + +#if str($background.background_selector) == "with_background": +background_list <- scan('$background.input2', what="character") +background_identifier_type <- '$background.identifier2' +background <- addList(david, background_list, idType=background_identifier_type, + listName="backgroundlist",listType="Background") +#end if + +#if str($AnnotationCategories.setAnnotationCategories) == "Yes": +annocategories <- c('$AnnotationCategories.Disease', '$AnnotationCategories.Functional_Categories', '$AnnotationCategories.Gene_Ontology', '$AnnotationCategories.General_Annotations', '$AnnotationCategories.Literature', '$AnnotationCategories.Main_Accessions', '$AnnotationCategories.Pathways', '$AnnotationCategories.Protein_Domains', '$AnnotationCategories.Tissue_Expression') +annocategories <- annocategories[annocategories != 'None'] +annocategories <- unlist(strsplit(annocategories, split = ",")) +setAnnotationCategories(david, annocategories) +#end if + +#if str($FunctionalAnnotationCluster.set_FACluster_params) == "Yes": +getClusterReportFile(david, '$output1', + kappa = as.integer('$FunctionalAnnotationCluster.kappa'), + overlap = as.integer('$FunctionalAnnotationCluster.overlap'), + initialSeed = as.integer('$FunctionalAnnotationCluster.initialSeed'), + finalSeed = as.integer('$FunctionalAnnotationCluster.finalSeed'), + linkage = as.double('$FunctionalAnnotationCluster.linkage')) +#end if + +#if str($FunctionalAnnotationChart.set_FAChart_params) == "Yes" : +getFunctionalAnnotationChartFile(david, '$output2', + count = as.integer('$FunctionalAnnotationChart.count'), + threshold = as.double('$FunctionalAnnotationChart.threshold')) +#end if + +#if str($FunctionalAnnotationTable.set_FATable_params) == "Yes": +getFunctionalAnnotationTableFile(david, '$output3') +#end if + +#if str($GeneListReport.set_GLReport_params) == "Yes": +getGeneListReportFile(david, '$output4') +#end if + ]]></configfile> + </configfiles> + <inputs> + <param name="input1" type="data" format="txt" label="Select gene list"/> + <param name="identifier1" type="select" label="Select gene list identifier type"> + <expand macro="identifier_options" /> + </param> + <param name="email" type="text" label="I acknowledge that this services will send my galaxy_user email address to an external service: DAVIDWebService. Please confirm with 'yes'." help="E-Mail has to be registered at https://david.ncifcrf.gov/webservice/register.htm in order to get access to DAVID (webservice)"> + <validator type="regex" message="You need to agree the terms to continue by typing 'yes'">^'*[Yy]es'*$</validator> + </param> + <conditional name="background"> + <param name="background_selector" type="select" label="Background" help="Default: entire species as background"> + <option value="without_background">Use default Background</option> + <option value="with_background">Use specify Background</option> + </param> + <when value="with_background"> + <param name="input2" type="data" format="txt" label="Select gene list for background"/> + <param name="identifier2" type="select" label="Select background list identifier type"> + <expand macro="identifier_options" /> + </param> + </when> + <when value="without_background"> + </when> + </conditional> + <conditional name="AnnotationCategories"> + <param name="setAnnotationCategories" type="select" label="Annotation Categories" help="Default: OMIM_DISEASE, COG_ONTOLOGY, UP_KEYWORDS, UP_SEQ_FEATURE, GOTERM_BP_DIRECT, GOTERM_MF_DIRECT, GOTERM_CC_DIRECT, BBID, BIOCARTA, KEGG_PATHWAY, INTERPRO, PIR_SUPERFAMILY, SMART"> + <option value="without_AnnotationCategories">Use default Annotation Categories</option> + <option value="with_AnnotationCategories">Use specify Annotation Categories</option> + </param> + <when value="with_AnnotationCategories"> + <param name="Disease" type="select" display="checkboxes" multiple="true" label="Disease"> + <option value="GAD_DISEASE">GAD_DISEASE</option> + <option value="GAD_DISEASE_CLASS">GAD_DISEASE_CLASS</option> + <option value="OMIM_DISEASE">OMIM_DISEASE</option> + </param> + <param name="Functional_Categories" type="select" display="checkboxes" multiple="true" label="Functional_Categories"> + <option value="COG_ONTOLOGY">COG_ONTOLOGY</option> + <option value="PIR_SEQ_FEATURE">PIR_SEQ_FEATURE</option> + <option value="SP_COMMENT_TYPE">SP_COMMENT_TYPE</option> + <option value="UP_KEYWORDS">UP_KEYWORDS</option> + <option value="UP_SEQ_FEATURE">UP_SEQ_FEATURE</option> + </param> + <param name="Gene_Ontology" type="select" display="checkboxes" multiple="true" label="Gene_Ontology"> + <option value="GOTERM_BP_1">GOTERM_BP_1</option> + <option value="GOTERM_BP_2">GOTERM_BP_2</option> + <option value="GOTERM_BP_3">GOTERM_BP_3</option> + <option value="GOTERM_BP_4">GOTERM_BP_4</option> + <option value="GOTERM_BP_5">GOTERM_BP_5</option> + <option value="GOTERM_BP_ALL">GOTERM_BP_ALL</option> + <option value="GOTERM_BP_DIRECT">GOTERM_BP_DIRECT</option> + <option value="GOTERM_BP_FAT" selected="True">GOTERM_BP_FAT</option> + <option value="GOTERM_CC_1">GOTERM_CC_1</option> + <option value="GOTERM_CC_2">GOTERM_CC_2</option> + <option value="GOTERM_CC_3">GOTERM_CC_3</option> + <option value="GOTERM_CC_4">GOTERM_CC_4</option> + <option value="GOTERM_CC_5">GOTERM_CC_5</option> + <option value="GOTERM_CC_ALL">GOTERM_CC_ALL</option> + <option value="GOTERM_BP_DIRECT">GOTERM_BP_DIRECT</option> + <option value="GOTERM_CC_1">GOTERM_CC_1</option> + <option value="GOTERM_CC_2">GOTERM_CC_2</option> + <option value="GOTERM_CC_3">GOTERM_CC_3</option> + <option value="GOTERM_CC_4">GOTERM_CC_4</option> + <option value="GOTERM_CC_5">GOTERM_CC_5</option> + <option value="GOTERM_CC_ALL">GOTERM_CC_ALL</option> + <option value="GOTERM_CC_FAT" selected="True">GOTERM_CC_FAT</option> + <option value="GOTERM_MF_1">GOTERM_MF_1</option> + <option value="GOTERM_MF_2">GOTERM_MF_2</option> + <option value="GOTERM_MF_3">GOTERM_MF_3</option> + <option value="GOTERM_MF_4">GOTERM_MF_4</option> + <option value="GOTERM_MF_5">GOTERM_MF_5</option> + <option value="GOTERM_MF_ALL">GOTERM_MF_ALL</option> + <option value="GOTERM_MF_FAT" selected="True">GOTERM_MF_FAT</option> + </param> + <param name="General_Annotations" type="select" display="checkboxes" multiple="true" label="General_Annotations"> + <option value="CHROMOSOME">CHROMOSOME</option> + <option value="CYTOBAND">CYTOBAND</option> + <option value="ENTREZ_GENE_SUMMARY">ENTREZ_GENE_SUMMARY</option> + <option value="OFFICIAL_GENE_SYMBOL">OFFICIAL_GENE_SYMBOL</option> + <option value="PIR_SUMMARY">PIR_SUMMARY</option> + <option value="SP_COMMENT">SP_COMMENT</option> + </param> + <param name="Literature" type="select" display="checkboxes" multiple="true" label="Literature"> + <option value="GENERIF_SUMMARY">GENERIF_SUMMARY</option> + <option value="HIV_INTERACTION_PUBMED_ID">HIV_INTERACTION_PUBMED_ID</option> + <option value="PUBMED_ID">PUBMED_ID</option> + </param> + <param name="Main_Accessions" type="select" display="checkboxes" multiple="true" label="Main_Accessions"> + <option value="ENSEMBL_GENE_ID">ENSEMBL_GENE_ID</option> + <option value="ENTREZ_GENE_ID">ENTREZ_GENE_ID</option> + </param> + <param name="Pathways" type="select" display="checkboxes" multiple="true" label="Pathways"> + <option value="BBID">BBID</option> + <option value="BIOCARTA">BIOCARTA</option> + <option value="EC_NUMBER">EC_NUMBER</option> + <option value="KEGG_PATHWAY" selected="True">KEGG_PATHWAY</option> + <option value="REACTOME_PATHWAY">REACTOME_PATHWAY</option> + </param> + <param name="Protein_Domains" type="select" display="checkboxes" multiple="true" label="Protein_Domains"> + <option value="GENE3D">GENE3D</option> + <option value="INTERPRO">INTERPRO</option> + <option value="PFAM">PFAM</option> + <option value="PIR_SUPERFAMILY">PIR_SUPERFAMILY</option> + <option value="PRINTS">PRINTS</option> + <option value="PRODOM">PRODOM</option> + <option value="PROSITE">PROSITE</option> + <option value="SMART">SMART</option> + <option value="SUPFAM">SUPFAM</option> + <option value="TIGRFAMS">TIGRFAMS</option> + </param> + <param name="Protein_Interactions" type="select" display="checkboxes" multiple="true" label="Protein_Interactions"> + <option value="BIOGRID_INTERACTION">BIOGRID_INTERACTION</option> + <option value="DIP">DIP</option> + <option value="HIV_INTERACTION">HIV_INTERACTION</option> + <option value="HIV_INTERACTION_CATEGORY">HIV_INTERACTION_CATEGORY</option> + <option value="INTACT">INTACT</option> + <option value="MINT">MINT</option> + <option value="UCSC_TFBS">UCSC_TFBS</option> + </param> + <param name="Tissue_Expression" type="select" display="checkboxes" multiple="true" label="Tissue_Expression"> + <option value="CGAP_EST_QUARTILE">CGAP_EST_QUARTILE</option> + <option value="CGAP_SAGE_QUARTILE">CGAP_SAGE_QUARTILE</option> + <option value="GNF_U133A_QUARTILE">GNF_U133A_QUARTILE</option> + <option value="UNIGENE_EST_QUARTILE">UNIGENE_EST_QUARTILE</option> + <option value="UP_TISSUE">UP_TISSUE</option> + </param> + </when> + <when value="without_AnnotationCategories"> + </when> + </conditional> + <conditional name="FunctionalAnnotationCluster"> + <param name="set_FACluster_params" type="select" label="Functional Annotation Clustering"> + <option value="Yes">Yes</option> + <option value="No">No</option> + </param> + <when value="Yes"> + <param name="overlap" type="integer" min="3" max="10" value="3" label="Similarity Term Overlap"/> + <param name="kappa" type="select" label="Similarity Threshold"> + <option value="20">0.20</option> + <option value="25">0.25</option> + <option value="30">0.30</option> + <option value="35">0.35</option> + <option value="40">0.40</option> + <option value="45">0.45</option> + <option value="50" selected="True">0.50</option> + <option value="55">0.55</option> + <option value="60">0.60</option> + <option value="65">0.65</option> + <option value="70">0.70</option> + <option value="75">0.75</option> + <option value="80">0.80</option> + <option value="85">0.85</option> + <option value="90">0.90</option> + <option value="95">0.95</option> + <option value="100">1.00</option> + </param> + <param name="initialSeed" type="integer" min="2" max="10" value="3" label="Initial Group Membership"/> + <param name="finalSeed" type="integer" min="2" max="10" value="3" label="Initial Group Membership"/> + <param name="linkage" type="select" label="Multiple Linkage Threshold"> + <option value="0.0">0.00</option> + <option value="0.05">0.05</option> + <option value="0.10">0.10</option> + <option value="0.15">0.15</option> + <option value="0.20">0.20</option> + <option value="0.25">0.25</option> + <option value="0.30">0.30</option> + <option value="0.35">0.35</option> + <option value="0.40">0.40</option> + <option value="0.45">0.45</option> + <option value="0.50" selected="True">0.50</option> + <option value="0.55">0.55</option> + <option value="0.60">0.60</option> + <option value="0.65">0.65</option> + <option value="0.70">0.70</option> + <option value="0.75">0.75</option> + <option value="0.80">0.80</option> + <option value="0.85">0.85</option> + <option value="0.90">0.90</option> + <option value="0.95">0.95</option> + <option value="1.0">1.00</option> + </param> + </when> + <when value="No"> + </when> + </conditional> + <conditional name="FunctionalAnnotationChart"> + <param name="set_FAChart_params" type="select" label="Functional Annotation Chart"> + <option value="Yes">Yes</option> + <option value="No" selected="True">No</option> + </param> + <when value="Yes"> + <param name="count" type="integer" label="Count" value="2" /> + <param name="threshold" type="float" label="EASE" value="0.1" /> + </when> + <when value="No"> + </when> + </conditional> + <conditional name="FunctionalAnnotationTable"> + <param name="set_FATable_params" type="select" label="Functional Annotation Table"> + <option value="Yes">Yes</option> + <option value="No" selected="True">No</option> + </param> + <when value="Yes"> + </when> + <when value="No"> + </when> + </conditional> + <conditional name="GeneListReport"> + <param name="set_GLReport_params" type="select" label="Gene List Report"> + <option value="Yes">Yes</option> + <option value="No" selected="True">No</option> + </param> + <when value="Yes"> + </when> + <when value="No"> + </when> + </conditional> + </inputs> + <outputs> + <data name="output1" format="tabular" label="${tool.name} on ${on_string}: Functional Annotation Cluster"> + <filter>FunctionalAnnotationCluster['set_FACluster_params'] == 'Yes'</filter> + </data> + <data name="output2" format="tabular" label="${tool.name} on ${on_string}: Functional Annotation Chart"> + <filter>FunctionalAnnotationChart['set_FAChart_params'] == 'Yes'</filter> + </data> + <data name="output3" format="tabular" label="${tool.name} on ${on_string}: Functional Annotation Table"> + <filter>FunctionalAnnotationTable['set_FATable_params'] == 'Yes'</filter> + </data> + <data name="output4" format="tabular" label="${tool.name} on ${on_string}: Gene List Report"> + <filter>GeneListReport['set_GLReport_params'] == 'Yes'</filter> + </data> + </outputs> + <tests> + <test> + <param name="input1" value="demolist1" ftype="tabular"/> + <param name="identifier1" value="AFFYMETRIX_3PRIME_IVT_ID"/> + <param name="email" value="yes"/> + <conditional name="AnnotationCategories"> + <param name="setAnnotationCategories" value="with_AnnotationCategories"/> + <param name="Disease" value="GAD_DISEASE,GAD_DISEASE_CLASS,OMIM_DISEASE"/> + <param name="Gene_Ontology" value="GOTERM_MF_FAT,GOTERM_CC_FAT,GOTERM_BP_FAT"/> + <param name="Pathways" value="KEGG_PATHWAY"/> + </conditional> + <conditional name="FunctionalAnnotationCluster"> + <param name="set_FACluster_params" value="Yes"/> + </conditional> + <conditional name="FunctionalAnnotationChart"> + <param name="set_FAChart_params" value="Yes"/> + </conditional> + <conditional name="FunctionalAnnotationTable"> + <param name="set_FATable_params" value="Yes"/> + </conditional> + <conditional name="GeneListReport"> + <param name="set_GLReport_params" value="Yes"/> + </conditional> + <output name="output1"> + <assert_contents> + <has_text_matching expression="Annotation Cluster 1	Enrichment Score: \d*\.*\d*"/> + </assert_contents> + </output> + <output name="output2"> + <assert_contents> + <has_line_matching expression="Category	Term	Count	%	PValue	Genes	List Total	Pop Hits	Pop Total	Fold Enrichment	Bonferroni	Benjamini	FDR"/> + </assert_contents> + </output> + <output name="output3"> + <assert_contents> + <has_line_matching expression="ID	Gene Name	Species	BBID	BIOCARTA	COG_ONTOLOGY	GOTERM_BP_DIRECT	GOTERM_CC_DIRECT	GOTERM_MF_DIRECT	INTERPRO	KEGG_PATHWAY	OMIM_DISEASE	PIR_SUPERFAMILY	SMART	UP_KEYWORDS	UP_SEQ_FEATURE"/> + </assert_contents> + </output> + <output name="output4"> + <assert_contents> + <has_line_matching expression="ID	Name	Species"/> + </assert_contents> + </output> + </test> + </tests> + <help><![CDATA[ +**What it does** + +Retrieve data from the Database for Annotation, Visualization and Integrated Discovery (DAVID) using Web Services into R objects. This tool offers the main functionalities of DAVID website including: + +i) user-friendly connectivity to upload gene/background list/s, change gene/background position + +ii) Reports of the submitted Gene List, Gene/Term Clusters, Functional Annotation Chart, Functional Annotation Table + + +**Links and registration** + +http://david.abcc.ncifcrf.gov/ and +https://bioconductor.org/packages/release/bioc/html/RDAVIDWebService.html + +The used e-mail address has to be registered at https://david.ncifcrf.gov/webservice/register.htm in order to get access to DAVID (WebService) + + ]]></help> + <citations> + <citation type="doi">10.1093/bioinformatics/btt487</citation> + <citation type="doi">10.1038/nprot.2008.211</citation> + </citations> +</tool>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/demolist1 Thu May 23 13:44:50 2019 -0400 @@ -0,0 +1,164 @@ +1112_g_at +1331_s_at +1355_g_at +1372_at +1391_s_at +1403_s_at +1419_g_at +1575_at +1645_at +1786_at +1855_at +1890_at +1901_s_at +1910_s_at +1974_s_at +1983_at +2090_i_at +31506_s_at +31512_at +31525_s_at +31621_s_at +31687_f_at +31715_at +31793_at +32073_at +32084_at +32148_at +32163_f_at +32250_at +32279_at +32413_at +32418_at +32439_at +32469_at +32680_at +32717_at +33027_at +33080_s_at +33284_at +33293_at +33371_s_at +33516_at +33530_at +33684_at +33685_at +33922_at +33963_at +33979_at +34012_at +34233_i_at +34249_at +34436_at +34453_at +34467_g_at +34539_at +34546_at +34577_at +34606_s_at +34618_at +34623_at +34629_at +34636_at +34702_f_at +34703_f_at +34720_at +34972_s_at +35038_at +35069_at +35090_g_at +35091_at +35121_at +35169_at +35213_at +35367_at +35373_at +35439_at +35566_f_at +35595_at +35648_at +35896_at +35903_at +35915_at +35956_s_at +36234_at +36317_at +36328_at +36378_at +36436_at +36479_at +36703_at +36713_at +36766_at +37061_at +37096_at +37097_at +37105_at +37166_at +37172_at +37408_at +37454_at +37711_at +37814_g_at +37898_r_at +37905_r_at +37953_s_at +37954_at +37968_at +37983_at +38103_at +38128_at +38201_at +38229_at +38236_at +38482_at +38508_s_at +38604_at +38646_s_at +38674_at +38691_s_at +38816_at +38945_at +38948_at +39094_at +39187_at +39198_s_at +39469_s_at +39511_at +39698_at +39908_at +40058_s_at +40089_at +40186_at +40271_at +40294_at +40317_at +40350_at +40735_at +40790_at +40959_at +41113_at +41280_r_at +41489_at +606_at +679_at +822_s_at +919_at +936_s_at +966_at +967_g_at +32010_at +33077_at +36696_at +36421_at +31987_at +35996_at +38926_at +33246_at +40553_at +41703_r_at +34902_at +32407_f_at +34529_at +31576_at +1937_at