Generating Citations for BrainGlobe tools#

If you have brainglobe-utils installed, you can use the cite-brainglobe command-line tool it provides to generate citations or acknowledgement sentences. brainglobe-utils comes with the one-line BrainGlobe install (pip install brainglobe), but will also be fetched by most of our tools if you decide to install them as standalone. You can check whether or not you have the cite-brainglobe program available by running

cite-brainglobe --help

in a terminal in your BrainGlobe environment. If cite-brainglobe is installed, you should see the help and information about it printed to your terminal. If you get a “no such file or directory” or “no program found” message back, it means that you don’t have cite-brainglobe installed - you might need to update your BrainGlobe installation, or activate your BrainGlobe environment.

Using the tool#

You can tell cite-brainglobe which BrainGlobe tools you are using, and it will return to you a citation for each of those tools that you can copy into your work. You don’t need to use the exact tool name either, though cite-brainglobe is not perfect so it helps if you can be as close to the name as possible! Case-sensitivity is ignored, but you will have to use quotation marks if you refer to a tool that has a space in its name.

For example, if you want to cite BrainGlobe’s AtlasAPI tool;

$ cite-brainglobe "brainglobe atlasapi"
@article{bg-atlasapi,
    authors = "Federico Claudi and Luigi Petrucco and Adam Tyson and Tiago Branco and Troy Margrie and Ruben Portugues",
    title = "BrainGlobe Atlas API: a common interface for neuroanatomical atlases",
    journal = "Journal of Open Source Software",
    year = "2020",
    volume = "5",
    month = "10",
    doi = "10.21105/joss.02668",
}

You can also ask for citations for multiple tools at once, and leave out the “brainglobe” prefix for most tools. Asking for a citation for “brainglobe” will give you a citation that points to the BrainGlobe project webpage. The following command for example, asks for a citation for atlasapi (which is interpreted as “BrainGlobe AtlasAPI”), and for brainglobe - the BrainGlobe tool suite:

$ cite-brainglobe atlasapi brainglobe
@article{bg-atlasapi,
    authors = "Federico Claudi and Luigi Petrucco and Adam Tyson and Tiago Branco and Troy Margrie and Ruben Portugues",
    title = "BrainGlobe Atlas API: a common interface for neuroanatomical atlases",
    journal = "Journal of Open Source Software",
    year = "2020",
    volume = "5",
    month = "10",
    doi = "10.21105/joss.02668",
}

@software{brainglobe-meta,
    authors = "BrainGlobe Developers and Wiliam Michael Graham",
    title = "BrainGlobe",
    url = "https://brainglobe.info/",
    year = "2024",
    abstract = "The BrainGlobe Initiative exists to facilitate the development of interoperable Python-based tools for computational neuroanatomy.",
    license = "BSD-3-Clause",
}

By default, citations are printed to the terminal screen (stdout), which you can then copy where you need. The default output format for citations is bibtex. These can be changed by providing the appropriate flags as detailed in the usage pattern.

Usage Pattern#

cite-brainglobe’s usage pattern is available by passing the -h or --help flags:

$ cite-brainglobe --help
usage: cite-brainglobe [-h] [-l] [-s] [-w] [-o OUTPUT_FILE] [-f FORMAT] [tools ...]

Citation generation for BrainGlobe tools.

positional arguments:
  tools                 BrainGlobe tools to be cited.

options:
  -h, --help            show this help message and exit
  -l, --list            List citable BrainGlobe tools, and formats, then exit.
  -s, --software-citations
                        Explicitly cite software source code over academic papers.
  -w, --warn-unused     Print out when citation information is omitted by the chosen citation
                        format.
  -o OUTPUT_FILE, --output-file OUTPUT_FILE
                        Output file to write citations to.
  -f FORMAT, --format FORMAT
                        Citation format to write. Will be overwritten by the inferred format if
                        the output file argument is also provided. Valid formats can be listed
                        with the -l, --list option.

The -l (--list) option will provide you with a list of citation formats that the tool supports, and the list of tools that the program is aware of. Currently supported citation formats are:

  • Bibtex (*.tex), use --format bibtex to request this citation type.

  • Text (*.txt), use --format text to request this citation type. This option is mainly for when you want to generate a citation you can copy/paste into a bibliography, or an acknowledgements section.

The -s (--software-citations) option will prioritise citing BrainGlobe tool software — that is, the source code or program — rather than the article or journal entry that provides the theoretical basis for the tool or algorithm. By default we expect users to prefer citing the article, however if you specifically want to credit the software or tool implementation - in cases where you have made a contribution to the source code for example - you can use this option. Keep in mind that this option is set for all tools that you ask to be cited. If you want to cite some tools by software, and others by article, you will need to run cite-brainglobe twice, once with the -s flag and once without.

Some citation formats do not make use of all the metadata that we make available. If you want to be aware of cases where metadata has not been used, you can pass the -w or --warn-unused flag. This flag primarily exists for developers when debugging the tool.

You can redirect the citation output to a file of your choice by providing the -o (--output-file) option, followed by a valid file path. The file will be overwritten if it exists already, or created if it does not exist. If you do not provide a format via the -f flag, cite-brainglobe will attempt to infer the citation format you want from your output files extension. In the event this is impossible, the tool with report a failure.

The -f or --format option can be used to toggle the format of the citation that is produced, so long as it is one of the supported format types given by the --list option. For example,

cite-brainglobe -f txt

will write text (human-readable) citations as opposed to the default bibtex style. The -f flag will be ignored if you provide an output file with a supported extension via the -o option.