API Reference



Introduction


Welcome to the cng.gmu.edu:8080 API documentation.


The API provides access to the neuron information, morphometry data and literature via three main endpoints using conventional HTTP requests. The documentation lists the HTTP methods supported as well as general error responses, followed by reference information about specific endpoints.

BASE URL

http://cng.gmu.edu:8080/api



Only the GET method is supported.
Method Usage
GET The GET method is used to retreive all the data in the repository. The information requested will be returned as JSON Objects. The attributes defined in the JSON Object can be used to send additional requests.


The API will also return standard HTTP statuses, including error codes.

If there is a problem with the request, the status will contain the error code, while the body of the response will usually contain additional information about the problem that was encountered.

Status Codes.
Code Details
200 Successful Request.
400 Bad request, usually wrong parameters to select queries.
404 Resource not found or does not exist.
405 Unsupported HTTP method used.
500 Internal Server Error. Please notify nmoadmin@gmu.edu.
								
This section includes example responses to the requests mentioned on the left side.
							
							

Neuron



Get all neurons



ENDPOINT

/neuron



The request to the above endpoint returns a list of neurons as shown in the response section.

The response contains
"neuronResources" - array of neurons
"_links" - which provide http links to the first,current,next and last pages.
"page" - which contains page information as well as total number of elements.

Query Parameters.
Parameter Default Description
page 0 The number of the page requested, starts from 0.
size 50 The number of the neurons listed per page. Please note that the maximum size allowed per page is 500.
sort neuron_id The parameter for the neurons to be sorted by, any of the fields present in the neuron can be used to sort. The order can be mentioned as well, by default it is ascending.
sort=neuron_id,asc
sort=neuron_name,desc
curl -X GET "http://cng.gmu.edu:8080/api/neuron"
								
{
    "_embedded": {
        "neuronResources": [
            {
                "neuron_id": 1,
                "neuron_name": "cnic_001",
                "archive": "Wearne_Hof",
                "note": "When originally released, this reconstruction had been incompletely processed, and this issue was fixed in release 6.1 (May 2015). The pre-6.1 version of the processed file is available for download here.",
                "age_classification": "old",
                "brain_region": [
                    "neocortex",
                    "prefrontal",
                    "layer 3"
                ],
                "cell_type": [
                    "Local projecting",
                    "pyramidal",
                    "principal cell"
                ],
                "species": "monkey",
                "strain": "Rhesus",
                "scientific_name": "Macaca mulatta",
                "stain": "lucifer yellow",
                "experiment_condition": "Control",
                "protocol": "in vivo",
                "slicing_direction": "custom",
                "reconstruction_software": "Neurozoom",
                "objective_type": "Not reported",
                "original_format": "Neurozoom.txt",
                "domain": "Dendrites, Soma, No Axon",
                "attributes": "Diameter, 3D, Angles",
                "magnification": "100",
                "upload_date": "2006-08-01",
                "deposition_date": "2005-12-31",
                "shrinkage_reported": "Reported",
                "shrinkage_corrected": "N",
                "reported_value": null,
                "reported_xy": null,
                "reported_z": null,
                "corrected_value": null,
                "corrected_xy": null,
                "corrected_z": null,
                "soma_surface": "834.0",
                "surface": "8842.91",
                "volume": "4725.89",
                "slicing_thickness": "400.00",
                "min_age": "24.0",
                "max_age": "25.0",
                "min_weight": "4500.0",
                "max_weight": "10000.0",
                "png_url": "http://cng.gmu.edu:8080/images/imageFiles/Wearne_Hof/cnic_001.png",
                "reference_pmid": null,
                "reference_doi": null,
                "physical_Integrity": "Dendrites Moderate",
                "_links": {
                    "self": {
                        "href": "http://cng.gmu.edu:8080/api/neuron/id/1"
                    },
                    "measurements": {
                        "href": "http://cng.gmu.edu:8080/api/morphometry/id/1"
                    }
                }
            },
            {
             .....
             }
        ]
    },
    "_links": {
        "first": {
            "href": "http://cng.gmu.edu:8080/api/neuron?page=0&size=50&sort=neuron_id,neuron_id,asc"
        },
        "self": {
            "href": "http://cng.gmu.edu:8080/api/neuron?page=0&size=50&sort=neuron_id,neuron_id,asc"
        },
        "next": {
            "href": "http://cng.gmu.edu:8080/api/neuron?page=1&size=50&sort=neuron_id,neuron_id,asc"
        },
        "last": {
            "href": "http://cng.gmu.edu:8080/api/neuron?page=1600&size=50&sort=neuron_id,neuron_id,asc"
        }
    },
    "page": {
        "size": 50,
        "totalElements": 80012,
        "totalPages": 1601,
        "number": 0
    }
}
								
							

Get a single neuron by id or name




ENDPOINT

/neuron/id/{neuron_id}




/neuron/name/{neuron_name}



Both the above requests accept the neuron_id or the neuron_name parameter in the URL and return a single neuron as the response.

The object also includes the link to the morphometry information of the neuron.

curl -X GET "http://cng.gmu.edu:8080/api/neuron/id/1"
								
