VirtualFlyBrain / VFB_owl

A repository for VFB owl files and the code that generates them
2 stars 1 forks source link

Incorrect classification for PNs #33

Closed mmc46 closed 6 years ago

mmc46 commented 7 years ago

In this results list

http://www.virtualflybrain.org/do/individual_list.html?action=exemplar_neuron&id=FBbt:00100227 therea re instances of PNs belonging to two classes: DL2d and VA1v.

I'm not sure where this is coming from. In the annotation table at the LMB there is only one.

For example:

  1. For fru-M-700157 (FruMARCM-M002374_seg001), classified as:

adult fruitless aDT-a neuron, adult antennal lobe projection neuron VA1v adPN, adult antennal lobe projection neuron DL2d adPN

In table:

      annotationid user_userid neuron_idid annotation_class                         text
1228          1905           4         148       laterality                   soma_right
1229          1906           4         148       laterality                   proj_right
3295          4779           2         148       NeuronType                         adPN
3956          5441           2         148        MainTract                         mALT
4390          5875           4         148     ALGlomerulus                         DL2d
5027          6512           2         148    NeuronSubType                          uPN
17386        19491           2         148          process                       v2good
28576        42104           2         148       NeuronType adult fruitless aDT-a neuron

"adult antennal lobe projection neuron VA1v adPN" should not be showing on the website.

  1. fru-M-200339 Classified as adult antennal lobe projection neuron DC2 adPN, adult fruitless aDT-a neuron, adult antennal lobe projection neuron VA1v adPN
      annotationid user_userid neuron_idid annotation_class                         text
3284          4768           2         388       NeuronType                         adPN
3945          5430           2         388        MainTract                         mALT
4381          5866           2         388     ALGlomerulus                          DC2
5016          6501           2         388    NeuronSubType                          uPN
17635        19740           2         388          process                       v2good
28588        42116           2         388       NeuronType adult fruitless aDT-a neuron
  1. fru-M-500211 Classified as: adult antennal lobe projection neuron VM7 adPN, adult fruitless aDT-a neuron, adult antennal lobe projection neuron VA1v adPN
      annotationid user_userid neuron_idid annotation_class                         text
1114          1786           2         853       laterality                   soma_right
3292          4776           2         853       NeuronType                         adPN
3953          5438           2         853        MainTract                         mALT
4387          5872           2         853     ALGlomerulus                          VM7
5024          6509           2         853    NeuronSubType                          uPN
17180        19285           2         853          process                       v2good
28589        42117           2         853       NeuronType adult fruitless aDT-a neuron

It seems that whenever there is a duplication, the extra class is adult antennal lobe projection neuron VA1v adPN.

On the web there are 46 VA1v neurons (=VA1lm), whereas in annotation there are only 22. The extra ones are:

 [7] "fru-F-500103" "fru-F-400125" "fru-F-800031" "fru-F-500247" "fru-F-000079" "fru-F-300093"
[13] "fru-F-300090" "fru-F-400230" "fru-M-600008" "fru-M-500036" "fru-M-800032" "fru-M-400042"
[19] "fru-M-400041" "fru-M-600062" "fru-M-300154" "fru-M-500123" "fru-M-500214" "fru-M-500211"
[25] "fru-M-500171" "fru-M-500169" "fru-M-500154" "fru-M-200339" "fru-M-700157"

None of them are annotated for VA1v (=VA1lm).

subset(annotation, neuron_idid%in%fc_idid(diff) & annotation_class=="ALGlomerulus")$text
 [1] "VM5d" "DL2d" "DM6"  "VM5v" "VM5v" "VM5v" "DL2d" "VM5d" "DL2d" "VM7"  "VC3l" "VM5d" "VM5v"
[14] "VM5d" "VM7"  "DL2d" "DL2d" "DL2d" "DL2d" "VM5v" "DC2"  "DL2d" "DL2d" "DL2d" "VM7"  "VM5v"
[27] "DL2d" "DL2d" "VM5d"
dosumis commented 7 years ago

Looks like the bug is in the ontology:

image

This says that all neurons that fulfill these requirements:

neuron and ('part of' some 'adult fruitless aDT-a lineage clone') and (develops_from some 'neuroblast ALad1') and (expresses some fruitless)

must have projections in both DA1 and VA1v...

Elsewhere they are classified as uPN and their lineage is recorded. This plus glomerulus is enough for automated classification under 'adult antennal lobe projection neuron VA1v adPN'.

We don't need any more fancy reasoning using the equivalence axiom above because we have plenty of things directly annotated as adult fruitless aDT-a neuron:

mysql> SELECT gene_name, Name from neuron n join annotation a on n.idid = a.neuron_idid where a.text like 'adult fruitless aDT-a neuron';

gene_name Name
FruMARCM-M002374_seg001 fru-M-700157
FruMARCM-M002622_seg001 fru-M-200339
FruMARCM-M001574_seg002 fru-M-500154
FruMARCM-M001786_seg002 fru-M-500169
FruMARCM-M001833_seg001 fru-M-500171
FruMARCM-M002107_seg001 fru-M-500211
FruMARCM-M002109_seg001 fru-M-500214
FruMARCM-M001235_seg001 fru-M-500123
FruMARCM-M001317_seg001 fru-M-400130
FruMARCM-M001436_seg002 fru-M-300154
FruMARCM-M001452_seg004 fru-M-600062
FruMARCM-M000636_seg001 fru-M-400041
FruMARCM-M000637_seg001 fru-M-400042
FruMARCM-M000851_seg001 fru-M-800032
FruMARCM-M000600_seg002 fru-M-500036
FruMARCM-M000137_seg001 fru-M-600008
FruMARCM-F002468_seg001 fru-F-400230
FruMARCM-F001606_seg002 fru-F-300090
FruMARCM-F001624_seg001 fru-F-300093
FruMARCM-F001637_seg001 fru-F-000079
FruMARCM-F001832_seg001 fru-F-700165
FruMARCM-F002090_seg001 fru-F-500247
FruMARCM-F000917_seg001 fru-F-800031
FruMARCM-F000957_seg002 fru-F-800040
FruMARCM-F000992_seg001 fru-F-400125
FruMARCM-F000659_seg001 fru-F-500103
FruMARCM-F000734_seg001 fru-F-800019
FruMARCM-F000760_seg001 fru-F-400086
FruMARCM-F000243_seg001 fru-F-300017
FruMARCM-F000263_seg001 fru-F-400041
FruMARCM-F000277_seg001 fru-F-400050
FruMARCM-F000365_seg001 fru-F-900008
FruMARCM-F000550_seg001 fru-F-600030
FruMARCM-F000622_seg001 fru-F-500092
FruMARCM-F000624_seg002 fru-F-500096

35 rows in set (0.13 sec)

mmc46 commented 7 years ago

Fixed, but I'd like to have a look at the generated owl files before closing the ticket.

dosumis commented 6 years ago

Looks fixed to me.

This is still true:

fru-M-500211 Classified as: adult antennal lobe projection neuron VM7 adPN, adult fruitless aDT-a neuron

But if it's wrong then one or more annotations should be trimmed:

image.png