Pergola is a tool to process and convert longitudinal behavioral data into genomic data formats. This way data becomes compatible with genomics software tools for its analysis and visualization.

The required input of Pergola consists in:

  1. A CSV file containing behavioral data
  2. A mapping file setting the correspondence between the input and the output.

Run a job

  1. Provide a sequence of behavioral events.
    a. Upload a CSV file from your local disk.
    b. Copy and paste the sequence of events into the text area.
  2. Provide a mappings file setting the correspondence to pergola ontology terms of the fiels in your input data.
    a. Upload the file from your local disk.
    b. Configure it using the mappings menu.
  3. Set your options as desired. Otherwise, default settings are used.
  4. Submit your job
  5. Be patient. The execution time depends on the length of the input data.


Pergola generates the following outputs:

  1. BEHAVIORAL TRAJECTORY: n files containing a track of behavior corresponding to the number of different items under the field set as "track" in mapping file.
  2. FASTA FILE: A fasta file that can be used to load a genome to render data in a genome browser.

Pergola can process data in different ways. The available options are listed below LINK.


Access via webservice

It is possible to access programmatically this website and retrieve formatted files. We provide some example code for convenience in this Gist.

It can be run by simply typing: python myconfig.json

For JSON configuration definition, an example below. You can learn about the different available parameters by checking the '?' icons in the main page.

	"params": {
		"separator": "{TAB}",
		"outformatannot": "bed",
		"outformatcont": "bedGraph",
		"trackline": true,
		"relativecoord": true
	"files": {
		"infile": {
			"filename": "input.tsv",
			"content-type": "text/csv",
			"content-file": "input.csv"
		"mapfile": {
			"filename": "mapfile.txt",
			"content-type": "text/plain",
			"content-file": "b2p.txt"