{
    "neuron_id": 1,
    "neuron_name": "cnic_001",
    "archive": "Wearne_Hof",
    "note": "When originally released, this reconstruction had been incompletely processed, and this issue was fixed in release 6.1 (May 2015). The pre-6.1 version of the processed file is available for download here.",
    "age_classification": "old",
    "brain_region": [
        "neocortex",
        "prefrontal",
        "layer 3"
    ],
    "cell_type": [
        "Local projecting",
        "pyramidal",
        "principal cell"
    ],
    "species": "monkey",
    "strain": "Rhesus",
    "scientific_name": "Macaca mulatta",
    "stain": "lucifer yellow",
    "experiment_condition": "Control",
    "protocol": "in vivo",
    "slicing_direction": "custom",
    "reconstruction_software": "Neurozoom",
    "objective_type": "Not reported",
    "original_format": "Neurozoom.txt",
    "domain": "Dendrites, Soma, No Axon",
    "attributes": "Diameter, 3D, Angles",
    "magnification": "100",
    "upload_date": "2006-08-01",
    "deposition_date": "2005-12-31",
    "shrinkage_reported": "Reported",
    "shrinkage_corrected": "N",
    "reported_value": null,
    "reported_xy": null,
    "reported_z": null,
    "corrected_value": null,
    "corrected_xy": null,
    "corrected_z": null,
    "soma_surface": "834.0",
    "surface": "8842.91",
    "volume": "4725.89",
    "slicing_thickness": "400.00",
    "min_age": "24.0",
    "max_age": "25.0",
    "min_weight": "4500.0",
    "max_weight": "10000.0",
    "png_url": "http://cng.gmu.edu:8080/images/imageFiles/Wearne_Hof/cnic_001.png",
    "reference_pmid": null,
    "reference_doi": null,
    "physical_Integrity": "Dendrites Moderate",
    "_links": {
        "self": {
            "href": "http://cng.gmu.edu:8080/api/neuron/id/1"
        },
        "measurements": {
            "href": "http://cng.gmu.edu:8080/api/morphometry/id/1"
        }
    }
}
								
							

Get neurons with custom query




ENDPOINT

/neuron/select?q={query params}




General syntax of {query params} is {neuron_field_name}:{comma seaprated search_criteria}

    Examples
  • neuron_name:cnic_001 will return neuron with name cnic_001.
  • archive:ascoli will return all neurons which belong to the ascoli archive.
  • species:rat,cat,monkey will return all neurons which belong to the rat or cat or monkey species.


The returned response will be similar to the list all neurons response.

All the pagination and sorting parameters are supported with the custom select query as well.

The various neuron fields and their respective values can be retreived with the fields and fields/{field_name} endpoints.

curl -X GET "http://cng.gmu.edu:8080/api/neuron/select?q=species:cat"
								
{
    "_embedded": {
        "neuronResources": [
            {
                "neuron_id": 604,
                "neuron_name": "v_e_moto1",
                "archive": "Burke",
                "note": "Tissue shrinkage - range of 4-7%",
                "age_classification": "adult",
                "brain_region": [
                    "spinal cord"
                ],
                "cell_type": [
                    "Alpha",
                    "Motoneuron",
                    "principal cell"
                ],
                "species": "cat",
                "strain": "Not reported",
                "scientific_name": "",
                "stain": "horseradish peroxidase",
                "experiment_condition": "Control",
                "protocol": "in vivo",
                "slicing_direction": "parasagittal",
                "reconstruction_software": "Tablet",
                "objective_type": "Not reported",
                "original_format": "Burke.anat",
                "domain": "Dendrites, Soma, No Axon",
                "attributes": "Diameter, 3D, No Angles",
                "magnification": "25",
                "upload_date": "2006-08-01",
                "deposition_date": "2005-12-31",
                "shrinkage_reported": "Reported",
                "shrinkage_corrected": "Y",
                "reported_value": "5.5",
                "reported_xy": null,
                "reported_z": null,
                "corrected_value": null,
                "corrected_xy": null,
                "corrected_z": null,
                "soma_surface": "45238.9",
                "surface": "512417.0",
                "volume": "390413.0",
                "slicing_thickness": "75.00",
                "min_age": null,
                "max_age": null,
                "min_weight": "2300.0",
                "max_weight": "3500.0",
                "png_url": "http://cng.gmu.edu:8080/images/imageFiles/Burke/v_e_moto1.png",
                "reference_pmid": null,
                "reference_doi": null,
                "physical_Integrity": "Dendrites Complete",
                "_links": {
                    "self": {
                        "href": "http://cng.gmu.edu:8080/api/neuron/id/604"
                    },
                    "measurements": {
                        "href": "http://cng.gmu.edu:8080/api/morphometry/id/604"
                    }
                }
            },
          {
            .......
          }
        ]
    },
    "_links": {
        "first": {
            "href": "http://cng.gmu.edu:8080/api/neuron/select?page=0&size=50&sort=neuron_id,asc"
        },
        "self": {
            "href": "http://cng.gmu.edu:8080/api/neuron/select?page=0&size=50&sort=neuron_id,asc"
        },
        "next": {
            "href": "http://cng.gmu.edu:8080/api/neuron/select?page=1&size=50&sort=neuron_id,asc"
        },
        "last": {
            "href": "http://cng.gmu.edu:8080/api/neuron/select?page=3&size=50&sort=neuron_id,asc"
        }
    },
    "page": {
        "size": 50,
        "totalElements": 151,
        "totalPages": 4,
        "number": 0
    }
}
								
							

Example Bad request

