Skip to content

Client Configuration

Alan Cleary edited this page Nov 2, 2022 · 31 revisions

To configure the Genome Context Viewer client, edit the config.json file in the client/src/config/ directory. When the app is built, the compiled code is saved to client/dist/. This includes a copy of the config directory and its contents. Edit config.json in this copy to configure the built version of the client. The json contains a list of data-store objects and conforms to the following schema:

{
  "brand": {
    "favicon": String,  // URL to favicon
    "url": String,
    "img": String,  // URL to brand image
    "name": String,
    "slogan": String,
    "hide": Boolean  // whether or not to hide the name and slogan until a mouseover (default=true)
  },
  "communication": {
    "communicate": boolean,  // whether communication should be enabled (false by default
    "channel": String  // the default channel (communication will not be available if not defined)
  },
  "dashboard": {
    "gcvScreenshot": {
      "img": String,  // URL to example screenshot (not required if using "responsive")
      "responsive": [String, ...], // an array of string where each string contains two space separated values
                                   // the first being a path to an image and the second being the image's intrinsic size
                                   // e.g. ["screenshot-600w.png 600w", ...]
      "caption": String
    },
    "trackScreenshot": {
      "img": String,  // URL to example screenshot (not required if using "responsive")
      "responsive": [String, ...], // an array of string where each string contains two space separated values
                                   // the first being a path to an image and the second being the image's intrinsic size
                                   // e.g. ["screenshot-600w.png 600w", ...]
      "caption": String
    },
    "microsyntenyScreenshot": {
      "img": String,  // URL to example screenshot (not required if using "responsive")
      "responsive": [String, ...], // an array of string where each string contains two space separated values
                                   // the first being a path to an image and the second being the image's intrinsic size
                                   // e.g. ["screenshot-600w.png 600w", ...]
      "caption": String
    },
    "dotplotsScreenshot": {
      "img": String,  // URL to example screenshot (not required if using "responsive")
      "responsive": [String, ...], // an array of string where each string contains two space separated values
                                   // the first being a path to an image and the second being the image's intrinsic size
                                   // e.g. ["screenshot-600w.png 600w", ...]
      "caption": String
    },
    "macrosyntenyScreenshot": {
      "img": String,  // URL to example screenshot (not required if using "responsive")
      "responsive": [String, ...], // an array of string where each string contains two space separated values
                                   // the first being a path to an image and the second being the image's intrinsic size
                                   // e.g. ["screenshot-600w.png 600w", ...]
      "caption": String
    },
    "examples": [String, ...]  // each string should contain HTML with a description and link to an example
  },
  "miscellaneous": {
    "searchHelpText": String
  },
  "servers": [
    {
      "id": String,  // a unique identifier with no spaces or symbols
      "name": String,  // the name displayed in the UI
      "description": String,  // A brief description of the server
      "website": String,  // URL to server's website
      "genes": {
        "type": "GET" | "POST" | "GRPC",
        "url": String
      },
      "chromosome": {
        "type": "GET" | "POST" | "GRPC",
        "url": String
      },
      "microSearch": {
        "type": "GET" | "POST" | "GRPC",
        "url": String
      },
      "blocks": {
        "type": "GET" | "POST" | "GRPC",
        "url": String
      },
      "region": {
        "type": "GET" | "POST" | "GRPC",
        "url": String
      },
      "search": {
        "type": "GET" | "POST" | "GRPC",
        "url": String
      },
      "geneLinks": {
        "type": "GET" | "POST",
        "url": String
      },
      "regionLinks": {
        "type": "GET" | "POST",
        "url": String
      },
      "familyTreeLink": {
        "type": "GET" | "POST",
        "url": String
      },
    },
    ...
  ],
  "macroLegend": {
    "colors": {
      "scriptUrl": String,  // URL for JavaScript file that provides coloring based on Genus (taxa) name
      "functionName": String  // the name of the coloring function provided by the JavaScript
    },
    "format": String  // how the contents of the macro-synteny legend will be formatted; must contain one or more of the
                      // following placeholders: "{GENUS}", "{SPECIES}", "{CHROMOSOME}"
                      // this formatted string is what will be passed to the function provided by the colors script
                      // (default="{GENUS} {SPECIES}")
  },
  "defaultParameters": {
    "gene": {
      "macroSynteny": {
        "matched": Number,  // positive integer
        "intermediate": Number,  // non-negative integer
        "mask": Number,  // positive integer
        "minChromosomeGenes": Number,  // positive integer
        "minChromosomeLength": Number,  // positive integer
      },
      "macroSyntenyOrder": "chromosome" | "position",
      "microSynteny": {
        "neighbors": Number,  // positive integer
        "matched": Number,  // non-zero percent as decimal (<1) or positive integer (≥1)
        "intermediate": Number,  // percent as decimal (<1) or non-negative integer (≥0)
      },
      "microSyntenyAlignment": {
        "algorithm":  "repeat" | "smith-water",
        "match": Number,  // positive integer
        "mismatch": Number,  // positive integer
        "gap": -1,  // negative integer
        "score": 30,  // positive integer
        "threshold": 25,  // positive integer
      },
      "microSyntenyClustering": {
        "linkage": "average" | "single" | "complete",
        "cthreshold": 20,  // positive integer
      },
      "microSyntenyOrder": "chromosome" | "distance",
    },
  },
}
Clone this wiki locally