Showing preview only (2,119K chars total). Download the full file or copy to clipboard to get everything.
Repository: ryanlayer/giggle
Branch: master
Commit: 215bf202d8e7
Files: 226
Total size: 2.0 MB
Directory structure:
gitextract_kvbrrru9/
├── .gitignore
├── .nojekyll
├── .travis.yml
├── LICENSE
├── Makefile
├── README.md
├── client/
│ ├── app.js
│ ├── assets/
│ │ ├── css/
│ │ │ ├── site.css
│ │ │ └── tetronimos.css
│ │ └── js/
│ │ └── colorbrewer.js
│ ├── heatmapD3.js
│ ├── index.html
│ └── smartview.html
├── data/
│ └── human.hg19.genome
├── docs/
│ ├── app.js
│ ├── assets/
│ │ ├── css/
│ │ │ ├── site.css
│ │ │ └── tetronimos.css
│ │ └── js/
│ │ └── colorbrewer.js
│ ├── doxygen.cfg
│ ├── heatmapD3.js
│ ├── index.html
│ ├── smartview.html
│ └── update_doxygen.sh
├── environment.yml
├── examples/
│ ├── cistrome/
│ │ ├── README.md
│ │ ├── get_qc.sh
│ │ ├── get_top.sh
│ │ └── rename.py
│ ├── fantom/
│ │ ├── README.md
│ │ └── rename.py
│ ├── gtex/
│ │ ├── bp.py
│ │ ├── gtex_to_bp.py
│ │ └── one_per_tissue.py
│ ├── gwas/
│ │ └── README.md
│ ├── myod/
│ │ └── README.md
│ ├── rme/
│ │ ├── EDACC_NAME.txt
│ │ ├── README.md
│ │ ├── Standardized_names.txt
│ │ ├── data_def.json
│ │ ├── get_data.sh
│ │ ├── groups.txt
│ │ ├── new_groups.txt
│ │ ├── new_groups_names.txt
│ │ ├── rename.py
│ │ ├── short_states.txt
│ │ ├── states.txt
│ │ └── web/
│ │ ├── header.txt
│ │ └── track_names.txt
│ ├── segway/
│ │ ├── cell_types.txt
│ │ ├── data_def.json
│ │ ├── get_data.sh
│ │ ├── rename.py
│ │ └── states.txt
│ └── ucsc/
│ ├── README.md
│ ├── data_def.json
│ ├── get_data.sh
│ └── parse_sql.py
├── experiments/
│ ├── cache_compression/
│ │ ├── README.html
│ │ ├── README.md
│ │ ├── comparison.py
│ │ └── roadmap_sort_comparisons/
│ │ ├── index/
│ │ │ ├── fastlz1.csv
│ │ │ ├── fastlz2.csv
│ │ │ ├── uncompressed.csv
│ │ │ ├── zlib0.csv
│ │ │ ├── zlib1.csv
│ │ │ ├── zlib3.csv
│ │ │ ├── zlib6.csv
│ │ │ └── zlib9.csv
│ │ ├── index.csv
│ │ ├── search1/
│ │ │ ├── fastlz1.csv
│ │ │ ├── fastlz2.csv
│ │ │ ├── uncompressed.csv
│ │ │ ├── zlib0.csv
│ │ │ ├── zlib1.csv
│ │ │ ├── zlib3.csv
│ │ │ ├── zlib6.csv
│ │ │ └── zlib9.csv
│ │ ├── search1.csv
│ │ ├── search2/
│ │ │ ├── fastlz1.csv
│ │ │ ├── fastlz2.csv
│ │ │ ├── uncompressed.csv
│ │ │ ├── zlib0.csv
│ │ │ ├── zlib1.csv
│ │ │ ├── zlib3.csv
│ │ │ ├── zlib6.csv
│ │ │ └── zlib9.csv
│ │ ├── search2.csv
│ │ └── space.csv
│ ├── chipseq/
│ │ └── README.md
│ ├── cistrome/
│ │ └── README.md
│ ├── fantom/
│ │ └── README.md
│ ├── gwas/
│ │ └── README.md
│ ├── mc_vs_table/
│ │ └── README.md
│ ├── metadata_index_query_filter/
│ │ ├── README.md
│ │ └── metadata_comparisons/
│ │ ├── combined.csv
│ │ ├── i1.csv
│ │ ├── i2.csv
│ │ ├── q1.csv
│ │ ├── q2.csv
│ │ ├── q3.csv
│ │ ├── q4.csv
│ │ ├── s1.csv
│ │ ├── s2.csv
│ │ ├── s3.csv
│ │ └── s4.csv
│ └── speed_test/
│ ├── README.md
│ └── speed_test.sh
├── flake.nix
├── scripts/
│ ├── cross.py
│ ├── get_overlaps.html
│ ├── get_ucsc_url.html
│ ├── giggle_gwas_heatmap.py
│ ├── giggle_heat_map.py
│ ├── lines.py
│ ├── scatter.py
│ ├── sort_bed
│ └── volcano.py
├── sharding/
│ ├── README.md
│ └── multi_giggle.py
├── src/
│ ├── Makefile
│ ├── api_test.c
│ ├── bpt.c
│ ├── bpt.h
│ ├── cache.c
│ ├── cache.h
│ ├── data_reg.c
│ ├── data_reg.h
│ ├── disk_file_header.c
│ ├── disk_file_header.h
│ ├── disk_store.c
│ ├── disk_store.h
│ ├── fastlz.c
│ ├── fastlz.h
│ ├── fastlz_wrapper.c
│ ├── fastlz_wrapper.h
│ ├── file_read.c
│ ├── file_read.h
│ ├── giggle.c
│ ├── giggle_index.c
│ ├── giggle_index.h
│ ├── index.c
│ ├── index_search.c
│ ├── jsw_avltree.c
│ ├── jsw_avltree.h
│ ├── kfunc.c
│ ├── kfunc.h
│ ├── leaf.c
│ ├── leaf.h
│ ├── lists.c
│ ├── lists.h
│ ├── ll.c
│ ├── ll.h
│ ├── metadata/
│ │ ├── Makefile
│ │ ├── intervals1.tsv
│ │ ├── intervals2.tsv
│ │ ├── metadata.conf
│ │ └── metadata_test.c
│ ├── metadata_index.c
│ ├── metadata_index.h
│ ├── offset_idx_lookup.c
│ ├── offset_index.c
│ ├── offset_index.h
│ ├── pq.c
│ ├── pq.h
│ ├── query_filter.c
│ ├── query_filter.h
│ ├── search.c
│ ├── search_file.c
│ ├── server_enrichment.c
│ ├── server_overlap.c
│ ├── sig_test.c
│ ├── speed_tests.c
│ ├── test.c
│ ├── timer.c
│ ├── timer.h
│ ├── util.c
│ ├── util.h
│ ├── wah.c
│ ├── wah.h
│ ├── zlib_wrapper.c
│ └── zlib_wrapper.h
└── test/
├── data/
│ ├── 1k.sort.bed.gz.tbi
│ └── many/
│ ├── 0.1.bed.gz.tbi
│ ├── 0.2.bed.gz.tbi
│ ├── 0.bed.gz.tbi
│ ├── 1.1.bed.gz.tbi
│ ├── 1.2.bed.gz.tbi
│ ├── 1.bed.gz.tbi
│ ├── 10.bed.gz.tbi
│ ├── 2.1.bed.gz.tbi
│ ├── 2.2.bed.gz.tbi
│ ├── 2.bed.gz.tbi
│ ├── 3.1.bed.gz.tbi
│ ├── 3.2.bed.gz.tbi
│ ├── 3.bed.gz.tbi
│ ├── 4.1.bed.gz.tbi
│ ├── 4.bed.gz.tbi
│ ├── 5.1.bed.gz.tbi
│ ├── 5.bed.gz.tbi
│ ├── 6.bed.gz.tbi
│ ├── 7.bed.gz.tbi
│ ├── 8.bed.gz.tbi
│ ├── 9.bed.gz.tbi
│ └── full_span.bed.gz.tbi
├── func/
│ └── giggle_tests.sh
└── unit/
├── Makefile
├── test_bpt.c
├── test_bulk_insert.c
├── test_cache.c
├── test_disk_store.c
├── test_file_read.c
├── test_genetic_offset_index.c
├── test_giggle.c
├── test_hash_list.c
├── test_kfunc.c
├── test_leaf_data.c
├── test_lists.c
├── test_ll.c
├── test_offset_index.c
├── test_util.c
├── test_zlib_wrapper.c
└── unity/
├── generate_test_runner.rb
├── type_sanitizer.rb
├── unity.c
├── unity.h
└── unity_internals.h
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitignore
================================================
doc/html/
inkids_rare.bed.gz
inkids_rare_smaller.bed.gz
*.o
**/*_Runner.c
*.dSYM/
*.DS_Store
bin/
lib/
ssshtest
test/**/*.idx
test/**/*.dat
.direnv
.DS_STORE
# Ignore test/unit build artifacts (compiled binaries and generated runners)
test/unit/test_*
!test/unit/test_*.c
test/unit/test_*_Runner.c
================================================
FILE: .nojekyll
================================================
================================================
FILE: .travis.yml
================================================
language: c
before_install:
- cd $TRAVIS_BUILD_DIR
- git clone https://github.com/arq5x/bedtools2.git
- cd bedtools2
- make
- cd bin
- export PATH=$PATH:`pwd`
- cd $TRAVIS_BUILD_DIR
- git clone https://github.com/samtools/htslib.git
- cd htslib
- pwd
- autoheader
- autoconf
- ./configure --disable-bz2 --disable-lzma --enable-libcurl
- make
- cd $TRAVIS_BUILD_DIR
script:
- cd test/unit/
- make
- cd $TRAVIS_BUILD_DIR
- make
- cd $TRAVIS_BUILD_DIR
- cd test/func/
- ./giggle_tests.sh
================================================
FILE: LICENSE
================================================
MIT License
Copyright (c) 2021 Ryan Layer
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
================================================
FILE: Makefile
================================================
BIN=bin
OBJ=obj
all:
@mkdir -p $(OBJ)
@mkdir -p $(BIN)
@mkdir -p lib
cd src; $(MAKE)
server:
@mkdir -p $(OBJ)
@mkdir -p $(BIN)
cd src; $(MAKE) server
clean:
rm -rf $(BIN)/*
rm -rf $(OBJ)/*
rm -rf lib/*
================================================
FILE: README.md
================================================
<img src="https://raw.githubusercontent.com/ryanlayer/giggle/master/img/logo.png" width="300"/>
GIGGLE is a genomics search engine that identifies and ranks the significance of shared genomic loci between query features and thousands of genome interval files.
- [Nature Methods paper](https://www.nature.com/articles/nmeth.4556)
- [Mailing list](https://groups.google.com/d/forum/giggle-discuss)
- [Video presentation (14m)](https://www.youtube.com/watch?v=yw8H7PhtZoA)
## Quickstart
### Install
Clone,
```bash
git clone https://github.com/ryanlayer/giggle.git
cd giggle
```
Then choose one of the following methods:
**Conda/Mamba**
```bash
mamba env create -f environment.yml
mamba activate giggle-dev
export HTS_INC=$CONDA_PREFIX/include
export HTS_LIB=$CONDA_PREFIX/lib
```
**Nix**
```bash
nix develop
```
**Ubuntu/Debian**
```bash
sudo apt-get install gcc make zlib1g-dev libssl-dev libhts-dev
export HTS_INC=/usr/include
export HTS_LIB=/usr/lib
```
### Build
```bash
make
```
### Basic Example
```bash
# Create some test data
mkdir -p example/beds && cd example
# Download and prepare a small dataset
curl -s "http://hgdownload.soe.ucsc.edu/goldenPath/hg19/database/microsat.txt.gz" \
| gunzip -c | cut -f 2,3,4 | sort -k1,1 -k2,2n | bgzip > beds/microsat.bed.gz
curl -s "http://hgdownload.soe.ucsc.edu/goldenPath/hg19/database/simpleRepeat.txt.gz" \
| gunzip -c | cut -f 2,3,4 | sort -k1,1 -k2,2n | bgzip > beds/simpleRepeat.bed.gz
# Index the files
giggle index -i "beds/*.bed.gz" -o my_index -s -f
# Search a region
giggle search -i my_index -r chr1:1000000-2000000
# Search with full record output
giggle search -i my_index -r chr1:1000000-2000000 -v
```
## Usage
GIGGLE has two main commands: `index` and `search`.
### Indexing
```
giggle index -i <input files> -o <output dir> -f
-i Files to index (e.g. "data/*.gz")
-o Index output directory
-s Files are sorted (faster indexing)
-f Force reindex if output directory exists
-m Metadata config file (see experiments/metadata_index_query_filter)
```
**Note:** Input files must be bgzipped BED or VCF files.
### Searching
```
giggle search -i <index directory> [options]
-i GIGGLE index directory
-r Region(s) to search (e.g. "chr1:1000-2000" or CSV "chr1:1-100,chr2:1-100")
-q Query file (bgzipped BED or VCF)
-c Show counts by indexed file
-s Show significance statistics (requires -q)
-v Show full matching records
-o Group results by query record (use with -v)
-f Filter to files matching pattern (regex CSV)
-g Genome size for significance testing (default: 3095677412)
-l List files in the index
-m Load metadata index
-u Apply query filter
```
### Search Examples
**Count overlaps per file:**
```bash
giggle search -i my_index -r chr1:1000000-2000000
# Output:
# #microsat.bed.gz size:41572 overlaps:5
# #simpleRepeat.bed.gz size:962714 overlaps:23
```
**Get full records:**
```bash
giggle search -i my_index -r chr1:1000000-2000000 -v
```
**Filter to specific files:**
```bash
giggle search -i my_index -r chr1:1000000-2000000 -f "simple"
```
**Statistical analysis with query file:**
```bash
giggle search -i my_index -q query.bed.gz -s
# Output includes: odds_ratio, Fisher's tests, combo_score
```
**Group results by query interval:**
```bash
giggle search -i my_index -q query.bed.gz -v -o
```
## Testing
### Unit Tests
```bash
cd test/unit && make
```
### Functional Tests
Requires `bedtools` in PATH.
```bash
# you may need to up the ulimit on some systems
# ulimit -n 1300
cd test/func && ./giggle_tests.sh
```
## Example Analysis: Roadmap Epigenomics
```bash
# Download pre-built index
wget https://s3.amazonaws.com/layerlab/giggle/roadmap/roadmap_sort.tar.gz
tar -zxvf roadmap_sort.tar.gz
# Build index (if "Too many open files": ulimit -Sn 16384)
giggle index -s -f -i "roadmap_sort/*gz" -o roadmap_sort_b
# Download query data
wget ftp://ftp.ncbi.nlm.nih.gov/geo/samples/GSM1218nnn/GSM1218850/suppl/GSM1218850_MB135DMMD.peak.txt.gz
# Filter to top peaks
zcat GSM1218850_MB135DMMD.peak.txt.gz \
| awk '$8>100' \
| cut -f1,2,3 \
| bgzip -c > query.bed.gz
# Search with significance
giggle search -s -i roadmap_sort_b/ -q query.bed.gz > results.txt
```
## Hosted Data
Pre-built indexes available for download:
- **Roadmap Epigenomics:** https://s3.amazonaws.com/layerlab/giggle/roadmap/roadmap_sort.tar.gz
- **UCSC Genome Browser:** https://s3.amazonaws.com/layerlab/giggle/ucsc/ucscweb_sort.tar.gz
- **FANTOM5:** https://s3.amazonaws.com/layerlab/giggle/fantom/fantom_sort.tar.gz
Interactive heatmap: http://ryanlayer.github.io/giggle/
## Web Server (Optional)
GIGGLE can run as a web service using [libmicrohttpd](http://www.gnu.org/software/libmicrohttpd/).
```bash
# Install dependencies
mkdir -p $HOME/usr/local/
# libmicrohttpd
wget http://ftpmirror.gnu.org/libmicrohttpd/libmicrohttpd-0.9.46.tar.gz
tar zxvf libmicrohttpd-0.9.46.tar.gz
cd libmicrohttpd-0.9.46
./configure --prefix=$HOME/usr/local/ && make && make install
cd ..
# json-c
wget https://github.com/json-c/json-c/archive/json-c-0.12.1-20160607.tar.gz
tar xvf json-c-0.12.1-20160607.tar.gz
cd json-c-json-c-0.12.1-20160607
./configure --prefix=$HOME/usr/local/ && make && make install
cd ..
export LD_LIBRARY_PATH=$HOME/usr/local/lib/
# Build server
cd giggle
make server
```
**Run servers:**
```bash
giggle/bin/server_enrichment -i roadmap_sort_b/ -u /tmp/ \
-d giggle/examples/rme/data_def.json -p 8080 &
giggle/bin/server_enrichment -i ucscweb_sort_b/ -u /tmp/ \
-d giggle/examples/ucsc/data_def.json -p 8081 &
# Access at:
# http://ryanlayer.github.io/giggle/?primary_index=localhost:8080&ucsc_index=localhost:8081
```
## Language Bindings
> **Note:** These community-maintained bindings may be outdated.
### Python
[python-giggle](https://github.com/brentp/python-giggle) by Brent Pedersen
```python
from giggle import Giggle
index = Giggle('my-index') # or Giggle.create('new-index', 'files/*.bed')
print(index.files)
result = index.query('chr1', 9999, 20000)
print(result.n_total_hits)
for hit in result[0]:
print(hit)
```
**Installation:**
```bash
# Requires: zlib, libcurl, libcrypto, libbz2, liblzma
git clone --recursive https://github.com/brentp/python-giggle
cd python-giggle
python setup.py install
```
### Go
[go-giggle](https://github.com/brentp/go-giggle) by Brent Pedersen
[](https://godoc.org/github.com/brentp/go-giggle)
```go
import giggle "github.com/brentp/go-giggle"
index := giggle.Open("/path/to/index")
res := index.Query("1", 565657, 567999)
index.Files() // all files in index
res.TotalHits() // total count
res.Hits() // []uint32 hits per file
res.Of(0) // []string results from first file
```
## Containers
### Docker
[giggle-docker](https://github.com/kubor/giggle-docker) by Ryuichi Kubo
```bash
docker run kubor/giggle-docker giggle -h
```
### Singularity
[giggle-singularity](https://github.com/HugoGuillen/giggle-singularity) by Hugo Guillen
```bash
giggle.sh check # verify configuration
giggle.sh pull # create container
giggle.sh index # create an index
giggle.sh search # search an index
```
================================================
FILE: client/app.js
================================================
var heatmap = null;
var giggleUrl = "http://localhost:8080/";
var giggleUCSCBrowserUrl = "http://localhost:8081/";
var ucscBrowserUrl = "https://genome.ucsc.edu/cgi-bin/hgTracks?db=hg19";
var sourceFileMap = {};
var coordMap = {};
var def = null;
var dataForChart = null;
var valueField = "overlaps";
var uploadedFileName = null;
var ucscFileMap = {};
var ucscTrackNames = [];
$.urlParam = function(name){
var results = new RegExp('[\?&]' + name + '=([^&#]*)').exec(window.location.href);
if (results==null){
return null;
}else{
return results[1] || 0;
}
}
$(document).ready(function() {
if (decodeURIComponent($.urlParam('primary_index')) != 'null') {
giggleUrl = "http://" + decodeURIComponent($.urlParam('primary_index'));
}
if (decodeURIComponent($.urlParam('ucsc_index')) != 'null') {
giggleUCSCBrowserUrl = "http://" + decodeURIComponent($.urlParam('ucsc_index'));
}
$.material.init();
$('#giggle-url').val(giggleUrl);
$('#giggle-tracks-url').val(giggleUCSCBrowserUrl);
initBedUploadForm();
promiseLoadMatrixDefinition().then( function() {
heatmap = new heatmapD3().cellSize(15)
.legendCellSize(20)
.margin({top: 10, bottom: 10, left: 10, right: 70})
.colors(colorbrewer.YlGnBu[9])
//.colors(colorbrewer.Oranges[9]);
.cellValue( function(d) { return +d[valueField]; } )
.on('d3click', function(d,i) {
loadOverlapDetail(d.name, d.row, d.col);
});
loadHeatmapForRegion();
});
loadUCSCDefinition();
});
function loadUCSCSmartView() {
if ($('#overlaps').val() == null || $('#overlaps').val().trim() == "") {
$('#no-region-warning').removeClass("hide");
return;
}
var giggleTracksUrl = giggleUCSCBrowserUrl + "?region=" + $('#overlaps').val();
$.ajax({
url: giggleTracksUrl,
type: "GET",
crossDomain: true,
dataType: "text",
success: function(data) {
var records = [];
data.split("\n").forEach(function(row) {
if (row == null || row.trim() == "") {
} else {
fields = row.split("\t");
var rec = {};
rec.name = fields[0].split("/")[1];
rec.size = fields[1];
rec.overlaps = fields[2];
var pos = ucscFileMap[rec.name];
rec.pos = pos;
rec.trackName = ucscTrackNames[+pos];
records.push(rec);
}
});
//var ucscTracksUrl = ucscBrowserUrl + '&position=' + chr + ":" + start + '-' + end;
var ucscTracksUrl = ucscBrowserUrl + '&position=' + $('#overlaps').val();
records.forEach( function(record) {
if (record.trackName) {
if (+record.overlaps > 0) {
ucscTracksUrl += "&" + record.trackName + "=dense";
} else {
ucscTracksUrl += "&" + record.trackName + "=hide";
}
}
});
var newTab = window.open(ucscTracksUrl, '_blank');
//newTab.focus();
},
error: function(error) {
console.log("An error occurred when getting UCSC track info " + giggleTracksUrl);
console.error();
}
});
//function loadUCSCTracks(chr, start, end) {
}
function loadUCSCDefinition() {
var giggleTracksDefUrl = giggleUCSCBrowserUrl + "?data";
$.ajax({
url: giggleTracksDefUrl,
type: "GET",
crossDomain: true,
dataType: "text",
success: function(data) {
var def = JSON.parse(data);
def.sourceFiles.forEach( function( sourceFile ) {
var fileName = sourceFile.name.split("/")[1];
ucscFileMap[fileName] = sourceFile.position[0];
});
def.dimensions[0].elements.forEach( function(trackName) {
ucscTrackNames.push(trackName);
})
},
error: function(error) {
console.error;
}
});
}
function loadUCSCTracks(chr, start, end) {
var giggleTracksUrl = giggleUCSCBrowserUrl + "?region=" + chr + ":" + start + '-' + end;
$.ajax({
url: giggleTracksUrl,
type: "GET",
crossDomain: true,
dataType: "text",
success: function(data) {
var records = [];
data.split("\n").forEach(function(row) {
if (row == null || row.trim() == "") {
} else {
fields = row.split("\t");
var rec = {};
rec.name = fields[0].split("/")[1];
rec.size = fields[1];
rec.overlaps = fields[2];
var pos = ucscFileMap[rec.name];
rec.pos = pos;
rec.trackName = ucscTrackNames[+pos];
records.push(rec);
}
});
var ucscTracksUrl = ucscBrowserUrl + '&position=' + chr + ":" + start + '-' + end;
records.forEach( function(record) {
if (+record.overlaps > 0) {
ucscTracksUrl += "&" + record.trackName + "=dense";
} else {
ucscTracksUrl += "&" + record.trackName + "=hide";
}
});
var newTab = window.open(ucscTracksUrl, '_blank');
//newTab.focus();
},
error: function(error) {
console.log("An error occurred when getting UCSC track info " + giggleTracksUrl);
console.error();
}
});
}
function loadOverlapDetail(fileName, row, col) {
var rowLabel = coordMap[row + '-' + col].rowLabel;
var colLabel = coordMap[row + '-' + col].colLabel;
var detailUrl = giggleUrl;
if (uploadedFileName) {
detailUrl += "?query=" + uploadedFileName;
} else {
detailUrl += "?region=" + $('#overlaps').val();
}
detailUrl += "&files=" + fileName + "&full";
$.ajax({
url: detailUrl,
type: "GET",
crossDomain: true,
dataType: "text",
success: function(data) {
var results = [];
var header = null;
var records = [];
data.split("\n").forEach(function(row) {
if (row == null || row.trim() == "") {
} else {
fields = row.split("\t");
if (row.indexOf("#") == 0) {
if (header) {
results.push({'header': header, 'rows': records});
recs = [];
}
header = {};
header.name = fields[0].split("/")[1];
header.size = fields[1];
header.overlaps = fields[2];
} else {
var rec = {};
rec.chr = fields[0];
rec.start = fields[1];
rec.end = fields[2];
records.push(rec);
}
}
});
if (header) {
results.push({'header': header, 'rows': records});
}
$('#overlaps-modal .modal-header').html("<h5>" + rowLabel + " - " + colLabel + "</h5>");
$('#overlaps-modal .modal-body').html("");
results.forEach(function(result) {
var content = "";
content += "<table style='width:100%'>";
var rowNbr = 1;
result.rows.forEach( function(row) {
content +=
"<tr>"
+ "<td>" + rowNbr++ + ".</td>"
+ "<td>" + "<a href='javascript:void(0)' onclick=\"loadUCSCTracks(" + "'" + row.chr + "'," + row.start + ',' + row.end + ")\">" +row.chr + ' ' + addCommas(row.start) + '-' + addCommas(row.end) + "</a></td>"
+ "</tr>";
});
content += "</table>";
$('#overlaps-modal .modal-body').append(content);
});
$('#overlaps-modal').modal('show');
},
error: function(error) {
console.log("An error occurred when getting overlap detail " + detailUrl);
console.error();
}
});
}
function promiseLoadMatrixDefinition() {
return new Promise( function(resolve, reject) {
var defUrl = giggleUrl + "?data";
def = null;
sourceFileMap = {};
// Get matrix definition
$.ajax({
url: defUrl,
type: "GET",
crossDomain: true,
dataType: "text",
success: function(data) {
def = JSON.parse(data);
def.sourceFiles.forEach( function( sourceFile ) {
var cellCoord = {};
cellCoord.row = sourceFile.position[0];
cellCoord.col = sourceFile.position[1];
sourceFileMap[sourceFile.name] = cellCoord;
coordMap[cellCoord.row + "-" + cellCoord.col] = {rowLabel: def.dimensions[0].elements[cellCoord.row], colLabel: def.dimensions[1].elements[cellCoord.col]};
});
def.cells = [];
resolve(def);
},
error: function(error) {
console.error();
reject('Unable to get matrix definition ' + error);
}
});
});
}
function initBedUploadForm() {
$('#bed-upload-form').submit( function(e){
e.preventDefault();
$(".input-panel").removeClass("selected");
// Validate that file was uploaded
$('.alert').addClass("hide");
if ($('#bed-upload-form input[type=file]')[0].files.length == 0) {
$('#no-file-warning').removeClass("hide");
return;
}
uploadedFileName = $('#bed-upload-form input[type=file]')[0].files[0].name;
// Enable odds ratio and default as checked
//$("#radio-value-ratio").prop("checked", true);
//$("#radio-value-ratio-span").removeClass("hide");
$("#radio-value-combo").prop("checked", true);
$("#radio-value-combo-span").removeClass("hide");
// Highlight upload panel
$("#upload-panel").addClass("selected");
// Show loading gif
$('.loader').removeClass("hide");
var formData = new FormData(this);
//formData.append(uploadedFileName, $('#bed-upload-form input[type=file]')[0].files[0]);
getGiggleUrls();
var url = giggleUrl + "filepost";
$.ajax({
url : url,
data : formData,
cache : false,
contentType : false,
processData : false,
type : 'POST',
success : function(data, textStatus, jqXHR){
$('.loader').addClass("hide");
loadHeatmapChart(data, def);
},
error : function(error) {
$('.loader').addClass("hide");
if (error.success().hasOwnProperty("responseText") && error.success().responseText.length > 0) {
loadHeatmapChart( error.success().responseText, def);
}
console.error();
}
});
});
}
function getGiggleUrls() {
giggleUrl = $('#giggle-url').val();
giggleUCSCBrowserUrl = $('#giggle-tracks-url').val();
giggleUrl += '/'
giggleUCSCBrowserUrl += '/'
}
function loadHeatmapForRegion() {
$(".input-panel").removeClass("selected");
// Validate that region was filled in
$('.alert').addClass("hide");
if ($('#overlaps').val() == null || $('#overlaps').val().trim() == "") {
$('#no-region-warning').removeClass("hide");
return;
}
// Switch to 'overlap' and disable 'odds ratio'
$("#radio-value-overlaps").prop("checked", true);
$("#radio-value-ratio-span").addClass("hide");
// Highlight region panel
$("#region-panel").addClass("selected");
// Show loading animation
$('.loader').removeClass("hide");
getGiggleUrls();
var dataUrl = giggleUrl + "?region=" + $('#overlaps').val();
uploadedFileName = null;
// get matrix data (tab delimited) and fill in heatmap
$.ajax({
url: dataUrl,
type: "GET",
crossDomain: true,
dataType: "text",
success: function(data) {
$('.loader').addClass("hide");
loadHeatmapChart(data, def);
},
error: function(error) {
$('.loader').addClass("hide");
}
});
}
function loadHeatmapChart(data, theDef) {
def = theDef ? theDef : def;
dataForChart = data ? data : dataForChart;
def.cells = [];
if($("input[type='radio'].radio-value-field").is(':checked')) {
valueField = $("input[type='radio'].radio-value-field:checked").val();
}
dataForChart.split("\n").forEach(function(row) {
fields = row.split("\t");
if (fields[0] == "QueryFileError") {
$('#bad-file-warning').removeClass("hide");
return;
}
if (fields.length == 0 || fields[0] == "") {
} else {
var rec = {};
rec.name = fields[0].split("/")[1];
rec.size = fields[1];
var overlaps = fields[2];
if (overlaps.indexOf(":") > 0) {
rec.overlaps = overlaps.split(":")[1];
} else {
rec.overlaps = overlaps;
}
if (fields.length > 3) {
var ratio = fields[3];
if (ratio.indexOf(":") > 0) {
rec.ratio = ratio.split(":")[1];
} else {
rec.ratio = ratio;
}
}
if (fields.length > 4) {
var sig = fields[4];
if (sig.indexOf(":") > 0) {
rec.sig = sig.split(":")[1];
} else {
rec.sig = sig;
}
rec.sig = rec.sig * 100;
}
if (fields.length > 5) {
var combo = fields[5];
if (combo.indexOf(":") > 0) {
rec.combo = combo.split(":")[1];
} else {
rec.combo = combo;
}
}
rec.row = sourceFileMap[rec.name].row;
rec.col = sourceFileMap[rec.name].col;
def.cells.push(rec);
}
});
if ( def.cells.length > 0) {
maxValue = d3.max(def.cells, function(d,i) {return d.overlaps});
if (maxValue <= 2) {
maxValue = 3;
}
heatmap.colors(colorbrewer.YlGnBu[Math.min(maxValue, 9)])
var selection = d3.select("#chart").datum(def);
heatmap(selection);
}
}
function addCommas(nStr)
{
nStr += '';
x = nStr.split('.');
x1 = x[0];
x2 = x.length > 1 ? '.' + x[1] : '';
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1)) {
x1 = x1.replace(rgx, '$1' + ',' + '$2');
}
return x1 + x2;
}
================================================
FILE: client/assets/css/site.css
================================================
body {
font-family: 'Open Sans';
background-color: white;
color: #757474;
font-size: 13px;
}
h3 {
margin-top: 5px;
margin-bottom: 3px;
}
h4 {
text-align: center;
margin-bottom: 0px;
}
.rowLabel, .colLabel, .legendLabel {
font-size:11px;
fill: #757474;
}
rect.bordered {
stroke: #E6E6E6;
stroke-width:2px;
}
.checkbox label, .radio label, label {
color: #757474;
font-size: 13px;
}
.radio-value-field.radio label span {
left: 25px;
}
#go-button {
font-size: 13px;
padding-bottom: 5px;
padding-top: 5px;
margin-top: 0px;
}
#upload-button {
font-size: 13px;
padding-bottom: 5px;
padding-top: 5px;
margin-top: 0px;
}
#control-panel {
margin-top:0px;
}
#overlaps {
width: 200px;
}
label {
width: 80px !important;
}
.radio-value-field label {
width: 100% !important;
}
.form-control {
font-size: 13px !important;
}
::-webkit-input-placeholder {
font-size: 13px !important;
}
.checkbox, .radio {
margin-top: 0px;
}
input#giggle-url {
width: 300px !important;
}
input#giggle-tracks-url {
width: 300px !important;
}
#region-panel {
padding: 3px;
}
#upload-panel {
padding: 3px;
}
.selected {
background-color: #fffad5;
}
.alert.alert-info {
background-color: #569ca0;
color: white;
margin-top: 3px;
}
================================================
FILE: client/assets/css/tetronimos.css
================================================
.cssload-tetrominos {
position: absolute;
left: 50%;
transform: translate(-62px, -53px);
-o-transform: translate(-62px, -53px);
-ms-transform: translate(-62px, -53px);
-webkit-transform: translate(-62px, -53px);
-moz-transform: translate(-62px, -53px);
}
.cssload-tetromino {
width: 53px;
height: 62px;
position: absolute;
transition: all ease 0.255s;
-o-transition: all ease 0.255s;
-ms-transition: all ease 0.255s;
-webkit-transition: all ease 0.255s;
-moz-transition: all ease 0.255s;
background: url('data:image/svg+xml;utf-8,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 612 684"%3E%3Cpath fill="rgba(29, 145, 192, .8)" d="M305.7 0L0 170.9v342.3L305.7 684 612 513.2V170.9L305.7 0z"/%3E%3Cpath fill="rgb(127, 205, 187)" d="M305.7 80.1l-233.6 131 233.6 131 234.2-131-234.2-131"/%3E%3C/svg%3E') no-repeat top center;
}
.cssload-box1 {
animation: cssload-tetromino1 1.275s ease-out infinite;
-o-animation: cssload-tetromino1 1.275s ease-out infinite;
-ms-animation: cssload-tetromino1 1.275s ease-out infinite;
-webkit-animation: cssload-tetromino1 1.275s ease-out infinite;
-moz-animation: cssload-tetromino1 1.275s ease-out infinite;
}
.cssload-box2 {
animation: cssload-tetromino2 1.275s ease-out infinite;
-o-animation: cssload-tetromino2 1.275s ease-out infinite;
-ms-animation: cssload-tetromino2 1.275s ease-out infinite;
-webkit-animation: cssload-tetromino2 1.275s ease-out infinite;
-moz-animation: cssload-tetromino2 1.275s ease-out infinite;
}
.cssload-box3 {
animation: cssload-tetromino3 1.275s ease-out infinite;
-o-animation: cssload-tetromino3 1.275s ease-out infinite;
-ms-animation: cssload-tetromino3 1.275s ease-out infinite;
-webkit-animation: cssload-tetromino3 1.275s ease-out infinite;
-moz-animation: cssload-tetromino3 1.275s ease-out infinite;
z-index: 2;
}
.cssload-box4 {
animation: cssload-tetromino4 1.275s ease-out infinite;
-o-animation: cssload-tetromino4 1.275s ease-out infinite;
-ms-animation: cssload-tetromino4 1.275s ease-out infinite;
-webkit-animation: cssload-tetromino4 1.275s ease-out infinite;
-moz-animation: cssload-tetromino4 1.275s ease-out infinite;
}
@keyframes cssload-tetromino1 {
0%, 40% {
transform: translate(0, 0);
}
50% {
transform: translate(26px, -15px);
}
60%, 100% {
transform: translate(53px, 0);
}
}
@-o-keyframes cssload-tetromino1 {
0%, 40% {
-o-transform: translate(0, 0);
}
50% {
-o-transform: translate(26px, -15px);
}
60%, 100% {
-o-transform: translate(53px, 0);
}
}
@-ms-keyframes cssload-tetromino1 {
0%, 40% {
-ms-transform: translate(0, 0);
}
50% {
-ms-transform: translate(26px, -15px);
}
60%, 100% {
-ms-transform: translate(53px, 0);
}
}
@-webkit-keyframes cssload-tetromino1 {
0%, 40% {
-webkit-transform: translate(0, 0);
}
50% {
-webkit-transform: translate(26px, -15px);
}
60%, 100% {
-webkit-transform: translate(53px, 0);
}
}
@-moz-keyframes cssload-tetromino1 {
0%, 40% {
-moz-transform: translate(0, 0);
}
50% {
-moz-transform: translate(26px, -15px);
}
60%, 100% {
-moz-transform: translate(53px, 0);
}
}
@keyframes cssload-tetromino2 {
0%, 20% {
transform: translate(53px, 0px);
}
40%, 100% {
transform: translate(79px, 15px);
}
}
@-o-keyframes cssload-tetromino2 {
0%, 20% {
-o-transform: translate(53px, 0px);
}
40%, 100% {
-o-transform: translate(79px, 15px);
}
}
@-ms-keyframes cssload-tetromino2 {
0%, 20% {
-ms-transform: translate(53px, 0px);
}
40%, 100% {
-ms-transform: translate(79px, 15px);
}
}
@-webkit-keyframes cssload-tetromino2 {
0%, 20% {
-webkit-transform: translate(53px, 0px);
}
40%, 100% {
-webkit-transform: translate(79px, 15px);
}
}
@-moz-keyframes cssload-tetromino2 {
0%, 20% {
-moz-transform: translate(53px, 0px);
}
40%, 100% {
-moz-transform: translate(79px, 15px);
}
}
@keyframes cssload-tetromino3 {
0% {
transform: translate(79px, 15px);
}
20%, 60% {
transform: translate(53px, 30px);
}
90%, 100% {
transform: translate(26px, 15px);
}
}
@-o-keyframes cssload-tetromino3 {
0% {
-o-transform: translate(79px, 15px);
}
20%, 60% {
-o-transform: translate(53px, 30px);
}
90%, 100% {
-o-transform: translate(26px, 15px);
}
}
@-ms-keyframes cssload-tetromino3 {
0% {
-ms-transform: translate(79px, 15px);
}
20%, 60% {
-ms-transform: translate(53px, 30px);
}
90%, 100% {
-ms-transform: translate(26px, 15px);
}
}
@-webkit-keyframes cssload-tetromino3 {
0% {
-webkit-transform: translate(79px, 15px);
}
20%, 60% {
-webkit-transform: translate(53px, 30px);
}
90%, 100% {
-webkit-transform: translate(26px, 15px);
}
}
@-moz-keyframes cssload-tetromino3 {
0% {
-moz-transform: translate(79px, 15px);
}
20%, 60% {
-moz-transform: translate(53px, 30px);
}
90%, 100% {
-moz-transform: translate(26px, 15px);
}
}
@keyframes cssload-tetromino4 {
0%, 60% {
transform: translate(26px, 15px);
}
90%, 100% {
transform: translate(0, 0);
}
}
@-o-keyframes cssload-tetromino4 {
0%, 60% {
-o-transform: translate(26px, 15px);
}
90%, 100% {
-o-transform: translate(0, 0);
}
}
@-ms-keyframes cssload-tetromino4 {
0%, 60% {
-ms-transform: translate(26px, 15px);
}
90%, 100% {
-ms-transform: translate(0, 0);
}
}
@-webkit-keyframes cssload-tetromino4 {
0%, 60% {
-webkit-transform: translate(26px, 15px);
}
90%, 100% {
-webkit-transform: translate(0, 0);
}
}
@-moz-keyframes cssload-tetromino4 {
0%, 60% {
-moz-transform: translate(26px, 15px);
}
90%, 100% {
-moz-transform: translate(0, 0);
}
}
================================================
FILE: client/assets/js/colorbrewer.js
================================================
// This product includes color specifications and designs developed by Cynthia Brewer (http://colorbrewer.org/).
// JavaScript specs as packaged in the D3 library (d3js.org). Please see license at http://colorbrewer.org/export/LICENSE.txt
var colorbrewer = {YlGn: {
3: ["#f7fcb9","#addd8e","#31a354"],
4: ["#ffffcc","#c2e699","#78c679","#238443"],
5: ["#ffffcc","#c2e699","#78c679","#31a354","#006837"],
6: ["#ffffcc","#d9f0a3","#addd8e","#78c679","#31a354","#006837"],
7: ["#ffffcc","#d9f0a3","#addd8e","#78c679","#41ab5d","#238443","#005a32"],
8: ["#ffffe5","#f7fcb9","#d9f0a3","#addd8e","#78c679","#41ab5d","#238443","#005a32"],
9: ["#ffffe5","#f7fcb9","#d9f0a3","#addd8e","#78c679","#41ab5d","#238443","#006837","#004529"]
},YlGnBu: {
3: ["#edf8b1","#7fcdbb","#2c7fb8"],
4: ["#ffffcc","#a1dab4","#41b6c4","#225ea8"],
5: ["#ffffcc","#a1dab4","#41b6c4","#2c7fb8","#253494"],
6: ["#ffffcc","#c7e9b4","#7fcdbb","#41b6c4","#2c7fb8","#253494"],
7: ["#ffffcc","#c7e9b4","#7fcdbb","#41b6c4","#1d91c0","#225ea8","#0c2c84"],
8: ["#ffffd9","#edf8b1","#c7e9b4","#7fcdbb","#41b6c4","#1d91c0","#225ea8","#0c2c84"],
9: ["#ffffd9","#edf8b1","#c7e9b4","#7fcdbb","#41b6c4","#1d91c0","#225ea8","#253494","#081d58"]
},GnBu: {
3: ["#e0f3db","#a8ddb5","#43a2ca"],
4: ["#f0f9e8","#bae4bc","#7bccc4","#2b8cbe"],
5: ["#f0f9e8","#bae4bc","#7bccc4","#43a2ca","#0868ac"],
6: ["#f0f9e8","#ccebc5","#a8ddb5","#7bccc4","#43a2ca","#0868ac"],
7: ["#f0f9e8","#ccebc5","#a8ddb5","#7bccc4","#4eb3d3","#2b8cbe","#08589e"],
8: ["#f7fcf0","#e0f3db","#ccebc5","#a8ddb5","#7bccc4","#4eb3d3","#2b8cbe","#08589e"],
9: ["#f7fcf0","#e0f3db","#ccebc5","#a8ddb5","#7bccc4","#4eb3d3","#2b8cbe","#0868ac","#084081"]
},BuGn: {
3: ["#e5f5f9","#99d8c9","#2ca25f"],
4: ["#edf8fb","#b2e2e2","#66c2a4","#238b45"],
5: ["#edf8fb","#b2e2e2","#66c2a4","#2ca25f","#006d2c"],
6: ["#edf8fb","#ccece6","#99d8c9","#66c2a4","#2ca25f","#006d2c"],
7: ["#edf8fb","#ccece6","#99d8c9","#66c2a4","#41ae76","#238b45","#005824"],
8: ["#f7fcfd","#e5f5f9","#ccece6","#99d8c9","#66c2a4","#41ae76","#238b45","#005824"],
9: ["#f7fcfd","#e5f5f9","#ccece6","#99d8c9","#66c2a4","#41ae76","#238b45","#006d2c","#00441b"]
},PuBuGn: {
3: ["#ece2f0","#a6bddb","#1c9099"],
4: ["#f6eff7","#bdc9e1","#67a9cf","#02818a"],
5: ["#f6eff7","#bdc9e1","#67a9cf","#1c9099","#016c59"],
6: ["#f6eff7","#d0d1e6","#a6bddb","#67a9cf","#1c9099","#016c59"],
7: ["#f6eff7","#d0d1e6","#a6bddb","#67a9cf","#3690c0","#02818a","#016450"],
8: ["#fff7fb","#ece2f0","#d0d1e6","#a6bddb","#67a9cf","#3690c0","#02818a","#016450"],
9: ["#fff7fb","#ece2f0","#d0d1e6","#a6bddb","#67a9cf","#3690c0","#02818a","#016c59","#014636"]
},PuBu: {
3: ["#ece7f2","#a6bddb","#2b8cbe"],
4: ["#f1eef6","#bdc9e1","#74a9cf","#0570b0"],
5: ["#f1eef6","#bdc9e1","#74a9cf","#2b8cbe","#045a8d"],
6: ["#f1eef6","#d0d1e6","#a6bddb","#74a9cf","#2b8cbe","#045a8d"],
7: ["#f1eef6","#d0d1e6","#a6bddb","#74a9cf","#3690c0","#0570b0","#034e7b"],
8: ["#fff7fb","#ece7f2","#d0d1e6","#a6bddb","#74a9cf","#3690c0","#0570b0","#034e7b"],
9: ["#fff7fb","#ece7f2","#d0d1e6","#a6bddb","#74a9cf","#3690c0","#0570b0","#045a8d","#023858"]
},BuPu: {
3: ["#e0ecf4","#9ebcda","#8856a7"],
4: ["#edf8fb","#b3cde3","#8c96c6","#88419d"],
5: ["#edf8fb","#b3cde3","#8c96c6","#8856a7","#810f7c"],
6: ["#edf8fb","#bfd3e6","#9ebcda","#8c96c6","#8856a7","#810f7c"],
7: ["#edf8fb","#bfd3e6","#9ebcda","#8c96c6","#8c6bb1","#88419d","#6e016b"],
8: ["#f7fcfd","#e0ecf4","#bfd3e6","#9ebcda","#8c96c6","#8c6bb1","#88419d","#6e016b"],
9: ["#f7fcfd","#e0ecf4","#bfd3e6","#9ebcda","#8c96c6","#8c6bb1","#88419d","#810f7c","#4d004b"]
},RdPu: {
3: ["#fde0dd","#fa9fb5","#c51b8a"],
4: ["#feebe2","#fbb4b9","#f768a1","#ae017e"],
5: ["#feebe2","#fbb4b9","#f768a1","#c51b8a","#7a0177"],
6: ["#feebe2","#fcc5c0","#fa9fb5","#f768a1","#c51b8a","#7a0177"],
7: ["#feebe2","#fcc5c0","#fa9fb5","#f768a1","#dd3497","#ae017e","#7a0177"],
8: ["#fff7f3","#fde0dd","#fcc5c0","#fa9fb5","#f768a1","#dd3497","#ae017e","#7a0177"],
9: ["#fff7f3","#fde0dd","#fcc5c0","#fa9fb5","#f768a1","#dd3497","#ae017e","#7a0177","#49006a"]
},PuRd: {
3: ["#e7e1ef","#c994c7","#dd1c77"],
4: ["#f1eef6","#d7b5d8","#df65b0","#ce1256"],
5: ["#f1eef6","#d7b5d8","#df65b0","#dd1c77","#980043"],
6: ["#f1eef6","#d4b9da","#c994c7","#df65b0","#dd1c77","#980043"],
7: ["#f1eef6","#d4b9da","#c994c7","#df65b0","#e7298a","#ce1256","#91003f"],
8: ["#f7f4f9","#e7e1ef","#d4b9da","#c994c7","#df65b0","#e7298a","#ce1256","#91003f"],
9: ["#f7f4f9","#e7e1ef","#d4b9da","#c994c7","#df65b0","#e7298a","#ce1256","#980043","#67001f"]
},OrRd: {
3: ["#fee8c8","#fdbb84","#e34a33"],
4: ["#fef0d9","#fdcc8a","#fc8d59","#d7301f"],
5: ["#fef0d9","#fdcc8a","#fc8d59","#e34a33","#b30000"],
6: ["#fef0d9","#fdd49e","#fdbb84","#fc8d59","#e34a33","#b30000"],
7: ["#fef0d9","#fdd49e","#fdbb84","#fc8d59","#ef6548","#d7301f","#990000"],
8: ["#fff7ec","#fee8c8","#fdd49e","#fdbb84","#fc8d59","#ef6548","#d7301f","#990000"],
9: ["#fff7ec","#fee8c8","#fdd49e","#fdbb84","#fc8d59","#ef6548","#d7301f","#b30000","#7f0000"]
},YlOrRd: {
3: ["#ffeda0","#feb24c","#f03b20"],
4: ["#ffffb2","#fecc5c","#fd8d3c","#e31a1c"],
5: ["#ffffb2","#fecc5c","#fd8d3c","#f03b20","#bd0026"],
6: ["#ffffb2","#fed976","#feb24c","#fd8d3c","#f03b20","#bd0026"],
7: ["#ffffb2","#fed976","#feb24c","#fd8d3c","#fc4e2a","#e31a1c","#b10026"],
8: ["#ffffcc","#ffeda0","#fed976","#feb24c","#fd8d3c","#fc4e2a","#e31a1c","#b10026"],
9: ["#ffffcc","#ffeda0","#fed976","#feb24c","#fd8d3c","#fc4e2a","#e31a1c","#bd0026","#800026"]
},YlOrBr: {
3: ["#fff7bc","#fec44f","#d95f0e"],
4: ["#ffffd4","#fed98e","#fe9929","#cc4c02"],
5: ["#ffffd4","#fed98e","#fe9929","#d95f0e","#993404"],
6: ["#ffffd4","#fee391","#fec44f","#fe9929","#d95f0e","#993404"],
7: ["#ffffd4","#fee391","#fec44f","#fe9929","#ec7014","#cc4c02","#8c2d04"],
8: ["#ffffe5","#fff7bc","#fee391","#fec44f","#fe9929","#ec7014","#cc4c02","#8c2d04"],
9: ["#ffffe5","#fff7bc","#fee391","#fec44f","#fe9929","#ec7014","#cc4c02","#993404","#662506"]
},Purples: {
3: ["#efedf5","#bcbddc","#756bb1"],
4: ["#f2f0f7","#cbc9e2","#9e9ac8","#6a51a3"],
5: ["#f2f0f7","#cbc9e2","#9e9ac8","#756bb1","#54278f"],
6: ["#f2f0f7","#dadaeb","#bcbddc","#9e9ac8","#756bb1","#54278f"],
7: ["#f2f0f7","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#4a1486"],
8: ["#fcfbfd","#efedf5","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#4a1486"],
9: ["#fcfbfd","#efedf5","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#54278f","#3f007d"]
},Blues: {
3: ["#deebf7","#9ecae1","#3182bd"],
4: ["#eff3ff","#bdd7e7","#6baed6","#2171b5"],
5: ["#eff3ff","#bdd7e7","#6baed6","#3182bd","#08519c"],
6: ["#eff3ff","#c6dbef","#9ecae1","#6baed6","#3182bd","#08519c"],
7: ["#eff3ff","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#084594"],
8: ["#f7fbff","#deebf7","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#084594"],
9: ["#f7fbff","#deebf7","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#08519c","#08306b"]
},Greens: {
3: ["#e5f5e0","#a1d99b","#31a354"],
4: ["#edf8e9","#bae4b3","#74c476","#238b45"],
5: ["#edf8e9","#bae4b3","#74c476","#31a354","#006d2c"],
6: ["#edf8e9","#c7e9c0","#a1d99b","#74c476","#31a354","#006d2c"],
7: ["#edf8e9","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#005a32"],
8: ["#f7fcf5","#e5f5e0","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#005a32"],
9: ["#f7fcf5","#e5f5e0","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#006d2c","#00441b"]
},Oranges: {
3: ["#fee6ce","#fdae6b","#e6550d"],
4: ["#feedde","#fdbe85","#fd8d3c","#d94701"],
5: ["#feedde","#fdbe85","#fd8d3c","#e6550d","#a63603"],
6: ["#feedde","#fdd0a2","#fdae6b","#fd8d3c","#e6550d","#a63603"],
7: ["#feedde","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#8c2d04"],
8: ["#fff5eb","#fee6ce","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#8c2d04"],
9: ["#fff5eb","#fee6ce","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#a63603","#7f2704"]
},Reds: {
3: ["#fee0d2","#fc9272","#de2d26"],
4: ["#fee5d9","#fcae91","#fb6a4a","#cb181d"],
5: ["#fee5d9","#fcae91","#fb6a4a","#de2d26","#a50f15"],
6: ["#fee5d9","#fcbba1","#fc9272","#fb6a4a","#de2d26","#a50f15"],
7: ["#fee5d9","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#99000d"],
8: ["#fff5f0","#fee0d2","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#99000d"],
9: ["#fff5f0","#fee0d2","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#a50f15","#67000d"]
},Greys: {
3: ["#f0f0f0","#bdbdbd","#636363"],
4: ["#f7f7f7","#cccccc","#969696","#525252"],
5: ["#f7f7f7","#cccccc","#969696","#636363","#252525"],
6: ["#f7f7f7","#d9d9d9","#bdbdbd","#969696","#636363","#252525"],
7: ["#f7f7f7","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525"],
8: ["#ffffff","#f0f0f0","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525"],
9: ["#ffffff","#f0f0f0","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525","#000000"]
},PuOr: {
3: ["#f1a340","#f7f7f7","#998ec3"],
4: ["#e66101","#fdb863","#b2abd2","#5e3c99"],
5: ["#e66101","#fdb863","#f7f7f7","#b2abd2","#5e3c99"],
6: ["#b35806","#f1a340","#fee0b6","#d8daeb","#998ec3","#542788"],
7: ["#b35806","#f1a340","#fee0b6","#f7f7f7","#d8daeb","#998ec3","#542788"],
8: ["#b35806","#e08214","#fdb863","#fee0b6","#d8daeb","#b2abd2","#8073ac","#542788"],
9: ["#b35806","#e08214","#fdb863","#fee0b6","#f7f7f7","#d8daeb","#b2abd2","#8073ac","#542788"],
10: ["#7f3b08","#b35806","#e08214","#fdb863","#fee0b6","#d8daeb","#b2abd2","#8073ac","#542788","#2d004b"],
11: ["#7f3b08","#b35806","#e08214","#fdb863","#fee0b6","#f7f7f7","#d8daeb","#b2abd2","#8073ac","#542788","#2d004b"]
},BrBG: {
3: ["#d8b365","#f5f5f5","#5ab4ac"],
4: ["#a6611a","#dfc27d","#80cdc1","#018571"],
5: ["#a6611a","#dfc27d","#f5f5f5","#80cdc1","#018571"],
6: ["#8c510a","#d8b365","#f6e8c3","#c7eae5","#5ab4ac","#01665e"],
7: ["#8c510a","#d8b365","#f6e8c3","#f5f5f5","#c7eae5","#5ab4ac","#01665e"],
8: ["#8c510a","#bf812d","#dfc27d","#f6e8c3","#c7eae5","#80cdc1","#35978f","#01665e"],
9: ["#8c510a","#bf812d","#dfc27d","#f6e8c3","#f5f5f5","#c7eae5","#80cdc1","#35978f","#01665e"],
10: ["#543005","#8c510a","#bf812d","#dfc27d","#f6e8c3","#c7eae5","#80cdc1","#35978f","#01665e","#003c30"],
11: ["#543005","#8c510a","#bf812d","#dfc27d","#f6e8c3","#f5f5f5","#c7eae5","#80cdc1","#35978f","#01665e","#003c30"]
},PRGn: {
3: ["#af8dc3","#f7f7f7","#7fbf7b"],
4: ["#7b3294","#c2a5cf","#a6dba0","#008837"],
5: ["#7b3294","#c2a5cf","#f7f7f7","#a6dba0","#008837"],
6: ["#762a83","#af8dc3","#e7d4e8","#d9f0d3","#7fbf7b","#1b7837"],
7: ["#762a83","#af8dc3","#e7d4e8","#f7f7f7","#d9f0d3","#7fbf7b","#1b7837"],
8: ["#762a83","#9970ab","#c2a5cf","#e7d4e8","#d9f0d3","#a6dba0","#5aae61","#1b7837"],
9: ["#762a83","#9970ab","#c2a5cf","#e7d4e8","#f7f7f7","#d9f0d3","#a6dba0","#5aae61","#1b7837"],
10: ["#40004b","#762a83","#9970ab","#c2a5cf","#e7d4e8","#d9f0d3","#a6dba0","#5aae61","#1b7837","#00441b"],
11: ["#40004b","#762a83","#9970ab","#c2a5cf","#e7d4e8","#f7f7f7","#d9f0d3","#a6dba0","#5aae61","#1b7837","#00441b"]
},PiYG: {
3: ["#e9a3c9","#f7f7f7","#a1d76a"],
4: ["#d01c8b","#f1b6da","#b8e186","#4dac26"],
5: ["#d01c8b","#f1b6da","#f7f7f7","#b8e186","#4dac26"],
6: ["#c51b7d","#e9a3c9","#fde0ef","#e6f5d0","#a1d76a","#4d9221"],
7: ["#c51b7d","#e9a3c9","#fde0ef","#f7f7f7","#e6f5d0","#a1d76a","#4d9221"],
8: ["#c51b7d","#de77ae","#f1b6da","#fde0ef","#e6f5d0","#b8e186","#7fbc41","#4d9221"],
9: ["#c51b7d","#de77ae","#f1b6da","#fde0ef","#f7f7f7","#e6f5d0","#b8e186","#7fbc41","#4d9221"],
10: ["#8e0152","#c51b7d","#de77ae","#f1b6da","#fde0ef","#e6f5d0","#b8e186","#7fbc41","#4d9221","#276419"],
11: ["#8e0152","#c51b7d","#de77ae","#f1b6da","#fde0ef","#f7f7f7","#e6f5d0","#b8e186","#7fbc41","#4d9221","#276419"]
},RdBu: {
3: ["#ef8a62","#f7f7f7","#67a9cf"],
4: ["#ca0020","#f4a582","#92c5de","#0571b0"],
5: ["#ca0020","#f4a582","#f7f7f7","#92c5de","#0571b0"],
6: ["#b2182b","#ef8a62","#fddbc7","#d1e5f0","#67a9cf","#2166ac"],
7: ["#b2182b","#ef8a62","#fddbc7","#f7f7f7","#d1e5f0","#67a9cf","#2166ac"],
8: ["#b2182b","#d6604d","#f4a582","#fddbc7","#d1e5f0","#92c5de","#4393c3","#2166ac"],
9: ["#b2182b","#d6604d","#f4a582","#fddbc7","#f7f7f7","#d1e5f0","#92c5de","#4393c3","#2166ac"],
10: ["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#d1e5f0","#92c5de","#4393c3","#2166ac","#053061"],
11: ["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#f7f7f7","#d1e5f0","#92c5de","#4393c3","#2166ac","#053061"]
},RdGy: {
3: ["#ef8a62","#ffffff","#999999"],
4: ["#ca0020","#f4a582","#bababa","#404040"],
5: ["#ca0020","#f4a582","#ffffff","#bababa","#404040"],
6: ["#b2182b","#ef8a62","#fddbc7","#e0e0e0","#999999","#4d4d4d"],
7: ["#b2182b","#ef8a62","#fddbc7","#ffffff","#e0e0e0","#999999","#4d4d4d"],
8: ["#b2182b","#d6604d","#f4a582","#fddbc7","#e0e0e0","#bababa","#878787","#4d4d4d"],
9: ["#b2182b","#d6604d","#f4a582","#fddbc7","#ffffff","#e0e0e0","#bababa","#878787","#4d4d4d"],
10: ["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#e0e0e0","#bababa","#878787","#4d4d4d","#1a1a1a"],
11: ["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#ffffff","#e0e0e0","#bababa","#878787","#4d4d4d","#1a1a1a"]
},RdYlBu: {
3: ["#fc8d59","#ffffbf","#91bfdb"],
4: ["#d7191c","#fdae61","#abd9e9","#2c7bb6"],
5: ["#d7191c","#fdae61","#ffffbf","#abd9e9","#2c7bb6"],
6: ["#d73027","#fc8d59","#fee090","#e0f3f8","#91bfdb","#4575b4"],
7: ["#d73027","#fc8d59","#fee090","#ffffbf","#e0f3f8","#91bfdb","#4575b4"],
8: ["#d73027","#f46d43","#fdae61","#fee090","#e0f3f8","#abd9e9","#74add1","#4575b4"],
9: ["#d73027","#f46d43","#fdae61","#fee090","#ffffbf","#e0f3f8","#abd9e9","#74add1","#4575b4"],
10: ["#a50026","#d73027","#f46d43","#fdae61","#fee090","#e0f3f8","#abd9e9","#74add1","#4575b4","#313695"],
11: ["#a50026","#d73027","#f46d43","#fdae61","#fee090","#ffffbf","#e0f3f8","#abd9e9","#74add1","#4575b4","#313695"]
},Spectral: {
3: ["#fc8d59","#ffffbf","#99d594"],
4: ["#d7191c","#fdae61","#abdda4","#2b83ba"],
5: ["#d7191c","#fdae61","#ffffbf","#abdda4","#2b83ba"],
6: ["#d53e4f","#fc8d59","#fee08b","#e6f598","#99d594","#3288bd"],
7: ["#d53e4f","#fc8d59","#fee08b","#ffffbf","#e6f598","#99d594","#3288bd"],
8: ["#d53e4f","#f46d43","#fdae61","#fee08b","#e6f598","#abdda4","#66c2a5","#3288bd"],
9: ["#d53e4f","#f46d43","#fdae61","#fee08b","#ffffbf","#e6f598","#abdda4","#66c2a5","#3288bd"],
10: ["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2"],
11: ["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#ffffbf","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2"]
},RdYlGn: {
3: ["#fc8d59","#ffffbf","#91cf60"],
4: ["#d7191c","#fdae61","#a6d96a","#1a9641"],
5: ["#d7191c","#fdae61","#ffffbf","#a6d96a","#1a9641"],
6: ["#d73027","#fc8d59","#fee08b","#d9ef8b","#91cf60","#1a9850"],
7: ["#d73027","#fc8d59","#fee08b","#ffffbf","#d9ef8b","#91cf60","#1a9850"],
8: ["#d73027","#f46d43","#fdae61","#fee08b","#d9ef8b","#a6d96a","#66bd63","#1a9850"],
9: ["#d73027","#f46d43","#fdae61","#fee08b","#ffffbf","#d9ef8b","#a6d96a","#66bd63","#1a9850"],
10: ["#a50026","#d73027","#f46d43","#fdae61","#fee08b","#d9ef8b","#a6d96a","#66bd63","#1a9850","#006837"],
11: ["#a50026","#d73027","#f46d43","#fdae61","#fee08b","#ffffbf","#d9ef8b","#a6d96a","#66bd63","#1a9850","#006837"]
},Accent: {
3: ["#7fc97f","#beaed4","#fdc086"],
4: ["#7fc97f","#beaed4","#fdc086","#ffff99"],
5: ["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0"],
6: ["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f"],
7: ["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f","#bf5b17"],
8: ["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f","#bf5b17","#666666"]
},Dark2: {
3: ["#1b9e77","#d95f02","#7570b3"],
4: ["#1b9e77","#d95f02","#7570b3","#e7298a"],
5: ["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e"],
6: ["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02"],
7: ["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02","#a6761d"],
8: ["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02","#a6761d","#666666"]
},Paired: {
3: ["#a6cee3","#1f78b4","#b2df8a"],
4: ["#a6cee3","#1f78b4","#b2df8a","#33a02c"],
5: ["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99"],
6: ["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c"],
7: ["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f"],
8: ["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00"],
9: ["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6"],
10: ["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a"],
11: ["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a","#ffff99"],
12: ["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a","#ffff99","#b15928"]
},Pastel1: {
3: ["#fbb4ae","#b3cde3","#ccebc5"],
4: ["#fbb4ae","#b3cde3","#ccebc5","#decbe4"],
5: ["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6"],
6: ["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc"],
7: ["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd"],
8: ["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd","#fddaec"],
9: ["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd","#fddaec","#f2f2f2"]
},Pastel2: {
3: ["#b3e2cd","#fdcdac","#cbd5e8"],
4: ["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4"],
5: ["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9"],
6: ["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae"],
7: ["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae","#f1e2cc"],
8: ["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae","#f1e2cc","#cccccc"]
},Set1: {
3: ["#e41a1c","#377eb8","#4daf4a"],
4: ["#e41a1c","#377eb8","#4daf4a","#984ea3"],
5: ["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00"],
6: ["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33"],
7: ["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628"],
8: ["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628","#f781bf"],
9: ["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628","#f781bf","#999999"]
},Set2: {
3: ["#66c2a5","#fc8d62","#8da0cb"],
4: ["#66c2a5","#fc8d62","#8da0cb","#e78ac3"],
5: ["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854"],
6: ["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f"],
7: ["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f","#e5c494"],
8: ["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f","#e5c494","#b3b3b3"]
},Set3: {
3: ["#8dd3c7","#ffffb3","#bebada"],
4: ["#8dd3c7","#ffffb3","#bebada","#fb8072"],
5: ["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3"],
6: ["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462"],
7: ["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69"],
8: ["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5"],
9: ["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9"],
10: ["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd"],
11: ["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd","#ccebc5"],
12: ["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd","#ccebc5","#ffed6f"]
}};
================================================
FILE: client/heatmapD3.js
================================================
function heatmapD3() {
var dispatch = d3.dispatch("d3click");
var margin = { top: 10, right: 100, bottom: 100, left: 5 };
var legendMargin = 30;
var cellSize = 20;
var legendCellSize = 60;
var rowLabelWidth = 420;
var colLabelHeight = 110;
var score = function(d) { return +d.overlaps; };
var rowLabels = function(d) { return d.dimensions[0].elements};
var colLabels = function(d) { return d.dimensions[1].elements};
var cellData = function(d) { return d.cells};
var cellRow = function(d) { return +d.row; };
var cellCol = function(d) { return +d.col; };
var cellValue = function(d) { return +d.overlaps; };
var buckets = 9;
var colors = ["#ffffd9","#edf8b1","#c7e9b4","#7fcdbb","#41b6c4","#1d91c0","#225ea8","#253494","#081d58"]; // alternatively colorbrewer.YlGnBu[9]
var rowNames = [];
var colNames = [];
var rowIndex = {};
var colIndex = {};
defaults = {};
function chart(selection) {
selection.each(function(jsonData) {
var data = cellData(jsonData);
rowNames = rowLabels(jsonData);
colNames = colLabels(jsonData);
var width = (colNames.length*cellSize);
var height = (rowNames.length*cellSize);
var colorScale = d3.scale
.quantize()
.domain([d3.min(data, function (d) { return cellValue(d); }), buckets - 1, d3.max(data, function (d) { return cellValue(d); })])
.range(colors);
d3.select('#chart svg').remove();
var svg = d3.select("#chart")
.append("svg")
.attr("width", width + rowLabelWidth + margin.left + legendMargin + margin.right)
.attr("height", height + colLabelHeight + margin.top + margin.bottom);
var rowGroup = svg.append("g")
.attr("transform", "translate("
+ (rowLabelWidth + margin.left - 10)
+ ","
+ (+margin.top + (colLabelHeight) + (cellSize/2)) + ")");
rowGroup.selectAll(".rowLabel")
.data(rowNames)
.enter().append("text")
.text(function (d) { return d; })
.attr("x", 0)
.attr("y", function (d, i) { return i * cellSize; })
.style("text-anchor", "end")
.attr("class", "rowLabel");
var colGroup = svg.append("g")
.attr("transform", "translate("
+ (margin.left + rowLabelWidth + (cellSize/3))
+ "," + (+margin.top + colLabelHeight) +")");
colGroup.selectAll(".colLabel")
.data(colNames)
.enter()
.append("g")
.attr("transform", function(d,i) {
return "translate(" + (i * cellSize) + ",0)";
})
.append("text")
.attr("dx", ".8em")
.attr("dy", ".15em")
.style("text-anchor", "start")
.style("transform", "rotate(-45deg)")
.attr("class", "colLabel")
.text(function(d) { return d; });
for (var i = 0; i < rowNames.length; i++) {
var slot = rowNames[i];
rowIndex[slot] = i;
}
for (var i = 0; i < colNames.length; i++) {
var slot = colNames[i];
colIndex[slot] = i;
}
var cellGroup = svg.append("g")
.attr("transform", "translate(" +
(rowLabelWidth + +margin.left + cellSize) + "," + (colLabelHeight + +margin.top + cellSize) + ")");
var cells = cellGroup.selectAll(".score")
.data(data);
cells.enter()
.append("rect")
.attr("x", function(d) {
return (cellCol(d) - 1) * cellSize;
})
.attr("y", function(d) {
return (cellRow(d) - 1) * cellSize;
})
.attr("rx", 0)
.attr("ry", 0)
.attr("class", "score bordered")
.attr("width", cellSize)
.attr("height", cellSize)
.style("fill", colors[0])
.on("click", function(d) {
var cellObject = $().extend(d);
cellObject.rowLabel = rowNames[cellRow(d)];
cellObject.colLabel = colNames[cellCol(d)];
dispatch.d3click(cellObject);
});
cells.transition()
.duration(1000)
.style("fill", function(d) {
return colorScale(cellValue(d));
});
cells.exit().remove();
var interval = (colorScale.domain()[1] - colorScale.domain()[0]) / colorScale.range().length;
var breaks = d3.range(0, colorScale.range().length).map(function(i) { return colorScale.domain()[0] + d3.round(i * interval); });
var legendGroup = svg.append("g")
.attr("transform", "translate(" +
(rowLabelWidth + +margin.left + width + legendMargin)
+ ","
+ (colLabelHeight + margin.top) + ")");
legendGroup.selectAll(".legend").remove();
var legend = legendGroup.selectAll(".legend")
.data(breaks);
legend.enter().append("g")
.attr("class", "legend");
legend.append("rect")
.attr("x", 0)
.attr("y", function(d, i) { return legendCellSize * i; })
.attr("width", cellSize / 2)
.attr("height", legendCellSize)
.style("fill", function(d, i) { return colors[i]; });
legend.append("text")
.attr("class", "legendLabel")
.text(function(d) { return "≥ " + Math.round(d); })
.style("text-anchor", "start")
.attr("x", cellSize)
.attr("y", function(d, i) {
return (legendCellSize * i) + legendCellSize/2;
})
legend.exit().remove();
});
}
chart.cellValue = function(_) {
if (!arguments.length) return cellValue;
cellValue = _;
return chart;
};
chart.rowLabels = function(_) {
if (!arguments.length) return rowLabels;
rowLabels = _;
return chart;
};
chart.colLabels = function(_) {
if (!arguments.length) return colLabels;
colLabels = _;
return chart;
};
chart.cellData = function(_) {
if (!arguments.length) return cellData;
cellData = _;
return chart;
};
chart.cellRow = function(_) {
if (!arguments.length) return cellRow;
cellRow = _;
return chart;
};
chart.cellCol = function(_) {
if (!arguments.length) return cellCol;
cellCol = _;
return chart;
};
chart.margin = function(_) {
if (!arguments.length) return margin;
margin = _;
return chart;
};
chart.cellSize = function(_) {
if (!arguments.length) return cellSize;
cellSize = _;
return chart;
};
chart.legendCellSize = function(_) {
if (!arguments.length) return legendCellSize;
legendCellSize = _;
return chart;
};
chart.rowLabelWidth = function(_) {
if (!arguments.length) return rowLabelWidth;
rowLabelWidth = _;
return chart;
};
chart.colLabelHeight = function(_) {
if (!arguments.length) return colLabelHeight;
colLabelHeight = _;
return chart;
};
chart.buckets = function(_) {
if (!arguments.length) return buckets;
buckets = _;
return chart;
};
chart.colors = function(_) {
if (!arguments.length) return colors;
colors = _;
return chart;
};
// This adds the "on" methods to our custom exports
d3.rebind(chart, dispatch, "on");
return chart;
}
================================================
FILE: client/index.html
================================================
<!DOCTYPE html>
<meta charset="utf-8">
<html>
<head>
<link href='https://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
<link href="assets/css/bootstrap-material-design.min.css" rel='stylesheet' type='text/css'>
<link href="assets/css/ripples.min.css" rel='stylesheet' type='text/css'>
<link href="assets/css/tetronimos.css" rel='stylesheet' type='text/css'>
<link href="assets/css/site.css" rel='stylesheet' type='text/css'>
</head>
<body>
<div class="container">
<h3>Giggle</h3>
<div id="control-panel">
<div style="display:inline-block">
<div id="region-panel" class="input-panel">
<label>Enter Region</label>
<input id="overlaps" value="chr1:1-5000000"></input>
<button id="go-button" onclick="loadHeatmapForRegion()" style="margin-left:32px;" class="btn btn-default btn-raised">Run</button>
<div id="no-region-warning" class="hide alert alert-dismissible alert-info">
<button type="button" class="close" data-dismiss="alert">×</button>
<strong></strong>
Enter a region first
</div>
</div>
<div ><label>OR</label></div>
<div id="upload-panel" class="input-panel" style="margin-top:0px;clear:both">
<label>Upload file</label>
<form id="bed-upload-form" style="display:inline-block" method="post" enctype="multipart/form-data">
<div class="form-group" style="padding:0px;display:inline-block;width:230px;margin-top:0px">
<input style="display:inline-block;" name="file" type="file">
<input type="text" style="display:inline-block" readonly="" class="form-control" placeholder="choose file...">
</div>
<input id="upload-button" style="clear:both;display:inline-block;" class="btn btn-default btn-raised" type="submit" value="Run">
</form>
</div>
<div id="no-file-warning" class="hide alert alert-dismissible alert-info">
<button type="button" class="close" data-dismiss="alert">×</button>
<strong></strong>
Choose a .bed.gz or vcf.gz file to upload.
</div>
<div id="bad-file-warning" class="hide alert alert-dismissible alert-info">
<button type="button" class="close" data-dismiss="alert">×</button>
<strong></strong>
Invalid query file. Choose a .bed.gz or vcf.gz file to upload.
</div>
</div>
<div class="" style="vertical-align:top;display:inline-block;margin-left:40px;width:120px;">
<span class="radio-value-field radio radio-primary">
<label>
<input type="radio" class="radio-value-field" name="radio-value-field" id="radio-value-overlaps" onclick="loadHeatmapChart()" checked="true" value="overlaps">
Overlaps
</label>
</span>
<span id="radio-value-combo-span" class="radio-value-field radio radio-primary">
<label>
<input type="radio" class="radio-value-field" name="radio-value-field" onclick="loadHeatmapChart()" id="radio-value-combo" value="combo" >
Score
</label>
</span>
</div>
<div class="" style="vertical-align:top;display:inline-block;margin-left:40px;">
<div>
<label style="width:100px !important" >Primary Index</label>
<input id="giggle-url"/>
</div>
<div style="margin-top:10px;">
<label style="width:100px !important;">UCSC Index</label>
<input id="giggle-tracks-url"/>
</div>
</div>
</div>
<div class="loader hide" style="margin-top:160px;text-align:center;">
<div class="cssload-tetrominos">
<div class="cssload-tetromino cssload-box1"></div>
<div class="cssload-tetromino cssload-box2"></div>
<div class="cssload-tetromino cssload-box3"></div>
<div class="cssload-tetromino cssload-box4"></div>
</div>
</div>
<div id="chart"></div>
</div>
<div class="modal fade" id="overlaps-modal" tabindex="-1" role="dialog">
<div class="modal-dialog" style="width:350px" role="document">
<div class="modal-content">
<div class="modal-header" style="padding-top:10px;">
<h3>Overlaps</h3>
</div>
<div class="modal-body" style="height: 450px;overflow-y: scroll;margin-top: 0px;padding-top: 0px;">
</div>
<div class="modal-footer" style="clear-both">
<button type="button" class="btn btn-default icon-button-sm btn btn-default btn-raised" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
<!-- Latest compiled and minified CSS -->
<script src="https://code.jquery.com/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
<script src="assets/js/material.min.js"></script>
<script src="assets/js/ripples.min.js"></script>
<script src="assets/js/colorbrewer.js"></script>
<script src="http://d3js.org/d3.v3.js"></script>
<script src="heatmapD3.js"></script>
<script src="app.js"></script>
</body>
</html>
================================================
FILE: client/smartview.html
================================================
<!DOCTYPE html>
<meta charset="utf-8">
<html>
<head>
<link href='https://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
<link href="assets/css/bootstrap-material-design.min.css" rel='stylesheet' type='text/css'>
<link href="assets/css/ripples.min.css" rel='stylesheet' type='text/css'>
<link href="assets/css/tetronimos.css" rel='stylesheet' type='text/css'>
<link href="assets/css/site.css" rel='stylesheet' type='text/css'>
</head>
<body>
<div class="container">
<h3>UCSC SmartView by Giggle</h3>
<div id="smartview-form">
<div style="margin-top:10px;">
<label style="width:100px !important;">Index</label>
<input id="giggle-tracks-url"/>
</div>
<div style="margin-top:10px;">
<label style="width:100px !important;">Region</label>
<input id="overlaps" value="chr4:99990000-100010000"></input>
</div>
<button id="go-button" onclick="loadUCSCSmartView()" style="margin-left:0px;" class="btn btn-default btn-raised">View</button>
</div>
<!-- Latest compiled and minified CSS -->
<script src="https://code.jquery.com/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
<script src="assets/js/material.min.js"></script>
<script src="assets/js/ripples.min.js"></script>
<script src="assets/js/colorbrewer.js"></script>
<script src="http://d3js.org/d3.v3.js"></script>
<script src="heatmapD3.js"></script>
<script src="app.js"></script>
</body>
</html>
================================================
FILE: data/human.hg19.genome
================================================
chr1 249250621
chr2 243199373
chr3 198022430
chr4 191154276
chr5 180915260
chr6 171115067
chr7 159138663
chrX 155270560
chr8 146364022
chr9 141213431
chr10 135534747
chr11 135006516
chr12 133851895
chr13 115169878
chr14 107349540
chr15 102531392
chr16 90354753
chr17 81195210
chr18 78077248
chr20 63025520
chrY 59373566
chr19 59128983
chr22 51304566
chr21 48129895
chr6_ssto_hap7 4928567
chr6_mcf_hap5 4833398
chr6_cox_hap2 4795371
chr6_mann_hap4 4683263
chr6_apd_hap1 4622290
chr6_qbl_hap6 4611984
chr6_dbb_hap3 4610396
chr17_ctg5_hap1 1680828
chr4_ctg9_hap1 590426
chr1_gl000192_random 547496
chrUn_gl000225 211173
chr4_gl000194_random 191469
chr4_gl000193_random 189789
chr9_gl000200_random 187035
chrUn_gl000222 186861
chrUn_gl000212 186858
chr7_gl000195_random 182896
chrUn_gl000223 180455
chrUn_gl000224 179693
chrUn_gl000219 179198
chr17_gl000205_random 174588
chrUn_gl000215 172545
chrUn_gl000216 172294
chrUn_gl000217 172149
chr9_gl000199_random 169874
chrUn_gl000211 166566
chrUn_gl000213 164239
chrUn_gl000220 161802
chrUn_gl000218 161147
chr19_gl000209_random 159169
chrUn_gl000221 155397
chrUn_gl000214 137718
chrUn_gl000228 129120
chrUn_gl000227 128374
chr1_gl000191_random 106433
chr19_gl000208_random 92689
chr9_gl000198_random 90085
chr17_gl000204_random 81310
chrUn_gl000233 45941
chrUn_gl000237 45867
chrUn_gl000230 43691
chrUn_gl000242 43523
chrUn_gl000243 43341
chrUn_gl000241 42152
chrUn_gl000236 41934
chrUn_gl000240 41933
chr17_gl000206_random 41001
chrUn_gl000232 40652
chrUn_gl000234 40531
chr11_gl000202_random 40103
chrUn_gl000238 39939
chrUn_gl000244 39929
chrUn_gl000248 39786
chr8_gl000196_random 38914
chrUn_gl000249 38502
chrUn_gl000246 38154
chr17_gl000203_random 37498
chr8_gl000197_random 37175
chrUn_gl000245 36651
chrUn_gl000247 36422
chr9_gl000201_random 36148
chrUn_gl000235 34474
chrUn_gl000239 33824
chr21_gl000210_random 27682
chrUn_gl000231 27386
chrUn_gl000229 19913
chrM 16571
chrMT 16571
chrUn_gl000226 15008
chr18_gl000207_random 4262
================================================
FILE: docs/app.js
================================================
var heatmap = null;
var giggleUrl = "http://localhost:8080/";
var giggleUCSCBrowserUrl = "http://localhost:8081/";
var ucscBrowserUrl = "https://genome.ucsc.edu/cgi-bin/hgTracks?db=hg19";
var sourceFileMap = {};
var coordMap = {};
var def = null;
var dataForChart = null;
var valueField = "overlaps";
var uploadedFileName = null;
var ucscFileMap = {};
var ucscTrackNames = [];
$.urlParam = function(name){
var results = new RegExp('[\?&]' + name + '=([^&#]*)').exec(window.location.href);
if (results==null){
return null;
}else{
return results[1] || 0;
}
}
$(document).ready(function() {
if (decodeURIComponent($.urlParam('primary_index')) != 'null') {
giggleUrl = "http://" + decodeURIComponent($.urlParam('primary_index'));
}
if (decodeURIComponent($.urlParam('ucsc_index')) != 'null') {
giggleUCSCBrowserUrl = "http://" + decodeURIComponent($.urlParam('ucsc_index'));
}
$.material.init();
$('#giggle-url').val(giggleUrl);
$('#giggle-tracks-url').val(giggleUCSCBrowserUrl);
initBedUploadForm();
promiseLoadMatrixDefinition().then( function() {
heatmap = new heatmapD3().cellSize(15)
.legendCellSize(20)
.margin({top: 10, bottom: 10, left: 10, right: 70})
.colors(colorbrewer.YlGnBu[9])
//.colors(colorbrewer.Oranges[9]);
.cellValue( function(d) { return +d[valueField]; } )
.on('d3click', function(d,i) {
loadOverlapDetail(d.name, d.row, d.col);
});
loadHeatmapForRegion();
});
loadUCSCDefinition();
});
function loadUCSCSmartView() {
if ($('#overlaps').val() == null || $('#overlaps').val().trim() == "") {
$('#no-region-warning').removeClass("hide");
return;
}
var giggleTracksUrl = giggleUCSCBrowserUrl + "?region=" + $('#overlaps').val();
$.ajax({
url: giggleTracksUrl,
type: "GET",
crossDomain: true,
dataType: "text",
success: function(data) {
var records = [];
data.split("\n").forEach(function(row) {
if (row == null || row.trim() == "") {
} else {
fields = row.split("\t");
var rec = {};
rec.name = fields[0].split("/")[1];
rec.size = fields[1];
rec.overlaps = fields[2];
var pos = ucscFileMap[rec.name];
rec.pos = pos;
rec.trackName = ucscTrackNames[+pos];
records.push(rec);
}
});
//var ucscTracksUrl = ucscBrowserUrl + '&position=' + chr + ":" + start + '-' + end;
var ucscTracksUrl = ucscBrowserUrl + '&position=' + $('#overlaps').val();
records.forEach( function(record) {
if (record.trackName) {
if (+record.overlaps > 0) {
ucscTracksUrl += "&" + record.trackName + "=dense";
} else {
ucscTracksUrl += "&" + record.trackName + "=hide";
}
}
});
var newTab = window.open(ucscTracksUrl, '_blank');
//newTab.focus();
},
error: function(error) {
console.log("An error occurred when getting UCSC track info " + giggleTracksUrl);
console.error();
}
});
//function loadUCSCTracks(chr, start, end) {
}
function loadUCSCDefinition() {
var giggleTracksDefUrl = giggleUCSCBrowserUrl + "?data";
$.ajax({
url: giggleTracksDefUrl,
type: "GET",
crossDomain: true,
dataType: "text",
success: function(data) {
var def = JSON.parse(data);
def.sourceFiles.forEach( function( sourceFile ) {
var fileName = sourceFile.name.split("/")[1];
ucscFileMap[fileName] = sourceFile.position[0];
});
def.dimensions[0].elements.forEach( function(trackName) {
ucscTrackNames.push(trackName);
})
},
error: function(error) {
console.error;
}
});
}
function loadUCSCTracks(chr, start, end) {
var giggleTracksUrl = giggleUCSCBrowserUrl + "?region=" + chr + ":" + start + '-' + end;
$.ajax({
url: giggleTracksUrl,
type: "GET",
crossDomain: true,
dataType: "text",
success: function(data) {
var records = [];
data.split("\n").forEach(function(row) {
if (row == null || row.trim() == "") {
} else {
fields = row.split("\t");
var rec = {};
rec.name = fields[0].split("/")[1];
rec.size = fields[1];
rec.overlaps = fields[2];
var pos = ucscFileMap[rec.name];
rec.pos = pos;
rec.trackName = ucscTrackNames[+pos];
records.push(rec);
}
});
var ucscTracksUrl = ucscBrowserUrl + '&position=' + chr + ":" + start + '-' + end;
records.forEach( function(record) {
if (+record.overlaps > 0) {
ucscTracksUrl += "&" + record.trackName + "=dense";
} else {
ucscTracksUrl += "&" + record.trackName + "=hide";
}
});
var newTab = window.open(ucscTracksUrl, '_blank');
//newTab.focus();
},
error: function(error) {
console.log("An error occurred when getting UCSC track info " + giggleTracksUrl);
console.error();
}
});
}
function loadOverlapDetail(fileName, row, col) {
var rowLabel = coordMap[row + '-' + col].rowLabel;
var colLabel = coordMap[row + '-' + col].colLabel;
var detailUrl = giggleUrl;
if (uploadedFileName) {
detailUrl += "?query=" + uploadedFileName;
} else {
detailUrl += "?region=" + $('#overlaps').val();
}
detailUrl += "&files=" + fileName + "&full";
$.ajax({
url: detailUrl,
type: "GET",
crossDomain: true,
dataType: "text",
success: function(data) {
var results = [];
var header = null;
var records = [];
data.split("\n").forEach(function(row) {
if (row == null || row.trim() == "") {
} else {
fields = row.split("\t");
if (row.indexOf("#") == 0) {
if (header) {
results.push({'header': header, 'rows': records});
recs = [];
}
header = {};
header.name = fields[0].split("/")[1];
header.size = fields[1];
header.overlaps = fields[2];
} else {
var rec = {};
rec.chr = fields[0];
rec.start = fields[1];
rec.end = fields[2];
records.push(rec);
}
}
});
if (header) {
results.push({'header': header, 'rows': records});
}
$('#overlaps-modal .modal-header').html("<h5>" + rowLabel + " - " + colLabel + "</h5>");
$('#overlaps-modal .modal-body').html("");
results.forEach(function(result) {
var content = "";
content += "<table style='width:100%'>";
var rowNbr = 1;
result.rows.forEach( function(row) {
content +=
"<tr>"
+ "<td>" + rowNbr++ + ".</td>"
+ "<td>" + "<a href='javascript:void(0)' onclick=\"loadUCSCTracks(" + "'" + row.chr + "'," + row.start + ',' + row.end + ")\">" +row.chr + ' ' + addCommas(row.start) + '-' + addCommas(row.end) + "</a></td>"
+ "</tr>";
});
content += "</table>";
$('#overlaps-modal .modal-body').append(content);
});
$('#overlaps-modal').modal('show');
},
error: function(error) {
console.log("An error occurred when getting overlap detail " + detailUrl);
console.error();
}
});
}
function promiseLoadMatrixDefinition() {
return new Promise( function(resolve, reject) {
var defUrl = giggleUrl + "?data";
def = null;
sourceFileMap = {};
// Get matrix definition
$.ajax({
url: defUrl,
type: "GET",
crossDomain: true,
dataType: "text",
success: function(data) {
def = JSON.parse(data);
def.sourceFiles.forEach( function( sourceFile ) {
var cellCoord = {};
cellCoord.row = sourceFile.position[0];
cellCoord.col = sourceFile.position[1];
sourceFileMap[sourceFile.name] = cellCoord;
coordMap[cellCoord.row + "-" + cellCoord.col] = {rowLabel: def.dimensions[0].elements[cellCoord.row], colLabel: def.dimensions[1].elements[cellCoord.col]};
});
def.cells = [];
resolve(def);
},
error: function(error) {
console.error();
reject('Unable to get matrix definition ' + error);
}
});
});
}
function initBedUploadForm() {
$('#bed-upload-form').submit( function(e){
e.preventDefault();
$(".input-panel").removeClass("selected");
// Validate that file was uploaded
$('.alert').addClass("hide");
if ($('#bed-upload-form input[type=file]')[0].files.length == 0) {
$('#no-file-warning').removeClass("hide");
return;
}
uploadedFileName = $('#bed-upload-form input[type=file]')[0].files[0].name;
// Enable odds ratio and default as checked
//$("#radio-value-ratio").prop("checked", true);
//$("#radio-value-ratio-span").removeClass("hide");
$("#radio-value-combo").prop("checked", true);
$("#radio-value-combo-span").removeClass("hide");
// Highlight upload panel
$("#upload-panel").addClass("selected");
// Show loading gif
$('.loader').removeClass("hide");
var formData = new FormData(this);
//formData.append(uploadedFileName, $('#bed-upload-form input[type=file]')[0].files[0]);
getGiggleUrls();
var url = giggleUrl + "filepost";
$.ajax({
url : url,
data : formData,
cache : false,
contentType : false,
processData : false,
type : 'POST',
success : function(data, textStatus, jqXHR){
$('.loader').addClass("hide");
loadHeatmapChart(data, def);
},
error : function(error) {
$('.loader').addClass("hide");
if (error.success().hasOwnProperty("responseText") && error.success().responseText.length > 0) {
loadHeatmapChart( error.success().responseText, def);
}
console.error();
}
});
});
}
function getGiggleUrls() {
giggleUrl = $('#giggle-url').val();
giggleUCSCBrowserUrl = $('#giggle-tracks-url').val();
giggleUrl += '/'
giggleUCSCBrowserUrl += '/'
}
function loadHeatmapForRegion() {
$(".input-panel").removeClass("selected");
// Validate that region was filled in
$('.alert').addClass("hide");
if ($('#overlaps').val() == null || $('#overlaps').val().trim() == "") {
$('#no-region-warning').removeClass("hide");
return;
}
// Switch to 'overlap' and disable 'odds ratio'
$("#radio-value-overlaps").prop("checked", true);
$("#radio-value-ratio-span").addClass("hide");
// Highlight region panel
$("#region-panel").addClass("selected");
// Show loading animation
$('.loader').removeClass("hide");
getGiggleUrls();
var dataUrl = giggleUrl + "?region=" + $('#overlaps').val();
uploadedFileName = null;
// get matrix data (tab delimited) and fill in heatmap
$.ajax({
url: dataUrl,
type: "GET",
crossDomain: true,
dataType: "text",
success: function(data) {
$('.loader').addClass("hide");
loadHeatmapChart(data, def);
},
error: function(error) {
$('.loader').addClass("hide");
}
});
}
function loadHeatmapChart(data, theDef) {
def = theDef ? theDef : def;
dataForChart = data ? data : dataForChart;
def.cells = [];
if($("input[type='radio'].radio-value-field").is(':checked')) {
valueField = $("input[type='radio'].radio-value-field:checked").val();
}
dataForChart.split("\n").forEach(function(row) {
fields = row.split("\t");
if (fields[0] == "QueryFileError") {
$('#bad-file-warning').removeClass("hide");
return;
}
if (fields.length == 0 || fields[0] == "") {
} else {
var rec = {};
rec.name = fields[0].split("/")[1];
rec.size = fields[1];
var overlaps = fields[2];
if (overlaps.indexOf(":") > 0) {
rec.overlaps = overlaps.split(":")[1];
} else {
rec.overlaps = overlaps;
}
if (fields.length > 3) {
var ratio = fields[3];
if (ratio.indexOf(":") > 0) {
rec.ratio = ratio.split(":")[1];
} else {
rec.ratio = ratio;
}
}
if (fields.length > 4) {
var sig = fields[4];
if (sig.indexOf(":") > 0) {
rec.sig = sig.split(":")[1];
} else {
rec.sig = sig;
}
rec.sig = rec.sig * 100;
}
if (fields.length > 5) {
var combo = fields[5];
if (combo.indexOf(":") > 0) {
rec.combo = combo.split(":")[1];
} else {
rec.combo = combo;
}
}
rec.row = sourceFileMap[rec.name].row;
rec.col = sourceFileMap[rec.name].col;
def.cells.push(rec);
}
});
if ( def.cells.length > 0) {
maxValue = d3.max(def.cells, function(d,i) {return d.overlaps});
if (maxValue <= 2) {
maxValue = 3;
}
heatmap.colors(colorbrewer.YlGnBu[Math.min(maxValue, 9)])
var selection = d3.select("#chart").datum(def);
heatmap(selection);
}
}
function addCommas(nStr)
{
nStr += '';
x = nStr.split('.');
x1 = x[0];
x2 = x.length > 1 ? '.' + x[1] : '';
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1)) {
x1 = x1.replace(rgx, '$1' + ',' + '$2');
}
return x1 + x2;
}
================================================
FILE: docs/assets/css/site.css
================================================
body {
font-family: 'Open Sans';
background-color: white;
color: #757474;
font-size: 13px;
}
h3 {
margin-top: 5px;
margin-bottom: 3px;
}
h4 {
text-align: center;
margin-bottom: 0px;
}
.rowLabel, .colLabel, .legendLabel {
font-size:11px;
fill: #757474;
}
rect.bordered {
stroke: #E6E6E6;
stroke-width:2px;
}
.checkbox label, .radio label, label {
color: #757474;
font-size: 13px;
}
.radio-value-field.radio label span {
left: 25px;
}
#go-button {
font-size: 13px;
padding-bottom: 5px;
padding-top: 5px;
margin-top: 0px;
}
#upload-button {
font-size: 13px;
padding-bottom: 5px;
padding-top: 5px;
margin-top: 0px;
}
#control-panel {
margin-top:0px;
}
#overlaps {
width: 200px;
}
label {
width: 80px !important;
}
.radio-value-field label {
width: 100% !important;
}
.form-control {
font-size: 13px !important;
}
::-webkit-input-placeholder {
font-size: 13px !important;
}
.checkbox, .radio {
margin-top: 0px;
}
input#giggle-url {
width: 300px !important;
}
input#giggle-tracks-url {
width: 300px !important;
}
#region-panel {
padding: 3px;
}
#upload-panel {
padding: 3px;
}
.selected {
background-color: #fffad5;
}
.alert.alert-info {
background-color: #569ca0;
color: white;
margin-top: 3px;
}
================================================
FILE: docs/assets/css/tetronimos.css
================================================
.cssload-tetrominos {
position: absolute;
left: 50%;
transform: translate(-62px, -53px);
-o-transform: translate(-62px, -53px);
-ms-transform: translate(-62px, -53px);
-webkit-transform: translate(-62px, -53px);
-moz-transform: translate(-62px, -53px);
}
.cssload-tetromino {
width: 53px;
height: 62px;
position: absolute;
transition: all ease 0.255s;
-o-transition: all ease 0.255s;
-ms-transition: all ease 0.255s;
-webkit-transition: all ease 0.255s;
-moz-transition: all ease 0.255s;
background: url('data:image/svg+xml;utf-8,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 612 684"%3E%3Cpath fill="rgba(29, 145, 192, .8)" d="M305.7 0L0 170.9v342.3L305.7 684 612 513.2V170.9L305.7 0z"/%3E%3Cpath fill="rgb(127, 205, 187)" d="M305.7 80.1l-233.6 131 233.6 131 234.2-131-234.2-131"/%3E%3C/svg%3E') no-repeat top center;
}
.cssload-box1 {
animation: cssload-tetromino1 1.275s ease-out infinite;
-o-animation: cssload-tetromino1 1.275s ease-out infinite;
-ms-animation: cssload-tetromino1 1.275s ease-out infinite;
-webkit-animation: cssload-tetromino1 1.275s ease-out infinite;
-moz-animation: cssload-tetromino1 1.275s ease-out infinite;
}
.cssload-box2 {
animation: cssload-tetromino2 1.275s ease-out infinite;
-o-animation: cssload-tetromino2 1.275s ease-out infinite;
-ms-animation: cssload-tetromino2 1.275s ease-out infinite;
-webkit-animation: cssload-tetromino2 1.275s ease-out infinite;
-moz-animation: cssload-tetromino2 1.275s ease-out infinite;
}
.cssload-box3 {
animation: cssload-tetromino3 1.275s ease-out infinite;
-o-animation: cssload-tetromino3 1.275s ease-out infinite;
-ms-animation: cssload-tetromino3 1.275s ease-out infinite;
-webkit-animation: cssload-tetromino3 1.275s ease-out infinite;
-moz-animation: cssload-tetromino3 1.275s ease-out infinite;
z-index: 2;
}
.cssload-box4 {
animation: cssload-tetromino4 1.275s ease-out infinite;
-o-animation: cssload-tetromino4 1.275s ease-out infinite;
-ms-animation: cssload-tetromino4 1.275s ease-out infinite;
-webkit-animation: cssload-tetromino4 1.275s ease-out infinite;
-moz-animation: cssload-tetromino4 1.275s ease-out infinite;
}
@keyframes cssload-tetromino1 {
0%, 40% {
transform: translate(0, 0);
}
50% {
transform: translate(26px, -15px);
}
60%, 100% {
transform: translate(53px, 0);
}
}
@-o-keyframes cssload-tetromino1 {
0%, 40% {
-o-transform: translate(0, 0);
}
50% {
-o-transform: translate(26px, -15px);
}
60%, 100% {
-o-transform: translate(53px, 0);
}
}
@-ms-keyframes cssload-tetromino1 {
0%, 40% {
-ms-transform: translate(0, 0);
}
50% {
-ms-transform: translate(26px, -15px);
}
60%, 100% {
-ms-transform: translate(53px, 0);
}
}
@-webkit-keyframes cssload-tetromino1 {
0%, 40% {
-webkit-transform: translate(0, 0);
}
50% {
-webkit-transform: translate(26px, -15px);
}
60%, 100% {
-webkit-transform: translate(53px, 0);
}
}
@-moz-keyframes cssload-tetromino1 {
0%, 40% {
-moz-transform: translate(0, 0);
}
50% {
-moz-transform: translate(26px, -15px);
}
60%, 100% {
-moz-transform: translate(53px, 0);
}
}
@keyframes cssload-tetromino2 {
0%, 20% {
transform: translate(53px, 0px);
}
40%, 100% {
transform: translate(79px, 15px);
}
}
@-o-keyframes cssload-tetromino2 {
0%, 20% {
-o-transform: translate(53px, 0px);
}
40%, 100% {
-o-transform: translate(79px, 15px);
}
}
@-ms-keyframes cssload-tetromino2 {
0%, 20% {
-ms-transform: translate(53px, 0px);
}
40%, 100% {
-ms-transform: translate(79px, 15px);
}
}
@-webkit-keyframes cssload-tetromino2 {
0%, 20% {
-webkit-transform: translate(53px, 0px);
}
40%, 100% {
-webkit-transform: translate(79px, 15px);
}
}
@-moz-keyframes cssload-tetromino2 {
0%, 20% {
-moz-transform: translate(53px, 0px);
}
40%, 100% {
-moz-transform: translate(79px, 15px);
}
}
@keyframes cssload-tetromino3 {
0% {
transform: translate(79px, 15px);
}
20%, 60% {
transform: translate(53px, 30px);
}
90%, 100% {
transform: translate(26px, 15px);
}
}
@-o-keyframes cssload-tetromino3 {
0% {
-o-transform: translate(79px, 15px);
}
20%, 60% {
-o-transform: translate(53px, 30px);
}
90%, 100% {
-o-transform: translate(26px, 15px);
}
}
@-ms-keyframes cssload-tetromino3 {
0% {
-ms-transform: translate(79px, 15px);
}
20%, 60% {
-ms-transform: translate(53px, 30px);
}
90%, 100% {
-ms-transform: translate(26px, 15px);
}
}
@-webkit-keyframes cssload-tetromino3 {
0% {
-webkit-transform: translate(79px, 15px);
}
20%, 60% {
-webkit-transform: translate(53px, 30px);
}
90%, 100% {
-webkit-transform: translate(26px, 15px);
}
}
@-moz-keyframes cssload-tetromino3 {
0% {
-moz-transform: translate(79px, 15px);
}
20%, 60% {
-moz-transform: translate(53px, 30px);
}
90%, 100% {
-moz-transform: translate(26px, 15px);
}
}
@keyframes cssload-tetromino4 {
0%, 60% {
transform: translate(26px, 15px);
}
90%, 100% {
transform: translate(0, 0);
}
}
@-o-keyframes cssload-tetromino4 {
0%, 60% {
-o-transform: translate(26px, 15px);
}
90%, 100% {
-o-transform: translate(0, 0);
}
}
@-ms-keyframes cssload-tetromino4 {
0%, 60% {
-ms-transform: translate(26px, 15px);
}
90%, 100% {
-ms-transform: translate(0, 0);
}
}
@-webkit-keyframes cssload-tetromino4 {
0%, 60% {
-webkit-transform: translate(26px, 15px);
}
90%, 100% {
-webkit-transform: translate(0, 0);
}
}
@-moz-keyframes cssload-tetromino4 {
0%, 60% {
-moz-transform: translate(26px, 15px);
}
90%, 100% {
-moz-transform: translate(0, 0);
}
}
================================================
FILE: docs/assets/js/colorbrewer.js
================================================
// This product includes color specifications and designs developed by Cynthia Brewer (http://colorbrewer.org/).
// JavaScript specs as packaged in the D3 library (d3js.org). Please see license at http://colorbrewer.org/export/LICENSE.txt
var colorbrewer = {YlGn: {
3: ["#f7fcb9","#addd8e","#31a354"],
4: ["#ffffcc","#c2e699","#78c679","#238443"],
5: ["#ffffcc","#c2e699","#78c679","#31a354","#006837"],
6: ["#ffffcc","#d9f0a3","#addd8e","#78c679","#31a354","#006837"],
7: ["#ffffcc","#d9f0a3","#addd8e","#78c679","#41ab5d","#238443","#005a32"],
8: ["#ffffe5","#f7fcb9","#d9f0a3","#addd8e","#78c679","#41ab5d","#238443","#005a32"],
9: ["#ffffe5","#f7fcb9","#d9f0a3","#addd8e","#78c679","#41ab5d","#238443","#006837","#004529"]
},YlGnBu: {
3: ["#edf8b1","#7fcdbb","#2c7fb8"],
4: ["#ffffcc","#a1dab4","#41b6c4","#225ea8"],
5: ["#ffffcc","#a1dab4","#41b6c4","#2c7fb8","#253494"],
6: ["#ffffcc","#c7e9b4","#7fcdbb","#41b6c4","#2c7fb8","#253494"],
7: ["#ffffcc","#c7e9b4","#7fcdbb","#41b6c4","#1d91c0","#225ea8","#0c2c84"],
8: ["#ffffd9","#edf8b1","#c7e9b4","#7fcdbb","#41b6c4","#1d91c0","#225ea8","#0c2c84"],
9: ["#ffffd9","#edf8b1","#c7e9b4","#7fcdbb","#41b6c4","#1d91c0","#225ea8","#253494","#081d58"]
},GnBu: {
3: ["#e0f3db","#a8ddb5","#43a2ca"],
4: ["#f0f9e8","#bae4bc","#7bccc4","#2b8cbe"],
5: ["#f0f9e8","#bae4bc","#7bccc4","#43a2ca","#0868ac"],
6: ["#f0f9e8","#ccebc5","#a8ddb5","#7bccc4","#43a2ca","#0868ac"],
7: ["#f0f9e8","#ccebc5","#a8ddb5","#7bccc4","#4eb3d3","#2b8cbe","#08589e"],
8: ["#f7fcf0","#e0f3db","#ccebc5","#a8ddb5","#7bccc4","#4eb3d3","#2b8cbe","#08589e"],
9: ["#f7fcf0","#e0f3db","#ccebc5","#a8ddb5","#7bccc4","#4eb3d3","#2b8cbe","#0868ac","#084081"]
},BuGn: {
3: ["#e5f5f9","#99d8c9","#2ca25f"],
4: ["#edf8fb","#b2e2e2","#66c2a4","#238b45"],
5: ["#edf8fb","#b2e2e2","#66c2a4","#2ca25f","#006d2c"],
6: ["#edf8fb","#ccece6","#99d8c9","#66c2a4","#2ca25f","#006d2c"],
7: ["#edf8fb","#ccece6","#99d8c9","#66c2a4","#41ae76","#238b45","#005824"],
8: ["#f7fcfd","#e5f5f9","#ccece6","#99d8c9","#66c2a4","#41ae76","#238b45","#005824"],
9: ["#f7fcfd","#e5f5f9","#ccece6","#99d8c9","#66c2a4","#41ae76","#238b45","#006d2c","#00441b"]
},PuBuGn: {
3: ["#ece2f0","#a6bddb","#1c9099"],
4: ["#f6eff7","#bdc9e1","#67a9cf","#02818a"],
5: ["#f6eff7","#bdc9e1","#67a9cf","#1c9099","#016c59"],
6: ["#f6eff7","#d0d1e6","#a6bddb","#67a9cf","#1c9099","#016c59"],
7: ["#f6eff7","#d0d1e6","#a6bddb","#67a9cf","#3690c0","#02818a","#016450"],
8: ["#fff7fb","#ece2f0","#d0d1e6","#a6bddb","#67a9cf","#3690c0","#02818a","#016450"],
9: ["#fff7fb","#ece2f0","#d0d1e6","#a6bddb","#67a9cf","#3690c0","#02818a","#016c59","#014636"]
},PuBu: {
3: ["#ece7f2","#a6bddb","#2b8cbe"],
4: ["#f1eef6","#bdc9e1","#74a9cf","#0570b0"],
5: ["#f1eef6","#bdc9e1","#74a9cf","#2b8cbe","#045a8d"],
6: ["#f1eef6","#d0d1e6","#a6bddb","#74a9cf","#2b8cbe","#045a8d"],
7: ["#f1eef6","#d0d1e6","#a6bddb","#74a9cf","#3690c0","#0570b0","#034e7b"],
8: ["#fff7fb","#ece7f2","#d0d1e6","#a6bddb","#74a9cf","#3690c0","#0570b0","#034e7b"],
9: ["#fff7fb","#ece7f2","#d0d1e6","#a6bddb","#74a9cf","#3690c0","#0570b0","#045a8d","#023858"]
},BuPu: {
3: ["#e0ecf4","#9ebcda","#8856a7"],
4: ["#edf8fb","#b3cde3","#8c96c6","#88419d"],
5: ["#edf8fb","#b3cde3","#8c96c6","#8856a7","#810f7c"],
6: ["#edf8fb","#bfd3e6","#9ebcda","#8c96c6","#8856a7","#810f7c"],
7: ["#edf8fb","#bfd3e6","#9ebcda","#8c96c6","#8c6bb1","#88419d","#6e016b"],
8: ["#f7fcfd","#e0ecf4","#bfd3e6","#9ebcda","#8c96c6","#8c6bb1","#88419d","#6e016b"],
9: ["#f7fcfd","#e0ecf4","#bfd3e6","#9ebcda","#8c96c6","#8c6bb1","#88419d","#810f7c","#4d004b"]
},RdPu: {
3: ["#fde0dd","#fa9fb5","#c51b8a"],
4: ["#feebe2","#fbb4b9","#f768a1","#ae017e"],
5: ["#feebe2","#fbb4b9","#f768a1","#c51b8a","#7a0177"],
6: ["#feebe2","#fcc5c0","#fa9fb5","#f768a1","#c51b8a","#7a0177"],
7: ["#feebe2","#fcc5c0","#fa9fb5","#f768a1","#dd3497","#ae017e","#7a0177"],
8: ["#fff7f3","#fde0dd","#fcc5c0","#fa9fb5","#f768a1","#dd3497","#ae017e","#7a0177"],
9: ["#fff7f3","#fde0dd","#fcc5c0","#fa9fb5","#f768a1","#dd3497","#ae017e","#7a0177","#49006a"]
},PuRd: {
3: ["#e7e1ef","#c994c7","#dd1c77"],
4: ["#f1eef6","#d7b5d8","#df65b0","#ce1256"],
5: ["#f1eef6","#d7b5d8","#df65b0","#dd1c77","#980043"],
6: ["#f1eef6","#d4b9da","#c994c7","#df65b0","#dd1c77","#980043"],
7: ["#f1eef6","#d4b9da","#c994c7","#df65b0","#e7298a","#ce1256","#91003f"],
8: ["#f7f4f9","#e7e1ef","#d4b9da","#c994c7","#df65b0","#e7298a","#ce1256","#91003f"],
9: ["#f7f4f9","#e7e1ef","#d4b9da","#c994c7","#df65b0","#e7298a","#ce1256","#980043","#67001f"]
},OrRd: {
3: ["#fee8c8","#fdbb84","#e34a33"],
4: ["#fef0d9","#fdcc8a","#fc8d59","#d7301f"],
5: ["#fef0d9","#fdcc8a","#fc8d59","#e34a33","#b30000"],
6: ["#fef0d9","#fdd49e","#fdbb84","#fc8d59","#e34a33","#b30000"],
7: ["#fef0d9","#fdd49e","#fdbb84","#fc8d59","#ef6548","#d7301f","#990000"],
8: ["#fff7ec","#fee8c8","#fdd49e","#fdbb84","#fc8d59","#ef6548","#d7301f","#990000"],
9: ["#fff7ec","#fee8c8","#fdd49e","#fdbb84","#fc8d59","#ef6548","#d7301f","#b30000","#7f0000"]
},YlOrRd: {
3: ["#ffeda0","#feb24c","#f03b20"],
4: ["#ffffb2","#fecc5c","#fd8d3c","#e31a1c"],
5: ["#ffffb2","#fecc5c","#fd8d3c","#f03b20","#bd0026"],
6: ["#ffffb2","#fed976","#feb24c","#fd8d3c","#f03b20","#bd0026"],
7: ["#ffffb2","#fed976","#feb24c","#fd8d3c","#fc4e2a","#e31a1c","#b10026"],
8: ["#ffffcc","#ffeda0","#fed976","#feb24c","#fd8d3c","#fc4e2a","#e31a1c","#b10026"],
9: ["#ffffcc","#ffeda0","#fed976","#feb24c","#fd8d3c","#fc4e2a","#e31a1c","#bd0026","#800026"]
},YlOrBr: {
3: ["#fff7bc","#fec44f","#d95f0e"],
4: ["#ffffd4","#fed98e","#fe9929","#cc4c02"],
5: ["#ffffd4","#fed98e","#fe9929","#d95f0e","#993404"],
6: ["#ffffd4","#fee391","#fec44f","#fe9929","#d95f0e","#993404"],
7: ["#ffffd4","#fee391","#fec44f","#fe9929","#ec7014","#cc4c02","#8c2d04"],
8: ["#ffffe5","#fff7bc","#fee391","#fec44f","#fe9929","#ec7014","#cc4c02","#8c2d04"],
9: ["#ffffe5","#fff7bc","#fee391","#fec44f","#fe9929","#ec7014","#cc4c02","#993404","#662506"]
},Purples: {
3: ["#efedf5","#bcbddc","#756bb1"],
4: ["#f2f0f7","#cbc9e2","#9e9ac8","#6a51a3"],
5: ["#f2f0f7","#cbc9e2","#9e9ac8","#756bb1","#54278f"],
6: ["#f2f0f7","#dadaeb","#bcbddc","#9e9ac8","#756bb1","#54278f"],
7: ["#f2f0f7","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#4a1486"],
8: ["#fcfbfd","#efedf5","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#4a1486"],
9: ["#fcfbfd","#efedf5","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#54278f","#3f007d"]
},Blues: {
3: ["#deebf7","#9ecae1","#3182bd"],
4: ["#eff3ff","#bdd7e7","#6baed6","#2171b5"],
5: ["#eff3ff","#bdd7e7","#6baed6","#3182bd","#08519c"],
6: ["#eff3ff","#c6dbef","#9ecae1","#6baed6","#3182bd","#08519c"],
7: ["#eff3ff","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#084594"],
8: ["#f7fbff","#deebf7","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#084594"],
9: ["#f7fbff","#deebf7","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#08519c","#08306b"]
},Greens: {
3: ["#e5f5e0","#a1d99b","#31a354"],
4: ["#edf8e9","#bae4b3","#74c476","#238b45"],
5: ["#edf8e9","#bae4b3","#74c476","#31a354","#006d2c"],
6: ["#edf8e9","#c7e9c0","#a1d99b","#74c476","#31a354","#006d2c"],
7: ["#edf8e9","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#005a32"],
8: ["#f7fcf5","#e5f5e0","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#005a32"],
9: ["#f7fcf5","#e5f5e0","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#006d2c","#00441b"]
},Oranges: {
3: ["#fee6ce","#fdae6b","#e6550d"],
4: ["#feedde","#fdbe85","#fd8d3c","#d94701"],
5: ["#feedde","#fdbe85","#fd8d3c","#e6550d","#a63603"],
6: ["#feedde","#fdd0a2","#fdae6b","#fd8d3c","#e6550d","#a63603"],
7: ["#feedde","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#8c2d04"],
8: ["#fff5eb","#fee6ce","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#8c2d04"],
9: ["#fff5eb","#fee6ce","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#a63603","#7f2704"]
},Reds: {
3: ["#fee0d2","#fc9272","#de2d26"],
4: ["#fee5d9","#fcae91","#fb6a4a","#cb181d"],
5: ["#fee5d9","#fcae91","#fb6a4a","#de2d26","#a50f15"],
6: ["#fee5d9","#fcbba1","#fc9272","#fb6a4a","#de2d26","#a50f15"],
7: ["#fee5d9","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#99000d"],
8: ["#fff5f0","#fee0d2","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#99000d"],
9: ["#fff5f0","#fee0d2","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#a50f15","#67000d"]
},Greys: {
3: ["#f0f0f0","#bdbdbd","#636363"],
4: ["#f7f7f7","#cccccc","#969696","#525252"],
5: ["#f7f7f7","#cccccc","#969696","#636363","#252525"],
6: ["#f7f7f7","#d9d9d9","#bdbdbd","#969696","#636363","#252525"],
7: ["#f7f7f7","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525"],
8: ["#ffffff","#f0f0f0","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525"],
9: ["#ffffff","#f0f0f0","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525","#000000"]
},PuOr: {
3: ["#f1a340","#f7f7f7","#998ec3"],
4: ["#e66101","#fdb863","#b2abd2","#5e3c99"],
5: ["#e66101","#fdb863","#f7f7f7","#b2abd2","#5e3c99"],
6: ["#b35806","#f1a340","#fee0b6","#d8daeb","#998ec3","#542788"],
7: ["#b35806","#f1a340","#fee0b6","#f7f7f7","#d8daeb","#998ec3","#542788"],
8: ["#b35806","#e08214","#fdb863","#fee0b6","#d8daeb","#b2abd2","#8073ac","#542788"],
9: ["#b35806","#e08214","#fdb863","#fee0b6","#f7f7f7","#d8daeb","#b2abd2","#8073ac","#542788"],
10: ["#7f3b08","#b35806","#e08214","#fdb863","#fee0b6","#d8daeb","#b2abd2","#8073ac","#542788","#2d004b"],
11: ["#7f3b08","#b35806","#e08214","#fdb863","#fee0b6","#f7f7f7","#d8daeb","#b2abd2","#8073ac","#542788","#2d004b"]
},BrBG: {
3: ["#d8b365","#f5f5f5","#5ab4ac"],
4: ["#a6611a","#dfc27d","#80cdc1","#018571"],
5: ["#a6611a","#dfc27d","#f5f5f5","#80cdc1","#018571"],
6: ["#8c510a","#d8b365","#f6e8c3","#c7eae5","#5ab4ac","#01665e"],
7: ["#8c510a","#d8b365","#f6e8c3","#f5f5f5","#c7eae5","#5ab4ac","#01665e"],
8: ["#8c510a","#bf812d","#dfc27d","#f6e8c3","#c7eae5","#80cdc1","#35978f","#01665e"],
9: ["#8c510a","#bf812d","#dfc27d","#f6e8c3","#f5f5f5","#c7eae5","#80cdc1","#35978f","#01665e"],
10: ["#543005","#8c510a","#bf812d","#dfc27d","#f6e8c3","#c7eae5","#80cdc1","#35978f","#01665e","#003c30"],
11: ["#543005","#8c510a","#bf812d","#dfc27d","#f6e8c3","#f5f5f5","#c7eae5","#80cdc1","#35978f","#01665e","#003c30"]
},PRGn: {
3: ["#af8dc3","#f7f7f7","#7fbf7b"],
4: ["#7b3294","#c2a5cf","#a6dba0","#008837"],
5: ["#7b3294","#c2a5cf","#f7f7f7","#a6dba0","#008837"],
6: ["#762a83","#af8dc3","#e7d4e8","#d9f0d3","#7fbf7b","#1b7837"],
7: ["#762a83","#af8dc3","#e7d4e8","#f7f7f7","#d9f0d3","#7fbf7b","#1b7837"],
8: ["#762a83","#9970ab","#c2a5cf","#e7d4e8","#d9f0d3","#a6dba0","#5aae61","#1b7837"],
9: ["#762a83","#9970ab","#c2a5cf","#e7d4e8","#f7f7f7","#d9f0d3","#a6dba0","#5aae61","#1b7837"],
10: ["#40004b","#762a83","#9970ab","#c2a5cf","#e7d4e8","#d9f0d3","#a6dba0","#5aae61","#1b7837","#00441b"],
11: ["#40004b","#762a83","#9970ab","#c2a5cf","#e7d4e8","#f7f7f7","#d9f0d3","#a6dba0","#5aae61","#1b7837","#00441b"]
},PiYG: {
3: ["#e9a3c9","#f7f7f7","#a1d76a"],
4: ["#d01c8b","#f1b6da","#b8e186","#4dac26"],
5: ["#d01c8b","#f1b6da","#f7f7f7","#b8e186","#4dac26"],
6: ["#c51b7d","#e9a3c9","#fde0ef","#e6f5d0","#a1d76a","#4d9221"],
7: ["#c51b7d","#e9a3c9","#fde0ef","#f7f7f7","#e6f5d0","#a1d76a","#4d9221"],
8: ["#c51b7d","#de77ae","#f1b6da","#fde0ef","#e6f5d0","#b8e186","#7fbc41","#4d9221"],
9: ["#c51b7d","#de77ae","#f1b6da","#fde0ef","#f7f7f7","#e6f5d0","#b8e186","#7fbc41","#4d9221"],
10: ["#8e0152","#c51b7d","#de77ae","#f1b6da","#fde0ef","#e6f5d0","#b8e186","#7fbc41","#4d9221","#276419"],
11: ["#8e0152","#c51b7d","#de77ae","#f1b6da","#fde0ef","#f7f7f7","#e6f5d0","#b8e186","#7fbc41","#4d9221","#276419"]
},RdBu: {
3: ["#ef8a62","#f7f7f7","#67a9cf"],
4: ["#ca0020","#f4a582","#92c5de","#0571b0"],
5: ["#ca0020","#f4a582","#f7f7f7","#92c5de","#0571b0"],
6: ["#b2182b","#ef8a62","#fddbc7","#d1e5f0","#67a9cf","#2166ac"],
7: ["#b2182b","#ef8a62","#fddbc7","#f7f7f7","#d1e5f0","#67a9cf","#2166ac"],
8: ["#b2182b","#d6604d","#f4a582","#fddbc7","#d1e5f0","#92c5de","#4393c3","#2166ac"],
9: ["#b2182b","#d6604d","#f4a582","#fddbc7","#f7f7f7","#d1e5f0","#92c5de","#4393c3","#2166ac"],
10: ["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#d1e5f0","#92c5de","#4393c3","#2166ac","#053061"],
11: ["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#f7f7f7","#d1e5f0","#92c5de","#4393c3","#2166ac","#053061"]
},RdGy: {
3: ["#ef8a62","#ffffff","#999999"],
4: ["#ca0020","#f4a582","#bababa","#404040"],
5: ["#ca0020","#f4a582","#ffffff","#bababa","#404040"],
6: ["#b2182b","#ef8a62","#fddbc7","#e0e0e0","#999999","#4d4d4d"],
7: ["#b2182b","#ef8a62","#fddbc7","#ffffff","#e0e0e0","#999999","#4d4d4d"],
8: ["#b2182b","#d6604d","#f4a582","#fddbc7","#e0e0e0","#bababa","#878787","#4d4d4d"],
9: ["#b2182b","#d6604d","#f4a582","#fddbc7","#ffffff","#e0e0e0","#bababa","#878787","#4d4d4d"],
10: ["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#e0e0e0","#bababa","#878787","#4d4d4d","#1a1a1a"],
11: ["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#ffffff","#e0e0e0","#bababa","#878787","#4d4d4d","#1a1a1a"]
},RdYlBu: {
3: ["#fc8d59","#ffffbf","#91bfdb"],
4: ["#d7191c","#fdae61","#abd9e9","#2c7bb6"],
5: ["#d7191c","#fdae61","#ffffbf","#abd9e9","#2c7bb6"],
6: ["#d73027","#fc8d59","#fee090","#e0f3f8","#91bfdb","#4575b4"],
7: ["#d73027","#fc8d59","#fee090","#ffffbf","#e0f3f8","#91bfdb","#4575b4"],
8: ["#d73027","#f46d43","#fdae61","#fee090","#e0f3f8","#abd9e9","#74add1","#4575b4"],
9: ["#d73027","#f46d43","#fdae61","#fee090","#ffffbf","#e0f3f8","#abd9e9","#74add1","#4575b4"],
10: ["#a50026","#d73027","#f46d43","#fdae61","#fee090","#e0f3f8","#abd9e9","#74add1","#4575b4","#313695"],
11: ["#a50026","#d73027","#f46d43","#fdae61","#fee090","#ffffbf","#e0f3f8","#abd9e9","#74add1","#4575b4","#313695"]
},Spectral: {
3: ["#fc8d59","#ffffbf","#99d594"],
4: ["#d7191c","#fdae61","#abdda4","#2b83ba"],
5: ["#d7191c","#fdae61","#ffffbf","#abdda4","#2b83ba"],
6: ["#d53e4f","#fc8d59","#fee08b","#e6f598","#99d594","#3288bd"],
7: ["#d53e4f","#fc8d59","#fee08b","#ffffbf","#e6f598","#99d594","#3288bd"],
8: ["#d53e4f","#f46d43","#fdae61","#fee08b","#e6f598","#abdda4","#66c2a5","#3288bd"],
9: ["#d53e4f","#f46d43","#fdae61","#fee08b","#ffffbf","#e6f598","#abdda4","#66c2a5","#3288bd"],
10: ["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2"],
11: ["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#ffffbf","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2"]
},RdYlGn: {
3: ["#fc8d59","#ffffbf","#91cf60"],
4: ["#d7191c","#fdae61","#a6d96a","#1a9641"],
5: ["#d7191c","#fdae61","#ffffbf","#a6d96a","#1a9641"],
6: ["#d73027","#fc8d59","#fee08b","#d9ef8b","#91cf60","#1a9850"],
7: ["#d73027","#fc8d59","#fee08b","#ffffbf","#d9ef8b","#91cf60","#1a9850"],
8: ["#d73027","#f46d43","#fdae61","#fee08b","#d9ef8b","#a6d96a","#66bd63","#1a9850"],
9: ["#d73027","#f46d43","#fdae61","#fee08b","#ffffbf","#d9ef8b","#a6d96a","#66bd63","#1a9850"],
10: ["#a50026","#d73027","#f46d43","#fdae61","#fee08b","#d9ef8b","#a6d96a","#66bd63","#1a9850","#006837"],
11: ["#a50026","#d73027","#f46d43","#fdae61","#fee08b","#ffffbf","#d9ef8b","#a6d96a","#66bd63","#1a9850","#006837"]
},Accent: {
3: ["#7fc97f","#beaed4","#fdc086"],
4: ["#7fc97f","#beaed4","#fdc086","#ffff99"],
5: ["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0"],
6: ["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f"],
7: ["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f","#bf5b17"],
8: ["#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f","#bf5b17","#666666"]
},Dark2: {
3: ["#1b9e77","#d95f02","#7570b3"],
4: ["#1b9e77","#d95f02","#7570b3","#e7298a"],
5: ["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e"],
6: ["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02"],
7: ["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02","#a6761d"],
8: ["#1b9e77","#d95f02","#7570b3","#e7298a","#66a61e","#e6ab02","#a6761d","#666666"]
},Paired: {
3: ["#a6cee3","#1f78b4","#b2df8a"],
4: ["#a6cee3","#1f78b4","#b2df8a","#33a02c"],
5: ["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99"],
6: ["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c"],
7: ["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f"],
8: ["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00"],
9: ["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6"],
10: ["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a"],
11: ["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a","#ffff99"],
12: ["#a6cee3","#1f78b4","#b2df8a","#33a02c","#fb9a99","#e31a1c","#fdbf6f","#ff7f00","#cab2d6","#6a3d9a","#ffff99","#b15928"]
},Pastel1: {
3: ["#fbb4ae","#b3cde3","#ccebc5"],
4: ["#fbb4ae","#b3cde3","#ccebc5","#decbe4"],
5: ["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6"],
6: ["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc"],
7: ["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd"],
8: ["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd","#fddaec"],
9: ["#fbb4ae","#b3cde3","#ccebc5","#decbe4","#fed9a6","#ffffcc","#e5d8bd","#fddaec","#f2f2f2"]
},Pastel2: {
3: ["#b3e2cd","#fdcdac","#cbd5e8"],
4: ["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4"],
5: ["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9"],
6: ["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae"],
7: ["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae","#f1e2cc"],
8: ["#b3e2cd","#fdcdac","#cbd5e8","#f4cae4","#e6f5c9","#fff2ae","#f1e2cc","#cccccc"]
},Set1: {
3: ["#e41a1c","#377eb8","#4daf4a"],
4: ["#e41a1c","#377eb8","#4daf4a","#984ea3"],
5: ["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00"],
6: ["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33"],
7: ["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628"],
8: ["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628","#f781bf"],
9: ["#e41a1c","#377eb8","#4daf4a","#984ea3","#ff7f00","#ffff33","#a65628","#f781bf","#999999"]
},Set2: {
3: ["#66c2a5","#fc8d62","#8da0cb"],
4: ["#66c2a5","#fc8d62","#8da0cb","#e78ac3"],
5: ["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854"],
6: ["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f"],
7: ["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f","#e5c494"],
8: ["#66c2a5","#fc8d62","#8da0cb","#e78ac3","#a6d854","#ffd92f","#e5c494","#b3b3b3"]
},Set3: {
3: ["#8dd3c7","#ffffb3","#bebada"],
4: ["#8dd3c7","#ffffb3","#bebada","#fb8072"],
5: ["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3"],
6: ["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462"],
7: ["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69"],
8: ["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5"],
9: ["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9"],
10: ["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd"],
11: ["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd","#ccebc5"],
12: ["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd","#ccebc5","#ffed6f"]
}};
================================================
FILE: docs/doxygen.cfg
================================================
# Doxyfile 1.8.6
# This file describes the settings to be used by the documentation system
# doxygen (www.doxygen.org) for a project.
#
# All text after a double hash (##) is considered a comment and is placed in
# front of the TAG it is preceding.
#
# All text after a single hash (#) is considered a comment and will be ignored.
# The format is:
# TAG = value [value, ...]
# For lists, items can also be appended using:
# TAG += value [value, ...]
# Values that contain spaces should be placed between quotes (\" \").
#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
# This tag specifies the encoding used for all characters in the config file
# that follow. The default is UTF-8 which is also the encoding used for all text
# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv
# built into libc) for the transcoding. See http://www.gnu.org/software/libiconv
# for the list of possible encodings.
# The default value is: UTF-8.
DOXYFILE_ENCODING = UTF-8
# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by
# double-quotes, unless you are using Doxywizard) that should identify the
# project for which the documentation is generated. This name is used in the
# title of most generated pages and in a few other places.
# The default value is: My Project.
PROJECT_NAME = "Giggle"
# The PROJECT_NUMBER tag can be used to enter a project or revision number. This
# could be handy for archiving the generated documentation or if some version
# control system is used.
PROJECT_NUMBER =
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
# quick idea about the purpose of the project. Keep the description short.
PROJECT_BRIEF =
# With the PROJECT_LOGO tag one can specify an logo or icon that is included in
# the documentation. The maximum height of the logo should not exceed 55 pixels
# and the maximum width should not exceed 200 pixels. Doxygen will copy the logo
# to the output directory.
PROJECT_LOGO =
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path
# into which the generated documentation will be written. If a relative path is
# entered, it will be relative to the location where doxygen was started. If
# left blank the current directory will be used.
OUTPUT_DIRECTORY = ./
# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 4096 sub-
# directories (in 2 levels) under the output directory of each output format and
# will distribute the generated files over these directories. Enabling this
# option can be useful when feeding doxygen a huge amount of source files, where
# putting all generated files in the same directory would otherwise causes
# performance problems for the file system.
# The default value is: NO.
CREATE_SUBDIRS = NO
# The OUTPUT_LANGUAGE tag is used to specify the language in which all
# documentation generated by doxygen is written. Doxygen will use this
# information to generate all constant output in the proper language.
# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese,
# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States),
# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian,
# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages),
# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian,
# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian,
# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish,
# Ukrainian and Vietnamese.
# The default value is: English.
OUTPUT_LANGUAGE = English
# If the BRIEF_MEMBER_DESC tag is set to YES doxygen will include brief member
# descriptions after the members that are listed in the file and class
# documentation (similar to Javadoc). Set to NO to disable this.
# The default value is: YES.
BRIEF_MEMBER_DESC = YES
# If the REPEAT_BRIEF tag is set to YES doxygen will prepend the brief
# description of a member or function before the detailed description
#
# Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
# brief descriptions will be completely suppressed.
# The default value is: YES.
REPEAT_BRIEF = YES
# This tag implements a quasi-intelligent brief description abbreviator that is
# used to form the text in various listings. Each string in this list, if found
# as the leading text of the brief description, will be stripped from the text
# and the result, after processing the whole list, is used as the annotated
# text. Otherwise, the brief description is used as-is. If left blank, the
# following values are used ($name is automatically replaced with the name of
# the entity):The $name class, The $name widget, The $name file, is, provides,
# specifies, contains, represents, a, an and the.
ABBREVIATE_BRIEF =
# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
# doxygen will generate a detailed section even if there is only a brief
# description.
# The default value is: NO.
ALWAYS_DETAILED_SEC = NO
# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
# inherited members of a class in the documentation of that class as if those
# members were ordinary class members. Constructors, destructors and assignment
# operators of the base classes will not be shown.
# The default value is: NO.
INLINE_INHERITED_MEMB = NO
# If the FULL_PATH_NAMES tag is set to YES doxygen will prepend the full path
# before files name in the file list and in the header files. If set to NO the
# shortest path that makes the file name unique will be used
# The default value is: YES.
FULL_PATH_NAMES = NO
# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path.
# Stripping is only done if one of the specified strings matches the left-hand
# part of the path. The tag can be used to show relative paths in the file list.
# If left blank the directory from which doxygen is run is used as the path to
# strip.
#
# Note that you can specify absolute paths here, but also relative paths, which
# will be relative from the directory where doxygen is started.
# This tag requires that the tag FULL_PATH_NAMES is set to YES.
STRIP_FROM_PATH =
# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the
# path mentioned in the documentation of a class, which tells the reader which
# header file to include in order to use a class. If left blank only the name of
# the header file containing the class definition is used. Otherwise one should
# specify the list of include paths that are normally passed to the compiler
# using the -I flag.
STRIP_FROM_INC_PATH =
# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but
# less readable) file names. This can be useful is your file systems doesn't
# support long names like on DOS, Mac, or CD-ROM.
# The default value is: NO.
SHORT_NAMES = NO
# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the
# first line (until the first dot) of a Javadoc-style comment as the brief
# description. If set to NO, the Javadoc-style will behave just like regular Qt-
# style comments (thus requiring an explicit @brief command for a brief
# description.)
# The default value is: NO.
JAVADOC_AUTOBRIEF = NO
# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first
# line (until the first dot) of a Qt-style comment as the brief description. If
# set to NO, the Qt-style will behave just like regular Qt-style comments (thus
# requiring an explicit \brief command for a brief description.)
# The default value is: NO.
QT_AUTOBRIEF = NO
# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a
# multi-line C++ special comment block (i.e. a block of //! or /// comments) as
# a brief description. This used to be the default behavior. The new default is
# to treat a multi-line C++ comment block as a detailed description. Set this
# tag to YES if you prefer the old behavior instead.
#
# Note that setting this tag to YES also means that rational rose comments are
# not recognized any more.
# The default value is: NO.
MULTILINE_CPP_IS_BRIEF = NO
# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the
# documentation from any documented member that it re-implements.
# The default value is: YES.
INHERIT_DOCS = YES
# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce a
# new page for each member. If set to NO, the documentation of a member will be
# part of the file/class/namespace that contains it.
# The default value is: NO.
SEPARATE_MEMBER_PAGES = NO
# The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen
# uses this value to replace tabs by spaces in code fragments.
# Minimum value: 1, maximum value: 16, default value: 4.
TAB_SIZE = 4
# This tag can be used to specify a number of aliases that act as commands in
# the documentation. An alias has the form:
# name=value
# For example adding
# "sideeffect=@par Side Effects:\n"
# will allow you to put the command \sideeffect (or @sideeffect) in the
# documentation, which will result in a user-defined paragraph with heading
# "Side Effects:". You can put \n's in the value part of an alias to insert
# newlines.
ALIASES =
# This tag can be used to specify a number of word-keyword mappings (TCL only).
# A mapping has the form "name=value". For example adding "class=itcl::class"
# will allow you to use the command class in the itcl::class meaning.
TCL_SUBST =
# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
# only. Doxygen will then generate output that is more tailored for C. For
# instance, some of the names that are used will be different. The list of all
# members will be omitted, etc.
# The default value is: NO.
OPTIMIZE_OUTPUT_FOR_C = NO
# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or
# Python sources only. Doxygen will then generate output that is more tailored
# for that language. For instance, namespaces will be presented as packages,
# qualified scopes will look different, etc.
# The default value is: NO.
OPTIMIZE_OUTPUT_JAVA = NO
# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
# sources. Doxygen will then generate output that is tailored for Fortran.
# The default value is: NO.
OPTIMIZE_FOR_FORTRAN = NO
# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
# sources. Doxygen will then generate output that is tailored for VHDL.
# The default value is: NO.
OPTIMIZE_OUTPUT_VHDL = NO
# Doxygen selects the parser to use depending on the extension of the files it
# parses. With this tag you can assign which parser to use for a given
# extension. Doxygen has a built-in mapping, but you can override or extend it
# using this tag. The format is ext=language, where ext is a file extension, and
# language is one of the parsers supported by doxygen: IDL, Java, Javascript,
# C#, C, C++, D, PHP, Objective-C, Python, Fortran, VHDL. For instance to make
# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C
# (default is Fortran), use: inc=Fortran f=C.
#
# Note For files without extension you can use no_extension as a placeholder.
#
# Note that for custom extensions you also need to set FILE_PATTERNS otherwise
# the files are not read by doxygen.
EXTENSION_MAPPING =
# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments
# according to the Markdown format, which allows for more readable
# documentation. See http://daringfireball.net/projects/markdown/ for details.
# The output of markdown processing is further processed by doxygen, so you can
# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in
# case of backward compatibilities issues.
# The default value is: YES.
MARKDOWN_SUPPORT = YES
# When enabled doxygen tries to link words that correspond to documented
# classes, or namespaces to their corresponding documentation. Such a link can
# be prevented in individual cases by by putting a % sign in front of the word
# or globally by setting AUTOLINK_SUPPORT to NO.
# The default value is: YES.
AUTOLINK_SUPPORT = YES
# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
# to include (a tag file for) the STL sources as input, then you should set this
# tag to YES in order to let doxygen match functions declarations and
# definitions whose arguments contain STL classes (e.g. func(std::string);
# versus func(std::string) {}). This also make the inheritance and collaboration
# diagrams that involve STL classes more complete and accurate.
# The default value is: NO.
BUILTIN_STL_SUPPORT = NO
# If you use Microsoft's C++/CLI language, you should set this option to YES to
# enable parsing support.
# The default value is: NO.
CPP_CLI_SUPPORT = NO
# Set the SIP_SUPPORT tag to YES if your project consists of sip (see:
# http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen
# will parse them like normal C++ but will assume all classes use public instead
# of private inheritance when no explicit protection keyword is present.
# The default value is: NO.
SIP_SUPPORT = NO
# For Microsoft's IDL there are propget and propput attributes to indicate
# getter and setter methods for a property. Setting this option to YES will make
# doxygen to replace the get and set methods by a property in the documentation.
# This will only work if the methods are indeed getting or setting a simple
# type. If this is not the case, or you want to show the methods anyway, you
# should set this option to NO.
# The default value is: YES.
IDL_PROPERTY_SUPPORT = YES
# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
# tag is set to YES, then doxygen will reuse the documentation of the first
# member in the group (if any) for the other members of the group. By default
# all members of a group must be documented explicitly.
# The default value is: NO.
DISTRIBUTE_GROUP_DOC = NO
# Set the SUBGROUPING tag to YES to allow class member groups of the same type
# (for instance a group of public functions) to be put as a subgroup of that
# type (e.g. under the Public Functions section). Set it to NO to prevent
# subgrouping. Alternatively, this can be done per class using the
# \nosubgrouping command.
# The default value is: YES.
SUBGROUPING = YES
# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions
# are shown inside the group in which they are included (e.g. using \ingroup)
# instead of on a separate page (for HTML and Man pages) or section (for LaTeX
# and RTF).
#
# Note that this feature does not work in combination with
# SEPARATE_MEMBER_PAGES.
# The default value is: NO.
INLINE_GROUPED_CLASSES = NO
# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions
# with only public data fields or simple typedef fields will be shown inline in
# the documentation of the scope in which they are defined (i.e. file,
# namespace, or group documentation), provided this scope is documented. If set
# to NO, structs, classes, and unions are shown on a separate page (for HTML and
# Man pages) or section (for LaTeX and RTF).
# The default value is: NO.
INLINE_SIMPLE_STRUCTS = NO
# When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or
# enum is documented as struct, union, or enum with the name of the typedef. So
# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
# with name TypeT. When disabled the typedef will appear as a member of a file,
# namespace, or class. And the struct will be named TypeS. This can typically be
# useful for C code in case the coding convention dictates that all compound
# types are typedef'ed and only the typedef is referenced, never the tag name.
# The default value is: NO.
TYPEDEF_HIDES_STRUCT = NO
# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This
# cache is used to resolve symbols given their name and scope. Since this can be
# an expensive process and often the same symbol appears multiple times in the
# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small
# doxygen will become slower. If the cache is too large, memory is wasted. The
# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range
# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536
# symbols. At the end of a run doxygen will report the cache usage and suggest
# the optimal cache size from a speed point of view.
# Minimum value: 0, maximum value: 9, default value: 0.
LOOKUP_CACHE_SIZE = 0
#---------------------------------------------------------------------------
# Build related configuration options
#---------------------------------------------------------------------------
# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
# documentation are documented, even if no documentation was available. Private
# class members and static file members will be hidden unless the
# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES.
# Note: This will also disable the warnings about undocumented members that are
# normally produced when WARNINGS is set to YES.
# The default value is: NO.
EXTRACT_ALL = YES
# If the EXTRACT_PRIVATE tag is set to YES all private members of a class will
# be included in the documentation.
# The default value is: NO.
EXTRACT_PRIVATE = YES
# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal
# scope will be included in the documentation.
# The default value is: NO.
EXTRACT_PACKAGE = NO
# If the EXTRACT_STATIC tag is set to YES all static members of a file will be
# included in the documentation.
# The default value is: NO.
EXTRACT_STATIC = YES
# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) defined
# locally in source files will be included in the documentation. If set to NO
# only classes defined in header files are included. Does not have any effect
# for Java sources.
# The default value is: YES.
EXTRACT_LOCAL_CLASSES = YES
# This flag is only useful for Objective-C code. When set to YES local methods,
# which are defined in the implementation section but not in the interface are
# included in the documentation. If set to NO only methods in the interface are
# included.
# The default value is: NO.
EXTRACT_LOCAL_METHODS = NO
# If this flag is set to YES, the members of anonymous namespaces will be
# extracted and appear in the documentation as a namespace called
# 'anonymous_namespace{file}', where file will be replaced with the base name of
# the file that contains the anonymous namespace. By default anonymous namespace
# are hidden.
# The default value is: NO.
EXTRACT_ANON_NSPACES = NO
# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all
# undocumented members inside documented classes or files. If set to NO these
# members will be included in the various overviews, but no documentation
# section is generated. This option has no effect if EXTRACT_ALL is enabled.
# The default value is: NO.
HIDE_UNDOC_MEMBERS = NO
# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all
# undocumented classes that are normally visible in the class hierarchy. If set
# to NO these classes will be included in the various overviews. This option has
# no effect if EXTRACT_ALL is enabled.
# The default value is: NO.
HIDE_UNDOC_CLASSES = NO
# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend
# (class|struct|union) declarations. If set to NO these declarations will be
# included in the documentation.
# The default value is: NO.
HIDE_FRIEND_COMPOUNDS = NO
# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any
# documentation blocks found inside the body of a function. If set to NO these
# blocks will be appended to the function's detailed documentation block.
# The default value is: NO.
HIDE_IN_BODY_DOCS = NO
# The INTERNAL_DOCS tag determines if documentation that is typed after a
# \internal command is included. If the tag is set to NO then the documentation
# will be excluded. Set it to YES to include the internal documentation.
# The default value is: NO.
INTERNAL_DOCS = NO
# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file
# names in lower-case letters. If set to YES upper-case letters are also
# allowed. This is useful if you have classes or files whose names only differ
# in case and if your file system supports case sensitive file names. Windows
# and Mac users are advised to set this option to NO.
# The default value is: system dependent.
CASE_SENSE_NAMES = YES
# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with
# their full class and namespace scopes in the documentation. If set to YES the
# scope will be hidden.
# The default value is: NO.
HIDE_SCOPE_NAMES = NO
# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of
# the files that are included by a file in the documentation of that file.
# The default value is: YES.
SHOW_INCLUDE_FILES = YES
# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each
# grouped member an include statement to the documentation, telling the reader
# which file to include in order to use the member.
# The default value is: NO.
SHOW_GROUPED_MEMB_INC = NO
# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include
# files with double quotes in the documentation rather than with sharp brackets.
# The default value is: NO.
FORCE_LOCAL_INCLUDES = NO
# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the
# documentation for inline members.
# The default value is: YES.
INLINE_INFO = YES
# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the
# (detailed) documentation of file and class members alphabetically by member
# name. If set to NO the members will appear in declaration order.
# The default value is: YES.
SORT_MEMBER_DOCS = YES
# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief
# descriptions of file, namespace and class members alphabetically by member
# name. If set to NO the members will appear in declaration order. Note that
# this will also influence the order of the classes in the class list.
# The default value is: NO.
SORT_BRIEF_DOCS = NO
# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the
# (brief and detailed) documentation of class members so that constructors and
# destructors are listed first. If set to NO the constructors will appear in the
# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS.
# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief
# member documentation.
# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting
# detailed member documentation.
# The default value is: NO.
SORT_MEMBERS_CTORS_1ST = NO
# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy
# of group names into alphabetical order. If set to NO the group names will
# appear in their defined order.
# The default value is: NO.
SORT_GROUP_NAMES = NO
# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by
# fully-qualified names, including namespaces. If set to NO, the class list will
# be sorted only by class name, not including the namespace part.
# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
# Note: This option applies only to the class list, not to the alphabetical
# list.
# The default value is: NO.
SORT_BY_SCOPE_NAME = NO
# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper
# type resolution of all parameters of a function it will reject a match between
# the prototype and the implementation of a member function even if there is
# only one candidate or it is obvious which candidate to choose by doing a
# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still
# accept a match between prototype and implementation in such cases.
# The default value is: NO.
STRICT_PROTO_MATCHING = NO
# The GENERATE_TODOLIST tag can be used to enable ( YES) or disable ( NO) the
# todo list. This list is created by putting \todo commands in the
# documentation.
# The default value is: YES.
GENERATE_TODOLIST = YES
# The GENERATE_TESTLIST tag can be used to enable ( YES) or disable ( NO) the
# test list. This list is created by putting \test commands in the
# documentation.
# The default value is: YES.
GENERATE_TESTLIST = YES
# The GENERATE_BUGLIST tag can be used to enable ( YES) or disable ( NO) the bug
# list. This list is created by putting \bug commands in the documentation.
# The default value is: YES.
GENERATE_BUGLIST = YES
# The GENERATE_DEPRECATEDLIST tag can be used to enable ( YES) or disable ( NO)
# the deprecated list. This list is created by putting \deprecated commands in
# the documentation.
# The default value is: YES.
GENERATE_DEPRECATEDLIST= YES
# The ENABLED_SECTIONS tag can be used to enable conditional documentation
# sections, marked by \if <section_label> ... \endif and \cond <section_label>
# ... \endcond blocks.
ENABLED_SECTIONS =
# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the
# initial value of a variable or macro / define can have for it to appear in the
# documentation. If the initializer consists of more lines than specified here
# it will be hidden. Use a value of 0 to hide initializers completely. The
# appearance of the value of individual variables and macros / defines can be
# controlled using \showinitializer or \hideinitializer command in the
# documentation regardless of this setting.
# Minimum value: 0, maximum value: 10000, default value: 30.
MAX_INITIALIZER_LINES = 30
# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at
# the bottom of the documentation of classes and structs. If set to YES the list
# will mention the files that were used to generate the documentation.
# The default value is: YES.
SHOW_USED_FILES = YES
# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This
# will remove the Files entry from the Quick Index and from the Folder Tree View
# (if specified).
# The default value is: YES.
SHOW_FILES = YES
# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces
# page. This will remove the Namespaces entry from the Quick Index and from the
# Folder Tree View (if specified).
# The default value is: YES.
SHOW_NAMESPACES = YES
# The FILE_VERSION_FILTER tag can be used to specify a program or script that
# doxygen should invoke to get the current version for each file (typically from
# the version control system). Doxygen will invoke the program by executing (via
# popen()) the command command input-file, where command is the value of the
# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided
# by doxygen. Whatever the program writes to standard output is used as the file
# version. For an example see the documentation.
FILE_VERSION_FILTER =
# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
# by doxygen. The layout file controls the global structure of the generated
# output files in an output format independent way. To create the layout file
# that represents doxygen's defaults, run doxygen with the -l option. You can
# optionally specify a file name after the option, if omitted DoxygenLayout.xml
# will be used as the name of the layout file.
#
# Note that if you run doxygen from a directory containing a file called
# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE
# tag is left empty.
LAYOUT_FILE =
# The CITE_BIB_FILES tag can be used to specify one or more bib files containing
# the reference definitions. This must be a list of .bib files. The .bib
# extension is automatically appended if omitted. This requires the bibtex tool
# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info.
# For LaTeX the style of the bibliography can be controlled using
# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the
# search path. Do not use file names with spaces, bibtex cannot handle them. See
# also \cite for info how to create references.
CITE_BIB_FILES =
#---------------------------------------------------------------------------
# Configuration options related to warning and progress messages
#---------------------------------------------------------------------------
# The QUIET tag can be used to turn on/off the messages that are generated to
# standard output by doxygen. If QUIET is set to YES this implies that the
# messages are off.
# The default value is: NO.
QUIET = NO
# The WARNINGS tag can be used to turn on/off the warning messages that are
# generated to standard error ( stderr) by doxygen. If WARNINGS is set to YES
# this implies that the warnings are on.
#
# Tip: Turn warnings on while writing the documentation.
# The default value is: YES.
WARNINGS = YES
# If the WARN_IF_UNDOCUMENTED tag is set to YES, then doxygen will generate
# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag
# will automatically be disabled.
# The default value is: YES.
WARN_IF_UNDOCUMENTED = YES
# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for
# potential errors in the documentation, such as not documenting some parameters
# in a documented function, or documenting parameters that don't exist or using
# markup commands wrongly.
# The default value is: YES.
WARN_IF_DOC_ERROR = YES
# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that
# are documented, but have no documentation for their parameters or return
# value. If set to NO doxygen will only warn about wrong or incomplete parameter
# documentation, but not about the absence of documentation.
# The default value is: NO.
WARN_NO_PARAMDOC = NO
# The WARN_FORMAT tag determines the format of the warning messages that doxygen
# can produce. The string should contain the $file, $line, and $text tags, which
# will be replaced by the file and line number from which the warning originated
# and the warning text. Optionally the format may contain $version, which will
# be replaced by the version of the file (if it could be obtained via
# FILE_VERSION_FILTER)
# The default value is: $file:$line: $text.
WARN_FORMAT = "$file:$line: $text"
# The WARN_LOGFILE tag can be used to specify a file to which warning and error
# messages should be written. If left blank the output is written to standard
# error (stderr).
WARN_LOGFILE =
#---------------------------------------------------------------------------
# Configuration options related to the input files
#---------------------------------------------------------------------------
# The INPUT tag is used to specify the files and/or directories that contain
# documented source files. You may enter file names like myfile.cpp or
# directories like /usr/src/myproject. Separate the files or directories with
# spaces.
# Note: If this tag is empty the current directory is searched.
INPUT = ../README.md "../src"
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
# libiconv (or the iconv built into libc) for the transcoding. See the libiconv
# documentation (see: http://www.gnu.org/software/libiconv) for the list of
# possible encodings.
# The default value is: UTF-8.
INPUT_ENCODING = UTF-8
# If the value of the INPUT tag contains directories, you can use the
# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and
# *.h) to filter out the source-files in the directories. If left blank the
# following patterns are tested:*.c, *.cc, *.cxx, *.cpp, *.c++, *.java, *.ii,
# *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, *.hh, *.hxx, *.hpp,
# *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, *.m, *.markdown,
# *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf,
# *.qsf, *.as and *.js.
FILE_PATTERNS =
# The RECURSIVE tag can be used to specify whether or not subdirectories should
# be searched for input files as well.
# The default value is: NO.
RECURSIVE = YES
# The EXCLUDE tag can be used to specify files and/or directories that should be
# excluded from the INPUT source files. This way you can easily exclude a
# subdirectory from a directory tree whose root is specified with the INPUT tag.
#
# Note that relative paths are relative to the directory from which doxygen is
# run.
EXCLUDE =
# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
# directories that are symbolic links (a Unix file system feature) are excluded
# from the input.
# The default value is: NO.
EXCLUDE_SYMLINKS = NO
# If the value of the INPUT tag contains directories, you can use the
# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
# certain files from those directories.
#
# Note that the wildcards are matched against the file with absolute path, so to
# exclude all test directories for example use the pattern */test/*
EXCLUDE_PATTERNS =
# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
# (namespaces, classes, functions, etc.) that should be excluded from the
# output. The symbol name can be a fully qualified name, a word, or if the
# wildcard * is used, a substring. Examples: ANamespace, AClass,
# AClass::ANamespace, ANamespace::*Test
#
# Note that the wildcards are matched against the file with absolute path, so to
# exclude all test directories use the pattern */test/*
EXCLUDE_SYMBOLS =
# The EXAMPLE_PATH tag can be used to specify one or more files or directories
# that contain example code fragments that are included (see the \include
# command).
EXAMPLE_PATH =
# If the value of the EXAMPLE_PATH tag contains directories, you can use the
# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and
# *.h) to filter out the source-files in the directories. If left blank all
# files are included.
EXAMPLE_PATTERNS =
# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
# searched for input files to be used with the \include or \dontinclude commands
# irrespective of the value of the RECURSIVE tag.
# The default value is: NO.
EXAMPLE_RECURSIVE = NO
# The IMAGE_PATH tag can be used to specify one or more files or directories
# that contain images that are to be included in the documentation (see the
# \image command).
IMAGE_PATH =
# The INPUT_FILTER tag can be used to specify a program that doxygen should
# invoke to filter for each input file. Doxygen will invoke the filter program
# by executing (via popen()) the command:
#
# <filter> <input-file>
#
# where <filter> is the value of the INPUT_FILTER tag, and <input-file> is the
# name of an input file. Doxygen will then use the output that the filter
# program writes to standard output. If FILTER_PATTERNS is specified, this tag
# will be ignored.
#
# Note that the filter must not add or remove lines; it is applied before the
# code is scanned, but not when the output code is generated. If lines are added
# or removed, the anchors will not be placed correctly.
INPUT_FILTER =
# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
# basis. Doxygen will compare the file name with each pattern and apply the
# filter if there is a match. The filters are a list of the form: pattern=filter
# (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how
# filters are used. If the FILTER_PATTERNS tag is empty or if none of the
# patterns match the file name, INPUT_FILTER is applied.
FILTER_PATTERNS =
# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
# INPUT_FILTER ) will also be used to filter the input files that are used for
# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES).
# The default value is: NO.
FILTER_SOURCE_FILES = NO
# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file
# pattern. A pattern will override the setting for FILTER_PATTERN (if any) and
# it is also possible to disable source filtering for a specific pattern using
# *.ext= (so without naming a filter).
# This tag requires that the tag FILTER_SOURCE_FILES is set to YES.
FILTER_SOURCE_PATTERNS =
# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that
# is part of the input, its contents will be placed on the main page
# (index.html). This can be useful if you have a project on for instance GitHub
# and want to reuse the introduction page also for the doxygen output.
USE_MDFILE_AS_MAINPAGE = README.md
#---------------------------------------------------------------------------
# Configuration options related to source browsing
#---------------------------------------------------------------------------
# If the SOURCE_BROWSER tag is set to YES then a list of source files will be
# generated. Documented entities will be cross-referenced with these sources.
#
# Note: To get rid of all source code in the generated output, make sure that
# also VERBATIM_HEADERS is set to NO.
# The default value is: NO.
SOURCE_BROWSER = NO
# Setting the INLINE_SOURCES tag to YES will include the body of functions,
# classes and enums directly into the documentation.
# The default value is: NO.
INLINE_SOURCES = NO
# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any
# special comment blocks from generated source code fragments. Normal C, C++ and
# Fortran comments will always remain visible.
# The default value is: YES.
STRIP_CODE_COMMENTS = YES
# If the REFERENCED_BY_RELATION tag is set to YES then for each documented
# function all documented functions referencing it will be listed.
# The default value is: NO.
REFERENCED_BY_RELATION = NO
# If the REFERENCES_RELATION tag is set to YES then for each documented function
# all documented entities called/used by that function will be listed.
# The default value is: NO.
REFERENCES_RELATION = NO
# If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set
# to YES, then the hyperlinks from functions in REFERENCES_RELATION and
# REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will
# link to the documentation.
# The default value is: YES.
REFERENCES_LINK_SOURCE = YES
# If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the
# source code will show a tooltip with additional information such as prototype,
# brief description and links to the definition and documentation. Since this
# will make the HTML file larger and loading of large files a bit slower, you
# can opt to disable this feature.
# The default value is: YES.
# This tag requires that the tag SOURCE_BROWSER is set to YES.
SOURCE_TOOLTIPS = YES
# If the USE_HTAGS tag is set to YES then the references to source code will
# point to the HTML generated by the htags(1) tool instead of doxygen built-in
# source browser. The htags tool is part of GNU's global source tagging system
# (see http://www.gnu.org/software/global/global.html). You will need version
# 4.8.6 or higher.
#
# To use it do the following:
# - Install the latest version of global
# - Enable SOURCE_BROWSER and USE_HTAGS in the config file
# - Make sure the INPUT points to the root of the source tree
# - Run doxygen as normal
#
# Doxygen will invoke htags (and that will in turn invoke gtags), so these
# tools must be available from the command line (i.e. in the search path).
#
# The result: instead of the source browser generated by doxygen, the links to
# source code will now point to the output of htags.
# The default value is: NO.
# This tag requires that the tag SOURCE_BROWSER is set to YES.
USE_HTAGS = NO
# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a
# verbatim copy of the header file for each class for which an include is
# specified. Set to NO to disable this.
# See also: Section \class.
# The default value is: YES.
VERBATIM_HEADERS = YES
#---------------------------------------------------------------------------
# Configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all
# compounds will be generated. Enable this if the project contains a lot of
# classes, structs, unions or interfaces.
# The default value is: YES.
ALPHABETICAL_INDEX = YES
# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in
# which the alphabetical index list will be split.
# Minimum value: 1, maximum value: 20, default value: 5.
# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
COLS_IN_ALPHA_INDEX = 5
# In case all classes in a project start with a common prefix, all classes will
# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag
# can be used to specify a prefix (or a list of prefixes) that should be ignored
# while generating the index headers.
# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
IGNORE_PREFIX =
#---------------------------------------------------------------------------
# Configuration options related to the HTML output
#---------------------------------------------------------------------------
# If the GENERATE_HTML tag is set to YES doxygen will generate HTML output
# The default value is: YES.
GENERATE_HTML = YES
# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a
# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
# it.
# The default directory is: html.
# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_OUTPUT = html
# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each
# generated HTML page (for example: .htm, .php, .asp).
# The default value is: .html.
# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_FILE_EXTENSION = .html
# The HTML_HEADER tag can be used to specify a user-defined HTML header file for
# each generated HTML page. If the tag is left blank doxygen will generate a
# standard header.
#
# To get valid HTML the header file that includes any scripts and style sheets
# that doxygen needs, which is dependent on the configuration options used (e.g.
# the setting GENERATE_TREEVIEW). It is highly recommended to start with a
# default header using
# doxygen -w html new_header.html new_footer.html new_stylesheet.css
# YourConfigFile
# and then modify the file new_header.html. See also section "Doxygen usage"
# for information on how to generate the default header that doxygen normally
# uses.
# Note: The header is subject to change so you typically have to regenerate the
# default header when upgrading to a newer version of doxygen. For a description
# of the possible markers and block names see the documentation.
# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_HEADER =
# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each
# generated HTML page. If the tag is left blank doxygen will generate a standard
# footer. See HTML_HEADER for more information on how to generate a default
# footer and what special commands can be used inside the footer. See also
# section "Doxygen usage" for information on how to generate the default footer
# that doxygen normally uses.
# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_FOOTER =
# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style
# sheet that is used by each HTML page. It can be used to fine-tune the look of
# the HTML output. If left blank doxygen will generate a default style sheet.
# See also section "Doxygen usage" for information on how to generate the style
# sheet that doxygen normally uses.
# Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as
# it is more robust and this tag (HTML_STYLESHEET) will in the future become
# obsolete.
# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_STYLESHEET =
# The HTML_EXTRA_STYLESHEET tag can be used to specify an additional user-
# defined cascading style sheet that is included after the standard style sheets
# created by doxygen. Using this option one can overrule certain style aspects.
# This is preferred over using HTML_STYLESHEET since it does not replace the
# standard style sheet and is therefor more robust against future updates.
# Doxygen will copy the style sheet file to the output directory. For an example
# see the documentation.
# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_EXTRA_STYLESHEET =
# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
# other source files which should be copied to the HTML output directory. Note
# that these files will be copied to the base HTML output directory. Use the
# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these
# files. In the HTML_STYLESHEET file, use the file name only. Also note that the
# files will be copied as-is; there are no commands or markers available.
# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_EXTRA_FILES =
# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen
# will adjust the colors in the stylesheet and background images according to
# this color. Hue is specified as an angle on a colorwheel, see
# http://en.wikipedia.org/wiki/Hue for more information. For instance the value
# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300
# purple, and 360 is red again.
# Minimum value: 0, maximum value: 359, default value: 220.
# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_COLORSTYLE_HUE = 220
# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors
# in the HTML output. For a value of 0 the output will use grayscales only. A
# value of 255 will produce the most vivid colors.
# Minimum value: 0, maximum value: 255, default value: 100.
# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_COLORSTYLE_SAT = 100
# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the
# luminance component of the colors in the HTML output. Values below 100
# gradually make the output lighter, whereas values above 100 make the output
# darker. The value divided by 100 is the actual gamma applied, so 80 represents
# a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not
# change the gamma.
# Minimum value: 40, maximum value: 240, default value: 80.
# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_COLORSTYLE_GAMMA = 80
# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
# page will contain the date and time when the page was generated. Setting this
# to NO can help when comparing the output of multiple runs.
# The default value is: YES.
# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_TIMESTAMP = YES
# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
# documentation will contain sections that can be hidden and shown after the
# page has loaded.
# The default value is: NO.
# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_DYNAMIC_SECTIONS = NO
# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries
# shown in the various tree structured indices initially; the user can expand
# and collapse entries dynamically later on. Doxygen will expand the tree to
# such a level that at most the specified number of entries are visible (unless
# a fully collapsed tree already exceeds this amount). So setting the number of
# entries 1 will produce a full collapsed tree by default. 0 is a special value
# representing an infinite number of entries and will result in a full expanded
# tree by default.
# Minimum value: 0, maximum value: 9999, default value: 100.
# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_INDEX_NUM_ENTRIES = 100
# If the GENERATE_DOCSET tag is set to YES, additional index files will be
# generated that can be used as input for Apple's Xcode 3 integrated development
# environment (see: http://developer.apple.com/tools/xcode/), introduced with
# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a
# Makefile in the HTML output directory. Running make will produce the docset in
# that directory and running make install will install the docset in
# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at
# startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
# for more information.
# The default value is: NO.
# This tag requires that the tag GENERATE_HTML is set to YES.
GENERATE_DOCSET = NO
# This tag determines the name of the docset feed. A documentation feed provides
# an umbrella under which multiple documentation sets from a single provider
# (such as a company or product suite) can be grouped.
# The default value is: Doxygen generated docs.
# This tag requires that the tag GENERATE_DOCSET is set to YES.
DOCSET_FEEDNAME = "Doxygen generated docs"
# This tag specifies a string that should uniquely identify the documentation
# set bundle. This should be a reverse domain-name style string, e.g.
# com.mycompany.MyDocSet. Doxygen will append .docset to the name.
# The default value is: org.doxygen.Project.
# This tag requires that the tag GENERATE_DOCSET is set to YES.
DOCSET_BUNDLE_ID = org.doxygen.Project
# The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify
# the documentation publisher. This should be a reverse domain-name style
# string, e.g. com.mycompany.MyDocSet.documentation.
# The default value is: org.doxygen.Publisher.
# This tag requires that the tag GENERATE_DOCSET is set to YES.
DOCSET_PUBLISHER_ID = org.doxygen.Publisher
# The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher.
# The default value is: Publisher.
# This tag requires that the tag GENERATE_DOCSET is set to YES.
DOCSET_PUBLISHER_NAME = Publisher
# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three
# additional HTML index files: index.hhp, index.hhc, and index.hhk. The
# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop
# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on
# Windows.
#
# The HTML Help Workshop contains a compiler that can convert all HTML output
# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML
# files are now used as the Windows 98 help format, and will replace the old
# Windows help format (.hlp) on all Windows platforms in the future. Compressed
# HTML files also contain an index, a table of contents, and you can search for
# words in the documentation. The HTML workshop also contains a viewer for
# compressed HTML files.
# The default value is: NO.
# This tag requires that the tag GENERATE_HTML is set to YES.
GENERATE_HTMLHELP = NO
# The CHM_FILE tag can be used to specify the file name of the resulting .chm
# file. You can add a path in front of the file if the result should not be
# written to the html output directory.
# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
CHM_FILE =
# The HHC_LOCATION tag can be used to specify the location (absolute path
# including file name) of the HTML help compiler ( hhc.exe). If non-empty
# doxygen will try to run the HTML help compiler on the generated index.hhp.
# The file has to be specified with full path.
# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
HHC_LOCATION =
# The GENERATE_CHI flag controls if a separate .chi index file is generated (
# YES) or that it should be included in the master .chm file ( NO).
# The default value is: NO.
# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
GENERATE_CHI = NO
# The CHM_INDEX_ENCODING is used to encode HtmlHelp index ( hhk), content ( hhc)
# and project file content.
# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
CHM_INDEX_ENCODING =
# The BINARY_TOC flag controls whether a binary table of contents is generated (
# YES) or a normal table of contents ( NO) in the .chm file.
# The default value is: NO.
# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
BINARY_TOC = NO
# The TOC_EXPAND flag can be set to YES to add extra items for group members to
# the table of contents of the HTML help documentation and to the tree view.
# The default value is: NO.
# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
TOC_EXPAND = NO
# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that
# can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help
# (.qch) of the generated HTML documentation.
# The default value is: NO.
# This tag requires that the tag GENERATE_HTML is set to YES.
GENERATE_QHP = NO
# If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify
# the file name of the resulting .qch file. The path specified is relative to
# the HTML output folder.
# This tag requires that the tag GENERATE_QHP is set to YES.
QCH_FILE =
# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help
# Project output. For more information please see Qt Help Project / Namespace
# (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace).
# The default value is: org.doxygen.Project.
# This tag requires that the tag GENERATE_QHP is set to YES.
QHP_NAMESPACE = org.doxygen.Project
# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt
# Help Project output. For more information please see Qt Help Project / Virtual
# Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual-
# folders).
# The default value is: doc.
# This tag requires that the tag GENERATE_QHP is set to YES.
QHP_VIRTUAL_FOLDER = doc
# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom
# filter to add. For more information please see Qt Help Project / Custom
# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
# filters).
# This tag requires that the tag GENERATE_QHP is set to YES.
QHP_CUST_FILTER_NAME =
# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the
# custom filter to add. For more information please see Qt Help Project / Custom
# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
# filters).
# This tag requires that the tag GENERATE_QHP is set to YES.
QHP_CUST_FILTER_ATTRS =
# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
# project's filter section matches. Qt Help Project / Filter Attributes (see:
# http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes).
# This tag requires that the tag GENERATE_QHP is set to YES.
QHP_SECT_FILTER_ATTRS =
# The QHG_LOCATION tag can be used to specify the location of Qt's
# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the
# generated .qhp file.
# This tag requires that the tag GENERATE_QHP is set to YES.
QHG_LOCATION =
# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be
# generated, together with the HTML files, they form an Eclipse help plugin. To
# install this plugin and make it available under the help contents menu in
# Eclipse, the contents of the directory containing the HTML and XML files needs
# to be copied into the plugins directory of eclipse. The name of the directory
# within the plugins directory should be the same as the ECLIPSE_DOC_ID value.
# After copying Eclipse needs to be restarted before the help appears.
# The default value is: NO.
# This tag requires that the tag GENERATE_HTML is set to YES.
GENERATE_ECLIPSEHELP = NO
# A unique identifier for the Eclipse help plugin. When installing the plugin
# the directory name containing the HTML and XML files should also have this
# name. Each documentation set should have its own identifier.
# The default value is: org.doxygen.Project.
# This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES.
ECLIPSE_DOC_ID = org.doxygen.Project
# If you want full control over the layout of the generated HTML pages it might
# be necessary to disable the index and replace it with your own. The
# DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top
# of each HTML page. A value of NO enables the index and the value YES disables
# it. Since the tabs in the index contain the same information as the navigation
# tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES.
# The default value is: NO.
# This tag requires that the tag GENERATE_HTML is set to YES.
DISABLE_INDEX = NO
# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
# structure should be generated to display hierarchical information. If the tag
# value is set to YES, a side panel will be generated containing a tree-like
# index structure (just like the one that is generated for HTML Help). For this
# to work a browser that supports JavaScript, DHTML, CSS and frames is required
# (i.e. any modern browser). Windows users are probably better off using the
# HTML help feature. Via custom stylesheets (see HTML_EXTRA_STYLESHEET) one can
# further fine-tune the look of the index. As an example, the default style
# sheet generated by doxygen has an example that shows how to put an image at
# the root of the tree instead of the PROJECT_NAME. Since the tree basically has
# the same information as the tab index, you could consider setting
# DISABLE_INDEX to YES when enabling this option.
# The default value is: NO.
# This tag requires that the tag GENERATE_HTML is set to YES.
GENERATE_TREEVIEW = NO
# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that
# doxygen will group on one line in the generated HTML documentation.
#
# Note that a value of 0 will completely suppress the enum values from appearing
# in the overview section.
# Minimum value: 0, maximum value: 20, default value: 4.
# This tag requires that the tag GENERATE_HTML is set to YES.
ENUM_VALUES_PER_LINE = 4
# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used
# to set the initial width (in pixels) of the frame in which the tree is shown.
# Minimum value: 0, maximum value: 1500, default value: 250.
# This tag requires that the tag GENERATE_HTML is set to YES.
TREEVIEW_WIDTH = 250
# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open links to
# external symbols imported via tag files in a separate window.
# The default value is: NO.
# This tag requires that the tag GENERATE_HTML is set to YES.
EXT_LINKS_IN_WINDOW = NO
# Use this tag to change the font size of LaTeX formulas included as images in
# the HTML documentation. When you change the font size after a successful
# doxygen run you need to manually remove any form_*.png images from the HTML
# output directory to force them to be regenerated.
# Minimum value: 8, maximum value: 50, default value: 10.
# This tag requires that the tag GENERATE_HTML is set to YES.
FORMULA_FONTSIZE = 10
# Use the FORMULA_TRANPARENT tag to determine whether or not the images
# generated for formulas are transparent PNGs. Transparent PNGs are not
# supported properly for IE 6.0, but are supported on all modern browsers.
#
# Note that when changing this option you need to delete any form_*.png files in
# the HTML output directory before the changes have effect.
# The default value is: YES.
# This tag requires that the tag GENERATE_HTML is set to YES.
FORMULA_TRANSPARENT = YES
# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see
# http://www.mathjax.org) which uses client side Javascript for the rendering
# instead of using prerendered bitmaps. Use this if you do not have LaTeX
# installed or if you want to formulas look prettier in the HTML output. When
# enabled you may also need to install MathJax separately and configure the path
# to it using the MATHJAX_RELPATH option.
# The default value is: NO.
# This tag requires that the tag GENERATE_HTML is set to YES.
USE_MATHJAX = NO
# When MathJax is enabled you can set the default output format to be used for
# the MathJax output. See the MathJax site (see:
# http://docs.mathjax.org/en/latest/output.html) for more details.
# Possible values are: HTML-CSS (which is slower, but has the best
# compatibility), NativeMML (i.e. MathML) and SVG.
# The default value is: HTML-CSS.
# This tag requires that the tag USE_MATHJAX is set to YES.
MATHJAX_FORMAT = HTML-CSS
# When MathJax is enabled you need to specify the location relative to the HTML
# output directory using the MATHJAX_RELPATH option. The destination directory
# should contain the MathJax.js script. For instance, if the mathjax directory
# is located at the same level as the HTML output directory, then
# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax
# Content Delivery Network so you can quickly see the result without installing
# MathJax. However, it is strongly recommended to install a local copy of
# MathJax from http://www.mathjax.org before deployment.
# The default value is: http://cdn.mathjax.org/mathjax/latest.
# This tag requires that the tag USE_MATHJAX is set to YES.
MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest
# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax
# extension names that should be enabled during MathJax rendering. For example
# MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols
# This tag requires that the tag USE_MATHJAX is set to YES.
MATHJAX_EXTENSIONS =
# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces
# of code that will be used on startup of the MathJax code. See the MathJax site
# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an
# example see the documentation.
# This tag requires that the tag USE_MATHJAX is set to YES.
MATHJAX_CODEFILE =
# When the SEARCHENGINE tag is enabled doxygen will generate a search box for
# the HTML output. The underlying search engine uses javascript and DHTML and
# should work on any modern browser. Note that when using HTML help
# (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET)
# there is already a search function so this one should typically be disabled.
# For large projects the javascript based search engine can be slow, then
# enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to
# search using the keyboard; to jump to the search box use <access key> + S
# (what the <access key> is depends on the OS and browser, but it is typically
# <CTRL>, <ALT>/<option>, or both). Inside the search box use the <cursor down
# key> to jump into the search results window, the results can be navigated
# using the <cursor keys>. Press <Enter> to select an item or <escape> to cancel
# the search. The filter options can be selected when the cursor is inside the
# search box by pressing <Shift>+<cursor down>. Also here use the <cursor keys>
# to select a filter and <Enter> or <escape> to activate or cancel the filter
# option.
# The default value is: YES.
# This tag requires that the tag GENERATE_HTML is set to YES.
SEARCHENGINE = YES
# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
# implemented using a web server instead of a web client using Javascript. There
# are two flavours of web server based searching depending on the
# EXTERNAL_SEARCH setting. When disabled, doxygen will generate a PHP script for
# searching and an index file used by the script. When EXTERNAL_SEARCH is
# enabled the indexing and searching needs to be provided by external tools. See
# the section "External Indexing and Searching" for details.
# The default value is: NO.
# This tag requires that the tag SEARCHENGINE is set to YES.
SERVER_BASED_SEARCH = NO
# When EXTERNAL_SEARCH tag is enabled doxygen will no longer generate the PHP
# script for searching. Instead the search results are written to an XML file
# which needs to be processed by an external indexer. Doxygen will invoke an
# external search engine pointed to by the SEARCHENGINE_URL option to obtain the
# search results.
#
# Doxygen ships with an example indexer ( doxyindexer) and search engine
# (doxysearch.cgi) which are based on the open source search engine library
# Xapian (see: http://xapian.org/).
#
# See the section "External Indexing and Searching" for details.
# The default value is: NO.
# This tag requires that the tag SEARCHENGINE is set to YES.
EXTERNAL_SEARCH = NO
# The SEARCHENGINE_URL should point to a search engine hosted by a web server
# which will return the search results when EXTERNAL_SEARCH is enabled.
#
# Doxygen ships with an example indexer ( doxyindexer) and search engine
# (doxysearch.cgi) which are based on the open source search engine library
# Xapian (see: http://xapian.org/). See the section "External Indexing and
# Searching" for details.
# This tag requires that the tag SEARCHENGINE is set to YES.
SEARCHENGINE_URL =
# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed
# search data is written to a file for indexing by an external tool. With the
# SEARCHDATA_FILE tag the name of this file can be specified.
# The default file is: searchdata.xml.
# This tag requires that the tag SEARCHENGINE is set to YES.
SEARCHDATA_FILE = searchdata.xml
# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the
# EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is
# useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple
# projects and redirect the results back to the right project.
# This tag requires that the tag SEARCHENGINE is set to YES.
EXTERNAL_SEARCH_ID =
# The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen
# projects other than the one defined by this configuration file, but that are
# all added to the same external search index. Each project needs to have a
# unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id of
# to a relative location where the documentation can be found. The format is:
# EXTRA_SEARCH_MAPPINGS = tagname1=loc1 tagname2=loc2 ...
# This tag requires that the tag SEARCHENGINE is set to YES.
EXTRA_SEARCH_MAPPINGS =
#---------------------------------------------------------------------------
# Configuration options related to the LaTeX output
#---------------------------------------------------------------------------
# If the GENERATE_LATEX tag is set to YES doxygen will generate LaTeX output.
# The default value is: YES.
GENERATE_LATEX = NO
# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. If a
# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
# it.
# The default directory is: latex.
# This tag requires that the tag GENERATE_LATEX is set to YES.
LATEX_OUTPUT = latex
# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
# invoked.
#
# Note that when enabling USE_PDFLATEX this option is only used for generating
# bitmaps for formulas in the HTML output, but not in the Makefile that is
# written to the output directory.
# The default file is: latex.
# This tag requires that the tag GENERATE_LATEX is set to YES.
LATEX_CMD_NAME = latex
# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate
# index for LaTeX.
# The default file is: makeindex.
# This tag requires that the tag GENERATE_LATEX is set to YES.
MAKEINDEX_CMD_NAME = makeindex
# If the COMPACT_LATEX tag is set to YES doxygen generates more compact LaTeX
# documents. This may be useful for small projects and may help to save some
# trees in general.
# The default value is: NO.
# This tag requires that the tag GENERATE_LATEX is set to YES.
COMPACT_LATEX = NO
# The PAPER_TYPE tag can be used to set the paper type that is used by the
# printer.
# Possible values are: a4 (210 x 297 mm), letter (8.5 x 11 inches), legal (8.5 x
# 14 inches) and executive (7.25 x 10.5 inches).
# The default value is: a4.
# This tag requires that the tag GENERATE_LATEX is set to YES.
PAPER_TYPE = a4
# The EXTRA_PACKAGES tag can be used to specify one or more LaTeX package names
# that should be included in the LaTeX output. To get the times font for
# instance you can specify
# EXTRA_PACKAGES=times
# If left blank no extra packages will be included.
# This tag requires that the tag GENERATE_LATEX is set to YES.
EXTRA_PACKAGES =
# The LATEX_HEADER tag can be used to specify a personal LaTeX header for the
# generated LaTeX document. The header should contain everything until the first
# chapter. If it is left blank doxygen will generate a standard header. See
# section "Doxygen usage" for information on how to let doxygen write the
# default header to a separate file.
#
# Note: Only use a user-defined header if you know what you are doing! The
# following commands have a special meaning inside the header: $title,
# $datetime, $date, $doxygenversion, $projectname, $projectnumber. Doxygen will
# replace them by respectively the title of the page, the current date and time,
# only the current date, the version number of doxygen, the project name (see
# PROJECT_NAME), or the project number (see PROJECT_NUMBER).
# This tag requires that the tag GENERATE_LATEX is set to YES.
LATEX_HEADER =
# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for the
# generated LaTeX document. The footer should contain everything after the last
# chapter. If it is left blank doxygen will generate a standard footer.
#
# Note: Only use a user-defined footer if you know what you are doing!
# This tag requires that the tag GENERATE_LATEX is set to YES.
LATEX_FOOTER =
# The LATEX_EXTRA_FILES tag can be used to specify one or more extra images or
# other source files which should be copied to the LATEX_OUTPUT output
# directory. Note that the files will be copied as-is; there are no commands or
# markers available.
# This tag requires that the tag GENERATE_LATEX is set to YES.
LATEX_EXTRA_FILES =
# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated is
# prepared for conversion to PDF (using ps2pdf or pdflatex). The PDF file will
# contain links (just like the HTML output) instead of page references. This
# makes the output suitable for online browsing using a PDF viewer.
# The default value is: YES.
# This tag requires that the tag GENERATE_LATEX is set to YES.
PDF_HYPERLINKS = YES
# If the LATEX_PDFLATEX tag is set to YES, doxygen will use pdflatex to generate
# the PDF file directly from the LaTeX files. Set this option to YES to get a
# higher quality PDF documentation.
# The default value is: YES.
# This tag requires that the tag GENERATE_LATEX is set to YES.
USE_PDFLATEX = YES
# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \batchmode
# command to the generated LaTeX files. This will instruct LaTeX to keep running
# if errors occur, instead of asking the user for help. This option is also used
# when generating formulas in HTML.
# The default value is: NO.
# This tag requires that the tag GENERATE_LATEX is set to YES.
LATEX_BATCHMODE = NO
# If the LATEX_HIDE_INDICES tag is set to YES then doxygen will not include the
# index chapters (such as File Index, Compound Index, etc.) in the output.
# The default value is: NO.
# This tag requires that the tag GENERATE_LATEX is set to YES.
LATEX_HIDE_INDICES = NO
# If the LATEX_SOURCE_CODE tag is set to YES then doxygen will include source
# code with syntax highlighting in the LaTeX output.
#
# Note that which sources are shown also depends on other settings such as
# SOURCE_BROWSER.
# The default value is: NO.
# This tag requires that the tag GENERATE_LATEX is set to YES.
LATEX_SOURCE_CODE = NO
# The LATEX_BIB_STYLE tag can be used to specify the style to use for the
# bibliography, e.g. plainnat, or ieeetr. See
# http://en.wikipedia.org/wiki/BibTeX and \cite for more info.
# The default value is: plain.
# This tag requires that the tag GENERATE_LATEX is set to YES.
LATEX_BIB_STYLE = plain
#---------------------------------------------------------------------------
# Configuration options related to the RTF output
#---------------------------------------------------------------------------
# If the GENERATE_RTF tag is set to YES doxygen will generate RTF output. The
# RTF output is optimized for Word 97 and may not look too pretty with other RTF
# readers/editors.
# The default value is: NO.
GENERATE_RTF = NO
# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. If a
# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
# it.
# The default directory is: rtf.
# This tag requires that the tag GENERATE_RTF is set to YES.
RTF_OUTPUT = rtf
# If the COMPACT_RTF tag is set to YES doxygen generates more compact RTF
# documents. This may be useful for small projects and may help to save some
# trees in general.
# The default value is: NO.
# This tag requires that the tag GENERATE_RTF is set to YES.
COMPACT_RTF = NO
# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated will
# contain hyperlink fields. The RTF file will contain links (just like the HTML
# output) instead of page references. This makes the output suitable for online
# browsing using Word or some other Word compatible readers that support those
# fields.
#
# Note: WordPad (write) and others do not support links.
# The default value is: NO.
# This tag requires that the tag GENERATE_RTF is set to YES.
RTF_HYPERLINKS = NO
# Load stylesheet definitions from file. Syntax is similar to doxygen's config
# file, i.e. a series of assignments. You only have to provide replacements,
# missing definitions are set to their default value.
#
# See also section "Doxygen usage" for information on how to generate the
# default style sheet that doxygen normally uses.
# This tag requires that the tag GENERATE_RTF is set to YES.
RTF_STYLESHEET_FILE =
# Set optional variables used in the generation of an RTF document. Syntax is
# similar to doxygen's config file. A template extensions file can be generated
# using doxygen -e rtf extensionFile.
# This tag requires that the tag GENERATE_RTF is set to YES.
RTF_EXTENSIONS_FILE =
#---------------------------------------------------------------------------
# Configuration options related to the man page output
#---------------------------------------------------------------------------
# If the GENERATE_MAN tag is set to YES doxygen will generate man pages for
# classes and files.
# The default value is: NO.
GENERATE_MAN = NO
# The MAN_OUTPUT tag is used to specify where the man pages will be put. If a
# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
# it. A directory man3 will be created inside the directory specified by
# MAN_OUTPUT.
# The default directory is: man.
# This tag requires that the tag GENERATE_MAN is set to YES.
MAN_OUTPUT = man
# The MAN_EXTENSION tag determines the extension that is added to the generated
# man pages. In case the manual section does not start with a number, the number
# 3 is prepended. The dot (.) at the beginning of the MAN_EXTENSION tag is
# optional.
# The default value is: .3.
# This tag requires that the tag GENERATE_MAN is set to YES.
MAN_EXTENSION = .3
# If the MAN_LINKS tag is set to YES and doxygen generates man output, then it
# will generate one additional man file for each entity documented in the real
# man page(s). These additional files only source the real man page, but without
# them the man command would be unable to find the correct page.
# The default value is: NO.
# This tag requires that the tag GENERATE_MAN is set to YES.
MAN_LINKS = NO
#---------------------------------------------------------------------------
# Configuration options related to the XML output
#---------------------------------------------------------------------------
# If the GENERATE_XML tag is set to YES doxygen will generate an XML file that
# captures the structure of the code including all documentation.
# The default value is: NO.
GENERATE_XML = NO
# The XML_OUTPUT tag is used to specify where the XML pages will be put. If a
# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
# it.
# The default directory is: xml.
# This tag requires that the tag GENERATE_XML is set to YES.
XML_OUTPUT = xml
# The XML_SCHEMA tag can be used to specify a XML schema, which can be used by a
# validating XML parser to check the syntax of the XML files.
# This tag requires that the tag GENERATE_XML is set to YES.
XML_SCHEMA =
# The XML_DTD tag can be used to specify a XML DTD, which can be used by a
# validating XML parser to check the syntax of the XML files.
# This tag requires that the tag GENERATE_XML is set to YES.
XML_DTD =
# If the XML_PROGRAMLISTING tag is set to YES doxygen will dump the program
# listings (including syntax highlighting and cross-referencing information) to
# the XML output. Note that enabling this will significantly increase the size
# of the XML output.
# The default value is: YES.
# This tag requires that the tag GENERATE_XML is set to YES.
XML_PROGRAMLISTING = YES
#---------------------------------------------------------------------------
# Configuration options related to the DOCBOOK output
#---------------------------------------------------------------------------
# If the GENERATE_DOCBOOK tag is set to YES doxygen will generate Docbook files
# that can be used to generate PDF.
# The default value is: NO.
GENERATE_DOCBOOK = NO
# The DOCBOOK_OUTPUT tag is used to specify where the Docbook pages will be put.
# If a relative path is entered the value of OUTPUT_DIRECTORY will be put in
# front of it.
# The default directory is: docbook.
# This tag requires that the tag GENERATE_DOCBOOK is set to YES.
DOCBOOK_OUTPUT = docbook
#---------------------------------------------------------------------------
# Configuration options for the AutoGen Definitions output
#---------------------------------------------------------------------------
# If the GENERATE_AUTOGEN_DEF tag is set to YES doxygen will generate an AutoGen
# Definitions (see http://autogen.sf.net) file that captures the structure of
# the code including all documentation. Note that this feature is still
# experimental and incomplete at the moment.
# The default value is: NO.
GENERATE_AUTOGEN_DEF = NO
#---------------------------------------------------------------------------
# Configuration options related to the Perl module output
#---------------------------------------------------------------------------
# If the GENERATE_PERLMOD tag is set to YES doxygen will generate a Perl module
# file that captures the structure of the code including all documentation.
#
# Note that this feature is still experimental and incomplete at the moment.
# The default value is: NO.
GENERATE_PERLMOD = NO
# If the PERLMOD_LATEX tag is set to YES doxygen will generate the necessary
# Makefile rules, Perl scripts and LaTeX code to be able to generate PDF and DVI
# output from the Perl module output.
# The default value is: NO.
# This tag requires that the tag GENERATE_PERLMOD is set to YES.
PERLMOD_LATEX = NO
# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be nicely
# formatted so it can be parsed by a human reader. This is useful if you want to
# understand what is going on. On the other hand, if this tag is set to NO the
# size of the Perl module output will be much smaller and Perl will parse it
# just the same.
# The default value is: YES.
# This tag requires that the tag GENERATE_PERLMOD is set to YES.
PERLMOD_PRETTY = YES
# The names of the make variables in the generated doxyrules.make file are
# prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. This is useful
# so different doxyrules.make files included by the same Makefile don't
# overwrite each other's variables.
# This tag requires that the tag GENERATE_PERLMOD is set to YES.
PERLMOD_MAKEVAR_PREFIX =
#---------------------------------------------------------------------------
# Configuration options related to the preprocessor
#---------------------------------------------------------------------------
# If the ENABLE_PREPROCESSING tag is set to YES doxygen will evaluate all
# C-preprocessor directives found in the sources and include files.
# The default value is: YES.
ENABLE_PREPROCESSING = YES
# If the MACRO_EXPANSION tag is set to YES doxygen will expand all macro names
# in the source code. If set to NO only conditional compilation will be
# performed. Macro expansion can be done in a controlled way by setting
# EXPAND_ONLY_PREDEF to YES.
# The default value is: NO.
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
MACRO_EXPANSION = NO
# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES then
# the macro expansion is limited to the macros specified with the PREDEFINED and
# EXPAND_AS_DEFINED tags.
# The default value is: NO.
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
EXPAND_ONLY_PREDEF = NO
# If the SEARCH_INCLUDES tag is set to YES the includes files in the
# INCLUDE_PATH will be searched if a #include is found.
# The default value is: YES.
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
SEARCH_INCLUDES = YES
# The INCLUDE_PATH tag can be used to specify one or more directories that
# contain include files that are not input files but should be processed by the
# preprocessor.
# This tag requires that the tag SEARCH_INCLUDES is set to YES.
INCLUDE_PATH =
# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
# patterns (like *.h and *.hpp) to filter out the header-files in the
# directories. If left blank, the patterns specified with FILE_PATTERNS will be
# used.
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
INCLUDE_FILE_PATTERNS =
# The PREDEFINED tag can be used to specify one or more macro names that are
# defined before the preprocessor is started (similar to the -D option of e.g.
# gcc). The argument of the tag is a list of macros of the form: name or
# name=definition (no spaces). If the definition and the "=" are omitted, "=1"
# is assumed. To prevent a macro definition from being undefined via #undef or
# recursively expanded use the := operator instead of the = operator.
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
PREDEFINED =
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
# tag can be used to specify a list of macro names that should be expanded. The
# macro definition that is found in the sources will be used. Use the PREDEFINED
# tag if you want to use a different macro definition that overrules the
# definition found in the source code.
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
EXPAND_AS_DEFINED =
# If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen's preprocessor will
# remove all refrences to function-like macros that are alone on a line, have an
# all uppercase name, and do not end with a semicolon. Such function macros are
# typically used for boiler-plate code, and will confuse the parser if not
# removed.
# The default value is: YES.
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
SKIP_FUNCTION_MACROS = YES
#---------------------------------------------------------------------------
# Configuration options related to external references
#---------------------------------------------------------------------------
# The TAGFILES tag can be used to specify one or more tag files. For each tag
# file the location of the external documentation should be added. The format of
# a tag file without this location is as follows:
# TAGFILES = file1 file2 ...
# Adding location for the tag files is done as follows:
# TAGFILES = file1=loc1 "file2 = loc2" ...
# where loc1 and loc2 can be relative or absolute paths or URLs. See the
# section "Linking to external documentation" for more information about the use
# of tag files.
# Note: Each tag file must have an unique name (where the name does NOT include
# the path). If a tag file is not located in the directory in which doxygen is
# run, you must also specify the path to the tagfile here.
TAGFILES =
# When a file name is specified after GENERATE_TAGFILE, doxygen will create a
# tag file that is based on the input files it reads. See section "Linking to
# external documentation" for more information about the usage of tag files.
GENERATE_TAGFILE =
# If the ALLEXTERNALS tag is set to YES all external class will be listed in the
# class index. If set to NO only the inherited external classes will be listed.
# The default value is: NO.
ALLEXTERNALS = NO
# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed in
# the modules index. If set to NO, only the current project's groups will be
# listed.
# The default value is: YES.
EXTERNAL_GROUPS = YES
# If the EXTERNAL_PAGES tag is set to YES all external pages will be listed in
# the related pages index. If set to NO, only the current project's pages will
# be listed.
# The default value is: YES.
EXTERNAL_PAGES = YES
# The PERL_PATH should be the absolute path and name of the perl script
# interpreter (i.e. the result of 'which perl').
# The default file (with absolute path) is: /usr/bin/perl.
PERL_PATH = /usr/bin/perl
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
# If the CLASS_DIAGRAMS tag is set to YES doxygen will generate a class diagram
# (in HTML and LaTeX) for classes with base or super classes. Setting the tag to
# NO turns the diagrams off. Note that this option also works with HAVE_DOT
# disabled, but it is recommended to install and use dot, since it yields more
# powerful graphs.
# The default value is: YES.
CLASS_DIAGRAMS = YES
# You can define message sequence charts within doxygen comments using the \msc
# command. Doxygen will then run the mscgen tool (see:
# http://www.mcternan.me.uk/mscgen/)) to produce the chart and insert it in the
# documentation. The MSCGEN_PATH tag allows you to specify the directory where
# the mscgen tool resides. If left empty the tool is assumed to be found in the
# default search path.
MSCGEN_PATH =
# You can include diagrams made with dia in doxygen documentation. Doxygen will
# then run dia to produce the diagram and insert it in the documentation. The
# DIA_PATH tag allows you to specify the directory where the dia binary resides.
# If left empty dia is assumed to be found in the default search path.
DIA_PATH =
# If set to YES, the inheritance and collaboration graphs will hide inheritance
# and usage relations if the target is undocumented or is not a class.
# The default value is: YES.
HIDE_UNDOC_RELATIONS = YES
# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
# available from the path. This tool is part of Graphviz (see:
# http://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent
# Bell Labs. The other options in this section have no effect if this option is
# set to NO
# The default value is: NO.
HAVE_DOT = NO
# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is allowed
# to run in parallel. When set to 0 doxygen will base this on the number of
# processors available in the system. You can set it explicitly to a value
# larger than 0 to get control over the balance between CPU load and processing
# speed.
# Minimum value: 0, maximum value: 32, default value: 0.
# This tag requires that the tag HAVE_DOT is set to YES.
DOT_NUM_THREADS = 0
# When you want a differently looking font n the dot files that doxygen
# generates you can specify the font name using DOT_FONTNAME. You need to make
# sure dot is able to find the font, which can be done by putting it in a
# standard location or by setting the DOTFONTPATH environment variable or by
# setting DOT_FONTPATH to the directory containing the font.
# The default value is: Helvetica.
# This tag requires that the tag HAVE_DOT is set to YES.
DOT_FONTNAME = Helvetica
# The DOT_FONTSIZE tag can be used to set the size (in points) of the font of
# dot graphs.
# Minimum value: 4, maximum value: 24, default value: 10.
# This tag requires that the tag HAVE_DOT is set to YES.
DOT_FONTSIZE = 10
# By default doxygen will tell dot to use the default font as specified with
# DOT_FONTNAME. If you specify a different font using DOT_FONTNAME you can set
# the path where dot can find it using this tag.
# This tag requires that the tag HAVE_DOT is set to YES.
DOT_FONTPATH =
# If the CLASS_GRAPH tag is set to YES then doxygen will generate a graph for
# each documented class showing the direct and indirect inheritance relations.
# Setting this tag to YES will force the CLASS_DIAGRAMS tag to NO.
# The default value is: YES.
# This tag requires that the tag HAVE_DOT is set to YES.
CLASS_GRAPH = YES
# If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a
# graph for each documented class showing the direct and indirect implementation
# dependencies (inheritance, containment, and class references variables) of the
# class with other documented classes.
# The default value is: Y
gitextract_kvbrrru9/
├── .gitignore
├── .nojekyll
├── .travis.yml
├── LICENSE
├── Makefile
├── README.md
├── client/
│ ├── app.js
│ ├── assets/
│ │ ├── css/
│ │ │ ├── site.css
│ │ │ └── tetronimos.css
│ │ └── js/
│ │ └── colorbrewer.js
│ ├── heatmapD3.js
│ ├── index.html
│ └── smartview.html
├── data/
│ └── human.hg19.genome
├── docs/
│ ├── app.js
│ ├── assets/
│ │ ├── css/
│ │ │ ├── site.css
│ │ │ └── tetronimos.css
│ │ └── js/
│ │ └── colorbrewer.js
│ ├── doxygen.cfg
│ ├── heatmapD3.js
│ ├── index.html
│ ├── smartview.html
│ └── update_doxygen.sh
├── environment.yml
├── examples/
│ ├── cistrome/
│ │ ├── README.md
│ │ ├── get_qc.sh
│ │ ├── get_top.sh
│ │ └── rename.py
│ ├── fantom/
│ │ ├── README.md
│ │ └── rename.py
│ ├── gtex/
│ │ ├── bp.py
│ │ ├── gtex_to_bp.py
│ │ └── one_per_tissue.py
│ ├── gwas/
│ │ └── README.md
│ ├── myod/
│ │ └── README.md
│ ├── rme/
│ │ ├── EDACC_NAME.txt
│ │ ├── README.md
│ │ ├── Standardized_names.txt
│ │ ├── data_def.json
│ │ ├── get_data.sh
│ │ ├── groups.txt
│ │ ├── new_groups.txt
│ │ ├── new_groups_names.txt
│ │ ├── rename.py
│ │ ├── short_states.txt
│ │ ├── states.txt
│ │ └── web/
│ │ ├── header.txt
│ │ └── track_names.txt
│ ├── segway/
│ │ ├── cell_types.txt
│ │ ├── data_def.json
│ │ ├── get_data.sh
│ │ ├── rename.py
│ │ └── states.txt
│ └── ucsc/
│ ├── README.md
│ ├── data_def.json
│ ├── get_data.sh
│ └── parse_sql.py
├── experiments/
│ ├── cache_compression/
│ │ ├── README.html
│ │ ├── README.md
│ │ ├── comparison.py
│ │ └── roadmap_sort_comparisons/
│ │ ├── index/
│ │ │ ├── fastlz1.csv
│ │ │ ├── fastlz2.csv
│ │ │ ├── uncompressed.csv
│ │ │ ├── zlib0.csv
│ │ │ ├── zlib1.csv
│ │ │ ├── zlib3.csv
│ │ │ ├── zlib6.csv
│ │ │ └── zlib9.csv
│ │ ├── index.csv
│ │ ├── search1/
│ │ │ ├── fastlz1.csv
│ │ │ ├── fastlz2.csv
│ │ │ ├── uncompressed.csv
│ │ │ ├── zlib0.csv
│ │ │ ├── zlib1.csv
│ │ │ ├── zlib3.csv
│ │ │ ├── zlib6.csv
│ │ │ └── zlib9.csv
│ │ ├── search1.csv
│ │ ├── search2/
│ │ │ ├── fastlz1.csv
│ │ │ ├── fastlz2.csv
│ │ │ ├── uncompressed.csv
│ │ │ ├── zlib0.csv
│ │ │ ├── zlib1.csv
│ │ │ ├── zlib3.csv
│ │ │ ├── zlib6.csv
│ │ │ └── zlib9.csv
│ │ ├── search2.csv
│ │ └── space.csv
│ ├── chipseq/
│ │ └── README.md
│ ├── cistrome/
│ │ └── README.md
│ ├── fantom/
│ │ └── README.md
│ ├── gwas/
│ │ └── README.md
│ ├── mc_vs_table/
│ │ └── README.md
│ ├── metadata_index_query_filter/
│ │ ├── README.md
│ │ └── metadata_comparisons/
│ │ ├── combined.csv
│ │ ├── i1.csv
│ │ ├── i2.csv
│ │ ├── q1.csv
│ │ ├── q2.csv
│ │ ├── q3.csv
│ │ ├── q4.csv
│ │ ├── s1.csv
│ │ ├── s2.csv
│ │ ├── s3.csv
│ │ └── s4.csv
│ └── speed_test/
│ ├── README.md
│ └── speed_test.sh
├── flake.nix
├── scripts/
│ ├── cross.py
│ ├── get_overlaps.html
│ ├── get_ucsc_url.html
│ ├── giggle_gwas_heatmap.py
│ ├── giggle_heat_map.py
│ ├── lines.py
│ ├── scatter.py
│ ├── sort_bed
│ └── volcano.py
├── sharding/
│ ├── README.md
│ └── multi_giggle.py
├── src/
│ ├── Makefile
│ ├── api_test.c
│ ├── bpt.c
│ ├── bpt.h
│ ├── cache.c
│ ├── cache.h
│ ├── data_reg.c
│ ├── data_reg.h
│ ├── disk_file_header.c
│ ├── disk_file_header.h
│ ├── disk_store.c
│ ├── disk_store.h
│ ├── fastlz.c
│ ├── fastlz.h
│ ├── fastlz_wrapper.c
│ ├── fastlz_wrapper.h
│ ├── file_read.c
│ ├── file_read.h
│ ├── giggle.c
│ ├── giggle_index.c
│ ├── giggle_index.h
│ ├── index.c
│ ├── index_search.c
│ ├── jsw_avltree.c
│ ├── jsw_avltree.h
│ ├── kfunc.c
│ ├── kfunc.h
│ ├── leaf.c
│ ├── leaf.h
│ ├── lists.c
│ ├── lists.h
│ ├── ll.c
│ ├── ll.h
│ ├── metadata/
│ │ ├── Makefile
│ │ ├── intervals1.tsv
│ │ ├── intervals2.tsv
│ │ ├── metadata.conf
│ │ └── metadata_test.c
│ ├── metadata_index.c
│ ├── metadata_index.h
│ ├── offset_idx_lookup.c
│ ├── offset_index.c
│ ├── offset_index.h
│ ├── pq.c
│ ├── pq.h
│ ├── query_filter.c
│ ├── query_filter.h
│ ├── search.c
│ ├── search_file.c
│ ├── server_enrichment.c
│ ├── server_overlap.c
│ ├── sig_test.c
│ ├── speed_tests.c
│ ├── test.c
│ ├── timer.c
│ ├── timer.h
│ ├── util.c
│ ├── util.h
│ ├── wah.c
│ ├── wah.h
│ ├── zlib_wrapper.c
│ └── zlib_wrapper.h
└── test/
├── data/
│ ├── 1k.sort.bed.gz.tbi
│ └── many/
│ ├── 0.1.bed.gz.tbi
│ ├── 0.2.bed.gz.tbi
│ ├── 0.bed.gz.tbi
│ ├── 1.1.bed.gz.tbi
│ ├── 1.2.bed.gz.tbi
│ ├── 1.bed.gz.tbi
│ ├── 10.bed.gz.tbi
│ ├── 2.1.bed.gz.tbi
│ ├── 2.2.bed.gz.tbi
│ ├── 2.bed.gz.tbi
│ ├── 3.1.bed.gz.tbi
│ ├── 3.2.bed.gz.tbi
│ ├── 3.bed.gz.tbi
│ ├── 4.1.bed.gz.tbi
│ ├── 4.bed.gz.tbi
│ ├── 5.1.bed.gz.tbi
│ ├── 5.bed.gz.tbi
│ ├── 6.bed.gz.tbi
│ ├── 7.bed.gz.tbi
│ ├── 8.bed.gz.tbi
│ ├── 9.bed.gz.tbi
│ └── full_span.bed.gz.tbi
├── func/
│ └── giggle_tests.sh
└── unit/
├── Makefile
├── test_bpt.c
├── test_bulk_insert.c
├── test_cache.c
├── test_disk_store.c
├── test_file_read.c
├── test_genetic_offset_index.c
├── test_giggle.c
├── test_hash_list.c
├── test_kfunc.c
├── test_leaf_data.c
├── test_lists.c
├── test_ll.c
├── test_offset_index.c
├── test_util.c
├── test_zlib_wrapper.c
└── unity/
├── generate_test_runner.rb
├── type_sanitizer.rb
├── unity.c
├── unity.h
└── unity_internals.h
SYMBOL INDEX (1242 symbols across 83 files)
FILE: client/app.js
function loadUCSCSmartView (line 63) | function loadUCSCSmartView() {
function loadUCSCDefinition (line 122) | function loadUCSCDefinition() {
function loadUCSCTracks (line 152) | function loadUCSCTracks(chr, start, end) {
function loadOverlapDetail (line 203) | function loadOverlapDetail(fileName, row, col) {
function promiseLoadMatrixDefinition (line 285) | function promiseLoadMatrixDefinition() {
function initBedUploadForm (line 319) | function initBedUploadForm() {
function getGiggleUrls (line 379) | function getGiggleUrls() {
function loadHeatmapForRegion (line 388) | function loadHeatmapForRegion() {
function loadHeatmapChart (line 433) | function loadHeatmapChart(data, theDef) {
function addCommas (line 506) | function addCommas(nStr)
FILE: client/heatmapD3.js
function heatmapD3 (line 1) | function heatmapD3() {
FILE: docs/app.js
function loadUCSCSmartView (line 63) | function loadUCSCSmartView() {
function loadUCSCDefinition (line 122) | function loadUCSCDefinition() {
function loadUCSCTracks (line 152) | function loadUCSCTracks(chr, start, end) {
function loadOverlapDetail (line 203) | function loadOverlapDetail(fileName, row, col) {
function promiseLoadMatrixDefinition (line 285) | function promiseLoadMatrixDefinition() {
function initBedUploadForm (line 319) | function initBedUploadForm() {
function getGiggleUrls (line 379) | function getGiggleUrls() {
function loadHeatmapForRegion (line 388) | function loadHeatmapForRegion() {
function loadHeatmapChart (line 433) | function loadHeatmapChart(data, theDef) {
function addCommas (line 506) | function addCommas(nStr)
FILE: docs/heatmapD3.js
function heatmapD3 (line 1) | function heatmapD3() {
FILE: examples/rme/rename.py
function process_file (line 21) | def process_file(fname):
FILE: examples/segway/rename.py
function process_file (line 14) | def process_file(fname):
FILE: scripts/cross.py
class MidpointNormalize (line 273) | class MidpointNormalize(Normalize):
method __init__ (line 274) | def __init__(self, vmin=None, vmax=None, midpoint=None, clip=False):
method __call__ (line 278) | def __call__(self, value, clip=None):
FILE: scripts/giggle_gwas_heatmap.py
class MidpointNormalize (line 256) | class MidpointNormalize(Normalize):
method __init__ (line 257) | def __init__(self, vmin=None, vmax=None, midpoint=None, clip=False):
method __call__ (line 261) | def __call__(self, value, clip=None):
FILE: scripts/giggle_heat_map.py
class MidpointNormalize (line 212) | class MidpointNormalize(Normalize):
method __init__ (line 213) | def __init__(self, vmin=None, vmax=None, midpoint=None, clip=False):
method __call__ (line 217) | def __call__(self, value, clip=None):
FILE: scripts/volcano.py
function log2fc (line 20) | def log2fc(v):
function neglog10p (line 30) | def neglog10p(v):
function mapc (line 193) | def mapc(rgb_l):
FILE: sharding/multi_giggle.py
function root (line 9) | def root():
function index (line 48) | def index(inputPath, outputPath, metadataPath, shardAmnt, keepTemp):
function launch_indexer (line 100) | def launch_indexer(shardIndex, outputPath, inputFiles, keepInputFiles, m...
function search (line 152) | def search(indexPath, queryFilePath, nThreads, sFlag, metadataPath):
function launch_searcher (line 205) | def launch_searcher(args):
FILE: src/api_test.c
type uint_flt_pair (line 14) | struct uint_flt_pair
function offset_data_append_uint_flt (line 20) | void offset_data_append_uint_flt(uint8_t *dest, kstring_t *line)
function main (line 40) | int main(int argc, char **argv)
FILE: src/bpt.c
type bpt_node (line 27) | struct bpt_node
type bpt_node (line 28) | struct bpt_node
type cache_handler (line 30) | struct cache_handler
function b_search (line 35) | int b_search(uint32_t key, const uint32_t *D, uint32_t D_size)
function bpt_node_serialize (line 57) | uint64_t bpt_node_serialize(void *deserialized, void **serialized)
function bpt_node_deserialize (line 75) | uint64_t bpt_node_deserialize(void *serialized,
function bpt_node_free_mem (line 99) | void bpt_node_free_mem(void **deserialized)
type bpt_node (line 110) | struct bpt_node
type bpt_node (line 112) | struct bpt_node
type bpt_node (line 112) | struct bpt_node
type bpt_node (line 112) | struct bpt_node
type bpt_node (line 126) | struct bpt_node
function bpt_find_leaf (line 134) | uint32_t bpt_find_leaf(uint32_t domain, uint32_t curr_id, uint32_t key)
function bpt_find_insert_pos (line 163) | int bpt_find_insert_pos(struct bpt_node *leaf, uint32_t key)
function bpt_split_node (line 170) | uint32_t bpt_split_node(uint32_t domain,
function bpt_place_new_key_value (line 286) | uint32_t bpt_place_new_key_value(uint32_t domain,
function bpt_insert (line 414) | uint32_t bpt_insert(uint32_t domain,
function bpt_insert_new_value (line 459) | uint32_t bpt_insert_new_value(uint32_t domain,
function bpt_find (line 489) | uint32_t bpt_find(uint32_t domain,
function bpt_write_tree (line 519) | bool bpt_write_tree(uint32_t domain, uint32_t root_id)
function bpt_print_node (line 799) | void bpt_print_node(struct bpt_node *node)
FILE: src/bpt.h
type ordered_set (line 26) | struct ordered_set
type bpt_node (line 28) | struct bpt_node
type cache_handler (line 49) | struct cache_handler
type bpt_node (line 51) | struct bpt_node
type cache_handler (line 61) | struct cache_handler
type bpt_node (line 70) | struct bpt_node
type bpt_node (line 71) | struct bpt_node
type bpt_node (line 73) | struct bpt_node
type bpt_node (line 73) | struct bpt_node
type cache_handler (line 82) | struct cache_handler
type cache_handler (line 90) | struct cache_handler
type cache_handler (line 98) | struct cache_handler
type bpt_node (line 108) | struct bpt_node
type bpt_node (line 128) | struct bpt_node
type bpt_node (line 131) | struct bpt_node
FILE: src/cache.c
type cache_def (line 19) | struct cache_def
type cache_handler (line 22) | struct cache_handler
function uint32_t_serialize (line 27) | uint64_t uint32_t_serialize(void *deserialized, void **serialized)
function uint32_t_deserialize (line 44) | uint64_t uint32_t_deserialize(void *serialized,
function uint32_t_free_mem (line 63) | void uint32_t_free_mem(void **deserialized)
type cache_def (line 73) | struct cache_def
type simple_cache (line 88) | struct simple_cache
type simple_cache (line 88) | struct simple_cache
type simple_cache (line 89) | struct simple_cache
type hash_list (line 116) | struct hash_list
type hash_list (line 117) | struct hash_list
type disk_store (line 138) | struct disk_store
type disk_store (line 139) | struct disk_store
function simple_cache_seen (line 208) | uint32_t simple_cache_seen(uint32_t domain)
function simple_cache_add (line 219) | void simple_cache_add(uint32_t domain,
type cache_handler (line 293) | struct cache_handler
type simple_cache (line 297) | struct simple_cache
type simple_cache (line 297) | struct simple_cache
type value_cache_handler_pair (line 300) | struct value_cache_handler_pair
function simple_cache_destroy (line 382) | void simple_cache_destroy()
function simple_cache_store (line 448) | void simple_cache_store(uint32_t domain,
function free_wrapper (line 502) | void free_wrapper(void **v)
function hash_A (line 512) | uint32_t hash_A(uint32_t x, uint32_t limit)
function hash_B (line 520) | uint32_t hash_B( uint32_t x, uint32_t limit)
type cc_hash (line 531) | struct cc_hash
type cc_hash (line 533) | struct cc_hash
type cc_hash (line 533) | struct cc_hash
type cc_hash (line 533) | struct cc_hash
function cc_hash_add (line 547) | int cc_hash_add(struct cc_hash *hash, uint32_t key, void *value)
type cc_hash (line 580) | struct cc_hash
type cc_hash (line 592) | struct cc_hash
function cc_hash_destroy (line 608) | void cc_hash_destroy(struct cc_hash **hash)
type cache_def (line 621) | struct cache_def
type lru_cache (line 634) | struct lru_cache
type lru_cache (line 634) | struct lru_cache
type lru_cache (line 635) | struct lru_cache
function lru_cache_seen (line 648) | uint32_t lru_cache_seen(void *_lruc)
function lru_cache_add (line 656) | void lru_cache_add(void *_lruc,
type lru_cache (line 712) | struct lru_cache
type lru_cache (line 712) | struct lru_cache
type linked_list_node (line 713) | struct linked_list_node
type linked_list_node (line 714) | struct linked_list_node
function lru_cache_remove (line 741) | void lru_cache_remove(void *_lruc, uint32_t key)
function lru_cache_destroy (line 772) | void lru_cache_destroy(void **_lruc)
FILE: src/cache.h
type cache_handler (line 11) | struct cache_handler
type cache_handler (line 20) | struct cache_handler
type cache_def (line 27) | struct cache_def {
type cache_def (line 46) | struct cache_def
type value_cache_handler_pair (line 52) | struct value_cache_handler_pair
type cache_def (line 59) | struct cache_def
type lru_ll_element (line 61) | struct lru_ll_element
type simple_cache (line 68) | struct simple_cache
type cache_handler (line 88) | struct cache_handler
type cache_handler (line 94) | struct cache_handler
type cc_hash (line 103) | struct cc_hash
type cc_hash (line 113) | struct cc_hash
type cc_hash (line 114) | struct cc_hash
type cc_hash (line 115) | struct cc_hash
type cc_hash (line 116) | struct cc_hash
type cc_hash (line 117) | struct cc_hash
type linked_list_node (line 119) | struct linked_list_node
type lru_cache (line 127) | struct lru_cache
type cache_def (line 144) | struct cache_def
FILE: src/data_reg.c
type data_reg (line 9) | struct data_reg
type data_reg (line 11) | struct data_reg
type data_reg (line 11) | struct data_reg
type data_reg (line 11) | struct data_reg
function data_reg_destroy (line 26) | void data_reg_destroy(struct data_reg **dr)
function data_reg_add (line 37) | uint32_t data_reg_add(struct data_reg *dr,
type data_reg (line 60) | struct data_reg
FILE: src/data_reg.h
type data_reg (line 6) | struct data_reg
type data_reg (line 12) | struct data_reg
type data_reg (line 14) | struct data_reg
type data_reg (line 16) | struct data_reg
type data_reg (line 19) | struct data_reg
FILE: src/disk_file_header.c
function set_compression_function_pointers (line 11) | void set_compression_function_pointers(struct disk_file_header *h) {
type disk_file_header (line 24) | struct disk_file_header
type disk_file_header (line 26) | struct disk_file_header
type disk_file_header (line 26) | struct disk_file_header
type disk_file_header (line 27) | struct disk_file_header
function write_disk_file_header (line 37) | void write_disk_file_header(char *file_marker, struct disk_file_header *...
type disk_file_header (line 51) | struct disk_file_header
type disk_file_header (line 63) | struct disk_file_header
type disk_file_header (line 63) | struct disk_file_header
type disk_file_header (line 64) | struct disk_file_header
FILE: src/disk_file_header.h
type uLong (line 10) | typedef unsigned long uLong;
type disk_file_header (line 12) | struct disk_file_header {
type disk_file_header (line 21) | struct disk_file_header
type disk_file_header (line 26) | struct disk_file_header
type disk_file_header (line 31) | struct disk_file_header
type disk_file_header (line 36) | struct disk_file_header
FILE: src/disk_store.c
type disk_store (line 19) | struct disk_store
type disk_store (line 25) | struct disk_store
type disk_store (line 26) | struct disk_store
type disk_store (line 26) | struct disk_store
type disk_store (line 98) | struct disk_store
type disk_store (line 104) | struct disk_store
type disk_store (line 105) | struct disk_store
type disk_store (line 105) | struct disk_store
type disk_file_header (line 119) | struct disk_file_header
type disk_file_header (line 166) | struct disk_file_header
function disk_store_sync (line 193) | void disk_store_sync(struct disk_store *ds)
function disk_store_destroy (line 217) | void disk_store_destroy(struct disk_store **ds)
function disk_store_append (line 245) | uint32_t disk_store_append(struct disk_store *ds, void *data, uint64_t s...
type disk_store (line 309) | struct disk_store
type timeval (line 322) | struct timeval
FILE: src/disk_store.h
type disk_store (line 43) | struct disk_store
type disk_store (line 62) | struct disk_store
type disk_store (line 71) | struct disk_store
type disk_store (line 78) | struct disk_store
type disk_store (line 83) | struct disk_store
type disk_store (line 92) | struct disk_store
type disk_store (line 97) | struct disk_store
FILE: src/fastlz.c
type flzuint8 (line 80) | typedef unsigned char flzuint8;
type flzuint16 (line 81) | typedef unsigned short flzuint16;
type flzuint32 (line 82) | typedef unsigned int flzuint32;
function fastlz_compress (line 130) | int fastlz_compress(const void* input, int length, void* output)
function fastlz_decompress (line 140) | int fastlz_decompress(const void* input, int length, void* output, int m...
function fastlz_compress_level (line 154) | int fastlz_compress_level(int level, const void* input, int length, void...
function FASTLZ_INLINE (line 166) | static FASTLZ_INLINE int FASTLZ_COMPRESSOR(const void* input, int length...
function FASTLZ_INLINE (line 420) | static FASTLZ_INLINE int FASTLZ_DECOMPRESSOR(const void* input, int leng...
FILE: src/fastlz_wrapper.h
type uLong (line 5) | typedef unsigned long uLong;
FILE: src/file_read.c
function scan_s (line 17) | int scan_s(char *str, int str_len, int *s, int *e, const char delim) {
type input_file (line 30) | struct input_file
type input_file (line 32) | struct input_file
type input_file (line 32) | struct input_file
type input_file (line 33) | struct input_file
function input_file_destroy (line 162) | void input_file_destroy(struct input_file **i)
function input_file_get_next_interval_bed (line 177) | int input_file_get_next_interval_bed(struct input_file *i,
function input_file_get_next_interval_vcf (line 231) | int input_file_get_next_interval_vcf(struct input_file *i,
function input_file_get_next_line_bgzf (line 288) | int input_file_get_next_line_bgzf(struct input_file *i,
function input_file_get_curr_line_bgzf (line 299) | void input_file_get_curr_line_bgzf(struct input_file *i,
function input_file_seek_bgzf (line 313) | void input_file_seek_bgzf(struct input_file *i, long offset)
function file_data_store (line 322) | void file_data_store(void *v, FILE *f, char *file_name)
type file_data (line 363) | struct file_data
type file_data (line 363) | struct file_data
type file_data (line 364) | struct file_data
function file_data_free (line 391) | void file_data_free(void **v)
FILE: src/file_read.h
type file_data (line 9) | struct file_data
type input_file (line 20) | struct input_file
type input_file (line 43) | struct input_file
type input_file (line 44) | struct input_file
type input_file (line 45) | struct input_file
type input_file (line 46) | struct input_file
type input_file (line 53) | struct input_file
type input_file (line 60) | struct input_file
type input_file (line 63) | struct input_file
FILE: src/giggle.c
function main (line 15) | int main(int argc, char **argv)
function giggle_help (line 46) | int giggle_help(int argc, char **argv, int exit_code)
FILE: src/giggle_index.c
type file_id_offset_pair (line 36) | struct file_id_offset_pair
type file_id_offset_pair (line 37) | struct file_id_offset_pair
type file_id_offset_pair (line 37) | struct file_id_offset_pair
function file_id_offset_pair_store (line 52) | void file_id_offset_pair_store(void *v, FILE *f, char *file_name) {
function c_str_store (line 81) | void c_str_store(void *v, FILE *f, char *file_name) {
function giggle_insert (line 94) | uint32_t giggle_insert(
type bpt_node (line 289) | struct bpt_node
type bpt_node (line 305) | struct bpt_node
type bpt_node (line 373) | struct bpt_node
type leaf_data (line 375) | struct leaf_data
type bpt_node (line 477) | struct bpt_node
type leaf_data (line 479) | struct leaf_data
type leaf_data_result (line 514) | struct leaf_data_result
type leaf_data_result (line 515) | struct leaf_data_result
type leaf_data_result (line 515) | struct leaf_data_result
type leaf_data_result (line 537) | struct leaf_data_result
function giggle_leaf_data_get_intersection_size (line 546) | uint32_t giggle_leaf_data_get_intersection_size(
type bpt_node (line 674) | struct bpt_node
type bpt_node (line 703) | struct bpt_node
type giggle_index (line 738) | struct giggle_index
type giggle_index (line 742) | struct giggle_index
type giggle_index (line 748) | struct giggle_index
type giggle_index (line 749) | struct giggle_index
type giggle_index (line 749) | struct giggle_index
function giggle_get_chrm_id (line 776) | uint32_t giggle_get_chrm_id(struct giggle_index *gi, char *chrm) {
function giggle_index_destroy (line 803) | void giggle_index_destroy(struct giggle_index **gi) {
function giggle_index_file (line 826) | uint32_t giggle_index_file(struct giggle_index *gi, char *file_name) {
type giggle_index (line 875) | struct giggle_index
function giggle_index_directory (line 890) | uint32_t giggle_index_directory(struct giggle_index *gi, char *path_name...
type giggle_index (line 919) | struct giggle_index
type giggle_index (line 930) | struct giggle_index
type stat (line 942) | struct stat
type giggle_index (line 975) | struct giggle_index
type simple_cache (line 980) | struct simple_cache
function giggle_store (line 1003) | uint32_t giggle_store(struct giggle_index *gi) {
type giggle_index (line 1032) | struct giggle_index
type giggle_index (line 1039) | struct giggle_index
type stat (line 1049) | struct stat
type giggle_index (line 1053) | struct giggle_index
type giggle_index (line 1054) | struct giggle_index
type giggle_index (line 1054) | struct giggle_index
type timeval (line 1062) | struct timeval
type timeval (line 1091) | struct timeval
type timeval (line 1104) | struct timeval
type timeval (line 1116) | struct timeval
type timeval (line 1157) | struct timeval
type simple_cache (line 1159) | struct simple_cache
type giggle_query_result (line 1176) | struct giggle_query_result
type giggle_index (line 1177) | struct giggle_index
type giggle_query_result (line 1181) | struct giggle_query_result
type giggle_query_result (line 1186) | struct giggle_query_result
type giggle_index (line 1187) | struct giggle_index
type query_filter (line 1191) | struct query_filter
type giggle_query_result (line 1192) | struct giggle_query_result
type str_uint_pair (line 1203) | struct str_uint_pair
type giggle_query_result (line 1224) | struct giggle_query_result
type giggle_query_result (line 1226) | struct giggle_query_result
type giggle_query_result (line 1226) | struct giggle_query_result
type long_uint_ll (line 1233) | struct long_uint_ll
type long_uint_ll (line 1234) | struct long_uint_ll
function apply_query_filter_to_results (line 1256) | void apply_query_filter_to_results(
function giggle_query_result_destroy (line 1315) | void giggle_query_result_destroy(struct giggle_query_result **gqr) {
function giggle_get_query_len (line 1329) | uint32_t giggle_get_query_len(struct giggle_query_result *gqr, uint32_t ...
type giggle_query_iter (line 1338) | struct giggle_query_iter
type giggle_query_result (line 1339) | struct giggle_query_result
type giggle_query_iter (line 1346) | struct giggle_query_iter
type giggle_query_iter (line 1347) | struct giggle_query_iter
type giggle_query_iter (line 1347) | struct giggle_query_iter
type long_uint_ll_node (line 1374) | struct long_uint_ll_node
type giggle_query_iter (line 1388) | struct giggle_query_iter
type giggle_query_result (line 1389) | struct giggle_query_result
type giggle_query_iter (line 1392) | struct giggle_query_iter
type giggle_query_iter (line 1393) | struct giggle_query_iter
type giggle_query_iter (line 1393) | struct giggle_query_iter
type long_uint_pair (line 1410) | struct long_uint_pair
type long_uint_pair (line 1411) | struct long_uint_pair
type long_uint_ll_node (line 1416) | struct long_uint_ll_node
type long_uint_pair (line 1428) | struct long_uint_pair
function giggle_query_next (line 1437) | int giggle_query_next(struct giggle_query_iter *gqi, char **result) {
function giggle_query_next_data (line 1491) | int giggle_query_next_data(struct giggle_query_iter *gqi, void **result) {
function giggle_iter_destroy (line 1507) | void giggle_iter_destroy(struct giggle_query_iter **gqi) {
function giggle_write_tree_cache_dump (line 1520) | void giggle_write_tree_cache_dump(void *giggle_index) {
function giggle_write_tree_leaf_data (line 1530) | void giggle_write_tree_leaf_data(void *giggle_index) {
type cache_handler (line 1807) | struct cache_handler
function giggle_get_leaf_data (line 1815) | uint32_t giggle_get_leaf_data(
function leaf_data_map_intersection_to_offset_list (line 1976) | void leaf_data_map_intersection_to_offset_list(
type chrm_index (line 2025) | struct chrm_index
type chrm_index (line 2026) | struct chrm_index
type chrm_index (line 2026) | struct chrm_index
type chrm_index (line 2026) | struct chrm_index
type str_uint_pair (line 2046) | struct str_uint_pair
type chrm_index (line 2046) | struct chrm_index
type str_uint_pair (line 2047) | struct str_uint_pair
function chrm_index_add (line 2052) | uint32_t chrm_index_add(struct chrm_index *ci, char *chrm) {
function chrm_index_destroy (line 2068) | void chrm_index_destroy(struct chrm_index **ci) {
type chrm_index (line 2078) | struct chrm_index
type chrm_index (line 2079) | struct chrm_index
type chrm_index (line 2079) | struct chrm_index
type chrm_index (line 2079) | struct chrm_index
function chrm_index_store (line 2101) | void chrm_index_store(struct chrm_index *ci) {
type file_index (line 2114) | struct file_index
type file_index (line 2115) | struct file_index
type file_index (line 2115) | struct file_index
type file_index (line 2115) | struct file_index
function file_index_destroy (line 2128) | void file_index_destroy(struct file_index **fi) {
function file_index_add (line 2140) | uint32_t file_index_add(struct file_index *fi, char *file_name) {
function file_index_store (line 2151) | void file_index_store(struct file_index *fi) {
type file_index (line 2162) | struct file_index
type file_index (line 2163) | struct file_index
type file_index (line 2163) | struct file_index
type file_index (line 2163) | struct file_index
type file_data (line 2177) | struct file_data
type file_index (line 2177) | struct file_index
type file_data (line 2178) | struct file_data
function giggle_bulk_insert (line 2183) | uint64_t giggle_bulk_insert(
function giggle_bulk_insert_with_metadata (line 2193) | uint64_t giggle_bulk_insert_with_metadata(
function giggle_bulk_insert_build_tree_on_leaves (line 2342) | void giggle_bulk_insert_build_tree_on_leaves(struct giggle_index *gi) {
function giggle_bulk_insert_build_leaf_levels (line 2421) | void giggle_bulk_insert_build_leaf_levels(
function giggle_bulk_insert_prime_pqs (line 2887) | void giggle_bulk_insert_prime_pqs(
function giggle_bulk_insert_open_files (line 2968) | uint32_t giggle_bulk_insert_open_files(
function giggle_bulk_insert_append_bpt_key (line 3023) | int giggle_bulk_insert_append_bpt_key(
function giggle_bulk_insert_write_leaf_node (line 3087) | void giggle_bulk_insert_write_leaf_node(
function giggle_bulk_insert_add_tree_level (line 3212) | uint32_t giggle_bulk_insert_add_tree_level(
function giggle_get_indexed_files (line 3305) | uint32_t giggle_get_indexed_files(
function block_store_giggle_set_data_handler (line 3336) | void block_store_giggle_set_data_handler() {
function giggle_merge_chrom (line 3372) | uint32_t giggle_merge_chrom(char *chrm_string,
function giggle_merge_add_file_index (line 3785) | uint32_t giggle_merge_add_file_index(struct giggle_index *gi,
function giggle_merge_chrm_union (line 3813) | uint32_t giggle_merge_chrm_union(struct giggle_index *gi_0,
function giggle_merge_leaf_key (line 3875) | void giggle_merge_leaf_key(struct bpt_node *node,
FILE: src/giggle_index.h
type chrm_index (line 30) | struct chrm_index
type chrm_index (line 36) | struct chrm_index
type chrm_index (line 37) | struct chrm_index
type str_uint_pair (line 38) | struct str_uint_pair
type chrm_index (line 38) | struct chrm_index
type chrm_index (line 39) | struct chrm_index
type chrm_index (line 40) | struct chrm_index
type chrm_index (line 41) | struct chrm_index
type file_index (line 43) | struct file_index
type file_index (line 49) | struct file_index
type file_index (line 50) | struct file_index
type file_index (line 51) | struct file_index
type file_index (line 52) | struct file_index
type file_index (line 53) | struct file_index
type file_data (line 54) | struct file_data
type file_index (line 54) | struct file_index
type giggle_index (line 65) | struct giggle_index
type giggle_query_result (line 78) | struct giggle_query_result
type giggle_query_result (line 86) | struct giggle_query_result
type giggle_index (line 86) | struct giggle_index
type giggle_query_result (line 90) | struct giggle_query_result
type giggle_query_result (line 92) | struct giggle_query_result
type giggle_index (line 92) | struct giggle_index
type query_filter (line 96) | struct query_filter
type giggle_query_result (line 97) | struct giggle_query_result
type giggle_index (line 99) | struct giggle_index
type query_filter (line 100) | struct query_filter
type giggle_query_result (line 103) | struct giggle_query_result
type giggle_query_iter (line 105) | struct giggle_query_iter
type giggle_query_result (line 114) | struct giggle_query_result
type giggle_query_iter (line 117) | struct giggle_query_iter
type giggle_query_result (line 117) | struct giggle_query_result
type giggle_query_iter (line 120) | struct giggle_query_iter
type giggle_query_result (line 121) | struct giggle_query_result
type giggle_query_iter (line 124) | struct giggle_query_iter
type giggle_query_iter (line 127) | struct giggle_query_iter
type giggle_query_iter (line 129) | struct giggle_query_iter
type giggle_query_iter (line 132) | struct giggle_query_iter
type giggle_def (line 157) | struct giggle_def
type giggle_def (line 193) | struct giggle_def
type giggle_index (line 196) | struct giggle_index
type giggle_index (line 199) | struct giggle_index
type giggle_index (line 204) | struct giggle_index
type giggle_index (line 205) | struct giggle_index
type giggle_index (line 206) | struct giggle_index
type giggle_index (line 223) | struct giggle_index
type giggle_index (line 249) | struct giggle_index
type giggle_index (line 252) | struct giggle_index
type giggle_index (line 281) | struct giggle_index
type giggle_index (line 285) | struct giggle_index
type giggle_index (line 290) | struct giggle_index
type giggle_index (line 305) | struct giggle_index
type giggle_index (line 308) | struct giggle_index
type cache_handler (line 312) | struct cache_handler
type giggle_index (line 314) | struct giggle_index
type leaf_data (line 317) | struct leaf_data
type cache_handler (line 319) | struct cache_handler
type giggle_index (line 333) | struct giggle_index
type giggle_query_result (line 334) | struct giggle_query_result
type bpt_node (line 356) | struct bpt_node
type leaf_data (line 357) | struct leaf_data
type indexed_list (line 360) | struct indexed_list
type indexed_list (line 361) | struct indexed_list
type file_id_offset_pairs (line 362) | struct file_id_offset_pairs
type file_id_offset_pairs (line 363) | struct file_id_offset_pairs
type giggle_index (line 372) | struct giggle_index
type indexed_list (line 373) | struct indexed_list
type giggle_index (line 375) | struct giggle_index
type indexed_list (line 376) | struct indexed_list
type disk_store (line 378) | struct disk_store
type file_id_offset_pairs (line 379) | struct file_id_offset_pairs
type giggle_index (line 381) | struct giggle_index
type giggle_index (line 382) | struct giggle_index
type giggle_index (line 385) | struct giggle_index
type indexed_list (line 386) | struct indexed_list
type unordered_list (line 387) | struct unordered_list
type bpt_node (line 390) | struct bpt_node
type disk_store (line 392) | struct disk_store
type uint64_t_array (line 394) | struct uint64_t_array
type uint64_t_array (line 395) | struct uint64_t_array
type uint64_t_array (line 396) | struct uint64_t_array
type uint32_t_array (line 397) | struct uint32_t_array
type uint32_t_array (line 398) | struct uint32_t_array
type bpt_node (line 400) | struct bpt_node
type disk_store (line 401) | struct disk_store
type uint64_t_array (line 402) | struct uint64_t_array
type uint64_t_array (line 403) | struct uint64_t_array
type uint64_t_array (line 404) | struct uint64_t_array
type uint32_t_array (line 405) | struct uint32_t_array
type uint32_t_array (line 406) | struct uint32_t_array
type disk_store (line 408) | struct disk_store
type input_file (line 415) | struct input_file
type file_index (line 416) | struct file_index
type giggle_index (line 418) | struct giggle_index
type pq_data (line 420) | struct pq_data
type input_file (line 422) | struct input_file
type giggle_index (line 424) | struct giggle_index
type pq_data (line 426) | struct pq_data
type input_file (line 428) | struct input_file
type giggle_index (line 430) | struct giggle_index
FILE: src/index.c
function index_help (line 20) | int index_help(int exit_code) {
function index_main (line 34) | int index_main(int argc, char **argv, char *full_cmd) {
FILE: src/index_search.c
function main (line 8) | int main(int argc, char **argv)
FILE: src/jsw_avltree.c
type jsw_avlnode_t (line 18) | typedef struct jsw_avlnode {
type jsw_avltree (line 24) | struct jsw_avltree {
type jsw_avltrav (line 32) | struct jsw_avltrav {
function jsw_avlnode_t (line 110) | jsw_avlnode_t *new_node ( jsw_avltree_t *tree, void *data )
function jsw_avltree_t (line 124) | jsw_avltree_t *jsw_avlnew ( cmp_f cmp, dup_f dup, rel_f rel )
function jsw_avldelete (line 140) | void jsw_avldelete ( jsw_avltree_t *tree )
function jsw_avlinsert (line 182) | int jsw_avlinsert ( jsw_avltree_t *tree, void *data )
function jsw_avlerase (line 244) | int jsw_avlerase ( jsw_avltree_t *tree, void *data )
function jsw_avlsize (line 333) | size_t jsw_avlsize ( jsw_avltree_t *tree )
function jsw_avltrav_t (line 338) | jsw_avltrav_t *jsw_avltnew ( void )
function jsw_avltdelete (line 343) | void jsw_avltdelete ( jsw_avltrav_t *trav )
function int_cmp_f (line 423) | int int_cmp_f ( const void *p1, const void *p2 )
function int_rel_f (line 443) | void int_rel_f( void *p )
function uint_cmp_f (line 448) | int uint_cmp_f ( const void *p1, const void *p2 )
function uint_rel_f (line 473) | void uint_rel_f( void *p )
function uint64_cmp_f (line 479) | int uint64_cmp_f ( const void *p1, const void *p2 )
function uint64_rel_f (line 504) | void uint64_rel_f( void *p )
FILE: src/jsw_avltree.h
type jsw_avltree_t (line 24) | typedef struct jsw_avltree jsw_avltree_t;
type jsw_avltrav_t (line 25) | typedef struct jsw_avltrav jsw_avltrav_t;
FILE: src/kfunc.c
function _lbinom (line 10) | long double _lbinom(long long n, long long k)
function _hypergeo (line 22) | long double _hypergeo(long long n11, long long n1_, long long n_1, long ...
function _hypergeo_acc (line 30) | long double _hypergeo_acc(long long n11, long long n1_, long long n_1, l...
function _kt_fisher_exact (line 56) | long double _kt_fisher_exact(long long n11,
FILE: src/kfunc.h
type _hgacc_t (line 18) | typedef struct {
FILE: src/leaf.c
function leaf_data_serialize (line 13) | uint64_t leaf_data_serialize(void *deserialized, void **serialized)
function leaf_data_deserialize (line 194) | uint64_t leaf_data_deserialize(void *serialized,
function leaf_data_free_mem (line 262) | void leaf_data_free_mem(void **deserialized)
function leaf_data_starts_start (line 274) | uint32_t leaf_data_starts_start(struct leaf_data *ld,
function leaf_data_starts_end (line 289) | uint32_t leaf_data_starts_end(struct leaf_data *ld,
function leaf_data_ends_start (line 304) | uint32_t leaf_data_ends_start(struct leaf_data *ld,
function leaf_data_ends_end (line 319) | uint32_t leaf_data_ends_end(struct leaf_data *ld,
function leaf_data_print (line 333) | void leaf_data_print(struct leaf_data *ld)
FILE: src/leaf.h
type leaf_data (line 13) | struct leaf_data {
type leaf_data_result (line 19) | struct leaf_data_result {
type leaf_data (line 31) | struct leaf_data
type bpt_node (line 32) | struct bpt_node
type leaf_data (line 35) | struct leaf_data
type bpt_node (line 36) | struct bpt_node
type leaf_data (line 39) | struct leaf_data
type bpt_node (line 40) | struct bpt_node
type leaf_data (line 43) | struct leaf_data
type bpt_node (line 44) | struct bpt_node
type leaf_data (line 47) | struct leaf_data
FILE: src/lists.c
type bit_map (line 16) | struct bit_map
type bit_map (line 18) | struct bit_map
type bit_map (line 18) | struct bit_map
type bit_map (line 18) | struct bit_map
type bit_map (line 31) | struct bit_map
type bit_map (line 33) | struct bit_map
type bit_map (line 33) | struct bit_map
type bit_map (line 33) | struct bit_map
function bit_map_store (line 51) | void bit_map_store(struct bit_map *b, FILE *f, char *file_name)
function bit_map_destroy (line 69) | void bit_map_destroy(struct bit_map **b)
function bit_map_set (line 76) | void bit_map_set(struct bit_map *b, uint64_t i)
function bit_map_get (line 97) | uint32_t bit_map_get(struct bit_map *b, uint64_t q)
type indexed_list (line 109) | struct indexed_list
type indexed_list (line 112) | struct indexed_list
type indexed_list (line 112) | struct indexed_list
type indexed_list (line 113) | struct indexed_list
function indexed_list_destroy (line 129) | void indexed_list_destroy(struct indexed_list **il)
function indexed_list_add (line 141) | uint32_t indexed_list_add(struct indexed_list *il,
type indexed_list (line 168) | struct indexed_list
function indexed_list_write (line 179) | void indexed_list_write(struct indexed_list *il, FILE *f, char *file_name)
type indexed_list (line 201) | struct indexed_list
type indexed_list (line 203) | struct indexed_list
type indexed_list (line 203) | struct indexed_list
type indexed_list (line 204) | struct indexed_list
type hash_list (line 234) | struct hash_list
type hash_list (line 234) | struct hash_list
type hash_list (line 235) | struct hash_list
type hash_list (line 298) | struct hash_list
type hash_list (line 314) | struct hash_list
function hash_list_destroy (line 334) | void hash_list_destroy(struct hash_list **hashl)
function hash_list_value_cache_handler_pair_destroy (line 357) | void hash_list_value_cache_handler_pair_destroy(struct hash_list **hashl)
type unordered_list (line 389) | struct unordered_list
type unordered_list (line 391) | struct unordered_list
type unordered_list (line 391) | struct unordered_list
type unordered_list (line 392) | struct unordered_list
function unordered_list_destroy (line 408) | void unordered_list_destroy(struct unordered_list **ul,
function unordered_list_add (line 427) | uint32_t unordered_list_add(struct unordered_list *ul,
type unordered_list (line 450) | struct unordered_list
function unordered_list_store (line 459) | void unordered_list_store(struct unordered_list *ul,
type unordered_list (line 477) | struct unordered_list
type unordered_list (line 483) | struct unordered_list
type unordered_list (line 483) | struct unordered_list
type unordered_list (line 484) | struct unordered_list
type ordered_set (line 509) | struct ordered_set
type ordered_set (line 516) | struct ordered_set
type ordered_set (line 516) | struct ordered_set
type ordered_set (line 517) | struct ordered_set
function ordered_set_destroy (line 536) | void ordered_set_destroy(struct ordered_set **os,
type ordered_set (line 553) | struct ordered_set
type ordered_set (line 593) | struct ordered_set
function ordered_set_store (line 613) | void ordered_set_store(struct ordered_set *os,
type ordered_set (line 633) | struct ordered_set
type ordered_set (line 643) | struct ordered_set
type ordered_set (line 643) | struct ordered_set
type ordered_set (line 644) | struct ordered_set
function str_uint_pair_sort_element_cmp (line 673) | int str_uint_pair_sort_element_cmp(const void *a, const void *b)
function str_uint_pair_search_element_cmp (line 682) | int str_uint_pair_search_element_cmp(const void *a, const void *b)
function str_uint_pair_search_key_cmp (line 691) | int str_uint_pair_search_key_cmp(const void *a, const void *b)
function str_uint_pair_store (line 700) | void str_uint_pair_store(void *v, FILE *f, char *file_name)
type str_uint_pair (line 723) | struct str_uint_pair
type str_uint_pair (line 723) | struct str_uint_pair
type str_uint_pair (line 724) | struct str_uint_pair
function str_uint_pair_free (line 748) | void str_uint_pair_free(void **_p)
function pointer_uint_pair_sort_element_cmp (line 763) | int pointer_uint_pair_sort_element_cmp(const void *a, const void *b)
function pointer_uint_pair_search_element_cmp (line 785) | int pointer_uint_pair_search_element_cmp(const void *a, const void *b)
function pointer_uint_pair_search_key_cmp (line 800) | int pointer_uint_pair_search_key_cmp(const void *a, const void *b)
function uint_offset_size_pair_sort_element_cmp (line 817) | int uint_offset_size_pair_sort_element_cmp(const void *a, const void *b)
function uint_offset_size_pair_search_element_cmp (line 827) | int uint_offset_size_pair_search_element_cmp(const void *a, const void *b)
function uint_offset_size_pair_search_key_cmp (line 837) | int uint_offset_size_pair_search_key_cmp(const void *a, const void *b)
function uint_pair_sort_by_first_element_cmp (line 849) | int uint_pair_sort_by_first_element_cmp(const void *a, const void *b)
function uint_pair_search_by_first_element_cmp (line 865) | int uint_pair_search_by_first_element_cmp(const void *a, const void *b)
function uint_pair_search_by_first_key_cmp (line 882) | int uint_pair_search_by_first_key_cmp(const void *a, const void *b)
function fifo_q_push (line 900) | void fifo_q_push(struct fifo_q **q, void *val)
type fifo_q (line 925) | struct fifo_q
type fifo_q_element (line 930) | struct fifo_q_element
type fifo_q (line 945) | struct fifo_q
type byte_array (line 957) | struct byte_array
type byte_array (line 959) | struct byte_array
type byte_array (line 959) | struct byte_array
type byte_array (line 960) | struct byte_array
function byte_array_destory (line 976) | void byte_array_destory(struct byte_array **ba)
function byte_array_append (line 985) | void byte_array_append(struct byte_array *ba, void *data, uint32_t size)
function byte_array_append_zeros (line 1002) | void byte_array_append_zeros(struct byte_array *ba, uint32_t size)
type uint32_t_array (line 1012) | struct uint32_t_array
type uint32_t_array (line 1014) | struct uint32_t_array
type uint32_t_array (line 1015) | struct uint32_t_array
type uint32_t_array (line 1015) | struct uint32_t_array
function uint32_t_array_destroy (line 1030) | void uint32_t_array_destroy(struct uint32_t_array **ua)
function uint32_t_array_add (line 1039) | uint32_t uint32_t_array_add(struct uint32_t_array *ua, uint32_t val)
function uint32_t_array_set (line 1059) | uint32_t uint32_t_array_set(struct uint32_t_array *ua,
type uint32_t_array (line 1080) | struct uint32_t_array
type uint64_t_array (line 1092) | struct uint64_t_array
type uint64_t_array (line 1094) | struct uint64_t_array
type uint64_t_array (line 1095) | struct uint64_t_array
type uint64_t_array (line 1095) | struct uint64_t_array
function uint64_t_array_destroy (line 1110) | void uint64_t_array_destroy(struct uint64_t_array **ua)
function uint64_t_array_add (line 1119) | uint64_t uint64_t_array_add(struct uint64_t_array *ua, uint64_t val)
type uint64_t_array (line 1139) | struct uint64_t_array
FILE: src/lists.h
type bit_map (line 9) | struct bit_map
type bit_map (line 16) | struct bit_map
type bit_map (line 17) | struct bit_map
type bit_map (line 18) | struct bit_map
type bit_map (line 19) | struct bit_map
type bit_map (line 20) | struct bit_map
type bit_map (line 21) | struct bit_map
type indexed_list (line 24) | struct indexed_list
type indexed_list (line 31) | struct indexed_list
type indexed_list (line 33) | struct indexed_list
type indexed_list (line 34) | struct indexed_list
type indexed_list (line 37) | struct indexed_list
type indexed_list (line 38) | struct indexed_list
type indexed_list (line 39) | struct indexed_list
type offset_size_pair (line 41) | struct offset_size_pair
type hash_list (line 48) | struct hash_list
type hash_list (line 53) | struct hash_list
type hash_list (line 54) | struct hash_list
type hash_list (line 58) | struct hash_list
type indexed_list (line 60) | struct indexed_list
type hash_list (line 61) | struct hash_list
type hash_list (line 63) | struct hash_list
type hash_list (line 64) | struct hash_list
type unordered_list (line 67) | struct unordered_list
type unordered_list (line 73) | struct unordered_list
type unordered_list (line 74) | struct unordered_list
type unordered_list (line 76) | struct unordered_list
type unordered_list (line 78) | struct unordered_list
type unordered_list (line 79) | struct unordered_list
type unordered_list (line 83) | struct unordered_list
type ordered_set (line 91) | struct ordered_set
type ordered_set (line 100) | struct ordered_set
type ordered_set (line 107) | struct ordered_set
type ordered_set (line 116) | struct ordered_set
type ordered_set (line 118) | struct ordered_set
type ordered_set (line 120) | struct ordered_set
type ordered_set (line 122) | struct ordered_set
type str_uint_pair (line 128) | struct str_uint_pair
type pointer_uint_pair (line 141) | struct pointer_uint_pair
type uint_offset_size_pair (line 150) | struct uint_offset_size_pair
type uint_pair (line 159) | struct uint_pair
type fifo_q_element (line 169) | struct fifo_q_element
type fifo_q (line 175) | struct fifo_q
type fifo_q (line 180) | struct fifo_q
type fifo_q (line 181) | struct fifo_q
type fifo_q (line 182) | struct fifo_q
type byte_array (line 185) | struct byte_array
type byte_array (line 191) | struct byte_array
type byte_array (line 192) | struct byte_array
type byte_array (line 193) | struct byte_array
type byte_array (line 194) | struct byte_array
type uint32_t_array (line 198) | struct uint32_t_array
type uint32_t_array (line 203) | struct uint32_t_array
type uint32_t_array (line 204) | struct uint32_t_array
type uint32_t_array (line 205) | struct uint32_t_array
type uint32_t_array (line 206) | struct uint32_t_array
type uint32_t_array (line 209) | struct uint32_t_array
type uint64_t_array (line 212) | struct uint64_t_array
type uint64_t_array (line 217) | struct uint64_t_array
type uint64_t_array (line 218) | struct uint64_t_array
type uint64_t_array (line 219) | struct uint64_t_array
type uint64_t_array (line 220) | struct uint64_t_array
FILE: src/ll.c
function uint64_t_ll_map_intersection_to_offset_list (line 11) | void uint64_t_ll_map_intersection_to_offset_list(struct giggle_index *gi,
type cache_handler (line 49) | struct cache_handler
function uint64_t_ll_non_leading_serialize (line 56) | uint64_t uint64_t_ll_non_leading_serialize(void *deserialized,
function uint64_t_ll_non_leading_deserialize (line 127) | uint64_t uint64_t_ll_non_leading_deserialize(void *serialized,
function uint64_t_ll_non_leading_free (line 172) | void uint64_t_ll_non_leading_free(void **deserialized)
type cache_handler (line 185) | struct cache_handler
function uint64_t_ll_leading_serialize (line 192) | uint64_t uint64_t_ll_leading_serialize(void *deserialized,
function uint64_t_ll_leading_deserialize (line 242) | uint64_t uint64_t_ll_leading_deserialize(void *serialized,
function uint64_t_ll_leading_free (line 277) | void uint64_t_ll_leading_free(void **deserialized)
function uint64_t_ll_giggle_set_data_handler (line 290) | void uint64_t_ll_giggle_set_data_handler()
type uint64_t_ll_bpt_non_leading_data (line 331) | struct uint64_t_ll_bpt_non_leading_data
type uint64_t_ll_bpt_non_leading_data (line 332) | struct uint64_t_ll_bpt_non_leading_data
type uint64_t_ll_bpt_non_leading_data (line 333) | struct uint64_t_ll_bpt_non_leading_data
type uint64_t_ll_bpt_leading_data (line 347) | struct uint64_t_ll_bpt_leading_data
type uint64_t_ll_bpt_leading_data (line 348) | struct uint64_t_ll_bpt_leading_data
type uint64_t_ll_bpt_leading_data (line 349) | struct uint64_t_ll_bpt_leading_data
function uint64_t_ll_non_leading_SA_add_scalar (line 360) | void uint64_t_ll_non_leading_SA_add_scalar(uint32_t domain,
function uint64_t_ll_non_leading_SE_add_scalar (line 380) | void uint64_t_ll_non_leading_SE_add_scalar(uint32_t domain,
function uint64_t_ll_leading_B_add_scalar (line 400) | void uint64_t_ll_leading_B_add_scalar(uint32_t domain,
function uint64_t_ll_leading_union_with_B (line 420) | void uint64_t_ll_leading_union_with_B(uint32_t domain,
function uint64_t_ll_non_leading_union_with_SA (line 441) | void uint64_t_ll_non_leading_union_with_SA(uint32_t domain, void **R, vo...
function uint64_t_ll_non_leading_union_with_SA_subtract_SE (line 464) | void uint64_t_ll_non_leading_union_with_SA_subtract_SE(uint32_t domain,
function uint64_t_ll_append (line 502) | void uint64_t_ll_append(struct uint64_t_ll **ll, uint64_t val)
function uint64_t_ll_uniq_append (line 528) | void uint64_t_ll_uniq_append(struct uint64_t_ll **ll, uint64_t val)
function uint64_t_ll_remove (line 569) | void uint64_t_ll_remove(struct uint64_t_ll **ll, uint64_t val)
function uint64_t_ll_contains (line 609) | uint64_t uint64_t_ll_contains(struct uint64_t_ll *ll, uint64_t val)
function uint64_t_ll_free (line 629) | void uint64_t_ll_free(void **_ll)
function uint64_t_ll_leading_repair (line 649) | void uint64_t_ll_leading_repair(uint32_t domain,
function long_ll_append (line 730) | void long_ll_append(struct long_ll **ll, long val)
function long_ll_uniq_append (line 756) | void long_ll_uniq_append(struct long_ll **ll, long val)
function long_ll_remove (line 795) | void long_ll_remove(struct long_ll **ll, long val)
function long_ll_contains (line 835) | uint64_t long_ll_contains(struct long_ll *ll, long val)
function long_ll_free (line 855) | void long_ll_free(void **_ll)
function long_uint_ll_append (line 875) | void long_uint_ll_append(struct long_uint_ll **ll, long long_val, uint64...
function long_uint_ll_free (line 913) | void long_uint_ll_free(void **_ll)
FILE: src/ll.h
type uint64_t_ll_bpt_non_leading_data (line 6) | struct uint64_t_ll_bpt_non_leading_data
type uint64_t_ll_bpt_leading_data (line 11) | struct uint64_t_ll_bpt_leading_data
type uint64_t_ll_node (line 16) | struct uint64_t_ll_node
type uint64_t_ll (line 22) | struct uint64_t_ll
type uint64_t_ll (line 29) | struct uint64_t_ll
type uint64_t_ll (line 30) | struct uint64_t_ll
type uint64_t_ll (line 31) | struct uint64_t_ll
type uint64_t_ll (line 32) | struct uint64_t_ll
type long_ll_node (line 35) | struct long_ll_node
type long_ll (line 41) | struct long_ll
type long_ll (line 47) | struct long_ll
type long_ll (line 48) | struct long_ll
type long_ll (line 49) | struct long_ll
type long_ll (line 50) | struct long_ll
type long_uint_ll_node (line 53) | struct long_uint_ll_node
type long_uint_ll (line 60) | struct long_uint_ll
type long_uint_ll (line 66) | struct long_uint_ll
type long_uint_ll (line 67) | struct long_uint_ll
type long_uint_ll (line 68) | struct long_uint_ll
type long_uint_ll (line 69) | struct long_uint_ll
type bpt_node (line 76) | struct bpt_node
type bpt_node (line 77) | struct bpt_node
type giggle_def (line 99) | struct giggle_def
type cache_handler (line 108) | struct cache_handler
type cache_handler (line 117) | struct cache_handler
type cache_handler (line 121) | struct cache_handler
type cache_handler (line 123) | struct cache_handler
type giggle_index (line 130) | struct giggle_index
type giggle_query_result (line 131) | struct giggle_query_result
FILE: src/metadata/metadata_test.c
function check_file_read (line 5) | void check_file_read(char *file_name, FILE *fp, size_t exp, size_t obs)
function metadata_index_add_all_intervals_from_file (line 16) | void metadata_index_add_all_intervals_from_file(struct metadata_index *m...
function main (line 40) | int main(void) {
FILE: src/metadata_index.c
function data_type_string_to_enum (line 11) | enum data_type data_type_string_to_enum(char type_string[8]) {
function data_type_enum_to_char (line 30) | char data_type_enum_to_char(enum data_type type) {
function data_type_char_to_enum (line 63) | enum data_type data_type_char_to_enum(char type_char) {
function get_width_of_data_type (line 96) | uint8_t get_width_of_data_type(enum data_type type) {
function fwrite_data_type_item (line 142) | void fwrite_data_type_item(FILE *metadata_index_fp, struct metadata_type...
function fread_data_type_item (line 218) | void fread_data_type_item(char *metadata_index_filename, FILE *metadata_...
type metadata_index (line 277) | struct metadata_index
type metadata_index (line 278) | struct metadata_index
type metadata_index (line 278) | struct metadata_index
type metadata_index (line 278) | struct metadata_index
function read_metadata_conf (line 298) | void read_metadata_conf(struct metadata_index *metadata_index, char *met...
function write_metadata_index_header (line 396) | void write_metadata_index_header(struct metadata_index *metadata_index) {
function read_metadata_index_header (line 446) | void read_metadata_index_header(struct metadata_index *metadata_index) {
type metadata_index (line 523) | struct metadata_index
type metadata_index (line 531) | struct metadata_index
function metadata_index_add (line 551) | uint64_t metadata_index_add(struct metadata_index *metadata_index, uint3...
function metadata_index_store (line 571) | void metadata_index_store(struct metadata_index *metadata_index) {
type metadata_index (line 585) | struct metadata_index
type metadata_index (line 589) | struct metadata_index
type metadata_rows (line 604) | struct metadata_rows
type metadata_index (line 604) | struct metadata_index
type metadata_rows (line 612) | struct metadata_rows
type metadata_rows (line 612) | struct metadata_rows
type metadata_rows (line 612) | struct metadata_rows
type metadata_row (line 621) | struct metadata_row
type metadata_row (line 621) | struct metadata_row
type metadata_row (line 627) | struct metadata_row
type metadata_row (line 627) | struct metadata_row
type metadata_row (line 627) | struct metadata_row
type metadata_item (line 634) | struct metadata_item
type metadata_item (line 634) | struct metadata_item
type metadata_item (line 640) | struct metadata_item
type metadata_item (line 640) | struct metadata_item
type metadata_item (line 640) | struct metadata_item
type metadata_row (line 657) | struct metadata_row
type metadata_index (line 657) | struct metadata_index
type metadata_row (line 670) | struct metadata_row
type metadata_row (line 670) | struct metadata_row
type metadata_row (line 670) | struct metadata_row
type metadata_item (line 677) | struct metadata_item
type metadata_item (line 677) | struct metadata_item
type metadata_item (line 683) | struct metadata_item
type metadata_item (line 683) | struct metadata_item
type metadata_item (line 683) | struct metadata_item
type metadata_item (line 697) | struct metadata_item
type metadata_index (line 697) | struct metadata_index
type metadata_item (line 709) | struct metadata_item
type metadata_item (line 709) | struct metadata_item
type metadata_item (line 709) | struct metadata_item
type metadata_item (line 720) | struct metadata_item
type metadata_index (line 720) | struct metadata_index
function metadata_item_destroy (line 730) | void metadata_item_destroy(struct metadata_item *metadata_item) {
function metadata_row_destroy (line 737) | void metadata_row_destroy(struct metadata_row *metadata_row) {
function metadata_rows_destroy (line 747) | void metadata_rows_destroy(struct metadata_rows *metadata_rows) {
function metadata_index_destroy (line 756) | void metadata_index_destroy(struct metadata_index **metadata_index_ptr) {
function print_metadata_data (line 778) | void print_metadata_data(struct metadata_type *type, union metadata_data...
function print_metadata_item (line 810) | void print_metadata_item(struct metadata_item *metadata_item) {
function print_metadata_row (line 814) | void print_metadata_row(struct metadata_row *metadata_row) {
function print_metadata_rows (line 824) | void print_metadata_rows(struct metadata_rows *metadata_rows) {
function print_metadata_index (line 834) | void print_metadata_index(struct metadata_index *metadata_index) {
FILE: src/metadata_index.h
type data_type (line 38) | enum data_type {
type metadata_type (line 49) | struct metadata_type {
type metadata_item (line 67) | struct metadata_item {
type metadata_row (line 72) | struct metadata_row {
type metadata_rows (line 77) | struct metadata_rows {
type metadata_index (line 82) | struct metadata_index {
type data_type (line 101) | enum data_type
type data_type (line 102) | enum data_type
type data_type (line 103) | enum data_type
type data_type (line 104) | enum data_type
type metadata_type (line 108) | struct metadata_type
type metadata_item (line 109) | struct metadata_item
type metadata_index (line 111) | struct metadata_index
type metadata_index (line 112) | struct metadata_index
type metadata_index (line 113) | struct metadata_index
type metadata_index (line 114) | struct metadata_index
type metadata_index (line 116) | struct metadata_index
type metadata_type (line 117) | struct metadata_type
type metadata_item (line 118) | struct metadata_item
type metadata_row (line 119) | struct metadata_row
type metadata_rows (line 120) | struct metadata_rows
type metadata_index (line 124) | struct metadata_index
type metadata_index (line 125) | struct metadata_index
type metadata_index (line 126) | struct metadata_index
type metadata_index (line 127) | struct metadata_index
type metadata_index (line 128) | struct metadata_index
type metadata_rows (line 130) | struct metadata_rows
type metadata_index (line 130) | struct metadata_index
type metadata_rows (line 131) | struct metadata_rows
type metadata_row (line 133) | struct metadata_row
type metadata_index (line 133) | struct metadata_index
type metadata_row (line 134) | struct metadata_row
type metadata_item (line 136) | struct metadata_item
type metadata_index (line 136) | struct metadata_index
type metadata_item (line 137) | struct metadata_item
type metadata_index (line 137) | struct metadata_index
type metadata_item (line 138) | struct metadata_item
FILE: src/offset_idx_lookup.c
function main (line 12) | int main(int argc, char **argv)
FILE: src/offset_index.c
type offset_index (line 23) | struct offset_index
type offset_index (line 25) | struct offset_index
type offset_index (line 26) | struct offset_index
type offset_index (line 26) | struct offset_index
type file_id_offset_pair (line 30) | struct file_id_offset_pair
type file_id_offset_pairs (line 31) | struct file_id_offset_pairs
type file_id_offset_pairs (line 32) | struct file_id_offset_pairs
type file_id_offset_pair (line 62) | struct file_id_offset_pair
function offset_index_destroy (line 80) | void offset_index_destroy(struct offset_index **oi)
function offset_index_add (line 105) | uint64_t offset_index_add(struct offset_index *oi,
function offset_index_store (line 161) | void offset_index_store(struct offset_index *oi)
type offset_index (line 201) | struct offset_index
type offset_index (line 203) | struct offset_index
type offset_index (line 203) | struct offset_index
type offset_index (line 204) | struct offset_index
type file_id_offset_pairs (line 214) | struct file_id_offset_pairs
type file_id_offset_pairs (line 215) | struct file_id_offset_pairs
type file_id_offset_pair (line 230) | struct file_id_offset_pair
function offset_index_get (line 248) | struct file_id_offset_pair offset_index_get(struct offset_index *oi,
FILE: src/offset_index.h
type file_id_offset_pair (line 13) | struct file_id_offset_pair
type file_id_offset_pairs (line 21) | struct file_id_offset_pairs
type offset_index (line 27) | struct offset_index
type offset_index (line 36) | struct offset_index
type offset_index (line 37) | struct offset_index
type offset_index (line 38) | struct offset_index
type offset_index (line 39) | struct offset_index
type offset_index (line 43) | struct offset_index
type file_id_offset_pair (line 44) | struct file_id_offset_pair
type offset_index (line 44) | struct offset_index
FILE: src/pq.c
function pri_queue (line 6) | pri_queue priq_new(int size)
function priq_push (line 22) | void priq_push(pri_queue q, void *data, priority pri)
function priq_combine (line 93) | void priq_combine(pri_queue q, pri_queue q2)
function priq_free (line 103) | void priq_free(pri_queue q)
function pricmp (line 109) | int pricmp(priority a, priority b)
FILE: src/pq.h
type pq_data (line 9) | struct pq_data
type priority (line 15) | typedef struct
type q_elem_t (line 21) | typedef struct
type pri_queue_t (line 27) | typedef struct
FILE: src/query_filter.c
function parse_query_filter_data_string (line 8) | union metadata_data parse_query_filter_data_string(struct metadata_type ...
function comparison_string_to_enum (line 53) | enum comparison comparison_string_to_enum(char *query_filter_string, int...
type query_filter (line 107) | struct query_filter
type metadata_index (line 107) | struct metadata_index
type query_filter (line 108) | struct query_filter
type query_filter (line 108) | struct query_filter
type query_filter (line 108) | struct query_filter
function perform_metadata_comparison (line 141) | int perform_metadata_comparison(struct metadata_type *metadata_type, enu...
function filter_metadata_row_by_item (line 221) | int filter_metadata_row_by_item(struct metadata_item *metadata_item, str...
function filter_metadata_row_by_row (line 236) | int filter_metadata_row_by_row(struct metadata_row *metadata_row, struct...
function query_filter_destroy (line 242) | void query_filter_destroy(struct query_filter **query_filter_ptr) {
function print_comparison (line 251) | void print_comparison(enum comparison comparison) {
function print_query_filter (line 276) | void print_query_filter(struct query_filter *query_filter) {
FILE: src/query_filter.h
type comparison (line 7) | enum comparison {
type query_filter (line 16) | struct query_filter {
type metadata_type (line 23) | struct metadata_type
type comparison (line 24) | enum comparison
type metadata_type (line 26) | struct metadata_type
type comparison (line 26) | enum comparison
type comparison (line 28) | enum comparison
type query_filter (line 29) | struct query_filter
type query_filter (line 33) | struct query_filter
type metadata_index (line 33) | struct metadata_index
type metadata_item (line 34) | struct metadata_item
type query_filter (line 34) | struct query_filter
type metadata_row (line 35) | struct metadata_row
type query_filter (line 35) | struct query_filter
type query_filter (line 36) | struct query_filter
FILE: src/search.c
type giggle_query_result (line 24) | struct giggle_query_result
type giggle_index (line 25) | struct giggle_index
function search_help (line 39) | int search_help(int exit_code)
function print_giggle_query_result (line 63) | int print_giggle_query_result(struct giggle_query_result *gqr,
function search_main (line 211) | int search_main(int argc, char **argv, char *full_cmd)
FILE: src/search_file.c
function main (line 16) | int main(int argc, char **argv)
FILE: src/server_enrichment.c
type region (line 33) | struct region
type query_file (line 39) | struct query_file
type request (line 44) | struct request
type args (line 60) | struct args {
type connection_info_struct (line 68) | struct connection_info_struct
function parse_file_patterns (line 106) | uint32_t parse_file_patterns(char *file_patterns_to_be_printed,
type query_file (line 162) | struct query_file
type query_file (line 165) | struct query_file
type query_file (line 165) | struct query_file
type query_file (line 166) | struct query_file
type region (line 176) | struct region
type region (line 178) | struct region
type region (line 178) | struct region
type region (line 178) | struct region
function scan_url_vals (line 188) | int scan_url_vals(void *cls,
function send_page (line 253) | static int send_page (struct MHD_Connection *connection,
function iterate_post (line 282) | static int iterate_post(void *coninfo_cls,
function request_completed (line 335) | static void request_completed (void *cls,
function answer_to_connection (line 363) | static int answer_to_connection (void *cls,
function server_help (line 829) | int server_help(int exit_code)
function main (line 841) | int main(int argc, char **argv)
FILE: src/server_overlap.c
type region (line 16) | struct region
type request (line 24) | struct request
type args (line 36) | struct args {
type region (line 42) | struct region
type region (line 44) | struct region
type region (line 44) | struct region
type region (line 44) | struct region
function parse_file_patterns (line 54) | uint32_t parse_file_patterns(char *file_patterns_to_be_printed,
function scan_url_vals (line 107) | int scan_url_vals(void *cls,
function answer_to_connection (line 155) | int answer_to_connection(void *cls,
function main (line 321) | int main(int argc, char **argv)
FILE: src/sig_test.c
function main (line 19) | int main(int argc, char **argv)
FILE: src/speed_tests.c
function main (line 9) | int main(int argc, char **argv)
FILE: src/test.c
function main (line 11) | int main(int argc, char **argv)
FILE: src/timer.c
type timeval (line 17) | struct timeval
function start (line 19) | void start()
function stop (line 24) | void stop()
function report (line 29) | unsigned long report()
function in (line 35) | struct timeval in()
function out (line 42) | unsigned long out(struct timeval i)
FILE: src/timer.h
type timeval (line 23) | struct timeval
type timeval (line 25) | struct timeval
FILE: src/util.c
function safe_subtract (line 23) | int safe_subtract(uint32_t a, uint32_t b) {
function long_uint_pair_cmp (line 29) | int long_uint_pair_cmp(const void *_a, const void *_b) {
function doubles_uint32_t_tuple_cmp (line 36) | int doubles_uint32_t_tuple_cmp(const void *_a, const void *_b) {
function check_file_read (line 54) | void check_file_read(char *file_name, FILE *fp, size_t exp, size_t obs) {
function unlink_cb (line 62) | int unlink_cb(
function rmrf (line 74) | int rmrf(char *path) { return nftw(path, unlink_cb, 64, FTW_DEPTH | FTW_...
function uint32_t_cmp (line 76) | int uint32_t_cmp(const void *_a, const void *_b) {
function uint64_t_cmp (line 88) | int uint64_t_cmp(const void *_a, const void *_b) {
function char_p_cmp (line 100) | int char_p_cmp(const void *_a, const void *_b) {
function bin_char_to_int (line 104) | uint32_t bin_char_to_int(char *bin) {
function long_cmp (line 118) | int long_cmp(const void *_a, const void *_b) {
function parse_region (line 131) | int parse_region(char *region_s, char **chrm, uint32_t *start, uint32_t ...
function test_pattern_match (line 157) | int test_pattern_match(
function log2fc (line 194) | double log2fc(double ratio) {
function neglog10p (line 208) | long double neglog10p(long double sig) {
function safe_dirname (line 218) | void safe_dirname(const char *path, char *result) {
function safe_basename (line 237) | void safe_basename(const char *path, char *result) {
function abs_path_of_glob (line 260) | void abs_path_of_glob(const char *glob_pattern, char *result) {
FILE: src/util.h
type doubles_uint32_t_tuple (line 17) | struct doubles_uint32_t_tuple {
type long_uint_pair (line 23) | struct long_uint_pair {
type FTW (line 29) | struct FTW
type stat (line 33) | struct stat
type FTW (line 35) | struct FTW
type giggle_index (line 45) | struct giggle_index
FILE: src/wah.c
function set_wah_i (line 23) | void set_wah_i(uint8_t *W, void *v, uint32_t word_size, uint32_t i)
function get_wah_i (line 30) | void get_wah_i(uint8_t *W, void *v, uint32_t word_size, uint32_t i)
function wah_or (line 100) | uint32_t wah_or(uint8_t *X, uint8_t *Y, uint8_t **R, uint32_t *R_size)
function wah_nand (line 213) | uint32_t wah_nand(uint8_t *X, uint8_t *Y, uint8_t **R, uint32_t *R_size)
function wah_get_ints (line 323) | uint32_t wah_get_ints(uint8_t *X, uint32_t **R)
function wah_get_ints_count (line 374) | uint32_t wah_get_ints_count(uint8_t *X)
function wah_uniq_append (line 399) | void wah_uniq_append(uint8_t **w, uint32_t id)
function wah_leading_repair (line 418) | void wah_leading_repair(uint32_t domain,
function wah_giggle_set_data_handler (line 518) | void wah_giggle_set_data_handler()
type wah_bpt_non_leading_data (line 556) | struct wah_bpt_non_leading_data
type wah_bpt_non_leading_data (line 557) | struct wah_bpt_non_leading_data
type wah_bpt_non_leading_data (line 558) | struct wah_bpt_non_leading_data
type wah_bpt_leading_data (line 569) | struct wah_bpt_leading_data
type wah_bpt_leading_data (line 570) | struct wah_bpt_leading_data
type wah_bpt_leading_data (line 571) | struct wah_bpt_leading_data
function wah_non_leading_SA_add_scalar (line 579) | void wah_non_leading_SA_add_scalar(uint32_t domain,
function wah_non_leading_SE_add_scalar (line 600) | void wah_non_leading_SE_add_scalar(uint32_t domain,
function wah_leading_B_add_scalar (line 621) | void wah_leading_B_add_scalar(uint32_t domain,
function wah_leading_union_with_B (line 642) | void wah_leading_union_with_B(uint32_t domain,
function wah_non_leading_union_with_SA (line 666) | void wah_non_leading_union_with_SA(uint32_t domain, void **R, void *d)
function wah_non_leading_union_with_SA_subtract_SE (line 689) | void wah_non_leading_union_with_SA_subtract_SE(uint32_t domain,
type cache_handler (line 729) | struct cache_handler
function wah_non_leading_serialize (line 736) | uint64_t wah_non_leading_serialize(void *deserialized,
function wah_non_leading_deserialize (line 793) | uint64_t wah_non_leading_deserialize(void *serialized,
function wah_non_leading_free (line 840) | void wah_non_leading_free(void **deserialized)
type cache_handler (line 855) | struct cache_handler
function wah_leading_serialize (line 863) | uint64_t wah_leading_serialize(void *deserialized,
function wah_leading_deserialize (line 908) | uint64_t wah_leading_deserialize(void *serialized,
function wah_leading_free (line 947) | void wah_leading_free(void **deserialized)
FILE: src/wah.h
type wah_bpt_non_leading_data (line 31) | struct wah_bpt_non_leading_data
type wah_bpt_leading_data (line 36) | struct wah_bpt_leading_data
type bpt_node (line 43) | struct bpt_node
type bpt_node (line 44) | struct bpt_node
type giggle_def (line 66) | struct giggle_def
type cache_handler (line 75) | struct cache_handler
type cache_handler (line 84) | struct cache_handler
FILE: test/unit/test_bpt.c
function setUp (line 18) | void setUp(void)
function tearDown (line 22) | void tearDown(void)
function uint32_t_cmp (line 27) | static int uint32_t_cmp(const void *a, const void *b)
function test_b_search (line 42) | void test_b_search(void)
function test_bpt_node_macros (line 73) | void test_bpt_node_macros(void)
function test_bpt_new_node (line 158) | void test_bpt_new_node(void)
function test_bpt_find_leaf (line 189) | void test_bpt_find_leaf(void)
function test_bpt_split_node_non_root_parent_has_room (line 260) | void test_bpt_split_node_non_root_parent_has_room(void)
function test_bpt_split_node_root (line 389) | void test_bpt_split_node_root(void)
function test_bpt_insert (line 497) | void test_bpt_insert(void)
function test_bpt_insert_new_value (line 922) | void test_bpt_insert_new_value(void)
function test_bpt_rand_order_insert_new_value (line 1191) | void test_bpt_rand_order_insert_new_value(void)
function test_bpt_insert_id_updated_bpt_node (line 1417) | void test_bpt_insert_id_updated_bpt_node(void)
function test_find (line 1487) | void test_find(void)
function decrement_repair (line 1576) | void decrement_repair(uint32_t domain, struct bpt_node *a, struct bpt_no...
function test_split_repair (line 1587) | void test_split_repair(void)
function test_rand_test (line 1718) | void test_rand_test(void)
function test_bpt_insert_repeat (line 1764) | void test_bpt_insert_repeat(void)
function append_sum (line 1885) | void append_sum(uint32_t domain,
function test_bpt_insert_repeat_append (line 1896) | void test_bpt_insert_repeat_append(void)
function test_rand_test_high_order (line 2020) | void test_rand_test_high_order(void)
function test_bpt_write_tree (line 2067) | void test_bpt_write_tree(void)
FILE: test/unit/test_bulk_insert.c
function setUp (line 32) | void setUp(void) { }
function tearDown (line 33) | void tearDown(void) { }
function test_giggle_bulk_insert_open_files (line 766) | void test_giggle_bulk_insert_open_files(void)
function test_giggle_bulk_insert_prime_pq (line 800) | void test_giggle_bulk_insert_prime_pq(void)
function test_giggle_bulk_insert_build_leaf_levels (line 888) | void test_giggle_bulk_insert_build_leaf_levels(void)
function test_giggle_bulk_insert_build_tree_on_leaves (line 984) | void test_giggle_bulk_insert_build_tree_on_leaves(void)
function test_giggle_bulk_insert_build_leaf_levels_few (line 1082) | void test_giggle_bulk_insert_build_leaf_levels_few(void)
function test_giggle_bulk_insert_build_tree_on_leaves_few (line 1292) | void test_giggle_bulk_insert_build_tree_on_leaves_few(void)
function test_giggle_bulk_insert_few (line 1416) | void test_giggle_bulk_insert_few(void)
function test_giggle_bulk_insert_build_tree_on_leaves_few_order_4 (line 1470) | void test_giggle_bulk_insert_build_tree_on_leaves_few_order_4(void)
function test_giggle_bulk_insert_build_tree_on_leaves_few_order_3 (line 1630) | void test_giggle_bulk_insert_build_tree_on_leaves_few_order_3(void)
function test_giggle_bulk_insert_build_tree_on_leaves_few_order_2 (line 1750) | void test_giggle_bulk_insert_build_tree_on_leaves_few_order_2(void)
function test_giggle_bulk_insert_fews (line 1931) | void test_giggle_bulk_insert_fews(void)
function test_giggle_bulk_insert (line 1964) | void test_giggle_bulk_insert(void)
FILE: test/unit/test_cache.c
function setUp (line 13) | void setUp(void) { }
function tearDown (line 14) | void tearDown(void) { }
type tripple (line 17) | struct tripple {
function tripple_serialize (line 23) | uint64_t tripple_serialize(void *deserialized, void **serialized)
function tripple_deserialize (line 39) | uint64_t tripple_deserialize(void *serialized,
function tripple_free_mem (line 56) | void tripple_free_mem(void **deserialized)
type cache_handler (line 63) | struct cache_handler
function test_simple_cache (line 69) | void test_simple_cache(void)
FILE: test/unit/test_disk_store.c
function setUp (line 11) | void setUp(void) { }
function tearDown (line 12) | void tearDown(void) { }
function test_disk_store (line 14) | void test_disk_store(void)
FILE: test/unit/test_file_read.c
function setUp (line 17) | void setUp(void) { }
function tearDown (line 18) | void tearDown(void) { }
function test_init_file (line 21) | void test_init_file(void)
function test_bed_file_read (line 37) | void test_bed_file_read(void)
function test_get_file_stats (line 121) | void test_get_file_stats(void)
function test_input_file_get_next_interval_vcf (line 193) | void test_input_file_get_next_interval_vcf(void)
FILE: test/unit/test_genetic_offset_index.c
function setUp (line 31) | void setUp(void) { }
function tearDown (line 32) | void tearDown(void) { }
function test_generic_offset_index_basic (line 35) | void test_generic_offset_index_basic(void)
FILE: test/unit/test_giggle.c
type giggle_index (line 23) | struct giggle_index
function setUp (line 25) | void setUp(void) { }
function tearDown (line 26) | void tearDown(void) { }
function test_uint64_t_ll_giggle_insert (line 29) | void test_uint64_t_ll_giggle_insert(void)
function test_wah_giggle_insert (line 281) | void test_wah_giggle_insert(void)
function test_uint64_t_ll_giggle_search (line 631) | void test_uint64_t_ll_giggle_search(void)
function test_wah_giggle_search (line 775) | void test_wah_giggle_search(void)
function test_giggle_get_chrm_id (line 885) | void test_giggle_get_chrm_id(void)
function test_giggle_index_file (line 903) | void test_giggle_index_file(void)
function test_uint64_t_ll_giggle_query_region (line 1019) | void test_uint64_t_ll_giggle_query_region(void)
function test_giggle_index_directory (line 1176) | void test_giggle_index_directory(void)
function test_giggle_init_store_load (line 1223) | void test_giggle_init_store_load(void)
function valid_giggle_index (line 1371) | void valid_giggle_index(struct giggle_index *gi)
function test_valid_giggle_index_many (line 1464) | void test_valid_giggle_index_many(void)
function test_giggle_index_search_store_search (line 1566) | void test_giggle_index_search_store_search(void)
function test_giggle_index_search_store_search_block (line 1608) | void test_giggle_index_search_store_search_block(void)
function test_giggle_query_bug_0 (line 1700) | void test_giggle_query_bug_0(void)
function test_giggle_query_bug_1 (line 1765) | void test_giggle_query_bug_1(void)
function test_giggle_bulk_insert (line 1829) | void test_giggle_bulk_insert(void)
FILE: test/unit/test_hash_list.c
function setUp (line 14) | void setUp(void) { }
function tearDown (line 15) | void tearDown(void) { }
function test_hash_list_init (line 18) | void test_hash_list_init(void)
FILE: test/unit/test_kfunc.c
function setUp (line 8) | void setUp(void) { }
function tearDown (line 9) | void tearDown(void) { }
function test_fisher_exact_basic (line 14) | void test_fisher_exact_basic(void)
function test_fisher_exact_perfect_association (line 32) | void test_fisher_exact_perfect_association(void)
function test_fisher_exact_no_association (line 46) | void test_fisher_exact_no_association(void)
function test_fisher_exact_with_zeros (line 60) | void test_fisher_exact_with_zeros(void)
function test_lbinom (line 74) | void test_lbinom(void)
function test_hypergeo (line 90) | void test_hypergeo(void)
function test_fisher_exact_single (line 102) | void test_fisher_exact_single(void)
function test_fisher_exact_larger_numbers (line 116) | void test_fisher_exact_larger_numbers(void)
FILE: test/unit/test_leaf_data.c
function setUp (line 27) | void setUp(void) { }
function tearDown (line 28) | void tearDown(void) { }
function test_leaf_data_ops (line 195) | void test_leaf_data_ops(void)
FILE: test/unit/test_lists.c
function setUp (line 15) | void setUp(void) { }
function tearDown (line 16) | void tearDown(void) { }
function test_unordered_list_init (line 20) | void test_unordered_list_init(void)
function test_unordered_list_add (line 34) | void test_unordered_list_add(void)
function test_unordered_list_get (line 61) | void test_unordered_list_get(void)
function test_unordered_list_store_load_file_id_offset_pair (line 86) | void test_unordered_list_store_load_file_id_offset_pair(void)
function test_unordered_list_store_load_c_str (line 140) | void test_unordered_list_store_load_c_str(void)
function test_ordered_set_add (line 191) | void test_ordered_set_add(void)
function test_ordered_set_get (line 242) | void test_ordered_set_get(void)
function test_ordered_set_store_load (line 291) | void test_ordered_set_store_load(void)
function test_uint_pair (line 368) | void test_uint_pair(void)
function test_fifo_q (line 444) | void test_fifo_q(void)
function test_pointer_uint_pair (line 487) | void test_pointer_uint_pair(void)
function test_uint_offset_size_pair (line 532) | void test_uint_offset_size_pair(void)
function test_byte_array (line 605) | void test_byte_array(void)
function test_indexed_list (line 648) | void test_indexed_list(void)
function test_indexed_list_nulls (line 721) | void test_indexed_list_nulls(void)
function test_bit_map (line 900) | void test_bit_map(void)
function test_uint32_t_array (line 960) | void test_uint32_t_array(void)
FILE: test/unit/test_ll.c
function setUp (line 13) | void setUp(void) { }
function tearDown (line 14) | void tearDown(void) { }
function test_uint64_t_ll_append (line 17) | void test_uint64_t_ll_append(void)
function test_uint64_t_ll_remove (line 36) | void test_uint64_t_ll_remove(void)
function test_uint64_t_ll_contains (line 75) | void test_uint64_t_ll_contains(void)
FILE: test/unit/test_offset_index.c
function setUp (line 32) | void setUp(void) { }
function tearDown (line 33) | void tearDown(void) { }
function test_offset_index_add_no_data (line 36) | void test_offset_index_add_no_data(void)
type offset_data_append_data_test_struct (line 198) | struct offset_data_append_data_test_struct
function offset_data_append_data_test_func (line 203) | void offset_data_append_data_test_func(uint8_t *dest, kstring_t *line)
function test_offset_index_add_data (line 216) | void test_offset_index_add_data(void)
type offset_data_append_data_test_struct_larger (line 450) | struct offset_data_append_data_test_struct_larger
function offset_data_append_data_test_func_larger (line 457) | void offset_data_append_data_test_func_larger(uint8_t *dest, kstring_t *...
function test_offset_index_add_data_larger (line 482) | void test_offset_index_add_data_larger(void)
function test_offset_index_store_load_data (line 860) | void test_offset_index_store_load_data(void)
FILE: test/unit/test_util.c
function setUp (line 18) | void setUp(void) { }
function tearDown (line 19) | void tearDown(void) { }
function test_safe_subtract (line 22) | void test_safe_subtract(void)
function test_parse_region_basic (line 41) | void test_parse_region_basic(void)
function test_parse_region_no_chr_prefix (line 57) | void test_parse_region_no_chr_prefix(void)
function test_parse_region_chrX (line 73) | void test_parse_region_chrX(void)
function test_parse_region_large_coords (line 89) | void test_parse_region_large_coords(void)
function test_parse_region_zero_start (line 105) | void test_parse_region_zero_start(void)
function test_safe_dirname (line 123) | void test_safe_dirname(void)
function test_safe_basename (line 140) | void test_safe_basename(void)
function test_long_cmp (line 156) | void test_long_cmp(void)
FILE: test/unit/test_zlib_wrapper.c
function setUp (line 11) | void setUp(void) { }
function tearDown (line 12) | void tearDown(void) { }
function test_zlib_wrapper (line 14) | void test_zlib_wrapper(void)
FILE: test/unit/unity/generate_test_runner.rb
class UnityTestRunnerGenerator (line 10) | class UnityTestRunnerGenerator
method initialize (line 12) | def initialize(options = nil)
method default_options (line 23) | def self.default_options
method grab_config (line 39) | def self.grab_config(config_file)
method run (line 50) | def run(input_file, output_file, options=nil)
method generate (line 78) | def generate(input_file, output_file, tests, used_mocks, testfile_incl...
method find_tests (line 95) | def find_tests(source)
method find_includes (line 138) | def find_includes(source)
method find_mocks (line 153) | def find_mocks(includes)
method create_header (line 162) | def create_header(output, mocks, testfile_includes=[])
method create_externs (line 195) | def create_externs(output, tests, mocks)
method create_mock_management (line 205) | def create_mock_management(output, mock_headers)
method create_suite_setup_and_teardown (line 240) | def create_suite_setup_and_teardown(output)
method create_runtest (line 257) | def create_runtest(output, used_mocks)
method create_reset (line 290) | def create_reset(output, used_mocks)
method create_main (line 303) | def create_main(output, filename, tests, used_mocks)
method create_h_file (line 364) | def create_h_file(output, filename, tests, testfile_includes, used_mocks)
FILE: test/unit/unity/type_sanitizer.rb
type TypeSanitizer (line 1) | module TypeSanitizer
function sanitize_c_identifier (line 3) | def self.sanitize_c_identifier(unsanitized)
FILE: test/unit/unity/unity.c
type _Unity (line 22) | struct _Unity
function SetOutputColorRed (line 76) | void SetOutputColorRed(){printf("\033[0;31m");}
function SetOutputColorGreen (line 77) | void SetOutputColorGreen(){printf("\033[0;32m");}
function ResetOutputColor (line 78) | void ResetOutputColor(){printf("\033[0m");}
function UnityPrint (line 80) | void UnityPrint(const char* string)
function UnityPrintLen (line 118) | void UnityPrintLen(const char* string, const _UU32 length)
function UnityPrintNumberByStyle (line 156) | void UnityPrintNumberByStyle(const _U_SINT number, const UNITY_DISPLAY_S...
function UnityPrintNumber (line 175) | void UnityPrintNumber(const _U_SINT number_to_print)
function UnityPrintNumberUnsigned (line 190) | void UnityPrintNumberUnsigned(const _U_UINT number)
function UnityPrintNumberHex (line 210) | void UnityPrintNumberHex(const _U_UINT number, const char nibbles_to_print)
function UnityPrintMask (line 230) | void UnityPrintMask(const _U_UINT mask, const _U_UINT number)
function UnityPrintFloat (line 268) | void UnityPrintFloat(_UD number)
function UnityPrintFail (line 279) | void UnityPrintFail(void)
function UnityPrintOk (line 287) | void UnityPrintOk(void)
function UnityTestResultsBegin (line 296) | static void UnityTestResultsBegin(const char* file, const UNITY_LINE_TYP...
function UnityTestResultsFailBegin (line 313) | static void UnityTestResultsFailBegin(const UNITY_LINE_TYPE line)
function UnityConcludeTest (line 325) | void UnityConcludeTest(void)
function UnityAddMsgIfSpecified (line 349) | static void UnityAddMsgIfSpecified(const char* msg)
function UnityPrintExpectedAndActualStrings (line 373) | static void UnityPrintExpectedAndActualStrings(const char* expected, con...
function UnityPrintExpectedAndActualStringsLen (line 400) | static void UnityPrintExpectedAndActualStringsLen(const char* expected, ...
function UnityCheckArraysForNull (line 432) | static int UnityCheckArraysForNull(UNITY_INTERNAL_PTR expected, UNITY_IN...
function UnityAssertBits (line 464) | void UnityAssertBits(const _U_SINT mask,
function UnityAssertEqualNumber (line 485) | void UnityAssertEqualNumber(const _U_SINT expected,
function UnityAssertEqualIntArray (line 513) | void UnityAssertEqualIntArray(UNITY_INTERNAL_PTR expected,
function UnityFloatsWithin (line 643) | static int UnityFloatsWithin(_UF delta, _UF expected, _UF actual)
function UnityAssertEqualFloatArray (line 649) | void UnityAssertEqualFloatArray(UNITY_PTR_ATTRIBUTE const _UF* expected,
function UnityAssertFloatsWithin (line 693) | void UnityAssertFloatsWithin(const _UF delta,
function UnityAssertFloatSpecial (line 719) | void UnityAssertFloatSpecial(const _UF actual,
function UnityDoublesWithin (line 786) | static int UnityDoublesWithin(_UD delta, _UD expected, _UD actual)
function UnityAssertEqualDoubleArray (line 792) | void UnityAssertEqualDoubleArray(UNITY_PTR_ATTRIBUTE const _UD* expected,
function UnityAssertDoublesWithin (line 836) | void UnityAssertDoublesWithin(const _UD delta,
function UnityAssertDoubleSpecial (line 862) | void UnityAssertDoubleSpecial(const _UD actual,
function UnityAssertNumbersWithin (line 929) | void UnityAssertNumbersWithin( const _U_UINT delta,
function UnityAssertEqualString (line 968) | void UnityAssertEqualString(const char* expected,
function UnityAssertEqualStringLen (line 1007) | void UnityAssertEqualStringLen(const char* expected,
function UnityAssertEqualStringArray (line 1048) | void UnityAssertEqualStringArray( const char** expected,
function UnityAssertEqualMemory (line 1105) | void UnityAssertEqualMemory( UNITY_INTERNAL_PTR expected,
function UnityFail (line 1160) | void UnityFail(const char* msg, const UNITY_LINE_TYPE line)
function UnityIgnore (line 1194) | void UnityIgnore(const char* msg, const UNITY_LINE_TYPE line)
function UNITY_WEAK_ATTRIBUTE (line 1211) | UNITY_WEAK_ATTRIBUTE void setUp(void) { }
function UNITY_WEAK_ATTRIBUTE (line 1212) | UNITY_WEAK_ATTRIBUTE void tearDown(void) { }
function setUp (line 1215) | void setUp(void) { }
function tearDown (line 1217) | void tearDown(void) { }
function UnityDefaultTestRun (line 1220) | void UnityDefaultTestRun(UnityTestFunction Func, const char* FuncName, c...
function UnityBegin (line 1239) | void UnityBegin(const char* filename)
function UnityEnd (line 1255) | int UnityEnd(void)
function UnityParseOptions (line 1293) | int UnityParseOptions(int argc, char** argv)
function IsStringInBiggerString (line 1349) | int IsStringInBiggerString(const char* longstring, const char* shortstring)
function UnityStringArgumentMatches (line 1390) | int UnityStringArgumentMatches(const char* str)
function UnityTestMatches (line 1438) | int UnityTestMatches(void)
FILE: test/unit/unity/unity_internals.h
type _UU8 (line 90) | typedef unsigned char _UU8;
type _UU16 (line 91) | typedef unsigned short _UU16;
type _UU32 (line 92) | typedef unsigned int _UU32;
type _US8 (line 93) | typedef signed char _US8;
type _US16 (line 94) | typedef signed short _US16;
type _US32 (line 95) | typedef signed int _US32;
type _UU8 (line 97) | typedef unsigned char _UU8;
type _UU16 (line 98) | typedef unsigned int _UU16;
type _UU32 (line 99) | typedef unsigned long _UU32;
type _US8 (line 100) | typedef signed char _US8;
type _US16 (line 101) | typedef signed int _US16;
type _US32 (line 102) | typedef signed long _US32;
type _UU32 (line 119) | typedef _UU32 _U_UINT;
type _US32 (line 120) | typedef _US32 _U_SINT;
type _UU64 (line 125) | typedef unsigned long long _UU64;
type _US64 (line 126) | typedef signed long long _US64;
type _UU64 (line 128) | typedef unsigned long _UU64;
type _US64 (line 129) | typedef signed long _US64;
type _UU64 (line 133) | typedef _UU64 _U_UINT;
type _US64 (line 134) | typedef _US64 _U_SINT;
type _UU32 (line 143) | typedef _UU32 _UP;
type _UU64 (line 146) | typedef _UU64 _UP;
type _UU16 (line 149) | typedef _UU16 _UP;
type UNITY_FLOAT_TYPE (line 189) | typedef UNITY_FLOAT_TYPE _UF;
type _UF (line 235) | typedef _UF _UD;
type UNITY_DOUBLE_TYPE (line 249) | typedef UNITY_DOUBLE_TYPE _UD;
type UNITY_DISPLAY_STYLE_T (line 342) | typedef enum
type UNITY_FLOAT_TRAIT_T (line 371) | typedef enum _UNITY_FLOAT_TRAIT_T
type _Unity (line 385) | struct _Unity
type _Unity (line 402) | struct _Unity
Condensed preview — 226 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (2,235K chars).
[
{
"path": ".gitignore",
"chars": 299,
"preview": "doc/html/\ninkids_rare.bed.gz\ninkids_rare_smaller.bed.gz\n*.o\n**/*_Runner.c\n*.dSYM/\n*.DS_Store\nbin/\nlib/\nssshtest\ntest/**/"
},
{
"path": ".nojekyll",
"chars": 0,
"preview": ""
},
{
"path": ".travis.yml",
"chars": 575,
"preview": "language: c\n\nbefore_install:\n - cd $TRAVIS_BUILD_DIR\n - git clone https://github.com/arq5x/bedtools2.git\n - cd "
},
{
"path": "LICENSE",
"chars": 1067,
"preview": "MIT License\n\nCopyright (c) 2021 Ryan Layer\n\nPermission is hereby granted, free of charge, to any person obtaining a copy"
},
{
"path": "Makefile",
"chars": 215,
"preview": "BIN=bin\nOBJ=obj\n\nall:\n\t@mkdir -p $(OBJ)\n\t@mkdir -p $(BIN)\n\t@mkdir -p lib\n\tcd src; $(MAKE)\n\nserver:\n\t@mkdir -p $(OBJ)\n\t@m"
},
{
"path": "README.md",
"chars": 7288,
"preview": "<img src=\"https://raw.githubusercontent.com/ryanlayer/giggle/master/img/logo.png\" width=\"300\"/>\n\nGIGGLE is a genomics se"
},
{
"path": "client/app.js",
"chars": 13422,
"preview": "var heatmap = null;\n\nvar giggleUrl = \"http://localhost:8080/\";\nvar giggleUCSCBrowserUrl = \"http://localhost:8"
},
{
"path": "client/assets/css/site.css",
"chars": 1299,
"preview": "body {\n font-family: 'Open Sans';\n background-color: white;\n color: #757474;\n font-size: 13px;\n}\nh3 {\n margin-top:"
},
{
"path": "client/assets/css/tetronimos.css",
"chars": 5859,
"preview": ".cssload-tetrominos {\n position: absolute;\n left: 50%;\n transform: translate(-62px, -53px);\n -o-transform: transla"
},
{
"path": "client/assets/js/colorbrewer.js",
"chars": 19115,
"preview": "// This product includes color specifications and designs developed by Cynthia Brewer (http://colorbrewer.org/).\n// Java"
},
{
"path": "client/heatmapD3.js",
"chars": 7143,
"preview": "function heatmapD3() {\n\tvar dispatch = d3.dispatch(\"d3click\");\n\n\tvar margin = { top: 10, right: 100, bottom: 100, left: "
},
{
"path": "client/index.html",
"chars": 5788,
"preview": "<!DOCTYPE html>\n<meta charset=\"utf-8\">\n<html>\n <head>\n\n <link href='https://fonts.googleapis.com/css?family=Open+San"
},
{
"path": "client/smartview.html",
"chars": 2059,
"preview": "<!DOCTYPE html>\n<meta charset=\"utf-8\">\n<html>\n <head>\n\n <link href='https://fonts.googleapis.com/css?family=Open+San"
},
{
"path": "data/human.hg19.genome",
"chars": 1984,
"preview": "chr1\t249250621\nchr2\t243199373\nchr3\t198022430\nchr4\t191154276\nchr5\t180915260\nchr6\t171115067\nchr7\t159138663\nchrX\t155270560\n"
},
{
"path": "docs/app.js",
"chars": 13422,
"preview": "var heatmap = null;\n\nvar giggleUrl = \"http://localhost:8080/\";\nvar giggleUCSCBrowserUrl = \"http://localhost:8"
},
{
"path": "docs/assets/css/site.css",
"chars": 1299,
"preview": "body {\n font-family: 'Open Sans';\n background-color: white;\n color: #757474;\n font-size: 13px;\n}\nh3 {\n margin-top:"
},
{
"path": "docs/assets/css/tetronimos.css",
"chars": 5859,
"preview": ".cssload-tetrominos {\n position: absolute;\n left: 50%;\n transform: translate(-62px, -53px);\n -o-transform: transla"
},
{
"path": "docs/assets/js/colorbrewer.js",
"chars": 19115,
"preview": "// This product includes color specifications and designs developed by Cynthia Brewer (http://colorbrewer.org/).\n// Java"
},
{
"path": "docs/doxygen.cfg",
"chars": 100257,
"preview": "# Doxyfile 1.8.6\n\n# This file describes the settings to be used by the documentation system\n# doxygen (www.doxygen.org) "
},
{
"path": "docs/heatmapD3.js",
"chars": 7143,
"preview": "function heatmapD3() {\n\tvar dispatch = d3.dispatch(\"d3click\");\n\n\tvar margin = { top: 10, right: 100, bottom: 100, left: "
},
{
"path": "docs/index.html",
"chars": 5788,
"preview": "<!DOCTYPE html>\n<meta charset=\"utf-8\">\n<html>\n <head>\n\n <link href='https://fonts.googleapis.com/css?family=Open+San"
},
{
"path": "docs/smartview.html",
"chars": 2059,
"preview": "<!DOCTYPE html>\n<meta charset=\"utf-8\">\n<html>\n <head>\n\n <link href='https://fonts.googleapis.com/css?family=Open+San"
},
{
"path": "docs/update_doxygen.sh",
"chars": 32,
"preview": "#!/bin/bash\ndoxygen doxygen.cfg\n"
},
{
"path": "environment.yml",
"chars": 446,
"preview": "name: giggle-dev\nchannels:\n - bioconda\n - conda-forge\n - defaults\ndependencies:\n # Build tools\n - gcc\n - make\n - "
},
{
"path": "examples/cistrome/README.md",
"chars": 1775,
"preview": "Get source code\n\n git clone https://github.com/samtools/htslib.git\n cd htslib\n autoheader\n autoconf\n ./co"
},
{
"path": "examples/cistrome/get_qc.sh",
"chars": 363,
"preview": "#!/bin/bash\n\necho -e \"id\\tmap\\tpeaks\\tfastqc\\tfrip\\tpbc\\tmotif_judge\\tdhs\"\n\nfor i in `cat TF_human_data_information.txt "
},
{
"path": "examples/cistrome/get_top.sh",
"chars": 320,
"preview": "#!/bin/bash\n\nif [ \"$#\" -ne \"3\" ]; then\n echo -e \"ussage:\\t$0 <in file> <out dir> <min q>\\n\"\n exit\nfi\n\nIN_FILE=$1\nO"
},
{
"path": "examples/cistrome/rename.py",
"chars": 2407,
"preview": "#!/usr/bin/python\nimport sys\nfrom shutil import copyfile\nfrom optparse import OptionParser\n\nparser = OptionParser()\n\n#me"
},
{
"path": "examples/fantom/README.md",
"chars": 1603,
"preview": "Get source code\n\n git clone https://github.com/samtools/htslib.git\n cd htslib\n autoheader\n autoconf\n ./co"
},
{
"path": "examples/fantom/rename.py",
"chars": 1231,
"preview": "import sys\n\nif len(sys.argv) != 4:\n sys.stderr.write('usage:\\t' + \\\n sys.argv[0] + \\\n "
},
{
"path": "examples/gtex/bp.py",
"chars": 2104,
"preview": "#!/usr/bin/env python\nimport sys\nimport numpy as np\nimport matplotlib\nmatplotlib.use('Agg')\nimport pylab\nimport random\nf"
},
{
"path": "examples/gtex/gtex_to_bp.py",
"chars": 833,
"preview": "import sys\nimport re\n\nN = int(sys.argv[1])\n\nregion = ''\ntissue = ''\n\nBP = []\ntissues = {}\nregions = []\n\nfor l in sys.std"
},
{
"path": "examples/gtex/one_per_tissue.py",
"chars": 1095,
"preview": "import sys\n\ntrans_to_cord = {}\n\nfor l in open(\"genes.bed\", \"r\"):\n\tA = l.rstrip().split('\\t')\n\ttrans_to_cord[A[3]] = '\\t'"
},
{
"path": "examples/gwas/README.md",
"chars": 341,
"preview": "Get data\n\n wget https://www.nature.com/nature/journal/v518/n7539/extref/nature13835-s1.xls\n # copy first five colu"
},
{
"path": "examples/myod/README.md",
"chars": 254,
"preview": "Get data\n\n wget ftp://ftp.ncbi.nlm.nih.gov/geo/samples/GSM1218nnn/GSM1218850/suppl/GSM1218850_MB135DMMD.peak.txt.gz\n\n"
},
{
"path": "examples/rme/EDACC_NAME.txt",
"chars": 3951,
"preview": "E001\tES_I3_Cell_Line\nE002\tES_WA7_Cell_Line\nE003\tH1_Cell_Line\nE004\tH1_BMP4_Derived_Mesendoderm_Cultured_Cells\nE005\tH1_BMP"
},
{
"path": "examples/rme/README.md",
"chars": 1448,
"preview": "Get source code\n\n git clone https://github.com/samtools/htslib.git\n cd htslib\n autoheader\n autoconf\n ./co"
},
{
"path": "examples/rme/Standardized_names.txt",
"chars": 4394,
"preview": "E001\tES-I3_Cells\nE002\tES-WA7_Cells\nE003\tH1_Cells\nE004\tH1_BMP4_Derived_Mesendoderm_Cultured_Cells\nE005\tH1_BMP4_Derived_Tr"
},
{
"path": "examples/rme/data_def.json",
"chars": 305098,
"preview": "{\n \"dimensions\": [\n {\n \"elements\": [\n \"ES I3 Cell Line\", \n \"ES WA7 Cell Line\", \n \"H1 Cell "
},
{
"path": "examples/rme/get_data.sh",
"chars": 274,
"preview": "mkdir data\ncd data\nwget http://egg2.wustl.edu/roadmap/data/byFileType/chromhmmSegmentations/ChmmModels/coreMarks/jointMo"
},
{
"path": "examples/rme/groups.txt",
"chars": 1804,
"preview": "E001\tESC\nE002\tESC\nE003\tESC\nE004\tES-deriv\nE005\tES-deriv\nE006\tES-deriv\nE007\tES-deriv\nE008\tESC\nE009\tES-deriv\nE010\tES-deriv\n"
},
{
"path": "examples/rme/new_groups.txt",
"chars": 1809,
"preview": "E001\tESC\nE002\tESC\nE003\tESC\nE004\tES-deriv\nE005\tES-deriv\nE006\tES-deriv\nE007\tES-deriv\nE008\tESC\nE009\tES-deriv\nE010\tES-deriv\n"
},
{
"path": "examples/rme/new_groups_names.txt",
"chars": 265,
"preview": " \n \niPSC\n \n \n \nThymus\n\n\nSm Muscle\n\n\n\n\n\n\nOther\n\n\n\n\n\n\n\n\nNeurosph\n\n\n\nMuscle\n\n\n\n\n\n\nMesench\n\n\nLung\n\n\nHeart\n\n\n\n\n\n\nHSC & B-ce"
},
{
"path": "examples/rme/rename.py",
"chars": 1141,
"preview": "import toolshed as ts\nimport os.path as op\nimport gzip\nimport sys\nfrom itertools import imap\n\nif len(sys.argv) != 5:\n "
},
{
"path": "examples/rme/short_states.txt",
"chars": 95,
"preview": "TssA\nTssAFlnk\nTxFlnk\nTx\nTxWk\nEnhG\nEnh\nZNF/Rpts\nHet\nTssBiv\nBivFlnk\nEnhBiv\nReprPC\nReprPCWk\nQuies\n"
},
{
"path": "examples/rme/states.txt",
"chars": 411,
"preview": "1_TssA\tActive_TSS\n2_TssAFlnk\tFlanking_Active_TSS\n3_TxFlnk\tTranscr_at_gene_5_and_3\n4_Tx\tStrong_transcription\n5_TxWk\tWeak_"
},
{
"path": "examples/rme/web/header.txt",
"chars": 6269,
"preview": "\"dim1\":{ \"name\":\"State\",\n \"num\":15,\n \"vals\":[\"Active TSS\",\n \"Bivalent Enhancer\",\n \"B"
},
{
"path": "examples/rme/web/track_names.txt",
"chars": 119298,
"preview": "\"dim1\":\"4star\",\"dim2\":\"Active TSS\"\n\"dim1\":\"4star\",\"dim2\":\"Bivalent Enhancer\"\n\"dim1\":\"4star\",\"dim2\":\"Bivalent Poised TSS\""
},
{
"path": "examples/segway/cell_types.txt",
"chars": 2962,
"preview": "A549\nADIPOSE_NUCLEI\nADULT_LIVER\nAG04449\nAG04450\nAG09309\nAG09319\nAG10803\nAOAF\nAORTA\nBC_COLON_H12817N\nBC_LUNG_01-11002\nBC_"
},
{
"path": "examples/segway/data_def.json",
"chars": 152376,
"preview": "{\n \"dimensions\": [\n {\n \"elements\": [\n \"A549\",\n \"ADIPOSE_NUCLEI\",\n \"ADULT_LIVER\",\n \""
},
{
"path": "examples/segway/get_data.sh",
"chars": 572,
"preview": "mkdir orig\ncd orig\nwget -r -nH -nd -np -R index.html* http://noble.gs.washington.edu/proj/encyclopedia/interpreted/\n\ncd "
},
{
"path": "examples/segway/rename.py",
"chars": 842,
"preview": "import toolshed as ts\nimport os.path as op\nimport gzip\nimport sys\nfrom itertools import imap\n\nif len(sys.argv) != 3:\n "
},
{
"path": "examples/segway/states.txt",
"chars": 108,
"preview": "Bivalent\nConstitutiveHet\nEnhancer\nFacultativeHet\nLowConfidence\nPromoter\nQuiescent\nRegPermissive\nTranscribed\n"
},
{
"path": "examples/ucsc/README.md",
"chars": 1128,
"preview": "Get source code \n\n git clone https://github.com/samtools/htslib.git\n cd htslib\n autoheader\n autoconf\n ./c"
},
{
"path": "examples/ucsc/data_def.json",
"chars": 9920,
"preview": "{\n \"dimensions\": [\n {\n \"elements\": [\n \"acembly\",\n \"affyGnf1h\",\n \"affyU133\",\n "
},
{
"path": "examples/ucsc/get_data.sh",
"chars": 519,
"preview": "rsync -a -P rsync://hgdownload.cse.ucsc.edu/goldenPath/hg19/database ./\n\nmkdir parsed_tracks\n\nls database/*sql \\\n| xargs"
},
{
"path": "examples/ucsc/parse_sql.py",
"chars": 2104,
"preview": "import sys\nimport os.path\nimport gzip\n\nif len (sys.argv) != 3:\n print \"usage:\\t\" + sys.argv[0] + \" <sql file> <output"
},
{
"path": "experiments/cache_compression/README.html",
"chars": 20806,
"preview": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n<title>README.md</title>\r\n<meta http-equiv=\"Content-type\" content=\"text/html;charset=UT"
},
{
"path": "experiments/cache_compression/README.md",
"chars": 9783,
"preview": "# Final Report\n## CSCI 5900- Independent Study\n## Sagar Pathare\n## Date: April 26, 2022\n\n## Title: Using compression alg"
},
{
"path": "experiments/cache_compression/comparison.py",
"chars": 1952,
"preview": "from math import ceil\nimport matplotlib.pyplot as plt\n\ncolors = {\n 'uncompressed': 'g',\n 'fastlz': 'b',\n 'zlib'"
},
{
"path": "experiments/cache_compression/roadmap_sort_comparisons/index/fastlz1.csv",
"chars": 217,
"preview": "command,mean,stddev,median,user,system,min,max\n\"$GIGGLE_ROOT/bin/giggle index -s -f -i \"\"roadmap_sort/*gz\"\" -o fastlz1\","
},
{
"path": "experiments/cache_compression/roadmap_sort_comparisons/index/fastlz2.csv",
"chars": 205,
"preview": "command,mean,stddev,median,user,system,min,max\n\"$GIGGLE_ROOT/bin/giggle index -s -f -i \"\"roadmap_sort/*gz\"\" -o fastlz2\","
},
{
"path": "experiments/cache_compression/roadmap_sort_comparisons/index/uncompressed.csv",
"chars": 210,
"preview": "command,mean,stddev,median,user,system,min,max\n\"$GIGGLE_ROOT/bin/giggle index -s -f -i \"\"roadmap_sort/*gz\"\" -o uncompres"
},
{
"path": "experiments/cache_compression/roadmap_sort_comparisons/index/zlib0.csv",
"chars": 204,
"preview": "command,mean,stddev,median,user,system,min,max\n\"$GIGGLE_ROOT/bin/giggle index -s -f -i \"\"roadmap_sort/*gz\"\" -o zlib0\",88"
},
{
"path": "experiments/cache_compression/roadmap_sort_comparisons/index/zlib1.csv",
"chars": 206,
"preview": "command,mean,stddev,median,user,system,min,max\n\"$GIGGLE_ROOT/bin/giggle index -s -f -i \"\"roadmap_sort/*gz\"\" -o zlib1\",10"
},
{
"path": "experiments/cache_compression/roadmap_sort_comparisons/index/zlib3.csv",
"chars": 226,
"preview": "command,mean,stddev,median,user,system,min,max\n\"$GIGGLE_ROOT/bin/giggle index -s -f -i \"\"roadmap_sort/*gz\"\" -o zlib3\",11"
},
{
"path": "experiments/cache_compression/roadmap_sort_comparisons/index/zlib6.csv",
"chars": 220,
"preview": "command,mean,stddev,median,user,system,min,max\n\"$GIGGLE_ROOT/bin/giggle index -s -f -i \"\"roadmap_sort/*gz\"\" -o zlib6\",12"
},
{
"path": "experiments/cache_compression/roadmap_sort_comparisons/index/zlib9.csv",
"chars": 211,
"preview": "command,mean,stddev,median,user,system,min,max\n\"$GIGGLE_ROOT/bin/giggle index -s -f -i \"\"roadmap_sort/*gz\"\" -o zlib9\",22"
},
{
"path": "experiments/cache_compression/roadmap_sort_comparisons/index.csv",
"chars": 396,
"preview": "type,time,user,system\r\nfastlz1,89.33131506806,82.75897032,6.56374108\r\nfastlz2,155.0417450156,128.78304566,20.595867\r\nunc"
},
{
"path": "experiments/cache_compression/roadmap_sort_comparisons/search1/fastlz1.csv",
"chars": 261,
"preview": "command,mean,stddev,median,user,system,min,max\n$GIGGLE_ROOT/bin/giggle search -i fastlz1 -q GSM1218850_MB135DMMD.peak.q1"
},
{
"path": "experiments/cache_compression/roadmap_sort_comparisons/search1/fastlz2.csv",
"chars": 246,
"preview": "command,mean,stddev,median,user,system,min,max\n$GIGGLE_ROOT/bin/giggle search -i fastlz2 -q GSM1218850_MB135DMMD.peak.q1"
},
{
"path": "experiments/cache_compression/roadmap_sort_comparisons/search1/uncompressed.csv",
"chars": 272,
"preview": "command,mean,stddev,median,user,system,min,max\n$GIGGLE_ROOT/bin/giggle search -i uncompressed -q GSM1218850_MB135DMMD.pe"
},
{
"path": "experiments/cache_compression/roadmap_sort_comparisons/search1/zlib0.csv",
"chars": 252,
"preview": "command,mean,stddev,median,user,system,min,max\n$GIGGLE_ROOT/bin/giggle search -i zlib0 -q GSM1218850_MB135DMMD.peak.q100"
},
{
"path": "experiments/cache_compression/roadmap_sort_comparisons/search1/zlib1.csv",
"chars": 264,
"preview": "command,mean,stddev,median,user,system,min,max\n$GIGGLE_ROOT/bin/giggle search -i zlib1 -q GSM1218850_MB135DMMD.peak.q100"
},
{
"path": "experiments/cache_compression/roadmap_sort_comparisons/search1/zlib3.csv",
"chars": 252,
"preview": "command,mean,stddev,median,user,system,min,max\n$GIGGLE_ROOT/bin/giggle search -i zlib3 -q GSM1218850_MB135DMMD.peak.q100"
},
{
"path": "experiments/cache_compression/roadmap_sort_comparisons/search1/zlib6.csv",
"chars": 271,
"preview": "command,mean,stddev,median,user,system,min,max\n$GIGGLE_ROOT/bin/giggle search -i zlib6 -q GSM1218850_MB135DMMD.peak.q100"
},
{
"path": "experiments/cache_compression/roadmap_sort_comparisons/search1/zlib9.csv",
"chars": 251,
"preview": "command,mean,stddev,median,user,system,min,max\n$GIGGLE_ROOT/bin/giggle search -i zlib9 -q GSM1218850_MB135DMMD.peak.q100"
},
{
"path": "experiments/cache_compression/roadmap_sort_comparisons/search1.csv",
"chars": 770,
"preview": "command,mean,stddev,median,user,system,min,max\r\nfastlz1,59.18466978,5.09236337,59.78575998,37.83761843,21.31594118,51.78"
},
{
"path": "experiments/cache_compression/roadmap_sort_comparisons/search2/fastlz1.csv",
"chars": 231,
"preview": "command,mean,stddev,median,user,system,min,max\n$GIGGLE_ROOT/bin/giggle search -i fastlz1 -r 1:1-1000000,0.01298639579333"
},
{
"path": "experiments/cache_compression/roadmap_sort_comparisons/search2/fastlz2.csv",
"chars": 252,
"preview": "command,mean,stddev,median,user,system,min,max\n$GIGGLE_ROOT/bin/giggle search -i fastlz2 -r 1:1-1000000,0.01219613768509"
},
{
"path": "experiments/cache_compression/roadmap_sort_comparisons/search2/uncompressed.csv",
"chars": 232,
"preview": "command,mean,stddev,median,user,system,min,max\n$GIGGLE_ROOT/bin/giggle search -i uncompressed -r 1:1-1000000,0.009189936"
},
{
"path": "experiments/cache_compression/roadmap_sort_comparisons/search2/zlib0.csv",
"chars": 224,
"preview": "command,mean,stddev,median,user,system,min,max\n$GIGGLE_ROOT/bin/giggle search -i zlib0 -r 1:1-1000000,0.0119535858067264"
},
{
"path": "experiments/cache_compression/roadmap_sort_comparisons/search2/zlib1.csv",
"chars": 235,
"preview": "command,mean,stddev,median,user,system,min,max\n$GIGGLE_ROOT/bin/giggle search -i zlib1 -r 1:1-1000000,0.0129627889419512"
},
{
"path": "experiments/cache_compression/roadmap_sort_comparisons/search2/zlib3.csv",
"chars": 251,
"preview": "command,mean,stddev,median,user,system,min,max\n$GIGGLE_ROOT/bin/giggle search -i zlib3 -r 1:1-1000000,0.0126532172999999"
},
{
"path": "experiments/cache_compression/roadmap_sort_comparisons/search2/zlib6.csv",
"chars": 230,
"preview": "command,mean,stddev,median,user,system,min,max\n$GIGGLE_ROOT/bin/giggle search -i zlib6 -r 1:1-1000000,0.0122032193286956"
},
{
"path": "experiments/cache_compression/roadmap_sort_comparisons/search2/zlib9.csv",
"chars": 229,
"preview": "command,mean,stddev,median,user,system,min,max\n$GIGGLE_ROOT/bin/giggle search -i zlib9 -r 1:1-1000000,0.0126245238813793"
},
{
"path": "experiments/cache_compression/roadmap_sort_comparisons/search2.csv",
"chars": 773,
"preview": "command,mean,stddev,median,user,system,min,max\r\nfastlz1,12.98639579,1.471285836,12.47858378,4.174342933,8.823754489,11.3"
},
{
"path": "experiments/cache_compression/roadmap_sort_comparisons/space.csv",
"chars": 151,
"preview": "type,space\nfastlz1,681222584\nfastlz2,680601370\nuncompressed,1452596008\nzlib0,1459414745\nzlib1,433347471\nzlib3,428881416\n"
},
{
"path": "experiments/chipseq/README.md",
"chars": 2609,
"preview": "Get source code\n\n git clone https://github.com/samtools/htslib.git\n cd htslib\n autoheader\n autoconf\n ./co"
},
{
"path": "experiments/cistrome/README.md",
"chars": 5071,
"preview": "Get source code\n\n git clone https://github.com/samtools/htslib.git\n cd htslib\n autoheader\n autoconf\n ./co"
},
{
"path": "experiments/fantom/README.md",
"chars": 2275,
"preview": "Get source code\n\n git clone https://github.com/samtools/htslib.git\n cd htslib\n autoheader\n autoconf\n ./co"
},
{
"path": "experiments/gwas/README.md",
"chars": 2919,
"preview": "Get source code\n\n git clone https://github.com/samtools/htslib.git\n cd htslib\n autoheader\n autoconf\n ./co"
},
{
"path": "experiments/mc_vs_table/README.md",
"chars": 4102,
"preview": "Get source code\n\n git clone https://github.com/samtools/htslib.git\n cd htslib\n autoheader\n autoconf\n ./co"
},
{
"path": "experiments/metadata_index_query_filter/README.md",
"chars": 7193,
"preview": "# Final Report\n## CSCI 5900- Independent Study (Fall 2022)\n## Sagar Pathare\n## Date: December 6, 2022\n\n## Title: Buildin"
},
{
"path": "experiments/metadata_index_query_filter/metadata_comparisons/combined.csv",
"chars": 2277,
"preview": "command,mean,stddev,median,user,system,min,max\n\"$GIGGLE_ROOT/bin/giggle index -s -f -i \"\"split_stats/*gz\"\" -o split_stat"
},
{
"path": "experiments/metadata_index_query_filter/metadata_comparisons/i1.csv",
"chars": 248,
"preview": "command,mean,stddev,median,user,system,min,max\n\"$GIGGLE_ROOT/bin/giggle index -s -f -i \"\"split_stats/*gz\"\" -o split_stat"
},
{
"path": "experiments/metadata_index_query_filter/metadata_comparisons/i2.csv",
"chars": 262,
"preview": "command,mean,stddev,median,user,system,min,max\n\"$GIGGLE_ROOT/bin/giggle index -s -f -i \"\"split_stats/*gz\"\" -o split_stat"
},
{
"path": "experiments/metadata_index_query_filter/metadata_comparisons/q1.csv",
"chars": 281,
"preview": "command,mean,stddev,median,user,system,min,max\n$GIGGLE_ROOT/bin/giggle search -i split_stats_b -q GSM1218850_MB135DMMD.p"
},
{
"path": "experiments/metadata_index_query_filter/metadata_comparisons/q2.csv",
"chars": 269,
"preview": "command,mean,stddev,median,user,system,min,max\n$GIGGLE_ROOT/bin/giggle search -i split_stats_b_m -q GSM1218850_MB135DMMD"
},
{
"path": "experiments/metadata_index_query_filter/metadata_comparisons/q3.csv",
"chars": 284,
"preview": "command,mean,stddev,median,user,system,min,max\n$GIGGLE_ROOT/bin/giggle search -i split_stats_b_m -q GSM1218850_MB135DMMD"
},
{
"path": "experiments/metadata_index_query_filter/metadata_comparisons/q4.csv",
"chars": 310,
"preview": "command,mean,stddev,median,user,system,min,max\n/home/sspathare97/layerlab/giggle/bin/giggle search -i split_stats_b_m -q"
},
{
"path": "experiments/metadata_index_query_filter/metadata_comparisons/s1.csv",
"chars": 254,
"preview": "command,mean,stddev,median,user,system,min,max\n$GIGGLE_ROOT/bin/giggle search -i split_stats_b -r 1:1-50000,0.0034003316"
},
{
"path": "experiments/metadata_index_query_filter/metadata_comparisons/s2.csv",
"chars": 239,
"preview": "command,mean,stddev,median,user,system,min,max\n$GIGGLE_ROOT/bin/giggle search -i split_stats_b_m -r 1:1-50000,0.00336030"
},
{
"path": "experiments/metadata_index_query_filter/metadata_comparisons/s3.csv",
"chars": 258,
"preview": "command,mean,stddev,median,user,system,min,max\n$GIGGLE_ROOT/bin/giggle search -i split_stats_b_m -r 1:1-50000 -m,0.00354"
},
{
"path": "experiments/metadata_index_query_filter/metadata_comparisons/s4.csv",
"chars": 295,
"preview": "command,mean,stddev,median,user,system,min,max\n/home/sspathare97/layerlab/giggle/bin/giggle search -i split_stats_b_m -r"
},
{
"path": "experiments/speed_test/README.md",
"chars": 5517,
"preview": "Get source code \n\n git clone https://github.com/arq5x/bedtools2.git\n cd bedtools2 \n make -j 20\n export BEDTO"
},
{
"path": "experiments/speed_test/speed_test.sh",
"chars": 922,
"preview": "#!/bin/bash\n\nif [ \"$#\" -ne \"3\" ]; then\n echo \"usage: $0 <query file> <dataset> <genome>\"\n exit 1\nfi\n\nexport QUERY_"
},
{
"path": "flake.nix",
"chars": 1821,
"preview": "{\n inputs = {\n nixpkgs.url = \"github:nixos/nixpkgs/nixos-25.11\";\n utils.url = \"github:numtide/flake-utils\";\n };\n"
},
{
"path": "scripts/cross.py",
"chars": 9117,
"preview": "#!/usr/bin/python\nimport glob\nimport sys\nimport math\nfrom optparse import OptionParser\nimport os\n\nparser = OptionParser("
},
{
"path": "scripts/get_overlaps.html",
"chars": 3309,
"preview": "<!DOCTYPE html> \n<html>\n<head>\n<script src=\"http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js\" type=\"text"
},
{
"path": "scripts/get_ucsc_url.html",
"chars": 2541,
"preview": "<!DOCTYPE html> \n<html>\n<head>\n<script src=\"http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js\" type=\"text"
},
{
"path": "scripts/giggle_gwas_heatmap.py",
"chars": 11131,
"preview": "#!/usr/bin/python\nimport glob\nimport sys\nimport math\nfrom optparse import OptionParser\nimport matplotlib.pyplot as plt\ni"
},
{
"path": "scripts/giggle_heat_map.py",
"chars": 9213,
"preview": "#!/usr/bin/python\nimport matplotlib\nmatplotlib.use('Agg')\nimport matplotlib.pyplot as plt\nimport numpy as np\nimport sys\n"
},
{
"path": "scripts/lines.py",
"chars": 7524,
"preview": "#!/usr/bin/env python\nimport sys\nimport numpy as np\nimport matplotlib\nmatplotlib.use('Agg')\nimport pylab\nimport random\nf"
},
{
"path": "scripts/scatter.py",
"chars": 5499,
"preview": "#!/usr/bin/env python\nimport sys\nimport numpy as np\nimport matplotlib\nmatplotlib.use('Agg')\nimport pylab\nimport random\nf"
},
{
"path": "scripts/sort_bed",
"chars": 786,
"preview": "#!/bin/sh\nset -euo pipefail\n\nif [ \"$#\" -lt \"2\" ]; then\n echo \"usage: `basename $0` <input path> <output dir> <threads"
},
{
"path": "scripts/volcano.py",
"chars": 7284,
"preview": "#!/usr/bin/env python\nimport sys\nimport math\nfrom operator import itemgetter\nimport sys\nimport numpy as np\nimport matplo"
},
{
"path": "sharding/README.md",
"chars": 1245,
"preview": "# Multi Giggle\n\nUtility for running a sharded giggle instance.\nBuilds and searches indices in parallel.\n\n# Basic Usage\n\n"
},
{
"path": "sharding/multi_giggle.py",
"chars": 6989,
"preview": "import click\nimport shutil\nimport os\nimport subprocess\nfrom multiprocessing import Process, Pool\n\n\n@click.group()\ndef ro"
},
{
"path": "src/Makefile",
"chars": 1278,
"preview": "BIN=../bin\nOBJ=../obj\nLIBD=../lib\nLIBMHD_INCLUDES=$(HOME)/usr/local/include\nLIBMHD_LIBS=$(HOME)/usr/local/lib\noverride C"
},
{
"path": "src/api_test.c",
"chars": 2548,
"preview": "#include <stdlib.h>\n#include <stdio.h>\n#include <err.h>\n#include <string.h>\n#include <htslib/kstring.h>\n\n#include \"giggl"
},
{
"path": "src/bpt.c",
"chars": 27534,
"preview": "#define _GNU_SOURCE\n\n#include <stdio.h>\n#include <stdint.h>\n#include <stdlib.h>\n#include <string.h>\n#include <err.h>\n#in"
},
{
"path": "src/bpt.h",
"chars": 4469,
"preview": "#ifndef __BPT_H__\n#define __BPT_H__\n\n#include <stdint.h>\n#include <stdio.h>\n#include <stdbool.h>\n#include \"lists.h\"\n#inc"
},
{
"path": "src/cache.c",
"chars": 22801,
"preview": "#define _GNU_SOURCE\n\n#include <stdlib.h>\n#include <stdio.h>\n#include <stdint.h>\n#include <err.h>\n#include <sysexits.h>\n#"
},
{
"path": "src/cache.h",
"chars": 3975,
"preview": "#ifndef __CACHE_H__\n#define __CACHE_H__\n\n#include <stdint.h>\n#include <pthread.h>\n#include <htslib/khash.h>\n#include \"di"
},
{
"path": "src/data_reg.c",
"chars": 1563,
"preview": "#include <stdlib.h>\n#include <stdio.h>\n#include <stdint.h>\n#include <err.h>\n\n#include \"data_reg.h\"\n\n//{{{struct data_reg"
},
{
"path": "src/data_reg.h",
"chars": 427,
"preview": "#ifndef __DATA_REG__\n#define __DATA_REG__\n\n#include <stdint.h>\n\nstruct data_reg\n{\n void **data;\n uint32_t num_data"
},
{
"path": "src/disk_file_header.c",
"chars": 2827,
"preview": "#define _GNU_SOURCE\n\n#include <stdlib.h>\n#include <string.h>\n#include <err.h>\n#include \"util.h\"\n#include \"disk_file_head"
},
{
"path": "src/disk_file_header.h",
"chars": 1198,
"preview": "#ifndef __DISK_FILE_HEADER_H__\n#define __DISK_FILE_HEADER_H__\n\n#include <stdint.h>\n#include <stdio.h>\n\n#define GIGGLE_FI"
},
{
"path": "src/disk_store.c",
"chars": 12504,
"preview": "#define _GNU_SOURCE\n\n#include <stdlib.h>\n#include <string.h>\n#include <stdint.h>\n#include <stdio.h>\n#include <err.h>\n#in"
},
{
"path": "src/disk_store.h",
"chars": 3469,
"preview": "#ifndef __DISK_STORE_H__\n#define __DISK_STORE_H__\n\n#include <stdint.h>\n#include <stdio.h>\n\n/**\n * @brief The interface t"
},
{
"path": "src/fastlz.c",
"chars": 13648,
"preview": "/* \n FastLZ - lightning-fast lossless compression library\n\n Copyright (C) 2007 Ariya Hidayat (ariya@kde.org)\n Copyri"
},
{
"path": "src/fastlz.h",
"chars": 3566,
"preview": "/* \n FastLZ - lightning-fast lossless compression library\n\n Copyright (C) 2007 Ariya Hidayat (ariya@kde.org)\n Copyri"
},
{
"path": "src/fastlz_wrapper.c",
"chars": 1088,
"preview": "#define _GNU_SOURCE\n\n#include <stdlib.h>\n#include <err.h>\n#include \"fastlz_wrapper.h\"\n\nvoid* fastlz_wrapper_compress(voi"
},
{
"path": "src/fastlz_wrapper.h",
"chars": 529,
"preview": "#ifndef __FASTLZ_WRAPPER_H__\n#define __FASTLZ_WRAPPER_H__\n\n#include \"fastlz.h\"\ntypedef unsigned long uLong;\n#define MIN"
},
{
"path": "src/file_read.c",
"chars": 11710,
"preview": "#define _GNU_SOURCE\n\n#include <htslib/bgzf.h>\n#include <htslib/kstring.h>\n#include <htslib/hts.h>\n#include <stdlib.h>\n#i"
},
{
"path": "src/file_read.h",
"chars": 2341,
"preview": "#ifndef __FILE_READ_H__\n#define __FILE_READ_H__\n\n#include <htslib/bgzf.h>\n#include <htslib/vcf.h>\n#include <htslib/kstri"
},
{
"path": "src/giggle.c",
"chars": 1602,
"preview": "#define _GNU_SOURCE\n#include <stdlib.h>\n#include <stdio.h>\n#include <err.h>\n#include <string.h>\n#include <sysexits.h>\n#i"
},
{
"path": "src/giggle_index.c",
"chars": 132742,
"preview": "#define _GNU_SOURCE\n\n#include <dirent.h>\n#include <err.h>\n#include <glob.h>\n#include <htslib/kstring.h>\n#include <inttyp"
},
{
"path": "src/giggle_index.h",
"chars": 18772,
"preview": "#ifndef __GIGGLE_INDEX_H__\n#define __GIGGLE_INDEX_H__\n\n#include <stdint.h>\n#include <htslib/khash.h>\n#include \"bpt.h\"\n#i"
},
{
"path": "src/index.c",
"chars": 5600,
"preview": "#include \"cache.h\"\n#include \"giggle_index.h\"\n#include \"ll.h\"\n#include \"util.h\"\n#include \"wah.h\"\n#include <ctype.h>\n#incl"
},
{
"path": "src/index_search.c",
"chars": 455,
"preview": "#include <stdlib.h>\n#include <stdio.h>\n\n#include \"giggle_index.h\"\n#include \"ll.h\"\n\n\nint main(int argc, char **argv)\n{\n "
},
{
"path": "src/jsw_avltree.c",
"chars": 12546,
"preview": "/*\r\n AVL balanced tree library\r\n\r\n > Created (Julienne Walker): June 17, 2003\r\n > Modified (Julienne Walker): Sep"
},
{
"path": "src/jsw_avltree.h",
"chars": 2030,
"preview": "#ifndef JSW_AVLTREE_H\r\n#define JSW_AVLTREE_H\r\n\r\n/*\r\n AVL balanced tree library\r\n\r\n > Created (Julienne Walker): June"
},
{
"path": "src/kfunc.c",
"chars": 3408,
"preview": "/* Log gamma function\n * \\log{\\Gamma(z)}\n * AS245, 2nd algorithm, http://lib.stat.cmu.edu/apstat/245\n */\n\n#include <stdi"
},
{
"path": "src/kfunc.h",
"chars": 685,
"preview": "/*\n * kfunc.h\n *\n * Created on: May 1, 2015\n * Author: nek3d\n */\n\n#ifndef KFUNC_H_\n#define KFUNC_H_\n\n#include <mat"
},
{
"path": "src/leaf.c",
"chars": 10532,
"preview": "#include <stdint.h>\n#include <stdlib.h>\n#include <string.h>\n#include <err.h>\n#include <inttypes.h>\n#include \"leaf.h\"\n\nui"
},
{
"path": "src/leaf.h",
"chars": 1413,
"preview": "#ifndef __LEAF_H__\n#define __LEAF_H__\n\n#include \"bpt.h\"\n\n#define LEAF_DATA_LEADING_START(node) (0)\n#define LEAF_DATA_LEA"
},
{
"path": "src/lists.c",
"chars": 30718,
"preview": "#define _GNU_SOURCE\n\n#include <stdlib.h>\n#include <stdio.h>\n#include <stdint.h>\n#include <err.h>\n#include <sysexits.h>\n#"
},
{
"path": "src/lists.h",
"chars": 6704,
"preview": "#ifndef __LISTS_H__\n#define __LISTS_H__\n\n#include <stdint.h>\n#include <htslib/khash.h>\n#include \"disk_store.h\"\n\n// BITMA"
},
{
"path": "src/ll.c",
"chars": 26132,
"preview": "#define _GNU_SOURCE\n\n#include <stdlib.h>\n#include <stdint.h>\n#include <err.h>\n#include \"util.h\"\n#include \"ll.h\"\n#include"
},
{
"path": "src/ll.h",
"chars": 4627,
"preview": "#ifndef __LL_H__\n#define __LL_H__\n\n#include \"giggle_index.h\"\n\nstruct uint64_t_ll_bpt_non_leading_data\n{\n struct uint6"
},
{
"path": "src/metadata/Makefile",
"chars": 259,
"preview": "HTS_ROOT=../../lib/htslib\n\nmetadata:\n\tgcc ../metadata_index.c ../query_filter.c metadata_test.c -I$(HTS_ROOT) $(HTS_ROOT"
},
{
"path": "src/metadata/intervals1.tsv",
"chars": 119,
"preview": "100\t200\t100\t1.25\t1\tabc\t+\n200\t230\t30\t5\t0\tdefg\t*\n250\t300\t50\t0.03125\t0\thijklmnop\t+\n300\t500\t200\t456.5\t1\tqrstuvwxyzabcdef\t-\n"
},
{
"path": "src/metadata/intervals2.tsv",
"chars": 97,
"preview": "400\t500\t100\t5.25\t0\tqwe\t+\n500\t530\t30\t65\t1\tyui\t/\n600\t800\t20\t0.140625\t0\tbnm\t-\n800\t900\t100\t3\t1\tfgh\t+\n"
},
{
"path": "src/metadata/metadata.conf",
"chars": 95,
"preview": "3 interval_length int_32\n5 is_important int_8\n6 feature string 10\n4 score double\n7 strand char\n"
},
{
"path": "src/metadata/metadata_test.c",
"chars": 5419,
"preview": "#include <stdio.h>\n#include \"../metadata_index.h\"\n#include \"../query_filter.h\"\n\nvoid check_file_read(char *file_name, FI"
},
{
"path": "src/metadata_index.c",
"chars": 28838,
"preview": "#define _GNU_SOURCE\n\n#include <string.h>\n#include <stdlib.h>\n#include <htslib/khash_str2int.h>\n#include \"util.h\"\n#includ"
},
{
"path": "src/metadata_index.h",
"chars": 4486,
"preview": "#ifndef __METADATA_INDEX_H__\n#define __METADATA_INDEX_H__\n\n#include <stdio.h>\n#include <stdint.h>\n#include <ctype.h>\n#in"
},
{
"path": "src/offset_idx_lookup.c",
"chars": 990,
"preview": "#include <stdlib.h>\n#include <stdio.h>\n#include <err.h>\n#include <string.h>\n#include <htslib/kstring.h>\n\n#include \"giggl"
},
{
"path": "src/offset_index.c",
"chars": 7397,
"preview": "#define _GNU_SOURCE\n\n#include <stdio.h>\n#include <stdlib.h>\n#include <stdint.h>\n#include <sysexits.h>\n#include <inttypes"
},
{
"path": "src/offset_index.h",
"chars": 1871,
"preview": "#ifndef __OFFSET_H__\n#define __OFFSET_H__\n\n#include <stdint.h>\n#include <htslib/kstring.h>\n\nchar *OFFSET_INDEX_FILE_NAME"
},
{
"path": "src/pq.c",
"chars": 2536,
"preview": "#include <stdio.h>\n#include <stdlib.h>\n#include <string.h>\n#include \"pq.h\"\n\npri_queue priq_new(int size)\n{\n if (size "
},
{
"path": "src/pq.h",
"chars": 774,
"preview": "#ifndef __PQ_H__\n#define __PQ_H__\n#include <stdio.h>\n#include <stdlib.h>\n#include <stdint.h>\n#include <sysexits.h>\n#incl"
},
{
"path": "src/query_filter.c",
"chars": 7837,
"preview": "#define _GNU_SOURCE\n\n#include <string.h>\n#include <stdlib.h>\n#include <htslib/khash_str2int.h>\n#include \"query_filter.h\""
},
{
"path": "src/query_filter.h",
"chars": 1237,
"preview": "#ifndef __QUERY_FILTER_H__\n#define __QUERY_FILTER_H__\n\n#include <stdint.h>\n#include \"metadata_index.h\"\n\nenum comparison "
},
{
"path": "src/search.c",
"chars": 18385,
"preview": "#define _GNU_SOURCE\n#include <stdlib.h>\n#include <stdio.h>\n#include <err.h>\n#include <string.h>\n#include <getopt.h>\n#inc"
},
{
"path": "src/search_file.c",
"chars": 3927,
"preview": "#include <stdlib.h>\n#include <stdio.h>\n#include <err.h>\n#include <string.h>\n#include <htslib/kstring.h>\n\n#include \"util."
},
{
"path": "src/server_enrichment.c",
"chars": 32105,
"preview": "#define _GNU_SOURCE\n#include <sys/types.h>\n#include <sys/select.h>\n#include <sys/socket.h>\n#include <stdio.h>\n#include <"
},
{
"path": "src/server_overlap.c",
"chars": 12344,
"preview": "#include <string.h>\n#include <stdio.h>\n#include <stdlib.h>\n#include <sys/types.h>\n#include <sys/select.h>\n#include <sys/"
},
{
"path": "src/sig_test.c",
"chars": 4720,
"preview": "#include <stdlib.h>\n#include <stdio.h>\n#include <err.h>\n#include <string.h>\n\n#include \"giggle_index.h\"\n#include \"wah.h\"\n"
},
{
"path": "src/speed_tests.c",
"chars": 1854,
"preview": "#include <stdlib.h>\n#include <stdio.h>\n#include <err.h>\n\n#include \"wah.h\"\n#include \"timer.h\"\n#include \"ll.h\"\n\nint main(i"
},
{
"path": "src/test.c",
"chars": 3690,
"preview": "#include <stdlib.h>\n#include <stdio.h>\n#include <err.h>\n#include <string.h>\n\n#include \"giggle_index.h\"\n#include \"wah.h\"\n"
},
{
"path": "src/timer.c",
"chars": 1043,
"preview": "/*****************************************************************************\ntimer.c\n(c) 2012 - Ryan M. Layer\nHall Lab"
},
{
"path": "src/timer.h",
"chars": 648,
"preview": "/*****************************************************************************\ntimer.h\n(c) 2012 - Ryan M. Layer\nHall Lab"
},
{
"path": "src/util.c",
"chars": 6656,
"preview": "#define _GNU_SOURCE\n\n#include <err.h>\n#include <float.h>\n#include <glob.h>\n#include <libgen.h>\n#include <limits.h>\n#incl"
},
{
"path": "src/util.h",
"chars": 1488,
"preview": "#ifndef __UTIL_H__\n#define __UTIL_H__\n\n#define _GNU_SOURCE\n\n#include <ftw.h>\n#include <regex.h>\n#include <stdint.h>\n#inc"
},
{
"path": "src/wah.c",
"chars": 29875,
"preview": "#define _GNU_SOURCE\n\n#include <stdio.h>\n#include <stdlib.h>\n#include <stdint.h>\n#include <math.h>\n#include <inttypes.h>\n"
},
{
"path": "src/wah.h",
"chars": 3150,
"preview": "#ifndef __WAH_H__\n#define __WAH_H__\n\n#include <stdint.h>\n#include \"bpt.h\"\n#include \"giggle_index.h\"\n\n#define BYTE 8\n#def"
},
{
"path": "src/zlib_wrapper.c",
"chars": 945,
"preview": "#define _GNU_SOURCE\n\n#include <stdlib.h>\n#include <err.h>\n#include \"zlib_wrapper.h\"\n\nvoid* zlib_compress(void *data, uLo"
},
{
"path": "src/zlib_wrapper.h",
"chars": 399,
"preview": "#ifndef __ZLIB_WRAPPER_H__\n#define __ZLIB_WRAPPER_H__\n\n#include <zlib.h>\n\n/**\n * @brief level must be between 0 and 9: \n"
},
{
"path": "test/func/giggle_tests.sh",
"chars": 2749,
"preview": "#!/bin/bash\n\ntest -e ssshtest || wget -q https://raw.githubusercontent.com/ryanlayer/ssshtest/master/ssshtest\n\n. ssshtes"
},
{
"path": "test/unit/Makefile",
"chars": 1122,
"preview": "UNITY_ROOT=./unity\nCC=gcc\nSRC=../../src/\nTEST_SRC = $(filter-out $(wildcard *_Runner.c), $(wildcard *.c))\nTEST_NAMES=$(T"
},
{
"path": "test/unit/test_bpt.c",
"chars": 71560,
"preview": "#include <stdio.h>\n#include <stdlib.h>\n#include <time.h> \n#include <math.h>\n#include <stdio.h>\n#include <inttypes.h>\n#in"
},
{
"path": "test/unit/test_bulk_insert.c",
"chars": 74869,
"preview": "#define _GNU_SOURCE\n\n#include \"util.h\"\n\n#include <stdbool.h>\n#include <stdio.h>\n#include <stdlib.h>\n#include <math.h>\n#i"
},
{
"path": "test/unit/test_cache.c",
"chars": 11981,
"preview": "#include <stdio.h>\n#include <stdlib.h>\n#include <math.h>\n#include <stdio.h>\n#include <inttypes.h>\n#include <string.h>\n\n#"
},
{
"path": "test/unit/test_disk_store.c",
"chars": 2833,
"preview": "#include <stdio.h>\n#include <stdlib.h>\n#include <math.h>\n#include <stdio.h>\n#include <inttypes.h>\n#include <string.h>\n\n#"
},
{
"path": "test/unit/test_file_read.c",
"chars": 19650,
"preview": "#include <stdio.h>\n#include <stdlib.h>\n#include <math.h>\n#include <stdio.h>\n#include <inttypes.h>\n#include <string.h>\n#i"
},
{
"path": "test/unit/test_genetic_offset_index.c",
"chars": 660,
"preview": "#define _GNU_SOURCE\n\n#include \"util.h\"\n\n#include <stdbool.h>\n#include <stdio.h>\n#include <stdlib.h>\n#include <math.h>\n#i"
},
{
"path": "test/unit/test_giggle.c",
"chars": 69698,
"preview": "#define _GNU_SOURCE\n\n#include \"util.h\"\n\n#include <stdbool.h>\n#include <stdio.h>\n#include <stdlib.h>\n#include <math.h>\n#i"
},
{
"path": "test/unit/test_hash_list.c",
"chars": 1736,
"preview": "#include <stdio.h>\n#include <stdlib.h>\n#include <math.h>\n#include <stdio.h>\n#include <inttypes.h>\n#include <string.h>\n\n#"
},
{
"path": "test/unit/test_kfunc.c",
"chars": 3425,
"preview": "#include <stdio.h>\n#include <stdlib.h>\n#include <math.h>\n\n#include \"unity.h\"\n#include \"kfunc.h\"\n\nvoid setUp(void) { }\nvo"
},
{
"path": "test/unit/test_leaf_data.c",
"chars": 14902,
"preview": "#define _GNU_SOURCE\n\n#include \"util.h\"\n\n#include <stdbool.h>\n#include <stdio.h>\n#include <stdlib.h>\n#include <math.h>\n#i"
},
{
"path": "test/unit/test_lists.c",
"chars": 28590,
"preview": "#define _GNU_SOURCE\n#include <stdio.h>\n#include <stdlib.h>\n#include <math.h>\n#include <stdio.h>\n#include <inttypes.h>\n#i"
},
{
"path": "test/unit/test_ll.c",
"chars": 2358,
"preview": "#include <stdio.h>\n#include <stdlib.h>\n#include <math.h>\n#include <stdio.h>\n#include <inttypes.h>\n#include <string.h>\n\n#"
},
{
"path": "test/unit/test_offset_index.c",
"chars": 79155,
"preview": "#define _GNU_SOURCE\n\n#include \"util.h\"\n\n#include <stdbool.h>\n#include <stdio.h>\n#include <stdlib.h>\n#include <math.h>\n#i"
},
{
"path": "test/unit/test_util.c",
"chars": 3566,
"preview": "#include <stdio.h>\n#include <stdlib.h>\n#include <math.h>\n#include <stdio.h>\n#include <inttypes.h>\n#include <string.h>\n#i"
},
{
"path": "test/unit/test_zlib_wrapper.c",
"chars": 629,
"preview": "#include <stdio.h>\n#include <stdlib.h>\n#include <math.h>\n#include <stdio.h>\n#include <inttypes.h>\n#include <string.h>\n\n#"
},
{
"path": "test/unit/unity/generate_test_runner.rb",
"chars": 17739,
"preview": "# ==========================================\n# Unity Project - A Test Framework for C\n# Copyright (c) 2007 Mike Karl"
},
{
"path": "test/unit/unity/type_sanitizer.rb",
"chars": 212,
"preview": "module TypeSanitizer\n \n def self.sanitize_c_identifier(unsanitized)\n # convert filename to valid C identifier by re"
}
]
// ... and 26 more files (download for full content)
About this extraction
This page contains the full source code of the ryanlayer/giggle GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 226 files (2.0 MB), approximately 530.3k tokens, and a symbol index with 1242 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.