Hippocampome.org Query Language

 

Objective:

Researchers use different criteria to select the neuron type they want to study. For example, a researcher might want to study all the interneurons in the stratum pyramidale of CA1. To manually map the potential neuron types being studied in this example to Hippocampome.org neuron types, one should go to the Morphology page of Hippocampome.org and look under CA1:SP column and choose all the interneurons having soma in this layer. We want to facilitate this task with the search engine. We have designed a query language to easily translate experimental criteria to a machine-readable syntax. We have also designed a search engine to get a query and return neuron types or potential connection among them. The criteria for fetching the presynaptic or postsynaptic neurons are morphology, electrophysiology, markers, firing patterns, and firing pattern parameters. Also, the neuron name, ID, and type can be included in criteria.

Query Syntax:

The syntax is inspired by Google’s search operators and we have tried to make queries easy to read in as much as possible. All queries should start with either “Neuron:(…)” or “Connection:(Presynaptic:(…), Postsynaptic:(…))” clause, which means we are searching for neuron types or potential connections, respectively. “” is the place holder for neuronal properties.

 

The syntax for describing the neuronal morphology, biomarkers, membrane electrophysiology, firing patterns, firing properties, neurotransmitter, and name are “Morphology:(…),” “Markers:(…),” “Electrophysiology:(…),” “FiringPattern:(…),” “FiringPatternParameter:(…),” “Neurotransmitter:(…),” and “Name:(…),” respectively. Here, is specific to the neuronal property. Different neuronal properties can be linked with “AND,” “OR,” or “NOT” logical operators. To include and exclude specific neuronal types we allow “Include:(…)” and “Exclude:(…)” clauses.

 

To search for neurons the following format can be used.

Neuron:(

Morphology:(…)

AND/OR/NOT

Electrophysiology:(…)

AND/OR/NOT

Markers:(…)

AND/OR/NOT

FiringPattern:(…)

AND/OR/NOT

FiringPatternParameters:(…)

AND/OR/NOT

Name:(…)

AND/OR/NOT

Neurotransmitter:(…),

Include:(…),

Exclude:(…)

)

 

To search for potential connections the following format can be used.

 

Connection:(

Presynaptic:(

     Morphology:(…)

AND/OR/NOT

Electrophysiology:(…)

AND/OR/NOT

Markers:(…)

AND/OR/NOT

FiringPattern:(…)

AND/OR/NOT

FiringPatternParameters:(…)

AND/OR/NOT

Name:(…)

AND/OR/NOT

Neurotransmitter:(…),

Include:(…),

Exclude:(…)

),

Postsynaptic:(

     Morphology:(…)

AND/OR/NOT

Electrophysiology:(…)

AND/OR/NOT

Markers:(…)

AND/OR/NOT

FiringPattern:(…)

AND/OR/NOT

FiringPatternParameters:(…)

AND/OR/NOT

Name:(…)

AND/OR/NOT

Neurotransmitter:(…),

Include:(…),

Exclude:(…)

     )

)

 

Note:

·     Although the formats presented in this document are indented and cross multiple lines for legibility, the search engine only accepts query strings presented in a single continuous line.

·     Multiple instances of each clause are allowed except Include and Exclude clauses, for which only one instance is allowed. For example, Neuron:(Morphology:(…) AND Morphology:(…)) is a valid clause.

·     You should avoid using the Include and Exclude clauses as much as possible, which contrast with the objective of the search engine.

·     On the result page, “source” means presynaptic neuron, whereas “destination” means postsynaptic neuron.

 

Search Clauses:

Morphology:

Information about the presence “1” or the absence “0” of dendrites, axons and soma of neurons in a hippocampal layer can be explained with “Dendrites:(…),” “Axons:(…),” and “Soma:(…)” clauses. Any number of these clauses can be joined with AND/OR/NOT. Here, are morphological criteria, which should include subregion and layer-values joined by a colon, i.e. Subregion:LayerValues.

Subregion can be either “DG,” “CA3,” “CA2,” “CA1,” “SUB,” or “EC.”

