-
Notifications
You must be signed in to change notification settings - Fork 1
Queries_from_VFB1_to_VFB 2
Welcome to the geppetto-vfb wiki!
Gross typing in Neo is specified here. This gross typing controls what queries are displayed and the query return type used to specify compound queries.
label_types = {
'Neuron': 'neuron',
'Sensory_neuron': 'sensory neuron',
'Motor_neuron' : 'motor neuron',
'Peptidergic_neuron' : 'peptidergic neuron',
'Neuron_projection_bundle' : 'neuron projection bundle',
'Synaptic_neuropil': 'synaptic neuropil',
'Synaptic_neuropil_domain': 'synaptic neuropil domain',
'Synaptic_neuropil_subdomain': 'synaptic neuropil subdomain',
'Synaptic_neuropil_block': 'synaptic neuropil block',
'Clone': 'neuroblast lineage clone',
'Cluster': 'cluster',
'Neuroblast': 'neuroblast',
'GMC': 'ganglion_mother_cell',
'Anatomy': 'material anatomical entity',
'Cell': 'cell',
'Glial_cell': 'glial cell',
'Expression_pattern': 'expression_pattern'
}
To find the return type from an OWL query:
Subclasses queries all return type :Class Query that start with a class - that class specifies the return type. Look this up above. e.g.
FBbt_00005106 = neuron => label :Neuron so this query has return type :Neuron :
FBbt_00005106 that RO_0002131 some XXX.
In the case of SubClassOf X queries, the return type(s) = return type(s) of X. Implementing this in Geppetto is important to maximizing possibilities for compound queries e.g.
'glutamatergic neuron' AND 'has_synaptic_terminal in 'fan shaped body'
VFB 1 queries are specified here:
Edited version of java showing VFB2 versions in comments
//Subclasses
// Applicable to: :Class
ad.put("subclass", new String[]{"subclass", "Subclasses of ","subclass&XXX"});
// New ad.put("subclass", new String[]{"subclass", "Types of ","subclass&XXX"});
// Geppetto Return Type - inherits the types (Neo4j node Labels) of the query term (XXX).
// Applicable to: Class:Anatomy
ad.put("parts",
new String[]{"parts", "Parts of ",
"subclass&BFO_0000050 some XXX"
});
// Applicable to: Class:Synaptic_neuropil or Class:Ganglion; Return: :Neuron
ad.put("found",
new String[]{"found in", "Neurons with some part in ",
"subclass&FBbt_00005106 that RO_0002131 some XXX"
});
ad.put("synaptic",
new String[]{"have synaptic terminals in ", "Neurons with synaptic terminals in ",
"subclass&FBbt_00005106 that RO_0002130 some XXX"
});
ad.put("presynaptic",
new String[]{"have presynaptic terminals in ", "Neurons with presynaptic terminals in ",
"subclass&FBbt_00005106 that RO_0002113 some XXX"
}); // or 'BFO_0000050' some XXX)"
ad.put("postsynaptic",
new String[]{"have postsynaptic terminals in ", "Neurons with postsynaptic terminals in ",
"subclass&FBbt_00005106 that RO_0002110 some XXX"
});
// Applicable to: Class:Synaptic_neuropil; Return: :Neuron_projection_bundle
ad.put("tract",
new String[]{"tracts in ", "Tracts/nerves innervating ",
"subclass&FBbt_00005099 that RO_0002134 some XXX"
});
// Applicable to: Class:Neuron_projection_bundle; Return: :Neuron
ad.put("fasciculate",
new String[]{"fasciculating ", "Neurons fasciculating in (the) ",
"subclass&FBbt_00005106 that RO_0002101 some XXX"
});
// "subclass&FBbt_00007683 that RO_0002101 some XXX"
// });
//Lineage clones
// Applicable to: Class:Neuron_projection_bundle OR Class:Synaptic_Neuropil; Return: :Clone
ad.put("lineage_clone",
new String[]{"lineage clones", "Lineage clones found in ",
"subclass&FBbt_00007683 that RO_0002131 some XXX"
});
//Change to new String[]{"", "Lineage clones with some part in (the) ",
//Lineage clones
// OLD - redundant with query on :Anatomy
// ad.put("component_neuron",
// new String[]{"components", "Components of ",
// "subclass&BFO_0000050 some XXX"
// });
// NEW
// Applicable to: Class:Clone OR Class:Expression_pattern Return type: Cell
// ad.put("component_neuron",
// new String[]{"components", "Component cells of ",
// "subclassFBbt_00007002& that BFO_0000050 some XXX"
// });
// Applicable to: Class:Clone OR Class:Expression_pattern Return type: Neuron
// ad.put("component_neuron",
// new String[]{"components", "Component neurons of ",
// "subclass&FBbt_00005106 that BFO_0000050 some XXX"
// });
// NEW
// Applicable to: Class:Neuroblast OR Class:GMC Return type: Neuron
// ad.put("",
// new String[]{"", "Develops from ",
// "subclass&FBbt_00005106 that BFO_0000050 some XXX"
// });
// The following all have the same pre-query to be used before a query across annotations (expression/phenotype).
// To be revisited in
ad.put("transgene",
new String[]{"transgenes expressed in ", "Transgenes expressed in ",
"subclass&XXX",
"subclass&BFO_0000050 some XXX",
"subclass&FBbt_00007002 that RO_0002131 some XXX"
});
ad.put("geneex",
new String[]{"genes expressed in ", "Genes expressed in ",
"subclass&XXX",
"subclass&BFO_0000050 some XXX",
"subclass&FBbt_00007002 that RO_0002131 some XXX"
});
ad.put("phenotype",
new String[]{"phenotypes expressed in ", "Phenotypes expressed in ",
"subclass&XXX",
"subclass&BFO_0000050 some XXX",
"subclass&FBbt_00007002 that RO_0002131 some XXX"
// OLD
//Cluster of Individuals that overlap some X, clustered by shape
// ad.put("cluster_found",
// new String[]{"found in", "Neurons with some part in XXX, clustered by shape",
// "individual&'exemplar_of' some ('cluster' that 'has_exemplar' some ('neuron' that // 'overlaps' some X))"
// "individual&c099d9d6-4ef3-11e3-9da7-b1ad5291e0b0 some (VFB_10000005 that C888C3DB-AEFA-447F-BD4C-858DFE33DBE7 some (FBbt_00005106 that RO_0002131 some XXX))"
// });
// NEW
// Applicable to: Class:Synaptic_neuropil OR Class:Neuron_projection_bundle OR Class:Ganglion
// ; Return type = Cluster
// cluster that has_exemplar some (neuron that overlaps some 'medial antennal lobe tract')
// ad.put("cluster_found",
// new String[]{"found in", "Neurons with some part in XXX, clustered by shape",
// "individual&'exemplar_of' some ('cluster' that 'has_exemplar' some ('neuron' that // 'overlaps' some X))"
// "individual&VFB_10000005 that C888C3DB-AEFA-447F-BD4C-858DFE33DBE7 some (FBbt_00005106 that RO_0002131 some XXX)"
// });
// Applicable to: Class:Synaptic_neuropil OR Class:Neuron_projection_bundle OR Class:Ganglion
// ; Return type = Neuron
//Cluster of Individuals that overlap some X - unclustered
ad.put("ind_neuron_overlap",
new String[]{"found in", "Images of neurons with some part in XXX",
// "individual&'neuron' that 'overlaps' some X"
"individual&FBbt_00005106 that RO_0002131 some XXX"
});
// Superseded by Cypher:
// Individual members of a cluster - queries by cluster exemplar name
// ad.put("neuron_found",
// new String[]{"found in", "Neurons with shape similar to XXX ",
// // "individual&'member_of' some ('has_exemplar' value X)"
// "individual&RO_0002350 some (C888C3DB-AEFA-447F-BD4C-858DFE33DBE7 value XXX)"
// });
// Superseded by Cypher query
// ad.put("exemplar_neuron",
// new String[]{"exemplar neurons", "Examples of XXX", // Misuse of term exemplar...
// "individual&XXX"
// });
Cypher queries:
From template: query for all registered painted domains. Return type: Anatomy