diff --git a/Model/lib/wdk/model/questions/geneQuestions.xml b/Model/lib/wdk/model/questions/geneQuestions.xml
index 7690d0569e..45f3f73e27 100644
--- a/Model/lib/wdk/model/questions/geneQuestions.xml
+++ b/Model/lib/wdk/model/questions/geneQuestions.xml
@@ -931,6 +931,84 @@ In the analysis carried out by Alsford et al., pseudogenes, genes annotated as "
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $$sequence_id$$:$$cluster_start$$-$$cluster_end$$
+ ]]>
+
+
+
+
+
+
+
+
+ In addition to primary metabolites essential for growth and survival, fungi and some other microorganisms produce secondary metabolites. These often provide competitive advantages for the microorganism in its environment. They are also of interest as an important source of natural products. These compounds are typically encoded by co-located and co-expressed groups of genes that function together to build, modify, and export the final molecule. This co-located group is called a biosynthetic gene cluster (BGC). Well-known examples of secondary metabolites include antibiotics like penicillin and erythromycin, antifungals, and immunosuppressants like rapamycin.
+
+ antiSMASH is a bioinformatics tool to identify and annotate biosynthetic gene clusters. It works by searching for signature biosynthetic genes whose sequences are well conserved across known clusters. When it detects one of these signature genes, it defines a genomic region around it, predicts the cluster boundaries, and annotates every gene within that region with a predicted function. It then compares the identified cluster against a database of known BGCs to predict what compound the cluster might produce.
+
+ Cluster Category
+ The cluster category groups biosynthetic gene clusters (BGCs) into broad classes based on the type of natural product they produce. This is predicted based on the biochemical machinery represented in the cluster.
+
+ Common categories you are likely to see include:
+
+ - PKS (Polyketide synthases): Clusters that synthesize secondary metabolites comprising complex chains of alternating ketone and methylene groups. These molecules often function as antibiotics, antifungals, or anticancer compounds. Examples include erythromycin and rapamycin.
+ - NRPS (Nonribosomal peptide synthases): Clusters that synthesize secondary metabolites comprising amino acids, including non-proteinogenic amino acids, polymerized without using ribosomes. These molecules often function as antibiotics or siderophores. Examples include penicillin and vancomycin.
+ - Terpenes: Clusters that make terpenoids, a huge and diverse class of compounds derived from isoprene units, including sterols, pigments, and volatile compounds.
+ - RiPP (Ribosomally synthesised and post-translationally modified peptides): These clusters create compounds from small peptides that are initially made by the ribosome and then heavily modified. Examples include lanthipeptides and bacteriocins.
+ - Other: Clusters whose products cannot be categorized or that use a combination of structures from multiple categories.
+
+
+ Annotation
+ The annotation describes what a specific gene or protein within the cluster is predicted to do based on sequence similarity to known proteins.
+
+ Common annotations you are likely to see include:
+
+ - Biosynthetic: These are the signature biosynthetic genes that define a cluster and predict its function. These may be referred to as core or backbone genes.
+ - Biosynthetic additional: These are additional biosynthetic genes that further modify the primary product of a cluster (tailoring or decorating enzymes), or aid production of the product by supplying cofactors or substrates.
+ - Regulatory: These are transcription factors or other regulatory elements that control expression of this cluster.
+ - Resistance: These genes protect the organism from its own toxic products. Examples include efflux pumps or enzymes that modify the product futher to protect the host.
+ - Transport: These genes transport the product to its final location.
+ - Other: This label is applied by antiSMASH when a gene has similarity to genes that appear in other BCGs but where the role of the gene within the BCG is not understood.
+ - Unknown: This category is used for genes with no detectable similarity to antiSMASH models, and which have therefore not been annotated by antiSMASH.
+
+
+Read more about antismash here
+ ]]>
+
+
+
diff --git a/Model/lib/wdk/model/questions/params/geneParams.xml b/Model/lib/wdk/model/questions/params/geneParams.xml
index 6be78fbb21..b6f0a9054b 100644
--- a/Model/lib/wdk/model/questions/params/geneParams.xml
+++ b/Model/lib/wdk/model/questions/params/geneParams.xml
@@ -5104,6 +5104,29 @@ products of your selected type (or types).
+
+
+ The cluster category describes what kind of molecule the cluster is likely to make based on the biochemical machinery represnted in the cluster. Select one or more secondary metabolite cluster categories to explore.
+
+
+
+
+ The annotation describes the function of a specific gene within a biosynthetic cluster. Select one or more annotations to explore.
+
+
+
@@ -9729,6 +9752,62 @@ end as term
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Model/lib/wdk/model/questions/params/organismParams.xml b/Model/lib/wdk/model/questions/params/organismParams.xml
index 5fb56512b6..d3dae06639 100644
--- a/Model/lib/wdk/model/questions/params/organismParams.xml
+++ b/Model/lib/wdk/model/questions/params/organismParams.xml
@@ -438,6 +438,21 @@
+
+ Select the organism(s) to search.
+
+ pruneNodesWithSingleExtendingChild
+ showOnlyPreferredOrganisms
+
+
+
@@ -1170,6 +1185,31 @@
+
+
+
+
+
+
+
+
+
diff --git a/Model/lib/wdk/model/questions/queries/geneQueries.xml b/Model/lib/wdk/model/questions/queries/geneQueries.xml
index db008903c7..93c7853797 100644
--- a/Model/lib/wdk/model/questions/queries/geneQueries.xml
+++ b/Model/lib/wdk/model/questions/queries/geneQueries.xml
@@ -5773,6 +5773,85 @@ select distinct ta.gene_source_id
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ',
+ gc2.sequence_id, ':', gc2.cluster_start, '-', gc2.cluster_end, ''
+ ),
+ ', ' ORDER BY gc2.cluster_start
+ ) AS overlapping_clusters
+ FROM ranked r
+ JOIN gene_clusters gc2
+ ON gc2.source_id = r.source_id
+ AND gc2.antismash_cluster_id != r.antismash_cluster_id
+ WHERE r.rn = 1
+ GROUP BY r.source_id
+ )
+ SELECT r.source_id, r.gene_source_id, r.project_id,
+ 10 AS wdk_weight, 'Y' AS matched_result,
+ r.category, r.antismash_annotation, r.cluster_start, r.cluster_end, r.sequence_id,
+ r.org_abbrev,
+ GREATEST(r.cluster_start - 1000, 1) AS cluster_context_start,
+ r.cluster_end + 1000 AS cluster_context_end,
+ COALESCE(go.overlapping_clusters, 'No') AS overlapping_clusters
+ FROM ranked r
+ LEFT JOIN gene_overlaps go ON go.source_id = r.source_id
+ WHERE r.rn = 1
+ ]]>
+
+
+
diff --git a/Model/lib/wdk/model/records/geneRecord.xml b/Model/lib/wdk/model/records/geneRecord.xml
index af8f7b2164..00d5e450ee 100644
--- a/Model/lib/wdk/model/records/geneRecord.xml
+++ b/Model/lib/wdk/model/records/geneRecord.xml
@@ -3174,6 +3174,18 @@ name" internal="true"/>
+
+
diff --git a/Model/lib/wdk/model/records/geneTableQueries.xml b/Model/lib/wdk/model/records/geneTableQueries.xml
index 309b2a94b7..8f8ac9d617 100644
--- a/Model/lib/wdk/model/records/geneTableQueries.xml
+++ b/Model/lib/wdk/model/records/geneTableQueries.xml
@@ -4849,5 +4849,37 @@ FROM webready.GeneAttributes_p ga, (
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Model/lib/wdk/ontology/individuals.txt b/Model/lib/wdk/ontology/individuals.txt
index 2fee398d65..3240ffe622 100644
--- a/Model/lib/wdk/ontology/individuals.txt
+++ b/Model/lib/wdk/ontology/individuals.txt
@@ -75,6 +75,7 @@ TranscriptRecordClasses.TranscriptRecordClass.GeneQuestions.GenesByGeneType http
TranscriptRecordClasses.TranscriptRecordClass.GeneQuestions.GenesByIntronJunctions http://edamontology.org/topic_0114 Gene Structure TranscriptRecordClasses.TranscriptRecordClass search GeneQuestions.GenesByIntronJunctions menu webservice
TranscriptRecordClasses.TranscriptRecordClass.GeneQuestions.GenesByGeneModelChars http://edamontology.org/topic_0114 Gene Structure TranscriptRecordClasses.TranscriptRecordClass search GeneQuestions.GenesByGeneModelChars menu webservice
TranscriptRecordClasses.TranscriptRecordClass.GeneQuestions.GenesByGoTerm http://edamontology.org/topic_1775 Function analysis TranscriptRecordClasses.TranscriptRecordClass search GeneQuestions.GenesByGoTerm menu webservice
+TranscriptRecordClasses.TranscriptRecordClass.GeneQuestions.GenesBySecondaryMetabolites http://edamontology.org/topic_1775 Function analysis TranscriptRecordClasses.TranscriptRecordClass search GeneQuestions.GenesBySecondaryMetabolites menu webservice
## TEMPLATE_ANCHOR geneImageGoTermOntology
TranscriptRecordClasses.TranscriptRecordClass.GeneQuestions.GenesByPhenotype_phenotype_QIAGEN_RSRC searchCategory-phenotype-curated phenotype TranscriptRecordClasses.TranscriptRecordClass search GeneQuestions.GenesByPhenotype_phenotype_QIAGEN_RSRC webservice
TranscriptRecordClasses.TranscriptRecordClass.GeneQuestions.GenesByPhenotype_phenotype_DATA_RSRC searchCategory-phenotype-curated phenotype TranscriptRecordClasses.TranscriptRecordClass search GeneQuestions.GenesByPhenotype_phenotype_DATA_RSRC webservice
@@ -235,7 +236,8 @@ GeneRecordClasses.GeneRecordClass.specialJbrowseUrl http://edamontology.org/topi
GeneRecordClasses.GeneRecordClass.ExpressionGraphsDataTable http://edamontology.org/topic_3308 Transcriptomics GeneRecordClasses.GeneRecordClass table ExpressionGraphsDataTable gene record-internal
GeneRecordClasses.GeneRecordClass.UserDatasetsTranscriptomicsGraphsDataTable http://edamontology.org/topic_3308 Transcriptomics GeneRecordClasses.GeneRecordClass table UserDatasetsTranscriptomicsGraphsDataTable gene record-internal
GeneRecordClasses.GeneRecordClass.FacetMetadata http://edamontology.org/topic_3308 Transcriptomics GeneRecordClasses.GeneRecordClass table FacetMetadata gene record-internal
-GeneRecordClasses.GeneRecordClass.FungiVBOrgLinkoutsTable http://edamontology.org/topic_3308 Transcriptomics GeneRecordClasses.GeneRecordClass table FungiVBOrgLinkoutsTable gene record-internal
+GeneRecordClasses.GeneRecordClass.FungiVBOrgLinkoutsTable http://edamontology.org/topic_3308 Transcriptomics GeneRecordClasses.GeneRecordClass table FungiVBOrgLinkoutsTable gene record-internal
+GeneRecordClasses.GeneRecordClass.SecondaryMetaboliteClusters http://edamontology.org/topic_1775 Function analysis GeneRecordClasses.GeneRecordClass table SecondaryMetaboliteClusters gene record download
GeneRecordClasses.GeneRecordClass.ContXAxisMetadata http://edamontology.org/topic_3308 Transcriptomics GeneRecordClasses.GeneRecordClass table ContXAxisMetadata gene record-internal
GeneRecordClasses.GeneRecordClass.ai_expression http://edamontology.org/topic_3308 Transcriptomics GeneRecordClasses.GeneRecordClass attribute ai_expression gene 2 record
diff --git a/Model/src/main/java/org/apidb/apicommon/model/datasetInjector/AnnotatedGenome.java b/Model/src/main/java/org/apidb/apicommon/model/datasetInjector/AnnotatedGenome.java
index e7c2a06d5e..3ea86df2e6 100644
--- a/Model/src/main/java/org/apidb/apicommon/model/datasetInjector/AnnotatedGenome.java
+++ b/Model/src/main/java/org/apidb/apicommon/model/datasetInjector/AnnotatedGenome.java
@@ -321,10 +321,10 @@ public void addModelReferences() {
addWdkReference("GeneRecordClasses.GeneRecordClass", "attribute", "SyntenyGbrowseUrl");
}
- // FungalGPIForm only for FungiDB
- if (!(projectName.equals("FungiDB"))){
+ // for FungiDB only
+ if (projectName.equals("FungiDB")){
addWdkReference("GeneRecordClasses.GeneRecordClass", "table", "FungalGPIForm");
- addWdkReference("GeneRecordClasses.GeneRecordClass", "table", "SecondaryMetaboliteClusters");
+ addWdkReference("GeneRecordClasses.GeneRecordClass", "table", "SecondaryMetaboliteClusters");
}
// CommunityExpComments for only GiardiaDB and FungiDB