Opened 12 days ago

Last modified 4 hours ago

#2329 new enhancement

Implement a more fine-grained link between item subtypes and annotation type categories

Reported by: Nicklas Nordborg Owned by: everyone
Priority: major Milestone: BASE 3.20
Component: core Version:
Keywords: Cc:

Description

There is currently a very soft link that matches the name of the ItemSubtype with the name of the AnnotationTypeCategory. This is used for filtering out a subset of annotation types that should be relevent for the given subtype. However, this filtering is no longer enough.

For example, we have the subtype AlignedSequences and matching category. The problem now is that we use the AlignedSequences subtype for RNAseq, WGS and miRNA. The have some common annotations and some that are only relevant for one. For example, the FRACTION_MIRNA is only relevant when we have sequenced miRNA, but it is still included in lists and form for all AlignedSequences.

So we need to divided the AlignedSequences category into different sub-categories. In this case, the ItemSubtype and Pipeline annotation could be combined to make this happen, but we need a generic solution. The outline so far is:

  • No items should need to be updated. We should not introduce new ItemSubtypes, but may have to add more settings to existing subtypes.
  • All annotations in a AnnotationTypeCategory should be relevant for a given item. This means that existing categories should be split into several categories.
  • We need to come up with a smarter way to match categories from existing items. We can't just use the names of the subtype and category.

Change History (10)

comment:1 by Nicklas Nordborg, 12 days ago

In 8247:

References #2329: Implement a more fine-grained link between item subtypes and annotation type categories

Added ItemSubtype as a property to AnnotationTypeCategory. This allows us to create multiple categories with different names that are linked to a single subtype. An item will still match all categories and the combined set of all annotation types.

comment:2 by Nicklas Nordborg, 12 days ago

In 8248:

References #2329: Implement a more fine-grained link between item subtypes and annotation type categories

Added SubCategoriesAnnotationType to ItemSubtype. The idea is that for each subtype we can specify an annotation (enumeration) that can be used to divide items into sub-categories. The next step is to define values on the AnnotationTypeCategory that should match values from the selected annotation type. For example, if we select Pipeline as the sub-category annotation type for AlignedSequences we can define annotation type categories for RNAseq, WGS and miRNA with values that matches the pipeline values.

comment:3 by Nicklas Nordborg, 12 days ago

In 8249:

References #2329: Implement a more fine-grained link between item subtypes and annotation type categories

Updated the isUsed() and getUsingItems() on AnnotationType and ItemSubtype.

comment:4 by Nicklas Nordborg, 9 days ago

In 8250:

References #2329: Implement a more fine-grained link between item subtypes and annotation type categories

Added possibility to select the values that should be associated with a given annotation type category. The values to choose from are taken from the annotation type that is linked via the selected item subtype.

comment:5 by Nicklas Nordborg, 7 days ago

In 8251:

References #2329: Implement a more fine-grained link between item subtypes and annotation type categories

The "Annotations & parameters" tab and the "Edit annotations" dialog now try to find a matching annotation type category based on both the item subtype and the annotation type used for sub-categories.

comment:6 by Nicklas Nordborg, 6 days ago

In 8252:

References #2329: Implement a more fine-grained link between item subtypes and annotation type categories

Implemented better error handling in case the logged in user doesn't have permission to the annotation type.

comment:7 by Nicklas Nordborg, 6 days ago

In 8253:

References #2329: Implement a more fine-grained link between item subtypes and annotation type categories

Added possibility to set an AnnotationTypeCategory (=sub-category) for a context. If the category is linked to a subtype that has a specified annotation type for sub-categories a filter can be added to the context.

comment:8 by Nicklas Nordborg, 6 days ago

In 8254:

References #2329: Implement a more fine-grained link between item subtypes and annotation type categories

It should now be possible to select sub-context from subtype selection list

comment:9 by Nicklas Nordborg, 7 hours ago

In 8257:

References #2329: Implement a more fine-grained link between item subtypes and annotation type categories

Implemented functionality for specifying how a sub-category filter should be applied to a context via request parameters. There are four alternatives:

  • force: A filter is always applied
  • tmp: A temporary filter is always applied
  • auto: A filter is applied only if there is no existing filter
  • no: A filter is never applied


The "auto" option is the default.

comment:10 by Nicklas Nordborg, 4 hours ago

In 8258:

References #2329: Implement a more fine-grained link between item subtypes and annotation type categories

If there is only a single category with the same name as the subtype we do not add it as a sub-category since it will only look strange in the dropdown menu.

Note: See TracTickets for help on using tickets.