curl -X GET "http://cng.gmu.edu:8080/api/neuron/select?q=neuron_name-qwer"
								
{
    "status": 400,
    "error": "Bad Request",
    "message": "The following syntax is incorrect: neuron_name-qwer",
    "path": "/api/neuron/select"
}
								
							

Extending the above select query with Filter query




ENDPOINT

/neuron/select?q={query params}&fq={query params}




This is a GET request and requires a parameter fq similar to q URL parameter seen earlier.

General syntax of fq is {neuron_field_name}:{comma seaprated search_criteria}

Each fq parameter can have only one neuron_field but there is no limit to the number of fq parameters that can exist in the URL.(Unless it does not exceed the maximum URL length of 2083 characters)

    Example Usage:
  • q=archive:ascoli&fq=rat will return all neurons which belong to the ascoli archive and of species rat.
  • This can be further filtered upon with additional fq parameters.
  • q=archive:ascoli&fq=species:rat&fq=brain_region:CA1 will return all neurons which belong to the Ascoli archive and belong to the rat species and brain region CA1.


The returned response will be similar to the list all neurons response.

All the pagination and sorting parameters are supported with the custom select query as well.

The various neuron fields and their respective values can be retreived with the fields and fields/{field_name} endpoints.

Since complex search criteria for neurons can result in extremely long url and hard to query with dynamic values. A POST request can also be used with the same endpoint. The data passed is of type {"key1":"value1", "key2":"value2"} with header "Content-Type: application/json". Key : Neuron field
Value : Comma separated values of the neuron field

    Example Usage:
  • GET request : curl -X GET "http://cng.gmu.edu:8080/api/neuron/select?q=species:cat,rat,monkey&fq=stain:lucifer yellow&fq=brain_region:layer 3&fq=strain:Macaque"
  • Equivalent POST request of the above search criteria : curl -d '{"species": ["cat","rat","monkey"], "stain":["lucifer yellow"],"brain_region":["layer 3"],"strain":["Macaque"]}' -H "Content-Type: application/json" -X POST http://cng.gmu.edu:8080/api/neuron/select
curl -X GET "http://cng.gmu.edu:8080/api/neuron/select?q=species:cat,rat,monkey&fq=stain:lucifer yellow&fq=brain_region:layer 3&fq=strain:Macaque"
								