LayerValues is a list of “1”s, “0”s, or “?”s.

1 = present,

0 = absent, and

“?” = present or absent.

LayerValues length should be equal to the number of layers present within the given subregion in the order present in the Hippocampome.org morphology page.

In other words, DG, CA2, and CA1 need four layer-values, CA3 needs five, SUB needs three, and EC needs six, in the order presented in the following table.

Subregion

:

Layer

DG

:

SMo

SMi

SG

H

 

 

CA3

:

SLM

SR

SL

SP

SO

 

CA2

:

SLM

SR

SP

SO

 

 

CA1

:

SLM

SR

SP

SO

 

 

SUB

:

SM

SP

PL

 

 

 

EC

:

I

II

III

IV

V

VI

 

A colon is necessary but parentheses are not if only one morphological criterion is present. For example,

·               Morphology:Axons:DG:???1” means axons were present in DG Hilus.

·               Morphology:Dendrites:DG:11?0” means dendrites were present in DG outer Stratum Moleculare (SMo: at 1st index of layer values) and in DG inner Stratum Moleculare (SMi: 2nd index) but not in DG Hilus (H: 4th index), while presence or absence of dendrites in DG Stratum Granulosum (SG: 3rd index) is unknown.

·               Morphology:Soma:CA3:00000” means soma were not present in any layer of CA3.

·               Morphology:(Axons:DG:0??? AND (Dendrites:DG:1111 OR Soma:CA3:10001))” is an example that combines different criteria.

Layer values greater than one are allowed and, like one itself, they indicate presence.

·               Dendrites:DG:2222 is equivalent to Dendrites:DG:1111.

 

Markers:

A neuron can either express a marker “+,” not express it “-,” or have a mixed profile “±.” The information we have for the presence or absence of markers can be either based on direct “D” or inferential “I” evidence.

·               Markers:D+:CCK” finds all neuron types that have a positive direct inference for CCK.

·               Markers:(I+:CCK OR :CB)” finds all neuron types that have positive inference for CCK or mixed inference for CB.

·               Markers:(D+:CCK OR (D-:CB AND D-:PV))” is an example for multiple marker criteria.

Firing Patterns:

The syntax is similar to markers, except that here we have only direct inferences.

·               FiringPattern:D+:ASP.” finds all neuron types that have the firing pattern “ASP.”

·               FiringPattern:(D+:ASP. AND D+:FASP.)” finds all neuron types that have the firing patterns “ASP.” and “FASP.”

·               FiringPattern:(D-:PSWB AND (D+:ASP. OR D-:FASP.))” is an example for multiple firing-pattern criteria.

 

Electrophysiology and Firing Pattern Parameter:

These are numerical parameters for which we want to set a cutoff point.

·               Electrophysiology:Rin:<100” finds neurons having an input-resistance of less than 100 MΩ.

·               Electrophysiology:max_fr:>100” or “Electrophysiology:max_fr>100” find all neuron types that have a maximum firing rate greater than 100 Hz.

·               Electrophysiology:(max_fr:>50 OR Vrest:>=-65)” finds all neuron types that have a maximum firing rate greater than 50 Hz or a resting potential greater than or equal to -65 mV.

·               Electrophysiology:((max_fr:>29.89 OR Vrest:>=4.3) AND Rin:147)” is an example of multiple criteria.

·               FiringPatternParameter:delay_ms:>2” finds all neuron types that have a delayed firing greater than 2 ms.

·               FiringPatternParameter:(delay_ms:>2 OR istim_pa:<=4.3)” is an example of multiple criteria.

Note: For equal either use “:” or “=,” but not both at the same time. For example, “Electrophysiology:Rin:=147” is Invalid.

 

Name:

Search based on the formal neuron names. Multiple criteria are allowed. Space, ' or " characters are not allowed instead you can use the AND condition.

·               Name:(Interneuron AND Specific) finds any neuron named “Interneuron Specific.”

·               Name:((Interneuron AND Specific) OR Basket OR Axo-Axonic) is an example of multiple criteria.

 

