Skip to content

Commit 759aab8

Browse files
authored
chore: deploy v0.16.0 to production (#914)
## Production Deployment: v0.16.0 This PR deploys release v0.16.0 to production. ### Release Highlights - 32 new features (including GA2 enhancements, workflow improvements, UI updates) - 4 bug fixes - 2 maintenance updates ### Full Release Notes https://github.com/galaxyproject/brc-analytics/releases/tag/v0.16.0 ### Deployment Impact Once merged to `production`, this will trigger the automatic production deployment workflow.
2 parents 5da4c93 + 9d4c759 commit 759aab8

File tree

210 files changed

+542416
-61843
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

210 files changed

+542416
-61843
lines changed

.github/workflows/run-checks.yml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,12 @@ jobs:
3737
- name: Test LinkML Python generation
3838
# Generate Python code from the main LinkML schemas, discarding the output; this will catch more subtle errors such as references to nonexistent elements.
3939
run: npm run test-gen-python
40-
- name: Validate catalog files
40+
- name: Validate BRC catalog files
4141
# Validate the catalog source files against their corresponding LinkML schemas.
42-
run: npm run validate-catalog
42+
run: npm run validate-brc-catalog
43+
- name: Validate GA2 catalog files
44+
# Validate the GA2 catalog source files.
45+
run: npm run validate-ga2-catalog
46+
- name: poetry lint
47+
# Validate the GA2 catalog source files.
48+
run: poetry check -P catalog/py_package/

.github/workflows/update-catalog.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727
- name: Install npm dependencies
2828
run: npm ci
2929
- name: Run catalog script
30-
run: npm run build-files-from-ncbi
30+
run: npm run build-brc-from-ncbi
3131
- name: Get current date
3232
id: date
3333
run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT

.prettierignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,5 @@ venv
1919

2020
#catalog
2121
/catalog/output
22+
/catalog/ga2/output
2223
/catalog/schema/generated

@types/theme.d.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,21 @@ import { PaletteColorOptions } from "@mui/material/styles";
44
* Palette definitions.
55
*/
66
declare module "@mui/material/styles" {
7+
interface BrandColors {
8+
accent: string;
9+
burntSienna: string;
10+
darkSienna: string;
11+
rawSienna: string;
12+
surface: string;
13+
}
14+
715
interface Palette {
16+
brand: BrandColors;
817
caution: PaletteColor;
918
}
1019

1120
interface PaletteOptions {
21+
brand?: Partial<BrandColors>;
1222
caution?: PaletteColorOptions;
1323
}
1424
}

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ pip install -r ./catalog/build/py/requirements.txt
2929
Then run the script:
3030

3131
```shell
32-
npm run build-files-from-ncbi
32+
npm run build-brc-from-ncbi
3333
```
3434

3535
The environment can be deactivated by running `deactivate`, and re-activated by running `source ./venv/bin/activate`

app/apis/catalog/brc-analytics-catalog/common/utils.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { sanitizeEntityId } from "../../common/utils";
12
import { BRCDataCatalogGenome, BRCDataCatalogOrganism } from "./entities";
23
import { ORGANISM_PLOIDY, WORKFLOW_PLOIDY } from "./schema-entities";
34

@@ -23,11 +24,6 @@ export function getGenomeOrganismId(genome: BRCDataCatalogGenome): string {
2324
return sanitizeEntityId(genome.speciesTaxonomyId);
2425
}
2526

26-
export function sanitizeEntityId(entityId?: string): string {
27-
if (!entityId) return "";
28-
return entityId.replace(/\./g, "_");
29-
}
30-
3127
/**
3228
* Get whether a given workflow ploidy is compatible with a given organism ploidy.
3329
* @param workflowPloidy - Workflow ploidy.

app/apis/catalog/common/utils.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
/**
2+
* Sanitize an entity ID by replacing all periods with underscores.
3+
* @param entityId - Entity ID.
4+
* @returns sanitized entity ID.
5+
*/
6+
export function sanitizeEntityId(entityId?: string): string {
7+
if (!entityId) return "";
8+
return entityId.replace(/\./g, "_");
9+
}

app/apis/catalog/ga2/entities.ts

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
import { ORGANISM_PLOIDY } from "../brc-analytics-catalog/common/schema-entities";
2+
3+
export type GA2Catalog = GA2AssemblyEntity | GA2OrganismEntity;
4+
5+
export interface GA2AssemblyEntity {
6+
accession: string;
7+
annotationStatus: string | null;
8+
chromosomes: number | null;
9+
coverage: string | null;
10+
gcPercent: number | null;
11+
geneModelUrl: string | null;
12+
isRef: "No" | "Yes";
13+
length: number;
14+
level: string;
15+
lineageTaxonomyIds: string[];
16+
ncbiTaxonomyId: string;
17+
ploidy: ORGANISM_PLOIDY[];
18+
scaffoldCount: number | null;
19+
scaffoldL50: number | null;
20+
scaffoldN50: number | null;
21+
speciesTaxonomyId: string;
22+
sra_data: SRAData[];
23+
strainName: string | null;
24+
taxonomicGroup: string[];
25+
taxonomicLevelClass: string;
26+
taxonomicLevelDomain: string;
27+
taxonomicLevelFamily: string;
28+
taxonomicLevelGenus: string;
29+
taxonomicLevelKingdom: string;
30+
taxonomicLevelOrder: string;
31+
taxonomicLevelPhylum: string;
32+
taxonomicLevelSpecies: string;
33+
taxonomicLevelStrain: string;
34+
tolId: string;
35+
ucscBrowserUrl: string | null;
36+
}
37+
38+
export interface GA2OrganismEntity {
39+
assemblyCount: number;
40+
assemblyTaxonomyIds: string[];
41+
genomes: GA2AssemblyEntity[];
42+
maxScaffoldN50: number | null;
43+
ncbiTaxonomyId: string;
44+
taxonomicGroup: string[];
45+
taxonomicLevelClass: string;
46+
taxonomicLevelDomain: string;
47+
taxonomicLevelFamily: string;
48+
taxonomicLevelGenus: string;
49+
taxonomicLevelKingdom: string;
50+
taxonomicLevelOrder: string;
51+
taxonomicLevelPhylum: string;
52+
taxonomicLevelSpecies: string;
53+
tolId: string;
54+
}
55+
56+
export interface SRAData {
57+
accession: string;
58+
biosample: string;
59+
instrument: string;
60+
library_layout: string;
61+
library_source: string;
62+
library_strategy: string;
63+
platform: string;
64+
run_total_bases: number | null;
65+
sra_run_acc: string;
66+
sra_sample_acc: string;
67+
sra_study_acc: string;
68+
total_bases: number | null;
69+
}

app/apis/catalog/ga2/utils.ts

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import { sanitizeEntityId } from "../common/utils";
2+
import { GA2AssemblyEntity, GA2OrganismEntity } from "./entities";
3+
4+
/**
5+
* Get the ID of the given assembly entity.
6+
* @param entity - Entity.
7+
* @returns entity ID.
8+
*/
9+
export function getAssemblyId(entity?: GA2AssemblyEntity): string {
10+
return sanitizeEntityId(entity?.accession);
11+
}
12+
13+
/**
14+
* Get the title of the given assembly entity.
15+
* @param entity - Entity.
16+
* @returns entity title.
17+
*/
18+
export function getAssemblyTitle(entity?: GA2AssemblyEntity): string {
19+
return entity?.taxonomicLevelSpecies || "";
20+
}
21+
22+
/**
23+
* Get the ID of the given organism entity.
24+
* @param entity - Entity.
25+
* @returns entity ID.
26+
*/
27+
export function getOrganismId(entity?: GA2OrganismEntity): string {
28+
return entity?.ncbiTaxonomyId || "";
29+
}

app/components/Entity/components/AnalysisMethodsCatalog/utils.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import {
33
BRCDataCatalogGenome,
44
Workflow,
55
} from "../../../../apis/catalog/brc-analytics-catalog/common/entities";
6+
import { GA2AssemblyEntity } from "../../../../apis/catalog/ga2/entities";
67

78
/**
89
* Formats a trsId for use in URLs by removing the hash character if it begins with one
@@ -22,7 +23,7 @@ export function formatTrsId(trsId: string): string {
2223
*/
2324
export function workflowIsCompatibleWithAssembly(
2425
workflow: Workflow,
25-
assembly: BRCDataCatalogGenome
26+
assembly: BRCDataCatalogGenome | GA2AssemblyEntity
2627
): boolean {
2728
if (
2829
workflow.taxonomyId !== null &&

0 commit comments

Comments
 (0)