diff --git a/.appveyor.yml b/.appveyor.yml index c4d16387..7b4aeb31 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -1,4 +1,7 @@ # See https://www.appveyor.com/docs/getting-started-with-appveyor-for-linux/ +# Don't build branches with a PR, since their build will be created with the PR itself. +# Otherwise there would be two builds -- one for the PR and one for the branch. +# If you're having issues with getting your PR to build, make sure there are no merge conflicts. skip_branch_with_pr: true # Enable 'Do not build on "Push" events' in the AppVeyor project settings diff --git a/.github/workflows/manubot.yaml b/.github/workflows/manubot.yaml new file mode 100644 index 00000000..faa3ad08 --- /dev/null +++ b/.github/workflows/manubot.yaml @@ -0,0 +1,50 @@ +name: Manubot +on: + push: + branches: + - master + pull_request: + branches: + - master +jobs: + manubot: + name: Manubot + runs-on: ubuntu-latest + env: + GITHUB_PULL_REQUEST_SHA: ${{ github.event.pull_request.head.sha }} + steps: + - name: Set Environment Variables + run: | + TRIGGERING_SHA=${GITHUB_PULL_REQUEST_SHA:-$GITHUB_SHA} + TRIGGERING_SHA_7=${TRIGGERING_SHA::7} + echo "::set-env name=TRIGGERING_SHA_7::$TRIGGERING_SHA_7" + echo "TRIGGERING_SHA: $TRIGGERING_SHA" + - name: Checkout Repository + uses: actions/checkout@v2 + with: + # fetch entire commit history to support get_rootstock_commit + fetch-depth: 0 + - name: Install Environment + uses: goanpeca/setup-miniconda@v1 + with: + activate-environment: manubot + environment-file: build/environment.yml + auto-activate-base: false + miniconda-version: 'latest' + - name: Build Manuscript + shell: bash --login {0} + run: bash build/build.sh + - name: Upload Artifacts + uses: actions/upload-artifact@v1 + with: + name: manuscript-${{ github.run_id }}-${{ env.TRIGGERING_SHA_7 }} + path: output + - name: Deploy Manuscript + if: github.ref == 'refs/heads/master' && github.event_name == 'push' && !github.event.repository.fork + env: + MANUBOT_ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }} + MANUBOT_SSH_PRIVATE_KEY: ${{ secrets.MANUBOT_SSH_PRIVATE_KEY }} + CI_BUILD_WEB_URL: https://github.com/${{ github.repository }}/commit/${{ github.sha }}/checks + CI_JOB_WEB_URL: https://github.com/${{ github.repository }}/runs/${{ github.run_id }} + shell: bash --login {0} + run: bash ci/deploy.sh diff --git a/.travis.yml b/.travis.yml index 8edfab99..8bdbe0a4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,8 +15,8 @@ cache: - ci/cache deploy: provider: script - script: bash -o xtrace ci/deploy.sh + script: bash ci/deploy.sh skip_cleanup: true on: branch: master - condition: $TRAVIS_EVENT_TYPE = "push" + condition: $TRAVIS_EVENT_TYPE = "push" && (-v MANUBOT_SSH_PRIVATE_KEY || "${!encrypted_*}" != "") diff --git a/README.md b/README.md index 9efbd299..5bc6a5d4 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,8 @@ [![HTML Manuscript](https://img.shields.io/badge/manuscript-HTML-blue.svg)](https://greenelab.github.io/deep-review/) [![PDF Manuscript](https://img.shields.io/badge/manuscript-PDF-blue.svg)](https://greenelab.github.io/deep-review/manuscript.pdf) -[![Build Status](https://travis-ci.org/greenelab/deep-review.svg?branch=master)](https://travis-ci.org/greenelab/deep-review) +[![GitHub Actions Status](https://github.com/greenelab/deep-review/workflows/Manubot/badge.svg)](https://github.com/greenelab/deep-review/actions) +[![Travis Build Status](https://travis-ci.org/greenelab/deep-review.svg?branch=master)](https://travis-ci.org/greenelab/deep-review) [![Code Climate](https://codeclimate.com/github/greenelab/deep-review/badges/gpa.svg)](https://codeclimate.com/github/greenelab/deep-review) ## Manuscript description @@ -91,7 +92,6 @@ The directories are as follows: + [`webpage`](webpage) is a directory meant to be rendered as a static webpage for viewing the HTML manuscript. + [`build`](build) contains commands and tools for building the manuscript. + [`ci`](ci) contains files necessary for deployment via continuous integration. - For the CI configuration, see [`.travis.yml`](.travis.yml). ### Local execution @@ -129,19 +129,17 @@ bash build/autobuild.sh ### Continuous Integration -[![Build Status](https://travis-ci.org/greenelab/deep-review.svg?branch=master)](https://travis-ci.org/greenelab/deep-review) - -Whenever a pull request is opened, Travis CI will test whether the changes break the build process to generate a formatted manuscript. +Whenever a pull request is opened, CI (continuous integration) will test whether the changes break the build process to generate a formatted manuscript. The build process aims to detect common errors, such as invalid citations. -If your pull request build fails, see the Travis CI logs for the cause of failure and revise your pull request accordingly. +If your pull request build fails, see the CI logs for the cause of failure and revise your pull request accordingly. -When a commit to the `master` branch occurs (for example, when a pull request is merged), Travis CI builds the manuscript and writes the results to the [`gh-pages`](https://github.com/greenelab/deep-review/tree/gh-pages) and [`output`](https://github.com/greenelab/deep-review/tree/output) branches. +When a commit to the `master` branch occurs (for example, when a pull request is merged), CI builds the manuscript and writes the results to the [`gh-pages`](https://github.com/greenelab/deep-review/tree/gh-pages) and [`output`](https://github.com/greenelab/deep-review/tree/output) branches. The `gh-pages` branch uses [GitHub Pages](https://pages.github.com/) to host the following URLs: + **HTML manuscript** at https://greenelab.github.io/deep-review/ + **PDF manuscript** at https://greenelab.github.io/deep-review/manuscript.pdf -For continuous integration configuration details, see [`.travis.yml`](.travis.yml). +For continuous integration configuration details, see [`.github/workflows/manubot.yaml`](.github/workflows/manubot.yaml) if using GitHub Actions or [`.travis.yml`](.travis.yml) if using Travis CI. ## License diff --git a/USAGE.md b/USAGE.md index 1c078e73..47db46fb 100644 --- a/USAGE.md +++ b/USAGE.md @@ -12,6 +12,9 @@ Markdown files are identified by their `.md` extension and ordered according to For basic formatting, check out the [CommonMark Help](https://commonmark.org/help/) page for an introduction to the formatting options provided by standard markdown. In addition, Manubot supports an extended version of markdown, tailored for scholarly writing, which includes [Pandoc's Markdown](https://pandoc.org/MANUAL.html#pandocs-markdown) and the extensions discussed below. +The `content/02.delete-me.md` file in the Rootstock repository shows many of the elements and formatting options supported by Manubot. +See the [raw markdown](https://gitlab.com/manubot/rootstock/blob/master/content/02.delete-me.md#L) in this file and compare it to the [rendered manuscript](https://manubot.github.io/rootstock/). + Within a paragraph in markdown, single newlines are interpreted as whitespace (same as a space). A paragraph's source does not need to contain newlines. However, "one paragraph per line" makes the git diff less precise, leading to less granular review commenting, and makes conflicts more likely. @@ -73,9 +76,15 @@ We recommend always specifying the width of SVG images (even if just `width="100 ### Citations -Manubot supports Pandoc [citations](https://pandoc.org/MANUAL.html#citations) via `pandoc-citeproc`. -However, Manubot performs automated citation processing and metadata retrieval on in-text citations. -Therefore, citations must be of the following form: `@source:identifier`, where `source` is one of the options described below. +Manubot supports Pandoc [citations](https://pandoc.org/MANUAL.html#citations). +Citations are processed in 3 stages: + +1. Pandoc parses the input Markdown to locate citation keys. +2. The [`pandoc-manubot-cite`](https://github.com/manubot/manubot#pandoc-filter) filter automatically retreives the bibliographic metadata for citation keys. +3. The [`pandoc-citeproc`](https://github.com/jgm/pandoc-citeproc/blob/master/man/pandoc-citeproc.1.md) filter renders in-text citations and generates styled references. + +When using Manubot, citation keys should be formatted like `@source:identifier`, +where `source` is one of the options described below. When choosing which source to use for a citation, we recommend the following order: 1. DOI (Digital Object Identifier), cite like `@doi:10.15363/thinklab.4`. @@ -106,17 +115,60 @@ Note that multiple citations must be semicolon separated. Be careful not to cite the same study using identifiers from multiple sources. For example, the following citations all refer to the same study, but will be treated as separate references: `[@doi:10.7717/peerj.705; @pmcid:PMC4304851; @pmid:25648772]`. +Citation keys must adhere to the syntax described in the [Pandoc manual](https://pandoc.org/MANUAL.html#citations): + +> The citation key must begin with a letter, digit, or `_`, and may contain alphanumerics, `_`, and internal punctuation characters (`:.#$%&-+?<>~/`). + +To evaluate whether a citation key fully matches this syntax, try [this online regex](https://regex101.com/r/mXZyY2/latest). +If the citation key is not valid, use the [citation tag](#citation-tag) workaround below. +This is required for citation keys that contain forbidden characters such as `;` or `=` or end with a non-alphanumeric character such as `/`. + + +Prior to Rootstock commit [`6636b91`](https://github.com/manubot/rootstock/commit/6636b912c6b41593acd2041d34cd4158c1b317fb) on 2020-01-14, Manubot processed citations separately from Pandoc. +Switching to a Pandoc filter improved reliability on complex documents, but restricted the syntax of citation keys slightly. +Therefore, users upgrading Rootstock may find some citations become invalid. +By default, `pandoc-manubot-cite` does not fail upon invalid citations, although this can be changed by adding the following to `metadata.yaml`: + +```yaml +pandoc: + manubot-fail-on-errors: True +``` + #### Citation tags -The system also supports citation tags, which are recommended for the following applications: +The system also supports citation tags, which map from one citation key (an alias) to another. +Tags are recommended for the following applications: -1. A citation's identifier contains forbidden characters, such as `;` or `=`, or ends with a non-alphanumeric character other than `/`. - In these instances, you must use a tag. +1. A citation's identifier contains forbidden characters, you must use a tag. 2. A single reference is cited many times. Therefore, it might make sense to define a tag, so if the citation updates (e.g. a newer version becomes available), only a single change is required. -Tags should be defined in [`content/citation-tags.tsv`](content/citation-tags.tsv). -If `citation-tags.tsv` defines the tag `study-x`, then this study can be cited like `@tag:study-x`, for example, `[@tag:Zhou2015_deep_sea]`. +Tags can be defined using Markdown's [link reference syntax](https://spec.commonmark.org/0.29/#link-reference-definitions) as follows: + +```markdown +Citing a URL containing a `?` character [@tag:my-url]. +Citing a DOI containing parentheses [@doi:my-doi]. + +[@tag:my-url]: url:https://openreview.net/forum?id=HkwoSDPgg +[@tag:my-doi]: doi:10.1016/S0022-2836(05)80360-2 +``` + +This syntax is also used by [`pandoc-url2cite`](https://github.com/phiresky/pandoc-url2cite). +Make sure to place these link reference definitions in their own paragraphs. +These paragraphs can be in any of the content Markdown files. + +Another method for defining tags is to define `pandoc.citekey-aliases` in `metadata.yaml`: + +```yaml +pandoc: + citekey-aliases: + tag:my-url: url:https://openreview.net/forum?id=HkwoSDPgg + tag:my-doi: doi:10.1016/S0022-2836(05)80360-2 +``` + +For backwards compatibility, tags can also be defined in `content/citation-tags.tsv`. +If `citation-tags.tsv` defines the tag `study-x`, then this study can be cited like `@tag:study-x`. +This method is deprecated. ## Reference metadata @@ -179,7 +231,7 @@ The following YAML shows the supported key–value pairs for an author: ```yaml github: dhimmel # strongly suggested name: Daniel S. Himmelstein # mandatory -initials: DSH # strongly suggested +initials: DSH # optional orcid: 0000-0002-3012-7446 # mandatory twitter: dhimmel # optional email: daniel.himmelstein@gmail.com # suggested diff --git a/build/README.md b/build/README.md index 40a3cb41..9516922e 100644 --- a/build/README.md +++ b/build/README.md @@ -1,17 +1,20 @@ # Building the manuscript [`build.sh`](build.sh) builds the repository. -`sh build/build.sh` should be executed from the root directory of the repository. +`bash build/build.sh` should be executed from the root directory of the repository. By default, `build.sh` creates HTML and PDF outputs. However, setting the `BUILD_PDF` environment variable to `false` will suppress PDF output. For example, run local builds using the command `BUILD_PDF=false bash build/build.sh`. To build a DOCX file of the manuscript, set the `BUILD_DOCX` environment variable to `true`. For example, use the command `BUILD_DOCX=true bash build/build.sh`. -To export DOCX for all Travis builds, set a [Travis environment variable](https://docs.travis-ci.com/user/environment-variables/#Defining-Variables-in-Repository-Settings). +To export DOCX for all CI builds, set an environment variable (see docs for [GitHub Actions](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/using-environment-variables) or [Travis CI](https://docs.travis-ci.com/user/environment-variables/#Defining-Variables-in-Repository-Settings)). Currently, equation numbers via `pandoc-eqnos` are not supported for DOCX output. -There is varying support for embedding images in DOCX output. -Please reference [Pull Request #40](https://github.com/manubot/rootstock/pull/40) for possible solutions and continued discussion. + +Format conversion is done using [Pandoc](https://pandoc.org/MANUAL.html). +`build.sh` calls `pandoc` commands using the options specified in [`pandoc-defaults`](pandoc-defaults). +Each file specifies a set of pandoc `--defaults` options for a given format. +To change the options, either edit the YAML files directly or add additional `--defaults` files. ## Environment @@ -49,7 +52,8 @@ If Docker is available, `build.sh` uses the [Athena](https://www.athenapdf.com/) Otherwise, `build.sh` uses [WeasyPrint](https://weasyprint.org/) to build the PDF. It is common for WeasyPrint to generate many warnings and errors that can be safely ignored. Examples are shown below: -``` + +```text WARNING: Ignored `pointer-events: none` at 3:16, unknown property. WARNING: Ignored `font-display:auto` at 1:53114, descriptor not supported. ERROR: Failed to load font at "https://use.fontawesome.com/releases/v5.7.2/webfonts/fa-brands-400.eot#iefix" diff --git a/build/build.sh b/build/build.sh index 1ed0e1c5..99bba951 100755 --- a/build/build.sh +++ b/build/build.sh @@ -17,45 +17,22 @@ manubot process \ --content-directory=content \ --output-directory=output \ --cache-directory=ci/cache \ + --skip-citations \ --log-level=INFO -# pandoc settings -CSL_PATH=build/assets/style.csl -BIBLIOGRAPHY_PATH=output/references.json -INPUT_PATH=output/manuscript.md +# Pandoc's configuration is specified via files of option defaults +# located in the PANDOC_DEFAULTS_DIR directory. +PANDOC_DEFAULTS_DIR="${PANDOC_DEFAULTS_DIR:-build/pandoc-defaults}" # Make output directory mkdir -p output # Create HTML output -# http://pandoc.org/MANUAL.html +# https://pandoc.org/MANUAL.html echo >&2 "Exporting HTML manuscript" pandoc --verbose \ - --from=markdown \ - --to=html5 \ - --filter=pandoc-fignos \ - --filter=pandoc-eqnos \ - --filter=pandoc-tablenos \ - --bibliography="$BIBLIOGRAPHY_PATH" \ - --csl="$CSL_PATH" \ - --metadata link-citations=true \ - --include-after-body=build/themes/default.html \ - --include-after-body=build/plugins/table-scroll.html \ - --include-after-body=build/plugins/anchors.html \ - --include-after-body=build/plugins/accordion.html \ - --include-after-body=build/plugins/tooltips.html \ - --include-after-body=build/plugins/jump-to-first.html \ - --include-after-body=build/plugins/link-highlight.html \ - --include-after-body=build/plugins/table-of-contents.html \ - --include-after-body=build/plugins/lightbox.html \ - --include-after-body=build/plugins/attributes.html \ - --mathjax \ - --variable math="" \ - --include-after-body=build/plugins/math.html \ - --include-after-body=build/plugins/hypothesis.html \ - --include-after-body=build/plugins/analytics.html \ - --output=output/manuscript.html \ - "$INPUT_PATH" + --defaults="$PANDOC_DEFAULTS_DIR/common.yaml" \ + --defaults="$PANDOC_DEFAULTS_DIR/html.yaml" # Return null if docker command is missing, otherwise return path to docker DOCKER_EXISTS="$(command -v docker || true)" @@ -67,20 +44,9 @@ if [ "${BUILD_PDF:-}" != "false" ] && [ -z "$DOCKER_EXISTS" ]; then if [ -L images ]; then rm images; fi # if images is a symlink, remove it ln -s content/images pandoc \ - --from=markdown \ - --to=html5 \ - --pdf-engine=weasyprint \ - --pdf-engine-opt=--presentational-hints \ - --filter=pandoc-fignos \ - --filter=pandoc-eqnos \ - --filter=pandoc-tablenos \ - --bibliography="$BIBLIOGRAPHY_PATH" \ - --csl="$CSL_PATH" \ - --metadata link-citations=true \ - --webtex=https://latex.codecogs.com/svg.latex? \ - --include-after-body=build/themes/default.html \ - --output=output/manuscript.pdf \ - "$INPUT_PATH" + --defaults="$PANDOC_DEFAULTS_DIR/common.yaml" \ + --defaults="$PANDOC_DEFAULTS_DIR/html.yaml" \ + --defaults="$PANDOC_DEFAULTS_DIR/pdf-weasyprint.yaml" rm images fi @@ -112,18 +78,8 @@ fi if [ "${BUILD_DOCX:-}" = "true" ]; then echo >&2 "Exporting Word Docx manuscript" pandoc --verbose \ - --from=markdown \ - --to=docx \ - --filter=pandoc-fignos \ - --filter=pandoc-eqnos \ - --filter=pandoc-tablenos \ - --bibliography="$BIBLIOGRAPHY_PATH" \ - --csl="$CSL_PATH" \ - --metadata link-citations=true \ - --reference-doc=build/themes/default.docx \ - --resource-path=.:content \ - --output=output/manuscript.docx \ - "$INPUT_PATH" + --defaults="$PANDOC_DEFAULTS_DIR/common.yaml" \ + --defaults="$PANDOC_DEFAULTS_DIR/docx.yaml" fi echo >&2 "Build complete" diff --git a/build/environment.yml b/build/environment.yml index 3841e7e1..9732a606 100644 --- a/build/environment.yml +++ b/build/environment.yml @@ -6,20 +6,21 @@ dependencies: - cairocffi=0.8.0 - cffi=1.12.3 - ghp-import=0.5.5 - - jinja2=2.10.3 - - jsonschema=3.1.1 - - pandas=0.25.2 - - pandoc=2.7.3 + - jinja2=2.11.1 + - jsonschema=3.2.0 + - pandas=1.0.1 + - pandoc=2.9.2 - pango=1.40.14 - - pip=19.3 - - psutil=5.6.3 - - python=3.7.3 - - pyyaml=5.1 - - requests=2.22.0 - - watchdog=0.9.0 + - pip=20.0 + - psutil=5.7.0 + - python=3.7.6 + - pyyaml=5.3 + - requests=2.23.0 + - watchdog=0.10.2 + - yamllint=1.20.0 - pip: - errorhandler==2.0.1 - - git+https://github.com/manubot/manubot@2ffcec1183bdaf7c49a81490b9c31d05e977b351 + - git+https://github.com/manubot/manubot@a022e715f266c0f116a6b38f993bd696dc62094a - jsonref==0.2 - opentimestamps-client==0.7.0 - opentimestamps==0.4.1 diff --git a/build/pandoc-defaults/common.yaml b/build/pandoc-defaults/common.yaml new file mode 100644 index 00000000..12c0c343 --- /dev/null +++ b/build/pandoc-defaults/common.yaml @@ -0,0 +1,13 @@ +# Pandoc --defaults shared between Manubot output formats. +from: markdown +input-file: output/manuscript.md +filters: +- pandoc-fignos +- pandoc-eqnos +- pandoc-tablenos +- pandoc-manubot-cite +- pandoc-citeproc +wrap: preserve +metadata: + csl: build/assets/style.csl + link-citations: true diff --git a/build/pandoc-defaults/docx.yaml b/build/pandoc-defaults/docx.yaml new file mode 100644 index 00000000..b8f2f932 --- /dev/null +++ b/build/pandoc-defaults/docx.yaml @@ -0,0 +1,8 @@ +# Pandoc --defaults for DOCX output. +# Load on top of common defaults. +to: docx +output-file: output/manuscript.docx +reference-doc: build/themes/default.docx +resource-path: + - '.' + - content diff --git a/build/pandoc-defaults/html.yaml b/build/pandoc-defaults/html.yaml new file mode 100644 index 00000000..be2a4239 --- /dev/null +++ b/build/pandoc-defaults/html.yaml @@ -0,0 +1,21 @@ +# Pandoc --defaults for HTML output. +# Load on top of common defaults. +to: html5 +output-file: output/manuscript.html +include-after-body: +- build/themes/default.html +- build/plugins/anchors.html +- build/plugins/accordion.html +- build/plugins/tooltips.html +- build/plugins/jump-to-first.html +- build/plugins/link-highlight.html +- build/plugins/table-of-contents.html +- build/plugins/lightbox.html +- build/plugins/attributes.html +- build/plugins/math.html +- build/plugins/hypothesis.html +- build/plugins/analytics.html +variables: + math: '' +html-math-method: + method: mathjax diff --git a/build/pandoc-defaults/pdf-weasyprint.yaml b/build/pandoc-defaults/pdf-weasyprint.yaml new file mode 100644 index 00000000..4f7666a8 --- /dev/null +++ b/build/pandoc-defaults/pdf-weasyprint.yaml @@ -0,0 +1,9 @@ +# Pandoc --defaults for PDF output via weasyprint. +# Load on top of HTML defaults. +output-file: output/manuscript.pdf +pdf-engine: weasyprint +pdf-engine-opts: +- '--presentational-hints' +html-math-method: + method: webtex + url: 'https://latex.codecogs.com/svg.latex?' diff --git a/build/plugins/accordion.html b/build/plugins/accordion.html index ebd6ec8d..eaddd546 100644 --- a/build/plugins/accordion.html +++ b/build/plugins/accordion.html @@ -99,17 +99,15 @@ function getHashTarget(link) { const hash = link ? link.hash : window.location.hash; const id = hash.slice(1); - let target = document.querySelector( - '[id="' + id + '"], [name="' + id + '"]' - ); + let target = document.querySelector('[id="' + id + '"]'); if (!target) return; // if figure or table, modify target to get expected element - if (hash.indexOf('#fig:') === 0) - target = target.parentNode; - if (hash.indexOf('#tbl:') === 0) - target = target.nextElementSibling; + if (id.indexOf('fig:') === 0) + target = target.querySelector('figure'); + if (id.indexOf('tbl:') === 0) + target = target.querySelector('table'); return target; } diff --git a/build/plugins/anchors.html b/build/plugins/anchors.html index 92015d1b..4f2e6ba3 100644 --- a/build/plugins/anchors.html +++ b/build/plugins/anchors.html @@ -23,7 +23,7 @@ const options = { // which types of elements to add anchors next to, in // "document.querySelector" format - typesQuery: 'h1, h2, h3, figure, table', + typesQuery: 'h1, h2, h3, [id^="fig:"], [id^="tbl:"], [id^="eq:"]', // whether plugin is on or not enabled: 'true' }; @@ -50,11 +50,13 @@ function onScroll() { // if url has hash and user has scrolled out of view of hash // target, remove hash from url + const tolerance = 100; const target = getHashTarget(); if (target) { if ( - target.getBoundingClientRect().top > window.innerHeight || - target.getBoundingClientRect().bottom < 0 + target.getBoundingClientRect().top > + window.innerHeight + tolerance || + target.getBoundingClientRect().bottom < 0 - tolerance ) history.pushState(null, null, ' '); } @@ -62,24 +64,20 @@ // add anchor to element function addAnchor(element) { - let withId; // element with unique id let addTo; // element to add anchor button to // if figure or table, modify withId and addTo to get expected // elements - if (element.tagName.toLowerCase() === 'figure') { - withId = element.querySelector('img'); + if (element.id.indexOf('fig:') === 0) { addTo = element.querySelector('figcaption'); - } else if (element.tagName.toLowerCase() === 'table') { - withId = - element.previousElementSibling || - element.parentNode.previousElementSibling; + } else if (element.id.indexOf('tbl:') === 0) { addTo = element.querySelector('caption'); + } else if (element.id.indexOf('eq:') === 0) { + addTo = element.querySelector('.eqnos-number'); } - withId = withId || element; addTo = addTo || element; - const id = withId.id || withId.name || null; + const id = element.id || null; // do not add anchor if element doesn't have assigned id. // id is generated by pandoc and is assumed to be unique and @@ -101,17 +99,15 @@ function getHashTarget() { const hash = window.location.hash; const id = hash.slice(1); - let target = document.querySelector( - '[id="' + id + '"], [name="' + id + '"]' - ); + let target = document.querySelector('[id="' + id + '"]'); if (!target) return; // if figure or table, modify target to get expected element - if (hash.indexOf('#fig:') === 0) - target = target.parentNode; - if (hash.indexOf('#tbl:') === 0) - target = target.nextElementSibling; + if (id.indexOf('fig:') === 0) + target = target.querySelector('figure'); + if (id.indexOf('tbl:') === 0) + target = target.querySelector('table'); return target; } diff --git a/build/plugins/jump-to-first.html b/build/plugins/jump-to-first.html index 90e88ba7..e8a8088f 100644 --- a/build/plugins/jump-to-first.html +++ b/build/plugins/jump-to-first.html @@ -102,11 +102,11 @@ // add button next to each figure function makeFigureButtons() { - const figures = document.querySelectorAll('img[id^="fig:"]'); + const figures = document.querySelectorAll('[id^="fig:"]'); for (const figure of figures) { // get figure id and element to add button to const id = figure.id; - const container = figure.nextElementSibling; + const container = figure.querySelector('figcaption') || figure; const first = getFirstOccurrence(id); // if can't find link to figure, ignore @@ -130,13 +130,11 @@ // add button next to each figure function makeTableButtons() { - const tables = document.querySelectorAll('a[name^="tbl:"]'); + const tables = document.querySelectorAll('[id^="tbl:"]'); for (const table of tables) { // get ref id and element to add button to - const id = table.name; - const container = table.nextElementSibling.querySelector( - 'caption' - ); + const id = table.id; + const container = table.querySelector('caption') || table; const first = getFirstOccurrence(id); // if can't find link to table, ignore diff --git a/build/plugins/link-highlight.html b/build/plugins/link-highlight.html index a8a3ac5b..4462f509 100644 --- a/build/plugins/link-highlight.html +++ b/build/plugins/link-highlight.html @@ -86,18 +86,10 @@ function getHashTarget(link) { const hash = link ? link.hash : window.location.hash; const id = hash.slice(1); - let target = document.querySelector( - '[id="' + id + '"], [name="' + id + '"]' - ); + let target = document.querySelector('[id="' + id + '"]'); if (!target) return; - // if figure or table, modify target to get expected element - if (hash.indexOf('#fig:') === 0) - target = target.parentNode; - else if (hash.indexOf('#tbl:') === 0) - target = target.nextElementSibling.querySelector('caption'); - return target; } diff --git a/build/plugins/table-scroll.html b/build/plugins/table-scroll.html deleted file mode 100644 index 2a4473ab..00000000 --- a/build/plugins/table-scroll.html +++ /dev/null @@ -1,68 +0,0 @@ - - - diff --git a/build/plugins/tooltips.html b/build/plugins/tooltips.html index 2afc2cba..f9cbc60e 100644 --- a/build/plugins/tooltips.html +++ b/build/plugins/tooltips.html @@ -398,19 +398,15 @@ function getSource(link) { const hash = link ? link.hash : window.location.hash; const id = hash.slice(1); - let target = document.querySelector( - '[id="' + id + '"], [name="' + id + '"]' - ); + let target = document.querySelector('[id="' + id + '"]'); if (!target) return; - // if figure or table, modify target to get expected element - if (hash.indexOf('#ref-') === 0) + // if ref or figure, modify target to get expected element + if (id.indexOf('ref-') === 0) target = target.querySelector('p'); - else if (hash.indexOf('#fig:') === 0) - target = target.parentNode; - else if (hash.indexOf('#tbl:') === 0) - return; + else if (id.indexOf('fig:') === 0) + target = target.querySelector('figure'); return target; } diff --git a/build/themes/default.html b/build/themes/default.html index 3e83ddda..26675bdf 100644 --- a/build/themes/default.html +++ b/build/themes/default.html @@ -229,6 +229,7 @@ padding: 10px; /* squash table if too wide for page by forcing line breaks */ overflow-wrap: break-word; + word-break: break-word; } /* header row and even rows */ @@ -617,6 +618,43 @@ margin-bottom: 20px; } + /* -------------------------------------------------- */ + /* tablenos */ + /* -------------------------------------------------- */ + + /* tablenos wrapper */ + .tablenos { + /* show scrollbar on tables if necessary to prevent overflow */ + width: 100%; + margin: 20px 0; + } + + .tablenos > table { + /* move margins from table to table_wrapper to allow margin collapsing */ + margin: 0; + } + + @media only screen { + /* tablenos wrapper */ + .tablenos { + /* show scrollbar on tables if necessary to prevent overflow */ + overflow-x: auto !important; + } + + .tablenos th, + .tablenos td { + overflow-wrap: unset !important; + word-break: unset !important; + } + + /* table in wrapper */ + .tablenos table, + .tablenos table * { + /* don't break table words */ + overflow-wrap: normal !important; + } + } + /* -------------------------------------------------- */ /* mathjax */ /* -------------------------------------------------- */ @@ -646,34 +684,8 @@ /* equation */ span[id^="eq:"] > span.math.display > span { - /* nudge to make room for equation auto-number */ - margin-right: 40px !important; - } - - /* -------------------------------------------------- */ - /* table scroll plugin */ - /* -------------------------------------------------- */ - - @media only screen { - /* table wrapper */ - .table_wrapper { - /* show scrollbar on tables if necessary to prevent overflow */ - overflow: auto; - width: 100%; - margin: 20px 0; - } - - /* table within table wrapper */ - .table_wrapper table, - .table_wrapper table * { - /* don't break table words */ - word-break: normal !important; - } - - .table_wrapper > table { - /* move margins from table to table_wrapper to allow margin collapsing */ - margin: 0; - } + /* nudge to make room for equation auto-number and anchor */ + margin-right: 60px !important; } /* -------------------------------------------------- */ diff --git a/ci/README.md b/ci/README.md index 4622c9f9..db6ccca3 100644 --- a/ci/README.md +++ b/ci/README.md @@ -5,4 +5,4 @@ Specifically, [`deploy.sh`](deploy.sh) runs on successful `master` branch builds The contents of `../webpage` are committed to the `gh-pages` branch. The contents of `../output` are committed to the `output` branch. -For more information on the CI implementation, see the [Travis CI configuration](../.travis.yml) and the CI setup documentation in `SETUP.md`. +For more information on the CI implementation, see the CI setup documentation in `SETUP.md`. diff --git a/ci/deploy.sh b/ci/deploy.sh index 59a29b72..dab4cbe8 100644 --- a/ci/deploy.sh +++ b/ci/deploy.sh @@ -1,15 +1,22 @@ #!/usr/bin/env bash -## deploy.sh: run during a Travis CI build to deploy manuscript outputs to the output and gh-pages branches on GitHub. +## deploy.sh: run during a CI build to deploy manuscript outputs to the output and gh-pages branches on GitHub. # Set options for extra caution & debugging set -o errexit \ -o nounset \ -o pipefail +# set environment variables for either Travis or GitHub Actions +REPO_SLUG=${TRAVIS_REPO_SLUG:-$GITHUB_REPOSITORY} +COMMIT=${TRAVIS_COMMIT:-$GITHUB_SHA} +CI_BUILD_WEB_URL=${CI_BUILD_WEB_URL:-$TRAVIS_BUILD_WEB_URL} +CI_JOB_WEB_URL=${CI_JOB_WEB_URL:-$TRAVIS_JOB_WEB_URL} +BRANCH=${TRAVIS_BRANCH:-master} + # Add commit hash to the README -OWNER_NAME="$(dirname "$TRAVIS_REPO_SLUG")" -REPO_NAME="$(basename "$TRAVIS_REPO_SLUG")" +OWNER_NAME="$(dirname "$REPO_SLUG")" +REPO_NAME="$(basename "$REPO_SLUG")" export OWNER_NAME REPO_NAME envsubst < webpage/README.md > webpage/README-complete.md mv webpage/README-complete.md webpage/README.md @@ -18,9 +25,22 @@ mv webpage/README-complete.md webpage/README.md git config --global push.default simple git config --global user.email "$(git log --max-count=1 --format='%ae')" git config --global user.name "$(git log --max-count=1 --format='%an')" -git checkout "$TRAVIS_BRANCH" -git remote set-url origin "git@github.com:$TRAVIS_REPO_SLUG.git" +git checkout "$BRANCH" + +# Configure deployment credentials +MANUBOT_DEPLOY_VIA_SSH=true +git remote set-url origin "git@github.com:$REPO_SLUG.git" +if [ -v MANUBOT_SSH_PRIVATE_KEY ] && [ "$MANUBOT_SSH_PRIVATE_KEY" != "" ]; then + echo >&2 "[INFO] Detected MANUBOT_SSH_PRIVATE_KEY. Will deploy via SSH." +elif [ -v MANUBOT_ACCESS_TOKEN ] && [ "$MANUBOT_ACCESS_TOKEN" != "" ]; then + echo >&2 "[INFO] Detected MANUBOT_ACCESS_TOKEN. Will deploy via HTTPS." + MANUBOT_DEPLOY_VIA_SSH=false + git remote set-url origin "https://$MANUBOT_ACCESS_TOKEN@github.com/$REPO_SLUG.git" +else + echo >&2 "[INFO] Missing MANUBOT_SSH_PRIVATE_KEY and MANUBOT_ACCESS_TOKEN. Will deploy via SSH." +fi +if [ $MANUBOT_DEPLOY_VIA_SSH = "true" ]; then # Decrypt and add SSH key eval "$(ssh-agent -s)" ( @@ -28,8 +48,8 @@ set +o xtrace # disable xtrace in subshell for private key operations if [ -v MANUBOT_SSH_PRIVATE_KEY ]; then base64 --decode <<< "$MANUBOT_SSH_PRIVATE_KEY" | ssh-add - else -echo "DeprecationWarning: Loading deploy.key from an encrypted file. -In the future, using the MANUBOT_SSH_PRIVATE_KEY environment variable may be required." +echo >&2 "DeprecationWarning: Loading deploy.key from an encrypted file. +In the future, using the MANUBOT_ACCESS_TOKEN or MANUBOT_SSH_PRIVATE_KEY environment variable may be required." openssl aes-256-cbc \ -K $encrypted_0dd7e5f24ac8_key \ -iv $encrypted_0dd7e5f24ac8_iv \ @@ -39,33 +59,32 @@ chmod 600 ci/deploy.key ssh-add ci/deploy.key fi ) +fi # Fetch and create gh-pages and output branches # Travis does a shallow and single branch git clone git remote set-branches --add origin gh-pages output -git fetch origin gh-pages:gh-pages output:output +git fetch origin gh-pages:gh-pages output:output || \ + echo >&2 "[INFO] could not fetch gh-pages or output from origin." # Configure versioned webpage and timestamp manubot webpage \ --timestamp \ --no-ots-cache \ --checkout=gh-pages \ - --version="$TRAVIS_COMMIT" + --version="$COMMIT" # Commit message MESSAGE="\ -$(git log --max-count=1 --format='%s') [ci skip] +$(git log --max-count=1 --format='%s') +[ci skip] This build is based on -https://github.com/$TRAVIS_REPO_SLUG/commit/$TRAVIS_COMMIT. - -This commit was created by the following Travis CI build and job: -$TRAVIS_BUILD_WEB_URL -$TRAVIS_JOB_WEB_URL +https://github.com/$REPO_SLUG/commit/$COMMIT. -The full commit message that triggered this build is copied below: - -$TRAVIS_COMMIT_MESSAGE +This commit was created by the following CI build and job: +$CI_BUILD_WEB_URL +$CI_JOB_WEB_URL " # Deploy the manubot outputs to output @@ -84,5 +103,7 @@ ghp-import \ --message="$MESSAGE" \ webpage -# Workaround https://github.com/travis-ci/travis-ci/issues/8082 -ssh-agent -k +if [ $MANUBOT_DEPLOY_VIA_SSH = "true" ]; then + # Workaround https://github.com/travis-ci/travis-ci/issues/8082 + ssh-agent -k +fi diff --git a/ci/install.sh b/ci/install.sh index 72833087..5b64145f 100755 --- a/ci/install.sh +++ b/ci/install.sh @@ -6,7 +6,7 @@ set -o errexit \ -o pipefail -wget https://repo.continuum.io/miniconda/Miniconda3-4.7.10-Linux-x86_64.sh \ +wget https://repo.continuum.io/miniconda/Miniconda3-4.7.12.1-Linux-x86_64.sh \ --output-document miniconda.sh bash miniconda.sh -b -p $HOME/miniconda source $HOME/miniconda/etc/profile.d/conda.sh diff --git a/content/08.methods.md b/content/08.methods.md index dc76c529..b8bd7d56 100644 --- a/content/08.methods.md +++ b/content/08.methods.md @@ -13,7 +13,6 @@ To facilitate citation, we [defined](https://github.com/greenelab/deep-review/bl We supported citations to the following identifier types (in order of preference): DOIs, PubMed Central IDs, PubMed IDs, arXiv IDs, and URLs. References were automatically generated from citation metadata by querying APIs to generate [Citation Style Language](http://citationstyles.org/) (CSL) JSON items for each reference. [Pandoc](http://pandoc.org/) and [pandoc-citeproc](https://github.com/jgm/pandoc-citeproc) converted the markdown to HTML and PDF, while rendering the formatted citations and references. -In total, referenced works consisted of {{manubot.manuscript_stats.reference_counts.doi}} DOIs, {{manubot.manuscript_stats.reference_counts.pmcid}} PubMed Central records, {{manubot.manuscript_stats.reference_counts.arxiv}} arXiv manuscripts, and {{manubot.manuscript_stats.reference_counts.url}} URLs (webpages as well as manuscripts lacking standardized identifiers). We implemented continuous analysis so the manuscript was automatically regenerated whenever the source changed [@doi:10.1038/nbt.3780]. We configured Travis CI---a continuous integration service---to fetch new citation metadata and rebuild the manuscript for every commit. diff --git a/content/90.back-matter.md b/content/90.back-matter.md index 339b33c8..8ade69ab 100644 --- a/content/90.back-matter.md +++ b/content/90.back-matter.md @@ -2,3 +2,344 @@
+ + +[@tag:Abe]: doi:10.1101/gr.634603 +[@tag:Abramoff2016_dr]: doi:10.1167/iovs.16-19964 +[@tag:Agarwal2015_targetscan]: doi:10.7554/eLife.05005 +[@tag:Aitchison2017]: url:http://papers.nips.cc/paper/6940-model-based-bayesian-inference-of-neural-activity-and-connectivity-from-all-optical-interrogation-of-a-neural-circuit +[@tag:Alipanahi2015_predicting]: doi:10.1038/nbt.3300 +[@tag:AltaeTran2016_one_shot]: doi:10.1021/acscentsci.6b00367 +[@tag:Amit2017_breast_mri]: doi:10.1117/12.2249981 +[@tag:Asgari]: doi:10.1371/journal.pone.0141287 +[@tag:blast]: doi:10.1016/S0022-2836(05)80360-2 +[@tag:Angermueller2016_dl_review]: doi:10.15252/msb.20156651 +[@tag:Angermueller2016_single_methyl]: doi:10.1186/s13059-017-1189-z +[@tag:Angermueller2017]: doi:10.1186/s13059-017-1189-z +[@tag:Artemov2016_clinical]: doi:10.1101/095653 +[@tag:Arvaniti2016_rare_subsets]: doi:10.1101/046508 +[@tag:Bach2015_on]: doi:10.1371/journal.pone.0130140 +[@tag:Bahdanu2014_neural]: arxiv:1409.0473 +[@tag:Baskin2015_drug_disc]: doi:10.1080/17460441.2016.1201262 +[@tag:Bar2015_nonmed_tl]: doi:10.1117/12.2083124 +[@tag:Barash2010_splicing_code]: doi:10.1038/nature09000 +[@tag:Baxt1991_myocardial]: doi:10.7326/0003-4819-115-11-843 +[@tag:BeaulieuJones2016_ehr_encode]: doi:10.1016/j.jbi.2016.10.007 +[@tag:Bengio2015_prec]: arxiv:1412.7024 +[@tag:Berezikov2011_mirna]: doi:10.1038/nrg3079 +[@tag:Bergstra2011_hyper]: url:https://papers.nips.cc/paper/4443-algorithms-for-hyper-parameter-optimization.pdf +[@tag:Bergstra2012_random]: url:http://www.jmlr.org/papers/v13/bergstra12a.html +[@tag:Bracken2016_mirna]: doi:10.1038/nrg.2016.134 +[@tag:Boza]: doi:10.1371/journal.pone.0178751 +[@tag:Buggenthin2017_imaged_lineage]: doi:10.1038/nmeth.4182 +[@tag:Burlina2016_amd]: doi:10.1109/ISBI.2016.7493240 +[@tag:Chatterjee2018]: arxiv:1807.09617 +[@tag:Caruana2014_need]: arxiv:1312.6184 +[@tag:Caruana2015_intelligible]: doi:10.1145/2783258.2788613 +[@tag:Chaudhary2017_multiom_liver_cancer]: doi:10.1101/114892 +[@tag:Che2015_distill]: arxiv:1512.03542 +[@tag:Che2016_rnn]: arxiv:1606.01865 +[@tag:Chen2015_hashing]: arxiv:1504.04788 +[@tag:Chen2016_exprs_yeast]: doi:10.1186/s12859-015-0852-1 +[@tag:Chen2016_gene_expr]: doi:10.1093/bioinformatics/btw074 +[@tag:Chen2015_trans_species]: doi:10.1093/bioinformatics/btv315 +[@tag:Choi2016_retain]: arxiv:1608.05745 +[@tag:Choi2016_gram]: arxiv:1611.07012 +[@tag:Chollet2016_xception]: arxiv:1610.02357 +[@tag:Christensen2009]: doi:10.1371/journal.pgen.1000602 +[@tag:Chryssolouris1996_confidence]: doi:10.1109/72.478409 +[@tag:Ciresan2013_mitosis]: doi:10.1007/978-3-642-40763-5_51 +[@tag:Coates2013_cots_hpc]: url:http://www.jmlr.org/proceedings/papers/v28/coates13.html +[@tag:Codella2016_ensemble_melanoma]: arxiv:1610.04662 +[@tag:Consortium2012_encode]: doi:10.1038/nature11247 +[@tag:CudNN]: arxiv:1410.0759 +[@tag:Dahl2014_multi_qsar]: arxiv:1406.1231 +[@tag:Darst2018]: doi:10.1186/s12863-018-0646-3 +[@tag:Dean2012_nips_downpour]: url:http://research.google.com/archive/large_deep_networks_nips2012.html +[@tag:DeepChem]: url:https://github.com/deepchem/deepchem +[@tag:Deming2016_genetic]: arxiv:1605.07156 +[@tag:Ding]: doi:10.1186/s12859-015-0753-3 +[@tag:Ditzler]: doi:10.1186/s12859-015-0793-8 +[@tag:Ditzler2]: doi:10.1109/TNNLS.2014.2320415 +[@tag:Ditzler3]: doi:10.1109/TNB.2015.2461219 +[@tag:Dhungel2015_struct_pred_mamm]: doi:10.1007/978-3-319-24553-9_74 +[@tag:Dhungel2016_mamm]: doi:10.1007/978-3-319-46723-8_13 +[@tag:Dhungel2017_mamm_min_interv]: doi:10.1016/j.media.2017.01.009 +[@tag:Dream_tf_binding]: url:https://www.synapse.org/#!Synapse:syn6131484/wiki/402026 +[@tag:Dragonn]: url:http://kundajelab.github.io/dragonn/ +[@tag:Duvenaud2015_graph_conv]: url:http://papers.nips.cc/paper/5954-convolutional-networks-on-graphs-for-learning-molecular-fingerprints +[@tag:Edwards2015_growing_pains]: doi:10.1145/2771283 +[@tag:Ehran2009_visualizing]: url:http://www.iro.umontreal.ca/~lisa/publications2/index.php/publications/show/247 +[@tag:Elephas]: url:https://github.com/maxpumperla/elephas +[@tag:Errington2014_reproducibility]: doi:10.7554/eLife.04333 +[@tag:Eser2016_fiddle]: doi:10.1101/081380 +[@tag:Esfahani2016_melanoma]: doi:10.1109/EMBC.2016.7590963 +[@tag:Essinger2010_taxonomic]: doi:10.1109/IJCNN.2010.5596644 +[@tag:Esteva2017_skin_cancer_nature]: doi:10.1038/nature21056 +[@tag:Faruqi]: url:http://alifar76.github.io/sklearn-metrics/ +[@tag:Feinberg2018]: doi:10.1056/NEJMra1402513 +[@tag:Finnegan2017_maximum]: doi:10.1101/105957 +[@tag:Fong2017_perturb]: doi:10.1109/ICCV.2017.371 +[@tag:Fraga2005]: doi:10.1073/pnas.0500398102 +[@tag:Fu2019]: doi:10.1109/TCBB.2019.2909237 +[@tag:Gal2015_dropout]: arxiv:1506.02142 +[@tag:Gaublomme2015_th17]: doi:10.1016/j.cell.2015.11.009 +[@tag:Gargeya2017_dr]: doi:10.1016/j.ophtha.2017.02.008 +[@tag:Gawad2016_singlecell]: doi:10.1038/nrg.2015.16 +[@tag:Geras2017_multiview_mamm]: doi:10.1038/nrg.2015.16 +[@tag:Gerstein2016_scaling]: doi:10.1186/s13059-016-0917-0 +[@tag:Ghandi2014_enhanced]: doi:10.1371/journal.pcbi.1003711 +[@tag:Ghosh1992_sequence]: doi:10.1117/12.140112 +[@tag:Glorot2011_domain]: url:http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.231.3442 +[@tag:Goldsborough2017_cytogan]: doi:10.1101/227645 +[@tag:Gomezb2016_automatic]: arxiv:1610.02415v1 +[@tag:Graphlab]: doi:10.14778/2212351.2212354 +[@tag:Groop1986_islet]: doi:10.2337/diab.35.2.237 +[@tag:Gultepe2014_sepsis]: doi:10.1136/amiajnl-2013-001815 +[@tag:Gulshan2016_dt]: doi:10.1001/jama.2016.17216 +[@tag:Gupta2015_exprs_yeast]: doi:10.1101/031906 +[@tag:Gupta2015_prec]: arxiv:1502.02551 +[@tag:Guetterman]: url:http://www.fasebj.org/content/30/1_Supplement/406.3 +[@tag:Hadjas2015_cc]: arxiv:1504.04343 +[@tag:He2015_images]: arxiv:1512.03385 +[@tag:Hinton2006_autoencoders]: doi:10.1126/science.1127647 +[@tag:Hinton2015_dark_knowledge]: arxiv:1503.02531 +[@tag:Hinton2015_dk]: arxiv:1503.02531v1 +[@tag:Hochreiter]: doi:10.1093/bioinformatics/btm247 +[@tag:Hoff]: doi:10.1093/nar/gkp327 +[@tag:Horton1992_assessment]: doi:10.1093/nar/20.16.4331 +[@tag:Horvath2013]: doi:10.1186/gb-2013-14-10-r115 +[@tag:Horvath2014]: doi:10.1073/pnas.1412759111 +[@tag:Houseman2012]: doi:10.1186/1471-2105-13-86 +[@tag:Houseman2016]: doi:10.1186/s12859-016-1140-4 +[@tag:Hubara2016_qnn]: arxiv:1609.07061 +[@tag:Huddar2016_predicting]: doi:10.1109/ACCESS.2016.2618775 +[@tag:Hughes2016_macromol_react]: doi:10.1021/acscentsci.6b00162 +[@tag:Iglovikov2017_baa]: doi:10.1101/234120 +[@tag:Islam2018]: doi:10.1186/s12919-018-0121-1 +[@tag:Ithapu2015_efficient]: doi:10.1016/j.jalz.2015.01.010 +[@tag:Jafari2016_skin_lesions]: doi:10.1007/s11548-017-1567-8 +[@tag:Jha2017_integrative_models]: doi:10.1101/104869 +[@tag:Johnson2017_integ_cell]: arxiv:1705.00092 +[@tag:JuanMateu2016_t1d]: doi:10.1530/EJE-15-0916 +[@tag:Kahng2017_activis]: arxiv:1704.01942 +[@tag:Kalinin2018_pgx]: arxiv:1801.08570 +[@tag:Karlin]: doi:10.1128/jb.179.12.3899-3913.1997 +[@tag:Karpathy2015_visualizing]: arxiv:1506.02078 +[@tag:Katzman2016_deepsurv]: arxiv:1606.00931 +[@tag:Kearnes2016_admet]: arxiv:1606.08793 +[@tag:Kearnes2016_graph_conv]: doi:10.1007/s10822-016-9938-8 +[@tag:Kelley2016_basset]: doi:10.1101/gr.200535.115 +[@tag:Keras]: url:https://github.com/fchollet/keras +[@tag:Kizek]: doi:10.1016/j.bjid.2015.08.013 +[@tag:Kindermans2016_investigating]: arxiv:1611.07270 +[@tag:Knights]: doi:10.1111/j.1574-6976.2010.00251.x +[@tag:Koh2016_denoising]: doi:10.1101/052118 +[@tag:Koh2017_understanding]: arxiv:1703.04730 +[@tag:Kooi2016_mamm_lesions]: doi:10.1016/j.media.2016.07.007 +[@tag:Kooi2017_mamm_tl]: doi:10.1002/mp.12110 +[@tag:Korfiatis2017]: doi:10.1007/s10278-017-0009-z +[@tag:Kraus2017_deeploc]: doi:10.15252/msb.20177551 +[@tag:Kresovich2019]: doi:10.1093/jnci/djz020 +[@tag:Krizhevsky2013_nips_cnn]: url:https://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf +[@tag:Krizhevsky2014_weird_trick]: arxiv:1404.5997 +[@tag:Kwabi-Addo2007]: doi:10.1158/1078-0432.CCR-07-0085 +[@tag:Khwaja2017]: doi:10.1109/BIOCAS.2017.8325078 +[@tag:Khwaja2018]: arxiv:1810.01243 +[@tag:Lacey2016_dl_fpga]: arxiv:1602.04283 +[@tag:Laird2010]: doi:10.1038/nrg2732 +[@tag:Lakhani2017_radiography]: doi:10.1148/radiol.2017162326 +[@tag:Lanchantin2016_motif]: arxiv:1608.03644 +[@tag:Lee2016_deeptarget]: arxiv:1603.09123v2 +[@tag:Lee2016_emr_oct_amd]: doi:10.1101/094276 +[@tag:Lei2016_rationalizing]: arxiv:1606.04155 +[@tag:Leibig2016_dr]: doi:10.1101/084210 +[@tag:Levy2019]: doi:10.1101/692665 +[@tag:Levy-Jurgenson2018]: doi:10.1101/491357 +[@tag:Li2014_minibatch]: doi:10.1145/2623330.2623612 +[@tag:Li2016_variation]: doi:10.1126/science.aad9417 +[@tag:Liang2015_exprs_cancer]: doi:10.1109/TCBB.2014.2377729 +[@tag:Lin2017_why_dl_works]: arxiv:1608.08225v3 +[@tag:Lipton2016_missing]: arxiv:1606.04130 +[@tag:Lipton2015_lstm]: arxiv:1510.07641 +[@tag:Litjens2016_histopath_survey]: doi:10.1038/srep26286 +[@tag:Litjens2017_medimage_survey]: doi:10.1016/j.media.2017.07.005 +[@tag:Lisboa2006_review]: doi:10.1016/j.neunet.2005.10.007 +[@tag:Liu2013]: doi:10.1038/nbt.2487 +[@tag:Liu]: doi:10.1371/journal.pone.0053253 +[@tag:Liu2016_towards]: arxiv:1604.07043 +[@tag:Liu2016_sc_transcriptome]: doi:10.12688/f1000research.7223.1 +[@tag:Lodato2015_neurons]: doi:10.1126/science.aab1785 +[@tag:Lowe2012_kaggle]: url:http://blogs.sciencemag.org/pipeline/archives/2012/12/11/did_kaggle_predict_drug_candidate_activities_or_not +[@tag:lmat]: doi:10.1093/bioinformatics/btt389 +[@tag:Lundberg2016_an]: arxiv:1611.07478 +[@tag:Lusci2015_irv]: doi:10.1186/s13321-015-0110-6 +[@tag:Lusci2013_rnn]: doi:10.1021/ci400187y +[@tag:Ma2015_qsar_merck]: doi:10.1021/ci500747n +[@tag:Maaten2008_tsne]: url:http://www.jmlr.org/papers/v9/vandermaaten08a.html +[@tag:Mahendran2014_understanding]: arxiv:1412.0035 +[@tag:Mahendran2016_salient]: doi:10.1007/978-3-319-46466-4_8 +[@tag:Mahendran2016_visualizing]: doi:10.1007/s11263-016-0911-8 +[@tag:Mahmood]: doi:10.1016/S0140-6736(13)61752-3 +[@tag:Mapreduce]: doi:10.1145/1327452.1327492 +[@tag:Mayr2016_deep_tox]: doi:10.3389/fenvs.2015.00080 +[@tag:McHardy]: doi:10.1038/nmeth976 +[@tag:McHardy2]: doi:10.7717/peerj.1603 +[@tag:Meissner2008]: doi:10.1038/nature07107 +[@tag:Metaphlan]: doi:10.1038/nmeth.2066 +[@tag:Meng2016_mllib]: arxiv:1505.06807 +[@tag:Min2016_deepenhancer]: doi:10.1109/BIBM.2016.7822593 +[@tag:Momeni2018]: doi:10.1101/438341 +[@tag:Moritz2015_sparknet]: arxiv:1511.06051 +[@tag:Mordvintsev2015_inceptionism]: url:http://googleresearch.blogspot.co.uk/2015/06/inceptionism-going-deeper-into-neural.html +[@tag:Mrzelj]: url:https://repozitorij.uni-lj.si/IzpisGradiva.php?id=85515 +[@tag:matis]: doi:10.1016/S0097-8485(96)80015-5 +[@tag:nbc]: doi:10.1093/bioinformatics/btq619 +[@tag:Murdoch2017_automatic]: arxiv:1702.02540 +[@tag:Nazor2012]: doi:10.1016/j.stem.2012.02.013 +[@tag:Nemati2016_rl]: doi:10.1109/EMBC.2016.7591355 +[@tag:Ni2018]: doi:10.1101/385849 +[@tag:Nguyen2014_adversarial]: arxiv:1412.1897v4 +[@tag:Ngiam2011]: url:https://ai.stanford.edu/~ang/papers/icml11-MultimodalDeepLearning.pdf +[@tag:Nie2016_3d_survival]: doi:10.1007/978-3-319-46723-8_25 +[@tag:NIH2016_genome_cost]: url:https://www.genome.gov/27565109/the-cost-of-sequencing-a-human-genome/ +[@tag:Nih_curiosity]: url:https://www.nigms.nih.gov/Education/Documents/curiosity.pdf +[@tag:Olivecrona2017_drug_design]: arxiv:1704.07555 +[@tag:Osokin2017_biogan]: arxiv:1708.04692 +[@tag:onecodex]: url:https://www.onecodex.com/ +[@tag:Papernot2017_pate]: url:https://openreview.net/forum?id=HkwoSDPgg +[@tag:Park2016_deepmirgene]: arxiv:1605.00017 +[@tag:Parnamaa2017]: doi:10.1534/g3.116.033654 +[@tag:Pan2018]: doi:10.1101/438218 +[@tag:Pawlowski2016]: doi:10.1101/085118 +[@tag:Peng2019]: doi:10.1101/527044 +[@tag:Pereira2016_docking]: doi:10.1021/acs.jcim.6b00355 +[@tag:PerezSianes2016_screening]: doi:10.1007/978-3-319-40126-3_2 +[@tag:Phymm]: doi:10.1038/nmeth.1358 +[@tag:Poplin2016_deepvariant]: doi:10.1101/092890 +[@tag:Pratt2016_dr]: doi:10.1016/j.procs.2016.07.014 +[@tag:Quach2017]: doi:10.18632/aging.101168 +[@tag:Quang2017_factor]: doi:10.1101/151274 +[@tag:Qin2017_onehot]: doi:10.1371/journal.pcbi.1005403 +[@tag:Qiu2017_graph_embedding]: doi:10.1101/110668 +[@tag:Qiu2018]: doi:10.1101/406066 +[@tag:Ragoza2016_protein]: arxiv:1612.02751 +[@tag:RAD2010_view_cc]: doi:10.1145/1721654.1721672 +[@tag:Radford_dcgan]: arxiv:1511.06434v2 +[@tag:Rajkomar2017_radiographs]: doi:10.1007/s10278-016-9914-9 +[@tag:Rakhlin2018_histology]: doi:10.1101/259911 +[@tag:Ramsundar2015_multitask_drug]: arxiv:1502.02072 +[@tag:Ranganath2016_deep]: arxiv:1608.02158 +[@tag:Raina2009_gpu]: doi:10.1145/1553374.1553486 +[@tag:Relton2010]: doi:10.1371/journal.pmed.1000356 +[@tag:Ribeiro2016_lime]: arxiv:1602.04938 +[@tag:Robertson2005]: doi:10.1038/nrg1655 +[@tag:Rogers2010_fingerprints]: doi:10.1021/ci100050t +[@tag:Roth2015_view_agg_cad]: doi:10.1109/TMI.2015.2482920 +[@tag:Romero2017_diet]: url:https://openreview.net/pdf?id=Sk-oDY9ge +[@tag:Rosenberg2015_synthetic_seqs]: doi:10.1016/j.cell.2015.09.054 +[@tag:Russakovsky2015_imagenet]: doi:10.1007/s11263-015-0816-y +[@tag:Sa2015_buckwild]: pmcid:PMC4907892 +[@tag:Salas2018_GR]: doi:10.1101/gr.233213.117 +[@tag:Salas2018]: doi:10.1186/s13059-018-1448-7 +[@tag:Salzberg]: doi:10.1186/1471-2105-11-544 +[@tag:Schatz2010_dna_cloud]: doi:10.1038/nbt0710-691 +[@tag:Schmidhuber2014_dnn_overview]: doi:10.1016/j.neunet.2014.09.003 +[@tag:Scotti2016_missplicing]: doi:10.1038/nrg.2015.3 +[@tag:Segata]: doi:10.1371/journal.pcbi.1004977 +[@tag:Segler2017_drug_design]: arxiv:1701.01329 +[@tag:Seide2014_parallel]: doi:10.1109/ICASSP.2014.6853593 +[@tag:Setty2015_seqgl]: doi:10.1371/journal.pcbi.1004271 +[@tag:Selvaraju2016_grad]: arxiv:1610.02391 +[@tag:Serden]: doi:10.1016/S0168-8510(02)00208-7 +[@tag:Shaham2016_batch_effects]: doi:10.1093/bioinformatics/btx196 +[@tag:Shapely]: doi:10.1515/9781400881970-018 +[@tag:Shen2017_medimg_review]: doi:10.1146/annurev-bioeng-071516-044442 +[@tag:Shin2016_cad_tl]: doi:10.1109/TMI.2016.2528162 +[@tag:Shrikumar2017_learning]: arxiv:1704.02685 +[@tag:Shrikumar2017_reversecomplement]: doi:10.1101/103663 +[@tag:Simonyan2013_deep]: arxiv:1312.6034 +[@tag:Singh2017_attentivechrome]: arxiv:1708.00339 +[@tag:Singh2016_deepchrome]: arxiv:1607.02078 +[@tag:Singh2016_tsk]: doi:10.1109/TCBB.2016.2609918 +[@tag:Silver2016_alphago]: doi:10.1038/nature16961 +[@tag:Sonderby]: doi:10.1007/978-3-319-21233-3_6 +[@tag:Soueidan]: doi:10.1515/metgen-2016-0001 +[@tag:Spark]: doi:10.1145/2934664 +[@tag:Speech_recognition]: url:http://www.businessinsider.com/ibm-edges-closer-to-human-speech-recognition-2017-3 +[@tag:Springenberg2014_striving]: arxiv:1412.6806 +[@tag:Stein2010_cloud]: doi:10.1186/gb-2010-11-5-207 +[@tag:Stenstrom2005_latent]: doi:10.2337/diabetes.54.suppl_2.S68 +[@tag:Stormo2000_dna]: doi:10.1093/bioinformatics/16.1.16 +[@tag:Stratnikov]: doi:10.1186/2049-2618-1-11 +[@tag:Strobelt2016_visual]: arxiv:1606.07461 +[@tag:Su2015_gpu]: arxiv:1507.01239 +[@tag:Subramanian2016_bace1]: doi:10.1021/acs.jcim.6b00290 +[@tag:Sun2016_ensemble]: arxiv:1606.00575 +[@tag:Sundararajan2017_axiomatic]: arxiv:1703.01365 +[@tag:Sutskever]: arxiv:1409.3215 +[@tag:Swamidass2009_irv]: doi:10.1021/ci8004379 +[@tag:Tan2014_psb]: doi:10.1142/9789814644730_0014 +[@tag:Tan2015_adage]: doi:10.1128/mSystems.00025-15 +[@tag:Tan2016_eadage]: doi:10.1101/078659 +[@tag:TAC-ELM]: doi:10.1142/S0219720012500151 +[@tag:TensorFlow]: arxiv:1603.04467 +[@tag:Teschendorff2017]: doi:10.2217/epi-2016-0153 +[@tag:Tian2019]: doi:10.1186/s12864-019-5488-5 +[@tag:Titus2017]: doi:10.1093/hmg/ddx275 +[@tag:Torracinta2016_deep_snp]: doi:10.1101/097469 +[@tag:Torracinta2016_sim]: doi:10.1101/079087 +[@tag:Tu1996_anns]: doi:10.1016/S0895-4356(96)00002-9 +[@tag:Unterthiner2014_screening]: url:http://www.bioinf.at/publications/2014/NIPS2014a.pdf +[@tag:Vanhoucke2011_cpu]: url:https://research.google.com/pubs/pub37631.html +[@tag:Vera2016_sc_analysis]: doi:10.1146/annurev-genet-120215-034854 +[@tag:Vervier]: doi:10.1093/bioinformatics/btv683 +[@tag:Wallach2015_atom_net]: arxiv:1510.02855 +[@tag:Wang2016_breast_cancer]: arxiv:1606.05718 +[@tag:Wang2016_methyl]: doi:10.1038/srep19598 +[@tag:Wang2016_protein_contact]: doi:10.1371/journal.pcbi.1005324 +[@tag:Wasson1985_clinical]: doi:10.1056/NEJM198509263131306 +[@tag:WayGreene2017_eval]: arxiv:1711.04828 +[@tag:WayGreene2017_tybalt]: doi:10.1101/174474 +[@tag:Wilhelm-Benartzi2013]: doi:10.1038/bjc.2013.496 +[@tag:Word2Vec]: arxiv:1301.3781 +[@tag:wgsquikr]: doi:10.1371/journal.pone.0091784 +[@tag:Wu2017_molecule_net]: doi:10.1039/C7SC02664A +[@tag:Xiang]: doi:10.1016/S0167-9473(99)00098-5 +[@tag:Xiong2011_bayesian]: doi:10.1093/bioinformatics/btr444 +[@tag:Xiong2015_splicing_code]: doi:10.1126/science.1254806 +[@tag:Xu2015_show]: arxiv:1502.03044 +[@tag:Yasushi2016_cgbvs_dnn]: doi:10.1002/minf.201600045 +[@tag:yok]: doi:10.1186/1471-2105-12-20 +[@tag:Yoon2016_cancer_reports]: doi:10.1007/978-3-319-47898-2_21 +[@tag:Yosinski2014]: url:https://papers.nips.cc/paper/5347-how-transferable-are-features-in-deep-neural-networks +[@tag:Yosinksi2015_understanding]: arxiv:1506.06579 +[@tag:Yu2016_melanoma_resnet]: doi:10.1109/TMI.2016.2642839 +[@tag:Zeiler2013_visualizing]: arxiv:1311.2901 +[@tag:Zeng2015]: doi:10.1186/s12859-015-0553-9 +[@tag:Zeng2016_convolutional]: doi:10.1093/bioinformatics/btw255 +[@tag:Zhang2015_multitask_tl]: doi:10.1145/2783258.2783304 +[@tag:Zhang2017_generalization]: arxiv:1611.03530v2 +[@tag:Zhang2019]: doi:10.1186/s12885-019-5932-6 +[@tag:Zhou2015_deep_sea]: doi:10.1038/nmeth.3547 +[@tag:Zhu2016_advers_mamm]: doi:10.1101/095786 +[@tag:Zhu2016_mult_inst_mamm]: doi:10.1101/095794 +[@tag:Zintgraf2017_visualizing]: arxiv:1702.04595 +[@tag:goodfellow2016deep]: url:http://www.deeplearningbook.org/ +[@tag:li2016joint]: url:https://dl.acm.org/citation.cfm?id=3061018 +[@tag:world2004international]: url:http://www.who.int/classifications/icd/en/ +[@tag:ghahramani_protect]: arxiv:1707.02476 +[@tag:uncertainty_types]: arxiv:1703.04977 +[@tag:uncertainty_multi_task]: arxiv:1705.07115 +[@tag:guo_calibration]: arxiv:1706.04599 +[@tag:platt_scaling]: url:http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.41.1639 +[@tag:out_dist_baseline]: arxiv:1610.02136 +[@tag:temp_out_dist]: arxiv:1706.02690 +[@tag:ai_safety]: arxiv:1606.06565 +[@tag:strong_adversary]: arxiv:1705.07263 +[@tag:retinopathy_uncertainty]: doi:10.1038/s41598-017-17876-z +[@tag:bayesian_hypernets]: arxiv:1710.04759 +[@tag:mcclure_bayesian]: arxiv:1611.01639 +[@tag:uncertainty_ensembles]: arxiv:1612.01474 +[@tag:domain_adapt_uncertainty]: arxiv:1505.07818 +[@tag:gal_thesis]: url:http://www.cs.ox.ac.uk/people/yarin.gal/website/thesis/thesis.pdf diff --git a/content/citation-tags.tsv b/content/citation-tags.tsv deleted file mode 100644 index b4eb9efe..00000000 --- a/content/citation-tags.tsv +++ /dev/null @@ -1,340 +0,0 @@ -tag citation -Abe doi:10.1101/gr.634603 -Abramoff2016_dr doi:10.1167/iovs.16-19964 -Agarwal2015_targetscan doi:10.7554/eLife.05005 -Aitchison2017 url:http://papers.nips.cc/paper/6940-model-based-bayesian-inference-of-neural-activity-and-connectivity-from-all-optical-interrogation-of-a-neural-circuit -Alipanahi2015_predicting doi:10.1038/nbt.3300 -AltaeTran2016_one_shot doi:10.1021/acscentsci.6b00367 -Amit2017_breast_mri doi:10.1117/12.2249981 -Asgari doi:10.1371/journal.pone.0141287 -blast doi:10.1016/S0022-2836(05)80360-2 -Angermueller2016_dl_review doi:10.15252/msb.20156651 -Angermueller2016_single_methyl doi:10.1186/s13059-017-1189-z -Angermueller2017 doi:10.1186/s13059-017-1189-z -Artemov2016_clinical doi:10.1101/095653 -Arvaniti2016_rare_subsets doi:10.1101/046508 -Bach2015_on doi:10.1371/journal.pone.0130140 -Bahdanu2014_neural arxiv:1409.0473 -Baskin2015_drug_disc doi:10.1080/17460441.2016.1201262 -Bar2015_nonmed_tl doi:10.1117/12.2083124 -Barash2010_splicing_code doi:10.1038/nature09000 -Baxt1991_myocardial doi:10.7326/0003-4819-115-11-843 -BeaulieuJones2016_ehr_encode doi:10.1016/j.jbi.2016.10.007 -Bengio2015_prec arxiv:1412.7024 -Berezikov2011_mirna doi:10.1038/nrg3079 -Bergstra2011_hyper url:https://papers.nips.cc/paper/4443-algorithms-for-hyper-parameter-optimization.pdf -Bergstra2012_random url:http://www.jmlr.org/papers/v13/bergstra12a.html -Bracken2016_mirna doi:10.1038/nrg.2016.134 -Boza doi:10.1371/journal.pone.0178751 -Buggenthin2017_imaged_lineage doi:10.1038/nmeth.4182 -Burlina2016_amd doi:10.1109/ISBI.2016.7493240 -Chatterjee2018 arxiv:1807.09617 -Caruana2014_need arxiv:1312.6184 -Caruana2015_intelligible doi:10.1145/2783258.2788613 -Chaudhary2017_multiom_liver_cancer doi:10.1101/114892 -Che2015_distill arxiv:1512.03542 -Che2016_rnn arxiv:1606.01865 -Chen2015_hashing arxiv:1504.04788 -Chen2016_exprs_yeast doi:10.1186/s12859-015-0852-1 -Chen2016_gene_expr doi:10.1093/bioinformatics/btw074 -Chen2015_trans_species doi:10.1093/bioinformatics/btv315 -Choi2016_retain arxiv:1608.05745 -Choi2016_gram arxiv:1611.07012 -Chollet2016_xception arxiv:1610.02357 -Christensen2009 doi:10.1371/journal.pgen.1000602 -Chryssolouris1996_confidence doi:10.1109/72.478409 -Ciresan2013_mitosis doi:10.1007/978-3-642-40763-5_51 -Coates2013_cots_hpc url:http://www.jmlr.org/proceedings/papers/v28/coates13.html -Codella2016_ensemble_melanoma arxiv:1610.04662 -Consortium2012_encode doi:10.1038/nature11247 -CudNN arxiv:1410.0759 -Dahl2014_multi_qsar arxiv:1406.1231 -Darst2018 doi:10.1186/s12863-018-0646-3 -Dean2012_nips_downpour url:http://research.google.com/archive/large_deep_networks_nips2012.html -DeepChem url:https://github.com/deepchem/deepchem -Deming2016_genetic arxiv:1605.07156 -Ding doi:10.1186/s12859-015-0753-3 -Ditzler doi:10.1186/s12859-015-0793-8 -Ditzler2 doi:10.1109/TNNLS.2014.2320415 -Ditzler3 doi:10.1109/TNB.2015.2461219 -Dhungel2015_struct_pred_mamm doi:10.1007/978-3-319-24553-9_74 -Dhungel2016_mamm doi:10.1007/978-3-319-46723-8_13 -Dhungel2017_mamm_min_interv doi:10.1016/j.media.2017.01.009 -Dream_tf_binding url:https://www.synapse.org/#!Synapse:syn6131484/wiki/402026 -Dragonn url:http://kundajelab.github.io/dragonn/ -Duvenaud2015_graph_conv url:http://papers.nips.cc/paper/5954-convolutional-networks-on-graphs-for-learning-molecular-fingerprints -Edwards2015_growing_pains doi:10.1145/2771283 -Ehran2009_visualizing url:http://www.iro.umontreal.ca/~lisa/publications2/index.php/publications/show/247 -Elephas url:https://github.com/maxpumperla/elephas -Errington2014_reproducibility doi:10.7554/eLife.04333 -Eser2016_fiddle doi:10.1101/081380 -Esfahani2016_melanoma doi:10.1109/EMBC.2016.7590963 -Essinger2010_taxonomic doi:10.1109/IJCNN.2010.5596644 -Esteva2017_skin_cancer_nature doi:10.1038/nature21056 -Faruqi url:http://alifar76.github.io/sklearn-metrics/ -Feinberg2018 doi:10.1056/NEJMra1402513 -Finnegan2017_maximum doi:10.1101/105957 -Fong2017_perturb doi:10.1109/ICCV.2017.371 -Fraga2005 doi:10.1073/pnas.0500398102 -Fu2019 doi:10.1109/TCBB.2019.2909237 -Gal2015_dropout arxiv:1506.02142 -Gaublomme2015_th17 doi:10.1016/j.cell.2015.11.009 -Gargeya2017_dr doi:10.1016/j.ophtha.2017.02.008 -Gawad2016_singlecell doi:10.1038/nrg.2015.16 -Geras2017_multiview_mamm doi:10.1038/nrg.2015.16 -Gerstein2016_scaling doi:10.1186/s13059-016-0917-0 -Ghandi2014_enhanced doi:10.1371/journal.pcbi.1003711 -Ghosh1992_sequence doi:10.1117/12.140112 -Glorot2011_domain url:http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.231.3442 -Goldsborough2017_cytogan doi:10.1101/227645 -Gomezb2016_automatic arxiv:1610.02415v1 -Graphlab doi:10.14778/2212351.2212354 -Groop1986_islet doi:10.2337/diab.35.2.237 -Gultepe2014_sepsis doi:10.1136/amiajnl-2013-001815 -Gulshan2016_dt doi:10.1001/jama.2016.17216 -Gupta2015_exprs_yeast doi:10.1101/031906 -Gupta2015_prec arxiv:1502.02551 -Guetterman url:http://www.fasebj.org/content/30/1_Supplement/406.3 -Hadjas2015_cc arxiv:1504.04343 -He2015_images arxiv:1512.03385 -Hinton2006_autoencoders doi:10.1126/science.1127647 -Hinton2015_dark_knowledge arxiv:1503.02531 -Hinton2015_dk arxiv:1503.02531v1 -Hochreiter doi:10.1093/bioinformatics/btm247 -Hoff doi:10.1093/nar/gkp327 -Horton1992_assessment doi:10.1093/nar/20.16.4331 -Horvath2013 doi:10.1186/gb-2013-14-10-r115 -Horvath2014 doi:10.1073/pnas.1412759111 -Houseman2012 doi:10.1186/1471-2105-13-86 -Houseman2016 doi:10.1186/s12859-016-1140-4 -Hubara2016_qnn arxiv:1609.07061 -Huddar2016_predicting doi:10.1109/ACCESS.2016.2618775 -Hughes2016_macromol_react doi:10.1021/acscentsci.6b00162 -Iglovikov2017_baa doi:10.1101/234120 -Islam2018 doi:10.1186/s12919-018-0121-1 -Ithapu2015_efficient doi:10.1016/j.jalz.2015.01.010 -Jafari2016_skin_lesions doi:10.1007/s11548-017-1567-8 -Jha2017_integrative_models doi:10.1101/104869 -Johnson2017_integ_cell arxiv:1705.00092 -JuanMateu2016_t1d doi:10.1530/EJE-15-0916 -Kahng2017_activis arxiv:1704.01942 -Kalinin2018_pgx arxiv:1801.08570 -Karlin doi:10.1128/jb.179.12.3899-3913.1997 -Karpathy2015_visualizing arxiv:1506.02078 -Katzman2016_deepsurv arxiv:1606.00931 -Kearnes2016_admet arxiv:1606.08793 -Kearnes2016_graph_conv doi:10.1007/s10822-016-9938-8 -Kelley2016_basset doi:10.1101/gr.200535.115 -Keras url:https://github.com/fchollet/keras -Kizek doi:10.1016/j.bjid.2015.08.013 -Kindermans2016_investigating arxiv:1611.07270 -Knights doi:10.1111/j.1574-6976.2010.00251.x -Koh2016_denoising doi:10.1101/052118 -Koh2017_understanding arxiv:1703.04730 -Kooi2016_mamm_lesions doi:10.1016/j.media.2016.07.007 -Kooi2017_mamm_tl doi:10.1002/mp.12110 -Korfiatis2017 doi:10.1007/s10278-017-0009-z -Kraus2017_deeploc doi:10.15252/msb.20177551 -Kresovich2019 doi:10.1093/jnci/djz020 -Krizhevsky2013_nips_cnn url:https://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf -Krizhevsky2014_weird_trick arxiv:1404.5997 -Kwabi-Addo2007 doi:10.1158/1078-0432.CCR-07-0085 -Khwaja2017 doi:10.1109/BIOCAS.2017.8325078 -Khwaja2018 arxiv:1810.01243 -Lacey2016_dl_fpga arxiv:1602.04283 -Laird2010 doi:10.1038/nrg2732 -Lakhani2017_radiography doi:10.1148/radiol.2017162326 -Lanchantin2016_motif arxiv:1608.03644 -Lee2016_deeptarget arxiv:1603.09123v2 -Lee2016_emr_oct_amd doi:10.1101/094276 -Lei2016_rationalizing arxiv:1606.04155 -Leibig2016_dr doi:10.1101/084210 -Levy2019 doi:10.1101/692665 -Levy-Jurgenson2018 doi:10.1101/491357 -Li2014_minibatch doi:10.1145/2623330.2623612 -Li2016_variation doi:10.1126/science.aad9417 -Liang2015_exprs_cancer doi:10.1109/TCBB.2014.2377729 -Lin2017_why_dl_works arxiv:1608.08225v3 -Lipton2016_missing arxiv:1606.04130 -Lipton2015_lstm arxiv:1510.07641 -Litjens2016_histopath_survey doi:10.1038/srep26286 -Litjens2017_medimage_survey doi:10.1016/j.media.2017.07.005 -Lisboa2006_review doi:10.1016/j.neunet.2005.10.007 -Liu2013 doi:10.1038/nbt.2487 -Liu doi:10.1371/journal.pone.0053253 -Liu2016_towards arxiv:1604.07043 -Liu2016_sc_transcriptome doi:10.12688/f1000research.7223.1 -Lodato2015_neurons doi:10.1126/science.aab1785 -Lowe2012_kaggle url:http://blogs.sciencemag.org/pipeline/archives/2012/12/11/did_kaggle_predict_drug_candidate_activities_or_not -lmat doi:10.1093/bioinformatics/btt389 -Lundberg2016_an arxiv:1611.07478 -Lusci2015_irv doi:10.1186/s13321-015-0110-6 -Lusci2013_rnn doi:10.1021/ci400187y -Ma2015_qsar_merck doi:10.1021/ci500747n -Maaten2008_tsne url:http://www.jmlr.org/papers/v9/vandermaaten08a.html -Mahendran2014_understanding arxiv:1412.0035 -Mahendran2016_salient doi:10.1007/978-3-319-46466-4_8 -Mahendran2016_visualizing doi:10.1007/s11263-016-0911-8 -Mahmood doi:10.1016/S0140-6736(13)61752-3 -Mapreduce doi:10.1145/1327452.1327492 -Mayr2016_deep_tox doi:10.3389/fenvs.2015.00080 -McHardy doi:10.1038/nmeth976 -McHardy2 doi:10.7717/peerj.1603 -Meissner2008 doi:10.1038/nature07107 -Metaphlan doi:10.1038/nmeth.2066 -Meng2016_mllib arxiv:1505.06807 -Min2016_deepenhancer doi:10.1109/BIBM.2016.7822593 -Momeni2018 doi:10.1101/438341 -Moritz2015_sparknet arxiv:1511.06051 -Mordvintsev2015_inceptionism url:http://googleresearch.blogspot.co.uk/2015/06/inceptionism-going-deeper-into-neural.html -Mrzelj url:https://repozitorij.uni-lj.si/IzpisGradiva.php?id=85515 -matis doi:10.1016/S0097-8485(96)80015-5 -nbc doi:10.1093/bioinformatics/btq619 -Murdoch2017_automatic arxiv:1702.02540 -Nazor2012 doi:10.1016/j.stem.2012.02.013 -Nemati2016_rl doi:10.1109/EMBC.2016.7591355 -Ni2018 doi:10.1101/385849 -Nguyen2014_adversarial arxiv:1412.1897v4 -Ngiam2011 url:https://ai.stanford.edu/~ang/papers/icml11-MultimodalDeepLearning.pdf -Nie2016_3d_survival doi:10.1007/978-3-319-46723-8_25 -NIH2016_genome_cost url:https://www.genome.gov/27565109/the-cost-of-sequencing-a-human-genome/ -Nih_curiosity url:https://www.nigms.nih.gov/Education/Documents/curiosity.pdf -Olivecrona2017_drug_design arxiv:1704.07555 -Osokin2017_biogan arxiv:1708.04692 -onecodex url:https://www.onecodex.com/ -Papernot2017_pate url:https://openreview.net/forum?id=HkwoSDPgg -Park2016_deepmirgene arxiv:1605.00017 -Parnamaa2017 doi:10.1534/g3.116.033654 -Pan2018 doi:10.1101/438218 -Pawlowski2016 doi:10.1101/085118 -Peng2019 doi:10.1101/527044 -Pereira2016_docking doi:10.1021/acs.jcim.6b00355 -PerezSianes2016_screening doi:10.1007/978-3-319-40126-3_2 -Phymm doi:10.1038/nmeth.1358 -Poplin2016_deepvariant doi:10.1101/092890 -Pratt2016_dr doi:10.1016/j.procs.2016.07.014 -Quach2017 doi:10.18632/aging.101168 -Quang2017_factor doi:10.1101/151274 -Qin2017_onehot doi:10.1371/journal.pcbi.1005403 -Qiu2017_graph_embedding doi:10.1101/110668 -Qiu2018 doi:10.1101/406066 -Ragoza2016_protein arxiv:1612.02751 -RAD2010_view_cc doi:10.1145/1721654.1721672 -Radford_dcgan arxiv:1511.06434v2 -Rajkomar2017_radiographs doi:10.1007/s10278-016-9914-9 -Rakhlin2018_histology doi:10.1101/259911 -Ramsundar2015_multitask_drug arxiv:1502.02072 -Ranganath2016_deep arxiv:1608.02158 -Raina2009_gpu doi:10.1145/1553374.1553486 -Relton2010 doi:10.1371/journal.pmed.1000356 -Ribeiro2016_lime arxiv:1602.04938 -Robertson2005 doi:10.1038/nrg1655 -Rogers2010_fingerprints doi:10.1021/ci100050t -Roth2015_view_agg_cad doi:10.1109/TMI.2015.2482920 -Romero2017_diet url:https://openreview.net/pdf?id=Sk-oDY9ge -Rosenberg2015_synthetic_seqs doi:10.1016/j.cell.2015.09.054 -Russakovsky2015_imagenet doi:10.1007/s11263-015-0816-y -Sa2015_buckwild pmcid:PMC4907892 -Salas2018_GR doi:10.1101/gr.233213.117 -Salas2018 doi:10.1186/s13059-018-1448-7 -Salzberg doi:10.1186/1471-2105-11-544 -Schatz2010_dna_cloud doi:10.1038/nbt0710-691 -Schmidhuber2014_dnn_overview doi:10.1016/j.neunet.2014.09.003 -Scotti2016_missplicing doi:10.1038/nrg.2015.3 -Segata doi:10.1371/journal.pcbi.1004977 -Segler2017_drug_design arxiv:1701.01329 -Seide2014_parallel doi:10.1109/ICASSP.2014.6853593 -Setty2015_seqgl doi:10.1371/journal.pcbi.1004271 -Selvaraju2016_grad arxiv:1610.02391 -Serden doi:10.1016/S0168-8510(02)00208-7 -Shaham2016_batch_effects doi:10.1093/bioinformatics/btx196 -Shapely doi:10.1515/9781400881970-018 -Shen2017_medimg_review doi:10.1146/annurev-bioeng-071516-044442 -Shin2016_cad_tl doi:10.1109/TMI.2016.2528162 -Shrikumar2017_learning arxiv:1704.02685 -Shrikumar2017_reversecomplement doi:10.1101/103663 -Simonyan2013_deep arxiv:1312.6034 -Singh2017_attentivechrome arxiv:1708.00339 -Singh2016_deepchrome arxiv:1607.02078 -Singh2016_tsk doi:10.1109/TCBB.2016.2609918 -Silver2016_alphago doi:10.1038/nature16961 -Sonderby doi:10.1007/978-3-319-21233-3_6 -Soueidan doi:10.1515/metgen-2016-0001 -Spark doi:10.1145/2934664 -Speech_recognition url:http://www.businessinsider.com/ibm-edges-closer-to-human-speech-recognition-2017-3 -Springenberg2014_striving arxiv:1412.6806 -Stein2010_cloud doi:10.1186/gb-2010-11-5-207 -Stenstrom2005_latent doi:10.2337/diabetes.54.suppl_2.S68 -Stormo2000_dna doi:10.1093/bioinformatics/16.1.16 -Stratnikov doi:10.1186/2049-2618-1-11 -Strobelt2016_visual arxiv:1606.07461 -Su2015_gpu arxiv:1507.01239 -Subramanian2016_bace1 doi:10.1021/acs.jcim.6b00290 -Sun2016_ensemble arxiv:1606.00575 -Sundararajan2017_axiomatic arxiv:1703.01365 -Sutskever arxiv:1409.3215 -Swamidass2009_irv doi:10.1021/ci8004379 -Tan2014_psb doi:10.1142/9789814644730_0014 -Tan2015_adage doi:10.1128/mSystems.00025-15 -Tan2016_eadage doi:10.1101/078659 -TAC-ELM doi:10.1142/S0219720012500151 -TensorFlow arxiv:1603.04467 -Teschendorff2017 doi:10.2217/epi-2016-0153 -Tian2019 doi:10.1186/s12864-019-5488-5 -Titus2017 doi:10.1093/hmg/ddx275 -Torracinta2016_deep_snp doi:10.1101/097469 -Torracinta2016_sim doi:10.1101/079087 -Tu1996_anns doi:10.1016/S0895-4356(96)00002-9 -Unterthiner2014_screening url:http://www.bioinf.at/publications/2014/NIPS2014a.pdf -Vanhoucke2011_cpu url:https://research.google.com/pubs/pub37631.html -Vera2016_sc_analysis doi:10.1146/annurev-genet-120215-034854 -Vervier doi:10.1093/bioinformatics/btv683 -Wallach2015_atom_net arxiv:1510.02855 -Wang2016_breast_cancer arxiv:1606.05718 -Wang2016_methyl doi:10.1038/srep19598 -Wang2016_protein_contact doi:10.1371/journal.pcbi.1005324 -Wasson1985_clinical doi:10.1056/NEJM198509263131306 -WayGreene2017_eval arxiv:1711.04828 -WayGreene2017_tybalt doi:10.1101/174474 -Wilhelm-Benartzi2013 doi:10.1038/bjc.2013.496 -Word2Vec arxiv:1301.3781 -wgsquikr doi:10.1371/journal.pone.0091784 -Wu2017_molecule_net doi:10.1039/C7SC02664A -Xiang doi:10.1016/S0167-9473(99)00098-5 -Xiong2011_bayesian doi:10.1093/bioinformatics/btr444 -Xiong2015_splicing_code doi:10.1126/science.1254806 -Xu2015_show arxiv:1502.03044 -Yasushi2016_cgbvs_dnn doi:10.1002/minf.201600045 -yok doi:10.1186/1471-2105-12-20 -Yoon2016_cancer_reports doi:10.1007/978-3-319-47898-2_21 -Yosinski2014 url:https://papers.nips.cc/paper/5347-how-transferable-are-features-in-deep-neural-networks -Yosinksi2015_understanding arxiv:1506.06579 -Yu2016_melanoma_resnet doi:10.1109/TMI.2016.2642839 -Zeiler2013_visualizing arxiv:1311.2901 -Zeng2015 doi:10.1186/s12859-015-0553-9 -Zeng2016_convolutional doi:10.1093/bioinformatics/btw255 -Zhang2015_multitask_tl doi:10.1145/2783258.2783304 -Zhang2017_generalization arxiv:1611.03530v2 -Zhang2019 doi:10.1186/s12885-019-5932-6 -Zhou2015_deep_sea doi:10.1038/nmeth.3547 -Zhu2016_advers_mamm doi:10.1101/095786 -Zhu2016_mult_inst_mamm doi:10.1101/095794 -Zintgraf2017_visualizing arxiv:1702.04595 -goodfellow2016deep url:http://www.deeplearningbook.org/ -li2016joint url:https://dl.acm.org/citation.cfm?id=3061018 -world2004international url:http://www.who.int/classifications/icd/en/ -ghahramani_protect arxiv:1707.02476 -uncertainty_types arxiv:1703.04977 -uncertainty_multi_task arxiv:1705.07115 -guo_calibration arxiv:1706.04599 -platt_scaling url:http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.41.1639 -out_dist_baseline arxiv:1610.02136 -temp_out_dist arxiv:1706.02690 -ai_safety arxiv:1606.06565 -strong_adversary arxiv:1705.07263 -retinopathy_uncertainty doi:10.1038/s41598-017-17876-z -bayesian_hypernets arxiv:1710.04759 -mcclure_bayesian arxiv:1611.01639 -uncertainty_ensembles arxiv:1612.01474 -domain_adapt_uncertainty arxiv:1505.07818 -gal_thesis url:http://www.cs.ox.ac.uk/people/yarin.gal/website/thesis/thesis.pdf diff --git a/content/metadata.yaml b/content/metadata.yaml index cc1a3766..fd35227a 100644 --- a/content/metadata.yaml +++ b/content/metadata.yaml @@ -10,7 +10,7 @@ keywords: - collaborative - manubot lang: en-US -author_info: +authors: - github: traversc name: Travers Ching orcid: 0000-0002-5577-3516 diff --git a/output/README.md b/output/README.md index 813943e0..fde8110f 100644 --- a/output/README.md +++ b/output/README.md @@ -2,7 +2,7 @@ The `output` branch contains files automatically generated by the manuscript build process. It consists of the contents of the `output` directory of the `master` branch. -These files are not tracked in `master`, but instead written to the `output` branch by continuous Travis CI builds. +These files are not tracked in `master`, but instead written to the `output` branch by continuous integration builds. ## Files diff --git a/webpage/README.md b/webpage/README.md index fbbe25ad..9e22c56d 100644 --- a/webpage/README.md +++ b/webpage/README.md @@ -1,15 +1,14 @@ # Output directory containing the formatted manuscript -The [`gh-pages`](https://github.com/$TRAVIS_REPO_SLUG/tree/gh-pages) branch hosts the contents of this directory at https://$OWNER_NAME.github.io/$REPO_NAME/. -The permalink for this webpage version is https://$OWNER_NAME.github.io/$REPO_NAME/v/$TRAVIS_COMMIT/. -To redirect to the permalink for the latest manuscript version at anytime, use the link https://$OWNER_NAME.github.io/$REPO_NAME/v/freeze/. +The [`gh-pages`](https://github.com/$REPO_SLUG/tree/gh-pages) branch hosts the contents of this directory at . +The permalink for this webpage version is . +To redirect to the permalink for the latest manuscript version at anytime, use the link . ## Files This directory contains the following files, which are mostly ignored on the `master` branch: + [`index.html`](index.html) is an HTML manuscript. -+ [`github-pandoc.css`](github-pandoc.css) sets the display style for `index.html`. + [`manuscript.pdf`](manuscript.pdf) is a PDF manuscript. The `v` directory contains directories for each manuscript version. @@ -25,7 +24,7 @@ Therefore, `.ots` files are initially incomplete and should be upgraded at a lat The `manubot webpage` call during continuous deployment identifies files matched by `webpage/v/**/*.ots` and attempts to upgrade them. You can also manually upgrade timestamps, by running the following in the `gh-pages` branch: -```sh +```shell ots upgrade v/*/*.ots rm v/*/*.ots.bak git add v/*/*.ots @@ -36,4 +35,4 @@ Verifying timestamps with the `ots verify` command requires running a local bitc ## Source The manuscripts in this directory were built from -[`$TRAVIS_COMMIT`](https://github.com/$TRAVIS_REPO_SLUG/commit/$TRAVIS_COMMIT). +[`$COMMIT`](https://github.com/$REPO_SLUG/commit/$COMMIT).