Skip to content

Commit

Permalink
Merge pull request #1633 from alliance-genome/release/v0.35.0-rc1
Browse files Browse the repository at this point in the history
As sprint review Jul 31st 2024
  • Loading branch information
VarunReddy1111 authored Aug 6, 2024
2 parents 57b576d + a026dc0 commit 14eb6bb
Show file tree
Hide file tree
Showing 199 changed files with 4,998 additions and 209 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -481,6 +481,7 @@ As the code goes through the different stages, it becomes more and more stable a
* Incrementing the `MAJOR` or `MINOR` release numbers as appropriate when
the previous release candidate was (or will be) promoted to a full release
and reset to rc1 for the next release.
* When choosing an alpha release make sure to include the Pull Requests that may have fixed bugs shortly after the sprint review, if they needed to be included in beta release.
4. Create a release/v`x`.`y`.`z`-rc`a` branch from the commit on the alpha branch
that was chosen earlier to be promoted.
```bash
Expand Down
2 changes: 1 addition & 1 deletion checkstyle.xml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
<module name="LeftCurly" />
<module name="NeedBraces" />
<module name="RightCurly" />
<module name="HideUtilityClassConstructor" />
<!-- <module name="HideUtilityClassConstructor" />-->
<module name="EmptyStatement" />
<module name="EqualsHashCode" />
<module name="InnerAssignment" />
Expand Down
8 changes: 7 additions & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,13 @@
<dependency>
<groupId>net.sourceforge.owlapi</groupId>
<artifactId>owlapi-distribution</artifactId>
<version>5.1.19</version>
<version>5.5.0</version>
</dependency>

<dependency>
<groupId>io.github.liveontologies</groupId>
<artifactId>elk-owlapi</artifactId>
<version>0.6.0</version>
</dependency>

<dependency>
Expand Down
21 changes: 11 additions & 10 deletions src/main/cliapp/src/components/GenericDataTable/GenericDataTable.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import { EntityDetailsAction } from '../Actions/EntityDetailsAction';
import { filterColumns, orderColumns, getIdentifier } from '../../utils/utils';
import { useGenericDataTable } from './useGenericDataTable';

import style from './styles.module.scss';
export const GenericDataTable = (props) => {
const {
tableName,
Expand Down Expand Up @@ -160,8 +161,8 @@ export const GenericDataTable = (props) => {

const rowEditorFilterNameHeader = (options) => {
return (
<div className="p-column-header-content">
<span className="p-column-title">Filters</span>
<div>
<span className="p-column-title text-center">Filters</span>
</div>
);
};
Expand Down Expand Up @@ -325,13 +326,13 @@ export const GenericDataTable = (props) => {
<Column
field="rowEditor"
rowEditor
className={'p-text-center p-0 min-w-3rem max-w-3rem text-base'}
className={`text-center max-w-7 ${style.rowEditorColumn} p-0 text-base`}
filter
filterElement={rowEditorFilterNameHeader}
showFilterMenu={false}
bodyStyle={{ textAlign: 'center' }}
frozen
headerClassName="surface-0 w-3rem sticky"
headerClassName={`surface-0 max-w-7rem ${style.rowEditorColumn} sticky`}
/>
)}
{deletionEnabled && (
Expand All @@ -341,10 +342,10 @@ export const GenericDataTable = (props) => {
body={(props) => deleteAction(props, isInEditMode)}
filterElement={rowEditorFilterNameHeader}
showFilterMenu={false}
className={`p-text-center p-0 min-w-3rem max-w-3rem ${isEditable ? 'visible' : 'hidden'}`}
className={`text-center p-0 max-w-3rem ${isEditable ? 'visible' : 'hidden'}`}
bodyStyle={{ textAlign: 'center' }}
frozen
headerClassName="surface-0 w-3rem sticky"
headerClassName="surface-0 max-w-3rem sticky"
/>
)}
{duplicationEnabled && (
Expand All @@ -357,10 +358,10 @@ export const GenericDataTable = (props) => {
<DuplicationAction props={props} handleDuplication={handleDuplication} disabled={isInEditMode} />
)}
showFilterMenu={false}
className={`p-text-center p-0 min-w-3rem max-w-3rem ${isEditable ? 'visible' : 'hidden'}`}
className={`text-center p-0 max-w-3rem ${isEditable ? 'visible' : 'hidden'}`}
bodyStyle={{ textAlign: 'center' }}
frozen
headerClassName="surface-0 w-3rem sticky"
headerClassName="surface-0 max-w-3rem sticky"
/>
)}
{hasDetails && (
Expand All @@ -369,10 +370,10 @@ export const GenericDataTable = (props) => {
editor={(props) => <EntityDetailsAction identifier={getIdentifier(props.rowData)} disabled={true} />}
body={(props) => <EntityDetailsAction identifier={getIdentifier(props)} disabled={isInEditMode} />}
showFilterMenu={false}
className={`p-text-center p-0 min-w-3rem max-w-3rem ${isEditable ? 'visible' : 'hidden'}`}
className={`text-center p-0 max-w-3rem ${isEditable ? 'visible' : 'hidden'}`}
bodyStyle={{ textAlign: 'center' }}
frozen
headerClassName="surface-0 w-3rem sticky"
headerClassName="surface-0 max-w-3rem sticky"
/>
)}
{columnList}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
.rowEditorColumn{
min-width : 6rem !important;
}
2 changes: 1 addition & 1 deletion src/main/cliapp/src/constants/Classes.js
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ export const CLASSES = Object.freeze({
WBPhenotypeTerm: { name: 'WBPheno', link: '/#/ontology/wbpheno', type: 'ontology' },
PATOTerm: { name: 'PATO', link: '/#/ontology/pato', type: 'ontology' },
HPTerm: { name: 'HP', link: '/#/ontology/hp', type: 'ontology' },
DPOTerm: { name: 'DPO', link: '/#/ontology/dpo', type: 'ontology' },
FBCVTerm: { name: 'FBCV', link: '/#/ontology/fbcv', type: 'ontology' },
MMOTerm: { name: 'MMO', link: '/#/ontology/mmo', type: 'ontology' },
APOTerm: { name: 'APO', link: '/#/ontology/apo', type: 'ontology' },
MITerm: { name: 'MI', link: '/#/ontology/mi', type: 'ontology' },
Expand Down
5 changes: 5 additions & 0 deletions src/main/cliapp/src/constants/FilterFields.js
Original file line number Diff line number Diff line change
Expand Up @@ -344,6 +344,10 @@ export const FIELD_SETS = Object.freeze({
filterName: 'geneticSexFilter',
fields: ['geneticSex.name'],
},
geneTypeFieldSet: {
filterName: 'geneTypeFilter',
fields: ['geneType.curie', 'geneType.name'],
},
gmiAggregationFieldSet: {
filterName: 'gmiAggregationFilter',
fields: ['relation.name'],
Expand Down Expand Up @@ -788,6 +792,7 @@ export const FILTER_CONFIGS = Object.freeze({
geneSymbolFilterConfig: { filterComponentType: 'input', fieldSets: [FIELD_SETS.geneSymbolFieldSet] },
geneSynonymsFilterConfig: { filterComponentType: 'input', fieldSets: [FIELD_SETS.geneSynonymsFieldSet] },
geneSystematicNameFilterConfig: { filterComponentType: 'input', fieldSets: [FIELD_SETS.geneSystematicNameFieldSet] },
geneTypeFilterConfig: { filterComponentType: 'input', fieldSets: [FIELD_SETS.geneTypeFieldSet] },
geneticModifiersFilterConfig: { filterComponentType: 'input', fieldSets: [FIELD_SETS.geneticModifiersFieldSet] },
idExampleFilterConfig: { filterComponentType: 'input', fieldSets: [FIELD_SETS.idExampleFieldSet] },
idPatternFilterConfig: { filterComponentType: 'input', fieldSets: [FIELD_SETS.idPatternFieldSet] },
Expand Down
1 change: 1 addition & 0 deletions src/main/cliapp/src/constants/SortFields.js
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ export const SORT_FIELDS = Object.freeze([
'geneSymbol.displayText',
'geneSecondaryIds.secondaryId',
'geneSystematicName.displayText',
'geneType.name',
'inchi',
'inchiKey',
'iupac',
Expand Down
8 changes: 8 additions & 0 deletions src/main/cliapp/src/containers/genesPage/GenesTable.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import { TextDialogTemplate } from '../../components/Templates/dialog/TextDialog
import { ListDialogTemplate } from '../../components/Templates/dialog/ListDialogTemplate';
import { TaxonTemplate } from '../../components/Templates/TaxonTemplate';
import { BooleanTemplate } from '../../components/Templates/BooleanTemplate';
import { OntologyTermTemplate } from '../../components/Templates/OntologyTermTemplate';

import { SearchService } from '../../service/SearchService';

Expand Down Expand Up @@ -191,6 +192,13 @@ export const GenesTable = () => {
filter: true,
filterConfig: FILTER_CONFIGS.geneSystematicNameFilterConfig,
},
{
field: 'geneType.name',
header: 'Gene Type',
body: (rowData) => <OntologyTermTemplate object={rowData.geneType} />,
sortable: true,
filterConfig: FILTER_CONFIGS.geneTypeFilterConfig,
},
{
field: 'taxon.name',
header: 'Taxon',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ describe('<GenesPage />', () => {
const systematicNameTd = await result.findByText('C35C5.5');
const taxonTd = await result.findByText(/Caenorhabditis elegans/i);
const xrefsTd = await result.findByText(/WBGene00003771Xref \(gene\)/);
const geneTypeTd = await result.findByText(/protein_coding_gene/i);

await waitFor(() => {
expect(modEntityIdTd).toBeInTheDocument();
Expand All @@ -56,6 +57,7 @@ describe('<GenesPage />', () => {
expect(systematicNameTd).toBeInTheDocument();
expect(taxonTd).toBeInTheDocument();
expect(xrefsTd).toBeInTheDocument();
expect(geneTypeTd).toBeInTheDocument();
});
});
});
7 changes: 7 additions & 0 deletions src/main/cliapp/src/containers/genesPage/mockData/mockData.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,13 @@ export const data = {
curie: 'NCBITaxon:6239',
name: 'Caenorhabditis elegans',
},
geneType: {
internal: false,
obsolete: false,
curie: 'SO:0001272',
name: 'tRNA_gene',
id: 25665,
},
dataProvider: {
internal: false,
obsolete: false,
Expand Down
2 changes: 1 addition & 1 deletion src/main/cliapp/src/containers/layout/SiteLayout.js
Original file line number Diff line number Diff line change
Expand Up @@ -282,6 +282,7 @@ export const SiteLayout = (props) => {
},
],
},
{ label: 'Flybase Controlled Vocabulary (FBcv)', icon: 'pi pi-fw pi-home', to: '/ontology/fbcv' },
{ label: 'Gene Ontology (GO)', icon: 'pi pi-fw pi-home', to: '/ontology/go' },
{ label: 'Genotype Ontology (GENO)', icon: 'pi pi-fw pi-home', to: '/ontology/geno' },
{ label: 'Measurement Method Ontology (MMO)', icon: 'pi pi-fw pi-home', to: '/ontology/mmo' },
Expand All @@ -304,7 +305,6 @@ export const SiteLayout = (props) => {
icon: 'pi pi-fw pi-home',
to: '/ontology/wbpheno',
},
{ label: 'Drosophila Phenotype Ontology (DPO)', icon: 'pi pi-fw pi-home', to: '/ontology/dpo' },
{ label: 'Human Phenotype Ontology (HP)', icon: 'pi pi-fw pi-home', to: '/ontology/hp' },
{ label: 'Mammalian Phenotype Ontology (MP)', icon: 'pi pi-fw pi-home', to: '/ontology/mp' },
{ label: 'Xenopus Phenotype Ontology (XPO)', icon: 'pi pi-fw pi-home', to: '/ontology/xpo' },
Expand Down
4 changes: 2 additions & 2 deletions src/main/cliapp/src/routes.js
Original file line number Diff line number Diff line change
Expand Up @@ -472,10 +472,10 @@ export default (
)}
/>
<SecureRoute
path="/ontology/dpo"
path="/ontology/fbcv"
render={() => (
<ErrorBoundary>
<GeneralOntologyComponent name="DPO" endpoint="dpoterm" />
<GeneralOntologyComponent showNamespace={true} name="FBcv" endpoint="fbcvterm" />
</ErrorBoundary>
)}
/>
Expand Down
4 changes: 3 additions & 1 deletion src/main/cliapp/src/service/DataLoadService.js
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,8 @@ export class DataLoadService extends BaseAuthService {
getBackendBulkLoadTypes(loadType) {
const bulkLoadTypes = {
BulkFMSLoad: [
'GFF',
'HTPDATASET',
'INTERACTION-GEN',
'INTERACTION-MOL',
'MOLECULE',
Expand Down Expand Up @@ -121,9 +123,9 @@ export class DataLoadService extends BaseAuthService {
'CMO',
'DAO',
'DO',
'DPO',
'ECO',
'EMAPA',
'FBCV',
'FBDV',
'GENO',
'GO',
Expand Down
43 changes: 31 additions & 12 deletions src/main/cliapp/src/service/TableStateService.js
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,9 @@ const modTableSettings = {
'dataProvider.sourceOrganization.fullName': { queryString: 'RGD', tokenOperator: 'AND' },
'dataProvider.sourceOrganization.shortName': { queryString: 'RGD', tokenOperator: 'AND' },
},
obsoleteFilter: {
obsolete: { queryString: 'false' },
},
},
tableKeyName: 'DiseaseAnnotations',
tableSettingsKeyName: 'DiseaseAnnotationsTableSettings',
Expand Down Expand Up @@ -93,6 +96,9 @@ const modTableSettings = {
'dataProvider.sourceOrganization.fullName': { queryString: 'SGD', tokenOperator: 'AND' },
'dataProvider.sourceOrganization.shortName': { queryString: 'SGD', tokenOperator: 'AND' },
},
obsoleteFilter: {
obsolete: { queryString: 'false' },
},
},
tableKeyName: 'DiseaseAnnotations',
tableSettingsKeyName: 'DiseaseAnnotationsTableSettings',
Expand All @@ -103,14 +109,6 @@ const modTableSettings = {
page: 0,
rows: 50,
first: 0,
filters: {
dataProviderFilter: {
'dataProvider.sourceOrganization.abbreviation': { queryString: 'WB', tokenOperator: 'AND' },
'dataProvider.sourceOrganization.fullName': { queryString: 'WB', tokenOperator: 'AND' },
'dataProvider.sourceOrganization.shortName': { queryString: 'WB', tokenOperator: 'AND' },
},
},
tableKeyName: 'DiseaseAnnotations',
multiSortMeta: [{ field: 'dateCreated', order: -1 }],
selectedColumnNames: [
'MOD Annotation ID',
Expand Down Expand Up @@ -148,6 +146,17 @@ const modTableSettings = {
'Genetic Modifiers',
'Asserted Genes',
],
filters: {
dataProviderFilter: {
'dataProvider.sourceOrganization.abbreviation': { queryString: 'WB', tokenOperator: 'AND' },
'dataProvider.sourceOrganization.fullName': { queryString: 'WB', tokenOperator: 'AND' },
'dataProvider.sourceOrganization.shortName': { queryString: 'WB', tokenOperator: 'AND' },
},
obsoleteFilter: {
obsolete: { queryString: 'false' },
},
},
tableKeyName: 'DiseaseAnnotations',
tableSettingsKeyName: 'DiseaseAnnotationsTableSettings',
},
},
Expand Down Expand Up @@ -187,14 +196,14 @@ const modTableSettings = {
'Genetic Modifiers',
],
filters: {
obsoleteFilter: {
obsolete: { queryString: 'false' },
},
dataProviderFilter: {
'dataProvider.sourceOrganization.abbreviation': { queryString: 'FB', tokenOperator: 'AND' },
'dataProvider.sourceOrganization.fullName': { queryString: 'FB', tokenOperator: 'AND' },
'dataProvider.sourceOrganization.shortName': { queryString: 'FB', tokenOperator: 'AND' },
},
obsoleteFilter: {
obsolete: { queryString: 'false' },
},
},
tableKeyName: 'DiseaseAnnotations',
tableSettingsKeyName: 'DiseaseAnnotationsTableSettings',
Expand Down Expand Up @@ -229,6 +238,9 @@ const modTableSettings = {
'dataProvider.sourceOrganization.fullName': { queryString: 'ZFIN', tokenOperator: 'AND' },
'dataProvider.sourceOrganization.shortName': { queryString: 'ZFIN', tokenOperator: 'AND' },
},
obsoleteFilter: {
obsolete: { queryString: 'false' },
},
},
tableKeyName: 'DiseaseAnnotations',
tableSettingsKeyName: 'DiseaseAnnotationsTableSettings',
Expand Down Expand Up @@ -269,6 +281,9 @@ const modTableSettings = {
'dataProvider.sourceOrganization.fullName': { queryString: 'ZFIN', tokenOperator: 'AND' },
'dataProvider.sourceOrganization.shortName': { queryString: 'ZFIN', tokenOperator: 'AND' },
},
obsoleteFilter: {
obsolete: { queryString: 'false' },
},
},
tableKeyName: 'DiseaseAnnotations',
tableSettingsKeyName: 'DiseaseAnnotationsTableSettings',
Expand Down Expand Up @@ -375,7 +390,11 @@ const modTableSettings = {
'Genetic Modifiers',
'Internal',
],
filters: {},
filters: {
obsoleteFilter: {
obsolete: { queryString: 'false' },
},
},
tableKeyName: 'DiseaseAnnotations',
tableSettingsKeyName: 'DiseaseAnnotationsTableSettings',
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,41 @@ private EntityFieldConstants() {
// Hidden from view, as it is a utility class
}

public static final String ASSEMBLY = "genomeAssembly.modEntityId";
public static final String TAXON = "taxon.curie";
public static final String DATA_PROVIDER = "dataProvider.sourceOrganization.abbreviation";
public static final String SECONDARY_DATA_PROVIDER = "secondaryDataProvider.sourceOrganization.abbreviation";
public static final String SOURCE_ORGANIZATION = "sourceOrganization.abbreviation";
public static final String DATA_PROVIDER = "dataProvider." + SOURCE_ORGANIZATION;
public static final String SECONDARY_DATA_PROVIDER = "secondaryDataProvider." + SOURCE_ORGANIZATION;

public static final String DA_SUBJECT = "diseaseAnnotationSubject";
public static final String DA_SUBJECT_TAXON = DA_SUBJECT + "." + TAXON;
public static final String EA_SUBJECT = "expressionAnnotationSubject";
public static final String PA_SUBJECT = "phenotypeAnnotationSubject";
public static final String ALLELE_ASSOCIATION_SUBJECT = "alleleAssociationSubject";
public static final String CODING_SEQUENCE_ASSOCIATION_SUBJECT = "codingSequenceAssociationSubject";
public static final String CONSTRUCT_ASSOCIATION_SUBJECT = "constructAssociationSubject";
public static final String EXON_ASSOCIATION_SUBJECT = "exonAssociationSubject";
public static final String SQTR_ASSOCIATION_SUBJECT = "sequenceTargetingReagentAssociationSubject";
public static final String TRANSCRIPT_ASSOCIATION_SUBJECT = "transcriptAssociationSubject";

public static final String DA_SUBJECT_TAXON = DA_SUBJECT + "." + TAXON;
public static final String EA_SUBJECT_TAXON = EA_SUBJECT + "." + TAXON;
public static final String PA_SUBJECT_TAXON = PA_SUBJECT + "." + TAXON;
public static final String ALLELE_ASSOCIATION_SUBJECT_DATA_PROVIDER = "alleleAssociationSubject." + DATA_PROVIDER;
public static final String CONSTRUCT_ASSOCIATION_SUBJECT_DATA_PROVIDER = "constructAssociationSubject." + DATA_PROVIDER;

public static final String ALLELE_ASSOCIATION_SUBJECT_DATA_PROVIDER = ALLELE_ASSOCIATION_SUBJECT + "." + DATA_PROVIDER;
public static final String CODING_SEQUENCE_ASSOCIATION_SUBJECT_DATA_PROVIDER = CODING_SEQUENCE_ASSOCIATION_SUBJECT + "." + DATA_PROVIDER;
public static final String CONSTRUCT_ASSOCIATION_SUBJECT_DATA_PROVIDER = CONSTRUCT_ASSOCIATION_SUBJECT + "." + DATA_PROVIDER;
public static final String EXON_ASSOCIATION_SUBJECT_DATA_PROVIDER = EXON_ASSOCIATION_SUBJECT + "." + DATA_PROVIDER;
public static final String SQTR_ASSOCIATION_SUBJECT_DATA_PROVIDER = SQTR_ASSOCIATION_SUBJECT + "." + DATA_PROVIDER;
public static final String TRANSCRIPT_ASSOCIATION_SUBJECT_DATA_PROVIDER = TRANSCRIPT_ASSOCIATION_SUBJECT + "." + DATA_PROVIDER;

public static final String GENOMIC_LOCATION_ASSOCIATION_OBJECT = "GenomicLocationAssociationObject";
public static final String CODING_SEQUENCE_GENOMIC_LOCATION_ASSOCIATION_OBJECT = "codingSequence" + GENOMIC_LOCATION_ASSOCIATION_OBJECT + ".name";
public static final String EXON_GENOMIC_LOCATION_ASSOCIATION_OBJECT = "exon" + GENOMIC_LOCATION_ASSOCIATION_OBJECT + ".name";
public static final String TRANSCRIPT_GENOMIC_LOCATION_ASSOCIATION_OBJECT = "transcript" + GENOMIC_LOCATION_ASSOCIATION_OBJECT + ".name";
public static final String CODING_SEQUENCE_GENOMIC_LOCATION_ASSOCIATION_OBJECT_ASSEMBLY = "codingSequence" + GENOMIC_LOCATION_ASSOCIATION_OBJECT + "." + ASSEMBLY;
public static final String EXON_GENOMIC_LOCATION_ASSOCIATION_OBJECT_ASSEMBLY = "exon" + GENOMIC_LOCATION_ASSOCIATION_OBJECT + "." + ASSEMBLY;
public static final String TRANSCRIPT_GENOMIC_LOCATION_ASSOCIATION_OBJECT_ASSEMBLY = "transcript" + GENOMIC_LOCATION_ASSOCIATION_OBJECT + "." + ASSEMBLY;

public static final String SUBJECT_GENE_DATA_PROVIDER = "subjectGene." + DATA_PROVIDER;
public static final String SUBJECT_GENE_TAXON = "subjectGene." + TAXON;
public static final String EA_SUBJECT_TAXON = "expressionAnnotationSubject.taxon.curie";
}
Loading

0 comments on commit 14eb6bb

Please sign in to comment.