Neurotransmitter:

A neuron can be either “Excitatory” or “Inhibitory.” We also recognize the “Both” flag.

·               “Connection:(Presynaptic:(Neurotransmitter:Both), Postsynaptic:(Neurotransmitter:Both))” returns all the potential connections in the Hippocampome.org

 

Include and Exclude:

Whenever search by neuronal properties needs to be trimmed, these commands are used. You need to know the numerical neuron IDs to use these commands.

·               “Include:1000” adds DG Granule cell to the list of presynaptic or postsynaptic neuron types.

·               Include:(1000,1002,1005)” adds DG Granule, Mossy, and MOLAX cells to the list of presynaptic or postsynaptic neuron types.

Note: The search engine returns the neuron IDs. If you go to the neuron page of each neuron, you can find the neuron ID in the URL.

 

List of Parameters

Morphology

Markers

Electrophysiology

FiringPattern

FiringPatternParameters

axons

CB

Vrest

ASP.

istim_pa

dendrites

CR

Rin

ASP.ASP.

tstim_pa

soma

PV

tm

ASP.NASP

delay_ms

 

CB1

Vthresh

ASP.SLN

pfs_ms

 

Mus2R

fast_AHP

D.

swa_mv

 

Sub P Rec

AP_ampl

D.ASP.

nisi

 

5HT-3

AP_width

D.FASP.NASP

isiav_ms

 

Gaba-a-alpha

max_fr

D.NASP

sd_ms

 

mGluR1a

slow_AHP

D.PSTUT

max_isi_ms

 

vGluT3

sag_ratio

D.TSWB.NASP

min_isi_ms

 

CCK

 

FASP.

first_isi_ms

 

ENK

 

FASP.ASP.

isiav1_2_ms

 

NPY

 

FASP.NASP

isiav1_3_ms

 

SOM

 

FASP.SLN

isiav1_4_ms

 

VIP

 

NASP

last_isi_ms

 

NG

 

PSTUT

isiavn_n_1_ms

 

alpha-actinin-2

 

PSWB

isiavn_n_2_ms

 

CoupTF II

 

TSTUT.

isiavn_n_3_ms

 

nNOS

 

TSTUT.ASP.

maxisi_minisi

 

RLN

 

TSTUT.NASP

maxisin_isin_m1

 

DYN

 

TSTUT.SLN

maxisin_isin_p1

 

NKB

 

TSWB.NASP

ai

 

PPTA

 

TSWB.SLN

rdmax

 

vGluT2

 

 

df

 

GAT-1

 

 

sf

 

CGRP

 

 

tmax_scaled

 

mGluR2/3

 

 

isimax_scaled

 

mGluR5

 

 

isiav_scaled

 

Prox1

 

 

sd_scaled

 

GABAa \delta

 

 

slope

 

VILIP

 

 

intercept

 

Mus1R

 

 

slope1

 

Mus3R

 

 

intercept1

 

Mus4R

 

 

css_yc1

 

ErbB4

 

 

xc1

 

CaM

 

 

slope2

 

Y1

 

 

intercept2

 

Man1a

 

 

slope3

 

Bok

 

 

intercept3

 

PCP4

 

 

xc2

 

AMIGO2

 

 

yc2

 

AMPAR 2/3

 

 

f1_2

 

Disc1

 

 

f1_2crit

 

PSA-NCAM

 

 

f2_3

 

BDNF

 

 

f2_3crit

 

p-CREB

 

 

f3_4

 

SCIP

 

 

f3_4crit

 

Math-2

 

 

p1_2

 

Neuropilin2

 

 

p2_3

 

vGAT

 

 

p3_4

 

mGluR1

 

 

p1_2uv

 

Caln

 

 

p2_3uv

 

vGlut1

 

 

p3_4uv

 

mGluR2

 

 

isii_isii_m1

 

mGluR3

 

 

i

 

SPO

 

 

isiav_i_n_isi1_i_m1

 

GABAa\alpha 2

 

 