{{
    "_embedded": {
        "neuronResources": [
            {
                "neuron_id": 37,
                "neuron_name": "cnic_013",
                "archive": "Wearne_Hof",
                "note": "When originally released, this reconstruction had been incompletely processed, and this issue was fixed in release 6.1 (May 2015). The pre-6.1 version of the processed file is available for download here.",
                "age_classification": "young",
                "brain_region": [
                    "neocortex",
                    "prefrontal",
                    "layer 3"
                ],
                "cell_type": [
                    "Local projecting",
                    "pyramidal",
                    "principal cell"
                ],
                "species": "monkey",
                "strain": "Macaque",
                "scientific_name": "Macaca fascicularis",
                "stain": "lucifer yellow",
                "experiment_condition": "Control",
                "protocol": "in vivo",
                "slicing_direction": "custom",
                "reconstruction_software": "Neurozoom",
                "objective_type": "Not reported",
                "original_format": "Neurozoom.txt",
                "domain": "Dendrites, Soma, No Axon",
                "attributes": "Diameter, 3D, Angles",
                "magnification": "100",
                "upload_date": "2006-08-01",
                "deposition_date": "2005-12-31",
                "shrinkage_reported": "Reported",
                "shrinkage_corrected": "N",
                "reported_value": null,
                "reported_xy": null,
                "reported_z": null,
                "corrected_value": null,
                "corrected_xy": null,
                "corrected_z": null,
                "soma_surface": "942.695",
                "surface": "7644.22",
                "volume": "5394.04",
                "slicing_thickness": "400",
                "min_age": "10.0",
                "max_age": "12.0",
                "min_weight": "6000.0",
                "max_weight": "10000.0",
                "png_url": "http://cng.gmu.edu:8080/images/imageFiles/Wearne_Hof/cnic_013.png",
                "reference_pmid": null,
                "reference_doi": null,
                "physical_Integrity": "Dendrites Moderate",
                "_links": {
                    "self": {
                        "href": "http://cng.gmu.edu:8080/api/neuron/id/37"
                    },
                    "measurements": {
                        "href": "http://cng.gmu.edu:8080/api/morphometry/id/37"
                    }
                }
            }
        ]
    },
    "page": {
        "size": 1,
        "totalElements": 20,
        "totalPages": 20,
        "number": 0
    }
}
								
							

Example Bad request

curl -X GET "http://cng.gmu.edu:8080/api/neuron/select?q=neuron_name-qwer"
								
{
    "status": 400,
    "error": "Bad Request",
    "message": "The following syntax is incorrect: neuron_name-qwer",
    "path": "/api/neuron/select"
}
								
							

Get all the available neuron fields




ENDPOINT

/neuron/fields




Returns a list of neuron fields avaialble.


These fields can be used in the field section of the custom queries.

curl -X GET "http://cng.gmu.edu:8080/api/neuron/fields"
								
{
    "Neuron Fields": [
        "neuron_id",
        "neuron_name",
        "archive",
        "reference_pmid",
        "reference_doi",
        "note",
        "age_classification",
        "brain_region",
        "cell_type",
        "species",
        "strain",
        "scientific_name",
        "stain",
        "experiment_condition",
        "protocol",
        "slicing_direction",
        "reconstruction_software",
        "objective_type",
        "original_format",
        "domain",
        "attributes",
        "magnification",
        "upload_date",
        "deposition_date",
        "shrinkage_reported",
        "shrinkage_corrected",
        "reported_value",
        "reported_xy",
        "reported_z",
        "corrected_value",
        "corrected_xy",
        "corrected_z",
        "soma_surface",
        "surface",
        "volume",
        "slice_thickness",
        "min_age",
        "max_age",
        "min_weight",
        "max_weight",
        "png_url",
        "Physical_Integrity"
    ]
}
								
							

Get all the available values for each neuron field




ENDPOINT

/neuron/fields/{field_name}




Returns a list of values present in the repository for the neuron field requested.


The response is paginated by size 500 as default and A page metadata object is also returned in the response which indicates total number of pages, number of elements in page, total number of elements returned as well as the curretn page number.


Please note that page numbers start from 0.

These values can be used in the search criteria section of the custom queries.

curl -X GET "http://cng.gmu.edu:8080/api/neuron/fields/species"
								
{
    "field_name": "species",
    "fields": [
        "drosophila melanogaster",
        "rat",
        "mouse",
        "human",
        "monkey",
        "zebrafish",
        "chimpanzee",
        "C. elegans",
        "giraffe",
        "Baboon",
        "Hamster",
        "sheep",
        "domestic pig",
        "elephant",
        "clouded leopard",
        "cat",
        "humpback whale",
        "rabbit",
        "cricket",
        "goldfish",
        "Tiger",
        "Xenopus laevis",
        "agouti",
        "pouched lamprey",
        "manatee",
        "salamander",
        "minke whale",
        "blowfly",
        "bottlenose dolphin",
        "chicken",
        "turtle",
        "Rana esculenta",
        "dragonfly ",
        "guinea pig",
        "Crab",
        "proechimys",
        "moth",
        "Blind mole-rat",
        "locust",
        "spiny lobster"
    ],
    "page": {
        "size": 40,
        "totalPages": 1,
        "totalElements": 40,
        "number": 0
    }
}
								
							

Get the count of neurons for each value in a neuron field




ENDPOINT

/neuron/partition/{field_name}




Returns a list of values present in the repository for the neuron field requested and the count of neurons associated with each value.


The response is paginated by size 500 as default and A page metadata object is also returned in the response which indicates total number of pages, number of elements in page, total number of elements returned as well as the curretn page number.


Please note that page numbers start from 0.

curl -X GET "http://cng.gmu.edu:8080/api/neuron/partition/species"
								
{
    "field_name": "species",
    "fields": {
        "rabbit": 134,
        "Crab": 26,
        "mouse": 17817,
        "cat": 151,
        "Blind mole-rat": 10,
        "Tiger": 105,
        "elephant": 164,
        "proechimys": 17,
        "turtle": 40,
        "rat": 25410,
        "chicken": 43,
        "chimpanzee": 604,
        "agouti": 80,
        "giraffe": 384,
        "drosophila melanogaster": 27246,
        "sheep": 199,
        "zebrafish": 1196,
        "moth": 11,
        "Hamster": 227,
        "spiny lobster": 3,
        "dragonfly ": 30,
        "minke whale": 60,
        "salamander": 62,
        "manatee": 70,
        "Rana esculenta": 37,
        "domestic pig": 165,
        "locust": 10,
        "C. elegans": 459,
        "cricket": 127,
        "clouded leopard": 154,
        "goldfish": 115,
        "human": 2720,
        "pouched lamprey": 75,
        "humpback whale": 143,
        "Xenopus laevis": 83,
        "Baboon": 367,
        "blowfly": 56,
        "bottlenose dolphin": 53,
        "monkey": 1332,
        "guinea pig": 27
    },
    "page": {
        "size": 40,
        "totalPages": 1,
        "totalElements": 40,
        "number": 0
    }
}
								
							

Literature



Get all Publications



ENDPOINT

/literature



The request to the above endpoint returns a list of publications as shown in the response section.

The response contains
"publicationResources" - array of publications
"_links" - which provide http links to the first,current,next and last pages.
"page" - which contains page information as well as total number of elements.

Query Parameters.
Parameter Default Description
page 0 The number of the page requested, starts from 0.
size 50 The number of the publications listed per page. Please note that the maximum size allowed per page is 500.
curl -X GET "http://cng.gmu.edu:8080/api/literature"
								
{
    "_embedded": {
        "publicationResources": [
            {
                "article_id": "56e9cf37e4b0355017b37b06",
                "pmid": "10704450",
                "doi": null,
                "journal": "The Journal of cell biology",
                "title": "Schwann cell myelination requires timely and precise targeting of P(0) protein",
                "authors": [
                    "X Yin",
                    "GJ Kidd",
                    "L Wrabetz",
                    "ML Feltri",
                    "A Messing",
                    "BD Trapp"
                ],
                "species": null,
                "brainRegion": null,
                "cellType": null,
                "tracingSystem": null,
                "evaluatedDate": null,
                "publishedDate": 952318800000,
                "dataUsage": [
                    "Describing"
                ],
                "sharedReconstructions": [],
                "status": [],
                "globalStatus": null,
                "collection": "article.negatives"
            },
            {
            	.......
            }
        ]
    },
    "_links": {
        "first": {
            "href": "http://cng.gmu.edu:8080/api/literature?page=0&size=1&sort=title,title,asc"
        },
        "self": {
            "href": "http://cng.gmu.edu:8080/api/literature?page=0&size=1&sort=title,title,asc"
        },
        "next": {
            "href": "http://cng.gmu.edu:8080/api/literature?page=1&size=1&sort=title,title,asc"
        },
        "last": {
            "href": "http://cng.gmu.edu:8080/api/literature?page=31769&size=1&sort=title,title,asc"
        }
    },
    "page": {
        "size": 1,
        "totalElements": 31770,
        "totalPages": 31770,
        "number": 0
    }
}
								
							

Get a single publication by article_id




ENDPOINT

/literature/id/{article_id}




The above requests accept the article_id as the parameter in the URL and returns a single publication as the response.

curl -X GET "http://cng.gmu.edu:8080/api/literature/id/56e9c95de4b0355017b314d2"
								
{
    "article_id": "56e9c95de4b0355017b314d2",
    "pmid": "25855163",
    "doi": "10.1523/JNEUROSCI.3603-14.2015",
    "journal": "The Journal of neuroscience : the official journal of the Society for Neuroscience",
    "title": "A distinct class of slow (~0.2-2 Hz) intrinsically bursting layer 5 pyramidal neurons determines UP/DOWN state dynamics in the neocortex",
    "authors": [
        "M. L. Lőrincz",
        "D. Gunner",
        "Y. Bao",
        "W. M. Connelly",
        "J. T. Isaac",
        "S. W. Hughes",
        "V. Crunelli"
    ],
    "species": [
        "mouse"
    ],
    "brainRegion": [
        "Neocortex"
    ],
    "cellType": [
        "Pyramidal cell"
    ],
    "tracingSystem": [
        "Neurolucida"
    ],
    "evaluatedDate": 1435636800000,
    "publishedDate": 1428465600000,
    "dataUsage": [
        "Describing"
    ],
    "sharedReconstructions": [],
    "status": [
        {
            "specificDetails": "Lost data",
            "nReconstructions": 43,
            "_links": {
                "Associated Neurons": {
                    "href": "Not available"
                }
            }
        }
    ],
    "globalStatus": "Not available",
    "collection": "article.positives"
}
								
							

Get publications with custom query




ENDPOINT

/neuron/select?q={query params}




General syntax of {query params} is {literature_field_name}:{comma seaprated search_criteria} similar to the neuron custom query but using literature fields and its respective values.



The returned response will be similar to the list all publications response.

All the pagination and sorting parameters are supported with the custom select query as well.

The various literature fields and their respective values can be retreived with the fields and fields/{field_name} endpoints.

curl -X GET "http://cng.gmu.edu:8080/api/literature/select?q=species:mouse"
								
{
    "_embedded": {
        "publicationResources": [
            {
                "article_id": "56e9c95de4b0355017b314d2",
                "pmid": "25855163",
                "doi": "10.1523/JNEUROSCI.3603-14.2015",
                "journal": "The Journal of neuroscience : the official journal of the Society for Neuroscience",
                "title": "A distinct class of slow (~0.2-2 Hz) intrinsically bursting layer 5 pyramidal neurons determines UP/DOWN state dynamics in the neocortex",
                "authors": [
                    "M. L. Lőrincz",
                    "D. Gunner",
                    "Y. Bao",
                    "W. M. Connelly",
                    "J. T. Isaac",
                    "S. W. Hughes",
                    "V. Crunelli"
                ],
                "species": [
                    "mouse"
                ],
                "brainRegion": [
                    "Neocortex"
                ],
                "cellType": [
                    "Pyramidal cell"
                ],
                "tracingSystem": [
                    "Neurolucida"
                ],
                "evaluatedDate": 1435636800000,
                "publishedDate": 1428465600000,
                "dataUsage": [
                    "Describing"
                ],
                "sharedReconstructions": [],
                "status": [
                    {
                        "specificDetails": "Lost data",
                        "nReconstructions": 43,
                        "_links": {
                            "Associated Neurons": {
                                "href": "Not available"
                            }
                        }
                    }
                ],
                "globalStatus": "Not available",
                "collection": "article.positives"
            },
            {
            	.........
            }
        ]
    },
    "_links": {
        "first": {
            "href": "http://cng.gmu.edu:8080/api/literature/select?page=0&size=50&sort=title,asc"
        },
        "self": {
            "href": "http://cng.gmu.edu:8080/api/literature/select?page=0&size=50&sort=title,asc"
        },
        "next": {
            "href": "http://cng.gmu.edu:8080/api/literature/select?page=1&size=50&sort=title,asc"
        },
        "last": {
            "href": "http://cng.gmu.edu:8080/api/literature/select?page=19&size=50&sort=title,asc"
        }
    },
    "page": {
        "size": 50,
        "totalElements": 996,
        "totalPages": 20,
        "number": 0
    }
}
								
							

Get all the available literature fields




ENDPOINT

/literature/fields




Returns a list of literature fields avaialble.


These fields can be used in the field section of the custom queries.

curl -X GET "http://cng.gmu.edu:8080/api/literature/fields"
								
{
    "Literature Fields": [
        "article_id",
        "pmid",
        "doi",
        "journal",
        "title",
        "authors",
        "species",
        "brainRegion",
        "cellType",
        "tracingSystem",
        "evaluatedDate",
        "publishedDate",
        "globalStatus",
        "collection",
        "dataUsage",
        "sharedReconstructions",
        "status",
        "nReconstructions"
    ]
}
								
							

Get all the available values for each literature field




ENDPOINT

/literature/fields/{field_name}




Returns a list of values present in the repository for the literature field requested.


The response is paginated by size 500 as default and A page metadata object is also returned in the response which indicates total number of pages, number of elements in page, total number of elements returned as well as the curretn page number.


Please note that page numbers start from 0.

These values can be used in the search criteria section of the custom queries.

curl -X GET "http://cng.gmu.edu:8080/api/literature/fields/tracingSystem"
								
{
    "field_name": "tracingSystem",
    "fields": [
        "Neurolucida",
        "NeuronJ",
        "Imaris",
        "Eutectic",
        "neurolucida",
        "Simple Neurite Tracer",
        "Neurite Tracer",
        "Neuromantic",
        "NeuronStudio",
        "Custom",
        "imaris",
        "Amira",
        "Neurolucida ",
        "Digitizing Tablet",
        "Vaa3D",
        "Simple neurite tracer",
        "org.bson.BsonUndefined@0",
        "ImageJ",
        "neuronj",
        "simple neurite tracer",
        "NeuTube",
        "Neuron_Morpho",
        "Neuronstudio",
        "TRAKA",
        "Tablet",
        "neurite tracer",
        "neuronJ",
        "Arbor",
        "Imaris filament tracer",
        "Knossos",
        "Neurite tracer",
        "NeuroLucida",
        "Neurolucdia",
        "Neuron Morpho",
        "TREES toolbox",
        "amira",
        "catmaid",
        "custom",
        "knossos",
        "neuromantic",
        "neuronstudio",
        "Amira 4.1.1",
        "Catmaid",
        "Filament Tracer",
        "FilamentTracer",
        "Imaris Filament Tracer",
        "Imaris/Bitplane",
        "Neurolucida & Neuromantic",
        "Neurozoom",
        "Not reported",
        "Simple Neuite Tracer",
        "SkeletonTree",
        "neuTube",
        "Amira-3.1.1",
        "Amira5, ImageJ",
        "Automated",
        "Autoneuron",
        "CATMAID",
        "CatMaid",
        "EM/Knossos",
        "Eutectic and Neurolucida",
        "IMARIS FilamentTracer",
        "Image J",
        "ImageJ/NeuronJ",
        "Imaris Filament Tracer ",
        "Imaris FilamentTracer",
        "Imaris filament tracer and Image J",
        "Imaris, Sholl analysis",
        "Knossos/Catmaid",
        "Lasaf",
        "MATLAB",
        "MBF AutoNeuron",
        "NeuRA",
        "NeuTu-Em",
        "NeuriteTracer",
        "NeuriteTracer, Vaa3D-Neuron & NeuronAnalyzer2D",
        "NeuroGPS-tree",
        "Neurolucid",
        "Neurolucida &  Simple Neurite Tracer ",
        "Neurolucida and NeuroExplorer",
        "Neurolucida and camera lucida",
        "Neurolucida or Neuromantic",
        "Neurolucida, Neuromantic, Neuron_Morpho",
        "Neurolucida, Volocity",
        "Neuron Morpho plugin",
        "Neuron Studio, Fiji Software",
        "Neuron Tracing System (Sun Technologies)",
        "Neuronj",
        "Neurotrace",
        "Raveler",
        "Sholl Analysis",
        "Simple Neurite Tracer plugin (ImageJ)",
        "Simple Neurite tracer",
        "Simple neurite tracer ",
        "SmartTracing",
        "TrakEM2",
        "TrakEm2",
        "Trees toolbox",
        "Vaa3D-Neuron 2",
        "neuTube, Raveler",
        "neurolucida & GPSneuron",
        "neurolucida & Imaris"
    ],
    "page": {
        "size": 102,
        "totalPages": 1,
        "totalElements": 102,
        "number": 0
    }
}
								
							

Get the count of publications for each value in a literature field




ENDPOINT

/literature/partition/{field_name}




Returns a list of values present in the repository for the literature field requested and the count of publications associated with each value.


The response is paginated by size 500 as default and A page metadata object is also returned in the response which indicates total number of pages, number of elements in page, total number of elements returned as well as the curretn page number.


Please note that page numbers start from 0.

curl -X GET "http://cng.gmu.edu:8080/api/literature/partition/tracingSystem"
								
{
    "field_name": "tracingSystem",
    "fields": {
        "neuromantic": 3,
        "Neurolucida and NeuroExplorer": 1,
        "catmaid": 3,
        "TRAKA": 4,
        "Autoneuron": 1,
        "Neuronj": 1,
        "Lasaf": 1,
        "Neuron_Morpho": 5,
        "Catmaid": 2,
        "Neurite tracer": 3,
        "Neurolucida ": 22,
        "CATMAID": 1,
        "Imaris Filament Tracer ": 1,
        "Knossos": 3,
        "NeuronJ": 161,
        "NeuroLucida": 3,
        "Simple neurite tracer": 8,
        "Filament Tracer": 2,
        "Imaris, Sholl analysis": 1,
        "Tablet": 4,
        "Eutectic": 107,
        "NeuriteTracer": 1,
        "Arbor": 3,
        "Not reported": 2,
        "Imaris": 119,
        "imaris": 30,
        "Neurotrace": 1,
        "neurite tracer": 4,
        "Neuron Studio, Fiji Software": 1,
        "Image J": 1,
        "Simple neurite tracer ": 1,
        "Automated": 1,
        "Amira5, ImageJ": 1,
        "TrakEm2": 1,
        "SmartTracing": 1,
        "Eutectic and Neurolucida": 1,
        "Neurolucida": 1568,
        "Neurolucida or Neuromantic": 1,
        "Simple Neurite Tracer": 77,
        "Neuron Tracing System (Sun Technologies)": 1,
        "Sholl Analysis": 1,
        "Neurolucida, Volocity": 1,
        "Imaris FilamentTracer": 1,
        "org.bson.BsonUndefined@0": 8,
        "neurolucida & GPSneuron": 1,
        "Neurolucida & Neuromantic": 2,
        "Neurite Tracer": 65,
        "TREES toolbox": 3,
        "Vaa3D": 10,
        "IMARIS FilamentTracer": 1,
        "Amira 4.1.1": 2,
        "NeuTube": 5,
        "Neuron Morpho": 3,
        "CatMaid": 1,
        "Knossos/Catmaid": 1,
        "TrakEM2": 1,
        "neuronj": 6,
        "NeuronStudio": 36,
        "Amira": 26,
        "neuTube": 2,
        "MBF AutoNeuron": 1,
        "Trees toolbox": 1,
        "FilamentTracer": 2,
        "EM/Knossos": 1,
        "custom": 3,
        "Imaris/Bitplane": 2,
        "MATLAB": 1,
        "Imaris filament tracer and Image J": 1,
        "Vaa3D-Neuron 2": 1,
        "Custom": 33,
        "Simple Neurite Tracer plugin (ImageJ)": 1,
        "Neurozoom": 2,
        "Neurolucida, Neuromantic, Neuron_Morpho": 1,
        "amira": 3,
        "neurolucida": 97,
        "Neuronstudio": 5,
        "neuTube, Raveler": 1,
        "ImageJ/NeuronJ": 1,
        "simple neurite tracer": 6,
        "NeuroGPS-tree": 1,
        "NeuriteTracer, Vaa3D-Neuron & NeuronAnalyzer2D": 1,
        "Neurolucid": 1,
        "Imaris filament tracer": 3,
        "Raveler": 1,
        "Neuron Morpho plugin": 1,
        "neuronstudio": 3,
        "NeuRA": 1,
        "Neurolucdia": 3,
        "Imaris Filament Tracer": 2,
        "Digitizing Tablet": 10,
        "SkeletonTree": 2,
        "neuronJ": 4,
        "ImageJ": 6,
        "neurolucida & Imaris": 1,
        "Simple Neuite Tracer": 2,
        "Neurolucida and camera lucida": 1,
        "Simple Neurite tracer": 1,
        "knossos": 3,
        "Neuromantic": 55,
        "Amira-3.1.1": 1,
        "NeuTu-Em": 1,
        "Neurolucida &  Simple Neurite Tracer ": 1
    },
    "page": {
        "size": 102,
        "totalPages": 1,
        "totalElements": 102,
        "number": 0
    }
}
								
							

Morphometry



Get all measurements



ENDPOINT

/morphometry



The request to the above endpoint returns a list of measurements for each neuron as shown in the response section.

The response contains
"_embedded" - array of neuron measurements.
"_links" - which provide http links to the first,current,next and last pages.
"page" - which contains page information as well as total number of elements.

Query Parameters.
Parameter Default Description
page 0 The number of the page requested, starts from 0.
size 50 The number of the neuron measurements listed per page. Please note that the maximum size allowed per page is 500.
curl -X GET "http://cng.gmu.edu:8080/api/morphometry"
								
{
    "_embedded": {
        "measurements": [
            {
                "neuron_name": "cnic_001",
                "neuron_id": 1,
                "surface": 8842.91,
                "volume": 4725.89,
                "soma_Surface": 834,
                "n_stems": 6,
                "n_bifs": 47,
                "n_branch": 100,
                "width": 230.779,
                "height": 330.4,
                "depth": 84.73,
                "diameter": 0.543665,
                "eucDistance": 224.624,
                "pathDistance": 253.921,
                "branch_Order": 8,
                "contraction": 0.934755,
                "fragmentation": 1274,
                "partition_asymmetry": 0.413619,
                "pk_classic": 1.52521,
                "bif_ampl_local": 33.3799,
                "fractal_Dim": 1.01989,
                "length": 4911.5
            },
            {
            	......
            }
        ]
    },
    "_links": {
        "first": {
            "href": "http://cng.gmu.edu:8080/api/morphometry?page=0&size=50&sort=Neuron_id,Neuron_id,asc"
        },
        "self": {
            "href": "http://cng.gmu.edu:8080/api/morphometry?page=0&size=50&sort=Neuron_id,Neuron_id,asc"
        },
        "next": {
            "href": "http://cng.gmu.edu:8080/api/morphometry?page=1&size=50&sort=Neuron_id,Neuron_id,asc"
        },
        "last": {
            "href": "http://cng.gmu.edu:8080/api/morphometry?page=1600&size=50&sort=Neuron_id,Neuron_id,asc"
        }
    },
    "page": {
        "size": 50,
        "totalElements": 80005,
        "totalPages": 1601,
        "number": 0
    }
}
								
							

Get a single neuron's measurements




ENDPOINT

/morphometry/id/{neuron_id}




/morphometry/name/{neuron_name}



Both the above requests accept the neuron_id or the neuron_name parameter in the URL and return a single measurement object as the response.

curl -X GET "http://cng.gmu.edu:8080/api/morphometry/name/cnic_001"
								
{
    "neuron_name": "cnic_001",
    "neuron_id": 1,
    "surface": 8842.91,
    "volume": 4725.89,
    "soma_Surface": 834,
    "n_stems": 6,
    "n_bifs": 47,
    "n_branch": 100,
    "width": 230.779,
    "height": 330.4,
    "depth": 84.73,
    "diameter": 0.543665,
    "eucDistance": 224.624,
    "pathDistance": 253.921,
    "branch_Order": 8,
    "contraction": 0.934755,
    "fragmentation": 1274,
    "partition_asymmetry": 0.413619,
    "pk_classic": 1.52521,
    "bif_ampl_local": 33.3799,
    "fractal_Dim": 1.01989,
    "length": 4911.5
}
								
							

Persistence Vectors



Get all Persistence Vectors



ENDPOINT

/pvec



The request to the above endpoint returns a list of pvecs for each neuron as shown in the response section.

The response contains
"_embedded" - array of neuron pvecs.
"_links" - which provide http links to the first,current,next and last pages.
"page" - which contains page information as well as total number of elements.

Query Parameters.
Parameter Default Description
page 0 The number of the page requested, starts from 0.
size 50 The number of the neuron pvecs listed per page. Please note that the maximum size allowed per page is 500.
curl -X GET "http://cng.gmu.edu:8080/api/morphometry"
								
{
    "_embedded": {
        "pvecs": [
            {
				"neuron_id": 1,
				"scaling_factor": 244.928,
				"distance": 0,
				"coefficients": [
									3276.79,
									3356.89,
									3432.29,
									3502.62,
									3567.51,
									3626.64,
									3679.7,
									3726.44,
									3766.62,
									3800.03,
									3826.52,
									3845.96,
									3858.28,
									3863.44,
									3861.44,
									3852.31,
									3836.15,
									3813.07,
									3783.24,
									3746.85,
									.
									.
									.
									all 100 coefficients
            {
            	......
            }
        ]
    },
    "_links": {
        "first": {
            "href": "http://cng.gmu.edu:8080/api/pvec?page=0&size=50&sort=neuron_id,neuron_id,asc"
        },
        "self": {
            "href": "http://cng.gmu.edu:8080/api/pvec?page=0&size=50&sort=neuron_id,neuron_id,asc"
        },
        "next": {
            "href": "http://cng.gmu.edu:8080/api/pvec?page=1&size=50&sort=neuron_id,neuron_id,asc"
        },
        "last": {
            "href": "http://cng.gmu.edu:8080/api/pvec?page=1600&size=50&sort=neuron_id,neuron_id,asc"
        }
    },
    "page": {
        "size": 50,
        "totalElements": 101503,
        "totalPages": 2031,
        "number": 0
    }
}
								
							

Get a single neuron's measurements




ENDPOINT

/pvec/id/{neuron_id}




The above request accepts the neuron_id parameter in the URL and return a single pvec object as the response.

curl -X GET "http://cng.gmu.edu:8080/api/pvec/id/1"
								
{
	"neuron_id": 1,
	"scaling_factor": 244.928,
	"distance": 0,
	"coefficients": [
						3276.79,
						3356.89,
						3432.29,
						3502.62,
						3567.51,
						3626.64,
						3679.7,
						3726.44,
						3766.62,
						3800.03,
						3826.52,
						3845.96,
						3858.28,
						3863.44,
						3861.44,
						3852.31,
						3836.15,
						3813.07,
						3783.24,
						3746.85,
						3704.12,
						3655.34,
						3600.77,
						3540.76,
						3475.63,
						3405.76,
						3331.52,
						3253.32,
						3171.55,
						3086.63,
						2998.99,
						2909.03,
						2817.17,
						2723.83,
						2629.4,
						2534.28,
						2438.85,
						2343.46,
						2248.47,
						2154.2,
						2060.95,
						1969,
						1878.63,
						1790.06,
						1703.52,
						1619.19,
						1537.24,
						1457.83,
						1381.06,
						1307.05,
						1235.87,
						1167.59,
						1102.26,
						1039.89,
						980.494,
						924.074,
						870.608,
						820.068,
						772.41,
						727.585,
						685.533,
						646.187,
						609.474,
						575.315,
						543.627,
						514.322,
						487.31,
						462.498,
						439.792,
						419.094,
						400.308,
						383.336,
						368.078,
						354.436,
						342.312,
						331.606,
						322.22,
						314.057,
						307.02,
						301.012,
						295.939,
						291.706,
						288.222,
						285.395,
						283.137,
						281.361,
						279.983,
						278.922,
						278.099,
						277.439,
						276.87,
						276.326,
						275.742,
						275.061,
						274.227,
						273.193,
						271.915,
						270.354,
						268.477,
						266.256
					]
				}