VirtualFlyBrain / pipeline

A repository for amalgamating pipeline issue tickets and general VFB pipeline doc
https://hub.docker.com/repository/docker/virtualflybrain/pipeline
1 stars 0 forks source link

Standardise system VFB KB curation system #5

Open dosumis opened 6 years ago

dosumis commented 6 years ago

Stories:

As a curator I want to be able to efficiently specify and load annotation of anatomical individuals already in the KB.

As a pipeline developer I want to be able to efficiently load annotations of anatomical individuals via a hardened, (semi?) automated pipeline.

Example code for adding from TSV is here:

https://github.com/VirtualFlyBrain/VFB_neo4j/blob/master/src/Adding%20annotations.ipynb

TODO:

dosumis commented 6 years ago

TSV formats:

Adding annotations:

subject_name subject_id relation_name relation_id object_name object_id
fru-M-300249 VFB_00000022 neuron FBbt_00005106
fru-M-300249 VFB_00000022 has synaptic terminal in RO_0002130 wedge FBbt_00045027

Note for classification - leave relation blank.

KB pattern writer object has various methods for adding other content

e.g. for adding new images:

def add_anatomy_image_set(self,
                          imaging_type,
                          label,
                          start,
                          template,
                          anatomical_type = '',
                          anatomy_attributes =  {},
                          dbxrefs = {}):

"""Adds typed inds for an anatomical individual and channel, linked to each other and to the specified template. label: Name of anatomical individual imaging_type: The name of a relevant FBbi term e.g. 'confocal microscopy', 'electron microscopy' template: short_form ID of channel:template to which the image is registered start: Start of range for generation of new accessions dbxrefs: dict of DB:accession pairs anatomy_attribute = A dictionary of attributes to add to anatomical entity, e.g. synonyms."""

Method returns iris to be used in further wiring up content (e.g. adding annotations to anatomical individual): return {'channel': channel_iri, 'anatomy': anat_iri}

dosumis commented 6 years ago

Some worked examples of image loads to map:

Berck EM neurons:

skid name Berck FBbt name FBbt id L/R
2611805 1a ORN left 1a ORN left larval olfactory receptor neuron Or1a FBbt:00100418 left
7527710 13a ORN left 13a ORN left larval olfactory receptor neuron Or13a FBbt:00100419 left
40045 22c ORN left 22c ORN left larval olfactory receptor neuron Or22c FBbt:00100420 left

imaging_type: SBEM . # Term from FBbi - Allow addition of these by name given only a small number of possibilities? label: 1a ORN left # Or perhaps merge name with skid to ensure uniqueness? template: L1 EM # anatomical_type: FBbt_00100418 dbxrefs = { "CATMAID_larval" : "skid_2611805" }

Questions:

Larval domains:

...