maxisij_isij_m1

 

GABAa\alpha 3

 

 

maxisij_isij_p1

 

GABAa\alpha 4

 

 

nisi_c

 

GABAa\alpha 5

 

 

isiav_ms_c

 

GABAa\alpha 6

 

 

maxisi_ms_c

 

GABAa\beta 1

 

 

minisi_ms_c

 

GABAa\beta 2

 

 

first_isi_ms_c

 

GABAa\beta 3

 

 

tmax_scaled_c

 

GABAa\gamma 1

 

 

isimax_scaled_c

 

GABAa\gamma 2

 

 

isiav_scaled_c

 

mGluR5a

 

 

sd_scaled_c

 

GAT-3

 

 

slope_c

 

ChAT

 

 

intercept_c

 

EAAT3

 

 

slope1_c

 

GlyT2

 

 

intercept1_c

 

mGluR7a

 

 

css_yc1_c

 

mGluR8a

 

 

xc1_c

 

MOR

 

 

slope2_c

 

vAChT

 

 

intercept2_c

 

AChE

 

 

slope3_c

 

Kv3.1

 

 

intercept3_c

 

Cx36

 

 

xc2_c

 

Sub P

 

 

yc2_c

 

Id-2

 

 

f1_2_c

 

AR-beta1

 

 

f1_2crit_c

 

AR-beta2

 

 

f2_3_c

 

SATB1

 

 

f2_3crit_c

 

TH

 

 

f3_4_c

 

NECAB1

 

 

f3_4crit_c

 

mGluR4

 

 

p1_2_c

 

Chrna2

 

 

p2_3_c

 

SATB2

 

 

p3_4_c

 

Ctip2

 

 

p1_2uv_c

 

CXCR4

 

 

p2_3uv_c

 

GABA-B1

 

 

p3_4uv_c

 

GluA2

 

 

m_2p

 

GluA1

 

 

c_2p

 

GluA3

 

 

m_3p

 

GluA4

 

 

c1_3p

 

PPE

 

 

c2_3p

 

CRF

 

 

m1_4p

 

 

 

 

c1_4p

 

 

 

 

m2_4p

 

 

 

 

c2_4p

 

 

 

 

n_isi_cut_3p

 

 

 

 

n_isi_cut_4p

 

 

 

 

f_12

 

 

 

 

f_crit_12

 

 

 

 

f_23

 

 

 

 

f_crit_23

 

 

 

 

f_34

 

 

 

 

f_crit_34

 

 

 

 

p_12

 

 

 

 

p_12_uv

 

 

 

 

p_23

 

 

 

 

p_23_uv

 

 

 

 

p_34

 

 

 

 

p_34_uv

 

 

 

 

m_fasp

 

 

 

 

c_fasp

 

 

 

 

n_isi_cut_fasp

Sample Query:

You can find hundreds of examples on the Evidence tab of our Synaptome spreadsheet.

Connection:(Presynaptic:(Morphology:Soma:DG:0??? AND Neurotransmitter:Inhibitory), Postsynaptic:(FiringPatternParameter:delay_ms:>0 AND Markers:D-:CCK AND Electrophysiology:vrest<0))

 

API access

The link http://hippocampome.org/csv2db/search_engine_json.php?query_str= behaves like an API. You need to put your query after “=” sign. For example, the URL

http://hippocampome.org/csv2db/search_engine_json.php?query_str=Connection:(Presynaptic:(Neurotransmitter:Inhibitory AND Morphology:(Axons:CA3:??1?? OR Soma:CA3:??1??)), Postsynaptic:(Morphology:(Soma:DG:??1?) AND Name:Granule))

After URL encoding and resolving, you get a stringified JSON. Parsing the results, you can access a JSON database of potential connections.

{

   "1":{

      "source_id":"1026",

      "destination_id":"1000"

   },

   "2":{

      "source_id":"2019",

      "destination_id":"1000"

   }

}

If there was an error, you may want to detect it with regex /\s*<pre>\s*?<\/pre>/ before parsing the results.