diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 97c8c97f..237c9ed0 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,4 +1,5 @@ { + "$schema": "https://raw.githubusercontent.com/devcontainers/spec/main/schemas/devContainer.schema.json", "name": "nfcore", "image": "nfcore/devcontainer:latest", diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md deleted file mode 100644 index fcdecefd..00000000 --- a/.github/CONTRIBUTING.md +++ /dev/null @@ -1,125 +0,0 @@ -# `nf-core/rnadnavar`: Contributing Guidelines - -Hi there! -Many thanks for taking an interest in improving nf-core/rnadnavar. - -We try to manage the required tasks for nf-core/rnadnavar using GitHub issues, you probably came to this page when creating one. -Please use the pre-filled template to save time. - -However, don't be put off by this template - other more general issues and suggestions are welcome! -Contributions to the code are even more welcome ;) - -> [!NOTE] -> If you need help using or modifying nf-core/rnadnavar then the best place to ask is on the nf-core Slack [#rnadnavar](https://nfcore.slack.com/channels/rnadnavar) channel ([join our Slack here](https://nf-co.re/join/slack)). - -## Contribution workflow - -If you'd like to write some code for nf-core/rnadnavar, the standard workflow is as follows: - -1. Check that there isn't already an issue about your idea in the [nf-core/rnadnavar issues](https://github.com/nf-core/rnadnavar/issues) to avoid duplicating work. If there isn't one already, please create one so that others know you're working on this -2. [Fork](https://help.github.com/en/github/getting-started-with-github/fork-a-repo) the [nf-core/rnadnavar repository](https://github.com/nf-core/rnadnavar) to your GitHub account -3. Make the necessary changes / additions within your forked repository following [Pipeline conventions](#pipeline-contribution-conventions) -4. Use `nf-core pipelines schema build` and add any new parameters to the pipeline JSON schema (requires [nf-core tools](https://github.com/nf-core/tools) >= 1.10). -5. Submit a Pull Request against the `dev` branch and wait for the code to be reviewed and merged - -If you're not used to this workflow with git, you can start with some [docs from GitHub](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests) or even their [excellent `git` resources](https://try.github.io/). - -## Tests - -You have the option to test your changes locally by running the pipeline. For receiving warnings about process selectors and other `debug` information, it is recommended to use the debug profile. Execute all the tests with the following command: - -```bash -nf-test test --profile debug,test,docker --verbose -``` - -When you create a pull request with changes, [GitHub Actions](https://github.com/features/actions) will run automatic tests. -Typically, pull-requests are only fully reviewed when these tests are passing, though of course we can help out before then. - -There are typically two types of tests that run: - -### Lint tests - -`nf-core` has a [set of guidelines](https://nf-co.re/developers/guidelines) which all pipelines must adhere to. -To enforce these and ensure that all pipelines stay in sync, we have developed a helper tool which runs checks on the pipeline code. This is in the [nf-core/tools repository](https://github.com/nf-core/tools) and once installed can be run locally with the `nf-core pipelines lint ` command. - -If any failures or warnings are encountered, please follow the listed URL for more documentation. - -### Pipeline tests - -Each `nf-core` pipeline should be set up with a minimal set of test-data. -`GitHub Actions` then runs the pipeline on this data to ensure that it exits successfully. -If there are any failures then the automated tests fail. -These tests are run both with the latest available version of `Nextflow` and also the minimum required version that is stated in the pipeline code. - -## Patch - -:warning: Only in the unlikely and regretful event of a release happening with a bug. - -- On your own fork, make a new branch `patch` based on `upstream/main` or `upstream/master`. -- Fix the bug, and bump version (X.Y.Z+1). -- Open a pull-request from `patch` to `main`/`master` with the changes. - -## Getting help - -For further information/help, please consult the [nf-core/rnadnavar documentation](https://nf-co.re/rnadnavar/usage) and don't hesitate to get in touch on the nf-core Slack [#rnadnavar](https://nfcore.slack.com/channels/rnadnavar) channel ([join our Slack here](https://nf-co.re/join/slack)). - -## Pipeline contribution conventions - -To make the `nf-core/rnadnavar` code and processing logic more understandable for new contributors and to ensure quality, we semi-standardise the way the code and other contributions are written. - -### Adding a new step - -If you wish to contribute a new step, please use the following coding standards: - -1. Define the corresponding input channel into your new process from the expected previous process channel. -2. Write the process block (see below). -3. Define the output channel if needed (see below). -4. Add any new parameters to `nextflow.config` with a default (see below). -5. Add any new parameters to `nextflow_schema.json` with help text (via the `nf-core pipelines schema build` tool). -6. Add sanity checks and validation for all relevant parameters. -7. Perform local tests to validate that the new code works as expected. -8. If applicable, add a new test in the `tests` directory. -9. Update MultiQC config `assets/multiqc_config.yml` so relevant suffixes, file name clean up and module plots are in the appropriate order. If applicable, add a [MultiQC](https://https://multiqc.info/) module. -10. Add a description of the output files and if relevant any appropriate images from the MultiQC report to `docs/output.md`. - -### Default values - -Parameters should be initialised / defined with default values within the `params` scope in `nextflow.config`. - -Once there, use `nf-core pipelines schema build` to add to `nextflow_schema.json`. - -### Default processes resource requirements - -Sensible defaults for process resource requirements (CPUs / memory / time) for a process should be defined in `conf/base.config`. These should generally be specified generic with `withLabel:` selectors so they can be shared across multiple processes/steps of the pipeline. A nf-core standard set of labels that should be followed where possible can be seen in the [nf-core pipeline template](https://github.com/nf-core/tools/blob/main/nf_core/pipeline-template/conf/base.config), which has the default process as a single core-process, and then different levels of multi-core configurations for increasingly large memory requirements defined with standardised labels. - -The process resources can be passed on to the tool dynamically within the process with the `${task.cpus}` and `${task.memory}` variables in the `script:` block. - -### Naming schemes - -Please use the following naming schemes, to make it easy to understand what is going where. - -- initial process channel: `ch_output_from_` -- intermediate and terminal channels: `ch__for_` - -### Nextflow version bumping - -If you are using a new feature from core Nextflow, you may bump the minimum required version of nextflow in the pipeline with: `nf-core pipelines bump-version --nextflow . [min-nf-version]` - -### Images and figures - -For overview images and other documents we follow the nf-core [style guidelines and examples](https://nf-co.re/developers/design_guidelines). - -## GitHub Codespaces - -This repo includes a devcontainer configuration which will create a GitHub Codespaces for Nextflow development! This is an online developer environment that runs in your browser, complete with VSCode and a terminal. - -To get started: - -- Open the repo in [Codespaces](https://github.com/nf-core/rnadnavar/codespaces) -- Tools installed - - nf-core - - Nextflow - -Devcontainer specs: - -- [DevContainer config](.devcontainer/devcontainer.json) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index f37c7182..4a350d3e 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -8,14 +8,14 @@ These are the most common things requested on pull requests (PRs). Remember that PRs should be made against the dev branch, unless you're preparing a pipeline release. -Learn more about contributing: [CONTRIBUTING.md](https://github.com/nf-core/rnadnavar/tree/master/.github/CONTRIBUTING.md) +Learn more about contributing: [CONTRIBUTING.md](https://github.com/nf-core/rnadnavar/tree/master/docs/CONTRIBUTING.md) --> ## PR checklist - [ ] This comment contains a description of changes (with reason). - [ ] If you've fixed a bug or added code that should be tested, add tests! -- [ ] If you've added a new tool - have you followed the pipeline conventions in the [contribution docs](https://github.com/nf-core/rnadnavar/tree/master/.github/CONTRIBUTING.md) +- [ ] If you've added a new tool - have you followed the pipeline conventions in the [contribution docs](https://github.com/nf-core/rnadnavar/tree/master/docs/CONTRIBUTING.md) - [ ] If necessary, also make a PR on the nf-core/rnadnavar _branch_ on the [nf-core/test-datasets](https://github.com/nf-core/test-datasets) repository. - [ ] Make sure your code lints (`nf-core pipelines lint`). - [ ] Ensure the test suite passes (`nextflow run . -profile test,docker --outdir `). diff --git a/.github/actions/get-shards/action.yml b/.github/actions/get-shards/action.yml index 34085279..e2833ee9 100644 --- a/.github/actions/get-shards/action.yml +++ b/.github/actions/get-shards/action.yml @@ -21,7 +21,7 @@ runs: using: "composite" steps: - name: Install nf-test - uses: nf-core/setup-nf-test@v1 + uses: nf-core/setup-nf-test@4069fbbaabe94c08faba4ad261bfa88225ba133f # v2 with: version: ${{ env.NFT_VER }} - name: Get number of shards diff --git a/.github/actions/nf-test/action.yml b/.github/actions/nf-test/action.yml index 3b9724c7..ad686e8e 100644 --- a/.github/actions/nf-test/action.yml +++ b/.github/actions/nf-test/action.yml @@ -20,24 +20,24 @@ runs: using: "composite" steps: - name: Setup Nextflow - uses: nf-core/setup-nextflow@v2 + uses: nf-core/setup-nextflow@b4ec1bc7c16a94435159de94a05253542fddf6ef # v3 with: version: "${{ env.NXF_VERSION }}" - name: Set up Python - uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6 + uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6 with: python-version: "3.14" - name: Install nf-test - uses: nf-core/setup-nf-test@v1 + uses: nf-core/setup-nf-test@4069fbbaabe94c08faba4ad261bfa88225ba133f # v2 with: version: "${{ env.NFT_VER }}" install-pdiff: true - name: Setup apptainer if: contains(inputs.profile, 'singularity') - uses: eWaterCycle/setup-apptainer@main + uses: eWaterCycle/setup-apptainer@3f706d898c9db585b1d741b4692e66755f3a1b40 # v2 - name: Set up Singularity if: contains(inputs.profile, 'singularity') @@ -48,7 +48,7 @@ runs: - name: Conda setup if: contains(inputs.profile, 'conda') - uses: conda-incubator/setup-miniconda@505e6394dae86d6a5c7fbb6e3fb8938e3e863830 # v3 + uses: conda-incubator/setup-miniconda@8ee1f361103df19b6f8c8655fd3967a8ecb162d5 # v4 with: auto-update-conda: true conda-solver: libmamba diff --git a/.github/workflows/awsfulltest.yml b/.github/workflows/awsfulltest.yml index 78447aab..e0b8654e 100644 --- a/.github/workflows/awsfulltest.yml +++ b/.github/workflows/awsfulltest.yml @@ -23,7 +23,7 @@ jobs: echo "revision=${{ (github.event_name == 'workflow_dispatch' || github.event_name == 'release') && github.sha || 'dev' }}" >> "$GITHUB_OUTPUT" - name: Launch workflow via Seqera Platform - uses: seqeralabs/action-tower-launch@v2 + uses: seqeralabs/action-tower-launch@51565b514bff1827cf34620de25d0055759f1fc9 # v2 # TODO nf-core: You can customise AWS full pipeline tests as required # Add full size test data (but still relatively small datasets for few samples) # on the `test_full.config` test runs with only one set of parameters @@ -33,14 +33,33 @@ jobs: compute_env: ${{ vars.TOWER_COMPUTE_ENV }} revision: ${{ steps.revision.outputs.revision }} workdir: s3://${{ vars.AWS_S3_BUCKET }}/work/rnadnavar/work-${{ steps.revision.outputs.revision }} + nextflow_config: | + plugins { + id 'nf-slack@0.5.0' + } + slack { + enabled = true + bot { + token = '${{ secrets.NFSLACK_BOT_TOKEN }}' + channel = 'rnadnavar' + } + onStart { + enabled = false + } + onComplete { + message = ':white_check_mark: *rnadnavar/test_full* completed successfully! :tada:' + } + onError { + message = ':x: *rnadnavar/test_full* failed :crying_cat_face:' + } + } parameters: | { - "hook_url": "${{ secrets.MEGATESTS_ALERTS_SLACK_HOOK_URL }}", "outdir": "s3://${{ vars.AWS_S3_BUCKET }}/rnadnavar/results-${{ steps.revision.outputs.revision }}" } profiles: test_full - - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 + - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7 with: name: Seqera Platform debug log file path: | diff --git a/.github/workflows/awstest.yml b/.github/workflows/awstest.yml index 44697ac1..2a2fc7c4 100644 --- a/.github/workflows/awstest.yml +++ b/.github/workflows/awstest.yml @@ -12,7 +12,7 @@ jobs: steps: # Launch workflow using Seqera Platform CLI tool action - name: Launch workflow via Seqera Platform - uses: seqeralabs/action-tower-launch@v2 + uses: seqeralabs/action-tower-launch@51565b514bff1827cf34620de25d0055759f1fc9 # v2 with: workspace_id: ${{ vars.TOWER_WORKSPACE_ID }} access_token: ${{ secrets.TOWER_ACCESS_TOKEN }} @@ -25,7 +25,7 @@ jobs: } profiles: test - - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 + - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7 with: name: Seqera Platform debug log file path: | diff --git a/.github/workflows/branch.yml b/.github/workflows/branch.yml index 123dadc9..cda09f71 100644 --- a/.github/workflows/branch.yml +++ b/.github/workflows/branch.yml @@ -21,7 +21,7 @@ jobs: # NOTE - this doesn't currently work if the PR is coming from a fork, due to limitations in GitHub actions secrets - name: Post PR comment if: failure() - uses: mshick/add-pr-comment@b8f338c590a895d50bcbfa6c5859251edc8952fc # v2 + uses: mshick/add-pr-comment@8e4927817251f1ff60c001f04568532b38e0b4a0 # v3 with: message: | ## This PR is against the `${{github.event.pull_request.base.ref}}` branch :x: diff --git a/.github/workflows/clean-up.yml b/.github/workflows/clean-up.yml index 6adb0fff..172de6f3 100644 --- a/.github/workflows/clean-up.yml +++ b/.github/workflows/clean-up.yml @@ -10,7 +10,7 @@ jobs: issues: write pull-requests: write steps: - - uses: actions/stale@5f858e3efba33a5ca4407a664cc011ad407f2008 # v10 + - uses: actions/stale@b5d41d4e1d5dceea10e7104786b73624c18a190f # v10 with: stale-issue-message: "This issue has been tagged as awaiting-changes or awaiting-feedback by an nf-core contributor. Remove stale label or add a comment otherwise this issue will be closed in 20 days." stale-pr-message: "This PR has been tagged as awaiting-changes or awaiting-feedback by an nf-core contributor. Remove stale label or add a comment if it is still useful." diff --git a/.github/workflows/download_pipeline.yml b/.github/workflows/download_pipeline.yml index 45884ff9..a7bf4fc2 100644 --- a/.github/workflows/download_pipeline.yml +++ b/.github/workflows/download_pipeline.yml @@ -38,13 +38,16 @@ jobs: runs-on: ubuntu-latest needs: configure steps: + - name: Check out pipeline code + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 + - name: Install Nextflow - uses: nf-core/setup-nextflow@v2 + uses: nf-core/setup-nextflow@b4ec1bc7c16a94435159de94a05253542fddf6ef # v3 - name: Disk space cleanup uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1 - - uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6 + - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6 with: python-version: "3.14" architecture: "x64" @@ -54,10 +57,15 @@ jobs: with: apptainer-version: 1.3.4 + - name: Read .nf-core.yml + id: read_yml + run: | + echo "nf_core_version=$(yq '.nf_core_version' ${{ github.workspace }}/.nf-core.yml)" >> "$GITHUB_OUTPUT" + - name: Install dependencies run: | python -m pip install --upgrade pip - pip install git+https://github.com/nf-core/tools.git + pip install nf-core==${{ steps.read_yml.outputs['nf_core_version'] }} - name: Make a cache directory for the container images run: | @@ -127,7 +135,7 @@ jobs: fi - name: Upload Nextflow logfile for debugging purposes - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7 with: name: nextflow_logfile.txt path: .nextflow.log* diff --git a/.github/workflows/fix_linting.yml b/.github/workflows/fix_linting.yml index 05c7d0c2..36b9b665 100644 --- a/.github/workflows/fix_linting.yml +++ b/.github/workflows/fix_linting.yml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest steps: # Use the @nf-core-bot token to check out so we can push later - - uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 with: token: ${{ secrets.nf_core_bot_auth_token }} @@ -31,22 +31,18 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.nf_core_bot_auth_token }} - # Install and run pre-commit - - uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6 - with: - python-version: "3.14" - - - name: Install pre-commit - run: pip install pre-commit + - name: Install Nextflow + uses: nf-core/setup-nextflow@b4ec1bc7c16a94435159de94a05253542fddf6ef # v3 - - name: Run pre-commit - id: pre-commit - run: pre-commit run --all-files + # Install and run prek + - name: Run prek + id: prek + uses: j178/prek-action@6ad80277337ad479fe43bd70701c3f7f8aa74db3 # v2 continue-on-error: true # indication that the linting has finished - name: react if linting finished succesfully - if: steps.pre-commit.outcome == 'success' + if: steps.prek.outcome == 'success' uses: peter-evans/create-or-update-comment@e8674b075228eee787fea43ef493e45ece1004c9 # v5 with: comment-id: ${{ github.event.comment.id }} @@ -54,7 +50,7 @@ jobs: - name: Commit & push changes id: commit-and-push - if: steps.pre-commit.outcome == 'failure' + if: steps.prek.outcome == 'failure' run: | git config user.email "core@nf-co.re" git config user.name "nf-core-bot" diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index 7a527a34..8738ffc9 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -11,33 +11,31 @@ jobs: pre-commit: runs-on: ubuntu-latest steps: - - uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - - name: Set up Python 3.14 - uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6 - with: - python-version: "3.14" - - - name: Install pre-commit - run: pip install pre-commit + - name: Install Nextflow + uses: nf-core/setup-nextflow@b4ec1bc7c16a94435159de94a05253542fddf6ef # v3 - - name: Run pre-commit - run: pre-commit run --all-files + - name: Run prek + uses: j178/prek-action@6ad80277337ad479fe43bd70701c3f7f8aa74db3 # v2 nf-core: runs-on: ubuntu-latest steps: - name: Check out pipeline code - uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - name: Install Nextflow - uses: nf-core/setup-nextflow@v2 + uses: nf-core/setup-nextflow@b4ec1bc7c16a94435159de94a05253542fddf6ef # v3 - - uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6 + - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6 with: python-version: "3.14" architecture: "x64" + - name: Setup uv + uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0 + - name: read .nf-core.yml uses: pietrobolcato/action-read-yaml@9f13718d61111b69f30ab4ac683e67a56d254e1d # 1.1.0 id: read_yml @@ -45,12 +43,10 @@ jobs: config: ${{ github.workspace }}/.nf-core.yml - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install nf-core==${{ steps.read_yml.outputs['nf_core_version'] }} + run: uv tool install nf-core==${{ steps.read_yml.outputs['nf_core_version'] }} - name: Run nf-core pipelines lint - if: ${{ github.base_ref != 'master' }} + if: ${{ github.base_ref != 'master' || github.base_ref != 'main' }} env: GITHUB_COMMENTS_URL: ${{ github.event.pull_request.comments_url }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -58,7 +54,7 @@ jobs: run: nf-core -l lint_log.txt pipelines lint --dir ${GITHUB_WORKSPACE} --markdown lint_results.md - name: Run nf-core pipelines lint --release - if: ${{ github.base_ref == 'master' }} + if: ${{ github.base_ref == 'master' || github.base_ref == 'main' }} env: GITHUB_COMMENTS_URL: ${{ github.event.pull_request.comments_url }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -71,7 +67,7 @@ jobs: - name: Upload linting log file artifact if: ${{ always() }} - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7 with: name: linting-logs path: | diff --git a/.github/workflows/linting_comment.yml b/.github/workflows/linting_comment.yml index e6e9bc26..5b0c24f7 100644 --- a/.github/workflows/linting_comment.yml +++ b/.github/workflows/linting_comment.yml @@ -11,7 +11,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Download lint results - uses: dawidd6/action-download-artifact@ac66b43f0e6a346234dd65d4d0c8fbb31cb316e5 # v11 + uses: dawidd6/action-download-artifact@b6e2e70617bc3265edd6dab6c906732b2f1ae151 # v21 with: workflow: linting.yml workflow_conclusion: completed @@ -21,7 +21,7 @@ jobs: run: echo "pr_number=$(cat linting-logs/PR_number.txt)" >> $GITHUB_OUTPUT - name: Post PR comment - uses: marocchino/sticky-pull-request-comment@773744901bac0e8cbb5a0dc842800d45e9b2b405 # v2 + uses: marocchino/sticky-pull-request-comment@70d2764d1a7d5d9560b100cbea0077fc8f633987 # v3 with: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} number: ${{ steps.pr_number.outputs.pr_number }} diff --git a/.github/workflows/nf-test.yml b/.github/workflows/nf-test.yml index c98d76ec..8c318417 100644 --- a/.github/workflows/nf-test.yml +++ b/.github/workflows/nf-test.yml @@ -18,7 +18,7 @@ concurrency: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - NFT_VER: "0.9.3" + NFT_VER: "0.9.4" NFT_WORKDIR: "~" NXF_ANSI_LOG: false NXF_SINGULARITY_CACHEDIR: ${{ github.workspace }}/.singularity @@ -40,7 +40,7 @@ jobs: rm -rf ./* || true rm -rf ./.??* || true ls -la ./ - - uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 with: fetch-depth: 0 @@ -64,11 +64,12 @@ jobs: runs-on: # use self-hosted runners - runs-on=${{ github.run_id }}-nf-test - runner=4cpu-linux-x64 + - volume=80gb strategy: fail-fast: false matrix: shard: ${{ fromJson(needs.nf-test-changes.outputs.shard) }} - profile: [conda, docker, singularity] + profile: [docker, singularity] isMain: - ${{ github.base_ref == 'master' || github.base_ref == 'main' }} # Exclude conda and singularity on dev @@ -78,14 +79,14 @@ jobs: - isMain: false profile: "singularity" NXF_VER: - - "25.04.0" + - "25.10.4" - "latest-everything" env: NXF_ANSI_LOG: false TOTAL_SHARDS: ${{ needs.nf-test-changes.outputs.total_shards }} steps: - - uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 with: fetch-depth: 0 diff --git a/.github/workflows/release-announcements.yml b/.github/workflows/release-announcements.yml index 431d3d44..78d5dbe0 100644 --- a/.github/workflows/release-announcements.yml +++ b/.github/workflows/release-announcements.yml @@ -18,7 +18,7 @@ jobs: id: get_description run: | echo "description=$(curl -s https://nf-co.re/pipelines.json | jq -r '.remote_workflows[] | select(.full_name == "${{ github.repository }}") | .description')" >> $GITHUB_OUTPUT - - uses: rzr/fediverse-action@master + - uses: rzr/fediverse-action@563159eb8d45f70ab6aaba36ed55cd037e51f441 # master with: access-token: ${{ secrets.MASTODON_ACCESS_TOKEN }} host: "mstdn.science" # custom host if not "mastodon.social" (default) @@ -34,7 +34,7 @@ jobs: bsky-post: runs-on: ubuntu-latest steps: - - uses: zentered/bluesky-post-action@6461056ea355ea43b977e149f7bf76aaa572e5e8 # v0.3.0 + - uses: zentered/bluesky-post-action@5a91cc2ad10a304a4e96c16182dbe4918710bcf6 # v0.4.0 with: post: | Pipeline release! ${{ github.repository }} v${{ github.event.release.tag_name }} - ${{ github.event.release.name }}! diff --git a/.github/workflows/template-version-comment.yml b/.github/workflows/template-version-comment.yml index e8560fc7..ea30827e 100644 --- a/.github/workflows/template-version-comment.yml +++ b/.github/workflows/template-version-comment.yml @@ -9,7 +9,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Check out pipeline code - uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 with: ref: ${{ github.event.pull_request.head.sha }} @@ -29,7 +29,7 @@ jobs: run: echo "OUTPUT=$(pip list --outdated | grep nf-core)" >> ${GITHUB_ENV} - name: Post nf-core template version comment - uses: mshick/add-pr-comment@b8f338c590a895d50bcbfa6c5859251edc8952fc # v2 + uses: mshick/add-pr-comment@8e4927817251f1ff60c001f04568532b38e0b4a0 # v3 if: | contains(env.OUTPUT, 'nf-core') with: @@ -42,5 +42,5 @@ jobs: > Your pipeline is using an old version of the nf-core template: ${{ steps.read_yml.outputs['nf_core_version'] }}. > Please update your pipeline to the latest version. > - > For more documentation on how to update your pipeline, please see the [nf-core documentation](https://github.com/nf-core/tools?tab=readme-ov-file#sync-a-pipeline-with-the-template) and [Synchronisation documentation](https://nf-co.re/docs/contributing/sync). + > For more documentation on how to update your pipeline, please see the [Synchronisation documentation](https://nf-co.re/docs/developing/template-syncs/overview). # diff --git a/.gitignore b/.gitignore index a42ce016..ed59d852 100644 --- a/.gitignore +++ b/.gitignore @@ -6,4 +6,14 @@ results/ testing/ testing* *.pyc +.idea/ null/ +test/ +res-test +node_modules/ +.nf-test* +.vscode* +null/ +.lineage/ +rnadnavar_test/ +rnadnavar_ful_test/ diff --git a/.nf-core.yml b/.nf-core.yml index 18247c81..748d09f2 100644 --- a/.nf-core.yml +++ b/.nf-core.yml @@ -11,7 +11,7 @@ lint: - docs/images/nf-core-rnadnavar_logo_light.png modules_config: false template_strings: false -nf_core_version: 3.5.1 +nf_core_version: 4.0.2 repository_type: pipeline template: author: Raquel Manzano-Garcia @@ -21,4 +21,4 @@ template: name: rnadnavar org: nf-core outdir: . - version: 1.0dev + version: "1.0.0" diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index d06777a8..f51e1a28 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -4,7 +4,7 @@ repos: hooks: - id: prettier additional_dependencies: - - prettier@3.6.2 + - prettier@3.8.3 - repo: https://github.com/pre-commit/pre-commit-hooks rev: v6.0.0 hooks: @@ -13,15 +13,21 @@ repos: exclude: | (?x)^( .*ro-crate-metadata.json$| - modules/nf-core/.*| - subworkflows/nf-core/.*| + modules/(?!local/).*| + subworkflows/(?!local/).*| .*\.snap$ )$ - id: end-of-file-fixer exclude: | (?x)^( .*ro-crate-metadata.json$| - modules/nf-core/.*| - subworkflows/nf-core/.*| + modules/(?!local/).*| + subworkflows/(?!local/).*| .*\.snap$ )$ + - repo: https://github.com/seqeralabs/nf-lint-pre-commit + rev: v0.3.0 + hooks: + - id: nextflow-lint + files: '\.nf$|nextflow\.config$' + args: ["-output", "json"] diff --git a/.prettierignore b/.prettierignore index dd749d43..63cde500 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,6 +1,4 @@ email_template.html -adaptivecard.json -slackreport.json .nextflow* work/ data/ diff --git a/CHANGELOG.md b/CHANGELOG.md index 060e985b..8c832c1f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,14 +3,83 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## v1.0dev - [date] +## 1.0.0 - [2026-06-29] -Initial release of nf-core/rnadnavar, created with the [nf-core](https://nf-co.re/) template. +Initial release of nf-core/rnadnavar. ### `Added` +- RNA and DNA integrated analysis pipeline for somatic mutation detection +- Support for multiple variant callers (Mutect2, Strelka2, SAGE) +- Comprehensive preprocessing with GATK4 best practices +- VEP annotation and filtering capabilities +- Consensus variant calling approach +- RNA-specific filtering and realignment steps +- MultiQC reporting and quality control +- Support for both BWA-MEM and STAR alignment +- Added support for optional Mutect2 force-calling inputs (`mutect2_alleles` and `mutect2_alleles_tbi`) +- Added `conf/empty.config` to support strict-syntax-safe config loading +- Added full pipeline nf-test (`test_full.nf.test`) and test snapshots +- Added pipeline restart nf-tests for `filtering`, `rna_filtering`, and `consensus` +- Added local nf-tests for MAF filtering, RNA-specific filtering, and consensus generation +- Added VCF simple test data for annotation testing +- Added GitHub Actions for automated testing with nf-test +- Added support for multiple template versions (3.2.0, 3.2.1, 3.3.1) +- Restored rnadnavar logo in pipeline output with color support + ### `Fixed` -### `Dependencies` +- Fixed multiple strict-syntax compilation issues across local workflows and subworkflows +- Fixed samplesheet parsing and moved tumour/normal composition validation upstream of channel creation +- Fixed interval-preparation strict-syntax issues, including name collisions and duration handling +- Fixed local wrappers and callers to match updated nf-core module input/output signatures and version emits +- Fixed reference-channel consumption bugs affecting FASTA/FAI/DICT propagation in preprocessing, realignment and variant-calling paths +- Fixed realignment-specific logic in RNA filtering and downstream consensus handling +- Fixed direct restart from MAF inputs for `filtering`, `rna_filtering`, and `consensus` +- Fixed local RNA-filtering pairing logic to support both single-input and first-pass/realigned MAF restart modes +- Fixed `filter_rna_mutations.py` to accept MAF inputs that do not already contain `RaVeX_FILTER` +- Fixed MultiQC input/config channel handling and mixed software-version aggregation +- Fixed consensus input ordering to improve deterministic behaviour when resuming runs +- Fixed non-deterministic nf-test outputs and updated snapshots accordingly +- Fixed `includeConfig` handling in `nextflow.config` for newer Nextflow strict syntax +- Fixed VEP cache initialisation and updated unzip-dependent wiring +- Fixed help text and documentation URLs +- Fixed pipeline-specific parameter descriptions in schema +- Fixed workflow path references and documentation links +- Fixed consensus module caller value to avoid warnings +- Fixed VEP cache handling and empty RNA edits processing +- Fixed issue with run_consensus.R plotting +- **Major Fix**: Resolved ConcurrentModificationException error from Java processes +- Fixed local module implementations and configurations +- Fixed subworkflow naming and structure issues +- Fixed SAGE variant caller integration and configuration +- Fixed nf-core subworkflow integrations + +### `Changed` + +- Updated the nf-core template and a broad set of nf-core modules and subworkflows +- Harmonised FASTA/FAI/DICT channel shapes across local subworkflows +- Updated local realignment and HISAT2 call wiring for newer module interfaces +- Updated local samtools callers (`view`, `convert`, `merge`, `faidx`) to current nf-core module contracts +- Updated local GATK and Picard integrations, including restored patches for `picard/filtersamreads` and `gatk4/splitncigarreads` +- Replaced deprecated tabix usage with current htslib-based handling where appropriate +- Updated nf-test plugin configuration and test snapshots +- Updated restart-path test coverage to exercise post-calling stages independently of full pipeline runs +- Cleaned up code formatting and style across configuration files +- Updated test configurations and `.nftignore` files +- Improved subworkflow organization and consistency +- Massive speed up to run_consensus.R +- Migrated consensus module from custom Docker container to Seqera Wave containers +- Updated all nf-core modules to latest versions +- Updated template to nf-core/tools version 3.3.1 +- Updated GitHub workflows and CI/CD configurations +- Updated Nextflow minimum version requirement from >=23.04.0 to >=24.04.2 + +### `Removed` -### `Deprecated` +- Removed obsolete tabix modules and deprecated module usage paths +- Removed leftover config and workflow parameters no longer used after the template/module refresh (for example `hook_url`) +- Cleaned up unused VCFlib and VT variant processing modules +- Removed obsolete module configurations and test files +- Removed redundant workflow components +- Removed `conda` from github nf-test checks as some local modules do not run with `conda` at the moment diff --git a/CITATIONS.md b/CITATIONS.md index a07abc4b..69ec6676 100644 --- a/CITATIONS.md +++ b/CITATIONS.md @@ -1,5 +1,7 @@ # nf-core/rnadnavar: Citations +## Core framework + ## [nf-core](https://pubmed.ncbi.nlm.nih.gov/32055031/) > Ewels PA, Peltzer A, Fillinger S, Patel H, Alneberg J, Wilm A, Garcia MU, Di Tommaso P, Nahnsen S. The nf-core framework for community-curated bioinformatics pipelines. Nat Biotechnol. 2020 Mar;38(3):276-278. doi: 10.1038/s41587-020-0439-x. PubMed PMID: 32055031. @@ -8,7 +10,7 @@ > Di Tommaso P, Chatzou M, Floden EW, Barja PP, Palumbo E, Notredame C. Nextflow enables reproducible computational workflows. Nat Biotechnol. 2017 Apr 11;35(4):316-319. doi: 10.1038/nbt.3820. PubMed PMID: 28398311. -## Pipeline tools +## Quality control - [FastQC](https://www.bioinformatics.babraham.ac.uk/projects/fastqc/) @@ -18,6 +20,80 @@ > Ewels P, Magnusson M, Lundin S, Käller M. MultiQC: summarize analysis results for multiple tools and samples in a single report. Bioinformatics. 2016 Oct 1;32(19):3047-8. doi: 10.1093/bioinformatics/btw354. Epub 2016 Jun 16. PubMed PMID: 27312411; PubMed Central PMCID: PMC5039924. +- [FASTP](https://pubmed.ncbi.nlm.nih.gov/30423086/) + +> Chen S, Zhou Y, Chen Y, Gu J. fastp: an ultra-fast all-in-one FASTQ preprocessor. Bioinformatics. 2018 Sep 1;34(17). doi: 10.1093/bioinformatics/bty560. PubMed PMID: 30423086; PubMed Central PMCID: PMC6129281. + +## Alignment Tools + +- [BWA-MEM](https://arxiv.org/abs/1303.3997v2) + +> Li H: Aligning sequence reads, clone sequences and assembly contigs with BWA-MEM. arXiv 2013. doi: 10.48550/arXiv.1303.3997 + +- [BWA-MEM2](https://ieeexplore.ieee.org/document/8820962) + +> M. Vasimuddin, S. Misra, H. Li and S. Aluru, "Efficient Architecture-Aware Acceleration of BWA-MEM for Multicore Systems," 2019 IEEE International Parallel and Distributed Processing Symposium (IPDPS), 2019, pp. 314-324. doi: 10.1109/IPDPS.2019.00041. + +- [STAR](https://pubmed.ncbi.nlm.nih.gov/23104886/) + +> Dobin A, Davis CA, Schlesinger F, Drenkow J, Zaleski C, Jha S, Batut P, Chaisson M, Gingeras TR. STAR: ultrafast universal RNA-seq aligner Bioinformatics. 2013 Jan 1;29(1):15-21. doi: 10.1093/bioinformatics/bts635. Epub 2012 Oct 25. PubMed PMID: 23104886; PubMed Central PMCID: PMC3530905. + +- [DragMap](https://github.com/Illumina/DRAGMAP) + +- [HISAT2](https://pubmed.ncbi.nlm.nih.gov/31375807/) + +> Kim D, Paggi JM, Park C, Bennett C, Salzberg SL. Graph-based genome alignment and genotyping with HISAT2 and HISAT-genotype Graph-based genome alignment and genotyping with HISAT2 and HISAT-genotype. Nat Biotechnol. 2019 Aug;37(8):907-915. doi: 10.1038/s41587-019-0201-4. Epub 2019 Aug 2. PubMed PMID: 31375807. + +## Alignment Quality Control + +- [SAMtools](https://pubmed.ncbi.nlm.nih.gov/19505943/) + +> Li H, Handsaker B, Wysoker A, Fennell T, Ruan J, Homer N, Marth G, Abecasis G, Durbin R; 1000 Genome Project Data Processing Subgroup. The Sequence Alignment/Map format and SAMtools. Bioinformatics. 2009 Aug 15;25(16):2078-9. doi: 10.1093/bioinformatics/btp352. Epub 2009 Jun 8. PubMed PMID: 19505943; PubMed Central PMCID: PMC2723002. + +- [Mosdepth](https://academic.oup.com/bioinformatics/article/34/5/867/4583630) + +> Brent S Pedersen, Aaron R Quinlan, Mosdepth: quick coverage calculation for genomes and exomes, Bioinformatics, Volume 34, Issue 5, 01 March 2018, Pages 867–868. doi: 10.1093/bioinformatics/btx699. PubMed PMID: 29096012. PubMed Central PMCID: PMC6030888. + +## GATK Preprocessing + +- [GATK](https://pubmed.ncbi.nlm.nih.gov/20644199/) + +> McKenna A, Hanna M, Banks E, et al.: The Genome Analysis Toolkit: a MapReduce framework for analyzing next-generation DNA sequencing data. Genome Res. 2010 Sep;20(9):1297-303. doi: 10.1101/gr.107524.110. Epub 2010 Jul 19. PubMed PMID: 20644199; PubMed Central PMCID: PMC2928508. + +## Variant Calling + +- [GATK Mutect2](https://pubmed.ncbi.nlm.nih.gov/20644199/) + +> McKenna A, Hanna M, Banks E, et al.: The Genome Analysis Toolkit: a MapReduce framework for analyzing next-generation DNA sequencing data. Genome Res. 2010 Sep;20(9):1297-303. doi: 10.1101/gr.107524.110. Epub 2010 Jul 19. PubMed PMID: 20644199; PubMed Central PMCID: PMC2928508. + +- [Strelka2](https://pubmed.ncbi.nlm.nih.gov/30013048/) + +> Kim S, Scheffler K, Halpern AL, et al.: Strelka2: fast and accurate calling of germline and somatic variants. Nat Methods. 2018 Aug;15(8):591-594. doi: 10.1038/s41592-018-0051-x. Epub 2018 Jul 16. PubMed PMID: 30013048. + +- [SAGE](https://github.com/hartwigmedical/hmftools/tree/master/sage) + +> SAGE is a precise and highly sensitive somatic SNV, MNV and INDEL caller developed by Hartwig Medical Foundation. _Note: SAGE appears to be primarily documented through GitHub and technical documentation rather than a traditional peer-reviewed publication._ + +## Variant Annotation + +- [Ensembl VEP](https://pubmed.ncbi.nlm.nih.gov/27268795/) + +> McLaren W, Gil L, Hunt SE, et al.: The Ensembl Variant Effect Predictor. Genome Biol. 2016 Jun 6;17(1):122. doi: 10.1186/s13059-016-0974-4. PubMed PMID: 27268795; PubMed Central PMCID: PMC4893825. + +## Variant Processing and Conversion + +- [VT](https://pubmed.ncbi.nlm.nih.gov/25701572/) + +> Tan A, Abecasis GR, Kang HM. Unified representation of genetic variants. Bioinformatics. 2015 Jul 1;31(13):2202-4. doi: 10.1093/bioinformatics/btv112. Epub 2015 Feb 19. PubMed PMID: 25701572; PubMed Central PMCID: PMC4481842. + +- [vcf2maf](https://zenodo.org/record/593251) + +> Kandoth C, Gao J, Qwangmsk, Mattioni M, Struck A, Boursin Y, Penson A, Chavan S (2018) mskcc/vcf2maf: vcf2maf v1.6.16 (v1.6.16). Zenodo. doi: 10.5281/zenodo.593251 + +- [BCFtools](https://pubmed.ncbi.nlm.nih.gov/21903627/) + +> Li H: A statistical framework for SNP calling, mutation discovery, association mapping and population genetical parameter estimation from sequencing data. Bioinformatics. 2011 Nov 1;27(21):2987-93. doi: 10.1093/bioinformatics/btr509. PubMed PMID: 21903627; PubMed Central PMCID: PMC3198575. + ## Software packaging/containerisation tools - [Anaconda](https://anaconda.com) @@ -26,16 +102,16 @@ - [Bioconda](https://pubmed.ncbi.nlm.nih.gov/29967506/) - > Grüning B, Dale R, Sjödin A, Chapman BA, Rowe J, Tomkins-Tinch CH, Valieris R, Köster J; Bioconda Team. Bioconda: sustainable and comprehensive software distribution for the life sciences. Nat Methods. 2018 Jul;15(7):475-476. doi: 10.1038/s41592-018-0046-7. PubMed PMID: 29967506. +> Grüning B, Dale R, Sjödin A, Chapman BA, Rowe J, Tomkins-Tinch CH, Valieris R, Köster J; Bioconda Team. Bioconda: sustainable and comprehensive software distribution for the life sciences. Nat Methods. 2018 Jul;15(7):475-476. doi: 10.1038/s41592-018-0046-7. PubMed PMID: 29967506. - [BioContainers](https://pubmed.ncbi.nlm.nih.gov/28379341/) - > da Veiga Leprevost F, Grüning B, Aflitos SA, Röst HL, Uszkoreit J, Barsnes H, Vaudel M, Moreno P, Gatto L, Weber J, Bai M, Jimenez RC, Sachsenberg T, Pfeuffer J, Alvarez RV, Griss J, Nesvizhskii AI, Perez-Riverol Y. BioContainers: an open-source and community-driven framework for software standardization. Bioinformatics. 2017 Aug 15;33(16):2580-2582. doi: 10.1093/bioinformatics/btx192. PubMed PMID: 28379341; PubMed Central PMCID: PMC5870671. +> da Veiga Leprevost F, Grüning B, Aflitos SA, Röst HL, Uszkoreit J, Barsnes H, Vaudel M, Moreno P, Gatto L, Weber J, Bai M, Jimenez RC, Sachsenberg T, Pfeuffer J, Alvarez RV, Griss J, Nesvizhskii AI, Perez-Riverol Y. BioContainers: an open-source and community-driven framework for software standardization. Bioinformatics. 2017 Aug 15;33(16):2580-2582. doi: 10.1093/bioinformatics/btx192. PubMed PMID: 28379341; PubMed Central PMCID: PMC5870671. - [Docker](https://dl.acm.org/doi/10.5555/2600239.2600241) - > Merkel, D. (2014). Docker: lightweight linux containers for consistent development and deployment. Linux Journal, 2014(239), 2. doi: 10.5555/2600239.2600241. +> Merkel, D. (2014). Docker: lightweight linux containers for consistent development and deployment. Linux Journal, 2014(239), 2. doi: 10.5555/2600239.2600241. - [Singularity](https://pubmed.ncbi.nlm.nih.gov/28494014/) - > Kurtzer GM, Sochat V, Bauer MW. Singularity: Scientific containers for mobility of compute. PLoS One. 2017 May 11;12(5):e0177459. doi: 10.1371/journal.pone.0177459. eCollection 2017. PubMed PMID: 28494014; PubMed Central PMCID: PMC5426675. +> Kurtzer GM, Sochat V, Bauer MW. Singularity: Scientific containers for mobility of compute. PLoS One. 2017 May 11;12(5):e0177459. doi: 10.1371/journal.pone.0177459. eCollection 2017. PubMed PMID: 28494014; PubMed Central PMCID: PMC5426675. diff --git a/README.md b/README.md index 693bc592..d815c47a 100644 --- a/README.md +++ b/README.md @@ -10,8 +10,8 @@ [![GitHub Actions Linting Status](https://github.com/nf-core/rnadnavar/actions/workflows/linting.yml/badge.svg)](https://github.com/nf-core/rnadnavar/actions/workflows/linting.yml)[![AWS CI](https://img.shields.io/badge/CI%20tests-full%20size-FF9900?labelColor=000000&logo=Amazon%20AWS)](https://nf-co.re/rnadnavar/results)[![Cite with Zenodo](http://img.shields.io/badge/DOI-10.5281/zenodo.XXXXXXX-1073c8?labelColor=000000)](https://doi.org/10.5281/zenodo.XXXXXXX) [![nf-test](https://img.shields.io/badge/unit_tests-nf--test-337ab7.svg)](https://www.nf-test.com) -[![Nextflow](https://img.shields.io/badge/version-%E2%89%A525.04.0-green?style=flat&logo=nextflow&logoColor=white&color=%230DC09D&link=https%3A%2F%2Fnextflow.io)](https://www.nextflow.io/) -[![nf-core template version](https://img.shields.io/badge/nf--core_template-3.5.1-green?style=flat&logo=nfcore&logoColor=white&color=%2324B064&link=https%3A%2F%2Fnf-co.re)](https://github.com/nf-core/tools/releases/tag/3.5.1) +[![Nextflow](https://img.shields.io/badge/version-%E2%89%A525.10.4-green?style=flat&logo=nextflow&logoColor=white&color=%230DC09D&link=https%3A%2F%2Fnextflow.io)](https://www.nextflow.io/) +[![nf-core template version](https://img.shields.io/badge/nf--core_template-4.0.2-green?style=flat&logo=nfcore&logoColor=white&color=%2324B064&link=https%3A%2F%2Fnf-co.re)](https://github.com/nf-core/tools/releases/tag/4.0.2) [![run with conda](http://img.shields.io/badge/run%20with-conda-3EB049?labelColor=000000&logo=anaconda)](https://docs.conda.io/en/latest/) [![run with docker](https://img.shields.io/badge/run%20with-docker-0db7ed?labelColor=000000&logo=docker)](https://www.docker.com/) [![run with singularity](https://img.shields.io/badge/run%20with-singularity-1d355c.svg?labelColor=000000)](https://sylabs.io/docs/) @@ -21,52 +21,140 @@ ## Introduction -**nf-core/rnadnavar** is a bioinformatics pipeline that ... - - - - -1. Read QC ([`FastQC`](https://www.bioinformatics.babraham.ac.uk/projects/fastqc/))2. Present QC for raw reads ([`MultiQC`](http://multiqc.info/)) +The **nf-core/rnadnavar** is a bioinformatics best-practice +analysis pipeline for RNA somatic mutation detection +able to perform in parallel. + +Initially designed for cancer research, the pipeline +uses different variant calling algorithms and applies a +consensus approach. A final filtering stage, should +provide a set of annotated somatic variants. + +The pipeline is built using [Nextflow](https://www.nextflow.io), a workflow tool to run tasks across +multiple compute infrastructures in a very portable +manner. It uses Docker/Singularity containers making +installation trivial and results highly reproducible. +The [Nextflow DSL2](https://www.nextflow.io/docs/latest/dsl2.html) implementation of this +pipeline uses one container per process which makes it +much easier to maintain and update software +dependencies. Where possible, these processes have been +submitted to and installed from [nf-core/modules](https://github.com/nf-core/modules) in order to make them available to all nf-core pipelines, and to everyone within the Nextflow community! + +## Pipeline summary + +Depending on the options and samples provided, the +pipeline will run different tasks. This is controlled +mainly through `--step` and `--tools` parameters. This +is a summary of the possible tasks to run with the pipeline: + +- Quality control and trimming (enabled by + `--trim_fastq` and runs [`FastQC`](https://www.bioinformatics.babraham.ac.uk/projects/fastqc/) and + [`fastp`](https://github.com/OpenGene/fastp)) +- Map Reads to Reference (BWA-mem, BWA-mem2, dragmap + and/or STAR) +- GATK preprocessing for DNA and RNA bulk sequencing + samples (`GATK MarkDuplicates`, `GATK SplitNCigarReads`,`GATK +BaseRecalibrator` and `GATK ApplyBQSR`) +- Summarise alignment statistics (`samtools stats`, `mosdepth`) +- Variant calling (enabled with `--tools`) + - `Mutect2` + - `Strelka2` + - `SAGE` +- Annotation with `VEP` (enabled with `--tools` adding + `vep`) +- Normalisation of VCFs with VT (enabled with `--tools` + adding `normalisation`) +- Transformation of VCF to MAF and consensus of variant + calling results (enabled with `--tools` adding + `consensus`) +- Filtering of MAF files applying optional gnomad, + whitelisting and blacklisting (enabled with `--tools` + adding `filtering`) +- Realignment step where reads from regions where a variant + was found will be extracted and re-processed, only for + RNA due to higher levels of background noise (enabled + with `--tools` adding `realignment`). +- Filtering of MAF files specific for RNA (enabled with + `--tools` adding `rna_filtering`) + +

+ +

## Usage > [!NOTE] -> If you are new to Nextflow and nf-core, please refer to [this page](https://nf-co.re/docs/usage/installation) on how to set-up Nextflow. Make sure to [test your setup](https://nf-co.re/docs/usage/introduction#how-to-run-a-pipeline) with `-profile test` before running the workflow on actual data. +> If you are new to Nextflow and nf-core, please refer to [this page](https://nf-co.re/docs/get_started/environment_setup/overview) on how to set-up Nextflow. Make sure to [test your setup](https://nf-co.re/docs/get_started/run-your-first-pipeline) with `-profile test` before running the workflow on actual data. - +The pipeline can start from different entry points but `tools` need to be specified to run. If you are planning to run the pipeline by stages please read [usage](docs/usage.md#starting-from-different-steps). -Now, you can run the pipeline using: +### Input requirements - +You will need to create a samplesheet with information about the samples you want to analyze. The samplesheet must be a comma-separated file with a header row. -```bash -nextflow run nf-core/rnadnavar \ - -profile \ - --input samplesheet.csv \ - --outdir +Essential columns are: + +- `patient` - Unique patient identifier +- `status` - Sample type (0/1/2) +- `sample` - Unique sample identifier +- And one of these options: + - if variant calling is going to be performed of these three options should be an input (_note that this is included in the `realignment` step by default_): + - `fastq_1`, `fastq_2` - Paths to paired-end FASTQ files (for raw data) (this also needs `lane` column) + - `bam`,`bai` - Paths to BAM files and indices (for pre-aligned data) + - `cram`,`crai` - Paths to CRAM files and indices (for pre-aligned data) + - if the starting step is from `consensus` and no `realignment` will be performed (add `--skip_tools 'realignment'` to your command or params file) then the input are VCF/MAF: + - `caller` - Caller used to generate that MAF (to annotate it during the consensus approach) + - `maf` - Paths to MAF file + - if `realignment` is desired then please add `normal_id` and take a look to [usage](docs/usage.md#starting-from-different-steps). + +Examples CSVs: + +Starting from `mapping`: + +```csv +patient,sample,status,lane,fastq_1,fastq_2 +PT1,DNA_NORMAL_SAMPLE,0,LX,DNA_NORMAL_SAMPLE_L002_R1_001.fastq.gz,DNA_NORMAL_SAMPLE1_L002_R2_001.fastq.gz +PT1,DNA_TUMOUR_SAMPLE,1,LX,DNA_TUMOUR_SAMPLE_L002_R1_001.fastq.gz,DNA_TUMOUR_SAMPLE_L002_R2_001.fastq.gz +PT1,RNA_TUMOUR_SAMPLE,2,LX,RNA_TUMOUR_SAMPLE_L002_R1_001.fastq.gz,RNA_TUMOUR_SAMPLE_L002_R2_001.fastq.gz ``` +Starting from `consensus` no realignment: + +```csv +patient,sample,status,caller,maf +PT1,RNA_TUMOUR_SAMPLE_1,2,mutect,DNA_TUMOUR_SAMPLE_1.mutect.maf +PT1,RNA_TUMOUR_SAMPLE_1,2,strelka,RNA_TUMOUR_SAMPLE_1.strelka.maf +PT1,RNA_TUMOUR_SAMPLE_2,2,mutect,DNA_TUMOUR_SAMPLE_2.mutect.maf +PT1,RNA_TUMOUR_SAMPLE_2,2,strelka,RNA_TUMOUR_SAMPLE_2.strelka.maf +``` + +### Parameters + > [!WARNING] -> Please provide pipeline parameters via the CLI or Nextflow `-params-file` option. Custom config files including those provided by the `-c` Nextflow option can be used to provide any configuration _**except for parameters**_; see [docs](https://nf-co.re/docs/usage/getting_started/configuration#custom-configuration-files). +> Please provide pipeline parameters via the CLI or Nextflow `-params-file` option. Custom config files including those provided by the `-c` Nextflow option can be used to provide any configuration _**except for parameters**_; see [docs](https://nf-co.re/docs/running/run-pipelines#using-parameter-files). For more details and further functionality, please refer to the [usage documentation](https://nf-co.re/rnadnavar/usage) and the [parameter documentation](https://nf-co.re/rnadnavar/parameters). @@ -78,15 +166,19 @@ For more details about the output files and reports, please refer to the ## Credits -nf-core/rnadnavar was originally written by Raquel Manzano-Garcia. +The nf-core/rnadnavar was originally written by Raquel +Manzano Garcia at Cancer Research UK Cambridge Institute +with the continuous support of [Maxime U Garcia](https://github.com/maxulysse). The +workflow is based on +[RNA-MuTect](https://github.com/broadinstitute/RNA_MUTECT_1.0-1) which was +originally published by [Yizhak, _et al_ 2019 (Science)](https://www.science.org/doi/10.1126/science.aaw0726) -We thank the following people for their extensive assistance in the development of this pipeline: - - +We thank the following people for their assistance in the development of this pipeline: +TBC ## Contributions and Support -If you would like to contribute to this pipeline, please see the [contributing guidelines](.github/CONTRIBUTING.md). +If you would like to contribute to this pipeline, please see the [contributing guidelines](docs/CONTRIBUTING.md). For further information or help, don't hesitate to get in touch on the [Slack `#rnadnavar` channel](https://nfcore.slack.com/channels/rnadnavar) (you can join with [this invite](https://nf-co.re/join/slack)). @@ -95,8 +187,6 @@ For further information or help, don't hesitate to get in touch on the [Slack `# - - An extensive list of references for the tools used by the pipeline can be found in the [`CITATIONS.md`](CITATIONS.md) file. You can cite the `nf-core` publication as follows: diff --git a/assets/adaptivecard.json b/assets/adaptivecard.json deleted file mode 100644 index f95e1988..00000000 --- a/assets/adaptivecard.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "type": "message", - "attachments": [ - { - "contentType": "application/vnd.microsoft.card.adaptive", - "contentUrl": null, - "content": { - "\$schema": "http://adaptivecards.io/schemas/adaptive-card.json", - "msteams": { - "width": "Full" - }, - "type": "AdaptiveCard", - "version": "1.2", - "body": [ - { - "type": "TextBlock", - "size": "Large", - "weight": "Bolder", - "color": "<% if (success) { %>Good<% } else { %>Attention<%} %>", - "text": "nf-core/rnadnavar v${version} - ${runName}", - "wrap": true - }, - { - "type": "TextBlock", - "spacing": "None", - "text": "Completed at ${dateComplete} (duration: ${duration})", - "isSubtle": true, - "wrap": true - }, - { - "type": "TextBlock", - "text": "<% if (success) { %>Pipeline completed successfully!<% } else { %>Pipeline completed with errors. The full error message was: ${errorReport}.<% } %>", - "wrap": true - }, - { - "type": "TextBlock", - "text": "The command used to launch the workflow was as follows:", - "wrap": true - }, - { - "type": "TextBlock", - "text": "${commandLine}", - "isSubtle": true, - "wrap": true - } - ], - "actions": [ - { - "type": "Action.ShowCard", - "title": "Pipeline Configuration", - "card": { - "type": "AdaptiveCard", - "\$schema": "http://adaptivecards.io/schemas/adaptive-card.json", - "body": [ - { - "type": "FactSet", - "facts": [<% out << summary.collect{ k,v -> "{\"title\": \"$k\", \"value\" : \"$v\"}"}.join(",\n") %> - ] - } - ] - } - } - ] - } - } - ] -} diff --git a/assets/multiqc_config.yml b/assets/multiqc_config.yml index 469b77a7..ceed9a4d 100644 --- a/assets/multiqc_config.yml +++ b/assets/multiqc_config.yml @@ -1,7 +1,9 @@ +custom_logo: "nf-core-rnadnavar_logo_light.png" +custom_logo_url: https://github.com/nf-core/rnadnavar/ +custom_logo_title: "nf-core/rnadnavar" + report_comment: > - This report has been generated by the nf-core/rnadnavar - analysis pipeline. For information about how to interpret these results, please see the - documentation. + This report has been generated by the nf-core/rnadnavar analysis pipeline. For information about how to interpret these results, please see the documentation. report_section_order: "nf-core-rnadnavar-methods-description": order: -1000 @@ -12,4 +14,52 @@ report_section_order: export_plots: true +# Run only these modules +run_modules: + - custom_content + - fastqc + - star + - fastp + - picard + - samtools + - mosdepth + - gatk + - bcftools + - vcftools + - vep + +module_order: + - fastqc: + name: "FastQC (raw)" + path_filters_exclude: + - "*_val_*.zip" + - fastp: + name: "FastP (Read preprocessing)" + - star: + name: "Read Alignment (STAR)" + - picard: + name: "GATK4 MarkDuplicates" + info: " metrics generated either by GATK4 MarkDuplicates." + - samtools: + name: "Samtools Flagstat" + - mosdepth: + name: "Mosdepth" + - gatk: + name: "GATK4 BQSR" + - bcftools: + name: "Bcftools" + - vcftools: + name: "Vcftools" + +extra_fn_clean_exts: + - "_val" + - type: regex_keep + pattern: "^.*.(md|recal).mosdepth.(global|region).dist" + module: mosdepth + +sample_names_replace_regex: true +sample_names_replace: + "\\.[0-9]{4}$": ".md" # should match ".0001" but only at the end of strings for module Markduplicates/EstimateLibraryComplexity + module: picard + disable_version_detection: true diff --git a/assets/samplesheet.csv b/assets/samplesheet.csv index 5f653ab7..a0dea35a 100644 --- a/assets/samplesheet.csv +++ b/assets/samplesheet.csv @@ -1,3 +1,4 @@ -sample,fastq_1,fastq_2 -SAMPLE_PAIRED_END,/path/to/fastq/files/AEG588A1_S1_L002_R1_001.fastq.gz,/path/to/fastq/files/AEG588A1_S1_L002_R2_001.fastq.gz -SAMPLE_SINGLE_END,/path/to/fastq/files/AEG588A4_S4_L003_R1_001.fastq.gz, +patient,status,sample,lane,fastq_1,fastq_2 +P1,0,DNA_NORMAL,L001,/path/to/fastq/files/DNA_NORMAL_L001_R1.fastq.gz,/path/to/fastq/files/DNA_NORMAL_L001_R2.fastq.gz +P1,1,DNA_TUMOUR,L001,/path/to/fastq/files/DNA_TUMOUR_L001_R1.fastq.gz,/path/to/fastq/files/DNA_TUMOUR_L001_R2.fastq.gz +P1,2,RNA_TUMOUR,L001,/path/to/fastq/files/RNA_TUMOUR_L001_R1.fastq.gz,/path/to/fastq/files/RNA_TUMOUR_L001_R2.fastq.gz diff --git a/assets/schema_input.json b/assets/schema_input.json index 388d031c..c9b629fc 100644 --- a/assets/schema_input.json +++ b/assets/schema_input.json @@ -7,27 +7,178 @@ "items": { "type": "object", "properties": { + "patient": { + "type": "string", + "pattern": "^\\S+$", + "errorMessage": "Patient ID must be provided and cannot contain spaces", + "meta": ["patient"] + }, "sample": { "type": "string", "pattern": "^\\S+$", - "errorMessage": "Sample name must be provided and cannot contain spaces", - "meta": ["id"] + "errorMessage": "Sample ID must be provided and cannot contain spaces", + "meta": ["sample"] }, - "fastq_1": { + "status": { + "type": "integer", + "errorMessage": "Status can only be 0 (normal), 1 (tumor) or 2 (rna tumour). Defaults to 1, if none is supplied.", + "meta": ["status"], + "default": "1", + "minimum": 0, + "maximum": 2 + }, + "lane": { "type": "string", + "pattern": "^\\S+$", + "unique": ["patient", "sample"], + "meta": ["lane"] + }, + "fastq_1": { + "anyOf": [ + { + "type": "string", + "pattern": "^\\S+\\.f(ast)?q\\.gz$" + }, + { + "type": "string", + "maxLength": 0 + } + ], "format": "file-path", "exists": true, "pattern": "^([\\S\\s]*\\/)?[^\\s\\/]+\\.f(ast)?q\\.gz$", "errorMessage": "FastQ file for reads 1 must be provided, cannot contain spaces and must have extension '.fq.gz' or '.fastq.gz'" }, "fastq_2": { - "type": "string", + "errorMessage": "FastQ file for reads 2 cannot contain spaces and must have extension '.fq.gz' or '.fastq.gz'", + "anyOf": [ + { + "type": "string", + "pattern": "^\\S+\\.f(ast)?q\\.gz$" + }, + { + "type": "string", + "maxLength": 0 + } + ], "format": "file-path", - "exists": true, - "pattern": "^([\\S\\s]*\\/)?[^\\s\\/]+\\.f(ast)?q\\.gz$", - "errorMessage": "FastQ file for reads 2 cannot contain spaces and must have extension '.fq.gz' or '.fastq.gz'" + "exists": true + }, + "table": { + "errorMessage": "Recalibration table cannot contain spaces and must have extension '.table'", + "anyOf": [ + { + "type": "string", + "pattern": "^\\S+\\.table$" + }, + { + "type": "string", + "maxLength": 0 + } + ], + "format": "file-path", + "exists": true + }, + "cram": { + "errorMessage": "CRAM file cannot contain spaces and must have extension '.cram'", + "anyOf": [ + { + "type": "string", + "pattern": "^\\S+\\.cram$" + }, + { + "type": "string", + "maxLength": 0 + } + ], + "format": "file-path", + "exists": true + }, + "crai": { + "errorMessage": "CRAM index file cannot contain spaces and must have extension '.crai'", + "anyOf": [ + { + "type": "string", + "pattern": "^\\S+\\.crai$" + }, + { + "type": "string", + "maxLength": 0 + } + ], + "format": "file-path", + "exists": true + }, + "bam": { + "errorMessage": "BAM file cannot contain spaces and must have extension '.bam'", + "anyOf": [ + { + "type": "string", + "pattern": "^\\S+\\.bam$" + }, + { + "type": "string", + "maxLength": 0 + } + ], + "format": "file-path", + "exists": true + }, + "bai": { + "errorMessage": "BAM index file cannot contain spaces and must have extension '.bai'", + "anyOf": [ + { + "type": "string", + "pattern": "^\\S+\\.bai$" + }, + { + "type": "string", + "maxLength": 0 + } + ], + "format": "file-path", + "exists": true + }, + "vcf": { + "errorMessage": "VCF file for reads 1 cannot contain spaces and must have extension '.vcf' or '.vcf.gz'", + "anyOf": [ + { + "type": "string", + "pattern": "^\\S+\\.vcf(\\.gz)?$" + }, + { + "type": "string", + "maxLength": 0 + } + ], + "format": "file-path", + "exists": true + }, + "variantcaller": { + "type": "string" + }, + "maf": { + "errorMessage": "MAF file cannot contain spaces and must have extension '.maf' or '.maf.gz'", + "anyOf": [ + { + "type": "string", + "pattern": "^\\S+\\.maf(\\.gz)?$" + }, + { + "type": "string", + "maxLength": 0 + } + ], + "format": "file-path", + "exists": true + }, + "normal_id": { + "type": "string", + "pattern": "^\\S+$", + "errorMessage": "Normal ID must be provided when starting after paired `variant_calling` step and requesting `realignment` step in `tools`.", + "meta": ["normal_id"] } }, - "required": ["sample", "fastq_1"] + "required": ["patient", "sample"] } } diff --git a/assets/slackreport.json b/assets/slackreport.json deleted file mode 100644 index 9259d8d1..00000000 --- a/assets/slackreport.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "attachments": [ - { - "fallback": "Plain-text summary of the attachment.", - "color": "<% if (success) { %>good<% } else { %>danger<%} %>", - "author_name": "nf-core/rnadnavar ${version} - ${runName}", - "author_icon": "https://www.nextflow.io/docs/latest/_static/favicon.ico", - "text": "<% if (success) { %>Pipeline completed successfully!<% } else { %>Pipeline completed with errors<% } %>", - "fields": [ - { - "title": "Command used to launch the workflow", - "value": "```${commandLine}```", - "short": false - } - <% - if (!success) { %> - , - { - "title": "Full error message", - "value": "```${errorReport}```", - "short": false - }, - { - "title": "Pipeline configuration", - "value": "<% out << summary.collect{ k,v -> k == "hook_url" ? "_${k}_: (_hidden_)" : ( ( v.class.toString().contains('Path') || ( v.class.toString().contains('String') && v.contains('/') ) ) ? "_${k}_: `${v}`" : (v.class.toString().contains('DateTime') ? ("_${k}_: " + v.format(java.time.format.DateTimeFormatter.ofLocalizedDateTime(java.time.format.FormatStyle.MEDIUM))) : "_${k}_: ${v}") ) }.join(",\n") %>", - "short": false - } - <% } - %> - ], - "footer": "Completed at <% out << dateComplete.format(java.time.format.DateTimeFormatter.ofLocalizedDateTime(java.time.format.FormatStyle.MEDIUM)) %> (duration: ${duration})" - } - ] -} diff --git a/bin/filter_mutations.py b/bin/filter_mutations.py new file mode 100755 index 00000000..2d8195f6 --- /dev/null +++ b/bin/filter_mutations.py @@ -0,0 +1,376 @@ +#!/usr/bin/env python3 +""" +Author: @RaqManzano +Script: Filter variants from a MAF file producing another MAF file with the new filters added. +""" +import argparse +import pandas as pd +import subprocess +import pysam + + +def argparser(): + parser = argparse.ArgumentParser(description="") + parser.add_argument( + "-i", "--input", help="MAF(s) file input (if more than 1 consensus will be annotated)", nargs="+", required=True + ) + parser.add_argument("-o", "--output", help="MAF file output", default="RaVeX.maf") + parser.add_argument( + "-g", "--gnomad_thr", help="Gnomad threshold for variants (must be annotated in MAF)", default=0.0001 + ) + parser.add_argument("--whitelist", help="BED file with variants to keep (CHROM POS REF ALT)") + parser.add_argument("--blacklist", help="BED file with regions to remove (CHROM START END)") + parser.add_argument("--filters", help="Other filters to be considered as PASS", default=["PASS"], nargs="+") + parser.add_argument("--ref", help="FASTA reference file to extract context") + parser.add_argument("--vc_priority", help="The order of priority will mark which caller annotation will be kept. Only one annotation is kept per sample and per caller.", + default=["mutect2", "sage", "strelka", "consensus"], nargs="+") + return parser.parse_args() + + +def read_whitelist_bed(bed_file): + """ + Columns should be chrom, start, end, ref and alt to read BED file with variants for whitelisting + """ + if not bed_file: + variants = [] + else: + bed = pd.read_csv(bed_file, sep="\t", comment="#", header=None) + if len(bed.columns) == 5: + colnames = ["#CHROM", "POS", "END", "REF", "ALT"] + else: + colnames = ["#CHROM", "POS", "REF", "ALT"] + bed.columns = colnames + try: + bed["DNAchange"] = bed["#CHROM"].map(str) + ":g." + bed["POS"].map(str) + bed["REF"] + ">" + bed["ALT"] + except TypeError: + print( + "[ERROR] BED file for whitelist should contain CHROM, START, END, REF and ALT columns with no headers." + ) + print(f"Please check your file: {bed_file}") + variants = bed["DNAchange"].tolist() + return variants + + +def read_blacklist_bed(bed_file): + """ + Columns should be chrom, start, end to read BED file with regions that will be considered in blacklisting + """ + + bed = pd.read_csv(bed_file, sep="\t", comment="#", header=None) + assert ( + len(bed.columns) >= 3 + ), "[ERROR] BED file for blacklist should at least contain CHROM, START, END columns with no headers." + bed.rename(columns={"0": "#CHROM", "1": "POS", "2": "END"}, inplace=True) + return bed + + +def read_maf(maf_file): + if type(maf_file) == type([]): + maf_list = [] + for m in maf_file: + maf_list += [pd.read_csv(m, sep="\t", comment="#", low_memory=False)] + maf = pd.concat(maf_list) + else: + maf = pd.read_csv(maf_file, sep="\t", comment="#", low_memory=False) + if "DNAchange" not in maf.columns: + maf["DNAchange"] = ( + maf["Chromosome"].map(str) + + ":g." + + maf["Start_Position"].map(str) + + maf["Reference_Allele"] + + ">" + + maf["Tumor_Seq_Allele2"] + ) + return maf + + +def noncoding(maf, noncoding): + """ + Classifies as noncoding TRUE if first consequence is in noncoding list + """ + try: + maf["noncoding"] = maf["Consequence"].apply( + lambda consequence: consequence.split("&")[0].split(",")[0] in noncoding + ) + except AttributeError: + maf["noncoding"] = "NA" + return maf + + +def remove_ig_and_pseudo(maf): + """ + Add IG and pseudogene filters + """ + # fill na values + maf[["BIOTYPE", "SYMBOL"]] = maf[["BIOTYPE", "SYMBOL"]].fillna(value="") + maf["ig_pseudo"] = maf["BIOTYPE"].str.contains( + "IG_C_gene|IG_D_gene|IG_J_gene|IG_V_gene|TR_C_gene|TR_J_gene|TR_V_gene|pseudogene" + ) + return maf + + +def filter_homopolymer(ref_context, alt, hp_length=6): + """ + Checks if the variant is in a homopolymer context + """ + # check if we have context + if ref_context is None or ref_context == "": + return None + homopolymer = False + if len(alt) > 1: + alt = alt[1:] # if insertion the check will be done + elif alt == "-": # if deletion no homopolymer + return False + # we calculatate the actual length of the sequence we need to check + # context is as follows: flank_before:REF:flank_after (flanks are same length) + try: + length_to_consider = int((len(ref_context) - 1) / 2) + except TypeError: + return None + # we substitute the ref for the alt to check the context of the variant + ref_context = list(ref_context) + ref_context[length_to_consider] = alt + ref_context = "".join(ref_context) + # only the contact that would overlap with the expected hp_length + # (i.e. some context does not need to be consider as it is too far) + context_to_consider = ref_context[length_to_consider - hp_length + 1 : length_to_consider + hp_length] + # count the bases that are equal. If count >= hp_length it will be consider a homopolymer + for idx, base in enumerate(context_to_consider): + context_window = context_to_consider[idx : idx + hp_length] + if len(context_window) < hp_length: + break # what is left of the sequence to check is too short + elif len(set(context_window)) == 1: + homopolymer = True # bingo + break + return homopolymer + + +def add_context(chrom, pos, ref, genome, flank=10): + if pos < 10: + flank = pos - 1 + try: + context = genome.fetch(chrom, pos - 1 - flank, pos + flank).upper() + except ValueError: + print(f"[WGN] This variant has NaN in their coordinates (did liftover failed?)") + return None + except KeyError: + print( + f"[WGN] These coordinates {chrom}:{pos} are not present in the genome (are you using a different version?)" + ) + return None + if ref != "-": # if it is a deletion we cannot check + if context == "": + print("[WARNING] Context not fetched properly - unable to check for homopolymers") + context = None + else: + try: + assert ref[0] == context[flank] # check that the REF matches the context we just extracted + except AssertionError: + print( + f"[WGN] This ref base ({chrom}:{int(pos)} {ref[0]} != {context[flank]}) does not correspond to its context {context[flank]}." + ) + return context + + +def remove_homopolymers(maf, ref): + """ + Check for variants in homopolymer regions (a sequence of 6 consecutive identical bases) + """ + # read genome to get context + genome = pysam.FastaFile(ref) + # Add context + maf["CONTEXT"] = maf.apply( + lambda row: add_context(str(row["Chromosome"]), row["Start_Position"], row["Reference_Allele"], genome), axis=1 + ) + # add homopolymer True/False + maf["homopolymer"] = maf.apply(lambda row: filter_homopolymer(row["CONTEXT"], row["Tumor_Seq_Allele2"]), axis=1) + return maf + + +def remove_muts_in_range(df, blacklist): + """ + If overlap with a blacklist region will return a dataframe with the information + """ + df["blacklist"] = False + df["blk_reason"] = "" + reason = "" + for idx, row in blacklist.iterrows(): + chrom = row[0] + start = row[1] + end = row[2] + if len(row) >= 3: # optional + reason = row[3] + df_bkl = df[df["Chromosome"] == chrom][df["Start_Position"].between(start, end, inclusive="both")].index + df.loc[df_bkl, "blacklist"] = True + df.loc[df_bkl, "blk_reason"] = reason + return df + +def merge_rows(group): + """Merge info when mut is repeated due to consensus + """ + # Take the first row as the base + merged_row = group.iloc[0].copy() + # Merge the 'callers' column + merged_row['callers'] = group['callers'].iloc[0] + "|" + group['Caller'].iloc[1] if len(group) > 1 else group['callers'].iloc[0] + # Merge the 'filters' column + merged_row['filters'] = group['filters'].iloc[0] + "|" + group['FILTER_consensus'].iloc[1] if len(group) > 1 else group['callers'].iloc[0] + # Set the Tumor_Sample_Barcode_consensus column + merged_row['Tumor_Sample_Barcode_consensus'] = group['Tumor_Sample_Barcode'].iloc[1] if len(group) > 1 else None + + return merged_row + + +def filtering(maf, gnomad_thr, whitelist, blacklist, filters): + """ + Adds filters for gnomad, blacklisting, variant calling filters. Adds muts to whitelist if match. + """ + if "PASS" not in filters: + filters += ["PASS"] # a PASS is always allowed + if whitelist: + maf["whitelist"] = maf["DNAchange"].isin(whitelist) # whitelist + if not blacklist.empty: + maf = remove_muts_in_range(df=maf, blacklist=blacklist) # blacklist + maf["ingnomAD"] = maf["MAX_AF"] >= gnomad_thr # gnomad + + return maf + + +def add_ravex_filters( + maf, filters, noncoding=False, homopolymer=False, ig_pseudo=False, min_alt_reads=2, blacklist=False, whitelist=False +): + maf["RaVeX_FILTER"] = "PASS" + maf["Existing_variation"] = maf["Existing_variation"].fillna("") + maf["SOMATIC"] = maf["SOMATIC"].fillna("") + if "FILTER" not in maf.columns: + maf["FILTER"] = "PASS" # Consider pass when no FILTER column + maf["FILTER"] = maf["FILTER"].replace(".", "PASS") # no filter ('.') will be treated as PASS + ignore_consensus = False + if "isconsensus" not in maf.columns: + maf["isconsensus"] = True # By default true when not known + ignore_consensus = True + for idx, row in maf.iterrows(): + ravex_filter = [] + if row["t_alt_count"] <= min_alt_reads: + ravex_filter += ["min_alt_reads"] + if row["ingnomAD"]: + ravex_filter += ["gnomad"] + if not blacklist.empty: + if row["blacklist"]: + ravex_filter += ["blacklist"] + if not noncoding: + if row["noncoding"]: + ravex_filter += ["noncoding"] + if not homopolymer: + if row["homopolymer"]: + ravex_filter += ["homopolymer"] + if not ig_pseudo: + if row["ig_pseudo"]: + ravex_filter += ["ig_pseudo"] + if not row["isconsensus"]: # of there is consensus we take the FILTER from the consensus + if not row["FILTER"] in filters: + ravex_filter += ["vc_filter"] + if not ignore_consensus: + ravex_filter += ["not_consensus"] + elif not ignore_consensus: + if not row["FILTER_consensus"] in filters: + ravex_filter += ["vc_filter"] + else: + if not row["FILTER"] in filters: + ravex_filter += ["vc_filter"] + if whitelist: + if not ravex_filter or row["whitelist"]: + ravex_filter = ["PASS"] + else: + if not ravex_filter: + ravex_filter = ["PASS"] + ravex_filter = ";".join(ravex_filter) + maf.at[idx, "RaVeX_FILTER"] = ravex_filter + return maf + +def merge_rows(group): + """Merge info when mut is repeated due to consensus + """ + # Take the first row as the base + merged_row = group.iloc[0].copy() + # Merge the 'callers' column + merged_row['callers'] = group['callers'].iloc[0] + "|" + group['Caller'].iloc[1] if len(group) > 1 else group['callers'].iloc[0] + # Merge the 'filters' column + merged_row['filters'] = group['filters'].iloc[0] + "|" + group['FILTER_consensus'].iloc[1] if len(group) > 1 else group['callers'].iloc[0] + # Set the Tumor_Sample_Barcode_consensus column + merged_row['Tumor_Sample_Barcode_consensus'] = group['Tumor_Sample_Barcode'].iloc[1] if len(group) > 1 else None + + return merged_row + +def deduplicate_maf(variants, vc_priority): + deduped = [] + for caller in vc_priority: + deduped.append(variants[variants["Caller"] == caller]) + # we deduplicate per DNAchange and Tumor_Sample_Barcode + deduplicated = pd.concat(deduped).drop_duplicates(subset=["DNAchange", "Tumor_Sample_Barcode"], keep="first") + # when two same mutations are still present, we assume this is due to "consensus" from different data type (DNA/RNA) + grouped = deduplicated.groupby('DNAchange') + # merge the info from consensus + consensus_merged = grouped.apply(merge_rows).reset_index(drop=True) + return consensus_merged + +def write_maf(maf_df, mafin_file, mafout_file, vc_priority): + """Write output""" + header_lines = subprocess.getoutput(f"zgrep -Eh '#|Hugo_Symbol' {mafin_file} 2>/dev/null") + if "Caller" in maf_df.columns: + print("Removing duplicated variants from maf (only one entry from a caller will be kept)\nNote: `consensus` info will be merged") + # Separate the multiallelic variants + multiallelic_variants = maf_df[maf_df["FILTER"].str.contains("multiallelic", case=False, na=False)] + other_variants = maf_df[~maf_df["FILTER"].str.contains("multiallelic", case=False, na=False)] + + # Combine variants with Caller from multiallelic + multiallelic_variants["Caller"] = multiallelic_variants["Caller"] + "_multiallelic" + maf_to_dedup = pd.concat([other_variants, multiallelic_variants]) + # Deduplicate variants + maf_to_write = deduplicate_maf(maf_to_dedup, vc_priority + list(multiallelic_variants["Caller"].unique())) + else: + maf_to_write = maf_df + # Write the header and deduplicated MAF to the output file + with open(mafout_file, "w") as mafout: + mafout.write(header_lines) + maf_to_write.to_csv(mafout_file, mode="a", index=False, header=True, sep="\t") + print(f"Done! See '{mafout_file}'.") + + +def main(): + noncoding_list = [ + "intron_variant", + "intergenic_variant", + "non_coding_transcript_variant", + "non_coding_transcript_exon_variant", + "mature_miRNA_variant", + "regulatory_region_variant", + "IGR", + "INTRON", + "RNA", + ] + args = argparser() + maf = read_maf(args.input) + whitelist = False + blacklist = False + if args.whitelist: + whitelist = read_whitelist_bed(args.whitelist) + if args.blacklist: + blacklist = read_blacklist_bed(args.blacklist) + else: + blacklist = pd.DataFrame() + maf = filtering(maf=maf, gnomad_thr=args.gnomad_thr, whitelist=whitelist, blacklist=blacklist, filters=args.filters) + # tag noncoding + maf = noncoding(maf=maf, noncoding=noncoding_list) + # tag IG and pseudo + maf = remove_ig_and_pseudo(maf=maf) + # tag homopolymers + maf = remove_homopolymers(maf=maf, ref=args.ref) + # tag consensus + maf = add_ravex_filters(maf=maf, filters=args.filters, blacklist=blacklist, whitelist=whitelist) + if not args.output: + args.output = args.input.replace(".maf", "filtered.maf") + write_maf(maf_df=maf, mafin_file=args.input, mafout_file=args.output,vc_priority=args.vc_priority) + + +if __name__ == "__main__": + main() diff --git a/bin/filter_rna_mutations.py b/bin/filter_rna_mutations.py new file mode 100755 index 00000000..f049393d --- /dev/null +++ b/bin/filter_rna_mutations.py @@ -0,0 +1,318 @@ +#!/usr/bin/env python +""" +Author: @RaqManzano +Script: Apply RNA-specific post-filtering to MAF files by annotating variants +with RNA-editing, RNA panel-of-normals, and optional realignment-support evidence. +The script can compare first-pass and realigned MAFs, optionally liftover coordinates +to score a secondary RNA PoN on an alternate reference, and writes filtered MAF +output with updated `RaVeX_FILTER` annotations. +""" +print("Note that importing CApy, might throw some unnecessary messages.") +import argparse +import pandas as pd +import warnings +# CApy import throws FutureWarnings and unnecessary messages +warnings.simplefilter(action='ignore', category=FutureWarning) +from capy import mut # type: ignore +from liftover import ChainFile +print("-- done importing") + + +def argparser(): + parser = argparse.ArgumentParser(description="") + parser.add_argument("--maf", help="Input MAF file") + parser.add_argument("--maf_realign", help="Input MAF file after a second pass") + parser.add_argument("--secondary-pon", dest="secondary_pon", help="Path to optional secondary RNA PoN binary generated for RNA-specific filtering (see DOI: 10.1016/j.cels.2018.03.002)") + parser.add_argument("--reference-pon", dest="reference_pon", help="Path to primary RNA PoN binary generated for RNA-specific filtering (see DOI: 10.1016/j.cels.2018.03.002)") + parser.add_argument("--whitelist", help="BED file with variants to keep (CHROM POS REF ALT)") + parser.add_argument("--output", help="output file name") + parser.add_argument("--out_suffix", help="Suffix for intermediate output", default="withRNAfilters") + parser.add_argument("--reference-fasta", dest="reference_fasta", help="Primary reference FASTA - e.g. hg38") + parser.add_argument("--reference-name", dest="reference_name", help="Primary reference name - e.g. hg38", default="hg38") + parser.add_argument("--secondary-reference-fasta", dest="secondary_reference_fasta", help="Secondary reference FASTA - e.g. hg19 (hs37d5)") + parser.add_argument("--secondary-reference-name", dest="secondary_reference_name", help="Secondary reference name - e.g. hg19", default="hg19") + parser.add_argument("--rnaedits", help="BED file(s) with known RNA editing events separated by space", nargs="+", default=[]) + parser.add_argument("--thr", default=-2.8) + parser.add_argument("--chain", help="Chain file") + + return parser.parse_args() + + +def realignment(maf1, maf2): + """ + Get variants that intersect both mafs without taking into account potential consensus variants + """ + # Create the 'DNAchange' column + for maf in [maf1, maf2]: + maf["DNAchange"] = ( + maf["Chromosome"] + + ":g." + + maf["Start_Position"].astype(str) + + maf["Reference_Allele"] + + ">" + + maf["Tumor_Seq_Allele2"] + ) + # Filter out consensus 'DNAchange' values from both mafs (consensus is unrelated to realignment) + maf1_non_consensus = maf1[~maf1["Caller"].str.contains("consensus", case=False, na=False)] + maf2_non_consensus = maf2[~maf2["Caller"].str.contains("consensus", case=False, na=False)] + # Find intersection of non-consensus 'DNAchange' values + is_intersect = maf1_non_consensus["DNAchange"].isin(maf2_non_consensus["DNAchange"]) + intersect_changes = maf1_non_consensus["DNAchange"][is_intersect] + # Update 'realignment' columns based on the intersection + maf1["realignment"] = maf1["DNAchange"].isin(intersect_changes) + maf2["realignment"] = maf2["DNAchange"].isin(intersect_changes) + # Subset to intersected variants excluding any consensus variants + maf1_intersect = maf1[maf1["realignment"]] + maf2_intersect = maf2[maf2["realignment"]] + maf_intersect = pd.concat([maf1_intersect, maf2_intersect]).drop_duplicates(subset="DNAchange") + return maf1, maf2, maf_intersect + + +def read_whitelist_bed(bed_file): + """ + Read a whitelist BED-like file containing variant coordinates and alleles. + Expected columns are CHROM, POS[, END], REF and ALT without a header. + """ + if not bed_file: + return [] + + bed = pd.read_csv(bed_file, sep="\t", comment="#", header=None) + if len(bed.columns) == 5: + colnames = ["#CHROM", "POS", "END", "REF", "ALT"] + else: + colnames = ["#CHROM", "POS", "REF", "ALT"] + bed.columns = colnames + + try: + bed["DNAchange"] = bed["#CHROM"].map(str) + ":g." + bed["POS"].map(str) + bed["REF"] + ">" + bed["ALT"] + except TypeError: + print("[ERROR] BED file for whitelist should contain CHROM, START, END, REF and ALT columns with no headers.") + print(f"Please check your file: {bed_file}") + return [] + + return bed["DNAchange"].tolist() + + +def add_filters(maf, rnaeditingsites, realignment, whitelist, secondary_reference_name=None): + """ + Check for RNA editing sites in the MAF table + """ + print("- Annotating RNA filters") + # Standalone MAF inputs may not have gone through the first-pass filtering step. + # Initialise the column here so RNA-specific filtering can still annotate consistently. + if "RaVeX_FILTER" not in maf.columns: + maf["RaVeX_FILTER"] = "PASS" + else: + maf["RaVeX_FILTER"] = maf["RaVeX_FILTER"].fillna("PASS") + + if not rnaeditingsites.empty: + # if mut is in a editing position T>C; A>G; G>A; C>T + maf = maf.assign(mut=maf["Reference_Allele"] + ">" + maf["Tumor_Seq_Allele2"]) + maf = maf.assign(chr_start=maf['Chromosome'] + "_" + maf['Start_Position'].astype(str)) + rnaeditingsites = rnaeditingsites.assign(chr_start = rnaeditingsites['chr'] + "_" + rnaeditingsites['start'].astype(str)) + rnaedits = pd.DataFrame({"rnaediting": maf['chr_start'].isin(rnaeditingsites['chr_start']) & maf['mut'].str.contains("^T>C$|^C>T$|^A>G$|^G>A$")}) + maf.drop("chr_start", axis=1,inplace=True) + maf = pd.merge(maf, rnaedits, left_index=True, right_index=True) + else: + maf["rnaediting"] = False + if whitelist: + if "DNAchange" not in maf.columns: + maf["DNAchange"] = ( + maf["Chromosome"].map(str) + + ":g." + + maf["Start_Position"].map(str) + + maf["Reference_Allele"] + + ">" + + maf["Tumor_Seq_Allele2"] + ) + maf["whitelist"] = maf["DNAchange"].isin(whitelist) + # change filter accordingly + pon_cols = [x for x in maf.columns if "pon_thr" in x] + for idx, row in maf.iterrows(): + ravex_filter = row["RaVeX_FILTER"].split(";") + if ravex_filter == ["PASS"]: + ravex_filter = [] + if realignment: + if not row["realignment"]: + ravex_filter += ["realignment"] + if row["rnaediting"]: + ravex_filter += ["rnaediting"] + for pon_col in pon_cols: + if row[pon_col]: + ravex_filter += ["rna_pon" + pon_col[-5:]] + if whitelist and "whitelist" in maf.columns and row["whitelist"]: + ravex_filter = ["PASS"] + if not ravex_filter: + ravex_filter = ["PASS"] + ravex_filter = ";".join(ravex_filter) + maf.at[idx, "RaVeX_FILTER"] = ravex_filter + # column cleanup + coord_col = f"coordinates_{secondary_reference_name}" if secondary_reference_name else None + if coord_col and coord_col in maf.columns: + maf.drop([coord_col], axis=1, inplace=True) + + return maf + +def run_capy(M, pon, reference_fasta, thr, chroms, suffix="_hg38", secondary_reference_name="hg19"): + """ + Runs CApy with RNA PoN generated with tokenizer (https://github.com/getzlab/aggregate_tokens_files_TOOL) + """ + print("- Running CApy" + suffix) + chrom = "Chromosome" + start = "Start_Position" + if secondary_reference_name: + chrom += "_" + secondary_reference_name + start += "_" + secondary_reference_name + # Remove alt contigs + M = M[M[chrom].isin(chroms)] + # Perform string replacements and type casting + M = M.assign( + chr=M[chrom].str.replace("chr", "").replace({"X": "23", "Y": "24"}), + pos=M[start], + n_alt=M["t_alt_count"], + n_ref=M["t_ref_count"] + ) + M = M[M["chr"] != "M"] + M = M.astype({"chr": "int32", "pos": "int32"}) + M.reset_index(inplace=True, drop=True) + # Get PoN scores + pon_scores = mut.filter_mutations_against_token_PoN(M=M, ponfile=pon, ref=reference_fasta) + assert len(pon_scores) == M.shape[0], "PoN scores are not same length as nrow" + # Create a DataFrame with the necessary columns including PoN scores and threshold + pon_scores_df = pd.DataFrame({ + "pon_score" + suffix: pon_scores, + "pon_thr" + suffix: [score >= thr for score in pon_scores] + }) + pon_scores_df.reset_index(inplace=True, drop=True) + assert pon_scores_df.index.equals(M.index) + # Ensure the threshold column is of boolean type + pon_scores_df["pon_thr" + suffix] = pon_scores_df["pon_thr" + suffix].astype(bool) + # Merge the original DataFrame with the PoN scores DataFrame + M = M.merge(pon_scores_df, left_index=True, right_index=True) + + return M + + +def add_coords2_with_liftover(M, chain_file,ref1="hg38",ref2="hg19"): + """ + Liftover ref1 coordinates from maf to ref2 + """ + print("- Liftovering coordinates as second PoN was provided with chain file") + converter = ChainFile(chain_file, ref1, ref2) + na_nr = M[M["Chromosome"].isnull()].shape[0] + if na_nr > 0: + print(f"[WGN] Removing {na_nr} variants where Chromosome is NA") + # remove positions where coordinates are not present (maybe liftover went wrong) + M = M[~M["Chromosome"].isna()].reindex() + starting_size = M.shape[0] + M["coordinates_" + ref2] = M.apply(lambda x: converter[x["Chromosome"]][x["Start_Position"]], axis=1) + # Replace with tuple of None's when position has been deleted in new reference genome + tmp = pd.DataFrame(M["coordinates_"+ref2].tolist(), index=M.index).apply( + lambda ds: ds.map(lambda x: x if x != None else (None, None, None)) + ) + tmp[["Chromosome_" + ref2, "Start_Position_" + ref2, "STRAND_" + ref2]] = pd.DataFrame(tmp[0].tolist(), index=M.index) + liftover_size = tmp.shape[0] + assert starting_size == liftover_size, "Liftovered positions are not the same number as in original MAF" + M = pd.concat([M, tmp], axis=1).drop(0, axis=1) + return M + + +def write_output(args, results, output, out_suffix): + """Write filtered maf(s). If realignment was provided then there will be three files: + one for each input file with the new filters annotated and a third one with the merged results. + """ + if len(results.keys()) > 1: + maf_out = args.maf.replace(".maf", f".{out_suffix}.maf").replace(".gz", "").split("/")[-1] + maf2_out = args.maf_realign.replace(".maf", f".{out_suffix}.maf").replace(".gz", "").split("/")[-1] + maf12_out = output[:] + pd.concat([results[0], results[2]]).sort_values(["Chromosome", "Start_Position"]).to_csv( + maf_out, sep="\t", index=False, header=True + ) + pd.concat([results[1], results[2]]).sort_values(["Chromosome", "Start_Position"]).to_csv( + maf2_out, sep="\t", index=False, header=True + ) + results[2].sort_values(["Chromosome", "Start_Position"]).to_csv(maf12_out, sep="\t", index=False, header=True) + print(f"See:\n- {maf_out}\n- {maf2_out}\n- {maf12_out}") + else: + results[0].sort_values(["Chromosome", "Start_Position"]).to_csv(output, sep="\t", index=False, header=True) + print(f"See: {output}") + +def check_rnaediting(rnaedits): + print("- Obtaining RNA editing sites from bed(s)") + rnadbs = [] + for rnadb_file in rnaedits: + print(f" - Reading {rnadb_file}") + rnadb = pd.read_csv(rnadb_file, sep="\s+", names=["chr", "start", "end", "ref", "alt"], header=None, low_memory=False) + rnadbs += [rnadb.assign(DNAchange=rnadb["chr"] + ":g." + rnadb["start"].map(str) + rnadb["ref"] + ">" + rnadb["alt"])] + rnadbs_concat = pd.concat(rnadbs) + return rnadbs_concat + +def main(): + args = argparser() + print("- Running script") + # checking for arguments when using RNA PoN + if args.reference_pon and args.reference_fasta is None: + raise ValueError("--reference-pon requires --reference-fasta") + if args.secondary_pon is not None: + if args.chain is None or args.secondary_reference_fasta is None: + raise ValueError("--secondary-pon requires --chain and --secondary-reference-fasta") + # Get rna editing files list + if args.rnaedits: + if "," in args.rnaedits[0]: + args.rnaedits = args.rnaedits[0].strip().split(",") + # Read known RNA editing files + if args.rnaedits: + rnadbs = check_rnaediting(args.rnaedits) + else: + rnadbs = pd.DataFrame() + if args.whitelist: + whitelist = read_whitelist_bed(args.whitelist) + else: + whitelist = False + # chromosomes + chroms = [f"chr{x}" for x in list(range(1, 23)) + ["X", "Y"]] + + # realignment + try: + calls_1pass = pd.read_csv(args.maf, sep="\t", comment="#", low_memory=False) + except pd.errors.EmptyDataError: + print("[Error] No columns to parse from file, is your input empty?") + exit() + # If REALIGNMENT provide intersect + if args.maf_realign and args.maf != args.maf_realign: + didrealignment = True + calls_2pass = pd.read_csv(args.maf_realign, sep="\t", comment="#",low_memory=False) + calls1, calls2, calls12 = realignment(calls_1pass, calls_2pass) + calls = [calls1, calls2, calls12] + else: + didrealignment = False + calls = [calls_1pass] + results = {} + for idx, calls in enumerate(calls): + print(f"> Annotating {idx+1}/3") + if calls.empty: + results[idx] = calls + continue + chrom_col = f"Chromosome_{args.secondary_reference_name}" + start_col = f"Start_Position_{args.secondary_reference_name}" + if chrom_col in calls.columns and start_col in calls.columns: + calls.drop([chrom_col, start_col], axis=1, inplace=True) + # RNA panel of normals + if args.secondary_pon is not None and args.chain is not None and args.secondary_reference_fasta is not None: + calls = add_coords2_with_liftover(calls, chain_file=args.chain,ref1=args.reference_name,ref2=args.secondary_reference_name) + calls = run_capy(M=calls, pon=args.secondary_pon, reference_fasta=args.secondary_reference_fasta, thr=args.thr, suffix='_'+args.secondary_reference_name, chroms=chroms, secondary_reference_name=args.secondary_reference_name) + if args.reference_pon: + calls = run_capy(M=calls, pon=args.reference_pon, reference_fasta=args.reference_fasta, thr=args.thr, suffix='_'+args.reference_name, chroms=chroms, secondary_reference_name=False) + calls = add_filters( + maf=calls, + rnaeditingsites=rnadbs, + realignment=didrealignment, + whitelist=whitelist, + secondary_reference_name=args.secondary_reference_name, + ) + results[idx] = calls + # write maf files + write_output(args, results, args.output, args.out_suffix) + +if __name__ == "__main__": + main() diff --git a/bin/maf2bed.py b/bin/maf2bed.py new file mode 100644 index 00000000..9d002c01 --- /dev/null +++ b/bin/maf2bed.py @@ -0,0 +1,32 @@ +#!/usr/bin/env python +""" +Author: Raquel Manzano - @RaqManzano +Script: Convert MAF to BED format keeping ref and alt info +""" +import argparse +import pandas as pd + + +def argparser(): + parser = argparse.ArgumentParser(description="") + parser.add_argument("-maf", "--mafin", help="MAF input file", required=True) + parser.add_argument("-bed", "--bedout", help="BED input file", required=True) + parser.add_argument( + "--extra", help="Extra columns to keep (space separated list)", nargs="+", required=False, default=[] + ) + return parser.parse_args() + + +def maf2bed(maf_file, bed_file, extra): + maf = pd.read_csv(maf_file, sep="\t", comment="#") + bed = maf[["Chromosome", "Start_Position", "End_Position"] + extra] + bed.to_csv(bed_file, sep="\t", index=False, header=False) + + +def main(): + args = argparser() + maf2bed(maf_file=args.mafin, bed_file=args.bedout, extra=args.extra) + + +if __name__ == "__main__": + main() diff --git a/bin/run_consensus.R b/bin/run_consensus.R new file mode 100755 index 00000000..8d981f7e --- /dev/null +++ b/bin/run_consensus.R @@ -0,0 +1,452 @@ +#!/usr/bin/env Rscript +# Date: Sun 20 Sep 2020 +# Author: Raquel Manzano - @RaqManzano +# Script: Find overlaps between vcf - specific filename convention will be expected to extract the variant caller name +# Expected filename pattern: _.maf or ..maf (e.g. S001_mutect2.maf or S001.mutect2.maf) +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# Libraries +options(warn=-1) + +suppressPackageStartupMessages(library(rtracklayer)) +suppressPackageStartupMessages(library(data.table)) +suppressPackageStartupMessages(library(plyr)) +suppressPackageStartupMessages(library(ggpubr)) +suppressPackageStartupMessages(library(ComplexHeatmap)) +suppressPackageStartupMessages(library(ggrepel)) +suppressPackageStartupMessages(library(stringr)) + +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +options(datatable.fread.input.cmd.message=FALSE) +# Collect arguments +script_args <- commandArgs(TRUE) +# default arguments +if(length(script_args) < 1) { + script_args <- c("--help") +} + +# Help section ---- +if("--help" %in% script_args) { + cat("The consensusR script: + + Arguments: + --id=sample_id - character, id for the sample (default: sample) + --input_dir=input_directory - character, Directory containing input files + --out_prefix=output_prefix - character, prefix for outputs + --thr=thr - integer, the number of callers that support a mutation to be called consensus (default: 2) + --interval=coord_interval - character, chrom:start-end to analyse + --help - print this text + Note: Please ensure caller name is as follows: sample_id.caller.maf + Example: + ./run_consensus.R --id=sample01 --input_dir=inputs/ --out_prefix=consensus --thr=2 \n\n") + + q(save="no") +} + +# Dealing with missing params ---- +if(!grepl(pattern = "--input_dir=", x = paste(script_args, collapse = ""))) { + stop("Missing --input_dir name!") +} +if(!grepl(pattern = "--id=", x = paste(script_args, collapse = ""))) { + script_args <- c(script_args, "--id=sample") +} +if(!grepl(pattern = "--out_prefix=", x = paste(script_args, collapse = ""))) { + script_args <- c(script_args, "--out_prefix=consensus") +} +if(!grepl(pattern = "--thr=", x = paste(script_args, collapse = ""))) { + script_args <- c(script_args, "--thr=2") +} +if(!grepl(pattern = "--interval=", x = paste(script_args, collapse = ""))) { + script_args <- c(script_args, "--interval=0") +} + +## Parse arguments (we expect the form --arg=value) ---- +parseArgs <- function(x) strsplit(sub("^--", "", x), "=") +argsDF <- as.data.frame(do.call("rbind", parseArgs(script_args))) +argsDF <- aggregate(.~V1, data=argsDF, paste, collapse=",") +argsL <- as.list(as.character(argsDF$V2)) +names(argsL) <- argsDF$V1 + +# Input variables ---- +sampleid <- argsL$id. # just used for the title of the plot at the end +input_files <- list.files(strsplit(argsL[["input_dir"]], split=",")[[1]], pattern="\\.maf$", full.names=TRUE) + +# Extract caller names from file names - specific name convention is expected ---- +get_caller <- function(filename) { + caller_name <- sub(".*(\\.|_)(.*?)\\.maf", "\\2", filename) + if (caller_name == filename) caller_name <- "unknown" + return(caller_name) +} +callers <- sapply(input_files, get_caller) +names(input_files) <- callers + +# check if input is a vcf or maf ---- +is.vcf <- grepl(x = input_files[1], pattern = ".vcf$|.vcf.gz$", perl = T) + +# init output files ---- +pdf.out <- paste0(argsL$out_prefix, ".pdf") +if (is.vcf){ + vcf.out <- paste0(argsL$out_prefix, ".vcf") +} else{ + vcf.out <- paste0(argsL$out_prefix, ".maf") +} + +message("- Parsing headers") +if (is.vcf){ + # First, get contigs from one of the input files + contigs_meta <- fread(cmd=paste0("awk '/^##contig/ {print; next} !/^##contig/ {exit}' ", input_files[1]), sep = NULL, header = F) + contigs_meta <- paste0(contigs_meta$V1, collapse = "\n") +} else { + # this is not a vcf so no contigs + contigs_meta <- "" +} +# First, collect vcf headers for the outputs ---- +callers_meta <- list() +for ( c in callers){ + vcf_meta <- fread(cmd=paste0("awk '/^#CHROM/ || /^Hugo_Symbol/ {exit} {print}' ", input_files[c]), sep = NULL, header = F) + if (is.vcf){ + vcf_header <- fread(cmd=paste0("zgrep -m 1 '#CHROM' ", input_files[c]), sep = NULL, header = F) + vcf_header <- strsplit(vcf_header$V1, "\t")[[1]] + callers_meta[[c]] <- list(meta=paste0(vcf_meta$V1, collapse = "\n"), + header=vcf_header) + } else{ + maf_header <- fread(cmd=paste0("zgrep -m 1 'Hugo_Symbol' ", input_files[c]), sep = NULL, header = F, showProgress = F) + maf_header <- strsplit(maf_header$V1, "\t")[[1]] + callers_meta[[c]] <- list(meta=paste0(vcf_meta$V1, collapse = "\n"), + header=maf_header) + } +} +# Second, read and convert the input files to GenomicRanges for easy manipulation. +message("- Converting to genomic ranges") +mutsGR <- list() +muts <- list() + +## if there are intervals parse now +if (argsL$interval != '0') { + + message( ' - Subset input by interval: ', argsL$interval) + interval_chr = strsplit(argsL$interval, ':')[[1]][1] + interval_start = as.numeric(strsplit(strsplit(argsL$interval, ':')[[1]][2], '-')[[1]][1]) + interval_end = as.numeric(strsplit(strsplit(argsL$interval, ':')[[1]][2], '-')[[1]][2]) + +} + +for(c in callers[1:length(callers)]){ + v <- input_files[c] + message(" - ", v) + if (!is.vcf){ # is a maf + fread_cmd = paste0("zgrep -v '#' ", v) + if (argsL$interval != '0') { + fread_cmd <- paste0(fread_cmd, "| grep -Ew 'Hugo_Symbol|", interval_chr, "'") + } + tmp <- fread(cmd=fread_cmd, header=TRUE) + # tmp <- tmp[Chromosome=="chr21"] + if (argsL$interval != '0') { + tmp <- tmp[Chromosome == interval_chr & Start_Position >= interval_start & Start_Position < interval_end] + } + tmp$`#CHROM` <- tmp$Chromosome + tmp$POS <- tmp$Start_Position + tmp$REF <- tmp$Reference_Allele + tmp$ALT <- tmp$Tumor_Seq_Allele2 + } else { # is a vcf + fread_cmd = paste0("zgrep -v '##' ", v) + if (argsL$interval != '0') { + fread_cmd <- paste0(fread_cmd, "| grep -w ", interval_chr) + } + tmp <- fread(cmd=fread_cmd) + } + if (nrow(tmp) > 0) { # if not empty + tmp$Caller <- c + tmp$mut <- paste0(tmp$REF, ">", tmp$ALT) + tmp$DNAchange <- paste0(tmp$`#CHROM`, ":g.", tmp$POS, tmp$REF, ">", tmp$ALT) + tmp$start <- tmp$POS + # get end position to create a range + tmp$end <- ifelse(nchar(tmp$REF) > nchar(tmp$ALT), + tmp$POS + nchar(tmp$REF) - 1, + ifelse(nchar(tmp$REF) < nchar(tmp$ALT), tmp$POS + nchar(tmp$ALT) - 1, + ifelse(nchar(tmp$REF) == nchar(tmp$ALT) & nchar(tmp$ALT) > 1, tmp$POS + nchar(tmp$REF), + tmp$POS) + ) + ) + if (nrow(tmp[is.na(end)])>0){ + message(" - [WARNING] Removing ",nrow(tmp[is.na(end)]), " spurious calls with no alt. There should be 0.") + } + tmp <- tmp[!is.na(end)] + muts[[c]] <- tmp + mutsGR[[c]] <- GenomicRanges::makeGRangesFromDataFrame(df = tmp, + ignore.strand = TRUE, + start.field = "start", + end.field = "end", + seqnames.field = "#CHROM", + keep.extra.columns = T) + } else { # if empty add empty genomic range + mutsGR[[c]] <- GenomicRanges::GRanges() # empty + } + rm(tmp); gc(verbose = FALSE) +} + +# Extract variants where their coordinates overlap between inputs ---- +message("- Finding overlaps") +# Third, we find overlaps +# Split each GRange by chromosome to speed things up +mutsGR_by_chr <- lapply(mutsGR, function(gr) { + if (!methods::is(gr, "GRanges") || length(gr) == 0) return(list()) + split(gr, seqnames(gr)) +}) + +rm(mutsGR); gc(verbose = FALSE) +callers.names.GR <- names(mutsGR_by_chr) + +overlapping.vars.list <- list() +for (c1 in callers.names.GR){ + gr1_chr <- mutsGR_by_chr[[c1]] + if (length(gr1_chr) == 0) next # if empty jump to next + for (c2 in callers.names.GR){ + if (c1 == c2) next # skip self-comparison + gr2_chr <- mutsGR_by_chr[[c2]] + if (length(gr2_chr) == 0) next # if (length(gr1_chr) == 0) next + # Only consider chromosomes both callers share + chroms <- intersect(names(gr1_chr), names(gr2_chr)) + if (length(chroms) == 0) next + for (chrom in chroms) { + gr1 <- gr1_chr[[chrom]] + gr2 <- gr2_chr[[chrom]] + if (length(gr1) == 0 || length(gr2) == 0) next + # The gap between 2 adjacent ranges is 0. + hits <- GenomicRanges::findOverlaps(query = gr1, subject = gr2, maxgap = 0) + n_hits <- length(hits) + message(sprintf("[%s vs %s | %s] %d overlaps found", c1, c2, chrom, n_hits)) + if (n_hits == 0) next # No overlaps found + dnachange.hits <- muts[[c1]][Chromosome==chrom][queryHits(hits)]$DNAchange + filt.hits <- muts[[c1]][Chromosome==chrom][queryHits(hits)]$FILTER + group_name <- paste0(c1, "_vs_", c2, "_", chrom) + message("group name: ", group_name) + # due to normalization we might find the same variant with different filters - these come from homopolymer regions + overlapping.vars.list[[group_name]] <- unique(data.frame(DNAchange = dnachange.hits, caller = c1, FILTER = filt.hits)) + } + } +} +overlapping.vars <- data.table::rbindlist(overlapping.vars.list, fill = TRUE) +rm(overlapping.vars.list, mutsGR_by_chr); gc(verbose = FALSE) +# Finally, extract the set of variants that will be the consensus set +overlapping.vars <- overlapping.vars[!duplicated(overlapping.vars),] +# Convert to data.table and summarise by DNAchange +setDT(overlapping.vars) +overlapping.vars <- overlapping.vars[, .( + caller = paste(caller, collapse = "|"), + FILTER = paste(FILTER, collapse = "|") + ), + by = DNAchange +] + + +# Overlaps that are adjacent, and only SNVs are removed if not DNP +overlapping.variants.count <- stringr::str_count(string = overlapping.vars$caller, pattern = stringr::fixed("|")) + 1 +names(overlapping.variants.count) <- overlapping.vars$DNAchange +overlapping.variants.count.snvs <- overlapping.variants.count[ grepl(pattern = "[0-9](A|C|G|T)>(A|C|G|T)$", x = names(overlapping.variants.count))] +overlapping.variants.count.indels <- overlapping.variants.count[!grepl(pattern = "[0-9](A|C|G|T)>(A|C|G|T)$", x = names(overlapping.variants.count))] + +# only snvs with exact match will be in the consensus list +con.vars.ths.snv <- names(overlapping.variants.count.snvs[overlapping.variants.count.snvs >= argsL$thr]) +# we let all indels pass as they have shown overlap +con.vars.ths.indel <- names(overlapping.variants.count.indels) + +message("- There are ", prettyNum(length(con.vars.ths.snv), big.mark = ','), " SNVs that are consensus") +message("- There are ", prettyNum(length(con.vars.ths.indel), big.mark = ','), " indels that are consensus") + +con.vars.ths <- c(con.vars.ths.snv, con.vars.ths.indel) + +# The next steps are for the output +# To keep the information from the consensus we extract the callers that called each mutation and its correspondent filters. +consensus_map <- overlapping.vars[, .( + callers_all = paste(caller, collapse = "|"), + filters_all = paste(FILTER, collapse = "|") + ), + by = DNAchange + ] +# Mark which DNAchanges are consensus +consensus_map[, is_consensus := DNAchange %in% con.vars.ths] +setkey(consensus_map, DNAchange) + +for (c in callers){ + message("- Annotating calls from ", c) + if (!is.null(muts[[c]])){ + muts_dt <- as.data.table(muts[[c]]) + setkey(muts_dt, DNAchange) + # Join consensus information + muts_dt <- consensus_map[muts_dt, on = "DNAchange"] + + # Replace missing with self information + muts_dt[is.na(callers_all), callers_all := Caller] + muts_dt[is.na(filters_all), filters_all := FILTER] + + # Rename for consistency with rest of script + setnames(muts_dt, + old = c("callers_all", "filters_all"), + new = c("callers", "filters")) + + muts[[c]] <- as.data.frame(muts_dt) + rm(muts_dt); gc(FALSE) + } +} + +all.muts <- do.call(rbind.fill, muts) + +# Remove duplication if consensus input came annotated with more than one caller +all.consensus.muts <- all.muts[stringi::stri_detect_regex(all.muts$Caller, "consensus", case_insensitive=TRUE),] +all.consensus.muts <- all.consensus.muts[!duplicated(all.consensus.muts$DNAchange),] +# 1) remove the consensus variants that might be duplicated 2) put back the deduplicated consensus variants +all.muts <- all.muts[!stringi::stri_detect_regex(all.muts$Caller, "consensus", case_insensitive=TRUE),] +all.muts <- rbind(all.muts, all.consensus.muts) + +message("- Preparing output") +## Prepare output +simplified.filter <- sapply(all.muts$filters, FUN = function(x){ + filt.val <- strsplit(x=x, split = "|", fixed = T)[[1]] + filt.t <- table(filt.val == "PASS") + ifelse(prop.table(filt.t)["FALSE"] > 0.5, "FAIL", "PASS") +}) +simplified.filter <- ifelse(is.na(simplified.filter), "PASS", simplified.filter) +all.muts$FILTER_consensus <- simplified.filter +all.muts$INFO_consensus <- paste0("callers=", all.muts$callers, ";filters=", all.muts$filters, ";consensus_filter=", all.muts$FILTER_consensus) + +## write consensus +# I want to keep the info without duplicating the mutations +all.muts$isconsensus <- grepl(pattern = "|", x = all.muts$callers, fixed = T) + +# WRITE OUTPUTS + +meta_consensus <- paste0('##INFO=\n', + '##INFO=\n', + '##INFO=') +extra.cols <- c() +for ( c in callers){ + if (is.vcf){ + updated_meta <- paste(callers_meta[[c]]$meta, + meta_consensus, + sep="\n") + vcf.out.caller <- paste0(argsL$out_prefix, "_", c,".vcf") + } else{ + if ("Caller" %in% callers_meta[[c]]$header){ + extra.cols <- c() + } else{ + extra.cols <- c("Caller", "callers", "filters", "FILTER_consensus", "isconsensus") + } + callers_meta[[c]]$header <- c(callers_meta[[c]]$header, extra.cols) + updated_meta <- "#version 2.4" ## is a maf file + vcf.out.caller <- paste0(argsL$out_prefix, "_", c, ".maf") + } + write(x = updated_meta, file = vcf.out.caller, ncolumns = 1, append = F) + # if empty maf/vcf just write empty file with columns + if(nrow(all.muts[all.muts$Caller==c,][,callers_meta[[c]]$header])==0){ + empty.df <- data.frame(matrix(ncol = length(callers_meta[[c]]$header), nrow = 0)) + fwrite(x = empty.df, + file = vcf.out.caller, + append = T, + sep = "\t", + col.names = T) + next + } + extra.cols <- c() + if (is.vcf){ + fields_to_write <- all.muts[all.muts$Caller==c,][,callers_meta[[c]]$header] + fields_to_write$INFO <- paste(fields_to_write$INFO, all.muts[all.muts$Caller==c,]$INFO_consensus, sep=";") + fwrite(x = fields_to_write, + file = vcf.out.caller, + append = T, + sep = "\t", + col.names = T) + } else{ + colnames(all.muts)[colnames(all.muts)=="FILTER_consensus"] <- "FILTER_consensus" + if (all(all.muts[all.muts$Caller==c,][,callers_meta[[c]]$header] == callers_meta[[c]]$header)){ + to_write <- setNames(data.table(matrix(nrow = 0, ncol = length(callers_meta[[c]]$header))), callers_meta[[c]]$header) + } else{ + to_write <- all.muts[all.muts$Caller==c,][,callers_meta[[c]]$header] + } + fwrite(x = to_write, + file = vcf.out.caller, + append = T, + sep = "\t", + col.names = T) + } + message(" - Output in: ", vcf.out.caller) +} + +# Final VCF consensus +if (is.vcf){ + meta <- paste0("##fileformat=VCFv4.2\n##source=Consensus", length(callers), "Callers (", paste0(callers, collapse = ","), ")\n", contigs_meta, + '##FILTER=\n##FILTER=\n') + # we need the meta contigs and the INFO + meta <- paste0(meta, meta_consensus) +} else{ + meta <- "#version 2.4" +} + +to.vcf <- all.muts[all.muts$isconsensus==T,] + +if (is.vcf){ + col.out <- c("#CHROM", "POS", "ID", "REF", "ALT", "QUAL", "FILTER", "INFO", "FORMAT") + to.vcf$ID <- to.vcf$DNAchange + to.vcf$QUAL <- "." + to.vcf$INFO <- to.vcf$INFO_consensus + to.vcf$FORMAT <- "." + to.vcf$FILTER <- to.vcf$FILTER_consensus +} else{ + col.out <- callers_meta[[c]]$header # any caller header is fine +} + +to.vcf <- to.vcf[,col.out][!duplicated(to.vcf),] +message("- Total variants ", prettyNum(nrow(to.vcf), big.mark = ",")) +message("- Variants in consensus ", prettyNum(nrow(all.muts[(!duplicated(all.muts$DNAchange) & all.muts$isconsensus==T),]), big.mark = ",")) + +write(x = meta, file = vcf.out, ncolumns = 1) +fwrite(x = to.vcf, file = vcf.out, append = T, sep = "\t", col.names = T) +message("- Output in: ", vcf.out) + +if (nrow(to.vcf) > 1e6){ + message("Too many variants (+1M!), plotting is skipped.") +} else { + + ## PLOTTING + variants_list <- list() + variants_list_pass <- list() + + for (c in callers){ + variants_list[[c]] <- all.muts[all.muts$Caller==c,]$DNAchange + variants_list_pass[[c]] <- all.muts[all.muts$Caller==c & all.muts$FILTER_consensus=="PASS",]$DNAchange + } + + nonempty_variants <- sum(lengths(variants_list)) > 0 + nonempty_variants_pass <- sum(lengths(variants_list_pass)) > 0 + + if (nonempty_variants && nonempty_variants_pass){ + m <- make_comb_mat(variants_list) + comb_order <- order(comb_size(m), decreasing = T) + u <- grid.grabExpr(draw(UpSet(m = m, comb_order = comb_order, column_title="All variants"), newpage = FALSE)) + + + m2 <- make_comb_mat(variants_list_pass) + comb_order2 <- order(comb_size(m2), decreasing = T) + g <- ggplot(all.muts, aes(Caller, fill=isconsensus)) + + geom_bar() + + coord_flip() + + scale_fill_manual(values = c(`TRUE`='#247671', `FALSE`='#92C2B5')) + + geom_text_repel(stat='count', aes(label=prettyNum(..count.., big.mark = ","))) + + ggtitle(subtitle = "PASS=All filters passed (note that '.' will be considered FAIL)", label = "") + + facet_grid(.~FILTER_consensus, scales="free") + theme(title = element_text(color="grey40")) + u2 <- grid.grabExpr(draw(UpSet(m = m2, comb_order = comb_order2, column_title="PASS variants"), newpage = FALSE)) + # 8.27 x 11.69 + pdf(pdf.out, width = 8.3, height = 11.7, paper = "A4") + plot <- ggarrange(g, u, u2, + labels = c("A", "B", "C"), + ncol = 1, nrow = 3) + print(annotate_figure(plot, top = text_grob(paste("Consensus summary for", sampleid), + face = "bold", size = 10, family="Courier"))) + + dev.off() + message(" - Output in: ", pdf.out) + } + + # check whether the unwanted file exists and remove it + file.exists("Rplots.pdf") + file.remove("Rplots.pdf") +} diff --git a/conf/base.config b/conf/base.config index a9eadd82..13172024 100644 --- a/conf/base.config +++ b/conf/base.config @@ -8,24 +8,19 @@ ---------------------------------------------------------------------------------------- */ -process { +process { // base // TODO nf-core: Check the defaults for all processes cpus = { 1 * task.attempt } memory = { 6.GB * task.attempt } time = { 4.h * task.attempt } - errorStrategy = { task.exitStatus in ((130..145) + 104 + 175) ? 'retry' : 'finish' } + errorStrategy = { task.exitStatus in ((130..145) + 104 + (175..177)) ? 'retry' : 'finish' } maxRetries = 1 maxErrors = '-1' // Process-specific resource requirements - // NOTE - Please try and reuse the labels below as much as possible. - // These labels are used and recognised by default in DSL2 files hosted on nf-core/modules. - // If possible, it would be nice to keep the same label naming convention when - // adding in your local modules too. - // TODO nf-core: Customise requirements for specific processes. - // See https://www.nextflow.io/docs/latest/config.html#config-process-selectors + // NOTE - Please try and re-use the labels below as much as possible. withLabel:process_single { cpus = { 1 } memory = { 6.GB * task.attempt } @@ -59,6 +54,88 @@ process { errorStrategy = 'retry' maxRetries = 2 } + // Requirements for specific processes. + // See https://www.nextflow.io/docs/latest/config.html#config-process-selectors + withName: 'BWAMEM1_MEM|BWAMEM2_MEM' { + cpus = { 12 * task.attempt } + memory = { 41.GB * task.attempt} + time = { 6.h * task.attempt } + } + withName: '.*HISAT2_BUILD' { + cpus = { 32 } + memory = { 200.GB * task.attempt} + time = { 30.h * task.attempt} + } + withName: '.*HISAT2_ALIGN|GATK4_SPLITNCIGARREADS' { + cpus = { 8 * task.attempt} + memory = { 41.GB * task.attempt} + time = { 4.h * task.attempt} + } + withName: 'MUTECT2_PAIRED' { + cpus = { 8 * task.attempt} + memory = { 41.GB * task.attempt} + time = { 8.h * task.attempt} + } + withName: 'ENSEMBLVEP_VEP' { + cpus = { 4 * task.attempt} + memory = { 16.GB * task.attempt} + time = { 6.h * task.attempt} + } + + withName: 'FASTQC|SAMTOOLS_FAIDX|TABIX.*'{ + time = { 1.h * task.attempt} + cpus = { 1 * task.attempt } + memory = { 4.GB * task.attempt} + } + withName: 'MULTIQC|FASTP|MOSDEPTH|SAMTOOLS_CONVERT'{ + time = { 2.h * task.attempt} + cpus = { 4 * task.attempt } + memory = { 16.GB * task.attempt} + } + withName:'GATK4_APPLYBQSR|GATK4_APPLYBQSR_SPARK|GATK4_BASERECALIBRATOR'{ + cpus = { 8 * task.attempt } + memory = { 32.GB * task.attempt} + time = { 24.h * task.attempt} + } + withName:'GATK4_GATHERBQSRREPORTS'{ + cpus = { 4 * task.attempt } + memory = { 16.GB * task.attempt} + time = { 16.h * task.attempt} + } + withName: 'GATK4_MARKDUPLICATES'{ + cpus = { 16 * task.attempt } + memory = { 55.GB * task.attempt} + time = { 16.h * task.attempt} + } + withName:'STRELKA.*|MANTA.*|STAR_ALIGN|RNA_FILTERING|SAGE' { + errorStrategy = { task.exitStatus in [143,137,104,134,139,140,247,1,255] ? 'retry' : 'finish' } + cpus = { 8 * task.attempt } + memory = { 41.GB * task.attempt} + time = { 4.h * task.attempt} + + } + + withName: 'PICARD_FILTERSAMREADS|RUN_CONSENSUS.*' { + cpus = { 12 * task.attempt } + memory = { 50.GB * task.attempt } + time = { 4.h * task.attempt } + } + withName: 'SAMTOOLS_EXTRACT_READ_IDS' { + cpus = { 12 * task.attempt } + memory = { 40.GB * task.attempt } + time = { 12.h * task.attempt } + } + + withName: 'GATK4_CREATESEQUENCEDICTIONARY' { + cpus = { 2 * task.attempt } + memory = { 8.GB * task.attempt } + time = { 1.h * task.attempt } + } + withName: '.*BAM_SORT_STATS_SAMTOOLS:SAMTOOLS.*' { + cpus = { 4 * task.attempt } + memory = { 16.GB * task.attempt } + time = { 4.h * task.attempt } + } withLabel: process_gpu { ext.use_gpu = { workflow.profile.contains('gpu') } accelerator = { workflow.profile.contains('gpu') ? 1 : null } diff --git a/conf/containers_conda_lock_files_amd64.config b/conf/containers_conda_lock_files_amd64.config new file mode 100644 index 00000000..41e234d5 --- /dev/null +++ b/conf/containers_conda_lock_files_amd64.config @@ -0,0 +1,2 @@ +process { withName: 'FASTQC' { container = 'modules/nf-core/fastqc/.conda-lock/linux_amd64-bd-5cb1a2fa2f18c7c2_1.txt' } } +process { withName: 'MULTIQC' { container = 'modules/nf-core/multiqc/.conda-lock/linux_amd64-bd-c17fb751507e9dfc_1.txt' } } diff --git a/conf/containers_conda_lock_files_arm64.config b/conf/containers_conda_lock_files_arm64.config new file mode 100644 index 00000000..5b5b9aad --- /dev/null +++ b/conf/containers_conda_lock_files_arm64.config @@ -0,0 +1,2 @@ +process { withName: 'FASTQC' { container = 'modules/nf-core/fastqc/.conda-lock/linux_arm64-bd-e455e32f745abe68_1.txt' } } +process { withName: 'MULTIQC' { container = 'modules/nf-core/multiqc/.conda-lock/linux_arm64-bd-5c84a5000a226ab5_1.txt' } } diff --git a/conf/containers_docker_amd64.config b/conf/containers_docker_amd64.config new file mode 100644 index 00000000..a66e3d1f --- /dev/null +++ b/conf/containers_docker_amd64.config @@ -0,0 +1,2 @@ +process { withName: 'FASTQC' { container = 'community.wave.seqera.io/library/fastqc:0.12.1--5cb1a2fa2f18c7c2' } } +process { withName: 'MULTIQC' { container = 'community.wave.seqera.io/library/multiqc:1.35--c17fb751507e9dfc' } } diff --git a/conf/containers_docker_arm64.config b/conf/containers_docker_arm64.config new file mode 100644 index 00000000..215f6865 --- /dev/null +++ b/conf/containers_docker_arm64.config @@ -0,0 +1,2 @@ +process { withName: 'FASTQC' { container = 'community.wave.seqera.io/library/fastqc:0.12.1--e455e32f745abe68' } } +process { withName: 'MULTIQC' { container = 'community.wave.seqera.io/library/multiqc:1.35--5c84a5000a226ab5' } } diff --git a/conf/containers_singularity_https_amd64.config b/conf/containers_singularity_https_amd64.config new file mode 100644 index 00000000..2fb11a35 --- /dev/null +++ b/conf/containers_singularity_https_amd64.config @@ -0,0 +1,2 @@ +process { withName: 'FASTQC' { container = 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/f2/f20b021476d1d87658820f971ebecc1e8cdbde0f338eb0d9cea2b0a8fc54a54b/data' } } +process { withName: 'MULTIQC' { container = 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/c8/c8e346f4f6080eadf1253505e6ff09ef004454fc18e8d672006fd7b222cc412e/data' } } diff --git a/conf/containers_singularity_https_arm64.config b/conf/containers_singularity_https_arm64.config new file mode 100644 index 00000000..5fa5b4f9 --- /dev/null +++ b/conf/containers_singularity_https_arm64.config @@ -0,0 +1,2 @@ +process { withName: 'FASTQC' { container = 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/46/46daf2dad0169afd2ae047c3e50ed3776259f664bf07e5e06b045dc23449e994/data' } } +process { withName: 'MULTIQC' { container = 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/e4/e48aa28aebc881254a499b24c3e1ce77b8df1b85a5432699ed6f72eb17ac7fb5/data' } } diff --git a/conf/containers_singularity_oras_amd64.config b/conf/containers_singularity_oras_amd64.config new file mode 100644 index 00000000..b3343757 --- /dev/null +++ b/conf/containers_singularity_oras_amd64.config @@ -0,0 +1,2 @@ +process { withName: 'FASTQC' { container = 'oras://community.wave.seqera.io/library/fastqc:0.12.1--5c4bd442468d75dd' } } +process { withName: 'MULTIQC' { container = 'oras://community.wave.seqera.io/library/multiqc:1.35--c680f2aea25ccec2' } } diff --git a/conf/containers_singularity_oras_arm64.config b/conf/containers_singularity_oras_arm64.config new file mode 100644 index 00000000..661c6568 --- /dev/null +++ b/conf/containers_singularity_oras_arm64.config @@ -0,0 +1,2 @@ +process { withName: 'FASTQC' { container = 'oras://community.wave.seqera.io/library/fastqc:0.12.1--127a87fc06499035' } } +process { withName: 'MULTIQC' { container = 'oras://community.wave.seqera.io/library/multiqc:1.35--c0468833d65b2f81' } } diff --git a/conf/empty.config b/conf/empty.config new file mode 100644 index 00000000..ab37dc14 --- /dev/null +++ b/conf/empty.config @@ -0,0 +1,4 @@ +/* + * Intentionally empty config used as a no-op include target for conditional + * includeConfig statements that must remain compatible across Nextflow versions. + */ diff --git a/conf/modules.config b/conf/modules.config index d203d2b6..a1ce5fcc 100644 --- a/conf/modules.config +++ b/conf/modules.config @@ -17,18 +17,4 @@ process { mode: params.publish_dir_mode, saveAs: { filename -> filename.equals('versions.yml') ? null : filename } ] - - withName: FASTQC { - ext.args = '--quiet' - } - - withName: 'MULTIQC' { - ext.args = { params.multiqc_title ? "--title \"$params.multiqc_title\"" : '' } - publishDir = [ - path: { "${params.outdir}/multiqc" }, - mode: params.publish_dir_mode, - saveAs: { filename -> filename.equals('versions.yml') ? null : filename } - ] - } - } diff --git a/conf/modules/alignment/alignment_to_fastq.config b/conf/modules/alignment/alignment_to_fastq.config new file mode 100644 index 00000000..a6f36316 --- /dev/null +++ b/conf/modules/alignment/alignment_to_fastq.config @@ -0,0 +1,87 @@ +/* +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Config file for defining DSL2 per module options and publishing paths +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Available keys to override module options: + ext.args = Additional arguments appended to command in module. + ext.args2 = Second set of arguments appended to command in module (multi-tool modules). + ext.args3 = Third set of arguments appended to command in module (multi-tool modules). + ext.prefix = File name prefix for output files. + ext.when = When to run the module. +---------------------------------------------------------------------------------------- +*/ + +// BAM TO FASTQ + +process { // alignment_to_fastq + + withName: 'COLLATE_FASTQ_MAP' { + ext.args2 = '-N' + ext.prefix = {"${meta.id}.mapped"} + publishDir = [ + //specify to avoid publishing, overwritten otherwise + enabled: false + ] + } + + withName: 'COLLATE_FASTQ_UNMAP' { + ext.args2 = '-N' + ext.prefix = {"${meta.id}.unmapped"} + publishDir = [ + //specify to avoid publishing, overwritten otherwise + enabled: false + ] + } + + withName: 'SAMTOOLS_VIEW_MAP_MAP' { + ext.args = '-b -f1 -F12' + ext.prefix = {"${meta.id}.map_map"} + publishDir = [ + //specify to avoid publishing, overwritten otherwise + enabled: false + ] + } + + withName: 'SAMTOOLS_VIEW_MAP_UNMAP' { + ext.args = '-b -f8 -F260' + ext.prefix = {"${meta.id}.map_unmap"} + publishDir = [ + //specify to avoid publishing, overwritten otherwise + enabled: false + ] + } + + withName: 'SAMTOOLS_VIEW_UNMAP_MAP' { + ext.args = '-b -f4 -F264' + ext.prefix = {"${meta.id}.unmap_map"} + publishDir = [ + //specify to avoid publishing, overwritten otherwise + enabled: false + ] + } + + withName: 'SAMTOOLS_VIEW_UNMAP_UNMAP' { + ext.args = '-b -f12 -F256' + ext.prefix = {"${meta.id}.unmap_unmap"} + publishDir = [ + //specify to avoid publishing, overwritten otherwise + enabled: false + ] + } + + withName: 'SAMTOOLS_MERGE_UNMAP' { + ext.prefix = {"${meta.id}.merged_unmap"} + publishDir = [ + //specify to avoid publishing, overwritten otherwise + enabled: false + ] + } + withName: 'CAT_FASTQ' { + publishDir = [ + enabled: params.save_split_fastqs, + mode: params.publish_dir_mode, + path: { "${params.outdir}/reference/bed" }, + saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + ] + } +} diff --git a/conf/modules/alignment/bam_align.config b/conf/modules/alignment/bam_align.config new file mode 100644 index 00000000..3100344d --- /dev/null +++ b/conf/modules/alignment/bam_align.config @@ -0,0 +1,225 @@ +/* +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Config file for defining DSL2 per module options and publishing paths +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Available keys to override module options: + ext.args = Additional arguments appended to command in module. + ext.args2 = Second set of arguments appended to command in module (multi-tool modules). + ext.args3 = Third set of arguments appended to command in module (multi-tool modules). + ext.prefix = File name prefix for output files. +---------------------------------------------------------------------------------------- +*/ + +// BAM_ALIGN config + +process { // bam_align + + + // DNA aligners + + withName: "BWAMEM1_MEM" { + ext.when = { params.aligner == "bwa-mem" } + } + + withName: "BWAMEM2_MEM" { + ext.when = { params.aligner == "bwa-mem2" } + } + + withName: "DRAGMAP_ALIGN" { + ext.when = { params.aligner == "dragmap" } + ext.args = { "--RGSM ${meta.sample} --RGID ${meta.read_group}" } + } + + withName: "(BWAMEM.*_MEM|DRAGMAP_ALIGN)" { + ext.prefix = { params.split_fastq > 1 ? "${meta.id}".concat('.').concat(reads.get(0).name.tokenize('.')[0]) : "${meta.id}.sorted" } + publishDir = [ + mode: params.publish_dir_mode, + path: { "${params.outdir}/preprocessing/" }, + pattern: "*bam", + // Only save if save_output_as_bam AND + // (save_mapped OR no_markduplicates) AND + // only a single BAM file per sample + saveAs: { + if (params.save_output_as_bam && + ( + params.save_mapped || + (params.skip_tools && params.skip_tools.split(',').contains('markduplicates')) + ) && (meta.size * meta.num_lanes == 1) + ) { "mapped/${meta.id}/${it}" } + else { null } + } + ] + } + + withName: "BWAMEM.*_MEM" { + // Using -B 3 for tumor samples + ext.args = { meta.status == 1 ? "-K 100000000 -Y -B 3 -R ${meta.read_group}" : "-K 100000000 -Y -R ${meta.read_group}" } + } + + + + withName: 'MERGE_BAM|INDEX_MERGE_BAM' { + publishDir = [ + mode: params.publish_dir_mode, + path: { "${params.outdir}/preprocessing/" }, + pattern: "*{bam,bai}", + // Only save if (save_output_as_bam AND (no_markduplicates OR save_mapped )) + saveAs: { (params.save_output_as_bam && (params.save_mapped || params.skip_tools && params.skip_tools.split(',').contains('markduplicates'))) ? "mapped/${meta.id}/${it}" : null } + ] + } + + withName: 'MERGE_BAM' { + ext.prefix = { "${meta.id}.sorted" } + } + + + // RNA aligners + withName: 'STAR_GENOMEGENERATE' { + ext.args = params.read_length ? "--sjdbOverhang ${params.read_length - 1}" : '' + ext.when = { params.rna && params.step == "mapping" } + } + + withName: 'HISAT2_BUILD|HISAT2_EXTRACTSPLICESITES' { + ext.when = { params.rna && (params.tools && params.tools.split(',').contains('realignment')) } + } + + withName: 'UNTAR_.*|STAR_GENOMEGENERATE|HISAT2_BUILD|HISAT2_EXTRACTSPLICESITES' { + publishDir = [ + enabled: params.save_reference, + mode: params.publish_dir_mode, + path: { "${params.outdir}/reference/index" }, + saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + ] + } + + withName: 'STAR_ALIGN' { + ext.args = {[ + "--outSAMtype BAM Unsorted", + "--readFilesCommand zcat", + "--outFilterMultimapScoreRange 1", + "--outFilterMultimapNmax 20", + "--outFilterMismatchNmax 10", + "--alignMatesGapMax 1000000", + "--sjdbScore 2", + "--alignSJDBoverhangMin 1", + "--genomeLoad NoSharedMemory", + "--outFilterMatchNminOverLread 0.33", + "--outFilterScoreMinOverLread 0.33", + "--twopass1readsN -1", + "--outSAMattrRGline ${meta.read_group}", + params.save_unaligned ? "--outReadsUnmapped Fastx" : "", + params.read_length ? "--sjdbOverhang ${params.read_length - 1}" : "", + params.star_twopass ? "--twopassMode Basic" : "", + params.star_max_memory_bamsort > 0 ? "--limitBAMsortRAM ${params.star_max_memory_bamsort}" : "", + params.star_max_collapsed_junc > 0 ? "--limitOutSJcollapsed ${params.star_max_collapsed_junc}" : "" + ].flatten().unique(false).join(' ').trim()} + ext.prefix = { params.split_fastq > 1 ? "${meta.id}".concat('.').concat(reads.get(0).baseName.tokenize('.')[0]) : "" } + publishDir = [ + [ + path: { "${params.outdir}/reports/star/${meta.patient}/${meta.id}/" }, + mode: params.publish_dir_mode, + pattern: '*.{out,tab}', + enabled: params.save_align_intermeds + ], + [ + path: { "${params.outdir}/preprocessing/star/${meta.patient}/${meta.id}/mapped/" }, + mode: params.publish_dir_mode, + pattern: '*.bam', + enabled: params.save_align_intermeds + ], + [ + path: { "${params.outdir}/preprocessing/star/${meta.patient}/${meta.id}/unmapped/" }, + mode: params.publish_dir_mode, + pattern: '*.fastq.gz', + enabled: params.save_align_intermeds + ] + ] + } + + // HISAT2 for realignment + withName: '.*:FASTQ_ALIGN_HISAT2:HISAT2_ALIGN' { + ext.prefix = {"${meta.sample}"} + ext.args = {meta.status < 2 ? "--temp-directory \${PWD} --met-stderr --new-summary --no-spliced-alignment" : "--temp-directory \${PWD} --met-stderr --new-summary " } + publishDir = [ + [ + path: { "${params.outdir}/report/hisat2/${meta.patient}/${meta.id}" }, + mode: params.publish_dir_mode, + pattern: '*.log', + enabled: params.save_align_intermeds + ], + [ + path: { "${params.outdir}/preprocessing/hisat2/${meta.patient}/${meta.id}/" }, + mode: params.publish_dir_mode, + pattern: '*.bam', + enabled: params.save_align_intermeds + ], + [ + path: { "${params.outdir}/preprocessing/hisat2/${meta.patient}/${meta.id}/unmapped" }, + mode: params.publish_dir_mode, + pattern: '*.fastq.gz', + enabled: params.save_unaligned + ] + ] + } + + // POST ALIGNMENT AND PREPROCESSING BAM TODO: check if it follows new pattern + withName: '.*:FASTQ_ALIGN_STAR:BAM_SORT_STATS_SAMTOOLS_GENOME:SAMTOOLS_SORT' { + ext.prefix = { params.split_fastq > 1 ? "${meta.id}".concat('.').concat(bam.name.tokenize('.')[1]).concat('') : "${meta.id}" } + publishDir = [ + path: { "${params.outdir}/preprocessing/" }, + mode: params.publish_dir_mode, + pattern: '*.bam', + saveAs: { (params.save_bam_mapped || (params.skip_tools && params.skip_tools.split(',').contains('markduplicates'))) && (meta.size * meta.numLanes == 1) ? "mapped/${meta.patient}/${meta.id}/${it}" : null } + + ] + } + + withName: '.*:FASTQ_ALIGN_STAR:BAM_SORT_STATS_SAMTOOLS_GENOME:SAMTOOLS_INDEX' { + ext.args = params.bam_csi_index ? '-c' : '' + ext.prefix = { params.split_fastq > 1 ? "${meta.id}".concat('.').concat(bam.name.tokenize('.')[1]).concat('.aligned') : "${meta.id}.aligned" } + publishDir = [ + path: { "${params.outdir}/preprocessing/" }, + mode: params.publish_dir_mode, + pattern: "*.{bai,csi}", + saveAs: { (params.save_bam_mapped || (params.skip_tools && params.skip_tools.split(',').contains('markduplicates'))) && (meta.size * meta.numLanes == 1) ? "mapped/${meta.patient}/${meta.id}/${it}" : null } + + ] + } + + + // re-alignment + // withName: '.*:FASTQ_ALIGN_HISAT2:.*'{ + // ext.when = {params.skip_tools && !params.skip_tools.split(',').contains('realignment')} + // } + withName: '.*:FASTQ_ALIGN_HISAT2:BAM_SORT_STATS_SAMTOOLS:SAMTOOLS_SORT' { + ext.prefix = { params.split_fastq > 1 ? "${meta.id}".concat('.').concat(bam.name.tokenize('.')[1]).concat('.aligned_hs2') : "${meta.id}.aligned_hs2" } + publishDir = [ + path: { "${params.outdir}/preprocessing/hisat2/" }, + mode: params.publish_dir_mode, + pattern: "*.bam", + enabled: params.save_align_intermeds + ] + } + + withName: '.*:FASTQ_ALIGN_HISAT2:BAM_SORT_STATS_SAMTOOLS:SAMTOOLS_INDEX' { + ext.args = params.bam_csi_index ? '-c' : '' + ext.prefix = { params.split_fastq > 1 ? "${meta.id}".concat('.').concat(bam.name.tokenize('.')[1]).concat('.aligned_hs2') : "${meta.id}.aligned_hs2" } + publishDir = [ + path: { "${params.outdir}/preprocessing/hisat2/${meta.patient}/${meta.id}/" }, + mode: params.publish_dir_mode, + pattern: "*.{bai,csi}", + enabled: params.save_align_intermeds + ] + } + + withName: '.*:FASTQ_ALIGN_STAR:BAM_SORT_STATS_SAMTOOLS:SAMTOOLS_FLAGSTAT' { + ext.prefix = { params.split_fastq > 1 ? "${meta.id}".concat('.').concat(bam.name.tokenize('.')[1]).concat('.aligned_hs2') : "${meta.id}.aligned_hs2" } + publishDir = [ + path: { "${params.outdir}/reports/samtools/" }, + mode: params.publish_dir_mode, + pattern: "*.{bai,csi}", + enabled: params.save_align_intermeds + ] + } + +} diff --git a/conf/modules/annotate/annotate.config b/conf/modules/annotate/annotate.config new file mode 100644 index 00000000..45937968 --- /dev/null +++ b/conf/modules/annotate/annotate.config @@ -0,0 +1,54 @@ +/* +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Config file for defining DSL2 per module options and publishing paths +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Available keys to override module options: + ext.args = Additional arguments appended to command in module. + ext.args2 = Second set of arguments appended to command in module (multi-tool modules). + ext.args3 = Third set of arguments appended to command in module (multi-tool modules). + ext.prefix = File name prefix for output files. + ext.when = When to run the module. +---------------------------------------------------------------------------------------- +*/ + +// ANNOTATE + +process { // annotate + + // VEP + withName: 'ENSEMBLVEP_VEP' { + ext.args = { [ + (params.vep_dbnsfp && params.dbnsfp && !params.dbnsfp_consequence) ? "--plugin dbNSFP,${params.dbnsfp.split("/")[-1]},${params.dbnsfp_fields}" : '', + (params.vep_dbnsfp && params.dbnsfp && params.dbnsfp_consequence) ? "--plugin dbNSFP,'consequence=${params.dbnsfp_consequence}',${params.dbnsfp.split("/")[-1]},${params.dbnsfp_fields}" : '', + (params.vep_loftee) ? "--plugin LoF,loftee_path:/opt/conda/envs/nf-core-vep-${params.vep_version}/share/ensembl-vep-${params.vep_version}-0" : '', + (params.vep_spliceai && params.spliceai_snv && params.spliceai_indel) ? "--plugin SpliceAI,snv=${params.spliceai_snv.split("/")[-1]},indel=${params.spliceai_indel.split("/")[-1]}" : '', + (params.vep_spliceregion) ? "--plugin SpliceRegion" : '', + (params.vep_out_format) ? "--${params.vep_out_format}" : '--vcf', + (params.vep_custom_args) ?: "" + ].join(' ').trim() } + // If just VEP: _VEP.ann.vcf + ext.prefix = { vcf.baseName - ".vcf" + "_VEP.ann" } + publishDir = [ + [ + mode: params.publish_dir_mode, + path: { "${params.outdir}/reports/EnsemblVEP/${meta.variantcaller}/${meta.id}/" }, + pattern: "*html" + ], + [ + mode: params.publish_dir_mode, + path: { "${params.outdir}/annotation/${meta.variantcaller}/${meta.id}/" }, + pattern: "*{gz}" + ] + ] + } + + withName: ".*:VCF_ANNOTATE:.*:(TABIX_BGZIPTABIX|TABIX_TABIX)" { + ext.prefix = { input.name - ".vcf" } + publishDir = [ + mode: params.publish_dir_mode, + path: { "${params.outdir}/annotation/${meta.variantcaller}/${meta.id}/" }, + pattern: "*{gz.tbi}" + ] + } + +} diff --git a/conf/modules/consensus/vcf_consensus.config b/conf/modules/consensus/vcf_consensus.config new file mode 100644 index 00000000..6b74d813 --- /dev/null +++ b/conf/modules/consensus/vcf_consensus.config @@ -0,0 +1,61 @@ +/* +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Config file for defining DSL2 per module options and publishing paths +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Available keys to override module options: + ext.args = Additional arguments appended to command in module. + ext.args2 = Second set of arguments appended to command in module (multi-tool modules). + ext.args3 = Third set of arguments appended to command in module (multi-tool modules). + ext.prefix = File name prefix for output files. + ext.when = When to run the module. +---------------------------------------------------------------------------------------- +*/ + +// CONSENSUS + +process { // consensus + + withName: "GUNZIP_VCF2MAF" { + // No need to publish decompress VCF, this is just an intermediary step + publishDir = [ + enabled: false + ] + } + + withName: "VCF2MAF" { + ext.args = { [ + "--inhibit-vep", + "--normal-id ${meta.id.split('_vs_')[1]}", + "--tumor-id ${meta.id.split('_vs_')[0]}", + "--max-subpop-af 0.0001", + "--retain-ann gnomADg_AF,MAX_AF,MAX_AF_POPS", + "--retain-fmt AD,DP,AF,GT,AU,CU,GU,TU,TAR,TIR,TOR", + params.vep_genome ? "--ncbi-build ${params.vep_genome}" : '', + meta.variantcaller == "strelka"? "--vcf-tumor-id TUMOR --vcf-normal-id NORMAL" : '' + ].join(' ').trim() } + ext.prefix = { "${meta.id}.${meta.variantcaller}" } + publishDir = [ + mode: params.publish_dir_mode, + path: { "${params.outdir}/consensus/vcf2maf/${meta.id}/" }, + pattern: "*{maf,maf.gz}" + ] + } + + withName: 'RUN_CONSENSUS.*' { + ext.prefix = { "${meta.id}"} + ext.args = {"--id=${meta.id}"} + publishDir = [ + [ + mode: params.publish_dir_mode, + path: { "${params.outdir}/consensus/consensus/${meta.id}/" }, + pattern: "*{vcf.gz,vcf,maf,maf.gz}" + ], + [ + mode: params.publish_dir_mode, + path: { "${params.outdir}/reports/consensus/" }, + pattern: "*pdf" + ] + ] + } + +} diff --git a/conf/modules/filtering/maf_filtering.config b/conf/modules/filtering/maf_filtering.config new file mode 100644 index 00000000..3334fc36 --- /dev/null +++ b/conf/modules/filtering/maf_filtering.config @@ -0,0 +1,51 @@ +/* +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Config file for defining DSL2 per module options and publishing paths +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Available keys to override module options: + ext.args = Additional arguments appended to command in module. + ext.args2 = Second set of arguments appended to command in module (multi-tool modules). + ext.args3 = Third set of arguments appended to command in module (multi-tool modules). + ext.prefix = File name prefix for output files. + ext.when = When to run the module. +---------------------------------------------------------------------------------------- +*/ + +// MAF FILTERING + +process { // maf filtering + + + + withName: "MAF_FILTERING" { + ext.prefix = { "${meta.id}.filtered"} + ext.args = { [params.whitelist? "--whitelist ${params.whitelist}": "", + params.blacklist? "--blacklist ${params.blacklist}": ""] + .join(' ').trim() } + publishDir = [ + mode: params.publish_dir_mode, + path: { "${params.outdir}/filtering/${meta.id}/" }, + pattern: "*{maf,maf.gz}" + ] + } + + withName: 'RNA_FILTERING' { + ext.prefix = {"${meta.id}.rna_filt"} + ext.args = { [params.rnaedits? "--rnaedits ${params.rnaedits}" : "", + params.reference_pon? "--reference-pon ${params.reference_pon}" : "", + params.chain? "--chain ${params.chain}" : "", + params.secondary_reference_fasta? "--secondary-reference-fasta ${params.secondary_reference_fasta}" : "", + params.secondary_pon? "--secondary-pon ${params.secondary_pon}" : "", + params.secondary_reference_name? "--secondary-reference-name ${params.secondary_reference_name}" : "", + params.reference_name? "--reference-name ${params.reference_name}" : "" + ].join(' ').trim() } + + publishDir = [ + mode: params.publish_dir_mode, + path: { "${params.outdir}/filtering/${meta.id}/" }, + pattern: "*{maf}", + enabled: true + ] + } + +} diff --git a/conf/modules/gatk4_preprocessing/markduplicates.config b/conf/modules/gatk4_preprocessing/markduplicates.config new file mode 100644 index 00000000..f5a75605 --- /dev/null +++ b/conf/modules/gatk4_preprocessing/markduplicates.config @@ -0,0 +1,88 @@ +/* +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Config file for defining DSL2 per module options and publishing paths +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Available keys to override module options: + ext.args = Additional arguments appended to command in module. + ext.args2 = Second set of arguments appended to command in module (multi-tool modules). + ext.args3 = Third set of arguments appended to command in module (multi-tool modules). + ext.prefix = File name prefix for output files. + ext.when = When to run the module. +---------------------------------------------------------------------------------------- +*/ + +// MARKDUPLICATES + +process { // markduplicates + + withName: 'CRAM_TO_BAM' { + ext.args = "-b" + } + + withName: 'BAM_TO_CRAM' { + // BAM provided for step Markduplicates either run through MD or Convert -> then saved as sorted.cram (convert) or md.cram (md directly) + // BAM files provided for step prepare_recal are converted and run through BQSR -> then saved as md.cram + // BAM files provided for step recal are converted and run through BQSR II -> then saved as md.cram + ext.args = "-C" + ext.prefix = { "${meta.id}.converted" } + publishDir = [ + enabled: !params.save_output_as_bam, + mode: params.publish_dir_mode, + path: { "${params.outdir}/preprocessing/converted/${meta.id}" }, + pattern: "*{cram,crai}" + ] + } + + withName: 'BAM_TO_CRAM_MAPPING' { + // Run only when mapping should be saved as CRAM or when no MD is done + ext.when = (params.save_mapped && !params.save_output_as_bam) || (params.skip_tools && params.skip_tools.split(',').contains('markduplicates')) + ext.prefix = { "${meta.id}.sorted" } + publishDir = [ + // Never publish if BAM only should be published + enabled: !params.save_output_as_bam, + mode: params.publish_dir_mode, + path: { "${params.outdir}/preprocessing/mapped/${meta.id}/" }, + pattern: "*{cram,crai}" + ] + } + + withName: 'GATK4_MARKDUPLICATES' { + ext.args = '-REMOVE_DUPLICATES false -VALIDATION_STRINGENCY LENIENT' + ext.prefix = { "${meta.id}.md.cram" } + ext.when = { !(params.skip_tools && params.skip_tools.split(',').contains('markduplicates')) } + publishDir = [ + [ + enabled: !params.save_output_as_bam, + mode: params.publish_dir_mode, + path: { "${params.outdir}/preprocessing/markduplicates/${meta.id}/" }, + pattern: "*{cram,crai}" + ], + [ + mode: params.publish_dir_mode, + path: { "${params.outdir}/reports/" }, + pattern: "*metrics", + saveAs: { !(params.skip_tools && params.skip_tools.split(',').contains('markduplicates_report')) ? "markduplicates/${meta.id}/${it}" : null} + ] + ] + } + + withName: 'INDEX_MARKDUPLICATES' { + publishDir = [ + enabled: !params.save_output_as_bam, + mode: params.publish_dir_mode, + path: { "${params.outdir}/preprocessing/markduplicates/${meta.id}/" }, + pattern: "*{cram,crai}" + ] + } + + withName: '.*:BAM_GATK_PREPROCESSING:CRAM_TO_BAM' { + ext.prefix = { "${meta.id}.md" } + ext.when = { params.save_output_as_bam } + publishDir = [ + enabled: params.save_output_as_bam, + mode: params.publish_dir_mode, + path: { "${params.outdir}/preprocessing/markduplicates/${meta.id}/" }, + pattern: "*{md.bam,md.bam.bai}" + ] + } +} diff --git a/conf/modules/gatk4_preprocessing/prepare_recalibration.config b/conf/modules/gatk4_preprocessing/prepare_recalibration.config new file mode 100644 index 00000000..86610865 --- /dev/null +++ b/conf/modules/gatk4_preprocessing/prepare_recalibration.config @@ -0,0 +1,38 @@ +/* +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Config file for defining DSL2 per module options and publishing paths +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Available keys to override module options: + ext.args = Additional arguments appended to command in module. + ext.args2 = Second set of arguments appended to command in module (multi-tool modules). + ext.args3 = Third set of arguments appended to command in module (multi-tool modules). + ext.prefix = File name prefix for output files. + ext.when = When to run the module. +---------------------------------------------------------------------------------------- +*/ + +// PREPARE_RECALIBRATION + +process { //prepare_recalibration + + withName: 'GATK4_BASERECALIBRATOR' { + ext.args = { meta.status >= 2 ? "--lenient" : "" } + ext.prefix = { meta.num_intervals <= 1 ? "${meta.id}.recal" : "${meta.id}_${intervals.simpleName}.recal" } + publishDir = [ + mode: params.publish_dir_mode, + path: { "${params.outdir}/preprocessing/" }, + pattern: "*table", + saveAs: { meta.num_intervals > 1 ? null : "recal_table/${meta.id}/${it}" } + ] + } + + withName: 'GATK4_GATHERBQSRREPORTS' { + ext.prefix = {"${meta.id}.recal"} + ext.when = { meta.num_intervals > 1 } + publishDir = [ + mode: params.publish_dir_mode, + path: { "${params.outdir}/preprocessing/recal_table/${meta.id}/" }, + pattern: "*table", + ] + } +} diff --git a/conf/modules/gatk4_preprocessing/recalibrate.config b/conf/modules/gatk4_preprocessing/recalibrate.config new file mode 100644 index 00000000..fa514cad --- /dev/null +++ b/conf/modules/gatk4_preprocessing/recalibrate.config @@ -0,0 +1,59 @@ +/* +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Config file for defining DSL2 per module options and publishing paths +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Available keys to override module options: + ext.args = Additional arguments appended to command in module. + ext.args2 = Second set of arguments appended to command in module (multi-tool modules). + ext.args3 = Third set of arguments appended to command in module (multi-tool modules). + ext.prefix = File name prefix for output files. + ext.when = When to run the module. +---------------------------------------------------------------------------------------- +*/ + +// RECALIBRATE + +process { // recalibrate + + withName: 'GATK4_APPLYBQSR' { + ext.prefix = { meta.num_intervals <= 1 ? "${meta.id}.recal" : "${meta.id}_${intervals.simpleName}.recal" } + publishDir = [ + enabled: !params.save_output_as_bam, + mode: params.publish_dir_mode, + path: { "${params.outdir}/preprocessing/" }, + pattern: "*{cram,crai}", + saveAs: { meta.num_intervals > 1 ? null : "recalibrated/${meta.id}/${it}" } + ] + } + + withName: '.*:BAM_APPLYBQSR:CRAM_MERGE_INDEX_SAMTOOLS:MERGE_CRAM' { + ext.prefix = { "${meta.id}.recal" } + ext.when = { meta.num_intervals > 1 } + publishDir = [ + enabled: !params.save_output_as_bam, + mode: params.publish_dir_mode, + path: { "${params.outdir}/preprocessing/recalibrated/${meta.id}/" }, + pattern: "*cram" + ] + } + + withName: '.*:BAM_APPLYBQSR:CRAM_MERGE_INDEX_SAMTOOLS:INDEX_CRAM' { + publishDir = [ + enabled: !params.save_output_as_bam, + mode: params.publish_dir_mode, + path: { "${params.outdir}/preprocessing/recalibrated/${meta.id}/" }, + pattern: "*{recal.cram,recal.cram.crai}" + ] + } + + withName: 'CRAM_TO_BAM_RECAL' { + ext.prefix = { "${meta.id}.recal" } + ext.when = { params.save_output_as_bam} + publishDir = [ + enabled: params.save_output_as_bam, + mode: params.publish_dir_mode, + path: { "${params.outdir}/preprocessing/recalibrated/${meta.id}/" }, + pattern: "*{recal.bam,recal.bam.bai}" + ] + } +} diff --git a/conf/modules/gatk4_preprocessing/splitncigarreads.config b/conf/modules/gatk4_preprocessing/splitncigarreads.config new file mode 100644 index 00000000..520cd2c1 --- /dev/null +++ b/conf/modules/gatk4_preprocessing/splitncigarreads.config @@ -0,0 +1,76 @@ +/* +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Config file for defining DSL2 per module options and publishing paths +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Available keys to override module options: + ext.args = Additional arguments appended to command in module. + ext.args2 = Second set of arguments appended to command in module (multi-tool modules). + ext.args3 = Third set of arguments appended to command in module (multi-tool modules). + ext.prefix = File name prefix for output files. + ext.when = When to run the module. +---------------------------------------------------------------------------------------- +*/ + +// RECALIBRATE + +process { //splitncigar + withName: 'GATK4_SPLITNCIGARREADS' { + ext.args = '--create-output-bam-index false' + ext.prefix = { meta.num_intervals <= 1 ? "${meta.id}.sncr.cram" : "${meta.id}_${intervals.simpleName}.sncr.cram" } + ext.when = { !(params.skip_tools && params.skip_tools.split(',').contains('splitncigar')) } + publishDir = [ + enabled: !params.save_output_as_bam, + mode: params.publish_dir_mode, + path: { "${params.outdir}/preprocessing/splitncigarreads/${meta.id}/" }, + pattern: "*{cram,crai}" + ] + } + + withName: '.*:REALIGNMENT:GATK_PREPROCESSING:SPLITNCIGAR:GATK4_SPLITNCIGARREADS' { + ext.args = '--create-output-bam-index false' + ext.prefix = { "${meta.id}.sncr.cram" } + ext.when = { !(params.skip_tools && params.skip_tools.split(',').contains('splitncigar')) } + publishDir = [ + mode: params.publish_dir_mode, + path: { "${params.outdir}/preprocessing/splitncigarreads/${meta.id}/" }, + pattern: "*{bam,bai}", + enabled: params.save_align_intermeds // will be saved as CRAM + ] + } + + withName: ".*:PREPARE_REALIGNMENT:MERGE_ALIGN:INDEX_MERGE_BAM" { + publishDir = [ + mode: params.publish_dir_mode, + path: { "${params.outdir}/preprocessing/" }, + pattern: "*.{bai,csi}", + saveAs: { params.save_bam_mapped ? "realignment/${meta.patient}/${meta.id}/${it}" : null }, + enabled: params.save_align_intermeds + ] + + } + + withName: '.*:BAM_SPLITNCIGARREADS:CRAM_MERGE_INDEX_SAMTOOLS:INDEX_CRAM' { + ext.args = params.bam_csi_index ? '-c' : '' + publishDir = [ + path: { "${params.outdir}/preprocessing/splitncigarreads/${meta.id}/" }, + mode: params.publish_dir_mode, + pattern: "*{recal.cram,recal.cram.crai}", + enabled: !params.save_output_as_bam, + ] + } + + withName: '.*:BAM_SPLITNCIGARREADS:CRAM_MERGE_INDEX_SAMTOOLS:MERGE_CRAM' { + ext.prefix = { "${meta.id}.sncr" } + ext.when = { meta.num_intervals > 1 } + publishDir = [ + enabled: !params.save_output_as_bam, + mode: params.publish_dir_mode, + path: { "${params.outdir}/preprocessing/splitncigarreads/${meta.id}/" }, + pattern: "*cram" + ] + } + + + + +} diff --git a/conf/modules/modules.config b/conf/modules/modules.config new file mode 100644 index 00000000..a1ce5fcc --- /dev/null +++ b/conf/modules/modules.config @@ -0,0 +1,20 @@ +/* +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Config file for defining DSL2 per module options and publishing paths +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Available keys to override module options: + ext.args = Additional arguments appended to command in module. + ext.args2 = Second set of arguments appended to command in module (multi-tool modules). + ext.args3 = Third set of arguments appended to command in module (multi-tool modules). + ext.prefix = File name prefix for output files. +---------------------------------------------------------------------------------------- +*/ + +process { + + publishDir = [ + path: { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" }, + mode: params.publish_dir_mode, + saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + ] +} diff --git a/conf/modules/normalize/vt.config b/conf/modules/normalize/vt.config new file mode 100644 index 00000000..980d7f5d --- /dev/null +++ b/conf/modules/normalize/vt.config @@ -0,0 +1,54 @@ +/* +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Config file for defining DSL2 per module options and publishing paths +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Available keys to override module options: + ext.args = Additional arguments appended to command in module. + ext.args2 = Second set of arguments appended to command in module (multi-tool modules). + ext.args3 = Third set of arguments appended to command in module (multi-tool modules). + ext.prefix = File name prefix for output files. + ext.when = When to run the module. +---------------------------------------------------------------------------------------- +*/ + +// VT + +process { // vt + + withName: 'VT_DECOMPOSE'{ + ext.args = "" + ext.prefix = { vcf.baseName - ".vcf" + ".dec" } + publishDir = [ + [ + mode: params.publish_dir_mode, + path: { "${params.outdir}/reports/vt/${meta.id}" }, + pattern: "*.dec.stats" + ], + [ + mode: params.publish_dir_mode, + path: { "${params.outdir}/normalised/${meta.variantcaller}/${meta.id}" }, + pattern: {"*{vcf.gz,vcf.gz.tbi}"}, + enabled: false + ] + ] + } + + withName: 'VT_NORMALIZE'{ + ext.args = {"-n"} + ext.prefix = { vcf.baseName - ".vcf" + ".norm" } + publishDir = [ + [ + mode: params.publish_dir_mode, + path: { "${params.outdir}/normalised/${meta.variantcaller}/${meta.id}" }, + pattern: "*{vcf.gz,vcf.gz.tbi}", + ], + [ + mode: params.publish_dir_mode, + path: { "${params.outdir}/reports/vt/${meta.id}" }, + pattern: {"*.stats"}, + enabled: true + ] + ] + } + +} diff --git a/conf/modules/prepare_realignment/extract_reads_id.config b/conf/modules/prepare_realignment/extract_reads_id.config new file mode 100644 index 00000000..8528eae1 --- /dev/null +++ b/conf/modules/prepare_realignment/extract_reads_id.config @@ -0,0 +1,37 @@ +/* +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Config file for defining DSL2 per module options and publishing paths +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Available keys to override module options: + ext.args = Additional arguments appended to command in module. + ext.args2 = Second set of arguments appended to command in module (multi-tool modules). + ext.args3 = Third set of arguments appended to command in module (multi-tool modules). + ext.prefix = File name prefix for output files. + ext.when = When to run the module. +---------------------------------------------------------------------------------------- +*/ + +// extrad readsid + +process { // extract reads id and maf2bed + + withName: "SAMTOOLS_EXTRACT_READ_IDS" { + ext.prefix = { "${meta.id}"} + ext.args = { "" } + publishDir = [ + mode: params.publish_dir_mode, + path: { "${params.outdir}/preprocessing/realignment/readids/${meta.id}/" }, + pattern: "*.txt" + ] + } + + withName: "MAF2BED" { + ext.prefix = { "${meta.id}"} + ext.args = { "" } + publishDir = [ + mode: params.publish_dir_mode, + path: { "${params.outdir}/preprocessing/realignment/maf2bed/${meta.id}/" }, + pattern: "*bed" + ] + } +} diff --git a/conf/modules/prepare_realignment/filtersamreads.config b/conf/modules/prepare_realignment/filtersamreads.config new file mode 100644 index 00000000..76cd77d5 --- /dev/null +++ b/conf/modules/prepare_realignment/filtersamreads.config @@ -0,0 +1,28 @@ +/* +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Config file for defining DSL2 per module options and publishing paths +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Available keys to override module options: + ext.args = Additional arguments appended to command in module. + ext.args2 = Second set of arguments appended to command in module (multi-tool modules). + ext.args3 = Third set of arguments appended to command in module (multi-tool modules). + ext.prefix = File name prefix for output files. + ext.when = When to run the module. +---------------------------------------------------------------------------------------- +*/ + +// FILTER SAM READS + +process { // filtersamreads + + withName: "PICARD_FILTERSAMREADS" { + ext.prefix = { "${meta.id}_filtered"} + ext.args = { "--VALIDATION_STRINGENCY LENIENT --CREATE_INDEX true " } + publishDir = [ + enabled: params.save_align_intermeds, + mode: params.publish_dir_mode, + path: { "${params.outdir}/preprocessing/realignment/${meta.id}/" }, + pattern: "*{.bam,.bai}" + ] + } +} diff --git a/conf/modules/prepare_resources/prepare_cache.config b/conf/modules/prepare_resources/prepare_cache.config new file mode 100644 index 00000000..c96348bc --- /dev/null +++ b/conf/modules/prepare_resources/prepare_cache.config @@ -0,0 +1,27 @@ +/* +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Config file for defining DSL2 per module options and publishing paths +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Available keys to override module options: + ext.args = Additional arguments appended to command in module. + ext.args2 = Second set of arguments appended to command in module (multi-tool modules). + ext.args3 = Third set of arguments appended to command in module (multi-tool modules). + ext.prefix = File name prefix for output files. + ext.when = When to run the module. +---------------------------------------------------------------------------------------- +*/ + +// PREPARE_CACHE + +process { // prepare_cache + + // VEP + withName: 'ENSEMBLVEP_DOWNLOAD' { + ext.when = { params.tools && (params.tools.split(',').contains('vep') || params.tools.split(',').contains('merge')) } + ext.args = '--AUTO c --CONVERT --NO_BIOPERL --NO_HTSLIB --NO_TEST --NO_UPDATE' + publishDir = [ + mode: params.publish_dir_mode, + path: { params.outdir_cache ? "${params.outdir_cache}/": "${params.outdir}/cache/" } + ] + } +} diff --git a/conf/modules/prepare_resources/prepare_genome.config b/conf/modules/prepare_resources/prepare_genome.config new file mode 100644 index 00000000..ea15748a --- /dev/null +++ b/conf/modules/prepare_resources/prepare_genome.config @@ -0,0 +1,135 @@ +/* +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Config file for defining DSL2 per module options and publishing paths +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Available keys to override module options: + ext.args = Additional arguments appended to command in module. + ext.args2 = Second set of arguments appended to command in module (multi-tool modules). + ext.args3 = Third set of arguments appended to command in module (multi-tool modules). + ext.prefix = File name prefix for output files. + ext.when = When to run the module. +---------------------------------------------------------------------------------------- +*/ + +// PREPARE_GENOME TODO: add stuff and remove redundant code + +process { // prepare_genome + + withName: 'BWAMEM1_INDEX' { + ext.when = { !params.bwa && params.step == "mapping" && (params.aligner == "bwa-mem")} + publishDir = [ + enabled: (params.save_reference || params.build_only_index), + mode: params.publish_dir_mode, + path: { "${params.outdir}/reference" }, + pattern: "bwa" + ] + } + + withName: 'BWAMEM2_INDEX' { + ext.when = { !params.bwamem2 && params.step == "mapping" && params.aligner == "bwa-mem2" } + publishDir = [ + enabled: (params.save_reference || params.build_only_index), + mode: params.publish_dir_mode, + path: { "${params.outdir}/reference" }, + pattern: "bwamem2" + ] + } + + withName: 'DRAGMAP_HASHTABLE' { + ext.when = { !params.dragmap && params.step == "mapping" && params.aligner == "dragmap" } + publishDir = [ + enabled: (params.save_reference || params.build_only_index), + mode: params.publish_dir_mode, + path: { "${params.outdir}/reference" }, + pattern: "dragmap" + ] + } + + withName: 'STAR_GENOMEGENERATE' { + ext.args = params.read_length ? "--sjdbOverhang ${params.read_length - 1}" : '' + ext.when = { params.rna && params.step == "mapping" } + } + + withName: 'HISAT2_BUILD|HISAT2_EXTRACTSPLICESITES' { + ext.when = { params.rna && (params.tools && params.tools.split(',').contains('realignment')) } + } + + withName: 'UNTAR_.*|STAR_GENOMEGENERATE|HISAT2_BUILD|HISAT2_EXTRACTSPLICESITES' { + publishDir = [ + enabled: params.save_reference, + mode: params.publish_dir_mode, + path: { "${params.outdir}/reference/index" }, + saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + ] + } + + withName: 'GATK4_CREATESEQUENCEDICTIONARY' { + ext.when = { !params.dict && params.step != "annotate"} + publishDir = [ + enabled: (params.save_reference || params.build_only_index), + mode: params.publish_dir_mode, + path: { "${params.outdir}/reference/dict" }, + pattern: "*dict" + ] + } + + withName: 'SAMTOOLS_FAIDX' { + ext.when = { !params.fasta_fai && params.step != "annotate" } + publishDir = [ + enabled: (params.save_reference || params.build_only_index), + mode: params.publish_dir_mode, + path: { "${params.outdir}/reference/fai" }, + pattern: "*fai" + ] + } + + withName: 'TABIX_DBSNP' { + ext.when = { !params.dbsnp_tbi && params.dbsnp && ((params.step == "mapping" || params.step == "markduplicates" || params.step == "prepare_recalibration") || params.tools && params.tools.split(',').contains('mutect2')) } + publishDir = [ + enabled: (params.save_reference || params.build_only_index), + mode: params.publish_dir_mode, + path: { "${params.outdir}/reference/dbsnp" }, + pattern: "*vcf.gz.tbi" + ] + } + + withName: 'TABIX_GERMLINE_RESOURCE' { + ext.when = { !params.germline_resource_tbi && params.germline_resource && params.tools && params.tools.split(',').contains('mutect2') } + publishDir = [ + enabled: (params.save_reference || params.build_only_index), + mode: params.publish_dir_mode, + path: { "${params.outdir}/reference/germline_resource" }, + pattern: "*vcf.gz.tbi" + ] + } + + withName: 'TABIX_KNOWN_INDELS' { + ext.when = { !params.known_indels_tbi && params.known_indels && (params.step == 'mapping' || params.step == "markduplicates" || params.step == 'prepare_recalibration' ) } + publishDir = [ + enabled: (params.save_reference || params.build_only_index), + mode: params.publish_dir_mode, + path: { "${params.outdir}/reference/known_indels" }, + pattern: "*vcf.gz.tbi" + ] + } + + withName: 'TABIX_KNOWN_SNPS' { + ext.when = { !params.known_indels_tbi && params.known_indels && (params.step == 'mapping' || params.step == "markduplicates" || params.step == 'prepare_recalibration' ) } + publishDir = [ + enabled: (params.save_reference || params.build_only_index), + mode: params.publish_dir_mode, + path: { "${params.outdir}/reference/known_snps" }, + pattern: "*vcf.gz.tbi" + ] + } + + withName: 'TABIX_PON' { + ext.when = { !params.pon_tbi && params.pon && params.tools && params.tools.split(',').contains('mutect2') } + publishDir = [ + enabled: (params.save_reference || params.build_only_index), + mode: params.publish_dir_mode, + path: { "${params.outdir}/reference/pon" }, + pattern: "*vcf.gz.tbi" + ] + } +} diff --git a/conf/modules/prepare_resources/prepare_intervals.config b/conf/modules/prepare_resources/prepare_intervals.config new file mode 100644 index 00000000..156706f3 --- /dev/null +++ b/conf/modules/prepare_resources/prepare_intervals.config @@ -0,0 +1,74 @@ +/* +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Config file for defining DSL2 per module options and publishing paths +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Available keys to override module options: + ext.args = Additional arguments appended to command in module. + ext.args2 = Second set of arguments appended to command in module (multi-tool modules). + ext.args3 = Third set of arguments appended to command in module (multi-tool modules). + ext.prefix = File name prefix for output files. + ext.when = When to run the module. +---------------------------------------------------------------------------------------- +*/ + +// PREPARE INTERVALS + +process { // prepare_intervals + + withName: 'CREATE_INTERVALS_BED' { + publishDir = [ + enabled: (params.save_reference || params.build_only_index), + mode: params.publish_dir_mode, + path: { "${params.outdir}/reference/intervals" }, + pattern: "*bed" + ] + } + + withName: 'GATK4_INTERVALLISTTOBED' { + publishDir = [ + enabled: (params.save_reference || params.build_only_index), + mode: params.publish_dir_mode, + path: { "${params.outdir}/reference/intervals" }, + pattern: "*bed" + ] + } + + withName: 'GATK4_BEDTOINTERVALLIST' { + publishDir = [ + enabled: params.save_reference, + mode: params.publish_dir_mode, + path: { "${params.outdir}/reference/interval_list" }, + pattern: "*.interval_list" + ] + } + + withName: 'TABIX_BGZIPTABIX_INTERVAL_SPLIT' { + ext.prefix = {"${meta.id}"} + ext.args2 = "-0 -p bed" + publishDir = [ + enabled: (params.save_reference || params.build_only_index), + mode: params.publish_dir_mode, + path: { "${params.outdir}/reference/intervals" }, + pattern: "*bed.gz" + ] + } + + withName: 'BUILD_INTERVALS' { + publishDir = [ + enabled: params.save_reference, + mode: params.publish_dir_mode, + path: { "${params.outdir}/reference/bed" }, + saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + ] + } + + withName: 'TABIX_BGZIPTABIX_INTERVAL_COMBINED' { + ext.prefix = {"${meta.id}"} + publishDir = [ + enabled: (params.save_reference || params.build_only_index), + mode: params.publish_dir_mode, + path: { "${params.outdir}/reference/intervals" }, + pattern: "*bed.gz" + ] + } +} diff --git a/conf/modules/quality_control/quality_control.config b/conf/modules/quality_control/quality_control.config new file mode 100644 index 00000000..7abe6690 --- /dev/null +++ b/conf/modules/quality_control/quality_control.config @@ -0,0 +1,175 @@ +/* +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Config file for defining DSL2 per module options and publishing paths +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Available keys to override module options: + ext.args = Additional arguments appended to command in module. + ext.args2 = Second set of arguments appended to command in module (multi-tool modules). + ext.args3 = Third set of arguments appended to command in module (multi-tool modules). + ext.prefix = File name prefix for output files. +---------------------------------------------------------------------------------------- +*/ + +// QC config + +process { // quality_control + + withName: 'FASTQC' { + ext.args = '--quiet' + ext.when = { !(params.skip_tools && params.skip_tools.split(',').contains('fastqc')) } + publishDir = [ + [ + path: { "${params.outdir}/reports/fastqc/${meta.id}" }, + mode: params.publish_dir_mode, + pattern: "*{html,zip}" + ] + ] + } + + withName: 'MULTIQC' { + ext.args = { params.multiqc_title ? "--title \"$params.multiqc_title\"" : '' } + publishDir = [ + path: { "${params.outdir}/reports"}, + mode: params.publish_dir_mode, + saveAs: { filename -> filename.equals('versions.yml') ? null : filename }, + enabled: !(params.skip_tools && (params.skip_tools.split(',').contains('multiqc'))) + ] + errorStrategy = {task.exitStatus == 143 ? 'retry' : 'ignore'} + } + + // TODO check this is correct + withName: '.*:CRAM_QC_NO_MD:SAMTOOLS_STATS' { + ext.when = { !(params.skip_tools && params.skip_tools.split(',').contains('samtools')) } + ext.prefix = { "${meta.id}.sorted.cram" } + publishDir = [ + mode: params.publish_dir_mode, + path: { "${params.outdir}/reports/samtools/${meta.id}" }, + saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + ] + } + + withName: 'MOSDEPTH' { + ext.args = { !params.wes ? "-n --fast-mode --by 500" : ""} + ext.prefix = { + if (params.skip_tools && params.skip_tools.split(',').contains('markduplicates')) { + "${meta.id}.sorted" + } else { + "${meta.id}.md" + } + } + ext.when = { !(params.skip_tools && params.skip_tools.split(',').contains('mosdepth')) } + publishDir = [ + mode: params.publish_dir_mode, + path: { "${params.outdir}/reports/mosdepth/${meta.id}" }, + saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + ] + } + + + withName: '.*:CRAM_QC_RECAL:MOSDEPTH' { + ext.prefix = { "${meta.id}.recal" } + ext.when = { !(params.skip_tools && params.skip_tools.split(',').contains('mosdepth')) } + + } + + withName: '.*:CRAM_QC_RECAL:SAMTOOLS_STATS' { + ext.prefix = { "${meta.id}.recal.cram" } + ext.when = { !(params.skip_tools && params.skip_tools.split(',').contains('samtools')) } + publishDir = [ + mode: params.publish_dir_mode, + path: { "${params.outdir}/reports/samtools/${meta.id}" }, + saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + ] + } + + withName: '.*:BAM_STATS_SAMTOOLS:SAMTOOLS.*STATS' { + ext.prefix = { "${meta.id}" } + ext.when = { !(params.skip_tools && params.skip_tools.split(',').contains('samtools')) } + publishDir = [ + mode: params.publish_dir_mode, + path: { "${params.outdir}/reports/samtools/${meta.id}" }, + saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + ] + } + + // VCF + withName: 'BCFTOOLS_STATS' { + ext.when = { !(params.skip_tools && params.skip_tools.split(',').contains('bcftools')) } + ext.prefix = { vcf.baseName - ".vcf" } + publishDir = [ + mode: params.publish_dir_mode, + path: { "${params.outdir}/reports/bcftools/${meta.variantcaller}/${meta.id}/" }, + saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + ] + } + + withName: 'VCFTOOLS_.*' { + ext.when = { !(params.skip_tools && params.skip_tools.split(',').contains('vcftools')) } + ext.prefix = { variant_file.baseName - ".vcf" } + publishDir = [ + mode: params.publish_dir_mode, + path: { "${params.outdir}/reports/vcftools/${meta.variantcaller}/${meta.id}/" }, + saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + ] + } + + withName: 'VCFTOOLS_TSTV_COUNT' { + ext.args = "--TsTv-by-count" + } + + withName: 'VCFTOOLS_TSTV_QUAL' { + ext.args = "--TsTv-by-qual" + } + + withName: 'VCFTOOLS_SUMMARY' { + ext.args = "--FILTER-summary" + + } + + withName: '.*:FASTQ_ALIGN_STAR:BAM_SORT_STATS_SAMTOOLS:BAM_STATS_SAMTOOLS:.*' { + ext.when = { !(params.skip_tools && params.skip_tools.split(',').contains('samtools')) } + ext.prefix = { params.split_fastq > 1 ? "${meta.id}".concat('.').concat(bam.name.tokenize('.')[1]).concat('.sorted.bam') : "${meta.id}.sorted.bam" } + publishDir = [ + path: { "${params.outdir}/reports/samtools/samtools_stats" }, + mode: params.publish_dir_mode, + pattern: "*.{stats,flagstat,idxstats}" + ] + } + + withName: '.*:FASTQ_ALIGN_HISAT2:BAM_SORT_STATS_SAMTOOLS:BAM_STATS_SAMTOOLS:.*' { + ext.when = { !(params.skip_tools && params.skip_tools.split(',').contains('samtools')) } + ext.prefix = {"${meta.id}.hs2.sorted.bam"} + publishDir = [ + path: { "${params.outdir}/reports/samtools/hisat2/samtools_stats" }, + mode: params.publish_dir_mode, + pattern: "*.{stats,flagstat,idxstats}" + ] + } + + withName: '.*:BAM_MARKDUPLICATES:CRAM_QC_MOSDEPTH_SAMTOOLS:SAMTOOLS_.*' { + ext.when = { !(params.skip_tools && params.skip_tools.split(',').contains('samtools')) } + ext.prefix = { "${meta.id}.md.cram" } + publishDir = [ + path: { "${params.outdir}/reports/samtools/markduplicates/samtools_stats" }, + mode: params.publish_dir_mode, + pattern: "*.{stats,flagstat,idxstats}" + ] + } + + withName: 'MOSDEPTH' { + ext.args = { !params.wes ? "-n --fast-mode --by 500" : ""} + ext.prefix = { + if (params.skip_tools && params.skip_tools.split(',').contains('markduplicates')) { + "${meta.id}.sorted" + } else { + "${meta.id}.md" + } + } + ext.when = { !(params.skip_tools && params.skip_tools.split(',').contains('mosdepth')) } + publishDir = [ + mode: params.publish_dir_mode, + path: { "${params.outdir}/reports/mosdepth/${meta.id}" }, + saveAs: { filename -> filename.equals('versions.yml') ? null : filename }, + ] + } +} diff --git a/conf/modules/quality_control/trimming.config b/conf/modules/quality_control/trimming.config new file mode 100644 index 00000000..c79ecabd --- /dev/null +++ b/conf/modules/quality_control/trimming.config @@ -0,0 +1,42 @@ +/* +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Config file for defining DSL2 per module options and publishing paths +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Available keys to override module options: + ext.args = Additional arguments appended to command in module. + ext.args2 = Second set of arguments appended to command in module (multi-tool modules). + ext.args3 = Third set of arguments appended to command in module (multi-tool modules). + ext.prefix = File name prefix for output files. + ext.when = When to run the module. +---------------------------------------------------------------------------------------- +*/ + +// TRIMMING + +process { // trimming + + withName: 'FASTP' { + ext.args = [ "-Q", + !params.trim_fastq ? "--disable_adapter_trimming" : "", // Disable adapter trimming + params.clip_r1 > 0 ? "--trim_front1 ${params.clip_r1}" : "", // Remove bp from the 5' end of read 1 + params.clip_r2 > 0 ? "--trim_front2 ${params.clip_r2}" : "", // Remove bp from the 5' end of read 2 + params.three_prime_clip_r1 > 0 ? "--trim_tail1 ${params.three_prime_clip_r1}" : "", // Remove bp from the 3' end of read 1 AFTER adapter/quality trimming has been performed + params.three_prime_clip_r2 > 0 ? "--trim_tail2 ${params.three_prime_clip_r2}" : "", // Remove bp from the 3' end of read 2 AFTER adapter/quality trimming has been performed + params.trim_nextseq ? "--trim_poly_g" : "", // Apply the --nextseq=X option, to trim based on quality after removing poly-G tails + params.split_fastq > 0 ? "--split_by_lines ${params.split_fastq * 4}" : "" + ].join(" ").trim() + publishDir = [ + [ + path: { "${params.outdir}/reports/fastp/${meta.sample}" }, + mode: params.publish_dir_mode, + pattern: "*.{html,json,log}" + ], + [ + enabled: params.save_trimmed || params.save_split_fastqs, + path: { "${params.outdir}/preprocessing/fastp/${meta.sample}/" }, + mode: params.publish_dir_mode, + pattern: "*.fastp.fastq.gz" + ] + ] + } +} diff --git a/conf/modules/variant_calling/mutect2.config b/conf/modules/variant_calling/mutect2.config new file mode 100644 index 00000000..b51e1581 --- /dev/null +++ b/conf/modules/variant_calling/mutect2.config @@ -0,0 +1,104 @@ +/* +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Config file for defining DSL2 per module options and publishing paths +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Available keys to override module options: + ext.args = Additional arguments appended to command in module. + ext.args2 = Second set of arguments appended to command in module (multi-tool modules). + ext.args3 = Third set of arguments appended to command in module (multi-tool modules). + ext.prefix = File name prefix for output files. + ext.when = When to run the module. +---------------------------------------------------------------------------------------- +*/ + +// MUTECT2 + +process { // mutect2 + + // PAIR_VARIANT_CALLING + withName: 'MUTECT2_PAIRED' { + ext.prefix = { meta.num_intervals <= 1 ? "${meta.id}.mutect2" : "${meta.id}.mutect2.${intervals.simpleName}" } + ext.when = { params.tools && params.tools.split(',').contains('mutect2') || params.step == "realignment" || params.tools && params.tools.split(',').contains('realignment')} + ext.args = { params.ignore_soft_clipped_bases ? + "--dont-use-soft-clipped-bases true --f1r2-tar-gz ${task.ext.prefix}.f1r2.tar.gz --smith-waterman FASTEST_AVAILABLE --normal-sample ${meta.normal_id} " : + "--f1r2-tar-gz ${task.ext.prefix}.f1r2.tar.gz --smith-waterman FASTEST_AVAILABLE --normal-sample ${meta.normal_id} " } + publishDir = [ + mode: params.publish_dir_mode, + path: { "${params.outdir}/variant_calling/" }, + pattern: "*{vcf.gz,vcf.gz.tbi,stats}", + saveAs: { meta.num_intervals > 1 ? null : "mutect2/${meta.id}/${it}" } + ] + } + + withName: 'MERGE_MUTECT2.*' { + ext.prefix = { "${meta.id}.mutect2" } + publishDir = [ + mode: params.publish_dir_mode, + path: { "${params.outdir}/variant_calling/mutect2/${meta.id}" }, + pattern: "*{vcf.gz,vcf.gz.tbi}" + ] + } + // TODO: config FILTERMUTECTCALLS is a patch for realignment [!!] + withName: 'FILTERMUTECTCALLS.*' { + ext.prefix = {"${meta.id}.mutect2.filtered"} + ext.args = { [meta.status >= 2 ? '--max-events-in-region 5': '', + meta.cont && !(meta.cont.endswith("NO_TABLE")) ? '--contamination-table ${meta.cont}' :'', + meta.seg && !(meta.seg.endswith("NO_SEG")) ? '--tumor-segmentation ${meta.seg}':'', + meta.orient && !(meta.orient.endswith("NO_ARTPRIOR"))? '--orientation-bias-artifact-priors ${meta.orient}':'' + ].join(' ').trim() + } + + publishDir = [ + mode: params.publish_dir_mode, + path: { "${params.outdir}/variant_calling/" }, + saveAs: { filename -> filename.equals('versions.yml') ? null : "mutect2/${meta.id}/${filename}" } + ] + } + + withName: 'CALCULATECONTAMINATION' { + ext.prefix = { "${meta.id}.mutect2" } + ext.args = { "-tumor-segmentation ${meta.id}.mutect2.segmentation.table" } + publishDir = [ + mode: params.publish_dir_mode, + path: { "${params.outdir}/variant_calling/mutect2/${meta.id}" }, + saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + ] + } + + withName: 'LEARNREADORIENTATIONMODEL' { + ext.prefix = { "${meta.id}.mutect2.artifactprior" } + publishDir = [ + mode: params.publish_dir_mode, + path: { "${params.outdir}/variant_calling/mutect2/${meta.id}/" }, + saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + ] + } + + withName: 'MERGEMUTECTSTATS' { + ext.prefix = { "${meta.id}.mutect2" } + publishDir = [ + mode: params.publish_dir_mode, + path: { "${params.outdir}/variant_calling/mutect2/${meta.id}/" }, + saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + ] + } + + withName: 'GATHERPILEUPSUMMARIES.*' { + ext.prefix = { "${meta.id}.mutect2" } + publishDir = [ + mode: params.publish_dir_mode, + path: { "${params.outdir}/variant_calling/mutect2/${meta.id}/" }, + saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + ] + } + + withName: 'GETPILEUPSUMMARIES.*' { + ext.prefix = { meta.num_intervals <= 1 ? "${meta.id}.mutect2" : "${meta.id}.mutect2.${intervals.baseName}" } + publishDir = [ + mode: params.publish_dir_mode, + path: { "${params.outdir}/variant_calling/" }, + pattern: "*.table", + saveAs: { meta.num_intervals > 1 ? null : "mutect2/${meta.id}/${it}" } + ] + } +} diff --git a/conf/modules/variant_calling/mutect2_joint.config b/conf/modules/variant_calling/mutect2_joint.config new file mode 100644 index 00000000..cbb51397 --- /dev/null +++ b/conf/modules/variant_calling/mutect2_joint.config @@ -0,0 +1,26 @@ +/* +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Config file for defining DSL2 per module options and publishing paths +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Available keys to override module options: + ext.args = Additional arguments appended to command in module. + ext.args2 = Second set of arguments appended to command in module (multi-tool modules). + ext.args3 = Third set of arguments appended to command in module (multi-tool modules). + ext.prefix = File name prefix for output files. + ext.when = When to run the module. +---------------------------------------------------------------------------------------- +*/ + +// MUTECT2 - joint calling configs only + +process { + + withName: 'CALCULATECONTAMINATION' { + publishDir = [ + mode: params.publish_dir_mode, + path: { "${params.outdir}/variant_calling/mutect2/${meta.patient}" }, + saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + ] + } + +} diff --git a/conf/modules/variant_calling/sage.config b/conf/modules/variant_calling/sage.config new file mode 100644 index 00000000..8d23178a --- /dev/null +++ b/conf/modules/variant_calling/sage.config @@ -0,0 +1,50 @@ +/* +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Config file for defining DSL2 per module options and publishing paths +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Available keys to override module options: + ext.args = Additional arguments appended to command in module. + ext.args2 = Second set of arguments appended to command in module (multi-tool modules). + ext.args3 = Third set of arguments appended to command in module (multi-tool modules). + ext.prefix = File name prefix for output files. + ext.when = When to run the module. +---------------------------------------------------------------------------------------- +*/ + +// SAGE + +process { // sage + + withName: '.*SAGE.*' { + ext.when = { params.tools && params.tools.split(',').contains('sage') || params.step == "realignment" || params.tools && params.tools.split(',').contains('realignment')} + } + + // SAGE + withName: 'SAGE' { + ext.args = { params.sage_custom_args ?:"" } + ext.prefix = { meta.num_intervals <= 1 ? "${meta.id}.sage_out" : "${meta.id}.sage_out.${intervals.simpleName}" } + ext.when = { params.tools && params.tools.split(',').contains('sage') } + publishDir = [ + enabled: false + ] + } + + withName: 'MERGE_SAGE' { + ext.prefix = {"${meta.id}.sage"} + publishDir = [ + mode: params.publish_dir_mode, + path: { "${params.outdir}/variant_calling/sage/${meta.id}/" }, + pattern: "*{vcf.gz,vcf.gz.tbi}" + ] + } + + withName : 'BGZIPTABIX_VC_SAGE' { + ext.prefix = {"${meta.id}.sage"} + publishDir = [ + mode: params.publish_dir_mode, + path: { "${params.outdir}/variant_calling/sage/${meta.id}/" }, + saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + ] + } + +} diff --git a/conf/modules/variant_calling/strelka.config b/conf/modules/variant_calling/strelka.config new file mode 100644 index 00000000..d0db5348 --- /dev/null +++ b/conf/modules/variant_calling/strelka.config @@ -0,0 +1,53 @@ +/* +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Config file for defining DSL2 per module options and publishing paths +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Available keys to override module options: + ext.args = Additional arguments appended to command in module. + ext.args2 = Second set of arguments appended to command in module (multi-tool modules). + ext.args3 = Third set of arguments appended to command in module (multi-tool modules). + ext.prefix = File name prefix for output files. + ext.when = When to run the module. +---------------------------------------------------------------------------------------- +*/ + +// STRELKA + +process { // strelka + + + withName: 'STRELKA_.*' { + ext.prefix = { meta.num_intervals <= 1 ? "${meta.id}.strelka" : "${meta.id}.strelka.${target_bed.simpleName}" } + ext.args = {params.wes || meta.status >= 2 ? "--exome" : "" } + ext.when = { params.tools && params.tools.split(',').contains('strelka') || params.step == "realignment" || params.tools && params.tools.split(',').contains('realignment')} + publishDir = [ + mode: params.publish_dir_mode, + path: { "${params.outdir}/variant_calling/" }, + pattern: "*{vcf.gz,vcf.gz.tbi}", + saveAs: { meta.num_intervals > 1 ? null : "strelka/${meta.id}/${it}" }, + enabled: false + ] + } + + withName: 'MERGE_STRELKA.*' { + publishDir = [ + mode: params.publish_dir_mode, + path: { "${params.outdir}/variant_calling/strelka/${meta.id}/" }, + pattern: "*{vcf.gz,vcf.gz.tbi}", + enabled: true + ] + } + + withName: 'MERGE_STRELKA' { + ext.prefix = {"${meta.id}.strelka.variants"} + } + + // PAIR_VARIANT_CALLING + withName: 'MERGE_STRELKA_INDELS' { + ext.prefix = {"${meta.id}.strelka.somatic_indels"} + } + withName: 'MERGE_STRELKA_SNVS' { + ext.prefix = {"${meta.id}.strelka.somatic_snvs"} + } + +} diff --git a/conf/modules/variant_calling/variant_calling.config b/conf/modules/variant_calling/variant_calling.config new file mode 100644 index 00000000..3daf1fa3 --- /dev/null +++ b/conf/modules/variant_calling/variant_calling.config @@ -0,0 +1,27 @@ +/* +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Config file for defining DSL2 per module options and publishing paths +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Available keys to override module options: + ext.args = Additional arguments appended to command in module. + ext.args2 = Second set of arguments appended to command in module (multi-tool modules). + ext.args3 = Third set of arguments appended to command in module (multi-tool modules). + ext.prefix = File name prefix for output files. + ext.when = When to run the module. +---------------------------------------------------------------------------------------- +*/ + +// VARIANT CALLING - optional BAM to CRAM + +process { // variant_calling + + withName: 'SAMTOOLS_BAMTOCRAM_VARIANTCALLING' { + ext.prefix = { "${meta.id}.recal" } + publishDir = [ + mode: params.publish_dir_mode, + path: { "${params.outdir}/preprocessing/recalibrated/${meta.patient}/${meta.id}/" }, + pattern: "*{cram,crai}" + ] + } + +} diff --git a/conf/test.config b/conf/test.config index d0308935..8d4a5368 100644 --- a/conf/test.config +++ b/conf/test.config @@ -7,14 +7,14 @@ Use as follows: nextflow run nf-core/rnadnavar -profile test, --outdir ----------------------------------------------------------------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ process { resourceLimits = [ cpus: 4, memory: '15.GB', - time: '1.h' + time: '4.h' ] } @@ -22,9 +22,21 @@ params { config_profile_name = 'Test profile' config_profile_description = 'Minimal test dataset to check pipeline function' - // Input data - // TODO nf-core: Specify the paths to your test data on nf-core/test-datasets - // TODO nf-core: Give any required params for the test so that command line flags are not needed - input = params.pipelines_testdata_base_path + 'viralrecon/samplesheet/samplesheet_test_illumina_amplicon.csv'// Genome references - genome = 'R64-1-1' + // I/O opts + input = "${projectDir}/tests/csv/fastq_triplet.csv" + outdir = "rnadnavar_test" + // Small reference genome + wes = true + genome = 'GRCh38' + fasta = 'https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/reference/chr7_hg38/GRCh38.d1.vd1.chr7.mini.fa' + igenomes_ignore = true + dbsnp = "https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/reference/chr7_hg38/dbsnp_146.hg38.chr7.mini.vcf.gz" + germline_resource = "https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/reference/chr7_hg38/af-only-gnomad.hg38.chr7.mini.vcf.gz" + no_intervals = true + gtf = 'https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/reference/chr7_hg38/gencode.v36.annotation.chr7.mini.gtf' + + // params + split_fastq = 50000 + tools = 'strelka,filtering' // Variant calling with Strelka + } diff --git a/conf/test_full.config b/conf/test_full.config index 3af00a29..bbbfc5df 100644 --- a/conf/test_full.config +++ b/conf/test_full.config @@ -1,24 +1,46 @@ /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Nextflow config file for running full-size tests + Nextflow config file for running minimal tests ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Defines input files and everything required to run a full size pipeline test. + Defines input files and everything required to run a fast and simple pipeline test. Use as follows: - nextflow run nf-core/rnadnavar -profile test_full, --outdir - ----------------------------------------------------------------------------------------- + nextflow run nf-core/rnadnavar -profile test, --outdir +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ params { - config_profile_name = 'Full test profile' - config_profile_description = 'Full test dataset to check pipeline function' + config_profile_name = 'Test profile' + config_profile_description = 'Minimal test dataset to check pipeline function' + + + // I/O opts + input = "${projectDir}/tests/csv/trbc_recalibrated.csv" + outdir = 'rnadnavar_test_full' + + // Small reference genome + step = "variant_calling" + wes = true + genome = 'GRCh38' + fasta = 'https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/reference/chr7_hg38/GRCh38.d1.vd1.chr7.mini.fa.gz' + igenomes_ignore = true + dbsnp = "https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/reference/chr7_hg38/dbsnp_146.hg38.chr7.mini.vcf.gz" + germline_resource = "https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/reference/chr7_hg38/af-only-gnomad.hg38.chr7.mini2.vcf.gz" + no_intervals = true + gtf = 'https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/reference/chr7_hg38/gencode.v36.annotation.chr7.mini.gtf' + sage_high_confidence = 'https://github.com/nf-core/test-datasets/raw/rnadnavar/resources/hmftools/variants/HighConfidence.38.bed.gz' + sage_actionable_panel = 'https://github.com/nf-core/test-datasets/raw/rnadnavar/resources/hmftools/variants/ActionableCodingPanel.38.bed.gz' + sage_known_hotspots = 'https://github.com/nf-core/test-datasets/raw/rnadnavar/resources/hmftools/variants/KnownHotspots.somatic.38.vcf.gz' + sage_ensembl_dir = 'https://github.com/nf-core/test-datasets/raw/rnadnavar/resources/hmftools/common/sage_ensembl.zip' + vep_cache = 'https://github.com/nf-core/test-datasets/raw/rnadnavar/resources/vep/vep_hs.zip' + vep_cache_version = 999 + vep_species = "homo_sapiens" + vep_genome = "GRCh38" + download_cache = false + vep_include_fasta = true - // Input data for full size test - // TODO nf-core: Specify the paths to your full test data ( on nf-core/test-datasets or directly in repositories, e.g. SRA) - // TODO nf-core: Give any required params for the test so that command line flags are not needed - input = params.pipelines_testdata_base_path + 'viralrecon/samplesheet/samplesheet_full_illumina_amplicon.csv' - // Genome references - genome = 'R64-1-1' + // params + split_fastq = 50000 // no FASTQ splitting + tools = 'sage,strelka,mutect2,vep,norm,consensus,rescue,realignment,filtering,rna_filtering' } diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md new file mode 100644 index 00000000..78e297c8 --- /dev/null +++ b/docs/CONTRIBUTING.md @@ -0,0 +1,185 @@ +--- +title: Contributing +markdownPlugin: checklist +--- + +# `nf-core/rnadnavar`: Contributing guidelines + +Hi there! +Thanks for taking an interest in improving nf-core/rnadnavar. + +This page describes the recommended nf-core way to contribute to both nf-core/rnadnavar and nf-core pipelines in general, including: + +- [General contribution guidelines](#general-contribution-guidelines): common procedures or guides across all nf-core pipelines. +- [Pipeline-specific contribution guidelines](#pipeline-specific-contribution-guidelines): procedures or guides specific to the development conventions of nf-core/rnadnavar. + +> [!NOTE] +> If you need help using or modifying nf-core/rnadnavar, ask on the nf-core Slack [#rnadnavar](https://nfcore.slack.com/channels/rnadnavar) channel ([join our Slack here](https://nf-co.re/join/slack)). + +## General contribution guidelines + +### Contribution quick start + +To contribute code to any nf-core pipeline: + +- [ ] Ensure you have Nextflow, nf-core tools, and nf-test installed. See the [nf-core/tools repository](https://github.com/nf-core/tools) for instructions. +- [ ] Check whether a GitHub [issue](https://github.com/nf-core/rnadnavar/issues) about your idea already exists. If an issue does not exist, create one so that others are aware you are working on it. +- [ ] [Fork](https://help.github.com/en/github/getting-started-with-github/fork-a-repo) the [nf-core/rnadnavar repository](https://github.com/nf-core/rnadnavar) to your GitHub account. +- [ ] Create a branch on your forked repository and make your changes following [pipeline conventions](#pipeline-contribution-conventions) (if applicable). +- [ ] To fix major bugs, name your branch `patch` and follow the [patch release](#patch-release) process. +- [ ] Update relevant documentation within the `docs/` folder, use nf-core/tools to update `nextflow_schema.json`, and update `CITATIONS.md`. +- [ ] Run and/or update tests. See [Testing](#testing) for more information. +- [ ] [Lint](#lint-tests) your code with nf-core/tools. +- [ ] Submit a pull request (PR) against the `dev` branch and request a review. + +If you are not used to this workflow with Git, see the [GitHub documentation](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests) or [Git resources](https://try.github.io/) for more information. + +## Use of AI and LLMs + +The nf-core stance on the use of AI and LLMs is that humans are still ultimately responsible for their submitted code, regardless of the tools they use. + +If you’re using AI tools, try to stick by these guidelines: + +- Keep PRs as small and focussed as possible +- Avoid any unnecessary changes, such as moving or refactoring code (unless that is the explicit intention of the PR) +- Review all generated code yourself before opening a PR, and ensure that you understand it +- Engage with the community review process and expect to make revisions + +For more detail, see the the [blog post](https://nf-co.re/blog/2026/statement-on-ai) for a statement from the nf-core/core team. + +### Getting help + +For further information and help, see the [nf-core/rnadnavar documentation](https://nf-co.re/rnadnavar/usage) or ask on the nf-core [#rnadnavar](https://nfcore.slack.com/channels/rnadnavar) Slack channel ([join our Slack here](https://nf-co.re/join/slack)). + +### GitHub Codespaces + +You can contribute to nf-core/rnadnavar without installing a local development environment on your machine by using [GitHub Codespaces](https://github.com/codespaces). + +[GitHub Codespaces](https://github.com/codespaces) is an online developer environment that runs in your browser, complete with VS Code and a terminal. +Most nf-core repositories include a devcontainer configuration, which creates a GitHub Codespaces environment specifically for Nextflow development. +The environment includes pre-installed nf-core tools, Nextflow, and a few other helpful utilities via a Docker container. + +To get started, open the repository in [Codespaces](https://github.com/nf-core/rnadnavar/codespaces). + +### Testing + +Once you have made your changes, run the pipeline with nf-test to test them locally. +For additional information, use the `--verbose` flag to view the Nextflow console log output. + +```bash +nf-test test --tag test --profile +docker --verbose +``` + +If you have added new functionality, ensure you update the test assertions in the `.nf.test` files in the `tests/` directory. +Update the snapshots with the following command: + +```bash +nf-test test --tag test --profile +docker --verbose --update-snapshots +``` + +When you create a pull request with changes, GitHub Actions will run automatic tests. +Pull requests are typically reviewed when these tests are passing. + +Two types of tests are typically run: + +#### Lint tests + +nf-core has a [set of guidelines](https://nf-co.re/docs/specifications/overview) which all pipelines must follow. +To enforce these, run linting with nf-core/tools: + +```bash +nf-core pipelines lint +``` + +If you encounter failures or warnings, follow the linked documentation printed to screen. +For more information about linting tests, see [nf-core/tools API documentation](https://nf-co.re/docs/nf-core-tools/api_reference/latest/pipeline_lint_tests/actions_awsfulltest). + +#### Pipeline tests + +Each nf-core pipeline should be set up with a minimal set of test data. +GitHub Actions runs the pipeline on this data to ensure it runs through and exits successfully. +If there are any failures then the automated tests fail. +These tests are run with the latest available version of Nextflow and the minimum required version specified in the pipeline code. + +### Patch release + +> [!WARNING] +> Only in the unlikely event of a release that contains a critical bug. + +- [ ] Create a new branch `patch` on your fork based on `upstream/main` or `upstream/master`. +- [ ] Fix the bug and use nf-core/tools to bump the version to the next semantic version, for example, `1.2.3` → `1.2.4`. +- [ ] Open a Pull Request from `patch` directly to `main`/`master` with the changes. + +### Pipeline contribution conventions + +nf-core semi-standardises how you write code and other contributions to make the nf-core/rnadnavar code and processing logic more understandable for new contributors and to ensure quality. + +#### Add a new pipeline step + +To contribute a new step to the pipeline, follow the general nf-core coding procedure. +Please also refer to the [pipeline-specific contribution guidelines](#pipeline-specific-contribution-guidelines): + +- [ ] Define the corresponding [input channel](#channel-naming-schemes) into your new process from the expected previous process channel. +- [ ] Install a module with nf-core/tools, or write a local module (see [default processes resource requirements](#default-processes-resource-requirements)), and add it to the target `.nf`. +- [ ] Define the output channel if needed. Mix the version output channel into `ch_versions` and relevant files into `ch_multiqc`. +- [ ] Add new or updated parameters to `nextflow.config` with a [default value](#default-parameter-values). +- [ ] Add new or updated parameters and relevant help text to `nextflow_schema.json` with [nf-core/tools](#default-parameter-values). +- [ ] Add validation for relevant parameters to the pipeline utilisation section of `utils_nfcore_\_pipeline/main.nf` subworkflow. +- [ ] Perform local tests to validate that the new code works as expected. + - [ ] If applicable, add a new test in the `tests` directory. +- [ ] Update `usage.md`, `output.md`, and `citation.md` as appropriate. +- [ ] [Lint](lint) the code with nf-core/tools. +- [ ] Update any diagrams or pipeline images as necessary. +- [ ] Update MultiQC config `assets/multiqc_config.yml` so relevant suffixes, file name cleanup, and module plots are in the appropriate order. +- [ ] If applicable, create a [MultiQC](https://seqera.io/multiqc/) module. +- [ ] Add a description of the output files and, if relevant, images from the MultiQC report to `docs/output.md`. + +To update the minimum required Nextflow version, see the [Nextflow version bumping](#nextflow-version-bumping) section below. For more information about pipeline contributions, see [pipeline-specific contribution guidelines](#pipeline-specific-contribution-guidelines). + +#### Channel naming schemes + +Use the following naming schemes for channels to make the channel flow easier to understand: + +- Initial process channel: `ch_output_from_` +- Intermediate and terminal channels: `ch__for_` + +#### Default parameter values + +Parameters should be initialised and defined with default values within the `params` scope in `nextflow.config`. +They should also be documented in the pipeline JSON schema. + +To update `nextflow_schema.json`, run: + +```bash +nf-core pipelines schema build +``` + +The schema builder interface that loads in your browser should automatically update the defaults in the parameter documentation. + +#### Default processes resource requirements + +If you write a local module, specify a default set of resource requirements for the process. + +Sensible defaults for process resource requirements (CPUs, memory, time) should be defined in `conf/base.config`. +Specify these with generic `withLabel:` selectors, so they can be shared across multiple processes and steps of the pipeline. + +nf-core provides a set of standard labels that you should follow where possible, as seen in the [nf-core pipeline template](https://github.com/nf-core/tools/blob/main/nf_core/pipeline-template/conf/base.config). +These labels define resource defaults for single-core processes, modules that require a GPU, and different levels of multi-core configurations with increasing memory requirements. + +Values assigned within these labels can be dynamically passed to a tool using the the `${task.cpus}` and `${task.memory}` Nextflow variables in the `script:` block of a module (see an example in the [modules repository](https://github.com/nf-core/modules/blob/bd1b6a40f55933d94b8c9ca94ec8c1ea0eaf4b82/modules/nf-core/samtools/bam2fq/main.nf#L30)). + +#### Nextflow version bumping + +If you use a new feature from core Nextflow, bump the minimum required Nextflow version in the pipeline with: + +```bash +nf-core pipelines bump-version --nextflow . +``` + +#### Images and figures guidelines + +If you update images or graphics, follow the nf-core [style guidelines](https://nf-co.re/docs/community/brand/workflow-schematics). + +## Pipeline specific contribution guidelines + + diff --git a/docs/images/rnadnavar_schemav3.png b/docs/images/rnadnavar_schemav3.png new file mode 100644 index 00000000..0b12a6be Binary files /dev/null and b/docs/images/rnadnavar_schemav3.png differ diff --git a/docs/output.md b/docs/output.md index 3026c96e..336c60c3 100644 --- a/docs/output.md +++ b/docs/output.md @@ -2,20 +2,27 @@ ## Introduction -This document describes the output produced by the pipeline. Most of the plots are taken from the MultiQC report, which summarises results at the end of the pipeline. +This document describes the output produced by the pipeline. Most of the plots are taken from the MultiQC report, which summarizes results at the end of the pipeline. The directories listed below will be created in the results directory after the pipeline has finished. All paths are relative to the top-level results directory. - - ## Pipeline overview The pipeline is built using [Nextflow](https://www.nextflow.io/) and processes data using the following steps: -- [FastQC](#fastqc) - Raw read QC -- [MultiQC](#multiqc) - Aggregate report describing results and QC from the whole pipeline +- [Quality Control](#quality-control) - Raw read QC and trimming, FastQC and fastp reports for input data assessment +- [Alignment](#alignment) - Read alignment to reference genome (BAM/CRAM) +- [Preprocessing](#preprocessing) - GATK preprocessing steps following best practices +- [Variant Calling](#variant-calling) - Somatic variant detection, VCF files from multiple callers (Mutect2, Strelka2, SAGE). +- [Annotation](#annotation) - Variant annotation with VEP +- [Consensus](#consensus) - Consensus variant calling across multiple callersin MAF format +- [Filtering](#filtering) - Variant filtering and quality control in MAF format +- [Realignment](#realignment) - Optional RNA-specific realignment +- [MultiQC](#multiqc) - Aggregate report describing results and QC - [Pipeline information](#pipeline-information) - Report metrics generated during the workflow execution +## Quality Control + ### FastQC
@@ -29,7 +36,245 @@ The pipeline is built using [Nextflow](https://www.nextflow.io/) and processes d [FastQC](http://www.bioinformatics.babraham.ac.uk/projects/fastqc/) gives general quality metrics about your sequenced reads. It provides information about the quality score distribution across your reads, per base sequence content (%A/T/G/C), adapter contamination and overrepresented sequences. For further reading and documentation see the [FastQC help pages](http://www.bioinformatics.babraham.ac.uk/projects/fastqc/Help/). -### MultiQC +> **NB:** The FastQC plots displayed in the MultiQC report shows _untrimmed_ reads. They may contain adapter sequence and potentially regions with low quality. + +### fastp + +
+Output files + +- `fastp/` + - `*.fastp.html`: fastp report in HTML format. + - `*.fastp.json`: fastp report in JSON format. + - `*.fastp.log`: fastp log file. + - `*.fastp.fastq.gz`: Trimmed FastQ files (if trimming is enabled). + +
+ +[fastp](https://github.com/OpenGene/fastp) is a tool designed to provide fast, all-in-one preprocessing for FastQ files. It is developed in C++ with multithreading supported to afford high performance. fastp is used in this pipeline for quality control and adapter trimming when `--trim_fastq` is specified. + +## Alignment + +### BWA-MEM / BWA-MEM2 / STAR + +
+Output files + +- `alignment/` + - `*.bam`: Aligned reads in BAM format. + - `*.bai`: BAM index files. + - `*.cram`: Aligned reads in CRAM format (if `--save_output_as_bam` is false). + - `*.crai`: CRAM index files. + +
+ +The pipeline supports multiple aligners: + +- [BWA-MEM](https://github.com/lh3/bwa) for DNA alignment +- [BWA-MEM2](https://github.com/bwa-mem2/bwa-mem2) for faster DNA alignment +- [STAR](https://github.com/alexdobin/STAR) for RNA alignment +- [DRAGMAP](https://github.com/Illumina/DRAGMAP) for high-accuracy alignment + +Alignment files are saved in BAM or CRAM format depending on the `--save_output_as_bam` parameter. + +### Alignment QC + +
+Output files + +- `alignment/samtools_stats/` + - `*.stats`: Samtools stats output with alignment statistics. +- `alignment/mosdepth/` + - `*.mosdepth.global.dist.txt`: Global coverage distribution. + - `*.mosdepth.summary.txt`: Coverage summary statistics. + +
+ +Quality control metrics for aligned reads are generated using [samtools stats](http://www.htslib.org/doc/samtools-stats.html) and [mosdepth](https://github.com/brentp/mosdepth). + +## Preprocessing + +### GATK Preprocessing + +
+Output files + +- `preprocessing/` + - `markduplicates/` + - `*.bam`: BAM files with duplicates marked. + - `*.bai`: BAM index files. + - `*.metrics`: Duplicate marking metrics. + - `splitncigarreads/` (RNA samples only) + - `*.bam`: BAM files with split N CIGAR reads. + - `*.bai`: BAM index files. + - `baserecalibrator/` + - `*.table`: Base quality score recalibration tables. + - `applybqsr/` + - `*.bam`: BAM files with recalibrated base quality scores. + - `*.bai`: BAM index files. + +
+ +The pipeline follows [GATK best practices](https://gatk.broadinstitute.org/hc/en-us/articles/360035531192-RNAseq-short-variant-discovery-SNPs-Indels-) for preprocessing: + +1. **MarkDuplicates**: Identifies and marks duplicate reads +2. **SplitNCigarReads**: Splits reads with N CIGAR operations (RNA-seq specific) +3. **BaseRecalibrator**: Generates base quality score recalibration table +4. **ApplyBQSR**: Applies base quality score recalibration + +## Variant Calling + +### Mutect2 + +
+Output files + +- `variant_calling/mutect2/` + - `*.vcf.gz`: Variant calls in VCF format. + - `*.vcf.gz.tbi`: VCF index files. + - `*.stats`: Mutect2 statistics. + - `*.f1r2.tar.gz`: F1R2 counts for orientation bias filtering. + +
+ +[Mutect2](https://gatk.broadinstitute.org/hc/en-us/articles/360037593851-Mutect2) is GATK's somatic variant caller for detecting SNVs and indels in tumor samples. + +### Strelka2 + +
+Output files + +- `variant_calling/strelka/` + - `*.somatic.snvs.vcf.gz`: Somatic SNV calls. + - `*.somatic.indels.vcf.gz`: Somatic indel calls. + - `*.vcf.gz.tbi`: VCF index files. + +
+ +[Strelka2](https://github.com/Illumina/strelka) is a fast and accurate small variant caller optimized for analysis of germline variation in small cohorts and somatic variation in tumor/normal sample pairs. + +### SAGE + +
+Output files + +- `variant_calling/sage/` + - `*.vcf.gz`: Variant calls in VCF format. + - `*.vcf.gz.tbi`: VCF index files. + +
+ +[SAGE](https://github.com/hartwigmedical/hmftools/blob/master/sage/README.md) is a precise and highly sensitive somatic SNV, MNV and INDEL caller. + +## Annotation + +### VEP Annotation + +
+Output files + +- `annotation/vep/` + - `*.vcf.gz`: Annotated variants in VCF format. + - `*.vcf.gz.tbi`: VCF index files. + - `*.html`: VEP summary report. + +
+ +[Variant Effect Predictor (VEP)](https://www.ensembl.org/info/docs/tools/vep/index.html) determines the effect of variants (SNPs, insertions, deletions, CNVs or structural variants) on genes, transcripts, and protein sequence, as well as regulatory regions. + +### VCF to MAF Conversion + +
+Output files + +- `annotation/vcf2maf/` + - `*.maf`: Variants in Mutation Annotation Format (MAF). + +
+ +Variants are converted from VCF to [MAF format](https://docs.gdc.cancer.gov/Data/File_Formats/MAF_Format/) using [vcf2maf](https://github.com/mskcc/vcf2maf) for downstream analysis and visualization. + +## Consensus + +### Consensus Calling + +
+Output files + +- `consensus/` + - `*.consensus.vcf`: Consensus variants across all callers in VCF format. + - `*.consensus.maf`: Consensus variants in MAF format. + - `*.consensus_*.vcf`: Caller-specific consensus variants. + - `*.consensus_*.maf`: Caller-specific consensus variants in MAF format. + - `*.pdf`: Consensus analysis plots and visualizations. + +
+ +The consensus module combines variant calls from multiple callers (Mutect2, Strelka2, SAGE) to improve variant calling accuracy and reduce false positives. + +## Filtering + +### MAF Filtering + +
+Output files + +- `filtering/` + - `*.filtered.maf`: Filtered variants in MAF format. + +
+ +Variants are filtered based on various criteria including: + +- Population frequency (gnomAD) (controlled by config of `maf_filtering` module) +- Whitelist/blacklist regions (controlled by parameters `whitelist` and `blacklist`) +- Quality metrics +- Custom filtering parameters (controlled by config of `maf_filtering` module) + +### RNA-specific Filtering + +
+Output files + +- `filtering/rna/` + - `*.rna_filtered.maf`: RNA-specific filtered variants in MAF format. + +
+ +Additional filtering steps specific to RNA-seq data to account for RNA editing, splicing artifacts, and other RNA-specific noise. + +## Realignment + +### RNA Realignment + +
+Output files + +- `realignment/` + - `*.realigned.bam`: Realigned BAM files for variant regions. + - `*.realigned.bai`: BAM index files. + - `*.realigned.maf`: Variants from realigned regions. + +
+ +Optional realignment step using [HISAT2](https://daehwankimlab.github.io/hisat2/) for RNA samples in regions where variants were detected. This helps improve variant calling accuracy in RNA-seq data by addressing alignment artifacts. + +## Normalization + +### VT Normalization + +
+Output files + +- `normalization/` + - `*.normalized.vcf.gz`: Normalized variants in VCF format. + - `*.stats`: Normalization statistics. + +
+ +Variants are normalized using [vt](https://genome.sph.umich.edu/wiki/Vt) decompose and normalize to ensure consistent representation of variants across different callers. + +## MultiQC
Output files @@ -45,16 +290,18 @@ The pipeline is built using [Nextflow](https://www.nextflow.io/) and processes d Results generated by MultiQC collate pipeline QC from supported tools e.g. FastQC. The pipeline has special steps which also allow the software versions to be reported in the MultiQC output for future traceability. For more information about how to use MultiQC reports, see . -### Pipeline information +## Pipeline information
Output files - `pipeline_info/` - - Reports generated by Nextflow: `execution_report.html`, `execution_timeline.html`, `execution_trace.txt` and `pipeline_dag.dot`/`pipeline_dag.svg`. - - Reports generated by the pipeline: `pipeline_report.html`, `pipeline_report.txt` and `software_versions.yml`. The `pipeline_report*` files will only be present if the `--email` / `--email_on_fail` parameter's are used when running the pipeline. - - Reformatted samplesheet files used as input to the pipeline: `samplesheet.valid.csv`. - - Parameters used by the pipeline run: `params.json`. + - `execution_report_*.html`: Report describing the pipeline run. + - `execution_timeline_*.html`: Timeline of the pipeline execution. + - `execution_trace_*.txt`: Trace file with detailed execution information. + - `pipeline_dag_*.html`: DAG visualization of the pipeline. + - `software_versions.yml`: Software versions used in the pipeline. + - `params_*.json`: Parameters used for the pipeline run.
diff --git a/docs/usage.md b/docs/usage.md index 01675521..cf7a9373 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -6,49 +6,89 @@ ## Introduction - +nf-core/rnadnavar is an end-to-end workflow designed for detecting somatic mutations in bulk RNA sequencing data, with the option to apply it to whole genome or whole exome sequencing data. It follows +[GATK best practices](https://gatk.broadinstitute.org/hc/en-us/articles/360035531192-RNAseq-short-variant-discovery-SNPs-Indels-) for data cleanup, utilises +[Mutect2](https://gatk.broadinstitute.org/hc/en-us/articles/360037593851-Mutect2), [Strelka2](https://github.com/Illumina/strelka) +and +[SAGE](https://github.com/hartwigmedical/hmftools/blob/master/sage/README.md) +for variant calling, and includes post-processing steps +such as VCF normalization, consensus of called variants +(resulting in a MAF file), and filtering. Additionally, an optional realignment with HISAT2 is performed only in the coordinates where mutations were detected during the variant calling subworkflow. -## Samplesheet input +Originally, this pipeline was developed for human and +mouse data. -You will need to create a samplesheet with information about the samples you would like to analyse before running the pipeline. Use this parameter to specify its location. It has to be a comma-separated file with 3 columns, and a header row as shown in the examples below. +## Requirements -```bash ---input '[path to samplesheet file]' -``` +- **Nextflow** `>=24.04.2` (updated from previous versions) +- **Java** `>=11` +- **Docker**, **Singularity**, **Podman**, **Shifter**, **Charliecloud**, **Apptainer**, or **Conda** (see [nf-core docs](https://nf-co.re/docs/usage/installation) for installation instructions) -### Multiple runs of the same sample +## Quickstart -The `sample` identifiers have to be the same when you have re-sequenced the same sample more than once e.g. to increase sequencing depth. The pipeline will concatenate the raw reads before performing any downstream analysis. Below is an example for the same sample sequenced across 3 lanes: +The typical command for running the pipeline is as follows: -```csv title="samplesheet.csv" -sample,fastq_1,fastq_2 -CONTROL_REP1,AEG588A1_S1_L002_R1_001.fastq.gz,AEG588A1_S1_L002_R2_001.fastq.gz -CONTROL_REP1,AEG588A1_S1_L003_R1_001.fastq.gz,AEG588A1_S1_L003_R2_001.fastq.gz -CONTROL_REP1,AEG588A1_S1_L004_R1_001.fastq.gz,AEG588A1_S1_L004_R2_001.fastq.gz +```bash +nextflow run nf-core/rnadnavar -r -profile --input ./samplesheet.csv --outdir ./results --tools ``` -### Full samplesheet +`-r ` is optional but strongly recommended for reproducibility and should match the latest version. + +`-profile ` is mandatory and should reflect either your own institutional profile or any pipeline profile specified in the profile section. + +This will launch the pipeline and perform variant calling, normalisation, consensus and filtering if specified in `--tools`, see the [parameter section](https://nf-co. re/rnadnavar/latest/parameters#tools) for details on the tools. In the above example the pipeline runs with the docker configuration profile. See below for more information about profiles. -The pipeline will auto-detect whether a sample is single- or paired-end using the information provided in the samplesheet. The samplesheet can have as many columns as you desire, however, there is a strict requirement for the first 3 columns to match those defined in the table below. +## Getting help -A final samplesheet file consisting of both single- and paired-end data may look something like the one below. This is for 6 samples, where `TREATMENT_REP3` has been sequenced twice. +For detailed parameter information, you can use: -```csv title="samplesheet.csv" -sample,fastq_1,fastq_2 -CONTROL_REP1,AEG588A1_S1_L002_R1_001.fastq.gz,AEG588A1_S1_L002_R2_001.fastq.gz -CONTROL_REP2,AEG588A2_S2_L002_R1_001.fastq.gz,AEG588A2_S2_L002_R2_001.fastq.gz -CONTROL_REP3,AEG588A3_S3_L002_R1_001.fastq.gz,AEG588A3_S3_L002_R2_001.fastq.gz -TREATMENT_REP1,AEG588A4_S4_L003_R1_001.fastq.gz, -TREATMENT_REP2,AEG588A5_S5_L003_R1_001.fastq.gz, -TREATMENT_REP3,AEG588A6_S6_L003_R1_001.fastq.gz, -TREATMENT_REP3,AEG588A6_S6_L004_R1_001.fastq.gz, +```bash +nextflow run nf-core/rnadnavar --help +nextflow run nf-core/rnadnavar --help_full # Show all parameters including hidden ones +nextflow run nf-core/rnadnavar --show_hidden # Show hidden parameters ``` -| Column | Description | -| --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `sample` | Custom sample name. This entry will be identical for multiple sequencing libraries/runs from the same sample. Spaces in sample names are automatically converted to underscores (`_`). | -| `fastq_1` | Full path to FastQ file for Illumina short reads 1. File has to be gzipped and have the extension ".fastq.gz" or ".fq.gz". | -| `fastq_2` | Full path to FastQ file for Illumina short reads 2. File has to be gzipped and have the extension ".fastq.gz" or ".fq.gz". | +## Testing and Quality Assurance + +This pipeline now includes comprehensive testing using the nf-test framework, ensuring better reliability and stability. All modules and subworkflows are thoroughly tested with automated GitHub Actions for continuous integration. + +## Samplesheet input + +You will need to create a samplesheet with information about the samples you would like to analyse before running the pipeline. It has to be a comma-separated file with columns, and a header row as shown in the examples below. It is recommended to use the absolute path of the files, but a relative path should also work. + +An RNA tumor sample must be associated to a DNA normal +sample at the moment, specified with the +same `patient` ID. The pipeline validates this tumour-normal +matching before channel creation so the current release fails +early and deterministically for unsupported sample compositions. +The sample type can be specified with the `status`: 0 (normal DNA), +1 (tumour DNA) and 2 (tumour RNA). An +additional tumor sample (such as a +relapse for example), can be added if specified with the +same patient ID but different sample name, and the status +value 1 or 2. + +The pipeline will output results in a different +directory for _each sample_. + +These are the accepted columns for the sample sheet, +although not all of them are mandatory at the same time: + +| Column | Description | +| --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `patient` | **Custom patient ID**; designates the patient/subject; must be unique for each patient, but one patient can have multiple samples (e.g. normal and tumor). | +| `status` | **Normal DNA /tumor DNA /tumor RNA status of sample**; can be 0 (normal DNA), 1 (tumor DNA) or 2 (tumor RNA). Optional, Default: 0 | +| `sample` | **Custom sample ID for each tumor and normal sample**; more than one tumor sample for each subject is possible, i.e. a tumor and a relapse; samples can have multiple lanes for which the same ID must be used to merge them later (see also lane). Sample IDs must be unique for unique biological samples | +| `lane` | Lane ID, used when the sample is multiplexed on several lanes. Must be unique for each lane in the same sample (but does not need to be the original lane name), and must contain at least one character. _Required for --step_mapping_ | +| `fastq_1` | Path to FastQ file for Illumina short reads 1. File has to be gzipped and have the extension ".fastq.gz" or ".fq.gz". | +| `fastq_2` | Path to FastQ file for Illumina short reads 2. File has to be gzipped and have the extension ".fastq.gz" or ".fq.gz". | +| `bam` | Path to (u)BAM file. | +| `bai` | Path to BAM index file. | +| `cram` | Path to CRAM file. | +| `crai` | Path to CRAM index file. | +| `table` | Path to recalibration table file. | +| `vcf` | Path to vcf file. | +| `maf` | Path to maf file. | An [example samplesheet](../assets/samplesheet.csv) has been provided with the pipeline. @@ -76,7 +116,7 @@ If you wish to repeatedly use the same parameters for multiple runs, rather than Pipeline settings can be provided in a `yaml` or `json` file via `-params-file `. > [!WARNING] -> Do not use `-c ` to specify parameters as this will result in errors. Custom config files specified with `-c` must only be used for [tuning process resource specifications](https://nf-co.re/docs/usage/configuration#tuning-workflow-resources), other infrastructural tweaks (such as output directories), or module arguments (args). +> Do not use `-c ` to specify parameters as this will result in errors. Custom config files specified with `-c` must only be used for [tuning process resource specifications](https://nf-co.re/docs/running/run-pipelines#configuring-pipelines), other infrastructural tweaks (such as output directories), or module arguments (args). The above pipeline run specified with a params file in yaml format: @@ -95,6 +135,33 @@ genome: 'GRCh37' You can also generate such `YAML`/`JSON` files via [nf-core/launch](https://nf-co.re/launch). +### Starting from different steps + +The pipeline has the flexibility to start from different steps but `tools` need to be specified to run. If you are planning to run the pipeline by stages please read relevant information below on how to run from different steps: + +- `mapping` will require: `patient,status,sample,lane,bam,bai` or `patient,status,sample,lane,cram,crai` or `patient,status,sample,lane,bam,bai,cram,crai`. When BAM and CRAM files are mixed BAMs will be converted to CRAMs to save on space. + - `tools` is set to null by default but all GATK pre-processing will run regardless unless skipped with `skip_tools`. + +- `variant_calling` will require: `patient,status,sample,lane,bam,bai` or `patient,status,sample,lane,cram,crai` or `patient,status,sample,lane,bam,bai,cram,crai`. When BAM and CRAM files are mixed BAMs will be converted to CRAMs to save on space. + - we recommend adding `mutect2,strelka,sage` to `tools` option for this step. + +- `consensus` will requite: `patient,status,sample,maf,variantcaller` if not realignment step in tools. + - `normal_id` is needed to properly create the id tag when `realignment` is in `tools`, which is going to be tumour_vs_normal style to match it with the rest of the pipeline (note that this will be simplified in the future to just id but it is not yet implemented). + - if `realignment` alignment files must be included and therefore `bam,bai` or `cram,crai` should be added to the csv as well. Each sample will then have a line per maf/variantcaller and a line per alignment file (`maf` value will be empty for the alignment files and _vice versa_). + +- `filtering` + - If you use other variant callers that are not mutect2, strelka or SAGE you will need to change in `config/modules/filtering/maf_filtering.config` and add to args `--vc_priority caller1 caller2 caller3`. Do not forget to add `consensus` to callers if you are running DNA and RNA in parallel to annotate mutations found in both data types. **Disclaimer: this has not been tested thoroughly, therefore please ask in our slack channel or open an issue in github describing your issue. Be aware that even if processes run, you will need to review your results** + - At the end of the RNA filtering you will have two entries per mutation, the extra one is the annotation from realignment mode. If you want to remove these entries, they can be filtered through the column `Tumor_Sample_Barcode` and remove all entries with the suffix `_realign`. + +- `realignment`: this step is slightly different from the rest as it requires both results from variant calling (`vcf/maf`) and alignment files (`bam,cram`). Note that it increases computation and time substanstially. Reason being that it will convert coordinates from `vcf/maf` to `bed` and extract reads from the alignment files of those regions of interest where a mutation was found. With those reads a re-alignment is performed using HISAT2. Requires `patient,status,sample,normal_id,vcf/maf,variantcaller,bam/cram,bai/crai`. + - Realignment can be activated from any step as long as it is specified in `params.tools` as `realignment`, alignment files are provided and a `maf/vcf` file is provided or produced by the pipeline. + +- `rescue` will activate the option of a second consensus PASS were DNA/RNA will be used for the consensus. The idea being that if a mutation is in any caller plus the other data type, it should be a PASS in the consensus. To run it requires:`patient,status,sample,vcf,variantcaller,normal_id` if not realignment step in tools. If realignment step then: `patient,status,sample,vcf,variantcaller,normal_id,cram/bam,crai/bai`. + +If you think there is a step of a workflow missing that we haven't think about yet please contact us in the slack channel. + +Note that if you get this error `TypeError: '<=' not supported between instances of 'str' and 'int'` in the `FILTERING` process it might be that `vcf2maf` failed to pass the information from vcf to maf because the id in the vcf differs from sample id provided in samplesheet. Please make sure they both match. + ### Updating the pipeline When you run the above command, Nextflow automatically pulls the pipeline code from GitHub and stores it as a cached version. When running the pipeline after this, it will always use the cached version if available - even if the pipeline has been updated since. To make sure that you're running the latest version of the pipeline, make sure that you regularly update the cached version of the pipeline: @@ -153,7 +220,7 @@ If `-profile` is not specified, the pipeline will run locally and expect all sof - `apptainer` - A generic configuration profile to be used with [Apptainer](https://apptainer.org/) - `wave` - - A generic configuration profile to enable [Wave](https://seqera.io/wave/) containers. Use together with one of the above (requires Nextflow ` 24.03.0-edge` or later). + - A generic configuration profile to enable [Wave](https://seqera.io/wave/) containers. Use together with one of the above (requires Nextflow `>=24.04.2`). - `conda` - A generic configuration profile to be used with [Conda](https://conda.io/docs/). Please only use Conda as a last resort i.e. when it's not possible to run the pipeline with Docker, Singularity, Podman, Shifter, Charliecloud, or Apptainer. @@ -173,19 +240,19 @@ Specify the path to a specific config file (this is a core Nextflow command). Se Whilst the default requirements set within the pipeline will hopefully work for most people and with most input data, you may find that you want to customise the compute resources that the pipeline requests. Each step in the pipeline has a default set of requirements for number of CPUs, memory and time. For most of the pipeline steps, if the job exits with any of the error codes specified [here](https://github.com/nf-core/rnaseq/blob/4c27ef5610c87db00c3c5a3eed10b1d161abf575/conf/base.config#L18) it will automatically be resubmitted with higher resources request (2 x original, then 3 x original). If it still fails after the third attempt then the pipeline execution is stopped. -To change the resource requests, please see the [max resources](https://nf-co.re/docs/usage/configuration#max-resources) and [tuning workflow resources](https://nf-co.re/docs/usage/configuration#tuning-workflow-resources) section of the nf-core website. +To change the resource requests, please see the [max resources](https://nf-co.re/docs/running/configuration/nextflow-for-your-system#set-max-resources) and [customise process resources](https://nf-co.re/docs/running/configuration/nextflow-for-your-system#customize-process-resources) section of the nf-core website. ### Custom Containers In some cases, you may wish to change the container or conda environment used by a pipeline steps for a particular tool. By default, nf-core pipelines use containers and software from the [biocontainers](https://biocontainers.pro/) or [bioconda](https://bioconda.github.io/) projects. However, in some cases the pipeline specified version maybe out of date. -To use a different container from the default container or conda environment specified in a pipeline, please see the [updating tool versions](https://nf-co.re/docs/usage/configuration#updating-tool-versions) section of the nf-core website. +To use a different container from the default container or conda environment specified in a pipeline, please see the [updating tool versions](https://nf-co.re/docs/running/configuration/nextflow-for-your-system#update-tool-versions) section of the nf-core website. ### Custom Tool Arguments A pipeline might not always support every possible argument or option of a particular tool used in pipeline. Fortunately, nf-core pipelines provide some freedom to users to insert additional parameters that the pipeline does not include by default. -To learn how to provide additional arguments to a particular tool of the pipeline, please see the [customising tool arguments](https://nf-co.re/docs/usage/configuration#customising-tool-arguments) section of the nf-core website. +To learn how to provide additional arguments to a particular tool of the pipeline, please see the [customising tool arguments](https://nf-co.re/docs/running/configuration/nextflow-for-your-system#modifying-tool-arguments) section of the nf-core website. ### nf-core/configs @@ -212,3 +279,11 @@ We recommend adding the following line to your environment to limit this (typica ```bash NXF_OPTS='-Xms1g -Xmx4g' ``` + +### Troubleshooting + +**Common Issues:** + +- If you get this error `TypeError: '<=' not supported between instances of 'str' and 'int'` in the `FILTERING` process it might be that `vcf2maf` failed to pass the information from vcf to maf because the id in the vcf differs from sample id provided in samplesheet. Please make sure they both match. + +- **Java ConcurrentModificationException**: This critical error has been resolved in recent updates. If you encounter this issue, please ensure you're using the latest version of the pipeline. diff --git a/main.nf b/main.nf index f98013dc..80708468 100644 --- a/main.nf +++ b/main.nf @@ -1,4 +1,5 @@ #!/usr/bin/env nextflow + /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nf-core/rnadnavar @@ -11,29 +12,40 @@ /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - IMPORT FUNCTIONS / MODULES / SUBWORKFLOWS / WORKFLOWS + GENOME PARAMETER VALUES ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ -include { RNADNAVAR } from './workflows/rnadnavar' -include { PIPELINE_INITIALISATION } from './subworkflows/local/utils_nfcore_rnadnavar_pipeline' -include { PIPELINE_COMPLETION } from './subworkflows/local/utils_nfcore_rnadnavar_pipeline' -include { getGenomeAttribute } from './subworkflows/local/utils_nfcore_rnadnavar_pipeline' +params.bwa = getGenomeAttribute('bwa') +params.bwamem2 = getGenomeAttribute('bwamem2') +params.fasta = getGenomeAttribute('fasta') +params.fasta_fai = getGenomeAttribute('fasta_fai') +params.dict = getGenomeAttribute('dict') +params.gtf = getGenomeAttribute('gtf') +params.gff = getGenomeAttribute('gff') +params.star_index = getGenomeAttribute('star') +params.dbsnp = getGenomeAttribute('dbsnp') +params.dbsnp_tbi = getGenomeAttribute('dbsnp_tbi') +params.known_indels = getGenomeAttribute('known_indels') +params.known_indels_tbi = getGenomeAttribute('known_indels_tbi') +params.vep_cache_version = getGenomeAttribute('vep_cache_version') +params.vep_genome = getGenomeAttribute('vep_genome') +params.vep_species = getGenomeAttribute('vep_species') /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - GENOME PARAMETER VALUES + IMPORT FUNCTIONS / MODULES / SUBWORKFLOWS / WORKFLOWS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ -// TODO nf-core: Remove this line if you don't need a FASTA file -// This is an example of how to use getGenomeAttribute() to fetch parameters -// from igenomes.config using `--genome` -params.fasta = getGenomeAttribute('fasta') +include { RNADNAVAR } from './workflows/rnadnavar/main' +include { PIPELINE_INITIALISATION } from './subworkflows/local/utils_nfcore_rnadnavar_pipeline' +include { PIPELINE_COMPLETION } from './subworkflows/local/utils_nfcore_rnadnavar_pipeline' + /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - NAMED WORKFLOWS FOR PIPELINE + NAMED WORKFLOW FOR PIPELINE ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ @@ -41,18 +53,18 @@ params.fasta = getGenomeAttribute('fasta') // WORKFLOW: Run main analysis pipeline depending on type of input // workflow NFCORE_RNADNAVAR { - take: samplesheet // channel: samplesheet read in from --input main: - + versions = Channel.empty() // // WORKFLOW: Run pipeline // - RNADNAVAR ( + RNADNAVAR( samplesheet ) + emit: multiqc_report = RNADNAVAR.out.multiqc_report // channel: /path/to/multiqc_report.html } @@ -63,45 +75,55 @@ workflow NFCORE_RNADNAVAR { */ workflow { - - main: // // SUBWORKFLOW: Run initialisation tasks // - PIPELINE_INITIALISATION ( + PIPELINE_INITIALISATION( params.version, params.validate_params, - params.monochrome_logs, args, params.outdir, params.input, params.help, params.help_full, - params.show_hidden + params.show_hidden, + params.monochrome_logs ) // // WORKFLOW: Run main workflow // - NFCORE_RNADNAVAR ( + NFCORE_RNADNAVAR( PIPELINE_INITIALISATION.out.samplesheet ) // // SUBWORKFLOW: Run completion tasks // - PIPELINE_COMPLETION ( + PIPELINE_COMPLETION( params.email, params.email_on_fail, params.plaintext_email, params.outdir, params.monochrome_logs, - params.hook_url, NFCORE_RNADNAVAR.out.multiqc_report ) } /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - THE END + FUNCTIONS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +// +// Get attribute from genome config file e.g. fasta +// + +def getGenomeAttribute(attribute) { + if (params.genomes && params.genome && params.genomes.containsKey(params.genome)) { + if (params.genomes[params.genome].containsKey(attribute)) { + return params.genomes[params.genome][attribute] + } + } + return null +} diff --git a/modules.json b/modules.json index 6dc9944c..a754d169 100644 --- a/modules.json +++ b/modules.json @@ -5,33 +5,384 @@ "https://github.com/nf-core/modules.git": { "modules": { "nf-core": { + "bcftools/sort": { + "branch": "master", + "git_sha": "feef37435aea56816adf4b3bde1fc76aac327a8d", + "installed_by": ["modules"] + }, + "bcftools/stats": { + "branch": "master", + "git_sha": "feef37435aea56816adf4b3bde1fc76aac327a8d", + "installed_by": ["modules"] + }, + "bwa/index": { + "branch": "master", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["modules"] + }, + "bwa/mem": { + "branch": "master", + "git_sha": "2fb127c8fd13de0adaa676df7169131e45c0b114", + "installed_by": ["modules"] + }, + "bwamem2/index": { + "branch": "master", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["modules"] + }, + "bwamem2/mem": { + "branch": "master", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["modules"] + }, + "cat/cat": { + "branch": "master", + "git_sha": "eac429d4c67ac5114ce7d4287d460d8f05fd9fab", + "installed_by": ["modules"] + }, + "cat/fastq": { + "branch": "master", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["modules"] + }, + "dragmap/align": { + "branch": "master", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["modules"] + }, + "dragmap/hashtable": { + "branch": "master", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["modules"] + }, + "ensemblvep/download": { + "branch": "master", + "git_sha": "db055f5f8c726a924bf51dadce3978da3bbdad7e", + "installed_by": ["modules"] + }, + "ensemblvep/vep": { + "branch": "master", + "git_sha": "db055f5f8c726a924bf51dadce3978da3bbdad7e", + "installed_by": ["modules", "vcf_annotate_ensemblvep"] + }, + "fastp": { + "branch": "master", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["modules"] + }, "fastqc": { "branch": "master", - "git_sha": "41dfa3f7c0ffabb96a6a813fe321c6d1cc5b6e46", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["modules"] + }, + "gatk4/applybqsr": { + "branch": "master", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["modules"], + "patch": "modules/nf-core/gatk4/applybqsr/gatk4-applybqsr.diff" + }, + "gatk4/baserecalibrator": { + "branch": "master", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["modules"], + "patch": "modules/nf-core/gatk4/baserecalibrator/gatk4-baserecalibrator.diff" + }, + "gatk4/bedtointervallist": { + "branch": "master", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["modules"] + }, + "gatk4/calculatecontamination": { + "branch": "master", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["modules"] + }, + "gatk4/createsequencedictionary": { + "branch": "master", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["modules"] + }, + "gatk4/filtermutectcalls": { + "branch": "master", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["modules"] + }, + "gatk4/gatherbqsrreports": { + "branch": "master", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["modules"] + }, + "gatk4/gatherpileupsummaries": { + "branch": "master", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["modules"] + }, + "gatk4/getpileupsummaries": { + "branch": "master", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["modules"] + }, + "gatk4/indexfeaturefile": { + "branch": "master", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["modules"] + }, + "gatk4/intervallisttobed": { + "branch": "master", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["modules"] + }, + "gatk4/learnreadorientationmodel": { + "branch": "master", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["modules"] + }, + "gatk4/markduplicates": { + "branch": "master", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["modules"] + }, + "gatk4/mergemutectstats": { + "branch": "master", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["modules"] + }, + "gatk4/mergevcfs": { + "branch": "master", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["modules"] + }, + "gatk4/mutect2": { + "branch": "master", + "git_sha": "f8001d415ee08634fee5019bd15c7fdaa2a1915d", + "installed_by": ["modules"] + }, + "gatk4/splitncigarreads": { + "branch": "master", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["modules"], + "patch": "modules/nf-core/gatk4/splitncigarreads/gatk4-splitncigarreads.diff" + }, + "gatk4/variantfiltration": { + "branch": "master", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["modules"] + }, + "gatk4/variantrecalibrator": { + "branch": "master", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["modules"] + }, + "gffread": { + "branch": "master", + "git_sha": "c9ad4d691aa339e478a77847e3ef854ccd21778b", + "installed_by": ["modules"] + }, + "gunzip": { + "branch": "master", + "git_sha": "0902eac3012baaf4f9ab6513c8c55acc9353c96c", + "installed_by": ["modules"] + }, + "hisat2/align": { + "branch": "master", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["fastq_align_hisat2"] + }, + "hisat2/build": { + "branch": "master", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["modules"], + "patch": "modules/nf-core/hisat2/build/hisat2-build.diff" + }, + "hisat2/extractsplicesites": { + "branch": "master", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["modules"], + "patch": "modules/nf-core/hisat2/extractsplicesites/hisat2-extractsplicesites.diff" + }, + "htslib/bgziptabix": { + "branch": "master", + "git_sha": "22edd7ce9462025093b25e3b55006f7720ff0d8e", + "installed_by": ["modules"] + }, + "manta/somatic": { + "branch": "master", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["modules"] + }, + "mosdepth": { + "branch": "master", + "git_sha": "999b9db1d6b8bdc591e1168e183f4cc87d6606f9", "installed_by": ["modules"] }, "multiqc": { "branch": "master", - "git_sha": "af27af1be706e6a2bb8fe454175b0cdf77f47b49", + "git_sha": "98403d15b0e50edae1f3fec5eae5e24982f1fade", + "installed_by": ["modules"] + }, + "picard/filtersamreads": { + "branch": "master", + "git_sha": "925b5473b622a3f26e33ef57fb85f14b4a85323e", "installed_by": ["modules"] + }, + "samblaster": { + "branch": "master", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["modules"] + }, + "samtools/bam2fq": { + "branch": "master", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["modules"] + }, + "samtools/collatefastq": { + "branch": "master", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["modules"] + }, + "samtools/convert": { + "branch": "master", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["modules"] + }, + "samtools/faidx": { + "branch": "master", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["modules"] + }, + "samtools/flagstat": { + "branch": "master", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["bam_stats_samtools", "modules"], + "patch": "modules/nf-core/samtools/flagstat/samtools-flagstat.diff" + }, + "samtools/idxstats": { + "branch": "master", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["bam_stats_samtools", "modules"], + "patch": "modules/nf-core/samtools/idxstats/samtools-idxstats.diff" + }, + "samtools/index": { + "branch": "master", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["bam_sort_stats_samtools"] + }, + "samtools/merge": { + "branch": "master", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["modules"] + }, + "samtools/mpileup": { + "branch": "master", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["modules"] + }, + "samtools/sort": { + "branch": "master", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["bam_sort_stats_samtools"] + }, + "samtools/stats": { + "branch": "master", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["bam_stats_samtools", "modules"], + "patch": "modules/nf-core/samtools/stats/samtools-stats.diff" + }, + "samtools/view": { + "branch": "master", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["modules"] + }, + "star/align": { + "branch": "master", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["fastq_align_star", "modules"], + "patch": "modules/nf-core/star/align/star-align.diff" + }, + "star/genomegenerate": { + "branch": "master", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["modules"] + }, + "strelka/somatic": { + "branch": "master", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["modules"], + "patch": "modules/nf-core/strelka/somatic/strelka-somatic.diff" + }, + "untar": { + "branch": "master", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["modules"] + }, + "unzip": { + "branch": "master", + "git_sha": "1c43a7e22f04cf19c9f9d3de7e7e5a3addd9382a", + "installed_by": ["modules"] + }, + "vcf2maf": { + "branch": "master", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["modules"] + }, + "vcftools": { + "branch": "master", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["modules"] + }, + "vt/decompose": { + "branch": "master", + "git_sha": "daeecdc9319bae12590a92f403f1b6bd5573c3b9", + "installed_by": ["modules"] + }, + "vt/normalize": { + "branch": "master", + "git_sha": "daeecdc9319bae12590a92f403f1b6bd5573c3b9", + "installed_by": ["modules"], + "patch": "modules/nf-core/vt/normalize/vt-normalize.diff" } } }, "subworkflows": { "nf-core": { + "bam_sort_stats_samtools": { + "branch": "master", + "git_sha": "156feda0cb6589cd29c04902004fa3b53bc00205", + "installed_by": ["fastq_align_hisat2", "fastq_align_star"] + }, + "bam_stats_samtools": { + "branch": "master", + "git_sha": "156feda0cb6589cd29c04902004fa3b53bc00205", + "installed_by": ["bam_sort_stats_samtools"] + }, + "fastq_align_hisat2": { + "branch": "master", + "git_sha": "5c4fc6bbf9af3642bdd9f2408a90970f616bf837", + "installed_by": ["subworkflows"] + }, + "fastq_align_star": { + "branch": "master", + "git_sha": "4e3e10e502ec6ab6b1c4b4fecd923ff1fa287338", + "installed_by": ["subworkflows"] + }, "utils_nextflow_pipeline": { "branch": "master", - "git_sha": "05954dab2ff481bcb999f24455da29a5828af08d", + "git_sha": "1a545fcbd762911c21a64ced3dbef99b2b51ac75", "installed_by": ["subworkflows"] }, "utils_nfcore_pipeline": { "branch": "master", - "git_sha": "271e7fc14eb1320364416d996fb077421f3faed2", + "git_sha": "a3fb7351b1fdb2b1de282b765816bbea190e86a8", "installed_by": ["subworkflows"] }, "utils_nfschema_plugin": { "branch": "master", - "git_sha": "4b406a74dc0449c0401ed87d5bfff4252fd277fd", + "git_sha": "a7b27fd25bfa8dcc07d299e88bd790585901a436", + "installed_by": ["subworkflows"] + }, + "vcf_annotate_ensemblvep": { + "branch": "master", + "git_sha": "251885fdb29eca03523d326aca5c827d1f6bdfeb", "installed_by": ["subworkflows"] } } diff --git a/modules/local/build_intervals/main.nf b/modules/local/build_intervals/main.nf new file mode 100644 index 00000000..29a6b5af --- /dev/null +++ b/modules/local/build_intervals/main.nf @@ -0,0 +1,28 @@ +process BUILD_INTERVALS { + tag "$meta.id" + + conda "anaconda::gawk=5.1.0" + container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/gawk:5.1.0' : + 'biocontainers/gawk:5.1.0' }" + + input: + tuple val(meta), path(fasta_fai) + + output: + tuple val(meta), path("${fasta_fai.baseName}.bed") , emit: bed + path "versions.yml" , emit: versions + + when: + task.ext.when == null || task.ext.when + + script: + """ + awk -v FS='\t' -v OFS='\t' '{ print \$1, \"0\", \$2 }' ${fasta_fai} > ${fasta_fai.baseName}.bed + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + gawk: \$(awk -Wversion | sed '1!d; s/.*Awk //; s/,.*//') + END_VERSIONS + """ +} diff --git a/modules/local/consensus/environment.yml b/modules/local/consensus/environment.yml new file mode 100644 index 00000000..8679f142 --- /dev/null +++ b/modules/local/consensus/environment.yml @@ -0,0 +1,10 @@ +channels: + - conda-forge + - bioconda +dependencies: + - bioconda::bioconductor-complexheatmap=2.26.1 + - bioconda::bioconductor-rtracklayer=1.70.1 + - conda-forge::r-data.table=1.17.8 + - conda-forge::r-dplyr=1.2.1 + - conda-forge::r-ggpubr=0.6.3 + - conda-forge::r-ggrepel=0.9.8 diff --git a/modules/local/consensus/main.nf b/modules/local/consensus/main.nf new file mode 100644 index 00000000..e0044afe --- /dev/null +++ b/modules/local/consensus/main.nf @@ -0,0 +1,36 @@ +process RUN_CONSENSUS { + tag "${meta.id}" + label 'process_low' + + conda "${moduleDir}/environment.yml" + container "${workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/00/0003a3962c416b4c458909d28e343758adf347e614507137b70ac5e4a3c094bb/data' + : 'community.wave.seqera.io/library/bioconductor-complexheatmap_bioconductor-rtracklayer_r-data.table_r-dplyr_pruned:b2d4632cc9bf5c6e'}" + + input: + tuple val(meta), path(input_file, stageAs: "inputs/*"), val(caller) + + output: + tuple val(meta), path('*.consensus.vcf'), optional: true, emit: vcf + tuple val(meta), path('*.consensus_*.vcf'), val(caller), optional: true, emit: vcf_separate + tuple val(meta), path('*.consensus.maf'), optional: true, emit: maf + tuple val(meta), path('*.consensus_*.maf'), val(caller), optional: true, emit: maf_separate + path ("*.pdf"), optional: true, emit: pdf + path "versions.yml", emit: versions + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + + """ + run_consensus.R --input_dir=inputs/ --out_prefix=${prefix}.consensus --cpu=${task.cpus} ${args} + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + R: \$(echo \$(R --version 2>&1) | head -n 1) + END_VERSIONS + """ +} diff --git a/modules/local/consensus/tests/main.nf.test b/modules/local/consensus/tests/main.nf.test new file mode 100644 index 00000000..4a4f3844 --- /dev/null +++ b/modules/local/consensus/tests/main.nf.test @@ -0,0 +1,38 @@ +nextflow_process { + name "Test Process RUN_CONSENSUS" + + process "RUN_CONSENSUS" + script "../main.nf" + + tag "modules" + tag "modules_local" + tag "consensus" + + test("Run consensus on paired RNA MAF inputs") { + when { + process { + """ + input[0] = [ + [ id:'TCRBOA7-T-RNA_vs_TCRBOA7-N', patient:'TCRBOA7', status:2 ], + [ + file('https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/maf/TCRBOA7-T-RNA.maf', checkIfExists: true), + file('https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/maf/TCRBOA7-T-RNA_realign.maf', checkIfExists: true) + ], + [ 'consensus', 'consensus_realign' ] + ] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot( + file(process.out.maf[0][1]).name, + path(process.out.maf[0][1]).readLines(), + path(process.out.versions[0]).readLines() + ).match() } + ) + } + } +} diff --git a/modules/local/consensus/tests/main.nf.test.snap b/modules/local/consensus/tests/main.nf.test.snap new file mode 100644 index 00000000..e57f1ecf --- /dev/null +++ b/modules/local/consensus/tests/main.nf.test.snap @@ -0,0 +1,776 @@ +{ + "Run consensus on paired RNA MAF inputs": { + "content": [ + "TCRBOA7-T-RNA_vs_TCRBOA7-N.consensus.maf", + [ + "#version 2.4", + "Hugo_Symbol\tEntrez_Gene_Id\tCenter\tNCBI_Build\tChromosome\tStart_Position\tEnd_Position\tStrand\tVariant_Classification\tVariant_Type\tReference_Allele\tTumor_Seq_Allele1\tTumor_Seq_Allele2\tdbSNP_RS\tdbSNP_Val_Status\tTumor_Sample_Barcode\tMatched_Norm_Sample_Barcode\tMatch_Norm_Seq_Allele1\tMatch_Norm_Seq_Allele2\tTumor_Validation_Allele1\tTumor_Validation_Allele2\tMatch_Norm_Validation_Allele1\tMatch_Norm_Validation_Allele2\tVerification_Status\tValidation_Status\tMutation_Status\tSequencing_Phase\tSequence_Source\tValidation_Method\tScore\tBAM_File\tSequencer\tTumor_Sample_UUID\tMatched_Norm_Sample_UUID\tHGVSc\tHGVSp\tHGVSp_Short\tTranscript_ID\tExon_Number\tt_depth\tt_ref_count\tt_alt_count\tn_depth\tn_ref_count\tn_alt_count\tall_effects\tAllele\tGene\tFeature\tFeature_type\tConsequence\tcDNA_position\tCDS_position\tProtein_position\tAmino_acids\tCodons\tExisting_variation\tALLELE_NUM\tDISTANCE\tSTRAND_VEP\tSYMBOL\tSYMBOL_SOURCE\tHGNC_ID\tBIOTYPE\tCANONICAL\tCCDS\tENSP\tSWISSPROT\tTREMBL\tUNIPARC\tRefSeq\tSIFT\tPolyPhen\tEXON\tINTRON\tDOMAINS\tAF\tAFR_AF\tAMR_AF\tASN_AF\tEAS_AF\tEUR_AF\tSAS_AF\tAA_AF\tEA_AF\tCLIN_SIG\tSOMATIC\tPUBMED\tMOTIF_NAME\tMOTIF_POS\tHIGH_INF_POS\tMOTIF_SCORE_CHANGE\tIMPACT\tPICK\tVARIANT_CLASS\tTSL\tHGVS_OFFSET\tPHENO\tMINIMISED\tGENE_PHENO\tFILTER\tflanking_bps\tvcf_id\tvcf_qual\tgnomADe_AF\tgnomADe_AFR_AF\tgnomADe_AMR_AF\tgnomADe_ASJ_AF\tgnomADe_EAS_AF\tgnomADe_FIN_AF\tgnomADe_NFE_AF\tgnomADe_OTH_AF\tgnomADe_SAS_AF\tgnomADg_AF\tMAX_AF\tMAX_AF_POPS\tvcf_pos\tt_AD\tn_AD\tt_DP\tn_DP\tt_AF\tn_AF\tt_GT\tn_GT\tt_AU\tn_AU\tt_CU\tn_CU\tt_GU\tn_GU\tt_TU\tn_TU\tt_TAR\tn_TAR\tt_TIR\tn_TIR\tt_TOR\tn_TOR\tCaller\tcallers\tfilters\tFILTER_consensus\tisconsensus", + "Unknown\t0\t.\tGRCh38\tchr7\t139832913\t139832913\t+\tIGR\tSNP\tG\tG\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t14\t8\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGA\t.\t159\t\t\t\t\t\t\t\t\t\t\t\t\t139832913\t14.8\t3\t22\t3\t0.364\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t139832913\t139832913\t+\tIGR\tSNP\tG\tG\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24\t16\t8\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tAGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139832913\t16.8\t3\t24\t3\t\t\t0/1\t./.\t0\t0\t8\t0\t16\t3\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t139836268\t139836268\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t26\t18\t8\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGT\t.\t142\t\t\t\t\t\t\t\t\t\t\t\t\t139836268\t18.8\t1\t26\t1\t0.308\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t139836268\t139836268\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t26\t18\t8\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139836268\t18.8\t1\t26\t1\t\t\t0/1\t./.\t8\t0\t0\t0\t18\t1\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t139839306\t139839306\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t10\t3\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTGA\t.\t55\t\t\t\t\t\t\t\t\t\t\t\t\t139839306\t10.3\t2\t13\t2\t0.231\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t139839306\t139839306\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t14\t11\t3\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139839306\t11.3\t2\t14\t2\t\t\t0/1\t./.\t3\t0\t0\t0\t11\t2\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t139840078\t139840078\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t11\t2\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTGG\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t139840078\t11.2\t0\t13\t0\t0.154\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t139840078\t139840078\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t10\t2\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTGG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139840078\t10.2\t0\t13\t0\t\t\t0/1\t./.\t0\t0\t0\t0\t10\t0\t2\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t139861816\t139861816\t+\tIGR\tSNP\tA\tG\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t1\t3\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAG\t.\t50\t\t\t\t\t\t\t\t\t\t\t\t\t139861816\t1.3\t3\t4\t3\t0.75\t0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t139861816\t139861816\t+\tIGR\tSNP\tA\tG\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t1\t3\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tAAG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139861816\t1.3\t3\t4\t3\t\t\t1/1\t./.\t1\t3\t0\t0\t3\t0\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t139864673\t139864673\t+\tIGR\tSNP\tC\tC\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t5\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGCT\t.\t55\t\t\t\t\t\t\t\t\t\t\t\t\t139864673\t5.2\t1\t7\t1\t0.286\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t139864673\t139864673\t+\tIGR\tSNP\tC\tC\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGCT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139864673\t6.2\t1\t8\t1\t\t\t0/1\t./.\t2\t0\t6\t1\t0\t0\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t139941097\t139941097\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t15\t12\t3\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATC\t.\t62\t\t\t\t\t\t\t\t\t\t\t\t\t139941097\t12.3\t0\t15\t0\t0.2\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t139941097\t139941097\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t15\t12\t3\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tATC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139941097\t12.3\t0\t15\t0\t\t\t0/1\t./.\t0\t0\t3\t0\t0\t0\t12\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t139943319\t139943319\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t12\t9\t3\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGCG\t.\t75\t\t\t\t\t\t\t\t\t\t\t\t\t139943319\t9.3\t1\t12\t1\t0.25\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t139943319\t139943319\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t10\t3\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGCG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139943319\t10.3\t1\t13\t1\t\t\t0/1\t./.\t0\t0\t10\t1\t0\t0\t3\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t139948123\t139948123\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCCC\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t139948123\t6.2\t1\t8\t1\t0.25\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t139948123\t139948123\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCCC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139948123\t6.2\t2\t8\t2\t\t\t0/1\t./.\t0\t0\t6\t2\t0\t0\t2\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t139964882\t139964882\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t11\t2\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTCA\t.\t55\t\t\t\t\t\t\t\t\t\t\t\t\t139964882\t11.2\t2\t13\t2\t0.154\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t139964882\t139964882\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t14\t12\t2\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTCA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139964882\t12.2\t2\t14\t2\t\t\t0/1\t./.\t0\t0\t12\t2\t0\t0\t2\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t139988205\t139988205\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCGC\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t139988205\t6.2\t1\t8\t1\t0.25\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t139988205\t139988205\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCGC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139988205\t6.2\t1\t8\t1\t\t\t0/1\t./.\t2\t0\t0\t0\t6\t1\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t139992039\t139992039\t+\tIGR\tSNP\tC\tA\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t2\t5\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCCC\t.\t105\t\t\t\t\t\t\t\t\t\t\t\t\t139992039\t2.5\t0\t7\t0\t0.714\t0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t139992039\t139992039\t+\tIGR\tSNP\tC\tA\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t2\t5\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCCC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139992039\t2.5\t2\t7\t2\t\t\t1/1\t./.\t5\t0\t2\t2\t0\t0\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140000300\t140000300\t+\tIGR\tSNP\tC\tG\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t1\t6\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tACA\t.\t120\t\t\t\t\t\t\t\t\t\t\t\t\t140000300\t1.6\t0\t7\t0\t0.857\t0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140000300\t140000300\t+\tIGR\tSNP\tC\tG\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t1\t6\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tACA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140000300\t1.6\t0\t7\t0\t\t\t1/1\t./.\t0\t0\t1\t0\t6\t0\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140001893\t140001893\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t5\t3\t4\t4\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTCA\t.\t73\t\t\t\t\t\t\t\t\t\t\t\t\t140001893\t5.3\t4\t8\t4\t0.375\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140001893\t140001893\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t5\t3\t4\t4\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTCA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140001893\t5.3\t4\t8\t4\t\t\t0/1\t./.\t0\t0\t5\t4\t0\t0\t3\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140001971\t140001971\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t2\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCCC\t.\t50\t\t\t\t\t\t\t\t\t\t\t\t\t140001971\t2.2\t1\t4\t1\t0.5\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140001971\t140001971\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t2\t2\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCCC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140001971\t2.2\t2\t4\t2\t\t\t0/1\t./.\t0\t0\t2\t2\t0\t0\t2\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140006043\t140006043\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t6\t2\t4\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGCG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140006043\t2.4\t3\t6\t3\t\t\t0/1\t./.\t0\t0\t2\t3\t0\t0\t4\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tLowEVS|minGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140006043\t140006043\t+\tIGR\tSNP\tC\tT\tT\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t1\t4\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGCG\t.\t85\t\t\t\t\t\t\t\t\t\t\t\t\t140006043\t1.4\t3\t5\t3\t0.8\t0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tLowEVS|minGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140011157\t140011157\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t5\t8\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t86\t\t\t\t\t\t\t\t\t\t\t\t\t140011157\t5.8\t2\t13\t2\t0.615\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140011157\t140011157\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t12\t5\t7\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tAAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140011157\t5.7\t2\t12\t2\t\t\t0/1\t./.\t5\t2\t0\t0\t7\t0\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140011178\t140011178\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t8\t5\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTAA\t.\t59\t\t\t\t\t\t\t\t\t\t\t\t\t140011178\t8.5\t2\t13\t2\t0.385\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140011178\t140011178\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t12\t8\t3\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTAA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140011178\t8.3\t2\t12\t2\t\t\t0/1\t./.\t8\t2\t0\t0\t3\t0\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140012618\t140012618\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t9\t5\t4\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t57\t\t\t\t\t\t\t\t\t\t\t\t\t140012618\t5.4\t2\t9\t2\t0.444\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|LowEVS|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140012618\t140012618\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t5\t3\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140012618\t5.3\t2\t8\t2\t\t\t0/1\t./.\t0\t0\t3\t0\t0\t0\t5\t2\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|LowEVS|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140012739\t140012739\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t8\t10\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAT\t.\t111\t\t\t\t\t\t\t\t\t\t\t\t\t140012739\t8.1\t3\t18\t3\t0.556\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140012739\t140012739\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t8\t10\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140012739\t8.1\t3\t18\t3\t\t\t0/1\t./.\t8\t3\t0\t0\t10\t0\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140027870\t140027870\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t92\t57\t35\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTC\t.\t670\t\t\t\t\t\t\t\t\t\t\t\t\t140027870\t57.35\t0\t92\t0\t0.38\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140027870\t140027870\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t92\t57\t34\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140027870\t57.34\t0\t92\t0\t\t\t0/1\t./.\t0\t0\t34\t0\t0\t0\t57\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140029645\t140029645\t+\tIGR\tDEL\tA\tA\t-\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t81\t73\t8\t1\t1\t0\t\t-\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tdeletion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGAA\t.\t91\t\t\t\t\t\t\t\t\t\t\t\t\t140029644\t73.8\t1\t81\t1\t0.099\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140029645\t140029645\t+\tIGR\tDEL\tA\tA\t-\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t83\t67\t8\t1\t1\t0\t\t-\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tdeletion\t\t\t\t\t\tLowDepth;LowEVS\tGGAA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140029644\t67.8\t1\t83\t1\t\t\t0/1\t./.\t\t\t\t\t\t\t\t\t67.7\t1.1\t8.8\t0\t8.6\t0\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140030471\t140030471\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t106\t64\t42\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCGC\t.\t852\t\t\t\t\t\t\t\t\t\t\t\t\t140030471\t64.42\t0\t106\t0\t0.396\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140030471\t140030471\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t107\t67\t40\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCGC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140030471\t67.4\t0\t107\t0\t\t\t0/1\t./.\t40\t0\t0\t0\t67\t0\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140030498\t140030498\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t119\t107\t12\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t142\t\t\t\t\t\t\t\t\t\t\t\t\t140030498\t107.12\t0\t119\t0\t0.101\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140030498\t140030498\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t121\t109\t10\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140030498\t109.1\t0\t121\t0\t\t\t0/1\t./.\t1\t0\t10\t0\t1\t0\t109\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140030515\t140030515\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t137\t116\t21\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTT\t.\t324\t\t\t\t\t\t\t\t\t\t\t\t\t140030515\t116.21\t0\t137\t0\t0.153\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140030515\t140030515\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t141\t121\t20\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140030515\t121.2\t0\t141\t0\t\t\t0/1\t./.\t0\t0\t20\t0\t0\t0\t121\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140030554\t140030554\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t123\t115\t8\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATG\t.\t80\t\t\t\t\t\t\t\t\t\t\t\t\t140030554\t115.8\t1\t123\t1\t0.065\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140030554\t140030554\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t130\t124\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tATG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140030554\t124.6\t1\t130\t1\t\t\t0/1\t./.\t0\t0\t6\t0\t0\t0\t124\t1\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140030567\t140030567\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t108\t81\t27\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTG\t.\t322\t\t\t\t\t\t\t\t\t\t\t\t\t140030567\t81.27\t1\t108\t1\t0.25\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140030567\t140030567\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t107\t82\t24\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140030567\t82.24\t1\t107\t1\t\t\t0/1\t./.\t0\t0\t24\t0\t0\t0\t82\t1\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140030629\t140030629\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t74\t54\t20\t2\t1\t1\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tmaxGermlineRelRawBaseQual;maxGermlineVAF;minGermlineDepth\tTAC\t.\t289\t\t\t\t\t\t\t\t\t\t\t\t\t140030629\t54.2\t1.1\t74\t2\t0.27\t0.5\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tmaxGermlineRelRawBaseQual;maxGermlineVAF;minGermlineDepth|LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140030629\t140030629\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t76\t58\t16\t2\t1\t1\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTAC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140030629\t58.16\t1.1\t76\t2\t\t\t0/1\t./.\t58\t1\t0\t0\t16\t1\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tmaxGermlineRelRawBaseQual;maxGermlineVAF;minGermlineDepth|LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140031273\t140031273\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t92\t78\t14\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTG\t.\t168\t\t\t\t\t\t\t\t\t\t\t\t\t140031273\t78.14\t0\t92\t0\t0.152\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140031273\t140031273\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t96\t82\t14\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140031273\t82.14\t0\t96\t0\t\t\t0/1\t./.\t0\t0\t14\t0\t0\t0\t82\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140032350\t140032350\t+\tIGR\tDEL\tA\tA\t-\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t58\t50\t7\t1\t1\t0\t\t-\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tdeletion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTAA\t.\t93\t\t\t\t\t\t\t\t\t\t\t\t\t140032349\t50.7\t1\t58\t1\t0.121\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140032350\t140032350\t+\tIGR\tDEL\tA\tA\t-\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t61\t49\t8\t1\t1\t0\t\t-\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tdeletion\t\t\t\t\t\tLowDepth;LowEVS\tTTAA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140032349\t49.8\t1\t61\t1\t\t\t0/1\t./.\t\t\t\t\t\t\t\t\t49.5\t1.1\t8.8\t0\t4.3\t0\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140032427\t140032427\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t51\t43\t8\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t116\t\t\t\t\t\t\t\t\t\t\t\t\t140032427\t43.8\t3\t51\t3\t0.157\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140032427\t140032427\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t51\t43\t8\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140032427\t43.8\t3\t51\t3\t\t\t0/1\t./.\t0\t0\t8\t0\t0\t0\t43\t3\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140032428\t140032428\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t47\t41\t6\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t91\t\t\t\t\t\t\t\t\t\t\t\t\t140032428\t41.6\t3\t47\t3\t0.128\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140032428\t140032428\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t52\t46\t6\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140032428\t46.6\t3\t52\t3\t\t\t0/1\t./.\t0\t0\t6\t0\t0\t0\t46\t3\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140033050\t140033050\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t89\t73\t16\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTC\t.\t223\t\t\t\t\t\t\t\t\t\t\t\t\t140033050\t73.16\t2\t89\t2\t0.18\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowEVS|minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140033050\t140033050\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t94\t78\t14\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140033050\t78.14\t2\t94\t2\t\t\t0/1\t./.\t0\t0\t14\t0\t0\t0\t78\t2\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowEVS|minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140033091\t140033091\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t117\t103\t14\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTA\t.\t163\t\t\t\t\t\t\t\t\t\t\t\t\t140033091\t103.14\t3\t117\t3\t0.12\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowEVS|minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140033091\t140033091\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t118\t104\t12\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140033091\t104.12\t3\t118\t3\t\t\t0/1\t./.\t0\t0\t12\t0\t0\t0\t104\t3\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowEVS|minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140035900\t140035900\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t84\t60\t24\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGGA\t.\t337\t\t\t\t\t\t\t\t\t\t\t\t\t140035900\t60.24\t0\t84\t0\t0.286\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140035900\t140035900\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t84\t49\t22\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140035900\t49.22\t0\t84\t0\t\t\t0/1\t./.\t22\t0\t1\t0\t49\t0\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140037992\t140037992\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t215\t119\t96\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCAT\t.\t1245\t\t\t\t\t\t\t\t\t\t\t\t\t140037992\t119.96\t3\t215\t3\t0.447\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowEVS|minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140037992\t140037992\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t217\t119\t96\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140037992\t119.96\t3\t217\t3\t\t\t0/1\t./.\t119\t3\t0\t0\t96\t0\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowEVS|minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140039778\t140039778\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t118\t49\t69\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tTCC\t.\t1214\t\t\t\t\t\t\t\t\t\t\t\t\t140039778\t49.69\t2\t118\t2\t0.585\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowEVS|minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140039778\t140039778\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t119\t50\t67\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTCC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140039778\t50.67\t2\t119\t2\t\t\t0/1\t./.\t0\t0\t50\t2\t0\t0\t67\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowEVS|minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140043167\t140043167\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t9\t3\t6\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t106\t\t\t\t\t\t\t\t\t\t\t\t\t140043167\t3.6\t5\t9\t5\t0.667\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140043167\t140043167\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t9\t3\t6\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140043167\t3.6\t5\t9\t5\t\t\t0/1\t./.\t0\t0\t6\t0\t0\t0\t3\t5\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140058002\t140058002\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t250\t246\t4\t98\t98\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tweak_evidence\tGGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140058002\t246,4\t98,0\t250\t98\t0.014\t0.012\t0/1\t0/0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|unknown|realign|realign|realign\tweak_evidence|minTumorQual;minTumorVAF|LowEVS|weak_evidence|minTumorQual;minTumorVAF|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140058002\t140058002\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t254\t250\t4\t99\t99\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminTumorQual;minTumorVAF\tGGT\t.\t66\t\t\t\t\t\t\t\t\t\t\t\t\t140058002\t250.4\t99\t254\t99\t0.016\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|unknown|realign|realign|realign\tweak_evidence|minTumorQual;minTumorVAF|LowEVS|weak_evidence|minTumorQual;minTumorVAF|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140058002\t140058002\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t260\t255\t4\t101\t101\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140058002\t255.4\t101\t260\t101\t\t\t0/1\t./.\t4\t0\t0\t0\t255\t101\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|unknown|realign|realign|realign\tweak_evidence|minTumorQual;minTumorVAF|LowEVS|weak_evidence|minTumorQual;minTumorVAF|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140085224\t140085224\t+\tIGR\tSNP\tC\tC\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t258\t105\t153\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCCA\t.\t3203\t\t\t\t\t\t\t\t\t\t\t\t\t140085224\t105.153\t4\t258\t4\t0.593\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign|realign\tminGermlineDepth|LowEVS|minGermlineDepth|LowEVS|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140085224\t140085224\t+\tIGR\tSNP\tC\tC\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t295\t124\t169\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCCA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140085224\t124.169\t4\t295\t4\t\t\t0/1\t./.\t169\t0\t124\t4\t0\t0\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign|realign\tminGermlineDepth|LowEVS|minGermlineDepth|LowEVS|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140089652\t140089653\t+\tIGR\tINS\t-\t-\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t175\t165\t10\t3\t3\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGA\t.\t136\t\t\t\t\t\t\t\t\t\t\t\t\t140089652\t165.1\t3\t175\t3\t0.057\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140089652\t140089653\t+\tIGR\tINS\t-\t-\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t175\t165\t10\t3\t3\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGA\t.\t143\t\t\t\t\t\t\t\t\t\t\t\t\t140089652\t165.1\t3\t175\t3\t0.057\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140089652\t140089653\t+\tIGR\tINS\t-\t-\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t206\t174\t10\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tLowEVS\tGGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140089652\t174.1\t4\t206\t4\t\t\t0/1\t./.\t\t\t\t\t\t\t\t\t174.175\t4.4\t10.1\t0\t22.21\t0\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140094509\t140094509\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t13\t7\t1\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGA\t.\t58\t\t\t\t\t\t\t\t\t\t\t\t\t140094509\t13.7\t0\t22\t1\t0.318\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140094509\t140094509\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t25\t17\t6\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140094509\t17.6\t1\t25\t1\t\t\t0/1\t./.\t6\t0\t0\t0\t17\t1\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140095793\t140095793\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t58\t38\t20\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tTTG\t.\t256\t\t\t\t\t\t\t\t\t\t\t\t\t140095793\t38.2\t0\t58\t0\t0.345\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140095793\t140095793\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t58\t38\t20\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140095793\t38.2\t0\t58\t0\t\t\t0/1\t./.\t0\t0\t20\t0\t0\t0\t38\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140097703\t140097703\t+\tIGR\tSNP\tA\tA\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t2\t2\t33\t33\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tweak_evidence\tGAC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140097703\t2,2\t33,0\t4\t33\t0.4\t0.03\t0/1\t0/0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tweak_evidence|LowEVS|weak_evidence|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140097703\t140097703\t+\tIGR\tSNP\tA\tA\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t2\t2\t33\t33\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGAC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140097703\t2.2\t33\t4\t33\t\t\t0/1\t./.\t2\t33\t0\t0\t0\t0\t2\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tweak_evidence|LowEVS|weak_evidence|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140107704\t140107704\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t14\t4\t9\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAT\t.\t124\t\t\t\t\t\t\t\t\t\t\t\t\t140107704\t4.9\t1\t14\t1\t0.643\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140107704\t140107704\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t14\t4\t9\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140107704\t4.9\t1\t14\t1\t\t\t0/1\t./.\t4\t1\t0\t0\t9\t0\t1\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140108207\t140108207\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t14\t4\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGCG\t.\t99\t\t\t\t\t\t\t\t\t\t\t\t\t140108207\t14.4\t1\t18\t1\t0.222\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140108207\t140108207\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t14\t4\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGCG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140108207\t14.4\t1\t18\t1\t\t\t0/1\t./.\t0\t0\t14\t1\t0\t0\t4\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140108245\t140108245\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t26\t20\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t101\t\t\t\t\t\t\t\t\t\t\t\t\t140108245\t20.6\t1\t26\t1\t0.231\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140108245\t140108245\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t26\t20\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140108245\t20.6\t1\t26\t1\t\t\t0/1\t./.\t0\t0\t6\t0\t0\t0\t20\t1\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140112904\t140112904\t+\tIGR\tSNP\tA\tT\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t9\t2\t7\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCAT\t.\t185\t\t\t\t\t\t\t\t\t\t\t\t\t140112904\t2.7\t3\t9\t3\t0.778\t0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowEVS|minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140112904\t140112904\t+\tIGR\tSNP\tA\tT\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t9\t2\t7\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140112904\t2.7\t3\t9\t3\t\t\t1/1\t./.\t2\t3\t0\t0\t0\t0\t7\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowEVS|minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140120859\t140120859\t+\tIGR\tSNP\tT\tT\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t14\t6\t8\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t159\t\t\t\t\t\t\t\t\t\t\t\t\t140120859\t6.8\t3\t14\t3\t0.571\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140120859\t140120859\t+\tIGR\tSNP\tT\tT\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t15\t6\t9\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140120859\t6.9\t3\t15\t3\t\t\t0/1\t./.\t0\t0\t0\t0\t9\t0\t6\t3\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140121364\t140121364\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t14\t10\t4\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCGT\t.\t81\t\t\t\t\t\t\t\t\t\t\t\t\t140121364\t10.4\t1\t14\t1\t0.286\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140121364\t140121364\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t18\t4\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140121364\t18.4\t1\t22\t1\t\t\t0/1\t./.\t4\t0\t0\t0\t18\t1\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140124514\t140124514\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t20\t2\t22\t22\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminTumorQual\tTGT\t.\t55\t\t\t\t\t\t\t\t\t\t\t\t\t140124514\t20.2\t22\t22\t22\t0.091\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminTumorQual|LowEVS|minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140124514\t140124514\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t20\t2\t22\t22\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140124514\t20.2\t22\t22\t22\t\t\t0/1\t./.\t2\t0\t0\t0\t20\t22\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminTumorQual|LowEVS|minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140126788\t140126788\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t89\t86\t3\t73\t73\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tweak_evidence\tTTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140126788\t86,3\t73,0\t89\t73\t0.039\t0.015\t0/1\t0/0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign|realign\tweak_evidence|LowEVS|weak_evidence|minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140126788\t140126788\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t90\t87\t3\t76\t76\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140126788\t87.3\t76\t90\t76\t\t\t0/1\t./.\t0\t0\t3\t0\t0\t0\t87\t76\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign|realign\tweak_evidence|LowEVS|weak_evidence|minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140156990\t140156990\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t140156990\t0.3\t2\t3\t2\t1\t0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140156990\t140156990\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140156990\t0.3\t2\t3\t2\t\t\t1/1\t./.\t0\t0\t3\t0\t0\t0\t0\t2\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140163410\t140163410\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t2\t3\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCGA\t.\t74\t\t\t\t\t\t\t\t\t\t\t\t\t140163410\t2.3\t2\t5\t2\t0.6\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140163410\t140163410\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t2\t3\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140163410\t2.3\t2\t5\t2\t\t\t0/1\t./.\t3\t0\t0\t0\t2\t2\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140337265\t140337265\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24\t22\t2\t73\t73\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tmaxGermlineRelRawBaseQual;minTumorQual\tTTA\t.\t52\t\t\t\t\t\t\t\t\t\t\t\t\t140337265\t22.2\t73\t24\t73\t0.083\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign|realign\tmaxGermlineRelRawBaseQual;minTumorQual|LowEVS|minTumorQual|LowEVS|maxGermlineRelRawBaseQual;minTumorQual\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140337265\t140337265\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t23\t21\t2\t101\t101\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140337265\t21.2\t101\t23\t101\t\t\t0/1\t./.\t2\t0\t0\t0\t0\t0\t21\t101\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign|realign\tmaxGermlineRelRawBaseQual;minTumorQual|LowEVS|minTumorQual|LowEVS|maxGermlineRelRawBaseQual;minTumorQual\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140340845\t140340845\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t17\t2\t15\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t155\t\t\t\t\t\t\t\t\t\t\t\t\t140340845\t2.15\t0\t17\t0\t0.882\t0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140340845\t140340845\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t17\t2\t15\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140340845\t2.15\t0\t17\t0\t\t\t1/1\t./.\t0\t0\t15\t0\t0\t0\t2\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140340869\t140340869\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t16\t4\t12\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTT\t.\t161\t\t\t\t\t\t\t\t\t\t\t\t\t140340869\t4.12\t0\t16\t0\t0.75\t0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140340869\t140340869\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t16\t3\t11\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140340869\t3.11\t0\t16\t0\t\t\t0/1\t./.\t0\t0\t11\t0\t0\t0\t3\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140341845\t140341845\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t27\t25\t2\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGCC\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t140341845\t25.2\t3\t27\t3\t0.074\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140341845\t140341845\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t26\t24\t2\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGCC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140341845\t24.2\t3\t26\t3\t\t\t0/1\t./.\t0\t0\t24\t3\t0\t0\t2\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140343674\t140343675\t+\tIGR\tINS\t-\t-\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t5\t3\t5\t5\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGA\t.\t65\t\t\t\t\t\t\t\t\t\t\t\t\t140343674\t5.3\t5\t8\t5\t0.375\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|PASS|minGermlineDepth;minTumorQual|PASS\tPASS\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140343674\t140343675\t+\tIGR\tINS\t-\t-\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t10\t5\t4\t7\t5\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tPASS\tGGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140343674\t5.4\t5\t10\t7\t\t\t0/1\t./.\t\t\t\t\t\t\t\t\t5.6\t5.5\t4.4\t0\t1.1\t1.1\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|PASS|minGermlineDepth;minTumorQual|PASS\tPASS\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140353659\t140353659\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t10\t4\t6\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t134\t\t\t\t\t\t\t\t\t\t\t\t\t140353659\t4.6\t2\t10\t2\t0.6\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140353659\t140353659\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t10\t4\t6\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tAAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140353659\t4.6\t2\t10\t2\t\t\t0/1\t./.\t4\t2\t0\t0\t6\t0\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140353659\t140353659\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t2\t3\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t59\t\t\t\t\t\t\t\t\t\t\t\t\t140353659\t2.3\t2\t5\t2\t0.6\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140369391\t140369391\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t12\t6\t6\t3\t3\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATT\t.\t129\t\t\t\t\t\t\t\t\t\t\t\t\t140369391\t6.6\t3\t12\t3\t0.5\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140369391\t140369391\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t12\t6\t6\t3\t3\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tATT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140369391\t6.6\t3\t12\t3\t\t\t0/1\t./.\t6\t0\t0\t0\t0\t0\t6\t3\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140370578\t140370578\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t5\t3\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tACA\t.\t64\t\t\t\t\t\t\t\t\t\t\t\t\t140370578\t5.3\t2\t8\t2\t0.375\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140370578\t140370578\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t5\t3\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tACA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140370578\t5.3\t2\t8\t2\t\t\t0/1\t./.\t0\t0\t5\t2\t0\t0\t3\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140402540\t140402540\t+\tIGR\tSNP\tA\tG\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t1\t4\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGAT\t.\t99\t\t\t\t\t\t\t\t\t\t\t\t\t140402540\t1.4\t2\t5\t2\t0.8\t0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140402540\t140402540\t+\tIGR\tSNP\tA\tG\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t1\t4\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140402540\t1.4\t2\t5\t2\t\t\t1/1\t./.\t1\t2\t0\t0\t4\t0\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140402551\t140402551\t+\tIGR\tSNP\tG\tA\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t6\t1\t5\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGA\t.\t103\t\t\t\t\t\t\t\t\t\t\t\t\t140402551\t1.5\t2\t6\t2\t0.833\t0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140402551\t140402551\t+\tIGR\tSNP\tG\tA\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t6\t1\t5\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140402551\t1.5\t2\t6\t2\t\t\t1/1\t./.\t5\t0\t0\t0\t1\t2\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140426299\t140426299\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t65\t63\t2\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tACT\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t140426299\t63.2\t3\t65\t3\t0.031\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140426299\t140426299\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t65\t63\t2\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tACT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140426299\t63.2\t3\t65\t3\t\t\t0/1\t./.\t0\t0\t63\t3\t0\t0\t2\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140427404\t140427404\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t21\t9\t12\t3\t3\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCGG\t.\t69\t\t\t\t\t\t\t\t\t\t\t\t\t140427404\t9.12\t3\t21\t3\t0.571\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140427404\t140427404\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t9\t9\t3\t3\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCGG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140427404\t9.9\t3\t18\t3\t\t\t0/1\t./.\t9\t0\t0\t0\t9\t3\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140427570\t140427570\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t62\t56\t6\t4\t4\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAC\t.\t83\t\t\t\t\t\t\t\t\t\t\t\t\t140427570\t56.6\t4\t62\t4\t0.097\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140427570\t140427570\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t62\t56\t6\t4\t4\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tAAC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140427570\t56.6\t4\t62\t4\t\t\t0/1\t./.\t56\t4\t0\t0\t6\t0\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140433091\t140433091\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t3\t4\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGG\t.\t63\t\t\t\t\t\t\t\t\t\t\t\t\t140433091\t3.4\t2\t7\t2\t0.571\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140433091\t140433091\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t3\t4\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGGG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140433091\t3.4\t2\t7\t2\t\t\t0/1\t./.\t0\t0\t0\t0\t3\t2\t4\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140434409\t140434409\t+\tIGR\tSNP\tT\tG\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t2\t0\t2\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGTC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140434409\t0.2\t2\t2\t2\t\t\t1/1\t./.\t0\t0\t0\t0\t2\t0\t0\t2\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tLowEVS|minGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140434409\t140434409\t+\tIGR\tSNP\tT\tT\tG\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t6\t2\t4\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTC\t.\t104\t\t\t\t\t\t\t\t\t\t\t\t\t140434409\t2.4\t2\t6\t2\t0.667\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tLowEVS|minGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140436343\t140436343\t+\tIGR\tSNP\tA\tG\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t64\t\t\t\t\t\t\t\t\t\t\t\t\t140436343\t0.3\t1\t3\t1\t1\t0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140436343\t140436343\t+\tIGR\tSNP\tA\tG\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140436343\t0.3\t1\t3\t1\t\t\t1/1\t./.\t0\t1\t0\t0\t3\t0\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140436679\t140436679\t+\tIGR\tSNP\tG\tA\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t11\t2\t9\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCGC\t.\t210\t\t\t\t\t\t\t\t\t\t\t\t\t140436679\t2.9\t2\t11\t2\t0.818\t0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowEVS|minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140436679\t140436679\t+\tIGR\tSNP\tG\tA\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t12\t3\t9\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCGC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140436679\t3.9\t2\t12\t2\t\t\t1/1\t./.\t9\t0\t0\t0\t3\t2\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowEVS|minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140456687\t140456687\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t307\t300\t7\t36\t36\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tPASS\tTCC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140456687\t300,7\t36,0\t307\t36\t0.027\t0.028\t0/1\t0/0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tPASS|LowEVS|PASS|LowEVS\tPASS\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140456687\t140456687\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t296\t289\t7\t36\t36\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTCC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140456687\t289.7\t36\t296\t36\t\t\t0/1\t./.\t0\t0\t289\t36\t0\t0\t7\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tPASS|LowEVS|PASS|LowEVS\tPASS\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140458030\t140458030\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t25\t11\t14\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tACA\t.\t293\t\t\t\t\t\t\t\t\t\t\t\t\t140458030\t11.14\t1\t25\t1\t0.56\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|minGermlineDepth;minTumorQual|minGermlineDepth|minGermlineDepth;minTumorQual\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140458030\t140458030\t+\tIGR\tSNP\tC\tT\tT\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tACA\t.\t63\t\t\t\t\t\t\t\t\t\t\t\t\t140458030\t0.3\t1\t3\t1\t1\t0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|minGermlineDepth;minTumorQual|minGermlineDepth|minGermlineDepth;minTumorQual\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140460142\t140460142\t+\tIGR\tSNP\tG\tG\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24\t13\t11\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGA\t.\t90\t\t\t\t\t\t\t\t\t\t\t\t\t140460142\t13.11\t4\t24\t4\t0.458\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140460142\t140460142\t+\tIGR\tSNP\tG\tG\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t21\t13\t8\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140460142\t13.8\t4\t21\t4\t\t\t0/1\t./.\t0\t0\t8\t0\t13\t4\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140460152\t140460152\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t27\t16\t11\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t95\t\t\t\t\t\t\t\t\t\t\t\t\t140460152\t16.11\t2\t27\t2\t0.407\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140460152\t140460152\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t21\t12\t9\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140460152\t12.9\t2\t21\t2\t\t\t0/1\t./.\t0\t0\t9\t0\t0\t0\t12\t2\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140460528\t140460528\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t8\t10\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t99\t\t\t\t\t\t\t\t\t\t\t\t\t140460528\t8.1\t5\t18\t5\t0.556\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140460528\t140460528\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t8\t10\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140460528\t8.1\t5\t18\t5\t\t\t0/1\t./.\t0\t0\t10\t0\t0\t0\t8\t5\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140460887\t140460887\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t96\t53\t43\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tATT\t.\t860\t\t\t\t\t\t\t\t\t\t\t\t\t140460887\t53.43\t3\t96\t3\t0.448\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowEVS|minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140460887\t140460887\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t96\t53\t43\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tATT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140460887\t53.43\t3\t96\t3\t\t\t0/1\t./.\t0\t0\t43\t0\t0\t0\t53\t3\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowEVS|minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140461114\t140461114\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t48\t33\t15\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tATA\t.\t233\t\t\t\t\t\t\t\t\t\t\t\t\t140461114\t33.15\t0\t48\t0\t0.313\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140461114\t140461114\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t49\t34\t14\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tATA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140461114\t34.14\t0\t49\t0\t\t\t0/1\t./.\t0\t0\t14\t0\t0\t0\t34\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140461126\t140461126\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t44\t30\t14\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTG\t.\t310\t\t\t\t\t\t\t\t\t\t\t\t\t140461126\t30.14\t0\t44\t0\t0.318\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140461126\t140461126\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t44\t30\t13\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140461126\t30.13\t0\t44\t0\t\t\t0/1\t./.\t13\t0\t0\t0\t0\t0\t30\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140461398\t140461398\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t74\t68\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t78\t\t\t\t\t\t\t\t\t\t\t\t\t140461398\t68.6\t1\t74\t1\t0.081\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140461398\t140461398\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t75\t69\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140461398\t69.6\t1\t75\t1\t\t\t0/1\t./.\t0\t0\t6\t0\t0\t0\t69\t1\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140461521\t140461521\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t73\t50\t23\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTA\t.\t268\t\t\t\t\t\t\t\t\t\t\t\t\t140461521\t50.23\t4\t73\t4\t0.315\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowEVS|minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140461521\t140461521\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t75\t51\t23\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140461521\t51.23\t4\t75\t4\t\t\t0/1\t./.\t0\t0\t23\t0\t0\t0\t51\t4\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowEVS|minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140461601\t140461601\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t59\t51\t8\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATT\t.\t113\t\t\t\t\t\t\t\t\t\t\t\t\t140461601\t51.8\t2\t59\t2\t0.136\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140461601\t140461601\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t60\t52\t8\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tATT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140461601\t52.8\t2\t60\t2\t\t\t0/1\t./.\t0\t0\t8\t0\t0\t0\t52\t2\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140462172\t140462172\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t45\t32\t13\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTG\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t140462172\t32.13\t1\t45\t1\t0.289\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140462172\t140462172\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t47\t33\t10\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140462172\t33.1\t1\t47\t1\t\t\t0/1\t./.\t0\t0\t10\t0\t0\t0\t33\t1\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140462261\t140462261\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t89\t79\t10\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTC\t.\t142\t\t\t\t\t\t\t\t\t\t\t\t\t140462261\t79.1\t0\t89\t0\t0.112\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140462261\t140462261\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t89\t79\t10\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140462261\t79.1\t0\t89\t0\t\t\t0/1\t./.\t0\t0\t10\t0\t0\t0\t79\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140462289\t140462289\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t75\t51\t24\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCAA\t.\t338\t\t\t\t\t\t\t\t\t\t\t\t\t140462289\t51.24\t0\t75\t0\t0.32\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140462289\t140462289\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t86\t60\t26\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCAA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140462289\t60.26\t0\t86\t0\t\t\t0/1\t./.\t60\t0\t0\t0\t26\t0\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140462672\t140462672\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t80\t54\t26\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tATA\t.\t394\t\t\t\t\t\t\t\t\t\t\t\t\t140462672\t54.26\t1\t80\t1\t0.325\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140462672\t140462672\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t88\t59\t28\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tATA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140462672\t59.28\t1\t88\t1\t\t\t0/1\t./.\t1\t0\t28\t0\t0\t0\t59\t1\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140462903\t140462903\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t71\t65\t6\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTT\t.\t80\t\t\t\t\t\t\t\t\t\t\t\t\t140462903\t65.6\t2\t71\t2\t0.085\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140462903\t140462903\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t74\t67\t6\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140462903\t67.6\t2\t74\t2\t\t\t0/1\t./.\t0\t0\t6\t0\t0\t0\t67\t2\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140462909\t140462909\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t74\t64\t10\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTG\t.\t58\t\t\t\t\t\t\t\t\t\t\t\t\t140462909\t64.1\t2\t74\t2\t0.135\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140462909\t140462909\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t74\t64\t9\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140462909\t64.9\t2\t74\t2\t\t\t0/1\t./.\t0\t0\t9\t0\t0\t0\t64\t2\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140463129\t140463129\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t64\t62\t2\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGT\t.\t50\t\t\t\t\t\t\t\t\t\t\t\t\t140463129\t62.2\t0\t64\t0\t0.031\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140463129\t140463129\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t65\t63\t2\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140463129\t63.2\t0\t65\t0\t\t\t0/1\t./.\t2\t0\t0\t0\t63\t0\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140463556\t140463556\t+\tIGR\tSNP\tA\tA\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t40\t38\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAG\t.\t57\t\t\t\t\t\t\t\t\t\t\t\t\t140463556\t38.2\t1\t40\t1\t0.05\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140463556\t140463556\t+\tIGR\tSNP\tA\tA\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t37\t35\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCAG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140463556\t35.2\t1\t37\t1\t\t\t0/1\t./.\t35\t1\t0\t0\t0\t0\t2\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140463629\t140463629\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t48\t39\t9\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t78\t\t\t\t\t\t\t\t\t\t\t\t\t140463629\t39.9\t1\t48\t1\t0.188\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140463629\t140463629\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t37\t33\t4\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140463629\t33.4\t1\t37\t1\t\t\t0/1\t./.\t0\t0\t4\t0\t0\t0\t33\t1\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140463641\t140463641\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t45\t39\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t140463641\t39.6\t1\t45\t1\t0.133\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140463641\t140463641\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t35\t31\t4\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140463641\t31.4\t1\t35\t1\t\t\t0/1\t./.\t0\t0\t4\t0\t0\t0\t31\t1\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140463718\t140463718\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t37\t28\t9\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t138\t\t\t\t\t\t\t\t\t\t\t\t\t140463718\t28.9\t1\t37\t1\t0.243\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140463718\t140463718\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t38\t29\t8\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140463718\t29.8\t1\t38\t1\t\t\t0/1\t./.\t0\t0\t8\t0\t0\t0\t29\t1\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140463763\t140463763\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t35\t28\t7\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t81\t\t\t\t\t\t\t\t\t\t\t\t\t140463763\t28.7\t0\t35\t0\t0.2\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140463763\t140463763\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t36\t29\t7\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140463763\t29.7\t0\t36\t0\t\t\t0/1\t./.\t0\t0\t7\t0\t0\t0\t29\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140463948\t140463949\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t20\t16\t4\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTGT\t.\t82\t\t\t\t\t\t\t\t\t\t\t\t\t140463948\t16.4\t3\t20\t3\t0.2\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140463948\t140463949\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t21\t16\t4\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tLowEVS\tTGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140463948\t16.4\t3\t21\t3\t\t\t0/1\t./.\t\t\t\t\t\t\t\t\t16.16\t3.3\t4.4\t0\t1.1\t0\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140464097\t140464097\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t27\t22\t5\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTT\t.\t66\t\t\t\t\t\t\t\t\t\t\t\t\t140464097\t22.5\t3\t27\t3\t0.185\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140464097\t140464097\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t26\t19\t3\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140464097\t19.3\t3\t26\t3\t\t\t0/1\t./.\t0\t0\t3\t0\t0\t0\t19\t3\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140464321\t140464321\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t38\t21\t17\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTT\t.\t214\t\t\t\t\t\t\t\t\t\t\t\t\t140464321\t21.17\t2\t38\t2\t0.447\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|unknown|realign|realign\tminGermlineDepth|minGermlineDepth;minTumorQual|LowEVS|minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140464321\t140464321\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t43\t21\t22\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t142\t\t\t\t\t\t\t\t\t\t\t\t\t140464321\t21.22\t2\t43\t2\t0.512\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|unknown|realign|realign\tminGermlineDepth|minGermlineDepth;minTumorQual|LowEVS|minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140464321\t140464321\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t37\t20\t17\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140464321\t20.17\t3\t37\t3\t\t\t0/1\t./.\t0\t0\t17\t0\t0\t0\t20\t3\t\t\t\t\t\t\tunknown\tunknown|unknown|unknown|realign|realign\tminGermlineDepth|minGermlineDepth;minTumorQual|LowEVS|minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140464322\t140464322\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t43\t33\t10\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t108\t\t\t\t\t\t\t\t\t\t\t\t\t140464322\t33.1\t2\t43\t2\t0.233\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140464322\t140464322\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t38\t33\t5\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140464322\t33.5\t2\t38\t2\t\t\t0/1\t./.\t0\t0\t5\t0\t0\t0\t33\t2\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140464537\t140464537\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t33\t28\t5\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t50\t\t\t\t\t\t\t\t\t\t\t\t\t140464537\t28.5\t2\t33\t2\t0.152\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140464537\t140464537\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t34\t29\t5\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140464537\t29.5\t2\t34\t2\t\t\t0/1\t./.\t0\t0\t5\t0\t0\t0\t29\t2\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140464583\t140464583\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t42\t28\t14\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t69\t\t\t\t\t\t\t\t\t\t\t\t\t140464583\t28.14\t2\t42\t2\t0.333\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140464583\t140464583\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t43\t29\t13\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140464583\t29.13\t2\t43\t2\t\t\t0/1\t./.\t0\t0\t13\t0\t0\t0\t29\t2\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140464861\t140464861\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t19\t3\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATT\t.\t64\t\t\t\t\t\t\t\t\t\t\t\t\t140464861\t19.3\t4\t22\t4\t0.136\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140464861\t140464861\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24\t21\t3\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tATT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140464861\t21.3\t4\t24\t4\t\t\t0/1\t./.\t0\t0\t3\t0\t0\t0\t21\t4\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140464893\t140464893\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t29\t19\t10\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTG\t.\t97\t\t\t\t\t\t\t\t\t\t\t\t\t140464893\t19.1\t3\t29\t3\t0.345\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140464893\t140464893\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t30\t20\t10\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140464893\t20.1\t3\t30\t3\t\t\t0/1\t./.\t0\t0\t10\t0\t0\t0\t20\t3\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140464929\t140464929\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t34\t20\t14\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t128\t\t\t\t\t\t\t\t\t\t\t\t\t140464929\t20.14\t1\t34\t1\t0.412\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140464929\t140464929\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t34\t20\t14\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140464929\t20.14\t3\t34\t3\t\t\t0/1\t./.\t0\t0\t14\t0\t0\t0\t20\t3\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140465241\t140465241\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t57\t51\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t87\t\t\t\t\t\t\t\t\t\t\t\t\t140465241\t51.6\t1\t57\t1\t0.105\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140465241\t140465241\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t61\t56\t5\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140465241\t56.5\t1\t61\t1\t\t\t0/1\t./.\t0\t0\t5\t0\t0\t0\t56\t1\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140465388\t140465388\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t49\t41\t8\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t83\t\t\t\t\t\t\t\t\t\t\t\t\t140465388\t41.8\t1\t49\t1\t0.163\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140465388\t140465388\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t52\t46\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140465388\t46.6\t1\t52\t1\t\t\t0/1\t./.\t0\t0\t6\t0\t0\t0\t46\t1\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140465405\t140465405\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t68\t55\t13\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTG\t.\t211\t\t\t\t\t\t\t\t\t\t\t\t\t140465405\t55.13\t1\t68\t1\t0.191\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140465405\t140465405\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t68\t55\t13\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140465405\t55.13\t1\t68\t1\t\t\t0/1\t./.\t0\t0\t13\t0\t0\t0\t55\t1\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140465442\t140465442\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t100\t77\t23\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTA\t.\t297\t\t\t\t\t\t\t\t\t\t\t\t\t140465442\t77.23\t1\t100\t1\t0.23\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140465442\t140465442\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t98\t75\t21\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140465442\t75.21\t1\t98\t1\t\t\t0/1\t./.\t0\t0\t21\t0\t0\t0\t75\t1\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140465908\t140465908\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t27\t17\t10\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t98\t\t\t\t\t\t\t\t\t\t\t\t\t140465908\t17.1\t1\t27\t1\t0.37\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140465908\t140465908\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t31\t20\t11\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140465908\t20.11\t1\t31\t1\t\t\t0/1\t./.\t0\t0\t11\t0\t0\t0\t20\t1\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140466098\t140466098\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t39\t31\t8\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATA\t.\t138\t\t\t\t\t\t\t\t\t\t\t\t\t140466098\t31.8\t0\t39\t0\t0.205\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140466098\t140466098\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t40\t32\t8\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tATA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140466098\t32.8\t0\t40\t0\t\t\t0/1\t./.\t0\t0\t8\t0\t0\t0\t32\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140467348\t140467348\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t40\t28\t12\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTT\t.\t136\t\t\t\t\t\t\t\t\t\t\t\t\t140467348\t28.12\t0\t40\t0\t0.3\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140467348\t140467348\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t38\t26\t11\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140467348\t26.11\t0\t38\t0\t\t\t0/1\t./.\t0\t0\t11\t0\t0\t0\t26\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140467558\t140467558\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t52\t34\t17\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTA\t.\t284\t\t\t\t\t\t\t\t\t\t\t\t\t140467558\t34.17\t0\t52\t0\t0.327\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth;strandBias|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140467558\t140467558\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t53\t35\t17\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140467558\t35.17\t0\t53\t0\t\t\t0/1\t./.\t1\t0\t17\t0\t0\t0\t35\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth;strandBias|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140468358\t140468358\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t90\t63\t27\t5\t3\t2\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tmaxGermlineRelRawBaseQual;maxGermlineVAF;minGermlineDepth\tGTG\t.\t432\t\t\t\t\t\t\t\t\t\t\t\t\t140468358\t63.27\t3.2\t90\t5\t0.3\t0.4\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tmaxGermlineRelRawBaseQual;maxGermlineVAF;minGermlineDepth|LowEVS|maxGermlineRelRawBaseQual;maxGermlineVAF;minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140468358\t140468358\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t91\t64\t27\t5\t3\t2\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140468358\t64.27\t3.2\t91\t5\t\t\t0/1\t./.\t0\t0\t27\t2\t0\t0\t64\t3\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tmaxGermlineRelRawBaseQual;maxGermlineVAF;minGermlineDepth|LowEVS|maxGermlineRelRawBaseQual;maxGermlineVAF;minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140468848\t140468848\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t48\t46\t2\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGA\t.\t54\t\t\t\t\t\t\t\t\t\t\t\t\t140468848\t46.2\t0\t48\t0\t0.042\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140468848\t140468848\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t50\t48\t2\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140468848\t48.2\t0\t50\t0\t\t\t0/1\t./.\t0\t0\t0\t0\t48\t0\t2\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140469137\t140469137\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t29\t17\t12\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t158\t\t\t\t\t\t\t\t\t\t\t\t\t140469137\t17.12\t2\t29\t2\t0.414\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140469137\t140469137\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t27\t16\t11\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140469137\t16.11\t2\t27\t2\t\t\t0/1\t./.\t0\t0\t11\t0\t0\t0\t16\t2\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140469696\t140469696\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t34\t28\t6\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t64\t\t\t\t\t\t\t\t\t\t\t\t\t140469696\t28.6\t2\t34\t2\t0.176\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140469696\t140469696\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t37\t31\t5\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140469696\t31.5\t2\t37\t2\t\t\t0/1\t./.\t0\t0\t5\t0\t0\t0\t31\t2\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140469796\t140469796\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t44\t36\t8\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATG\t.\t112\t\t\t\t\t\t\t\t\t\t\t\t\t140469796\t36.8\t5\t44\t5\t0.182\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140469796\t140469796\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t44\t36\t8\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tATG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140469796\t36.8\t4\t44\t4\t\t\t0/1\t./.\t0\t0\t8\t0\t0\t0\t36\t4\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140469814\t140469814\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t43\t38\t5\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t98\t\t\t\t\t\t\t\t\t\t\t\t\t140469814\t38.5\t5\t43\t5\t0.116\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140469814\t140469814\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t44\t39\t5\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140469814\t39.5\t5\t44\t5\t\t\t0/1\t./.\t0\t0\t5\t0\t0\t0\t39\t5\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140469929\t140469929\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t43\t14\t29\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tATC\t.\t422\t\t\t\t\t\t\t\t\t\t\t\t\t140469929\t14.29\t1\t43\t1\t0.674\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140469929\t140469929\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t45\t16\t27\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tATC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140469929\t16.27\t1\t45\t1\t\t\t0/1\t./.\t0\t0\t27\t0\t0\t0\t16\t1\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140470105\t140470105\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t61\t51\t10\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t86\t\t\t\t\t\t\t\t\t\t\t\t\t140470105\t51.1\t5\t61\t5\t0.164\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140470105\t140470105\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t62\t50\t10\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140470105\t50.1\t5\t62\t5\t\t\t0/1\t./.\t0\t0\t10\t0\t0\t0\t50\t5\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140471608\t140471608\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t19\t15\t4\t6\t6\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTA\t.\t73\t\t\t\t\t\t\t\t\t\t\t\t\t140471608\t15.4\t6\t19\t6\t0.211\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140471608\t140471608\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t19\t15\t4\t6\t6\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140471608\t15.4\t6\t19\t6\t\t\t0/1\t./.\t0\t0\t4\t0\t0\t0\t15\t6\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140471673\t140471673\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t25\t13\t12\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTT\t.\t182\t\t\t\t\t\t\t\t\t\t\t\t\t140471673\t13.12\t5\t25\t5\t0.48\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowEVS|minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140471673\t140471673\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24\t13\t11\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140471673\t13.11\t5\t24\t5\t\t\t0/1\t./.\t0\t0\t11\t0\t0\t0\t13\t5\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowEVS|minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140473302\t140473302\t+\tIGR\tSNP\tT\tT\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t8\t5\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTC\t.\t75\t\t\t\t\t\t\t\t\t\t\t\t\t140473302\t8.5\t3\t13\t3\t0.385\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140473302\t140473302\t+\tIGR\tSNP\tT\tT\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t8\t5\t4\t4\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTTC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140473302\t8.5\t4\t13\t4\t\t\t0/1\t./.\t0\t0\t0\t0\t5\t0\t8\t4\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140482602\t140482602\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t9\t4\t5\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAA\t.\t87\t\t\t\t\t\t\t\t\t\t\t\t\t140482602\t4.5\t3\t9\t3\t0.556\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140482602\t140482602\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t9\t4\t5\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tAAA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140482602\t4.5\t3\t9\t3\t\t\t0/1\t./.\t4\t3\t0\t0\t5\t0\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140483770\t140483770\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t14\t4\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAG\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t140483770\t14.4\t0\t18\t0\t0.222\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140483770\t140483770\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t14\t4\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCAG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140483770\t14.4\t0\t18\t0\t\t\t0/1\t./.\t14\t0\t0\t0\t4\t0\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140627464\t140627464\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t1\t4\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t60\t\t\t\t\t\t\t\t\t\t\t\t\t140627464\t1.4\t1\t5\t1\t0.8\t0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140627464\t140627464\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t1\t4\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140627464\t1.4\t1\t5\t1\t\t\t1/1\t./.\t0\t0\t4\t0\t0\t0\t1\t1\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140693790\t140693790\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t62\t58\t4\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAG\t.\t68\t\t\t\t\t\t\t\t\t\t\t\t\t140693790\t58.4\t1\t62\t1\t0.065\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140693790\t140693790\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t62\t58\t4\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAAG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140693790\t58.4\t1\t62\t1\t\t\t0/1\t./.\t58\t1\t0\t0\t4\t0\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140694204\t140694204\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24\t17\t7\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAG\t.\t75\t\t\t\t\t\t\t\t\t\t\t\t\t140694204\t17.7\t1\t24\t1\t0.292\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140694204\t140694204\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t26\t19\t7\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAAG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140694204\t19.7\t1\t26\t1\t\t\t0/1\t./.\t19\t1\t0\t0\t7\t0\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140697866\t140697866\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t56\t46\t10\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tAAC\t.\t163\t\t\t\t\t\t\t\t\t\t\t\t\t140697866\t46.1\t0\t56\t0\t0.179\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140697866\t140697866\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t57\t46\t10\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAAC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140697866\t46.1\t0\t57\t0\t\t\t0/1\t./.\t46\t0\t0\t0\t10\t0\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140697921\t140697921\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t56\t48\t8\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTAA\t.\t98\t\t\t\t\t\t\t\t\t\t\t\t\t140697921\t48.8\t0\t56\t0\t0.143\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140697921\t140697921\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t58\t50\t8\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTAA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140697921\t50.8\t0\t58\t0\t\t\t0/1\t./.\t50\t0\t0\t0\t8\t0\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140697935\t140697935\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t49\t45\t4\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAG\t.\t62\t\t\t\t\t\t\t\t\t\t\t\t\t140697935\t45.4\t0\t49\t0\t0.082\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140697935\t140697935\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t56\t53\t3\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAAG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140697935\t53.3\t0\t56\t0\t\t\t0/1\t./.\t53\t0\t0\t0\t3\t0\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140697987\t140697987\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t88\t83\t5\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t76\t\t\t\t\t\t\t\t\t\t\t\t\t140697987\t83.5\t2\t88\t2\t0.057\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140697987\t140697987\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t87\t82\t5\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140697987\t82.5\t2\t87\t2\t\t\t0/1\t./.\t0\t0\t5\t0\t0\t0\t82\t2\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140699078\t140699078\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t20\t16\t4\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGAG\t.\t52\t\t\t\t\t\t\t\t\t\t\t\t\t140699078\t16.4\t2\t20\t2\t0.2\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140699078\t140699078\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t20\t16\t4\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGAG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140699078\t16.4\t3\t20\t3\t\t\t0/1\t./.\t16\t3\t0\t0\t4\t0\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140700180\t140700180\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t51\t45\t6\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t118\t\t\t\t\t\t\t\t\t\t\t\t\t140700180\t45.6\t1\t51\t1\t0.118\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140700180\t140700180\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t57\t51\t6\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140700180\t51.6\t1\t57\t1\t\t\t0/1\t./.\t51\t1\t0\t0\t6\t0\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140700193\t140700193\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t39\t25\t14\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAG\t.\t125\t\t\t\t\t\t\t\t\t\t\t\t\t140700193\t25.14\t1\t39\t1\t0.359\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140700193\t140700193\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t43\t29\t13\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCAG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140700193\t29.13\t1\t43\t1\t\t\t0/1\t./.\t29\t1\t0\t0\t13\t0\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140700201\t140700201\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t37\t25\t12\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAC\t.\t151\t\t\t\t\t\t\t\t\t\t\t\t\t140700201\t25.12\t1\t37\t1\t0.324\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140700201\t140700201\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t37\t25\t12\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCAC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140700201\t25.12\t1\t37\t1\t\t\t0/1\t./.\t25\t1\t0\t0\t12\t0\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140700223\t140700223\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t9\t4\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAA\t.\t79\t\t\t\t\t\t\t\t\t\t\t\t\t140700223\t9.4\t1\t13\t1\t0.308\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140700223\t140700223\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t9\t4\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCAA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140700223\t9.4\t1\t13\t1\t\t\t0/1\t./.\t9\t1\t0\t0\t4\t0\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140701589\t140701589\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t78\t75\t3\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTAA\t.\t53\t\t\t\t\t\t\t\t\t\t\t\t\t140701589\t75.3\t1\t78\t1\t0.038\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140701589\t140701589\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t83\t78\t3\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTAA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140701589\t78.3\t1\t83\t1\t\t\t0/1\t./.\t78\t1\t0\t0\t3\t0\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140701590\t140701590\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t78\t69\t9\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAG\t.\t65\t\t\t\t\t\t\t\t\t\t\t\t\t140701590\t69.9\t1\t78\t1\t0.115\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140701590\t140701590\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t82\t71\t9\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAAG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140701590\t71.9\t1\t82\t1\t\t\t0/1\t./.\t71\t1\t0\t0\t9\t0\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140724780\t140724780\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t151\t90\t61\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tPASS\tCTT\t.\t937\t\t\t\t\t\t\t\t\t\t\t\t\t140724780\t90.61\t0\t151\t0\t0.404\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tPASS|LowDepth;LowEVS|PASS|LowDepth;LowEVS\tPASS\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140724780\t140724780\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t157\t96\t61\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140724780\t96.61\t0\t157\t0\t\t\t0/1\t./.\t0\t0\t61\t0\t0\t0\t96\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tPASS|LowDepth;LowEVS|PASS|LowDepth;LowEVS\tPASS\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140729191\t140729191\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24\t20\t4\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t62\t\t\t\t\t\t\t\t\t\t\t\t\t140729191\t20.4\t0\t24\t0\t0.167\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140729191\t140729191\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t19\t3\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140729191\t19.3\t0\t22\t0\t\t\t0/1\t./.\t0\t0\t3\t0\t0\t0\t19\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140790274\t140790274\t+\tIGR\tSNP\tA\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t1\t6\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAC\t.\t86\t\t\t\t\t\t\t\t\t\t\t\t\t140790274\t1.6\t2\t7\t2\t0.857\t0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140790274\t140790274\t+\tIGR\tSNP\tA\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t1\t5\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tAAC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140790274\t1.5\t2\t7\t2\t\t\t1/1\t./.\t1\t2\t5\t0\t0\t0\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140798704\t140798704\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t52\t45\t7\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t147\t\t\t\t\t\t\t\t\t\t\t\t\t140798704\t45.7\t0\t52\t0\t0.135\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140798704\t140798704\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t53\t45\t7\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140798704\t45.7\t0\t53\t0\t\t\t0/1\t./.\t0\t0\t7\t0\t0\t0\t45\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140811128\t140811128\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t47\t45\t2\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTA\t.\t52\t\t\t\t\t\t\t\t\t\t\t\t\t140811128\t45.2\t4\t47\t4\t0.043\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140811128\t140811128\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t56\t54\t2\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140811128\t54.2\t4\t56\t4\t\t\t0/1\t./.\t2\t0\t0\t0\t0\t0\t54\t4\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140816975\t140816976\t+\tIGR\tINS\t-\t-\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t66\t58\t8\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGA\t.\t90\t\t\t\t\t\t\t\t\t\t\t\t\t140816975\t58.8\t1\t66\t1\t0.121\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|maxGermlineRelRawBaseQual;minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140816975\t140816976\t+\tIGR\tINS\t-\t-\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t70\t59\t8\t2\t1\t1\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tLowEVS\tAGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140816975\t59.8\t1.1\t70\t2\t\t\t0/1\t./.\t\t\t\t\t\t\t\t\t59.6\t1.1\t8.8\t1.1\t3.2\t0\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|maxGermlineRelRawBaseQual;minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140820737\t140820737\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t39\t28\t11\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t86\t\t\t\t\t\t\t\t\t\t\t\t\t140820737\t28.11\t3\t39\t3\t0.282\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140820737\t140820737\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t40\t29\t10\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140820737\t29.1\t3\t40\t3\t\t\t0/1\t./.\t0\t0\t10\t0\t0\t0\t29\t3\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140820825\t140820825\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t35\t29\t6\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t76\t\t\t\t\t\t\t\t\t\t\t\t\t140820825\t29.6\t0\t35\t0\t0.171\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140820825\t140820825\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t35\t28\t6\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140820825\t28.6\t0\t35\t0\t\t\t0/1\t./.\t0\t0\t6\t0\t1\t0\t28\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140821130\t140821130\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t34\t22\t12\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTA\t.\t160\t\t\t\t\t\t\t\t\t\t\t\t\t140821130\t22.12\t1\t34\t1\t0.353\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140821130\t140821130\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t35\t23\t12\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140821130\t23.12\t1\t35\t1\t\t\t0/1\t./.\t0\t0\t12\t0\t0\t0\t23\t1\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140821182\t140821182\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t42\t27\t15\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTT\t.\t297\t\t\t\t\t\t\t\t\t\t\t\t\t140821182\t27.15\t1\t42\t1\t0.357\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140821182\t140821182\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t43\t28\t15\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140821182\t28.15\t1\t43\t1\t\t\t0/1\t./.\t0\t0\t15\t0\t0\t0\t28\t1\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140821203\t140821203\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t34\t22\t12\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t119\t\t\t\t\t\t\t\t\t\t\t\t\t140821203\t22.12\t1\t34\t1\t0.353\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140821203\t140821203\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t34\t22\t12\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140821203\t22.12\t1\t34\t1\t\t\t0/1\t./.\t0\t0\t12\t0\t0\t0\t22\t1\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140822317\t140822317\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t88\t85\t3\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGA\t.\t65\t\t\t\t\t\t\t\t\t\t\t\t\t140822317\t85.3\t0\t88\t0\t0.034\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual;minTumorVAF|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140822317\t140822317\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t87\t84\t3\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140822317\t84.3\t0\t87\t0\t\t\t0/1\t./.\t0\t0\t0\t0\t84\t0\t3\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual;minTumorVAF|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140822996\t140822997\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t56\t50\t6\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t82\t\t\t\t\t\t\t\t\t\t\t\t\t140822996\t50.6\t1\t56\t1\t0.107\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140822996\t140822997\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t62\t51\t6\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tLowDepth;LowEVS\tAAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140822996\t51.6\t1\t62\t1\t\t\t0/1\t./.\t\t\t\t\t\t\t\t\t51.51\t1.1\t6.6\t0\t5.5\t0\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140827904\t140827905\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t45\t36\t8\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTAT\t.\t109\t\t\t\t\t\t\t\t\t\t\t\t\t140827904\t36.8\t1\t45\t1\t0.178\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140827904\t140827905\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t46\t31\t8\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tLowDepth;LowEVS\tTAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140827904\t31.8\t1\t46\t1\t\t\t0/1\t./.\t\t\t\t\t\t\t\t\t31.34\t1.1\t8.11\t0\t9.4\t0\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140828517\t140828517\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t60\t24\t36\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGAT\t.\t753\t\t\t\t\t\t\t\t\t\t\t\t\t140828517\t24.36\t1\t60\t1\t0.6\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|minGermlineDepth;minTumorQual|minGermlineDepth|minGermlineDepth;minTumorQual\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140828517\t140828517\t+\tIGR\tSNP\tA\tG\tG\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t0\t4\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGAT\t.\t70\t\t\t\t\t\t\t\t\t\t\t\t\t140828517\t0.4\t1\t4\t1\t1\t0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth|minGermlineDepth;minTumorQual|minGermlineDepth|minGermlineDepth;minTumorQual\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140829199\t140829199\t+\tIGR\tSNP\tT\tT\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t51\t20\t10\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTG\t.\t52\t\t\t\t\t\t\t\t\t\t\t\t\t140829199\t20.1\t0\t51\t0\t0.196\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140829199\t140829199\t+\tIGR\tSNP\tT\tT\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t61\t51\t6\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140829199\t51.6\t0\t61\t0\t\t\t0/1\t./.\t0\t0\t0\t0\t6\t0\t51\t0\t\t\t\t\t\t\tunknown\tunknown|unknown\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140829200\t140829200\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t51\t21\t10\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTGG\t.\t77\t\t\t\t\t\t\t\t\t\t\t\t\t140829200\t21.1\t0\t51\t0\t0.196\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140829200\t140829200\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t28\t21\t4\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTGG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140829200\t21.4\t0\t28\t0\t\t\t0/1\t./.\t0\t0\t0\t0\t21\t0\t4\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140841133\t140841133\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t1\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGA\t.\t55\t\t\t\t\t\t\t\t\t\t\t\t\t140841133\t1.2\t1\t3\t1\t0.667\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140841133\t140841133\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t1\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140841133\t1.2\t1\t3\t1\t\t\t0/1\t./.\t2\t0\t0\t0\t1\t1\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140897881\t140897881\t+\tIGR\tSNP\tC\tC\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t11\t2\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tACA\t.\t60\t\t\t\t\t\t\t\t\t\t\t\t\t140897881\t11.2\t4\t13\t4\t0.154\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140897881\t140897881\t+\tIGR\tSNP\tC\tC\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t14\t12\t2\t5\t5\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tACA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140897881\t12.2\t5\t14\t5\t\t\t0/1\t./.\t2\t0\t12\t5\t0\t0\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140906294\t140906294\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t37\t30\t7\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t94\t\t\t\t\t\t\t\t\t\t\t\t\t140906294\t30.7\t2\t37\t2\t0.189\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140906294\t140906294\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t38\t31\t7\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140906294\t31.7\t2\t38\t2\t\t\t0/1\t./.\t0\t0\t7\t0\t0\t0\t31\t2\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140906444\t140906444\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t23\t10\t13\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t143\t\t\t\t\t\t\t\t\t\t\t\t\t140906444\t10.13\t4\t23\t4\t0.565\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140906444\t140906444\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t10\t12\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140906444\t10.12\t4\t22\t4\t\t\t0/1\t./.\t0\t0\t12\t0\t0\t0\t10\t4\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140907479\t140907479\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t11\t7\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTC\t.\t131\t\t\t\t\t\t\t\t\t\t\t\t\t140907479\t11.7\t1\t18\t1\t0.389\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|realign\tminGermlineDepth;minTumorQual|minGermlineDepth;minTumorQual\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140907479\t140907479\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t2\t0\t2\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTC\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t140907479\t0.2\t1\t2\t1\t1\t0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|realign\tminGermlineDepth;minTumorQual|minGermlineDepth;minTumorQual\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140909399\t140909399\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t32\t27\t5\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATA\t.\t90\t\t\t\t\t\t\t\t\t\t\t\t\t140909399\t27.5\t0\t32\t0\t0.156\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140909399\t140909399\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t33\t28\t5\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tATA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140909399\t28.5\t0\t33\t0\t\t\t0/1\t./.\t0\t0\t5\t0\t0\t0\t28\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140910467\t140910468\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t35\t31\t4\t4\t4\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tACT\t.\t81\t\t\t\t\t\t\t\t\t\t\t\t\t140910467\t31.4\t4\t35\t4\t0.114\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140910467\t140910468\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t35\t31\t4\t4\t4\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tACT\t.\t78\t\t\t\t\t\t\t\t\t\t\t\t\t140910467\t31.4\t4\t35\t4\t0.114\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140910467\t140910468\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t39\t30\t4\t4\t4\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tLowEVS\tACT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140910467\t30.4\t4\t39\t4\t\t\t0/1\t./.\t\t\t\t\t\t\t\t\t30.31\t4.4\t4.4\t0\t5.4\t0\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140910811\t140910811\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t21\t17\t4\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t52\t\t\t\t\t\t\t\t\t\t\t\t\t140910811\t17.4\t0\t21\t0\t0.19\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140910811\t140910811\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t23\t19\t4\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140910811\t19.4\t0\t23\t0\t\t\t0/1\t./.\t0\t0\t4\t0\t0\t0\t19\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141004056\t141004056\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t33\t28\t5\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t76\t\t\t\t\t\t\t\t\t\t\t\t\t141004056\t28.5\t1\t33\t1\t0.152\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141004056\t141004056\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t33\t28\t5\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141004056\t28.5\t1\t33\t1\t\t\t0/1\t./.\t0\t0\t5\t0\t0\t0\t28\t1\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141004111\t141004111\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t10\t2\t8\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t127\t\t\t\t\t\t\t\t\t\t\t\t\t141004111\t2.8\t1\t10\t1\t0.8\t0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141004111\t141004111\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t10\t2\t8\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141004111\t2.8\t1\t10\t1\t\t\t1/1\t./.\t0\t0\t8\t0\t0\t0\t2\t1\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141004826\t141004826\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t6\t1\t5\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTA\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t141004826\t1.5\t1\t6\t1\t0.833\t0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141004826\t141004826\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t6\t1\t5\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141004826\t1.5\t1\t6\t1\t\t\t1/1\t./.\t0\t0\t5\t0\t0\t0\t1\t1\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141080090\t141080090\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t4\t3\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t58\t\t\t\t\t\t\t\t\t\t\t\t\t141080090\t4.3\t3\t7\t3\t0.429\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141080090\t141080090\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t4\t3\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tAAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141080090\t4.3\t3\t7\t3\t\t\t0/1\t./.\t4\t3\t0\t0\t3\t0\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141082435\t141082435\t+\tIGR\tSNP\tG\tA\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t1\t3\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGA\t.\t70\t\t\t\t\t\t\t\t\t\t\t\t\t141082435\t1.3\t1\t4\t1\t0.75\t0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141082435\t141082435\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t1\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141082435\t1.2\t1\t3\t1\t\t\t0/1\t./.\t2\t0\t0\t0\t1\t1\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141084239\t141084239\t+\tIGR\tSNP\tT\tA\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTT\t.\t75\t\t\t\t\t\t\t\t\t\t\t\t\t141084239\t0.3\t1\t3\t1\t1\t0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141084239\t141084239\t+\tIGR\tSNP\tT\tA\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141084239\t0.3\t2\t3\t2\t\t\t1/1\t./.\t3\t0\t0\t0\t0\t0\t0\t2\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141296649\t141296649\t+\tIGR\tSNP\tT\tA\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATT\t.\t78\t\t\t\t\t\t\t\t\t\t\t\t\t141296649\t0.3\t4\t3\t4\t1\t0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141296649\t141296649\t+\tIGR\tSNP\tT\tA\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tATT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141296649\t0.3\t4\t3\t4\t\t\t1/1\t./.\t3\t0\t0\t0\t0\t0\t0\t4\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141350897\t141350897\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t1\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGT\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t141350897\t1.2\t1\t3\t1\t0.667\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141350897\t141350897\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t1\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141350897\t1.2\t1\t3\t1\t\t\t0/1\t./.\t0\t0\t0\t0\t1\t1\t2\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141350899\t141350899\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t1\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTCG\t.\t57\t\t\t\t\t\t\t\t\t\t\t\t\t141350899\t1.2\t1\t3\t1\t0.667\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141350899\t141350899\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t1\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTCG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141350899\t1.2\t1\t3\t1\t\t\t0/1\t./.\t0\t0\t1\t1\t0\t0\t2\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141365719\t141365719\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t11\t9\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTGT\t.\t53\t\t\t\t\t\t\t\t\t\t\t\t\t141365719\t9.2\t1\t11\t1\t0.182\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141365719\t141365719\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t12\t10\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141365719\t10.2\t1\t12\t1\t\t\t0/1\t./.\t2\t0\t0\t0\t10\t1\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141513665\t141513665\t+\tIGR\tSNP\tA\tA\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGAT\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t141513665\t6.2\t3\t8\t3\t0.25\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141513665\t141513665\t+\tIGR\tSNP\tA\tA\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t5\t2\t4\t4\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141513665\t5.2\t4\t7\t4\t\t\t0/1\t./.\t5\t4\t0\t0\t0\t0\t2\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141644925\t141644925\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t15\t13\t2\t4\t4\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTCT\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t141644925\t13.2\t4\t15\t4\t0.133\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141644925\t141644925\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t16\t14\t2\t4\t4\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTCT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141644925\t14.2\t4\t16\t4\t\t\t0/1\t./.\t0\t0\t14\t4\t0\t0\t2\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141652639\t141652640\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t163\t152\t11\t8\t8\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tslippage\tAAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141652639\t152,11\t8,0\t163\t8\t0.074\t0.091\t0/1\t0/0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|unknown|realign|realign|realign\tslippage|minGermlineDepth|LowEVS|slippage|maxGermlineRelRawBaseQual;minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141652639\t141652640\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t162\t148\t13\t8\t8\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth\tAAT\t.\t163\t\t\t\t\t\t\t\t\t\t\t\t\t141652639\t148.13\t8\t162\t8\t0.08\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|unknown|realign|realign|realign\tslippage|minGermlineDepth|LowEVS|slippage|maxGermlineRelRawBaseQual;minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141652639\t141652640\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t192\t140\t17\t11\t8\t1\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tLowEVS\tAAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141652639\t140.17\t8.1\t192\t11\t\t\t0/1\t./.\t\t\t\t\t\t\t\t\t140.14\t8.8\t17.18\t1.1\t33.32\t1.1\tunknown\tunknown|unknown|unknown|realign|realign|realign\tslippage|minGermlineDepth|LowEVS|slippage|maxGermlineRelRawBaseQual;minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141656174\t141656174\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t94\t92\t2\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual;minTumorVAF\tCCC\t.\t59\t\t\t\t\t\t\t\t\t\t\t\t\t141656174\t92.2\t0\t94\t0\t0.021\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual;minTumorVAF|LowDepth;LowEVS|minGermlineDepth;minTumorQual;minTumorVAF|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141656174\t141656174\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t100\t97\t2\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCCC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141656174\t97.2\t0\t100\t0\t\t\t0/1\t./.\t0\t0\t97\t0\t0\t0\t2\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual;minTumorVAF|LowDepth;LowEVS|minGermlineDepth;minTumorQual;minTumorVAF|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141666987\t141666987\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24\t18\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTG\t.\t74\t\t\t\t\t\t\t\t\t\t\t\t\t141666987\t18.6\t1\t24\t1\t0.25\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141666987\t141666987\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24\t18\t6\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141666987\t18.6\t2\t24\t2\t\t\t0/1\t./.\t0\t0\t6\t0\t0\t0\t18\t2\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141699142\t141699142\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATC\t.\t50\t\t\t\t\t\t\t\t\t\t\t\t\t141699142\t0.3\t1\t3\t1\t1\t0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141699142\t141699142\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tATC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141699142\t0.3\t1\t3\t1\t\t\t1/1\t./.\t0\t0\t3\t0\t0\t0\t0\t1\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141712007\t141712007\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t11\t8\t3\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141712007\t8.3\t1\t11\t1\t\t\t0/1\t./.\t3\t0\t0\t0\t8\t1\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tLowDepth;LowEVS|minGermlineDepth;minTumorQual|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141712007\t141712007\t+\tIGR\tSNP\tG\tA\tA\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t0\t4\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTGT\t.\t60\t\t\t\t\t\t\t\t\t\t\t\t\t141712007\t0.4\t1\t4\t1\t1\t0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tLowDepth;LowEVS|minGermlineDepth;minTumorQual|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141723300\t141723300\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t42\t42\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tweak_evidence\tTGC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141723300\t6,2\t42,0\t8\t42\t0.25\t0.024\t0/1\t0/0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|unknown|realign|realign|realign\tweak_evidence|minTumorQual|LowEVS|weak_evidence|minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141723300\t141723300\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t37\t37\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminTumorQual\tTGC\t.\t52\t\t\t\t\t\t\t\t\t\t\t\t\t141723300\t6.2\t37\t8\t37\t0.25\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|unknown|realign|realign|realign\tweak_evidence|minTumorQual|LowEVS|weak_evidence|minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141723300\t141723300\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t42\t42\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTGC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141723300\t6.2\t42\t8\t42\t\t\t0/1\t./.\t0\t0\t0\t0\t6\t42\t2\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|unknown|realign|realign|realign\tweak_evidence|minTumorQual|LowEVS|weak_evidence|minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141724345\t141724345\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t6\t4\t2\t36\t36\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tweak_evidence\tAGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141724345\t4,2\t36,0\t6\t36\t0.329\t0.026\t0/1\t0/0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tweak_evidence|PASS|weak_evidence|PASS\tPASS\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141724345\t141724345\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t6\t4\t2\t36\t35\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tPASS\tAGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141724345\t4.2\t35\t6\t36\t\t\t0/1\t./.\t2\t0\t0\t0\t4\t35\t0\t0\t\t\t\t\t\t\tunknown\tunknown|unknown|realign|realign\tweak_evidence|PASS|weak_evidence|PASS\tPASS\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t139832913\t139832913\t+\tIGR\tSNP\tG\tG\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t14\t8\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGA\t.\t159\t\t\t\t\t\t\t\t\t\t\t\t\t139832913\t14.8\t3\t22\t3\t0.364\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t139832913\t139832913\t+\tIGR\tSNP\tG\tG\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t23\t15\t8\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tAGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139832913\t15,8\t3,0\t23\t3\t\t\t0/1\t./.\t0\t0\t8\t0\t15\t3\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t139832913\t139832913\t+\tIGR\tSNP\tG\tC\tC\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t1\t0\t1\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139832913\t0.1\t3\t1\t3\t\t\t1/1\t./.\t0\t0\t1\t0\t0\t3\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t139836268\t139836268\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t26\t18\t8\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tAGT\t.\t222\t\t\t\t\t\t\t\t\t\t\t\t\t139836268\t18.8\t1\t26\t1\t0.308\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t139836268\t139836268\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t26\t18\t8\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139836268\t18,8\t1,0\t26\t1\t\t\t0/1\t./.\t8\t0\t0\t0\t18\t1\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t139836268\t139836268\t+\tIGR\tSNP\tG\tA\tA\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t1\t0\t1\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139836268\t0.1\t1\t1\t1\t\t\t1/1\t./.\t1\t0\t0\t0\t0\t1\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t139839306\t139839306\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t10\t3\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTGA\t.\t69\t\t\t\t\t\t\t\t\t\t\t\t\t139839306\t10.3\t2\t13\t2\t0.231\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t139839306\t139839306\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t14\t11\t3\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139839306\t11,3\t2,0\t14\t2\t\t\t0/1\t./.\t3\t0\t0\t0\t11\t2\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t139840078\t139840078\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t10\t8\t2\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTGG\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t139840078\t8.2\t0\t10\t0\t0.2\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t139840078\t139840078\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t10\t8\t2\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTGG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139840078\t8,2\t0,0\t10\t0\t\t\t0/1\t./.\t0\t0\t0\t0\t8\t0\t2\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t139861816\t139861816\t+\tIGR\tSNP\tA\tG\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t1\t3\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAG\t.\t61\t\t\t\t\t\t\t\t\t\t\t\t\t139861816\t1.3\t3\t4\t3\t0.75\t0\t1/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t139861816\t139861816\t+\tIGR\tSNP\tA\tG\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t1\t3\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tAAG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139861816\t1,3\t3,0\t4\t3\t\t\t1/1\t./.\t1\t3\t0\t0\t3\t0\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t139864673\t139864673\t+\tIGR\tSNP\tC\tC\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t5\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGCT\t.\t55\t\t\t\t\t\t\t\t\t\t\t\t\t139864673\t5.2\t1\t7\t1\t0.286\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t139864673\t139864673\t+\tIGR\tSNP\tC\tC\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGCT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139864673\t6,2\t1,0\t8\t1\t\t\t0/1\t./.\t2\t0\t6\t1\t0\t0\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t139941097\t139941097\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t15\t12\t3\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATC\t.\t62\t\t\t\t\t\t\t\t\t\t\t\t\t139941097\t12.3\t0\t15\t0\t0.2\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t139941097\t139941097\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t15\t12\t3\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tATC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139941097\t12,3\t0,0\t15\t0\t\t\t0/1\t./.\t0\t0\t3\t0\t0\t0\t12\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t139943319\t139943319\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t12\t9\t3\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGCG\t.\t75\t\t\t\t\t\t\t\t\t\t\t\t\t139943319\t9.3\t1\t12\t1\t0.25\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t139943319\t139943319\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t10\t3\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGCG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139943319\t10,3\t1,0\t13\t1\t\t\t0/1\t./.\t0\t0\t10\t1\t0\t0\t3\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t139948123\t139948123\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCCC\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t139948123\t6.2\t1\t8\t1\t0.25\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t139948123\t139948123\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCCC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139948123\t6,2\t2,0\t8\t2\t\t\t0/1\t./.\t0\t0\t6\t2\t0\t0\t2\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t139964882\t139964882\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t11\t2\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTCA\t.\t55\t\t\t\t\t\t\t\t\t\t\t\t\t139964882\t11.2\t2\t13\t2\t0.154\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t139964882\t139964882\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t14\t12\t2\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTCA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139964882\t12,2\t2,0\t14\t2\t\t\t0/1\t./.\t0\t0\t12\t2\t0\t0\t2\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t139988205\t139988205\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCGC\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t139988205\t6.2\t1\t8\t1\t0.25\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t139988205\t139988205\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCGC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139988205\t6,2\t1,0\t8\t1\t\t\t0/1\t./.\t2\t0\t0\t0\t6\t1\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t139992039\t139992039\t+\tIGR\tSNP\tC\tA\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t2\t5\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCCC\t.\t105\t\t\t\t\t\t\t\t\t\t\t\t\t139992039\t2.5\t0\t7\t0\t0.714\t0\t1/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t139992039\t139992039\t+\tIGR\tSNP\tC\tA\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t2\t5\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCCC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139992039\t2,5\t2,0\t7\t2\t\t\t1/1\t./.\t5\t0\t2\t2\t0\t0\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140000300\t140000300\t+\tIGR\tSNP\tC\tG\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t1\t6\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tACA\t.\t115\t\t\t\t\t\t\t\t\t\t\t\t\t140000300\t1.6\t0\t7\t0\t0.857\t0\t1/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140000300\t140000300\t+\tIGR\tSNP\tC\tG\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t6\t1\t5\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tACA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140000300\t1,5\t0,0\t6\t0\t\t\t1/1\t./.\t0\t0\t1\t0\t5\t0\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140000300\t140000300\t+\tIGR\tSNP\tC\tG\tG\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t1\t3\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tACA\t.\t71\t\t\t\t\t\t\t\t\t\t\t\t\t140000300\t1.3\t0\t4\t0\t0.75\t0\t1/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140001893\t140001893\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t5\t3\t4\t4\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTCA\t.\t73\t\t\t\t\t\t\t\t\t\t\t\t\t140001893\t5.3\t4\t8\t4\t0.375\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140001893\t140001893\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t5\t3\t4\t4\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTCA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140001893\t5,3\t4,0\t8\t4\t\t\t0/1\t./.\t0\t0\t5\t4\t0\t0\t3\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140001971\t140001971\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t2\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCCC\t.\t50\t\t\t\t\t\t\t\t\t\t\t\t\t140001971\t2.2\t1\t4\t1\t0.5\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140001971\t140001971\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t2\t2\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCCC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140001971\t2,2\t2,0\t4\t2\t\t\t0/1\t./.\t0\t0\t2\t2\t0\t0\t2\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140001971\t140001971\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t1\t2\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCCC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140001971\t1.2\t2\t3\t2\t\t\t0/1\t./.\t0\t0\t1\t2\t0\t0\t2\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140006043\t140006043\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t6\t2\t4\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGCG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140006043\t2,4\t3,0\t6\t3\t\t\t0/1\t./.\t0\t0\t2\t3\t0\t0\t4\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tLowEVS|minGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140006043\t140006043\t+\tIGR\tSNP\tC\tT\tT\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t1\t4\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGCG\t.\t85\t\t\t\t\t\t\t\t\t\t\t\t\t140006043\t1.4\t3\t5\t3\t0.8\t0\t1/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tLowEVS|minGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140011157\t140011157\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t9\t5\t4\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t75\t\t\t\t\t\t\t\t\t\t\t\t\t140011157\t5.4\t2\t9\t2\t0.444\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140011157\t140011157\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t9\t5\t4\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tAAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140011157\t5,4\t2,0\t9\t2\t\t\t0/1\t./.\t5\t2\t0\t0\t4\t0\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140011178\t140011178\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t5\t3\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTAA\t.\t65\t\t\t\t\t\t\t\t\t\t\t\t\t140011178\t5.3\t2\t8\t2\t0.375\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140011178\t140011178\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t9\t6\t3\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTAA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140011178\t6,3\t2,0\t9\t2\t\t\t0/1\t./.\t6\t2\t0\t0\t3\t0\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140012618\t140012618\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t5\t3\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140012618\t5,3\t2,0\t8\t2\t\t\t0/1\t./.\t0\t0\t3\t0\t0\t0\t5\t2\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|LowEVS|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140012618\t140012618\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t1\t0\t1\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140012618\t0.1\t2\t1\t2\t\t\t1/1\t./.\t0\t0\t1\t0\t0\t0\t0\t2\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|LowEVS|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140012739\t140012739\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t15\t7\t8\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAT\t.\t91\t\t\t\t\t\t\t\t\t\t\t\t\t140012739\t7.8\t3\t15\t3\t0.533\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140012739\t140012739\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t15\t7\t8\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140012739\t7,8\t3,0\t15\t3\t\t\t0/1\t./.\t7\t3\t0\t0\t8\t0\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140027870\t140027870\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t90\t56\t34\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTC\t.\t670\t\t\t\t\t\t\t\t\t\t\t\t\t140027870\t56.34\t0\t90\t0\t0.378\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140027870\t140027870\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t90\t56\t34\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140027870\t56,34\t0,0\t90\t0\t\t\t0/1\t./.\t0\t0\t34\t0\t0\t0\t56\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140029645\t140029645\t+\tIGR\tDEL\tA\tA\t-\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t79\t70\t8\t1\t1\t0\t\t-\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tdeletion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGAA\t.\t93\t\t\t\t\t\t\t\t\t\t\t\t\t140029644\t70.8\t1\t79\t1\t0.101\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140029645\t140029645\t+\tIGR\tDEL\tA\tA\t-\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t81\t68\t8\t1\t1\t0\t\t-\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tdeletion\t\t\t\t\t\tLowDepth;LowEVS\tGGAA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140029644\t68,8\t1,0\t81\t1\t\t\t0/1\t./.\t\t\t\t\t\t\t\t\t68,68\t1,1\t8,8\t0,0\t5,5\t0,0\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140030471\t140030471\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t103\t64\t39\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCGC\t.\t820\t\t\t\t\t\t\t\t\t\t\t\t\t140030471\t64.39\t0\t103\t0\t0.379\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140030471\t140030471\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t106\t67\t39\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCGC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140030471\t67,39\t0,0\t106\t0\t\t\t0/1\t./.\t39\t0\t0\t0\t67\t0\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140030498\t140030498\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t114\t103\t11\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTG\t.\t161\t\t\t\t\t\t\t\t\t\t\t\t\t140030498\t103.11\t0\t114\t0\t0.096\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140030498\t140030498\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t119\t106\t11\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140030498\t106,11\t0,0\t119\t0\t\t\t0/1\t./.\t1\t0\t11\t0\t1\t0\t106\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140030515\t140030515\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t129\t111\t18\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTT\t.\t316\t\t\t\t\t\t\t\t\t\t\t\t\t140030515\t111.18\t0\t129\t0\t0.14\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140030515\t140030515\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t137\t119\t18\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140030515\t119,18\t0,0\t137\t0\t\t\t0/1\t./.\t0\t0\t18\t0\t0\t0\t119\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140030554\t140030554\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t111\t105\t6\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATG\t.\t83\t\t\t\t\t\t\t\t\t\t\t\t\t140030554\t105.6\t0\t111\t0\t0.054\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140030554\t140030554\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t123\t117\t6\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tATG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140030554\t117,6\t0,0\t123\t0\t\t\t0/1\t./.\t0\t0\t6\t0\t0\t0\t117\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140030567\t140030567\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t96\t73\t23\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTG\t.\t311\t\t\t\t\t\t\t\t\t\t\t\t\t140030567\t73.23\t0\t96\t0\t0.24\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140030567\t140030567\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t98\t75\t23\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140030567\t75,23\t0,0\t98\t0\t\t\t0/1\t./.\t0\t0\t23\t0\t0\t0\t75\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140030629\t140030629\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t47\t41\t6\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTAC\t.\t81\t\t\t\t\t\t\t\t\t\t\t\t\t140030629\t41.6\t1\t47\t1\t0.128\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tmaxGermlineRelRawBaseQual;maxGermlineVAF;minGermlineDepth|LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140030629\t140030629\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t50\t47\t3\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTAC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140030629\t47,3\t1,0\t50\t1\t\t\t0/1\t./.\t47\t1\t0\t0\t3\t0\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tmaxGermlineRelRawBaseQual;maxGermlineVAF;minGermlineDepth|LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140031273\t140031273\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t91\t77\t14\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTG\t.\t168\t\t\t\t\t\t\t\t\t\t\t\t\t140031273\t77.14\t0\t91\t0\t0.154\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140031273\t140031273\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t95\t81\t14\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140031273\t81,14\t0,0\t95\t0\t\t\t0/1\t./.\t0\t0\t14\t0\t0\t0\t81\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140032350\t140032350\t+\tIGR\tDEL\tA\tA\t-\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t55\t43\t7\t1\t1\t0\t\t-\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tdeletion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTAA\t.\t93\t\t\t\t\t\t\t\t\t\t\t\t\t140032349\t43.7\t1\t55\t1\t0.127\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140032350\t140032350\t+\tIGR\tDEL\tA\tA\t-\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t58\t47\t8\t1\t1\t0\t\t-\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tdeletion\t\t\t\t\t\tLowDepth;LowEVS\tTTAA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140032349\t47,8\t1,0\t58\t1\t\t\t0/1\t./.\t\t\t\t\t\t\t\t\t47,47\t1,1\t8,8\t0,0\t3,3\t0,0\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140032427\t140032427\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t50\t42\t8\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t116\t\t\t\t\t\t\t\t\t\t\t\t\t140032427\t42.8\t3\t50\t3\t0.16\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140032427\t140032427\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t50\t43\t7\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140032427\t43,7\t3,0\t50\t3\t\t\t0/1\t./.\t0\t0\t7\t0\t0\t0\t43\t3\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140032428\t140032428\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t46\t40\t6\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t91\t\t\t\t\t\t\t\t\t\t\t\t\t140032428\t40.6\t3\t46\t3\t0.13\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140032428\t140032428\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t51\t45\t6\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140032428\t45,6\t3,0\t51\t3\t\t\t0/1\t./.\t0\t0\t6\t0\t0\t0\t45\t3\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140033050\t140033050\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t85\t73\t12\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTC\t.\t201\t\t\t\t\t\t\t\t\t\t\t\t\t140033050\t73.12\t2\t85\t2\t0.141\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowEVS|minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140033050\t140033050\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t90\t78\t12\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140033050\t78,12\t2,0\t90\t2\t\t\t0/1\t./.\t0\t0\t12\t0\t0\t0\t78\t2\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowEVS|minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140033091\t140033091\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t113\t101\t12\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTA\t.\t173\t\t\t\t\t\t\t\t\t\t\t\t\t140033091\t101.12\t3\t113\t3\t0.106\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowEVS|minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140033091\t140033091\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t113\t102\t10\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140033091\t102,10\t3,0\t113\t3\t\t\t0/1\t./.\t0\t0\t10\t0\t0\t0\t102\t3\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowEVS|minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140035900\t140035900\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t50\t40\t10\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGA\t.\t155\t\t\t\t\t\t\t\t\t\t\t\t\t140035900\t40.1\t0\t50\t0\t0.2\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140035900\t140035900\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t50\t39\t10\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140035900\t39,10\t0,0\t50\t0\t\t\t0/1\t./.\t10\t0\t1\t0\t39\t0\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140037992\t140037992\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t209\t116\t93\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCAT\t.\t1216\t\t\t\t\t\t\t\t\t\t\t\t\t140037992\t116.93\t3\t209\t3\t0.445\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowEVS|minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140037992\t140037992\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t210\t117\t93\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140037992\t117,93\t3,0\t210\t3\t\t\t0/1\t./.\t117\t3\t0\t0\t93\t0\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowEVS|minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140039778\t140039778\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t116\t49\t67\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tTCC\t.\t1373\t\t\t\t\t\t\t\t\t\t\t\t\t140039778\t49.67\t2\t116\t2\t0.578\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowEVS|minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140039778\t140039778\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t117\t50\t67\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTCC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140039778\t50,67\t2,0\t117\t2\t\t\t0/1\t./.\t0\t0\t50\t2\t0\t0\t67\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowEVS|minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140043167\t140043167\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t9\t3\t6\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t111\t\t\t\t\t\t\t\t\t\t\t\t\t140043167\t3.6\t5\t9\t5\t0.667\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140043167\t140043167\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t9\t3\t6\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140043167\t3,6\t5,0\t9\t5\t\t\t0/1\t./.\t0\t0\t6\t0\t0\t0\t3\t5\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140058002\t140058002\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t244\t240\t4\t100\t100\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tweak_evidence\tGGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140058002\t240,4\t100,0\t244\t100\t0.014\t0.012\t0/1\t0/0\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|unknown|realign|realign|realign\tweak_evidence|minTumorQual;minTumorVAF|LowEVS|weak_evidence|minTumorQual;minTumorVAF|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140058002\t140058002\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t253\t249\t4\t99\t99\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminTumorQual;minTumorVAF\tGGT\t.\t100\t\t\t\t\t\t\t\t\t\t\t\t\t140058002\t249.4\t99\t253\t99\t0.016\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|unknown|realign|realign|realign\tweak_evidence|minTumorQual;minTumorVAF|LowEVS|weak_evidence|minTumorQual;minTumorVAF|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140058002\t140058002\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t256\t252\t4\t101\t101\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140058002\t252,4\t101,0\t256\t101\t\t\t0/1\t./.\t4\t0\t0\t0\t252\t101\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|unknown|realign|realign|realign\tweak_evidence|minTumorQual;minTumorVAF|LowEVS|weak_evidence|minTumorQual;minTumorVAF|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140085224\t140085224\t+\tIGR\tSNP\tC\tC\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t252\t103\t149\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCCA\t.\t3143\t\t\t\t\t\t\t\t\t\t\t\t\t140085224\t103.149\t4\t252\t4\t0.591\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign|realign\tminGermlineDepth|LowEVS|minGermlineDepth|LowEVS|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140085224\t140085224\t+\tIGR\tSNP\tC\tC\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t288\t123\t165\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCCA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140085224\t123,165\t4,0\t288\t4\t\t\t0/1\t./.\t165\t0\t123\t4\t0\t0\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign|realign\tminGermlineDepth|LowEVS|minGermlineDepth|LowEVS|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140085224\t140085224\t+\tIGR\tSNP\tC\tA\tA\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t1\t0\t1\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCCA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140085224\t0.1\t4\t1\t4\t\t\t1/1\t./.\t1\t0\t0\t4\t0\t0\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign|realign\tminGermlineDepth|LowEVS|minGermlineDepth|LowEVS|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140089652\t140089653\t+\tIGR\tINS\t-\t-\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t175\t164\t11\t3\t3\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGA\t.\t158\t\t\t\t\t\t\t\t\t\t\t\t\t140089652\t164.11\t3\t175\t3\t0.063\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140089652\t140089653\t+\tIGR\tINS\t-\t-\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t206\t173\t11\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tLowEVS\tGGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140089652\t173,11\t4,0\t206\t4\t\t\t0/1\t./.\t\t\t\t\t\t\t\t\t173,174\t4,4\t11,11\t0,0\t22,21\t0,0\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140094509\t140094509\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t19\t7\t5\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGA\t.\t58\t\t\t\t\t\t\t\t\t\t\t\t\t140094509\t7.5\t1\t19\t1\t0.263\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140094509\t140094509\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t23\t17\t6\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140094509\t17,6\t1,0\t23\t1\t\t\t0/1\t./.\t6\t0\t0\t0\t17\t1\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140095793\t140095793\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t58\t38\t20\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tTTG\t.\t256\t\t\t\t\t\t\t\t\t\t\t\t\t140095793\t38.2\t0\t58\t0\t0.345\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140095793\t140095793\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t58\t38\t20\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140095793\t38,20\t0,0\t58\t0\t\t\t0/1\t./.\t0\t0\t20\t0\t0\t0\t38\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140097703\t140097703\t+\tIGR\tSNP\tA\tA\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t2\t2\t33\t33\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tweak_evidence\tGAC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140097703\t2,2\t33,0\t4\t33\t0.4\t0.031\t0/1\t0/0\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tweak_evidence|LowEVS|weak_evidence|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140097703\t140097703\t+\tIGR\tSNP\tA\tA\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t2\t2\t33\t33\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGAC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140097703\t2,2\t33,0\t4\t33\t\t\t0/1\t./.\t2\t33\t0\t0\t0\t0\t2\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tweak_evidence|LowEVS|weak_evidence|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140107704\t140107704\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t14\t4\t9\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAT\t.\t124\t\t\t\t\t\t\t\t\t\t\t\t\t140107704\t4.9\t1\t14\t1\t0.643\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140107704\t140107704\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t14\t4\t9\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140107704\t4,9\t1,0\t14\t1\t\t\t0/1\t./.\t4\t1\t0\t0\t9\t0\t1\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140107704\t140107704\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t2\t3\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAT\t.\t58\t\t\t\t\t\t\t\t\t\t\t\t\t140107704\t2.3\t1\t5\t1\t0.6\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140108207\t140108207\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t14\t4\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGCG\t.\t99\t\t\t\t\t\t\t\t\t\t\t\t\t140108207\t14.4\t1\t18\t1\t0.222\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140108207\t140108207\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t14\t4\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGCG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140108207\t14,4\t1,0\t18\t1\t\t\t0/1\t./.\t0\t0\t14\t1\t0\t0\t4\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140108245\t140108245\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t26\t20\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t101\t\t\t\t\t\t\t\t\t\t\t\t\t140108245\t20.6\t1\t26\t1\t0.231\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140108245\t140108245\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t26\t20\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140108245\t20,6\t1,0\t26\t1\t\t\t0/1\t./.\t0\t0\t6\t0\t0\t0\t20\t1\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140112904\t140112904\t+\tIGR\tSNP\tA\tT\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t9\t2\t7\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCAT\t.\t185\t\t\t\t\t\t\t\t\t\t\t\t\t140112904\t2.7\t3\t9\t3\t0.778\t0\t1/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowEVS|minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140112904\t140112904\t+\tIGR\tSNP\tA\tT\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t9\t2\t7\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140112904\t2,7\t3,0\t9\t3\t\t\t1/1\t./.\t2\t3\t0\t0\t0\t0\t7\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowEVS|minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140120859\t140120859\t+\tIGR\tSNP\tT\tT\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t14\t6\t8\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t159\t\t\t\t\t\t\t\t\t\t\t\t\t140120859\t6.8\t3\t14\t3\t0.571\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140120859\t140120859\t+\tIGR\tSNP\tT\tT\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t15\t6\t9\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140120859\t6,9\t3,0\t15\t3\t\t\t0/1\t./.\t0\t0\t0\t0\t9\t0\t6\t3\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140121364\t140121364\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t14\t10\t4\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCGT\t.\t81\t\t\t\t\t\t\t\t\t\t\t\t\t140121364\t10.4\t1\t14\t1\t0.286\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140121364\t140121364\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t21\t18\t3\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140121364\t18,3\t1,0\t21\t1\t\t\t0/1\t./.\t3\t0\t0\t0\t18\t1\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140124514\t140124514\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t20\t2\t22\t22\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminTumorQual\tTGT\t.\t55\t\t\t\t\t\t\t\t\t\t\t\t\t140124514\t20.2\t22\t22\t22\t0.091\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminTumorQual|LowEVS|minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140124514\t140124514\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t20\t2\t22\t22\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140124514\t20,2\t22,0\t22\t22\t\t\t0/1\t./.\t2\t0\t0\t0\t20\t22\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminTumorQual|LowEVS|minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140126788\t140126788\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t90\t87\t3\t69\t69\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tweak_evidence\tTTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140126788\t87,3\t69,0\t90\t69\t0.039\t0.016\t0/1\t0/0\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign|realign\tweak_evidence|LowEVS|weak_evidence|minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140126788\t140126788\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t90\t87\t3\t70\t70\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminTumorQual\tTTT\t.\t50\t\t\t\t\t\t\t\t\t\t\t\t\t140126788\t87.3\t70\t90\t70\t0.033\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign|realign\tweak_evidence|LowEVS|weak_evidence|minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140126788\t140126788\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t91\t88\t3\t72\t72\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140126788\t88,3\t72,0\t91\t72\t\t\t0/1\t./.\t0\t0\t3\t0\t0\t0\t88\t72\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign|realign\tweak_evidence|LowEVS|weak_evidence|minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140156989\t140156989\t+\tIGR\tSNP\tC\tT\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCCT\t.\t61\t\t\t\t\t\t\t\t\t\t\t\t\t140156989\t0.3\t2\t3\t2\t1\t0\t1/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\trealign|realign\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140156989\t140156989\t+\tIGR\tSNP\tC\tT\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t2\t0\t2\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCCT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140156989\t0,2\t2,0\t2\t2\t\t\t1/1\t./.\t0\t0\t0\t2\t0\t0\t2\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\trealign|realign\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140156990\t140156990\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t140156990\t0.3\t2\t3\t2\t1\t0\t1/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140156990\t140156990\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t2\t0\t2\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140156990\t0,2\t2,0\t2\t2\t\t\t1/1\t./.\t0\t0\t2\t0\t0\t0\t0\t2\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140163410\t140163410\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t2\t3\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCGA\t.\t74\t\t\t\t\t\t\t\t\t\t\t\t\t140163410\t2.3\t2\t5\t2\t0.6\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140163410\t140163410\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t2\t3\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140163410\t2,3\t2,0\t5\t2\t\t\t0/1\t./.\t3\t0\t0\t0\t2\t2\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140337265\t140337265\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24\t22\t2\t59\t59\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminTumorQual\tTTA\t.\t52\t\t\t\t\t\t\t\t\t\t\t\t\t140337265\t22.2\t59\t24\t59\t0.083\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign|realign\tmaxGermlineRelRawBaseQual;minTumorQual|LowEVS|minTumorQual|LowEVS|maxGermlineRelRawBaseQual;minTumorQual\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140337265\t140337265\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t25\t23\t2\t92\t92\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140337265\t23,2\t92,0\t25\t92\t\t\t0/1\t./.\t2\t0\t0\t0\t0\t0\t23\t92\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign|realign\tmaxGermlineRelRawBaseQual;minTumorQual|LowEVS|minTumorQual|LowEVS|maxGermlineRelRawBaseQual;minTumorQual\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140337265\t140337265\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24\t22\t2\t73\t73\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tmaxGermlineRelRawBaseQual;minTumorQual\tTTA\t.\t52\t\t\t\t\t\t\t\t\t\t\t\t\t140337265\t22.2\t73\t24\t73\t0.083\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign|realign\tmaxGermlineRelRawBaseQual;minTumorQual|LowEVS|minTumorQual|LowEVS|maxGermlineRelRawBaseQual;minTumorQual\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140340845\t140340845\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t14\t2\t12\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t117\t\t\t\t\t\t\t\t\t\t\t\t\t140340845\t2.12\t0\t14\t0\t0.857\t0\t1/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140340845\t140340845\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t2\t11\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140340845\t2,11\t0,0\t13\t0\t\t\t1/1\t./.\t0\t0\t11\t0\t0\t0\t2\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140340869\t140340869\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t12\t3\t9\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTT\t.\t140\t\t\t\t\t\t\t\t\t\t\t\t\t140340869\t3.9\t0\t12\t0\t0.75\t0\t1/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140340869\t140340869\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t12\t3\t9\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140340869\t3,9\t0,0\t12\t0\t\t\t1/1\t./.\t0\t0\t9\t0\t0\t0\t3\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140341845\t140341845\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t26\t24\t2\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGCC\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t140341845\t24.2\t3\t26\t3\t0.077\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140341845\t140341845\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t26\t24\t2\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGCC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140341845\t24,2\t3,0\t26\t3\t\t\t0/1\t./.\t0\t0\t24\t3\t0\t0\t2\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140343674\t140343675\t+\tIGR\tINS\t-\t-\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t3\t3\t5\t5\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGA\t.\t68\t\t\t\t\t\t\t\t\t\t\t\t\t140343674\t3.3\t5\t7\t5\t0.429\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|PASS|minGermlineDepth;minTumorQual|PASS\tPASS\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140343674\t140343675\t+\tIGR\tINS\t-\t-\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t10\t5\t4\t6\t5\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tPASS\tGGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140343674\t5,4\t5,0\t10\t6\t\t\t0/1\t./.\t\t\t\t\t\t\t\t\t5,5\t5,5\t4,4\t0,0\t1,1\t1,1\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|PASS|minGermlineDepth;minTumorQual|PASS\tPASS\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140353659\t140353659\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t10\t4\t6\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t134\t\t\t\t\t\t\t\t\t\t\t\t\t140353659\t4.6\t2\t10\t2\t0.6\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140353659\t140353659\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t10\t4\t6\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tAAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140353659\t4,6\t2,0\t10\t2\t\t\t0/1\t./.\t4\t2\t0\t0\t6\t0\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140353659\t140353659\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t2\t3\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t59\t\t\t\t\t\t\t\t\t\t\t\t\t140353659\t2.3\t2\t5\t2\t0.6\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140369391\t140369391\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t12\t6\t6\t3\t3\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATT\t.\t133\t\t\t\t\t\t\t\t\t\t\t\t\t140369391\t6.6\t3\t12\t3\t0.5\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140369391\t140369391\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t12\t6\t6\t3\t3\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tATT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140369391\t6,6\t3,0\t12\t3\t\t\t0/1\t./.\t6\t0\t0\t0\t0\t0\t6\t3\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140369391\t140369391\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t1\t2\t3\t3\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tATT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140369391\t1.2\t3\t3\t3\t\t\t0/1\t./.\t2\t0\t0\t0\t0\t0\t1\t3\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140370578\t140370578\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t5\t3\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tACA\t.\t69\t\t\t\t\t\t\t\t\t\t\t\t\t140370578\t5.3\t2\t8\t2\t0.375\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140370578\t140370578\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t5\t3\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tACA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140370578\t5,3\t2,0\t8\t2\t\t\t0/1\t./.\t0\t0\t5\t2\t0\t0\t3\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140402540\t140402540\t+\tIGR\tSNP\tA\tG\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t1\t4\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGAT\t.\t99\t\t\t\t\t\t\t\t\t\t\t\t\t140402540\t1.4\t2\t5\t2\t0.8\t0\t1/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140402540\t140402540\t+\tIGR\tSNP\tA\tG\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t1\t4\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140402540\t1,4\t2,0\t5\t2\t\t\t1/1\t./.\t1\t2\t0\t0\t4\t0\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140402551\t140402551\t+\tIGR\tSNP\tG\tA\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t6\t1\t5\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGA\t.\t105\t\t\t\t\t\t\t\t\t\t\t\t\t140402551\t1.5\t2\t6\t2\t0.833\t0\t1/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140402551\t140402551\t+\tIGR\tSNP\tG\tA\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t6\t1\t5\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140402551\t1,5\t2,0\t6\t2\t\t\t1/1\t./.\t5\t0\t0\t0\t1\t2\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140426299\t140426299\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t65\t63\t2\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tACT\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t140426299\t63.2\t3\t65\t3\t0.031\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140426299\t140426299\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t65\t63\t2\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tACT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140426299\t63,2\t3,0\t65\t3\t\t\t0/1\t./.\t0\t0\t63\t3\t0\t0\t2\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140427404\t140427404\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t12\t7\t5\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCGG\t.\t120\t\t\t\t\t\t\t\t\t\t\t\t\t140427404\t7.5\t2\t12\t2\t0.417\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140427404\t140427404\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t12\t7\t5\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCGG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140427404\t7,5\t2,0\t12\t2\t\t\t0/1\t./.\t5\t0\t0\t0\t7\t2\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140427404\t140427404\t+\tIGR\tSNP\tG\tA\tA\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t3\t3\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCGG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140427404\t0.3\t3\t3\t3\t\t\t1/1\t./.\t3\t0\t0\t0\t0\t3\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140427570\t140427570\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t56\t52\t4\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAC\t.\t83\t\t\t\t\t\t\t\t\t\t\t\t\t140427570\t52.4\t3\t56\t3\t0.071\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140427570\t140427570\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t56\t52\t4\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tAAC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140427570\t52,4\t3,0\t56\t3\t\t\t0/1\t./.\t52\t3\t0\t0\t4\t0\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140433091\t140433091\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t3\t4\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGG\t.\t63\t\t\t\t\t\t\t\t\t\t\t\t\t140433091\t3.4\t2\t7\t2\t0.571\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140433091\t140433091\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t3\t4\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGGG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140433091\t3,4\t2,0\t7\t2\t\t\t0/1\t./.\t0\t0\t0\t0\t3\t2\t4\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140433091\t140433091\t+\tIGR\tSNP\tG\tT\tT\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t1\t0\t1\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGGG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140433091\t0.1\t2\t1\t2\t\t\t1/1\t./.\t0\t0\t0\t0\t0\t2\t1\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140434409\t140434409\t+\tIGR\tSNP\tT\tG\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t2\t0\t2\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGTC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140434409\t0,2\t2,0\t2\t2\t\t\t1/1\t./.\t0\t0\t0\t0\t2\t0\t0\t2\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tLowEVS|minGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140434409\t140434409\t+\tIGR\tSNP\tT\tT\tG\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t6\t2\t4\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTC\t.\t104\t\t\t\t\t\t\t\t\t\t\t\t\t140434409\t2.4\t2\t6\t2\t0.667\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tLowEVS|minGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140436343\t140436343\t+\tIGR\tSNP\tA\tG\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t64\t\t\t\t\t\t\t\t\t\t\t\t\t140436343\t0.3\t1\t3\t1\t1\t0\t1/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140436343\t140436343\t+\tIGR\tSNP\tA\tG\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140436343\t0,3\t1,0\t3\t1\t\t\t1/1\t./.\t0\t1\t0\t0\t3\t0\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140436343\t140436343\t+\tIGR\tSNP\tA\tG\tG\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t1\t0\t1\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140436343\t0.1\t1\t1\t1\t\t\t1/1\t./.\t0\t1\t0\t0\t1\t0\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140436679\t140436679\t+\tIGR\tSNP\tG\tA\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t11\t2\t9\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCGC\t.\t210\t\t\t\t\t\t\t\t\t\t\t\t\t140436679\t2.9\t2\t11\t2\t0.818\t0\t1/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowEVS|minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140436679\t140436679\t+\tIGR\tSNP\tG\tA\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t12\t3\t9\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCGC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140436679\t3,9\t2,0\t12\t2\t\t\t1/1\t./.\t9\t0\t0\t0\t3\t2\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowEVS|minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140456687\t140456687\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t341\t334\t7\t36\t36\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tPASS\tTCC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140456687\t334,7\t36,0\t341\t36\t0.024\t0.029\t0/1\t0/0\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tPASS|LowEVS|PASS|LowEVS\tPASS\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140456687\t140456687\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t311\t304\t7\t36\t36\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTCC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140456687\t304,7\t36,0\t311\t36\t\t\t0/1\t./.\t0\t0\t304\t36\t0\t0\t7\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tPASS|LowEVS|PASS|LowEVS\tPASS\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140458030\t140458030\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t25\t11\t14\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tACA\t.\t301\t\t\t\t\t\t\t\t\t\t\t\t\t140458030\t11.14\t1\t25\t1\t0.56\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|minGermlineDepth;minTumorQual|minGermlineDepth|minGermlineDepth;minTumorQual\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140458030\t140458030\t+\tIGR\tSNP\tC\tT\tT\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tACA\t.\t63\t\t\t\t\t\t\t\t\t\t\t\t\t140458030\t0.3\t1\t3\t1\t1\t0\t1/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|minGermlineDepth;minTumorQual|minGermlineDepth|minGermlineDepth;minTumorQual\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140460142\t140460142\t+\tIGR\tSNP\tG\tG\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t10\t8\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGA\t.\t110\t\t\t\t\t\t\t\t\t\t\t\t\t140460142\t10.8\t4\t18\t4\t0.444\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140460142\t140460142\t+\tIGR\tSNP\tG\tG\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t19\t11\t8\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140460142\t11,8\t4,0\t19\t4\t\t\t0/1\t./.\t0\t0\t8\t0\t11\t4\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140460152\t140460152\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t14\t8\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t105\t\t\t\t\t\t\t\t\t\t\t\t\t140460152\t14.8\t2\t22\t2\t0.364\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140460152\t140460152\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t14\t8\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140460152\t14,8\t2,0\t22\t2\t\t\t0/1\t./.\t0\t0\t8\t0\t0\t0\t14\t2\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140460528\t140460528\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t16\t8\t8\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t104\t\t\t\t\t\t\t\t\t\t\t\t\t140460528\t8.8\t4\t16\t4\t0.5\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140460528\t140460528\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t16\t8\t8\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140460528\t8,8\t4,0\t16\t4\t\t\t0/1\t./.\t0\t0\t8\t0\t0\t0\t8\t4\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140460887\t140460887\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t94\t51\t43\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tATT\t.\t867\t\t\t\t\t\t\t\t\t\t\t\t\t140460887\t51.43\t3\t94\t3\t0.457\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowEVS|minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140460887\t140460887\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t94\t51\t43\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tATT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140460887\t51,43\t3,0\t94\t3\t\t\t0/1\t./.\t0\t0\t43\t0\t0\t0\t51\t3\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowEVS|minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140461114\t140461114\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t47\t33\t14\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tATA\t.\t257\t\t\t\t\t\t\t\t\t\t\t\t\t140461114\t33.14\t0\t47\t0\t0.298\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140461114\t140461114\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t47\t33\t14\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tATA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140461114\t33,14\t0,0\t47\t0\t\t\t0/1\t./.\t0\t0\t14\t0\t0\t0\t33\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140461126\t140461126\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t43\t30\t13\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTG\t.\t316\t\t\t\t\t\t\t\t\t\t\t\t\t140461126\t30.13\t0\t43\t0\t0.302\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140461126\t140461126\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t43\t30\t13\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140461126\t30,13\t0,0\t43\t0\t\t\t0/1\t./.\t13\t0\t0\t0\t0\t0\t30\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140461398\t140461398\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t73\t67\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t78\t\t\t\t\t\t\t\t\t\t\t\t\t140461398\t67.6\t1\t73\t1\t0.082\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140461398\t140461398\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t74\t68\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140461398\t68,6\t1,0\t74\t1\t\t\t0/1\t./.\t0\t0\t6\t0\t0\t0\t68\t1\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140461521\t140461521\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t73\t50\t23\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTA\t.\t367\t\t\t\t\t\t\t\t\t\t\t\t\t140461521\t50.23\t4\t73\t4\t0.315\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowEVS|minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140461521\t140461521\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t75\t52\t23\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140461521\t52,23\t4,0\t75\t4\t\t\t0/1\t./.\t0\t0\t23\t0\t0\t0\t52\t4\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowEVS|minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140461601\t140461601\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t60\t52\t8\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATT\t.\t120\t\t\t\t\t\t\t\t\t\t\t\t\t140461601\t52.8\t2\t60\t2\t0.133\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140461601\t140461601\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t61\t53\t8\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tATT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140461601\t53,8\t2,0\t61\t2\t\t\t0/1\t./.\t0\t0\t8\t0\t0\t0\t53\t2\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140462172\t140462172\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t36\t30\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTG\t.\t62\t\t\t\t\t\t\t\t\t\t\t\t\t140462172\t30.6\t1\t36\t1\t0.167\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140462172\t140462172\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t38\t32\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140462172\t32,6\t1,0\t38\t1\t\t\t0/1\t./.\t0\t0\t6\t0\t0\t0\t32\t1\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140462261\t140462261\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t78\t70\t8\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTC\t.\t111\t\t\t\t\t\t\t\t\t\t\t\t\t140462261\t70.8\t0\t78\t0\t0.103\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140462261\t140462261\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t79\t71\t8\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140462261\t71,8\t0,0\t79\t0\t\t\t0/1\t./.\t0\t0\t8\t0\t0\t0\t71\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140462289\t140462289\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t67\t47\t20\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCAA\t.\t299\t\t\t\t\t\t\t\t\t\t\t\t\t140462289\t47.2\t0\t67\t0\t0.299\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140462289\t140462289\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t77\t55\t22\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCAA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140462289\t55,22\t0,0\t77\t0\t\t\t0/1\t./.\t55\t0\t0\t0\t22\t0\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140462672\t140462672\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t73\t51\t22\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tATA\t.\t394\t\t\t\t\t\t\t\t\t\t\t\t\t140462672\t51.22\t1\t73\t1\t0.301\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140462672\t140462672\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t81\t56\t24\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tATA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140462672\t56,24\t1,0\t81\t1\t\t\t0/1\t./.\t1\t0\t24\t0\t0\t0\t56\t1\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140462903\t140462903\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t68\t62\t6\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTT\t.\t80\t\t\t\t\t\t\t\t\t\t\t\t\t140462903\t62.6\t2\t68\t2\t0.088\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140462903\t140462903\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t71\t65\t6\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140462903\t65,6\t2,0\t71\t2\t\t\t0/1\t./.\t0\t0\t6\t0\t0\t0\t65\t2\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140462909\t140462909\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t70\t63\t7\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTG\t.\t61\t\t\t\t\t\t\t\t\t\t\t\t\t140462909\t63.7\t2\t70\t2\t0.1\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140462909\t140462909\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t71\t64\t7\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140462909\t64,7\t2,0\t71\t2\t\t\t0/1\t./.\t0\t0\t7\t0\t0\t0\t64\t2\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140463129\t140463129\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t62\t60\t2\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGT\t.\t50\t\t\t\t\t\t\t\t\t\t\t\t\t140463129\t60.2\t0\t62\t0\t0.032\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140463129\t140463129\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t64\t62\t2\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140463129\t62,2\t0,0\t64\t0\t\t\t0/1\t./.\t2\t0\t0\t0\t62\t0\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140463556\t140463556\t+\tIGR\tSNP\tA\tA\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t37\t35\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAG\t.\t57\t\t\t\t\t\t\t\t\t\t\t\t\t140463556\t35.2\t1\t37\t1\t0.054\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140463556\t140463556\t+\tIGR\tSNP\tA\tA\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t39\t37\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCAG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140463556\t37,2\t1,0\t39\t1\t\t\t0/1\t./.\t37\t1\t0\t0\t0\t0\t2\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140463629\t140463629\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t45\t37\t8\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t78\t\t\t\t\t\t\t\t\t\t\t\t\t140463629\t37.8\t1\t45\t1\t0.178\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140463629\t140463629\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t46\t38\t8\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140463629\t38,8\t1,0\t46\t1\t\t\t0/1\t./.\t0\t0\t8\t0\t0\t0\t38\t1\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140463641\t140463641\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t42\t38\t4\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t140463641\t38.4\t1\t42\t1\t0.095\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140463641\t140463641\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t43\t39\t4\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140463641\t39,4\t1,0\t43\t1\t\t\t0/1\t./.\t0\t0\t4\t0\t0\t0\t39\t1\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140463718\t140463718\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t29\t24\t5\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t86\t\t\t\t\t\t\t\t\t\t\t\t\t140463718\t24.5\t1\t29\t1\t0.172\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140463718\t140463718\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t30\t25\t5\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140463718\t25,5\t1,0\t30\t1\t\t\t0/1\t./.\t0\t0\t5\t0\t0\t0\t25\t1\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140463763\t140463763\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t30\t24\t6\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t81\t\t\t\t\t\t\t\t\t\t\t\t\t140463763\t24.6\t0\t30\t0\t0.2\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140463763\t140463763\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t31\t25\t6\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140463763\t25,6\t0,0\t31\t0\t\t\t0/1\t./.\t0\t0\t6\t0\t0\t0\t25\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140463948\t140463949\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t20\t16\t4\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTGT\t.\t81\t\t\t\t\t\t\t\t\t\t\t\t\t140463948\t16.4\t3\t20\t3\t0.2\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140463948\t140463949\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t21\t16\t4\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tLowEVS\tTGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140463948\t16,4\t3,0\t21\t3\t\t\t0/1\t./.\t\t\t\t\t\t\t\t\t16,16\t3,3\t4,4\t0,0\t1,1\t0,0\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140464097\t140464097\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t17\t14\t3\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTT\t.\t68\t\t\t\t\t\t\t\t\t\t\t\t\t140464097\t14.3\t3\t17\t3\t0.176\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140464097\t140464097\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t15\t3\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140464097\t15,3\t3,0\t18\t3\t\t\t0/1\t./.\t0\t0\t3\t0\t0\t0\t15\t3\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140464098\t140464098\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t17\t12\t5\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTA\t.\t58\t\t\t\t\t\t\t\t\t\t\t\t\t140464098\t12.5\t3\t17\t3\t0.294\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\trealign|realign\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140464098\t140464098\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t13\t5\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140464098\t13,5\t3,0\t18\t3\t\t\t0/1\t./.\t0\t0\t5\t0\t0\t0\t13\t3\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\trealign|realign\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140464321\t140464321\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t35\t19\t16\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTT\t.\t219\t\t\t\t\t\t\t\t\t\t\t\t\t140464321\t19.16\t2\t35\t2\t0.457\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|unknown|realign|realign\tminGermlineDepth|minGermlineDepth;minTumorQual|LowEVS|minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140464321\t140464321\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t35\t19\t16\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140464321\t19,16\t3,0\t35\t3\t\t\t0/1\t./.\t0\t0\t16\t0\t0\t0\t19\t3\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|unknown|realign|realign\tminGermlineDepth|minGermlineDepth;minTumorQual|LowEVS|minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140464322\t140464322\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t38\t31\t7\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t73\t\t\t\t\t\t\t\t\t\t\t\t\t140464322\t31.7\t2\t38\t2\t0.184\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140464322\t140464322\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t36\t32\t4\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140464322\t32,4\t2,0\t36\t2\t\t\t0/1\t./.\t0\t0\t4\t0\t0\t0\t32\t2\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140464537\t140464537\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t28\t24\t4\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t72\t\t\t\t\t\t\t\t\t\t\t\t\t140464537\t24.4\t2\t28\t2\t0.143\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140464537\t140464537\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t30\t26\t4\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140464537\t26,4\t2,0\t30\t2\t\t\t0/1\t./.\t0\t0\t4\t0\t0\t0\t26\t2\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140464583\t140464583\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t35\t25\t10\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t69\t\t\t\t\t\t\t\t\t\t\t\t\t140464583\t25.1\t2\t35\t2\t0.286\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140464583\t140464583\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t36\t26\t10\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140464583\t26,10\t2,0\t36\t2\t\t\t0/1\t./.\t0\t0\t10\t0\t0\t0\t26\t2\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140464861\t140464861\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t20\t17\t3\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATT\t.\t64\t\t\t\t\t\t\t\t\t\t\t\t\t140464861\t17.3\t4\t20\t4\t0.15\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140464861\t140464861\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t19\t3\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tATT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140464861\t19,3\t4,0\t22\t4\t\t\t0/1\t./.\t0\t0\t3\t0\t0\t0\t19\t4\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140464893\t140464893\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t27\t17\t10\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTG\t.\t97\t\t\t\t\t\t\t\t\t\t\t\t\t140464893\t17.1\t3\t27\t3\t0.37\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140464893\t140464893\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t28\t18\t10\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140464893\t18,10\t3,0\t28\t3\t\t\t0/1\t./.\t0\t0\t10\t0\t0\t0\t18\t3\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140464929\t140464929\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t33\t20\t13\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTA\t.\t175\t\t\t\t\t\t\t\t\t\t\t\t\t140464929\t20.13\t1\t33\t1\t0.394\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140464929\t140464929\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t33\t20\t13\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140464929\t20,13\t3,0\t33\t3\t\t\t0/1\t./.\t0\t0\t13\t0\t0\t0\t20\t3\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140465241\t140465241\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t49\t46\t3\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t62\t\t\t\t\t\t\t\t\t\t\t\t\t140465241\t46.3\t1\t49\t1\t0.061\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140465241\t140465241\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t53\t50\t3\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140465241\t50,3\t1,0\t53\t1\t\t\t0/1\t./.\t0\t0\t3\t0\t0\t0\t50\t1\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140465388\t140465388\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t49\t42\t7\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t91\t\t\t\t\t\t\t\t\t\t\t\t\t140465388\t42.7\t1\t49\t1\t0.143\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140465388\t140465388\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t52\t47\t5\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140465388\t47,5\t1,0\t52\t1\t\t\t0/1\t./.\t0\t0\t5\t0\t0\t0\t47\t1\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140465405\t140465405\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t68\t54\t14\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTG\t.\t221\t\t\t\t\t\t\t\t\t\t\t\t\t140465405\t54.14\t1\t68\t1\t0.206\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140465405\t140465405\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t71\t57\t14\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140465405\t57,14\t1,0\t71\t1\t\t\t0/1\t./.\t0\t0\t14\t0\t0\t0\t57\t1\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140465442\t140465442\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t100\t78\t22\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTA\t.\t371\t\t\t\t\t\t\t\t\t\t\t\t\t140465442\t78.22\t1\t100\t1\t0.22\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140465442\t140465442\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t101\t78\t22\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140465442\t78,22\t1,0\t101\t1\t\t\t0/1\t./.\t0\t0\t22\t0\t0\t0\t78\t1\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140465908\t140465908\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24\t17\t7\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t84\t\t\t\t\t\t\t\t\t\t\t\t\t140465908\t17.7\t1\t24\t1\t0.292\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140465908\t140465908\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t27\t19\t8\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140465908\t19,8\t1,0\t27\t1\t\t\t0/1\t./.\t0\t0\t8\t0\t0\t0\t19\t1\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140466098\t140466098\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t39\t31\t8\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tATA\t.\t164\t\t\t\t\t\t\t\t\t\t\t\t\t140466098\t31.8\t0\t39\t0\t0.205\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140466098\t140466098\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t39\t31\t8\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tATA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140466098\t31,8\t0,0\t39\t0\t\t\t0/1\t./.\t0\t0\t8\t0\t0\t0\t31\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140467348\t140467348\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t32\t25\t7\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTT\t.\t120\t\t\t\t\t\t\t\t\t\t\t\t\t140467348\t25.7\t0\t32\t0\t0.219\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140467348\t140467348\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t32\t25\t7\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140467348\t25,7\t0,0\t32\t0\t\t\t0/1\t./.\t0\t0\t7\t0\t0\t0\t25\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140467558\t140467558\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t49\t33\t16\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;strandBias\tGTA\t.\t266\t\t\t\t\t\t\t\t\t\t\t\t\t140467558\t33.16\t0\t49\t0\t0.327\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth;strandBias|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140467558\t140467558\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t50\t34\t16\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140467558\t34,16\t0,0\t50\t0\t\t\t0/1\t./.\t0\t0\t16\t0\t0\t0\t34\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth;strandBias|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140468358\t140468358\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t87\t61\t26\t5\t3\t2\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tmaxGermlineRelRawBaseQual;maxGermlineVAF;minGermlineDepth\tGTG\t.\t412\t\t\t\t\t\t\t\t\t\t\t\t\t140468358\t61.26\t3.2\t87\t5\t0.299\t0.4\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tmaxGermlineRelRawBaseQual;maxGermlineVAF;minGermlineDepth|LowEVS|maxGermlineRelRawBaseQual;maxGermlineVAF;minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140468358\t140468358\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t87\t61\t26\t5\t3\t2\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140468358\t61,26\t3,2\t87\t5\t\t\t0/1\t./.\t0\t0\t26\t2\t0\t0\t61\t3\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tmaxGermlineRelRawBaseQual;maxGermlineVAF;minGermlineDepth|LowEVS|maxGermlineRelRawBaseQual;maxGermlineVAF;minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140468848\t140468848\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t44\t42\t2\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGA\t.\t54\t\t\t\t\t\t\t\t\t\t\t\t\t140468848\t42.2\t0\t44\t0\t0.045\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140468848\t140468848\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t45\t43\t2\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140468848\t43,2\t0,0\t45\t0\t\t\t0/1\t./.\t0\t0\t0\t0\t43\t0\t2\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140469137\t140469137\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t14\t8\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t104\t\t\t\t\t\t\t\t\t\t\t\t\t140469137\t14.8\t2\t22\t2\t0.364\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140469137\t140469137\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t14\t8\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140469137\t14,8\t2,0\t22\t2\t\t\t0/1\t./.\t0\t0\t8\t0\t0\t0\t14\t2\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140469696\t140469696\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t30\t25\t5\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t64\t\t\t\t\t\t\t\t\t\t\t\t\t140469696\t25.5\t2\t30\t2\t0.167\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140469696\t140469696\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t30\t25\t5\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140469696\t25,5\t2,0\t30\t2\t\t\t0/1\t./.\t0\t0\t5\t0\t0\t0\t25\t2\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140469796\t140469796\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t36\t30\t6\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATG\t.\t100\t\t\t\t\t\t\t\t\t\t\t\t\t140469796\t30.6\t4\t36\t4\t0.167\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140469796\t140469796\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t36\t30\t6\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tATG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140469796\t30,6\t4,0\t36\t4\t\t\t0/1\t./.\t0\t0\t6\t0\t0\t0\t30\t4\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140469814\t140469814\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t35\t31\t4\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t80\t\t\t\t\t\t\t\t\t\t\t\t\t140469814\t31.4\t4\t35\t4\t0.114\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140469814\t140469814\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t36\t32\t4\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140469814\t32,4\t5,0\t36\t5\t\t\t0/1\t./.\t0\t0\t4\t0\t0\t0\t32\t5\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140469929\t140469929\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t29\t13\t16\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tATC\t.\t257\t\t\t\t\t\t\t\t\t\t\t\t\t140469929\t13.16\t1\t29\t1\t0.552\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140469929\t140469929\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t1\t0\t1\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tATC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140469929\t0.1\t1\t1\t1\t\t\t1/1\t./.\t0\t0\t1\t0\t0\t0\t0\t1\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140470105\t140470105\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t49\t41\t8\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t86\t\t\t\t\t\t\t\t\t\t\t\t\t140470105\t41.8\t3\t49\t3\t0.163\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140470105\t140470105\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t50\t42\t8\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140470105\t42,8\t3,0\t50\t3\t\t\t0/1\t./.\t0\t0\t8\t0\t0\t0\t42\t3\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140471608\t140471608\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t19\t15\t4\t6\t6\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTA\t.\t89\t\t\t\t\t\t\t\t\t\t\t\t\t140471608\t15.4\t6\t19\t6\t0.211\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140471608\t140471608\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t19\t15\t4\t6\t6\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140471608\t15,4\t6,0\t19\t6\t\t\t0/1\t./.\t0\t0\t4\t0\t0\t0\t15\t6\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140471673\t140471673\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24\t13\t11\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTT\t.\t182\t\t\t\t\t\t\t\t\t\t\t\t\t140471673\t13.11\t5\t24\t5\t0.458\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowEVS|minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140471673\t140471673\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24\t13\t11\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140471673\t13,11\t5,0\t24\t5\t\t\t0/1\t./.\t0\t0\t11\t0\t0\t0\t13\t5\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowEVS|minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140473302\t140473302\t+\tIGR\tSNP\tT\tT\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t8\t5\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTC\t.\t75\t\t\t\t\t\t\t\t\t\t\t\t\t140473302\t8.5\t3\t13\t3\t0.385\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140473302\t140473302\t+\tIGR\tSNP\tT\tT\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t8\t5\t4\t4\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTTC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140473302\t8,5\t4,0\t13\t4\t\t\t0/1\t./.\t0\t0\t0\t0\t5\t0\t8\t4\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140473302\t140473302\t+\tIGR\tSNP\tT\tG\tG\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t1\t0\t1\t4\t4\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTTC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140473302\t0.1\t4\t1\t4\t\t\t1/1\t./.\t0\t0\t0\t0\t1\t0\t0\t4\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140482602\t140482602\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t3\t5\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAA\t.\t89\t\t\t\t\t\t\t\t\t\t\t\t\t140482602\t3.5\t3\t8\t3\t0.625\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140482602\t140482602\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t3\t5\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tAAA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140482602\t3,5\t3,0\t8\t3\t\t\t0/1\t./.\t3\t3\t0\t0\t5\t0\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140483770\t140483770\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t14\t4\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAG\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t140483770\t14.4\t0\t18\t0\t0.222\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140483770\t140483770\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t14\t4\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCAG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140483770\t14,4\t0,0\t18\t0\t\t\t0/1\t./.\t14\t0\t0\t0\t4\t0\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140627464\t140627464\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t1\t4\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t73\t\t\t\t\t\t\t\t\t\t\t\t\t140627464\t1.4\t1\t5\t1\t0.8\t0\t1/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140627464\t140627464\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t1\t4\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140627464\t1,4\t1,0\t5\t1\t\t\t1/1\t./.\t0\t0\t4\t0\t0\t0\t1\t1\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140693790\t140693790\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t62\t58\t4\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAG\t.\t73\t\t\t\t\t\t\t\t\t\t\t\t\t140693790\t58.4\t1\t62\t1\t0.065\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140693790\t140693790\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t62\t58\t4\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAAG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140693790\t58,4\t1,0\t62\t1\t\t\t0/1\t./.\t58\t1\t0\t0\t4\t0\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140694204\t140694204\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t23\t17\t6\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAG\t.\t67\t\t\t\t\t\t\t\t\t\t\t\t\t140694204\t17.6\t1\t23\t1\t0.261\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140694204\t140694204\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t25\t19\t6\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAAG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140694204\t19,6\t1,0\t25\t1\t\t\t0/1\t./.\t19\t1\t0\t0\t6\t0\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140697866\t140697866\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t56\t46\t10\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tAAC\t.\t163\t\t\t\t\t\t\t\t\t\t\t\t\t140697866\t46.1\t0\t56\t0\t0.179\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140697866\t140697866\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t57\t46\t10\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAAC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140697866\t46,10\t0,0\t57\t0\t\t\t0/1\t./.\t46\t0\t0\t0\t10\t0\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140697921\t140697921\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t56\t48\t8\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTAA\t.\t103\t\t\t\t\t\t\t\t\t\t\t\t\t140697921\t48.8\t0\t56\t0\t0.143\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140697921\t140697921\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t58\t50\t8\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTAA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140697921\t50,8\t0,0\t58\t0\t\t\t0/1\t./.\t50\t0\t0\t0\t8\t0\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140697935\t140697935\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t48\t45\t3\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAG\t.\t58\t\t\t\t\t\t\t\t\t\t\t\t\t140697935\t45.3\t0\t48\t0\t0.063\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140697935\t140697935\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t56\t53\t3\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAAG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140697935\t53,3\t0,0\t56\t0\t\t\t0/1\t./.\t53\t0\t0\t0\t3\t0\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140697987\t140697987\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t87\t82\t5\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t76\t\t\t\t\t\t\t\t\t\t\t\t\t140697987\t82.5\t2\t87\t2\t0.057\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140697987\t140697987\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t87\t82\t5\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140697987\t82,5\t2,0\t87\t2\t\t\t0/1\t./.\t0\t0\t5\t0\t0\t0\t82\t2\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140699078\t140699078\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t21\t17\t4\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGAG\t.\t59\t\t\t\t\t\t\t\t\t\t\t\t\t140699078\t17.4\t2\t21\t2\t0.19\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140699078\t140699078\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t21\t17\t4\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGAG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140699078\t17,4\t3,0\t21\t3\t\t\t0/1\t./.\t17\t3\t0\t0\t4\t0\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140700180\t140700180\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t49\t45\t4\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t86\t\t\t\t\t\t\t\t\t\t\t\t\t140700180\t45.4\t1\t49\t1\t0.082\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140700180\t140700180\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t59\t51\t4\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140700180\t51,4\t1,0\t59\t1\t\t\t0/1\t./.\t51\t1\t0\t0\t4\t0\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140700193\t140700193\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t38\t25\t13\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAG\t.\t131\t\t\t\t\t\t\t\t\t\t\t\t\t140700193\t25.13\t1\t38\t1\t0.342\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140700193\t140700193\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t47\t29\t15\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCAG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140700193\t29,15\t1,0\t47\t1\t\t\t0/1\t./.\t29\t1\t0\t0\t15\t0\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140700201\t140700201\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t36\t25\t11\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAC\t.\t145\t\t\t\t\t\t\t\t\t\t\t\t\t140700201\t25.11\t1\t36\t1\t0.306\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140700201\t140700201\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t38\t25\t11\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCAC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140700201\t25,11\t1,0\t38\t1\t\t\t0/1\t./.\t25\t1\t0\t0\t11\t0\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140700223\t140700223\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t9\t4\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAA\t.\t79\t\t\t\t\t\t\t\t\t\t\t\t\t140700223\t9.4\t1\t13\t1\t0.308\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140700223\t140700223\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t9\t4\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCAA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140700223\t9,4\t1,0\t13\t1\t\t\t0/1\t./.\t9\t1\t0\t0\t4\t0\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140701589\t140701589\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t74\t71\t3\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTAA\t.\t53\t\t\t\t\t\t\t\t\t\t\t\t\t140701589\t71.3\t1\t74\t1\t0.041\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140701589\t140701589\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t79\t76\t3\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTAA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140701589\t76,3\t1,0\t79\t1\t\t\t0/1\t./.\t76\t1\t0\t0\t3\t0\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140701590\t140701590\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t74\t65\t9\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAG\t.\t88\t\t\t\t\t\t\t\t\t\t\t\t\t140701590\t65.9\t1\t74\t1\t0.122\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140701590\t140701590\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t78\t69\t9\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAAG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140701590\t69,9\t1,0\t78\t1\t\t\t0/1\t./.\t69\t1\t0\t0\t9\t0\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140724780\t140724780\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t151\t91\t60\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tPASS\tCTT\t.\t963\t\t\t\t\t\t\t\t\t\t\t\t\t140724780\t91.6\t0\t151\t0\t0.397\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tPASS|LowDepth;LowEVS|PASS|LowDepth;LowEVS\tPASS\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140724780\t140724780\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t155\t97\t58\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140724780\t97,58\t0,0\t155\t0\t\t\t0/1\t./.\t0\t0\t58\t0\t0\t0\t97\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tPASS|LowDepth;LowEVS|PASS|LowDepth;LowEVS\tPASS\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140729191\t140729191\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t20\t17\t3\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t62\t\t\t\t\t\t\t\t\t\t\t\t\t140729191\t17.3\t0\t20\t0\t0.15\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140729191\t140729191\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t20\t17\t3\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140729191\t17,3\t0,0\t20\t0\t\t\t0/1\t./.\t0\t0\t3\t0\t0\t0\t17\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140790274\t140790274\t+\tIGR\tSNP\tA\tC\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t1\t4\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAC\t.\t83\t\t\t\t\t\t\t\t\t\t\t\t\t140790274\t1.4\t2\t5\t2\t0.8\t0\t1/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140790274\t140790274\t+\tIGR\tSNP\tA\tC\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t1\t4\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tAAC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140790274\t1,4\t2,0\t5\t2\t\t\t1/1\t./.\t1\t2\t4\t0\t0\t0\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140798704\t140798704\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t48\t41\t7\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t147\t\t\t\t\t\t\t\t\t\t\t\t\t140798704\t41.7\t0\t48\t0\t0.146\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140798704\t140798704\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t49\t42\t7\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140798704\t42,7\t0,0\t49\t0\t\t\t0/1\t./.\t0\t0\t7\t0\t0\t0\t42\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140811128\t140811128\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t47\t45\t2\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTA\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t140811128\t45.2\t4\t47\t4\t0.043\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140811128\t140811128\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t56\t54\t2\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140811128\t54,2\t4,0\t56\t4\t\t\t0/1\t./.\t2\t0\t0\t0\t0\t0\t54\t4\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140816975\t140816976\t+\tIGR\tINS\t-\t-\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t63\t51\t8\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tmaxGermlineRelRawBaseQual;minGermlineDepth;minTumorQual\tAGA\t.\t99\t\t\t\t\t\t\t\t\t\t\t\t\t140816975\t51.8\t1\t63\t1\t0.127\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|maxGermlineRelRawBaseQual;minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140816975\t140816976\t+\tIGR\tINS\t-\t-\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t67\t56\t8\t2\t1\t1\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tLowEVS\tAGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140816975\t56,8\t1,1\t67\t2\t\t\t0/1\t./.\t\t\t\t\t\t\t\t\t56,57\t1,1\t8,8\t1,1\t3,2\t0,0\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|maxGermlineRelRawBaseQual;minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140820737\t140820737\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t38\t27\t11\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t86\t\t\t\t\t\t\t\t\t\t\t\t\t140820737\t27.11\t3\t38\t3\t0.289\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140820737\t140820737\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t38\t27\t10\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140820737\t27,10\t3,0\t38\t3\t\t\t0/1\t./.\t0\t0\t10\t0\t0\t0\t27\t3\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140820825\t140820825\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t33\t27\t6\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t73\t\t\t\t\t\t\t\t\t\t\t\t\t140820825\t27.6\t0\t33\t0\t0.182\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140820825\t140820825\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t33\t26\t6\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140820825\t26,6\t0,0\t33\t0\t\t\t0/1\t./.\t0\t0\t6\t0\t1\t0\t26\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140821130\t140821130\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t29\t19\t10\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t152\t\t\t\t\t\t\t\t\t\t\t\t\t140821130\t19.1\t1\t29\t1\t0.345\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140821130\t140821130\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t30\t20\t10\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140821130\t20,10\t1,0\t30\t1\t\t\t0/1\t./.\t0\t0\t10\t0\t0\t0\t20\t1\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140821182\t140821182\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t34\t23\t11\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTT\t.\t203\t\t\t\t\t\t\t\t\t\t\t\t\t140821182\t23.11\t1\t34\t1\t0.324\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140821182\t140821182\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t35\t24\t11\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140821182\t24,11\t1,0\t35\t1\t\t\t0/1\t./.\t0\t0\t11\t0\t0\t0\t24\t1\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140821203\t140821203\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t26\t17\t9\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t107\t\t\t\t\t\t\t\t\t\t\t\t\t140821203\t17.9\t1\t26\t1\t0.346\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140821203\t140821203\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t26\t17\t9\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140821203\t17,9\t1,0\t26\t1\t\t\t0/1\t./.\t0\t0\t9\t0\t0\t0\t17\t1\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140822317\t140822317\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t87\t85\t2\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual;minTumorVAF\tAGA\t.\t58\t\t\t\t\t\t\t\t\t\t\t\t\t140822317\t85.2\t0\t87\t0\t0.023\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual;minTumorVAF|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140822317\t140822317\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t88\t86\t2\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140822317\t86,2\t0,0\t88\t0\t\t\t0/1\t./.\t0\t0\t0\t0\t86\t0\t2\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual;minTumorVAF|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140822996\t140822997\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t55\t49\t6\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t84\t\t\t\t\t\t\t\t\t\t\t\t\t140822996\t49.6\t1\t55\t1\t0.109\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140822996\t140822997\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t62\t51\t6\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tLowDepth;LowEVS\tAAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140822996\t51,6\t1,0\t62\t1\t\t\t0/1\t./.\t\t\t\t\t\t\t\t\t51,51\t1,1\t6,6\t0,0\t5,5\t0,0\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140827904\t140827905\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t40\t32\t8\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth\tTAT\t.\t163\t\t\t\t\t\t\t\t\t\t\t\t\t140827904\t32.8\t1\t40\t1\t0.2\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140827904\t140827905\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t43\t30\t8\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tLowDepth;LowEVS\tTAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140827904\t30,8\t1,0\t43\t1\t\t\t0/1\t./.\t\t\t\t\t\t\t\t\t30,32\t1,1\t8,8\t0,0\t6,4\t0,0\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140828517\t140828517\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t59\t24\t35\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGAT\t.\t753\t\t\t\t\t\t\t\t\t\t\t\t\t140828517\t24.35\t1\t59\t1\t0.593\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|minGermlineDepth;minTumorQual|minGermlineDepth|minGermlineDepth;minTumorQual\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140828517\t140828517\t+\tIGR\tSNP\tA\tG\tG\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t0\t4\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGAT\t.\t70\t\t\t\t\t\t\t\t\t\t\t\t\t140828517\t0.4\t1\t4\t1\t1\t0\t1/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth|minGermlineDepth;minTumorQual|minGermlineDepth|minGermlineDepth;minTumorQual\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140829200\t140829200\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t43\t17\t5\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTGG\t.\t64\t\t\t\t\t\t\t\t\t\t\t\t\t140829200\t17.5\t0\t43\t0\t0.116\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140829200\t140829200\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t21\t18\t3\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTGG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140829200\t18,3\t0,0\t21\t0\t\t\t0/1\t./.\t0\t0\t0\t0\t18\t0\t3\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140841133\t140841133\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t1\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGA\t.\t55\t\t\t\t\t\t\t\t\t\t\t\t\t140841133\t1.2\t1\t3\t1\t0.667\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140841133\t140841133\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t1\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140841133\t1,2\t1,0\t3\t1\t\t\t0/1\t./.\t2\t0\t0\t0\t1\t1\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140897881\t140897881\t+\tIGR\tSNP\tC\tC\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t12\t10\t2\t3\t3\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tACA\t.\t60\t\t\t\t\t\t\t\t\t\t\t\t\t140897881\t10.2\t3\t12\t3\t0.167\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140897881\t140897881\t+\tIGR\tSNP\tC\tC\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t11\t2\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tACA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140897881\t11,2\t4,0\t13\t4\t\t\t0/1\t./.\t2\t0\t11\t4\t0\t0\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140906294\t140906294\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t37\t30\t7\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t102\t\t\t\t\t\t\t\t\t\t\t\t\t140906294\t30.7\t2\t37\t2\t0.189\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140906294\t140906294\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t38\t31\t7\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140906294\t31,7\t2,0\t38\t2\t\t\t0/1\t./.\t0\t0\t7\t0\t0\t0\t31\t2\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140906444\t140906444\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t10\t12\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t126\t\t\t\t\t\t\t\t\t\t\t\t\t140906444\t10.12\t3\t22\t3\t0.545\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140906444\t140906444\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t10\t12\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140906444\t10,12\t3,0\t22\t3\t\t\t0/1\t./.\t0\t0\t12\t0\t0\t0\t10\t3\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140907479\t140907479\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t11\t7\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTC\t.\t131\t\t\t\t\t\t\t\t\t\t\t\t\t140907479\t11.7\t1\t18\t1\t0.389\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|realign\tminGermlineDepth;minTumorQual|minGermlineDepth;minTumorQual\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140907479\t140907479\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t2\t0\t2\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTC\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t140907479\t0.2\t1\t2\t1\t1\t0\t1/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|realign\tminGermlineDepth;minTumorQual|minGermlineDepth;minTumorQual\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140909399\t140909399\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t32\t27\t5\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATA\t.\t90\t\t\t\t\t\t\t\t\t\t\t\t\t140909399\t27.5\t0\t32\t0\t0.156\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140909399\t140909399\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t33\t28\t5\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tATA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140909399\t28,5\t0,0\t33\t0\t\t\t0/1\t./.\t0\t0\t5\t0\t0\t0\t28\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140910467\t140910468\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t35\t31\t4\t4\t4\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tACT\t.\t81\t\t\t\t\t\t\t\t\t\t\t\t\t140910467\t31.4\t4\t35\t4\t0.114\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140910467\t140910468\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t39\t30\t4\t4\t4\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tLowEVS\tACT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140910467\t30,4\t4,0\t39\t4\t\t\t0/1\t./.\t\t\t\t\t\t\t\t\t30,31\t4,4\t4,4\t0,0\t5,4\t0,0\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140910811\t140910811\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t20\t17\t3\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t140910811\t17.3\t0\t20\t0\t0.15\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t140910811\t140910811\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t19\t3\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140910811\t19,3\t0,0\t22\t0\t\t\t0/1\t./.\t0\t0\t3\t0\t0\t0\t19\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141004056\t141004056\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t31\t26\t5\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t81\t\t\t\t\t\t\t\t\t\t\t\t\t141004056\t26.5\t1\t31\t1\t0.161\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141004056\t141004056\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t31\t26\t5\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141004056\t26,5\t1,0\t31\t1\t\t\t0/1\t./.\t0\t0\t5\t0\t0\t0\t26\t1\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141004111\t141004111\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t10\t2\t8\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t135\t\t\t\t\t\t\t\t\t\t\t\t\t141004111\t2.8\t1\t10\t1\t0.8\t0\t1/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141004111\t141004111\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t10\t2\t8\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141004111\t2,8\t1,0\t10\t1\t\t\t1/1\t./.\t0\t0\t8\t0\t0\t0\t2\t1\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141004826\t141004826\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t1\t3\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTA\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t141004826\t1.3\t1\t4\t1\t0.75\t0\t1/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141004826\t141004826\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t1\t3\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141004826\t1,3\t1,0\t4\t1\t\t\t1/1\t./.\t0\t0\t3\t0\t0\t0\t1\t1\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141080090\t141080090\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t4\t3\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t62\t\t\t\t\t\t\t\t\t\t\t\t\t141080090\t4.3\t3\t7\t3\t0.429\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141080090\t141080090\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t4\t3\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tAAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141080090\t4,3\t3,0\t7\t3\t\t\t0/1\t./.\t4\t3\t0\t0\t3\t0\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141082435\t141082435\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t1\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGA\t.\t58\t\t\t\t\t\t\t\t\t\t\t\t\t141082435\t1.2\t1\t3\t1\t0.667\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141082435\t141082435\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t1\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141082435\t1,2\t1,0\t3\t1\t\t\t0/1\t./.\t2\t0\t0\t0\t1\t1\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141084239\t141084239\t+\tIGR\tSNP\tT\tA\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTT\t.\t75\t\t\t\t\t\t\t\t\t\t\t\t\t141084239\t0.3\t1\t3\t1\t1\t0\t1/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141084239\t141084239\t+\tIGR\tSNP\tT\tA\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141084239\t0,3\t2,0\t3\t2\t\t\t1/1\t./.\t3\t0\t0\t0\t0\t0\t0\t2\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141084239\t141084239\t+\tIGR\tSNP\tT\tA\tA\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t1\t0\t1\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141084239\t0.1\t2\t1\t2\t\t\t1/1\t./.\t1\t0\t0\t0\t0\t0\t0\t2\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141296649\t141296649\t+\tIGR\tSNP\tT\tA\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATT\t.\t78\t\t\t\t\t\t\t\t\t\t\t\t\t141296649\t0.3\t4\t3\t4\t1\t0\t1/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141296649\t141296649\t+\tIGR\tSNP\tT\tA\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tATT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141296649\t0,3\t4,0\t3\t4\t\t\t1/1\t./.\t3\t0\t0\t0\t0\t0\t0\t4\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141350897\t141350897\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t1\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGT\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t141350897\t1.2\t1\t3\t1\t0.667\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141350897\t141350897\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t1\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141350897\t1,2\t1,0\t3\t1\t\t\t0/1\t./.\t0\t0\t0\t0\t1\t1\t2\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141350899\t141350899\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t1\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTCG\t.\t57\t\t\t\t\t\t\t\t\t\t\t\t\t141350899\t1.2\t1\t3\t1\t0.667\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141350899\t141350899\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t1\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTCG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141350899\t1,2\t1,0\t3\t1\t\t\t0/1\t./.\t0\t0\t1\t1\t0\t0\t2\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141365719\t141365719\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t11\t9\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTGT\t.\t53\t\t\t\t\t\t\t\t\t\t\t\t\t141365719\t9.2\t1\t11\t1\t0.182\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141365719\t141365719\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t12\t10\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141365719\t10,2\t1,0\t12\t1\t\t\t0/1\t./.\t2\t0\t0\t0\t10\t1\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141513665\t141513665\t+\tIGR\tSNP\tA\tA\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t5\t2\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGAT\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t141513665\t5.2\t3\t7\t3\t0.286\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141513665\t141513665\t+\tIGR\tSNP\tA\tA\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t5\t2\t4\t4\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141513665\t5,2\t4,0\t7\t4\t\t\t0/1\t./.\t5\t4\t0\t0\t0\t0\t2\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141644925\t141644925\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t15\t13\t2\t4\t4\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTCT\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t141644925\t13.2\t4\t15\t4\t0.133\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141644925\t141644925\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t16\t14\t2\t4\t4\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTCT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141644925\t14,2\t4,0\t16\t4\t\t\t0/1\t./.\t0\t0\t14\t4\t0\t0\t2\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141652639\t141652640\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t160\t149\t11\t8\t8\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tslippage\tAAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141652639\t149,11\t8,0\t160\t8\t0.076\t0.094\t0/1\t0/0\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|unknown|realign|realign|realign\tslippage|minGermlineDepth|LowEVS|slippage|maxGermlineRelRawBaseQual;minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141652639\t141652640\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t157\t141\t13\t7\t7\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tmaxGermlineRelRawBaseQual;minGermlineDepth\tAAT\t.\t176\t\t\t\t\t\t\t\t\t\t\t\t\t141652639\t141.13\t7\t157\t7\t0.083\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|unknown|realign|realign|realign\tslippage|minGermlineDepth|LowEVS|slippage|maxGermlineRelRawBaseQual;minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141652639\t141652640\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t185\t138\t16\t10\t8\t1\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tLowEVS\tAAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141652639\t138,16\t8,1\t185\t10\t\t\t0/1\t./.\t\t\t\t\t\t\t\t\t138,138\t8,8\t16,16\t1,1\t31,31\t1,1\trealign\tunknown|unknown|unknown|realign|realign|realign\tslippage|minGermlineDepth|LowEVS|slippage|maxGermlineRelRawBaseQual;minGermlineDepth|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141656174\t141656174\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t90\t88\t2\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual;minTumorVAF\tCCC\t.\t59\t\t\t\t\t\t\t\t\t\t\t\t\t141656174\t88.2\t0\t90\t0\t0.022\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual;minTumorVAF|LowDepth;LowEVS|minGermlineDepth;minTumorQual;minTumorVAF|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141656174\t141656174\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t96\t94\t2\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCCC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141656174\t94,2\t0,0\t96\t0\t\t\t0/1\t./.\t0\t0\t94\t0\t0\t0\t2\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual;minTumorVAF|LowDepth;LowEVS|minGermlineDepth;minTumorQual;minTumorVAF|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141666987\t141666987\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t23\t17\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTG\t.\t74\t\t\t\t\t\t\t\t\t\t\t\t\t141666987\t17.6\t1\t23\t1\t0.261\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141666987\t141666987\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t23\t17\t6\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141666987\t17,6\t2,0\t23\t2\t\t\t0/1\t./.\t0\t0\t6\t0\t0\t0\t17\t2\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141699142\t141699142\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATC\t.\t57\t\t\t\t\t\t\t\t\t\t\t\t\t141699142\t0.3\t1\t3\t1\t1\t0\t1/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141699142\t141699142\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tATC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141699142\t0,3\t1,0\t3\t1\t\t\t1/1\t./.\t0\t0\t3\t0\t0\t0\t0\t1\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141712007\t141712007\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t11\t8\t3\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTGT\t.\t53\t\t\t\t\t\t\t\t\t\t\t\t\t141712007\t8.3\t1\t11\t1\t0.273\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tLowDepth;LowEVS|minGermlineDepth;minTumorQual|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141712007\t141712007\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t11\t8\t3\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141712007\t8,3\t1,0\t11\t1\t\t\t0/1\t./.\t3\t0\t0\t0\t8\t1\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tLowDepth;LowEVS|minGermlineDepth;minTumorQual|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141712007\t141712007\t+\tIGR\tSNP\tG\tA\tA\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t0\t4\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTGT\t.\t60\t\t\t\t\t\t\t\t\t\t\t\t\t141712007\t0.4\t1\t4\t1\t1\t0\t1/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tLowDepth;LowEVS|minGermlineDepth;minTumorQual|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141723300\t141723300\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t40\t40\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tweak_evidence\tTGC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141723300\t6,2\t40,0\t8\t40\t0.25\t0.026\t0/1\t0/0\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|unknown|realign|realign|realign\tweak_evidence|minTumorQual|LowEVS|weak_evidence|minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141723300\t141723300\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t37\t37\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminTumorQual\tTGC\t.\t52\t\t\t\t\t\t\t\t\t\t\t\t\t141723300\t6.2\t37\t8\t37\t0.25\t0\t0/1\t./.\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|unknown|realign|realign|realign\tweak_evidence|minTumorQual|LowEVS|weak_evidence|minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141723300\t141723300\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t40\t40\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTGC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141723300\t6,2\t40,0\t8\t40\t\t\t0/1\t./.\t0\t0\t0\t0\t6\t40\t2\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|unknown|realign|realign|realign\tweak_evidence|minTumorQual|LowEVS|weak_evidence|minTumorQual|LowEVS\tFAIL\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141724345\t141724345\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t3\t2\t35\t35\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tweak_evidence\tAGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141724345\t3,2\t35,0\t5\t35\t0.4\t0.027\t0/1\t0/0\t\t\t\t\t\t\t\t\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tweak_evidence|PASS|weak_evidence|PASS\tPASS\tTRUE", + "Unknown\t0\t.\tGRCh38\tchr7\t141724345\t141724345\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t3\t2\t36\t36\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tPASS\tAGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141724345\t3,2\t36,0\t5\t36\t\t\t0/1\t./.\t2\t0\t0\t0\t3\t36\t0\t0\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\t\"\"\trealign\tunknown|unknown|realign|realign\tweak_evidence|PASS|weak_evidence|PASS\tPASS\tTRUE" + ], + [ + "\"RUN_CONSENSUS\":", + " R: R version 4.5.3 (2026-03-11) -- \"Reassured Reassurer\" Copyright (C) 2026 The R Foundation for Statistical Computing Platform: x86_64-conda-linux-gnu R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under the terms of the GNU General Public License versions 2 or 3. For more information about these matters see https://www.gnu.org/licenses/." + ] + ], + "timestamp": "2026-06-25T14:21:37.032589", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } + } +} \ No newline at end of file diff --git a/modules/local/create_intervals_bed/main.nf b/modules/local/create_intervals_bed/main.nf new file mode 100644 index 00000000..4ade5d8b --- /dev/null +++ b/modules/local/create_intervals_bed/main.nf @@ -0,0 +1,73 @@ +process CREATE_INTERVALS_BED { + tag "$intervals" + + conda "anaconda::gawk=5.1.0" + container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/gawk:5.1.0' : + 'biocontainers/gawk:5.1.0' }" + + input: + path(intervals) + + output: + path("*.bed") , emit: bed + path "versions.yml" , emit: versions + + when: + task.ext.when == null || task.ext.when + + script: + // If intervals file is in BED format, + // Fifth column is interpreted to contain runtime estimates + // Which is then used to combine short-running jobs + if (intervals.toString().toLowerCase().endsWith("bed")) { + """ + awk -vFS="\t" '{ + t = \$5 # runtime estimate + if (t == "") { + # no runtime estimate in this row, assume default value + t = (\$3 - \$2) / ${params.nucleotides_per_second} + } + if (name == "" || (chunk > 600 && (chunk + t) > longest * 1.05)) { + # start a new chunk + name = sprintf("%s_%d-%d.bed", \$1, \$2+1, \$3) + chunk = 0 + longest = 0 + } + if (t > longest) + longest = t + chunk += t + print \$0 > name + }' ${intervals} + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + gawk: \$(awk -Wversion | sed '1!d; s/.*Awk //; s/,.*//') + END_VERSIONS + """ + } else if (intervals.toString().toLowerCase().endsWith("interval_list")) { + """ + grep -v '^@' ${intervals} | awk -vFS="\t" '{ + name = sprintf("%s_%d-%d", \$1, \$2, \$3); + printf("%s\\t%d\\t%d\\n", \$1, \$2-1, \$3) > name ".bed" + }' + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + gawk: \$(awk -Wversion | sed '1!d; s/.*Awk //; s/,.*//') + END_VERSIONS + """ + } else { + """ + awk -vFS="[:-]" '{ + name = sprintf("%s_%d-%d", \$1, \$2, \$3); + printf("%s\\t%d\\t%d\\n", \$1, \$2-1, \$3) > name ".bed" + }' ${intervals} + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + gawk: \$(awk -Wversion | sed '1!d; s/.*Awk //; s/,.*//') + END_VERSIONS + """ + } +} diff --git a/modules/local/extract_reads_id/main.nf b/modules/local/extract_reads_id/main.nf new file mode 100644 index 00000000..153c8446 --- /dev/null +++ b/modules/local/extract_reads_id/main.nf @@ -0,0 +1,39 @@ +process SAMTOOLS_EXTRACT_READ_IDS { + tag "$meta.id" + label 'process_single' + + conda "bioconda::samtools=1.15.1" + container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/samtools:1.15.1--h1170115_0' : + 'biocontainers/samtools:1.15.1--h1170115_0' }" + + input: + tuple val(meta), path(input), path(index), path(bed) + tuple val(meta2), path(fasta) + + output: + tuple val(meta), path("*_IDs_all.txt") , emit: read_ids + path "versions.yml" , emit: versions + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + def reference = fasta ? "--reference ${fasta}" : "" + """ + samtools \\ + view \\ + --threads ${task.cpus-1} \\ + ${reference} \\ + -L $bed \\ + $args \\ + $input | cut -f1 > ${prefix}_IDs_all.txt + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + samtools: \$(echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//') + END_VERSIONS + """ +} diff --git a/modules/local/maf2bed/main.nf b/modules/local/maf2bed/main.nf new file mode 100644 index 00000000..d33bd2c6 --- /dev/null +++ b/modules/local/maf2bed/main.nf @@ -0,0 +1,33 @@ +process MAF2BED { + tag "$meta.id" + label 'process_single' + + conda "anaconda::pandas=1.4.3" + container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/pandas:1.4.3' : + 'biocontainers/pandas:1.4.3' }" + + input: + tuple val(meta), path(maf) + + output: + tuple val(meta), path('*.bed') , emit: bed + path "versions.yml" , emit: versions + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + + """ +#!/usr/bin/env python +import subprocess +import pandas as pd +maf = pd.read_csv("${maf}", sep="\\t", comment="#") +bed = maf[["Chromosome", "Start_Position", "End_Position"]] +bed.to_csv("${prefix}.bed", sep="\\t", index=False, header=False) +subprocess.check_call('cat <<-END_VERSIONS > versions.yml\\n\\"${task.process}\\":\\n\tpython: \$(echo \$(python --version 2>&1) | sed \\"s/^.*Python (//;s/).*//\\")\\nEND_VERSIONS', shell=True) + """ +} diff --git a/modules/local/maf_filtering/environment.yml b/modules/local/maf_filtering/environment.yml new file mode 100644 index 00000000..dbab0fcf --- /dev/null +++ b/modules/local/maf_filtering/environment.yml @@ -0,0 +1,6 @@ +name: maf_filtering +channels: + - conda-forge + - bioconda +dependencies: + - conda-forge::pandas=1.4.3 diff --git a/modules/local/maf_filtering/main.nf b/modules/local/maf_filtering/main.nf new file mode 100644 index 00000000..b8840a24 --- /dev/null +++ b/modules/local/maf_filtering/main.nf @@ -0,0 +1,33 @@ +process MAF_FILTERING { + tag "$meta.id" + label 'process_low' + + conda "${moduleDir}/environment.yml" + container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/mulled-v2-629aec3ba267b06a1efc3ec454c0f09e134f6ee2:3b083bb5eae6e491b8579589b070fa29afbea2a1-0' : + 'biocontainers/mulled-v2-629aec3ba267b06a1efc3ec454c0f09e134f6ee2:3b083bb5eae6e491b8579589b070fa29afbea2a1-0' }" + + input: + tuple val(meta), path(maf) + tuple val(meta2), path(fasta) + + output: + tuple val(meta), path('*.maf'), emit: maf + path "versions.yml" , emit: versions + + when: + task.ext.when == null || task.ext.when + + script: // This script is bundled with the pipeline, in nf-core/rnadnavar/bin/ + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + + """ + filter_mutations.py -i $maf --output ${prefix}.maf --ref $fasta $args + cat <<-END_VERSIONS > versions.yml + "${task.process}": + python: \$(echo \$(python --version 2>&1) | sed -e "s/Python //g") + END_VERSIONS + """ + +} diff --git a/modules/local/maf_filtering/meta.yml b/modules/local/maf_filtering/meta.yml new file mode 100644 index 00000000..7c7b5eb5 --- /dev/null +++ b/modules/local/maf_filtering/meta.yml @@ -0,0 +1,47 @@ +name: maf_filtering +description: Filters MAF file with python script +keywords: + - filtering + - MAF + - variant calling +tools: + - decompose: + description: Filters MAF file with python script + licence: ["MIT"] + +input: + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - maf: + type: file + description: The MAF file to be filtered + pattern: "*.{maf.gz,maf}" + - meta2: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - fasta: + type: file + description: Input genome fasta file + +output[: + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - maf: + type: file + description: The MAF file to be filtered + pattern: "*.{maf.gz,maf}" + - version: + type: file + description: File containing software versions + pattern: "versions.yml" + +authors: + - "@RaqManzano" diff --git a/modules/local/maf_filtering/tests/main.nf.test b/modules/local/maf_filtering/tests/main.nf.test new file mode 100644 index 00000000..6006c90f --- /dev/null +++ b/modules/local/maf_filtering/tests/main.nf.test @@ -0,0 +1,37 @@ +nextflow_process { + name "Test Process MAF_FILTERING" + + process "MAF_FILTERING" + script "../main.nf" + + tag "modules" + tag "modules_local" + tag "maf_filtering" + + test("Run MAF filtering on RNA MAF") { + when { + process { + """ + input[0] = [ + [ id:'TCRBOA7-T-RNA_vs_TCRBOA7-N', patient:'TCRBOA7', status:2 ], + file('https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/maf/TCRBOA7-T-RNA.maf', checkIfExists: true) + ] + input[1] = [ + [ id:'fasta' ], + file('https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/reference/chr7_hg38/GRCh38.d1.vd1.chr7.mini.fa', checkIfExists: true) + ] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot( + path(process.out.maf[0][1]).readLines(), + path(process.out.versions[0]).readLines() + ).match() } + ) + } + } +} diff --git a/modules/local/maf_filtering/tests/main.nf.test.snap b/modules/local/maf_filtering/tests/main.nf.test.snap new file mode 100644 index 00000000..fa9d7bfa --- /dev/null +++ b/modules/local/maf_filtering/tests/main.nf.test.snap @@ -0,0 +1,235 @@ +{ + "Run MAF filtering on RNA MAF": { + "content": [ + [ + "Hugo_Symbol\tEntrez_Gene_Id\tCenter\tNCBI_Build\tChromosome\tStart_Position\tEnd_Position\tStrand\tVariant_Classification\tVariant_Type\tReference_Allele\tTumor_Seq_Allele1\tTumor_Seq_Allele2\tdbSNP_RS\tdbSNP_Val_Status\tTumor_Sample_Barcode\tMatched_Norm_Sample_Barcode\tMatch_Norm_Seq_Allele1\tMatch_Norm_Seq_Allele2\tTumor_Validation_Allele1\tTumor_Validation_Allele2\tMatch_Norm_Validation_Allele1\tMatch_Norm_Validation_Allele2\tVerification_Status\tValidation_Status\tMutation_Status\tSequencing_Phase\tSequence_Source\tValidation_Method\tScore\tBAM_File\tSequencer\tTumor_Sample_UUID\tMatched_Norm_Sample_UUID\tHGVSc\tHGVSp\tHGVSp_Short\tTranscript_ID\tExon_Number\tt_depth\tt_ref_count\tt_alt_count\tn_depth\tn_ref_count\tn_alt_count\tall_effects\tAllele\tGene\tFeature\tFeature_type\tConsequence\tcDNA_position\tCDS_position\tProtein_position\tAmino_acids\tCodons\tExisting_variation\tALLELE_NUM\tDISTANCE\tSTRAND_VEP\tSYMBOL\tSYMBOL_SOURCE\tHGNC_ID\tBIOTYPE\tCANONICAL\tCCDS\tENSP\tSWISSPROT\tTREMBL\tUNIPARC\tRefSeq\tSIFT\tPolyPhen\tEXON\tINTRON\tDOMAINS\tAF\tAFR_AF\tAMR_AF\tASN_AF\tEAS_AF\tEUR_AF\tSAS_AF\tAA_AF\tEA_AF\tCLIN_SIG\tSOMATIC\tPUBMED\tMOTIF_NAME\tMOTIF_POS\tHIGH_INF_POS\tMOTIF_SCORE_CHANGE\tIMPACT\tPICK\tVARIANT_CLASS\tTSL\tHGVS_OFFSET\tPHENO\tMINIMISED\tGENE_PHENO\tFILTER\tflanking_bps\tvcf_id\tvcf_qual\tgnomADe_AF\tgnomADe_AFR_AF\tgnomADe_AMR_AF\tgnomADe_ASJ_AF\tgnomADe_EAS_AF\tgnomADe_FIN_AF\tgnomADe_NFE_AF\tgnomADe_OTH_AF\tgnomADe_SAS_AF\tgnomADg_AF\tMAX_AF\tMAX_AF_POPS\tvcf_pos\tt_AD\tn_AD\tt_DP\tn_DP\tt_AF\tn_AF\tt_GT\tn_GT\tt_AU\tn_AU\tt_CU\tn_CU\tt_GU\tn_GU\tt_TU\tn_TU\tt_TAR\tn_TAR\tt_TIR\tn_TIR\tt_TOR\tn_TOR\tCaller\tcallers\tfilters\tFILTER_consensus\tisconsensus\tDNAchange\tingnomAD\tnoncoding\tig_pseudo\tCONTEXT\thomopolymer\tRaVeX_FILTER\tTumor_Sample_Barcode_consensus", + "Unknown\t0\t.\tGRCh38\tchr7\t139832913\t139832913\t+\tIGR\tSNP\tG\tG\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t14\t8\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGA\t.\t159\t\t\t\t\t\t\t\t\t\t\t\t\t139832913\t14.8\t3\t22\t3\t0.364\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.139832913G>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t139836268\t139836268\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t26\t18\t8\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGT\t.\t142\t\t\t\t\t\t\t\t\t\t\t\t\t139836268\t18.8\t1\t26\t1\t0.308\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.139836268G>A\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t139839306\t139839306\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t10\t3\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTGA\t.\t55\t\t\t\t\t\t\t\t\t\t\t\t\t139839306\t10.3\t2\t13\t2\t0.231\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.139839306G>A\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t139840078\t139840078\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t11\t2\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTGG\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t139840078\t11.2\t0\t13\t0\t0.154\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.139840078G>T\tFalse\tTrue\tFalse\t\t\tmin_alt_reads;noncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t139861816\t139861816\t+\tIGR\tSNP\tA\tG\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t1\t3\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAG\t.\t50\t\t\t\t\t\t\t\t\t\t\t\t\t139861816\t1.3\t3\t4\t3\t0.75\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.139861816A>G\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t139864673\t139864673\t+\tIGR\tSNP\tC\tC\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t5\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGCT\t.\t55\t\t\t\t\t\t\t\t\t\t\t\t\t139864673\t5.2\t1\t7\t1\t0.286\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.139864673C>A\tFalse\tTrue\tFalse\t\t\tmin_alt_reads;noncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t139941097\t139941097\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t15\t12\t3\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATC\t.\t62\t\t\t\t\t\t\t\t\t\t\t\t\t139941097\t12.3\t0\t15\t0\t0.2\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.139941097T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t139943319\t139943319\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t12\t9\t3\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGCG\t.\t75\t\t\t\t\t\t\t\t\t\t\t\t\t139943319\t9.3\t1\t12\t1\t0.25\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.139943319C>T\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t139948123\t139948123\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCCC\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t139948123\t6.2\t1\t8\t1\t0.25\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.139948123C>T\tFalse\tTrue\tFalse\t\t\tmin_alt_reads;noncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t139964882\t139964882\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t11\t2\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTCA\t.\t55\t\t\t\t\t\t\t\t\t\t\t\t\t139964882\t11.2\t2\t13\t2\t0.154\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.139964882C>T\tFalse\tTrue\tFalse\t\t\tmin_alt_reads;noncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t139988205\t139988205\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCGC\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t139988205\t6.2\t1\t8\t1\t0.25\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.139988205G>A\tFalse\tTrue\tFalse\t\t\tmin_alt_reads;noncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t139992039\t139992039\t+\tIGR\tSNP\tC\tA\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t2\t5\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCCC\t.\t105\t\t\t\t\t\t\t\t\t\t\t\t\t139992039\t2.5\t0\t7\t0\t0.714\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.139992039C>A\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t139995345\t139995345\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t12\t8\t4\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAA\t.\t65\t\t\t\t\t\t\t\t\t\t\t\t\t139995345\t8.4\t2\t12\t2\t0.333\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.139995345A>G\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140000300\t140000300\t+\tIGR\tSNP\tC\tG\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t1\t6\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tACA\t.\t120\t\t\t\t\t\t\t\t\t\t\t\t\t140000300\t1.6\t0\t7\t0\t0.857\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140000300C>G\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140001893\t140001893\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t5\t3\t4\t4\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTCA\t.\t73\t\t\t\t\t\t\t\t\t\t\t\t\t140001893\t5.3\t4\t8\t4\t0.375\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140001893C>T\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140001971\t140001971\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t2\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCCC\t.\t50\t\t\t\t\t\t\t\t\t\t\t\t\t140001971\t2.2\t1\t4\t1\t0.5\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140001971C>T\tFalse\tTrue\tFalse\t\t\tmin_alt_reads;noncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140006043\t140006043\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t6\t2\t4\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGCG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140006043\t2.4\t3\t6\t3\t\t\t0/1\t./.\t0.0\t0.0\t2.0\t3.0\t0.0\t0.0\t4.0\t0.0\t\t\t\t\t\t\tstrelka\tstrelka|consensus|consensus|consensus\tLowEVS|minGermlineDepth;minTumorQual|LowEVS|FAIL\tFAIL\tTrue\tchr7:g.140006043C>T\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\tTCRBOA7-T", + "Unknown\t0\t.\tGRCh38\tchr7\t140011016\t140011016\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t11\t4\t7\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAC\t.\t65\t\t\t\t\t\t\t\t\t\t\t\t\t140011016\t4.7\t2\t11\t2\t0.636\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140011016A>G\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140011157\t140011157\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t5\t8\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t86\t\t\t\t\t\t\t\t\t\t\t\t\t140011157\t5.8\t2\t13\t2\t0.615\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140011157A>G\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140011178\t140011178\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t8\t5\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTAA\t.\t59\t\t\t\t\t\t\t\t\t\t\t\t\t140011178\t8.5\t2\t13\t2\t0.385\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140011178A>G\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140012618\t140012618\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t9\t5\t4\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t57\t\t\t\t\t\t\t\t\t\t\t\t\t140012618\t5.4\t2\t9\t2\t0.444\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140012618T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140012739\t140012739\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t8\t10\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAT\t.\t111\t\t\t\t\t\t\t\t\t\t\t\t\t140012739\t8.1\t3\t18\t3\t0.556\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140012739A>G\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140027870\t140027870\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t92\t57\t35\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTC\t.\t670\t\t\t\t\t\t\t\t\t\t\t\t\t140027870\t57.35\t0\t92\t0\t0.38\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140027870T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140029645\t140029645\t+\tIGR\tDEL\tA\tA\t-\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t81\t73\t8\t1\t1\t0\t\t-\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tdeletion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGAA\t.\t91\t\t\t\t\t\t\t\t\t\t\t\t\t140029644\t73.8\t1\t81\t1\t0.099\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140029645A>-\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140030471\t140030471\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t106\t64\t42\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCGC\t.\t852\t\t\t\t\t\t\t\t\t\t\t\t\t140030471\t64.42\t0\t106\t0\t0.396\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140030471G>A\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140030498\t140030498\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t119\t107\t12\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t142\t\t\t\t\t\t\t\t\t\t\t\t\t140030498\t107.12\t0\t119\t0\t0.101\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140030498T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140030515\t140030515\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t137\t116\t21\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTT\t.\t324\t\t\t\t\t\t\t\t\t\t\t\t\t140030515\t116.21\t0\t137\t0\t0.153\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140030515T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140030554\t140030554\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t123\t115\t8\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATG\t.\t80\t\t\t\t\t\t\t\t\t\t\t\t\t140030554\t115.8\t1\t123\t1\t0.065\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140030554T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140030567\t140030567\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t108\t81\t27\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTG\t.\t322\t\t\t\t\t\t\t\t\t\t\t\t\t140030567\t81.27\t1\t108\t1\t0.25\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140030567T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140030605\t140030605\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t73\t65\t8\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tTAC\t.\t160\t\t\t\t\t\t\t\t\t\t\t\t\t140030605\t65.8\t1\t73\t1\t0.11\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140030605A>G\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140030629\t140030629\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t74\t54\t20\t2\t1\t1\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tmaxGermlineRelRawBaseQual;maxGermlineVAF;minGermlineDepth\tTAC\t.\t289\t\t\t\t\t\t\t\t\t\t\t\t\t140030629\t54.2\t1.1\t74\t2\t0.27\t0.5\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140030629A>G\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140030631\t140030631\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t53\t41\t12\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tmaxGermlineRelRawBaseQual;minGermlineDepth;minTumorQual\tCGT\t.\t123\t\t\t\t\t\t\t\t\t\t\t\t\t140030631\t41.12\t1\t53\t1\t0.226\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140030631G>A\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140031273\t140031273\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t92\t78\t14\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTG\t.\t168\t\t\t\t\t\t\t\t\t\t\t\t\t140031273\t78.14\t0\t92\t0\t0.152\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140031273T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140032350\t140032350\t+\tIGR\tDEL\tA\tA\t-\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t58\t50\t7\t1\t1\t0\t\t-\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tdeletion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTAA\t.\t93\t\t\t\t\t\t\t\t\t\t\t\t\t140032349\t50.7\t1\t58\t1\t0.121\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140032350A>-\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140032427\t140032427\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t51\t43\t8\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t116\t\t\t\t\t\t\t\t\t\t\t\t\t140032427\t43.8\t3\t51\t3\t0.157\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140032427T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140032428\t140032428\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t47\t41\t6\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t91\t\t\t\t\t\t\t\t\t\t\t\t\t140032428\t41.6\t3\t47\t3\t0.128\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140032428T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140033050\t140033050\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t89\t73\t16\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTC\t.\t223\t\t\t\t\t\t\t\t\t\t\t\t\t140033050\t73.16\t2\t89\t2\t0.18\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140033050T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140033091\t140033091\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t117\t103\t14\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTA\t.\t163\t\t\t\t\t\t\t\t\t\t\t\t\t140033091\t103.14\t3\t117\t3\t0.12\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140033091T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140035842\t140035842\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t136\t121\t15\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGG\t.\t139\t\t\t\t\t\t\t\t\t\t\t\t\t140035842\t121.15\t1\t136\t1\t0.11\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140035842G>A\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140035884\t140035884\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t96\t73\t22\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tmaxGermlineRelRawBaseQual;minGermlineDepth;minTumorQual\tAAG\t.\t87\t\t\t\t\t\t\t\t\t\t\t\t\t140035884\t73.22\t0\t96\t0\t0.229\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140035884A>G\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140035886\t140035886\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t96\t74\t22\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tmaxGermlineRelRawBaseQual;minGermlineDepth;minTumorQual\tGAG\t.\t85\t\t\t\t\t\t\t\t\t\t\t\t\t140035886\t74.22\t0\t96\t0\t0.229\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140035886A>G\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140035900\t140035900\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t84\t60\t24\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGGA\t.\t337\t\t\t\t\t\t\t\t\t\t\t\t\t140035900\t60.24\t0\t84\t0\t0.286\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140035900G>A\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140037992\t140037992\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t215\t119\t96\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCAT\t.\t1245\t\t\t\t\t\t\t\t\t\t\t\t\t140037992\t119.96\t3\t215\t3\t0.447\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140037992A>G\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140039778\t140039778\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t118\t49\t69\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tTCC\t.\t1214\t\t\t\t\t\t\t\t\t\t\t\t\t140039778\t49.69\t2\t118\t2\t0.585\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140039778C>T\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140043167\t140043167\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t9\t3\t6\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t106\t\t\t\t\t\t\t\t\t\t\t\t\t140043167\t3.6\t5\t9\t5\t0.667\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140043167T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140058002\t140058002\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t250\t246\t4\t98\t98\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tweak_evidence\tGGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140058002\t246,4\t98,0\t250\t98\t0.014\t0.012\t0/1\t0/0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmutect2\tmutect2|sage|strelka\tmutect2|sage|strelka\tFAIL\tTrue\tchr7:g.140058002G>A\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140085224\t140085224\t+\tIGR\tSNP\tC\tC\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t258\t105\t153\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCCA\t.\t3203\t\t\t\t\t\t\t\t\t\t\t\t\t140085224\t105.153\t4\t258\t4\t0.593\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140085224C>A\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140089652\t140089653\t+\tIGR\tINS\t-\t-\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t175\t165\t10\t3\t3\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGA\t.\t136\t\t\t\t\t\t\t\t\t\t\t\t\t140089652\t165.1\t3\t175\t3\t0.057\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140089652->A\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140094509\t140094509\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t13\t7\t1\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGA\t.\t58\t\t\t\t\t\t\t\t\t\t\t\t\t140094509\t13.7\t0\t22\t1\t0.318\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140094509G>A\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140095793\t140095793\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t58\t38\t20\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tTTG\t.\t256\t\t\t\t\t\t\t\t\t\t\t\t\t140095793\t38.2\t0\t58\t0\t0.345\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140095793T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140097703\t140097703\t+\tIGR\tSNP\tA\tA\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t2\t2\t33\t33\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tweak_evidence\tGAC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140097703\t2,2\t33,0\t4\t33\t0.4\t0.03\t0/1\t0/0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmutect2\tmutect2|strelka\tmutect2|strelka\tFAIL\tTrue\tchr7:g.140097703A>T\tFalse\tTrue\tFalse\t\t\tmin_alt_reads;noncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140107704\t140107704\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t14\t4\t9\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAT\t.\t124\t\t\t\t\t\t\t\t\t\t\t\t\t140107704\t4.9\t1\t14\t1\t0.643\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140107704A>G\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140108207\t140108207\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t14\t4\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGCG\t.\t99\t\t\t\t\t\t\t\t\t\t\t\t\t140108207\t14.4\t1\t18\t1\t0.222\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140108207C>T\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140108245\t140108245\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t26\t20\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t101\t\t\t\t\t\t\t\t\t\t\t\t\t140108245\t20.6\t1\t26\t1\t0.231\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140108245T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140109596\t140109596\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t21\t9\t12\t3\t3\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tAGC\t.\t254\t\t\t\t\t\t\t\t\t\t\t\t\t140109596\t9.12\t3\t21\t3\t0.571\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140109596G>A\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140112904\t140112904\t+\tIGR\tSNP\tA\tT\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t9\t2\t7\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCAT\t.\t185\t\t\t\t\t\t\t\t\t\t\t\t\t140112904\t2.7\t3\t9\t3\t0.778\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140112904A>T\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140115423\t140115423\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t16\t14\t2\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTGG\t.\t53\t\t\t\t\t\t\t\t\t\t\t\t\t140115423\t14.2\t2\t16\t2\t0.125\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140115423G>A\tFalse\tTrue\tFalse\t\t\tmin_alt_reads;noncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140120859\t140120859\t+\tIGR\tSNP\tT\tT\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t14\t6\t8\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t159\t\t\t\t\t\t\t\t\t\t\t\t\t140120859\t6.8\t3\t14\t3\t0.571\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140120859T>G\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140121364\t140121364\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t14\t10\t4\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCGT\t.\t81\t\t\t\t\t\t\t\t\t\t\t\t\t140121364\t10.4\t1\t14\t1\t0.286\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140121364G>A\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140124514\t140124514\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t20\t2\t22\t22\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminTumorQual\tTGT\t.\t55\t\t\t\t\t\t\t\t\t\t\t\t\t140124514\t20.2\t22\t22\t22\t0.091\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140124514G>A\tFalse\tTrue\tFalse\t\t\tmin_alt_reads;noncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140126788\t140126788\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t89\t86\t3\t73\t73\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tweak_evidence\tTTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140126788\t86,3\t73,0\t89\t73\t0.039\t0.015\t0/1\t0/0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmutect2\tmutect2|strelka\tmutect2|strelka\tFAIL\tTrue\tchr7:g.140126788T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140156990\t140156990\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t140156990\t0.3\t2\t3\t2\t1.0\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140156990T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140163410\t140163410\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t2\t3\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCGA\t.\t74\t\t\t\t\t\t\t\t\t\t\t\t\t140163410\t2.3\t2\t5\t2\t0.6\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140163410G>A\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140310991\t140310991\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t0\t4\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTA\t.\t61\t\t\t\t\t\t\t\t\t\t\t\t\t140310991\t0.4\t3\t4\t3\t1.0\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140310991T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140337265\t140337265\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24\t22\t2\t73\t73\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tmaxGermlineRelRawBaseQual;minTumorQual\tTTA\t.\t52\t\t\t\t\t\t\t\t\t\t\t\t\t140337265\t22.2\t73\t24\t73\t0.083\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140337265T>A\tFalse\tTrue\tFalse\t\t\tmin_alt_reads;noncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140340845\t140340845\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t17\t2\t15\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t155\t\t\t\t\t\t\t\t\t\t\t\t\t140340845\t2.15\t0\t17\t0\t0.882\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140340845T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140340848\t140340848\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t15\t12\t3\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t140340848\t12.3\t0\t15\t0\t0.2\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140340848T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140340869\t140340869\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t16\t4\t12\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTT\t.\t161\t\t\t\t\t\t\t\t\t\t\t\t\t140340869\t4.12\t0\t16\t0\t0.75\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140340869T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140341845\t140341845\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t27\t25\t2\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGCC\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t140341845\t25.2\t3\t27\t3\t0.074\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140341845C>T\tFalse\tTrue\tFalse\t\t\tmin_alt_reads;noncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140343674\t140343675\t+\tIGR\tINS\t-\t-\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t5\t3\t5\t5\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGA\t.\t65\t\t\t\t\t\t\t\t\t\t\t\t\t140343674\t5.3\t5\t8\t5\t0.375\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tPASS\tTrue\tchr7:g.140343674->A\tFalse\tTrue\tFalse\t\t\tnoncoding\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140353659\t140353659\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t10\t4\t6\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t134\t\t\t\t\t\t\t\t\t\t\t\t\t140353659\t4.6\t2\t10\t2\t0.6\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka|consensus|consensus|consensus\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS|FAIL\tFAIL\tTrue\tchr7:g.140353659A>G\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\tTCRBOA7-T", + "Unknown\t0\t.\tGRCh38\tchr7\t140369391\t140369391\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t12\t6\t6\t3\t3\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATT\t.\t129\t\t\t\t\t\t\t\t\t\t\t\t\t140369391\t6.6\t3\t12\t3\t0.5\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140369391T>A\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140370578\t140370578\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t5\t3\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tACA\t.\t64\t\t\t\t\t\t\t\t\t\t\t\t\t140370578\t5.3\t2\t8\t2\t0.375\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140370578C>T\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140402540\t140402540\t+\tIGR\tSNP\tA\tG\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t1\t4\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGAT\t.\t99\t\t\t\t\t\t\t\t\t\t\t\t\t140402540\t1.4\t2\t5\t2\t0.8\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140402540A>G\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140402551\t140402551\t+\tIGR\tSNP\tG\tA\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t6\t1\t5\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGA\t.\t103\t\t\t\t\t\t\t\t\t\t\t\t\t140402551\t1.5\t2\t6\t2\t0.833\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140402551G>A\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140426299\t140426299\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t65\t63\t2\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tACT\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t140426299\t63.2\t3\t65\t3\t0.031\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140426299C>T\tFalse\tTrue\tFalse\t\t\tmin_alt_reads;noncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140427404\t140427404\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t21\t9\t12\t3\t3\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCGG\t.\t69\t\t\t\t\t\t\t\t\t\t\t\t\t140427404\t9.12\t3\t21\t3\t0.571\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140427404G>A\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140427552\t140427552\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t60\t53\t7\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAG\t.\t60\t\t\t\t\t\t\t\t\t\t\t\t\t140427552\t53.7\t3\t60\t3\t0.117\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140427552A>G\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140427570\t140427570\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t62\t56\t6\t4\t4\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAC\t.\t83\t\t\t\t\t\t\t\t\t\t\t\t\t140427570\t56.6\t4\t62\t4\t0.097\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140427570A>G\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140433091\t140433091\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t3\t4\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGG\t.\t63\t\t\t\t\t\t\t\t\t\t\t\t\t140433091\t3.4\t2\t7\t2\t0.571\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140433091G>T\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140434409\t140434409\t+\tIGR\tSNP\tT\tG\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t2\t0\t2\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGTC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140434409\t0.2\t2\t2\t2\t\t\t1/1\t./.\t0.0\t0.0\t0.0\t0.0\t2.0\t0.0\t0.0\t2.0\t\t\t\t\t\t\tstrelka\tstrelka|consensus|consensus|consensus\tLowEVS|minGermlineDepth;minTumorQual|LowEVS|FAIL\tFAIL\tTrue\tchr7:g.140434409T>G\tFalse\tTrue\tFalse\t\t\tmin_alt_reads;noncoding;vc_filter\tTCRBOA7-T", + "Unknown\t0\t.\tGRCh38\tchr7\t140436343\t140436343\t+\tIGR\tSNP\tA\tG\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t64\t\t\t\t\t\t\t\t\t\t\t\t\t140436343\t0.3\t1\t3\t1\t1.0\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140436343A>G\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140436679\t140436679\t+\tIGR\tSNP\tG\tA\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t11\t2\t9\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCGC\t.\t210\t\t\t\t\t\t\t\t\t\t\t\t\t140436679\t2.9\t2\t11\t2\t0.818\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140436679G>A\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140456687\t140456687\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t307\t300\t7\t36\t36\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tPASS\tTCC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140456687\t300,7\t36,0\t307\t36\t0.027\t0.028\t0/1\t0/0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmutect2\tmutect2|strelka\tmutect2|strelka\tPASS\tTrue\tchr7:g.140456687C>T\tFalse\tTrue\tFalse\t\t\tnoncoding\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140458030\t140458030\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t25\t11\t14\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tACA\t.\t293\t\t\t\t\t\t\t\t\t\t\t\t\t140458030\t11.14\t1\t25\t1\t0.56\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|consensus|consensus|consensus\tminGermlineDepth|minGermlineDepth;minTumorQual|LowDepth;LowEVS|FAIL\tFAIL\tTrue\tchr7:g.140458030C>T\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\tTCRBOA7-T", + "Unknown\t0\t.\tGRCh38\tchr7\t140460142\t140460142\t+\tIGR\tSNP\tG\tG\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24\t13\t11\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGA\t.\t90\t\t\t\t\t\t\t\t\t\t\t\t\t140460142\t13.11\t4\t24\t4\t0.458\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140460142G>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140460152\t140460152\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t27\t16\t11\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t95\t\t\t\t\t\t\t\t\t\t\t\t\t140460152\t16.11\t2\t27\t2\t0.407\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140460152T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140460528\t140460528\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t8\t10\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t99\t\t\t\t\t\t\t\t\t\t\t\t\t140460528\t8.1\t5\t18\t5\t0.556\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140460528T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140460887\t140460887\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t96\t53\t43\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tATT\t.\t860\t\t\t\t\t\t\t\t\t\t\t\t\t140460887\t53.43\t3\t96\t3\t0.448\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140460887T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140461114\t140461114\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t48\t33\t15\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tATA\t.\t233\t\t\t\t\t\t\t\t\t\t\t\t\t140461114\t33.15\t0\t48\t0\t0.313\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140461114T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140461126\t140461126\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t44\t30\t14\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTG\t.\t310\t\t\t\t\t\t\t\t\t\t\t\t\t140461126\t30.14\t0\t44\t0\t0.318\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140461126T>A\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140461398\t140461398\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t74\t68\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t78\t\t\t\t\t\t\t\t\t\t\t\t\t140461398\t68.6\t1\t74\t1\t0.081\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140461398T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140461521\t140461521\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t73\t50\t23\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTA\t.\t268\t\t\t\t\t\t\t\t\t\t\t\t\t140461521\t50.23\t4\t73\t4\t0.315\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140461521T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140461601\t140461601\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t59\t51\t8\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATT\t.\t113\t\t\t\t\t\t\t\t\t\t\t\t\t140461601\t51.8\t2\t59\t2\t0.136\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140461601T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140461874\t140461874\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t36\t29\t7\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t84\t\t\t\t\t\t\t\t\t\t\t\t\t140461874\t29.7\t3\t36\t3\t0.194\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140461874T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140462152\t140462152\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t34\t26\t8\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t62\t\t\t\t\t\t\t\t\t\t\t\t\t140462152\t26.8\t1\t34\t1\t0.235\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140462152T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140462172\t140462172\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t45\t32\t13\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTG\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t140462172\t32.13\t1\t45\t1\t0.289\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140462172T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140462211\t140462211\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t70\t67\t3\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t57\t\t\t\t\t\t\t\t\t\t\t\t\t140462211\t67.3\t1\t70\t1\t0.043\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140462211T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140462222\t140462222\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t79\t73\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTT\t.\t55\t\t\t\t\t\t\t\t\t\t\t\t\t140462222\t73.6\t1\t79\t1\t0.076\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140462222T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140462242\t140462242\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t91\t86\t5\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t140462242\t86.5\t1\t91\t1\t0.055\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140462242T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140462261\t140462261\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t89\t79\t10\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTC\t.\t142\t\t\t\t\t\t\t\t\t\t\t\t\t140462261\t79.1\t0\t89\t0\t0.112\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140462261T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140462289\t140462289\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t75\t51\t24\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCAA\t.\t338\t\t\t\t\t\t\t\t\t\t\t\t\t140462289\t51.24\t0\t75\t0\t0.32\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140462289A>G\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140462672\t140462672\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t80\t54\t26\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tATA\t.\t394\t\t\t\t\t\t\t\t\t\t\t\t\t140462672\t54.26\t1\t80\t1\t0.325\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140462672T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140462903\t140462903\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t71\t65\t6\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTT\t.\t80\t\t\t\t\t\t\t\t\t\t\t\t\t140462903\t65.6\t2\t71\t2\t0.085\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140462903T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140462909\t140462909\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t74\t64\t10\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTG\t.\t58\t\t\t\t\t\t\t\t\t\t\t\t\t140462909\t64.1\t2\t74\t2\t0.135\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140462909T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140463129\t140463129\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t64\t62\t2\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGT\t.\t50\t\t\t\t\t\t\t\t\t\t\t\t\t140463129\t62.2\t0\t64\t0\t0.031\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140463129G>A\tFalse\tTrue\tFalse\t\t\tmin_alt_reads;noncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140463556\t140463556\t+\tIGR\tSNP\tA\tA\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t40\t38\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAG\t.\t57\t\t\t\t\t\t\t\t\t\t\t\t\t140463556\t38.2\t1\t40\t1\t0.05\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140463556A>T\tFalse\tTrue\tFalse\t\t\tmin_alt_reads;noncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140463629\t140463629\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t48\t39\t9\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t78\t\t\t\t\t\t\t\t\t\t\t\t\t140463629\t39.9\t1\t48\t1\t0.188\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140463629T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140463641\t140463641\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t45\t39\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t140463641\t39.6\t1\t45\t1\t0.133\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140463641T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140463696\t140463696\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t31\t20\t11\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t130\t\t\t\t\t\t\t\t\t\t\t\t\t140463696\t20.11\t1\t31\t1\t0.355\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140463696T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140463718\t140463718\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t37\t28\t9\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t138\t\t\t\t\t\t\t\t\t\t\t\t\t140463718\t28.9\t1\t37\t1\t0.243\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140463718T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140463763\t140463763\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t35\t28\t7\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t81\t\t\t\t\t\t\t\t\t\t\t\t\t140463763\t28.7\t0\t35\t0\t0.2\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140463763T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140463948\t140463949\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t20\t16\t4\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTGT\t.\t82\t\t\t\t\t\t\t\t\t\t\t\t\t140463948\t16.4\t3\t20\t3\t0.2\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140463948->T\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140464097\t140464097\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t27\t22\t5\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTT\t.\t66\t\t\t\t\t\t\t\t\t\t\t\t\t140464097\t22.5\t3\t27\t3\t0.185\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140464097T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140464195\t140464195\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t14\t6\t8\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATA\t.\t71\t\t\t\t\t\t\t\t\t\t\t\t\t140464195\t6.8\t4\t14\t4\t0.571\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140464195T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140464220\t140464220\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t16\t10\t5\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCCC\t.\t85\t\t\t\t\t\t\t\t\t\t\t\t\t140464220\t10.5\t2\t16\t2\t0.313\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140464220C>T\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140464321\t140464321\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t38\t21\t17\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTT\t.\t214\t\t\t\t\t\t\t\t\t\t\t\t\t140464321\t21.17\t2\t38\t2\t0.447\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|sage|strelka\tsage|sage|strelka\tFAIL\tTrue\tchr7:g.140464321T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140464322\t140464322\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t43\t33\t10\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t108\t\t\t\t\t\t\t\t\t\t\t\t\t140464322\t33.1\t2\t43\t2\t0.233\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140464322T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140464537\t140464537\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t33\t28\t5\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t50\t\t\t\t\t\t\t\t\t\t\t\t\t140464537\t28.5\t2\t33\t2\t0.152\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140464537T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140464583\t140464583\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t42\t28\t14\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t69\t\t\t\t\t\t\t\t\t\t\t\t\t140464583\t28.14\t2\t42\t2\t0.333\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140464583T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140464588\t140464588\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t39\t31\t8\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTC\t.\t54\t\t\t\t\t\t\t\t\t\t\t\t\t140464588\t31.8\t2\t39\t2\t0.205\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140464588T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140464861\t140464861\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t19\t3\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATT\t.\t64\t\t\t\t\t\t\t\t\t\t\t\t\t140464861\t19.3\t4\t22\t4\t0.136\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140464861T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140464893\t140464893\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t29\t19\t10\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTG\t.\t97\t\t\t\t\t\t\t\t\t\t\t\t\t140464893\t19.1\t3\t29\t3\t0.345\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140464893T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140464929\t140464929\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t34\t20\t14\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t128\t\t\t\t\t\t\t\t\t\t\t\t\t140464929\t20.14\t1\t34\t1\t0.412\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140464929T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140464999\t140464999\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t48\t43\t5\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTT\t.\t61\t\t\t\t\t\t\t\t\t\t\t\t\t140464999\t43.5\t2\t48\t2\t0.104\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140464999T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140465241\t140465241\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t57\t51\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t87\t\t\t\t\t\t\t\t\t\t\t\t\t140465241\t51.6\t1\t57\t1\t0.105\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140465241T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140465311\t140465311\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t64\t59\t5\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t140465311\t59.5\t1\t64\t1\t0.078\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140465311T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140465319\t140465319\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t49\t47\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTG\t.\t52\t\t\t\t\t\t\t\t\t\t\t\t\t140465319\t47.2\t1\t49\t1\t0.041\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140465319T>A\tFalse\tTrue\tFalse\t\t\tmin_alt_reads;noncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140465388\t140465388\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t49\t41\t8\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t83\t\t\t\t\t\t\t\t\t\t\t\t\t140465388\t41.8\t1\t49\t1\t0.163\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140465388T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140465405\t140465405\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t68\t55\t13\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTG\t.\t211\t\t\t\t\t\t\t\t\t\t\t\t\t140465405\t55.13\t1\t68\t1\t0.191\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140465405T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140465442\t140465442\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t100\t77\t23\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTA\t.\t297\t\t\t\t\t\t\t\t\t\t\t\t\t140465442\t77.23\t1\t100\t1\t0.23\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140465442T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140465908\t140465908\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t27\t17\t10\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t98\t\t\t\t\t\t\t\t\t\t\t\t\t140465908\t17.1\t1\t27\t1\t0.37\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140465908T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140466098\t140466098\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t39\t31\t8\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATA\t.\t138\t\t\t\t\t\t\t\t\t\t\t\t\t140466098\t31.8\t0\t39\t0\t0.205\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140466098T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140466692\t140466692\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t15\t12\t3\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t140466692\t12.3\t0\t15\t0\t0.2\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140466692T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140467246\t140467246\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t15\t11\t4\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATT\t.\t53\t\t\t\t\t\t\t\t\t\t\t\t\t140467246\t11.4\t2\t15\t2\t0.267\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140467246T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140467247\t140467247\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t15\t11\t4\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTA\t.\t54\t\t\t\t\t\t\t\t\t\t\t\t\t140467247\t11.4\t2\t15\t2\t0.267\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140467247T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140467348\t140467348\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t40\t28\t12\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTT\t.\t136\t\t\t\t\t\t\t\t\t\t\t\t\t140467348\t28.12\t0\t40\t0\t0.3\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140467348T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140467558\t140467558\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t52\t34\t17\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTA\t.\t284\t\t\t\t\t\t\t\t\t\t\t\t\t140467558\t34.17\t0\t52\t0\t0.327\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140467558T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140468358\t140468358\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t90\t63\t27\t5\t3\t2\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tmaxGermlineRelRawBaseQual;maxGermlineVAF;minGermlineDepth\tGTG\t.\t432\t\t\t\t\t\t\t\t\t\t\t\t\t140468358\t63.27\t3.2\t90\t5\t0.3\t0.4\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140468358T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140468848\t140468848\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t48\t46\t2\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGA\t.\t54\t\t\t\t\t\t\t\t\t\t\t\t\t140468848\t46.2\t0\t48\t0\t0.042\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140468848G>T\tFalse\tTrue\tFalse\t\t\tmin_alt_reads;noncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140469137\t140469137\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t29\t17\t12\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t158\t\t\t\t\t\t\t\t\t\t\t\t\t140469137\t17.12\t2\t29\t2\t0.414\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140469137T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140469696\t140469696\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t34\t28\t6\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t64\t\t\t\t\t\t\t\t\t\t\t\t\t140469696\t28.6\t2\t34\t2\t0.176\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140469696T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140469796\t140469796\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t44\t36\t8\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATG\t.\t112\t\t\t\t\t\t\t\t\t\t\t\t\t140469796\t36.8\t5\t44\t5\t0.182\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140469796T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140469814\t140469814\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t43\t38\t5\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t98\t\t\t\t\t\t\t\t\t\t\t\t\t140469814\t38.5\t5\t43\t5\t0.116\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140469814T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140469929\t140469929\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t43\t14\t29\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tATC\t.\t422\t\t\t\t\t\t\t\t\t\t\t\t\t140469929\t14.29\t1\t43\t1\t0.674\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140469929T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140469965\t140469965\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t47\t43\t4\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t52\t\t\t\t\t\t\t\t\t\t\t\t\t140469965\t43.4\t1\t47\t1\t0.085\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140469965T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140470105\t140470105\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t61\t51\t10\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t86\t\t\t\t\t\t\t\t\t\t\t\t\t140470105\t51.1\t5\t61\t5\t0.164\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140470105T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140471608\t140471608\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t19\t15\t4\t6\t6\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTA\t.\t73\t\t\t\t\t\t\t\t\t\t\t\t\t140471608\t15.4\t6\t19\t6\t0.211\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140471608T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140471673\t140471673\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t25\t13\t12\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTT\t.\t182\t\t\t\t\t\t\t\t\t\t\t\t\t140471673\t13.12\t5\t25\t5\t0.48\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140471673T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140473302\t140473302\t+\tIGR\tSNP\tT\tT\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t8\t5\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTC\t.\t75\t\t\t\t\t\t\t\t\t\t\t\t\t140473302\t8.5\t3\t13\t3\t0.385\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140473302T>G\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140475588\t140475588\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t10\t12\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t60\t\t\t\t\t\t\t\t\t\t\t\t\t140475588\t10.12\t3\t22\t3\t0.545\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140475588T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140475595\t140475595\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t15\t7\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTG\t.\t78\t\t\t\t\t\t\t\t\t\t\t\t\t140475595\t15.7\t3\t22\t3\t0.318\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140475595T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140475602\t140475602\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t12\t10\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t90\t\t\t\t\t\t\t\t\t\t\t\t\t140475602\t12.1\t3\t22\t3\t0.455\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140475602T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140477038\t140477038\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t16\t12\t4\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTG\t.\t81\t\t\t\t\t\t\t\t\t\t\t\t\t140477038\t12.4\t3\t16\t3\t0.25\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140477038T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140482602\t140482602\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t9\t4\t5\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAA\t.\t87\t\t\t\t\t\t\t\t\t\t\t\t\t140482602\t4.5\t3\t9\t3\t0.556\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140482602A>G\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140483770\t140483770\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t14\t4\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAG\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t140483770\t14.4\t0\t18\t0\t0.222\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140483770A>G\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140627464\t140627464\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t1\t4\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t60\t\t\t\t\t\t\t\t\t\t\t\t\t140627464\t1.4\t1\t5\t1\t0.8\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140627464T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140693790\t140693790\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t62\t58\t4\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAG\t.\t68\t\t\t\t\t\t\t\t\t\t\t\t\t140693790\t58.4\t1\t62\t1\t0.065\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140693790A>G\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140694204\t140694204\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24\t17\t7\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAG\t.\t75\t\t\t\t\t\t\t\t\t\t\t\t\t140694204\t17.7\t1\t24\t1\t0.292\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140694204A>G\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140697866\t140697866\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t56\t46\t10\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tAAC\t.\t163\t\t\t\t\t\t\t\t\t\t\t\t\t140697866\t46.1\t0\t56\t0\t0.179\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140697866A>G\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140697921\t140697921\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t56\t48\t8\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTAA\t.\t98\t\t\t\t\t\t\t\t\t\t\t\t\t140697921\t48.8\t0\t56\t0\t0.143\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140697921A>G\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140697935\t140697935\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t49\t45\t4\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAG\t.\t62\t\t\t\t\t\t\t\t\t\t\t\t\t140697935\t45.4\t0\t49\t0\t0.082\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140697935A>G\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140697987\t140697987\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t88\t83\t5\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t76\t\t\t\t\t\t\t\t\t\t\t\t\t140697987\t83.5\t2\t88\t2\t0.057\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140697987T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140699078\t140699078\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t20\t16\t4\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGAG\t.\t52\t\t\t\t\t\t\t\t\t\t\t\t\t140699078\t16.4\t2\t20\t2\t0.2\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140699078A>G\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140700149\t140700149\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t73\t69\t4\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t52\t\t\t\t\t\t\t\t\t\t\t\t\t140700149\t69.4\t1\t73\t1\t0.055\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140700149A>G\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140700180\t140700180\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t51\t45\t6\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t118\t\t\t\t\t\t\t\t\t\t\t\t\t140700180\t45.6\t1\t51\t1\t0.118\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140700180A>G\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140700193\t140700193\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t39\t25\t14\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAG\t.\t125\t\t\t\t\t\t\t\t\t\t\t\t\t140700193\t25.14\t1\t39\t1\t0.359\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140700193A>G\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140700201\t140700201\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t37\t25\t12\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAC\t.\t151\t\t\t\t\t\t\t\t\t\t\t\t\t140700201\t25.12\t1\t37\t1\t0.324\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140700201A>G\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140700223\t140700223\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t9\t4\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAA\t.\t79\t\t\t\t\t\t\t\t\t\t\t\t\t140700223\t9.4\t1\t13\t1\t0.308\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140700223A>G\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140701589\t140701589\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t78\t75\t3\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTAA\t.\t53\t\t\t\t\t\t\t\t\t\t\t\t\t140701589\t75.3\t1\t78\t1\t0.038\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140701589A>G\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140701590\t140701590\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t78\t69\t9\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAG\t.\t65\t\t\t\t\t\t\t\t\t\t\t\t\t140701590\t69.9\t1\t78\t1\t0.115\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140701590A>G\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140724780\t140724780\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t151\t90\t61\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tPASS\tCTT\t.\t937\t\t\t\t\t\t\t\t\t\t\t\t\t140724780\t90.61\t0\t151\t0\t0.404\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tPASS\tTrue\tchr7:g.140724780T>C\tFalse\tTrue\tFalse\t\t\tnoncoding\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140729191\t140729191\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24\t20\t4\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t62\t\t\t\t\t\t\t\t\t\t\t\t\t140729191\t20.4\t0\t24\t0\t0.167\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140729191T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140731259\t140731259\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t20\t15\t5\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t50\t\t\t\t\t\t\t\t\t\t\t\t\t140731259\t15.5\t2\t20\t2\t0.25\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140731259T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140790274\t140790274\t+\tIGR\tSNP\tA\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t1\t6\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAC\t.\t86\t\t\t\t\t\t\t\t\t\t\t\t\t140790274\t1.6\t2\t7\t2\t0.857\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140790274A>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140798704\t140798704\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t52\t45\t7\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t147\t\t\t\t\t\t\t\t\t\t\t\t\t140798704\t45.7\t0\t52\t0\t0.135\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140798704T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140801667\t140801667\t+\tIGR\tSNP\tA\tA\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t11\t2\t44\t44\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminTumorQual\tTAT\t.\t59\t\t\t\t\t\t\t\t\t\t\t\t\t140801667\t11.2\t44\t13\t44\t0.154\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140801667A>T\tFalse\tTrue\tFalse\t\t\tmin_alt_reads;noncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140811128\t140811128\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t47\t45\t2\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTA\t.\t52\t\t\t\t\t\t\t\t\t\t\t\t\t140811128\t45.2\t4\t47\t4\t0.043\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140811128T>A\tFalse\tTrue\tFalse\t\t\tmin_alt_reads;noncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140816975\t140816976\t+\tIGR\tINS\t-\t-\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t66\t58\t8\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGA\t.\t90\t\t\t\t\t\t\t\t\t\t\t\t\t140816975\t58.8\t1\t66\t1\t0.121\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140816975->A\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140820737\t140820737\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t39\t28\t11\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t86\t\t\t\t\t\t\t\t\t\t\t\t\t140820737\t28.11\t3\t39\t3\t0.282\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140820737T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140820825\t140820825\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t35\t29\t6\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t76\t\t\t\t\t\t\t\t\t\t\t\t\t140820825\t29.6\t0\t35\t0\t0.171\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140820825T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140821130\t140821130\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t34\t22\t12\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTA\t.\t160\t\t\t\t\t\t\t\t\t\t\t\t\t140821130\t22.12\t1\t34\t1\t0.353\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140821130T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140821182\t140821182\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t42\t27\t15\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTT\t.\t297\t\t\t\t\t\t\t\t\t\t\t\t\t140821182\t27.15\t1\t42\t1\t0.357\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140821182T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140821203\t140821203\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t34\t22\t12\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t119\t\t\t\t\t\t\t\t\t\t\t\t\t140821203\t22.12\t1\t34\t1\t0.353\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140821203T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140822317\t140822317\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t88\t85\t3\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGA\t.\t65\t\t\t\t\t\t\t\t\t\t\t\t\t140822317\t85.3\t0\t88\t0\t0.034\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140822317G>T\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140822996\t140822997\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t56\t50\t6\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t82\t\t\t\t\t\t\t\t\t\t\t\t\t140822996\t50.6\t1\t56\t1\t0.107\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140822996->T\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140827904\t140827905\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t45\t36\t8\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTAT\t.\t109\t\t\t\t\t\t\t\t\t\t\t\t\t140827904\t36.8\t1\t45\t1\t0.178\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140827904->T\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140828517\t140828517\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t60\t24\t36\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGAT\t.\t753\t\t\t\t\t\t\t\t\t\t\t\t\t140828517\t24.36\t1\t60\t1\t0.6\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|consensus|consensus|consensus\tminGermlineDepth|minGermlineDepth;minTumorQual|LowDepth;LowEVS|FAIL\tFAIL\tTrue\tchr7:g.140828517A>G\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\tTCRBOA7-T", + "Unknown\t0\t.\tGRCh38\tchr7\t140829199\t140829199\t+\tIGR\tSNP\tT\tT\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t51\t20\t10\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTG\t.\t52\t\t\t\t\t\t\t\t\t\t\t\t\t140829199\t20.1\t0\t51\t0\t0.196\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140829199T>G\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140829200\t140829200\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t51\t21\t10\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTGG\t.\t77\t\t\t\t\t\t\t\t\t\t\t\t\t140829200\t21.1\t0\t51\t0\t0.196\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140829200G>T\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140841133\t140841133\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t1\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGA\t.\t55\t\t\t\t\t\t\t\t\t\t\t\t\t140841133\t1.2\t1\t3\t1\t0.667\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140841133G>A\tFalse\tTrue\tFalse\t\t\tmin_alt_reads;noncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140897881\t140897881\t+\tIGR\tSNP\tC\tC\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t11\t2\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tACA\t.\t60\t\t\t\t\t\t\t\t\t\t\t\t\t140897881\t11.2\t4\t13\t4\t0.154\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140897881C>A\tFalse\tTrue\tFalse\t\t\tmin_alt_reads;noncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140906294\t140906294\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t37\t30\t7\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t94\t\t\t\t\t\t\t\t\t\t\t\t\t140906294\t30.7\t2\t37\t2\t0.189\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140906294T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140906444\t140906444\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t23\t10\t13\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t143\t\t\t\t\t\t\t\t\t\t\t\t\t140906444\t10.13\t4\t23\t4\t0.565\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140906444T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140907479\t140907479\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t11\t7\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTC\t.\t131\t\t\t\t\t\t\t\t\t\t\t\t\t140907479\t11.7\t1\t18\t1\t0.389\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|consensus|consensus|consensus\tminGermlineDepth;minTumorQual|minGermlineDepth;minTumorQual|LowDepth;LowEVS|FAIL\tFAIL\tTrue\tchr7:g.140907479T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\tTCRBOA7-T", + "Unknown\t0\t.\tGRCh38\tchr7\t140909399\t140909399\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t32\t27\t5\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATA\t.\t90\t\t\t\t\t\t\t\t\t\t\t\t\t140909399\t27.5\t0\t32\t0\t0.156\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140909399T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140910467\t140910468\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t35\t31\t4\t4\t4\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tACT\t.\t81\t\t\t\t\t\t\t\t\t\t\t\t\t140910467\t31.4\t4\t35\t4\t0.114\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140910467->T\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t140910811\t140910811\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t21\t17\t4\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t52\t\t\t\t\t\t\t\t\t\t\t\t\t140910811\t17.4\t0\t21\t0\t0.19\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.140910811T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t141004056\t141004056\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t33\t28\t5\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t76\t\t\t\t\t\t\t\t\t\t\t\t\t141004056\t28.5\t1\t33\t1\t0.152\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.141004056T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t141004111\t141004111\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t10\t2\t8\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t127\t\t\t\t\t\t\t\t\t\t\t\t\t141004111\t2.8\t1\t10\t1\t0.8\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.141004111T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t141004826\t141004826\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t6\t1\t5\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTA\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t141004826\t1.5\t1\t6\t1\t0.833\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.141004826T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t141080090\t141080090\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t4\t3\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t58\t\t\t\t\t\t\t\t\t\t\t\t\t141080090\t4.3\t3\t7\t3\t0.429\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.141080090A>G\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t141082435\t141082435\t+\tIGR\tSNP\tG\tA\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t1\t3\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGA\t.\t70\t\t\t\t\t\t\t\t\t\t\t\t\t141082435\t1.3\t1\t4\t1\t0.75\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.141082435G>A\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t141084239\t141084239\t+\tIGR\tSNP\tT\tA\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTT\t.\t75\t\t\t\t\t\t\t\t\t\t\t\t\t141084239\t0.3\t1\t3\t1\t1.0\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.141084239T>A\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t141296649\t141296649\t+\tIGR\tSNP\tT\tA\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATT\t.\t78\t\t\t\t\t\t\t\t\t\t\t\t\t141296649\t0.3\t4\t3\t4\t1.0\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.141296649T>A\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t141350897\t141350897\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t1\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGT\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t141350897\t1.2\t1\t3\t1\t0.667\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.141350897G>T\tFalse\tTrue\tFalse\t\t\tmin_alt_reads;noncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t141350899\t141350899\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t1\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTCG\t.\t57\t\t\t\t\t\t\t\t\t\t\t\t\t141350899\t1.2\t1\t3\t1\t0.667\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.141350899C>T\tFalse\tTrue\tFalse\t\t\tmin_alt_reads;noncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t141365719\t141365719\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t11\t9\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTGT\t.\t53\t\t\t\t\t\t\t\t\t\t\t\t\t141365719\t9.2\t1\t11\t1\t0.182\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.141365719G>A\tFalse\tTrue\tFalse\t\t\tmin_alt_reads;noncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t141513665\t141513665\t+\tIGR\tSNP\tA\tA\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGAT\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t141513665\t6.2\t3\t8\t3\t0.25\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.141513665A>T\tFalse\tTrue\tFalse\t\t\tmin_alt_reads;noncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t141644925\t141644925\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t15\t13\t2\t4\t4\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTCT\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t141644925\t13.2\t4\t15\t4\t0.133\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.141644925C>T\tFalse\tTrue\tFalse\t\t\tmin_alt_reads;noncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t141652639\t141652640\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t163\t152\t11\t8\t8\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tslippage\tAAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141652639\t152,11\t8,0\t163\t8\t0.074\t0.091\t0/1\t0/0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmutect2\tmutect2|sage|strelka\tmutect2|sage|strelka\tFAIL\tTrue\tchr7:g.141652639->T\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t141656174\t141656174\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t94\t92\t2\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual;minTumorVAF\tCCC\t.\t59\t\t\t\t\t\t\t\t\t\t\t\t\t141656174\t92.2\t0\t94\t0\t0.021\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.141656174C>T\tFalse\tTrue\tFalse\t\t\tmin_alt_reads;noncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t141666987\t141666987\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24\t18\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTG\t.\t74\t\t\t\t\t\t\t\t\t\t\t\t\t141666987\t18.6\t1\t24\t1\t0.25\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.141666987T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t141699142\t141699142\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATC\t.\t50\t\t\t\t\t\t\t\t\t\t\t\t\t141699142\t0.3\t1\t3\t1\t1.0\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tsage|strelka\tFAIL\tTrue\tchr7:g.141699142T>C\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t141712007\t141712007\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t11\t8\t3\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141712007\t8.3\t1\t11\t1\t\t\t0/1\t./.\t3.0\t0.0\t0.0\t0.0\t8.0\t1.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tstrelka|consensus|consensus|consensus\tLowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS|FAIL\tFAIL\tTrue\tchr7:g.141712007G>A\tFalse\tTrue\tFalse\t\t\tnoncoding;vc_filter\tTCRBOA7-T", + "Unknown\t0\t.\tGRCh38\tchr7\t141723300\t141723300\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t42\t42\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tweak_evidence\tTGC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141723300\t6,2\t42,0\t8\t42\t0.25\t0.024\t0/1\t0/0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmutect2\tmutect2|sage|strelka\tmutect2|sage|strelka\tFAIL\tTrue\tchr7:g.141723300G>T\tFalse\tTrue\tFalse\t\t\tmin_alt_reads;noncoding;vc_filter\t", + "Unknown\t0\t.\tGRCh38\tchr7\t141724345\t141724345\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t6\t4\t2\t36\t36\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tweak_evidence\tAGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141724345\t4,2\t36,0\t6\t36\t0.329\t0.026\t0/1\t0/0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmutect2\tmutect2|strelka\tmutect2|strelka\tPASS\tTrue\tchr7:g.141724345G>A\tFalse\tTrue\tFalse\t\t\tmin_alt_reads;noncoding\t" + ], + [ + "\"MAF_FILTERING\":", + " python: 3.9.13" + ] + ], + "timestamp": "2026-06-25T12:13:26.124946", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } + } +} \ No newline at end of file diff --git a/modules/local/maf_rna_filtering/Dockerfile b/modules/local/maf_rna_filtering/Dockerfile new file mode 100644 index 00000000..3728492a --- /dev/null +++ b/modules/local/maf_rna_filtering/Dockerfile @@ -0,0 +1,19 @@ +FROM python:3.9 + +# add ps (required by nextflow) +RUN apt-get --allow-releaseinfo-change update && \ + apt-get install -y procps gfortran build-essential libblas-dev liblapack-dev libatlas-base-dev && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* + +# clone CApy repo +RUN pip install numpy && \ + git clone https://github.com/getzlab/CApy.git && \ + cd CApy && \ + python setup.py install && \ + cd .. && \ + mv CApy /tools/ + +ENV PATH="/tools/CApy/bin:${PATH}" + +CMD ["python"] diff --git a/modules/local/maf_rna_filtering/main.nf b/modules/local/maf_rna_filtering/main.nf new file mode 100644 index 00000000..92ae3624 --- /dev/null +++ b/modules/local/maf_rna_filtering/main.nf @@ -0,0 +1,36 @@ +process RNA_FILTERING { + tag "$meta.id" + label 'process_low' + + conda null + container 'nf-core/rnadnavar_pyenv_rnafilt:1.0' + + input: + tuple val(meta), path(maf), path(maf_realignment) + tuple val(meta1), path(fasta) + + output: + tuple val(meta), path('*.maf'), emit: maf + path "versions.yml" , emit: versions + + when: + task.ext.when == null || task.ext.when + + script: // This script is bundled with the pipeline, in nf-core/rnadnavar/bin/ + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + def maf_realign_opt = maf_realignment? "--maf_realign $maf_realignment" : "" + """ + filter_rna_mutations.py \\ + --maf $maf \\ + --reference-fasta $fasta \\ + --output ${prefix}.maf \\ + $maf_realign_opt \\ + $args + cat <<-END_VERSIONS > versions.yml + "${task.process}": + python: \$(echo \$(python --version 2>&1) | sed -e "s/Python //g") + END_VERSIONS + """ + +} diff --git a/modules/local/maf_rna_filtering/tests/main.nf.test b/modules/local/maf_rna_filtering/tests/main.nf.test new file mode 100644 index 00000000..8de2bf46 --- /dev/null +++ b/modules/local/maf_rna_filtering/tests/main.nf.test @@ -0,0 +1,49 @@ +nextflow_process { + name "Test Process RNA_FILTERING" + + process "RNA_FILTERING" + script "../main.nf" + + tag "modules" + tag "modules_local" + tag "maf_rna_filtering" + + test("Run RNA filtering with realignment MAF") { + config "./nextflow.config" + + when { + params { + rnaedits = 'https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/resources/rnaedits/hg38/atlas.chr7.hg38.bed' + } + process { + """ + input[0] = [ + [ id:'TCRBOA7-T-RNA_with_TCRBOA7-T-RNA_realign', patient:'TCRBOA7', status:2 ], + file('https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/maf/TCRBOA7-T-RNA.maf', checkIfExists: true), + file('https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/maf/TCRBOA7-T-RNA_realign.maf', checkIfExists: true) + ] + input[1] = [ + [ id:'fasta' ], + file('https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/reference/chr7_hg38/GRCh38.d1.vd1.chr7.mini.fa', checkIfExists: true) + ] + """ + } + } + + then { + assertAll( + { assert process.success }, + { + def maf_outputs = process.out.maf[0][1] + .collect { maf_file -> [ file(maf_file.toString()).name, path(maf_file.toString()).readLines() ] } + .sort { left, right -> left[0] <=> right[0] } + + assert snapshot( + maf_outputs, + path(process.out.versions[0]).readLines() + ).match() + } + ) + } + } +} diff --git a/modules/local/maf_rna_filtering/tests/main.nf.test.snap b/modules/local/maf_rna_filtering/tests/main.nf.test.snap new file mode 100644 index 00000000..966729c4 --- /dev/null +++ b/modules/local/maf_rna_filtering/tests/main.nf.test.snap @@ -0,0 +1,1424 @@ +{ + "Run RNA filtering with realignment MAF": { + "content": [ + [ + [ + "TCRBOA7-T-RNA.withRNAfilters.maf", + [ + "Hugo_Symbol\tEntrez_Gene_Id\tCenter\tNCBI_Build\tChromosome\tStart_Position\tEnd_Position\tStrand\tVariant_Classification\tVariant_Type\tReference_Allele\tTumor_Seq_Allele1\tTumor_Seq_Allele2\tdbSNP_RS\tdbSNP_Val_Status\tTumor_Sample_Barcode\tMatched_Norm_Sample_Barcode\tMatch_Norm_Seq_Allele1\tMatch_Norm_Seq_Allele2\tTumor_Validation_Allele1\tTumor_Validation_Allele2\tMatch_Norm_Validation_Allele1\tMatch_Norm_Validation_Allele2\tVerification_Status\tValidation_Status\tMutation_Status\tSequencing_Phase\tSequence_Source\tValidation_Method\tScore\tBAM_File\tSequencer\tTumor_Sample_UUID\tMatched_Norm_Sample_UUID\tHGVSc\tHGVSp\tHGVSp_Short\tTranscript_ID\tExon_Number\tt_depth\tt_ref_count\tt_alt_count\tn_depth\tn_ref_count\tn_alt_count\tall_effects\tAllele\tGene\tFeature\tFeature_type\tConsequence\tcDNA_position\tCDS_position\tProtein_position\tAmino_acids\tCodons\tExisting_variation\tALLELE_NUM\tDISTANCE\tSTRAND_VEP\tSYMBOL\tSYMBOL_SOURCE\tHGNC_ID\tBIOTYPE\tCANONICAL\tCCDS\tENSP\tSWISSPROT\tTREMBL\tUNIPARC\tRefSeq\tSIFT\tPolyPhen\tEXON\tINTRON\tDOMAINS\tAF\tAFR_AF\tAMR_AF\tASN_AF\tEAS_AF\tEUR_AF\tSAS_AF\tAA_AF\tEA_AF\tCLIN_SIG\tSOMATIC\tPUBMED\tMOTIF_NAME\tMOTIF_POS\tHIGH_INF_POS\tMOTIF_SCORE_CHANGE\tIMPACT\tPICK\tVARIANT_CLASS\tTSL\tHGVS_OFFSET\tPHENO\tMINIMISED\tGENE_PHENO\tFILTER\tflanking_bps\tvcf_id\tvcf_qual\tgnomADe_AF\tgnomADe_AFR_AF\tgnomADe_AMR_AF\tgnomADe_ASJ_AF\tgnomADe_EAS_AF\tgnomADe_FIN_AF\tgnomADe_NFE_AF\tgnomADe_OTH_AF\tgnomADe_SAS_AF\tgnomADg_AF\tMAX_AF\tMAX_AF_POPS\tvcf_pos\tt_AD\tn_AD\tt_DP\tn_DP\tt_AF\tn_AF\tt_GT\tn_GT\tt_AU\tn_AU\tt_CU\tn_CU\tt_GU\tn_GU\tt_TU\tn_TU\tt_TAR\tn_TAR\tt_TIR\tn_TIR\tt_TOR\tn_TOR\tCaller\tcallers\tfilters\tFILTER_consensus\tisconsensus\tDNAchange\trealignment\tRaVeX_FILTER\tmut\trnaediting", + "Unknown\t0\t.\tGRCh38\tchr7\t139832913\t139832913\t+\tIGR\tSNP\tG\tG\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t14\t8\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGA\t.\t159\t\t\t\t\t\t\t\t\t\t\t\t\t139832913\t14.8\t3\t22\t3\t0.364\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.139832913G>C\tTrue\tPASS\tG>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139832913\t139832913\t+\tIGR\tSNP\tG\tG\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24\t16\t8\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tAGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139832913\t16.8\t3\t24\t3\t\t\t0/1\t./.\t0.0\t0.0\t8.0\t0.0\t16.0\t3.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.139832913G>C\tTrue\tPASS\tG>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139832913\t139832913\t+\tIGR\tSNP\tG\tG\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t14\t8\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGA\t.\t159\t\t\t\t\t\t\t\t\t\t\t\t\t139832913\t14.8\t3\t22\t3\t0.364\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.139832913G>C\tTrue\tPASS\tG>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139836268\t139836268\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t26\t18\t8\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGT\t.\t142\t\t\t\t\t\t\t\t\t\t\t\t\t139836268\t18.8\t1\t26\t1\t0.308\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.139836268G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139836268\t139836268\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t26\t18\t8\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139836268\t18.8\t1\t26\t1\t\t\t0/1\t./.\t8.0\t0.0\t0.0\t0.0\t18.0\t1.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.139836268G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139836268\t139836268\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t26\t18\t8\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGT\t.\t142\t\t\t\t\t\t\t\t\t\t\t\t\t139836268\t18.8\t1\t26\t1\t0.308\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.139836268G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139839306\t139839306\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t10\t3\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTGA\t.\t55\t\t\t\t\t\t\t\t\t\t\t\t\t139839306\t10.3\t2\t13\t2\t0.231\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.139839306G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139839306\t139839306\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t14\t11\t3\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139839306\t11.3\t2\t14\t2\t\t\t0/1\t./.\t3.0\t0.0\t0.0\t0.0\t11.0\t2.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.139839306G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139839306\t139839306\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t10\t3\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTGA\t.\t55\t\t\t\t\t\t\t\t\t\t\t\t\t139839306\t10.3\t2\t13\t2\t0.231\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.139839306G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139840078\t139840078\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t11\t2\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTGG\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t139840078\t11.2\t0\t13\t0\t0.154\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.139840078G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139840078\t139840078\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t10\t2\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTGG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139840078\t10.2\t0\t13\t0\t\t\t0/1\t./.\t0.0\t0.0\t0.0\t0.0\t10.0\t0.0\t2.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.139840078G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139840078\t139840078\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t11\t2\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTGG\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t139840078\t11.2\t0\t13\t0\t0.154\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.139840078G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139861816\t139861816\t+\tIGR\tSNP\tA\tG\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t1\t3\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAG\t.\t50\t\t\t\t\t\t\t\t\t\t\t\t\t139861816\t1.3\t3\t4\t3\t0.75\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.139861816A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139861816\t139861816\t+\tIGR\tSNP\tA\tG\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t1\t3\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tAAG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139861816\t1.3\t3\t4\t3\t\t\t1/1\t./.\t1.0\t3.0\t0.0\t0.0\t3.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.139861816A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139861816\t139861816\t+\tIGR\tSNP\tA\tG\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t1\t3\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAG\t.\t50\t\t\t\t\t\t\t\t\t\t\t\t\t139861816\t1.3\t3\t4\t3\t0.75\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.139861816A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139864673\t139864673\t+\tIGR\tSNP\tC\tC\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t5\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGCT\t.\t55\t\t\t\t\t\t\t\t\t\t\t\t\t139864673\t5.2\t1\t7\t1\t0.286\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.139864673C>A\tTrue\tPASS\tC>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139864673\t139864673\t+\tIGR\tSNP\tC\tC\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGCT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139864673\t6.2\t1\t8\t1\t\t\t0/1\t./.\t2.0\t0.0\t6.0\t1.0\t0.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.139864673C>A\tTrue\tPASS\tC>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139864673\t139864673\t+\tIGR\tSNP\tC\tC\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t5\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGCT\t.\t55\t\t\t\t\t\t\t\t\t\t\t\t\t139864673\t5.2\t1\t7\t1\t0.286\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.139864673C>A\tTrue\tPASS\tC>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139941097\t139941097\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t15\t12\t3\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATC\t.\t62\t\t\t\t\t\t\t\t\t\t\t\t\t139941097\t12.3\t0\t15\t0\t0.2\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.139941097T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139941097\t139941097\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t15\t12\t3\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tATC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139941097\t12.3\t0\t15\t0\t\t\t0/1\t./.\t0.0\t0.0\t3.0\t0.0\t0.0\t0.0\t12.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.139941097T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139941097\t139941097\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t15\t12\t3\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATC\t.\t62\t\t\t\t\t\t\t\t\t\t\t\t\t139941097\t12.3\t0\t15\t0\t0.2\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.139941097T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139943319\t139943319\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t12\t9\t3\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGCG\t.\t75\t\t\t\t\t\t\t\t\t\t\t\t\t139943319\t9.3\t1\t12\t1\t0.25\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.139943319C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139943319\t139943319\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t10\t3\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGCG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139943319\t10.3\t1\t13\t1\t\t\t0/1\t./.\t0.0\t0.0\t10.0\t1.0\t0.0\t0.0\t3.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.139943319C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139943319\t139943319\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t12\t9\t3\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGCG\t.\t75\t\t\t\t\t\t\t\t\t\t\t\t\t139943319\t9.3\t1\t12\t1\t0.25\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.139943319C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139948123\t139948123\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCCC\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t139948123\t6.2\t1\t8\t1\t0.25\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.139948123C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139948123\t139948123\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCCC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139948123\t6.2\t2\t8\t2\t\t\t0/1\t./.\t0.0\t0.0\t6.0\t2.0\t0.0\t0.0\t2.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.139948123C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139948123\t139948123\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCCC\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t139948123\t6.2\t1\t8\t1\t0.25\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.139948123C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139964882\t139964882\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t11\t2\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTCA\t.\t55\t\t\t\t\t\t\t\t\t\t\t\t\t139964882\t11.2\t2\t13\t2\t0.154\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.139964882C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139964882\t139964882\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t14\t12\t2\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTCA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139964882\t12.2\t2\t14\t2\t\t\t0/1\t./.\t0.0\t0.0\t12.0\t2.0\t0.0\t0.0\t2.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.139964882C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139964882\t139964882\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t11\t2\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTCA\t.\t55\t\t\t\t\t\t\t\t\t\t\t\t\t139964882\t11.2\t2\t13\t2\t0.154\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.139964882C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139988205\t139988205\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCGC\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t139988205\t6.2\t1\t8\t1\t0.25\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.139988205G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139988205\t139988205\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCGC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139988205\t6.2\t1\t8\t1\t\t\t0/1\t./.\t2.0\t0.0\t0.0\t0.0\t6.0\t1.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.139988205G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139988205\t139988205\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCGC\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t139988205\t6.2\t1\t8\t1\t0.25\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.139988205G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139992039\t139992039\t+\tIGR\tSNP\tC\tA\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t2\t5\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCCC\t.\t105\t\t\t\t\t\t\t\t\t\t\t\t\t139992039\t2.5\t0\t7\t0\t0.714\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.139992039C>A\tTrue\tPASS\tC>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139992039\t139992039\t+\tIGR\tSNP\tC\tA\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t2\t5\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCCC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139992039\t2.5\t2\t7\t2\t\t\t1/1\t./.\t5.0\t0.0\t2.0\t2.0\t0.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.139992039C>A\tTrue\tPASS\tC>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139992039\t139992039\t+\tIGR\tSNP\tC\tA\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t2\t5\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCCC\t.\t105\t\t\t\t\t\t\t\t\t\t\t\t\t139992039\t2.5\t0\t7\t0\t0.714\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.139992039C>A\tTrue\tPASS\tC>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139995345\t139995345\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t12\t8\t4\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAA\t.\t65\t\t\t\t\t\t\t\t\t\t\t\t\t139995345\t8.4\t2\t12\t2\t0.333\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.139995345A>G\tFalse\trealignment\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139995345\t139995345\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t12\t8\t4\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCAA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139995345\t8.4\t2\t12\t2\t\t\t0/1\t./.\t8.0\t2.0\t0.0\t0.0\t4.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.139995345A>G\tFalse\trealignment\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140000300\t140000300\t+\tIGR\tSNP\tC\tG\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t1\t6\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tACA\t.\t120\t\t\t\t\t\t\t\t\t\t\t\t\t140000300\t1.6\t0\t7\t0\t0.857\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140000300C>G\tTrue\tPASS\tC>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140000300\t140000300\t+\tIGR\tSNP\tC\tG\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t1\t6\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tACA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140000300\t1.6\t0\t7\t0\t\t\t1/1\t./.\t0.0\t0.0\t1.0\t0.0\t6.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140000300C>G\tTrue\tPASS\tC>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140000300\t140000300\t+\tIGR\tSNP\tC\tG\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t1\t6\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tACA\t.\t120\t\t\t\t\t\t\t\t\t\t\t\t\t140000300\t1.6\t0\t7\t0\t0.857\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140000300C>G\tTrue\tPASS\tC>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140001893\t140001893\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t5\t3\t4\t4\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTCA\t.\t73\t\t\t\t\t\t\t\t\t\t\t\t\t140001893\t5.3\t4\t8\t4\t0.375\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140001893C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140001893\t140001893\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t5\t3\t4\t4\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTCA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140001893\t5.3\t4\t8\t4\t\t\t0/1\t./.\t0.0\t0.0\t5.0\t4.0\t0.0\t0.0\t3.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140001893C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140001893\t140001893\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t5\t3\t4\t4\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTCA\t.\t73\t\t\t\t\t\t\t\t\t\t\t\t\t140001893\t5.3\t4\t8\t4\t0.375\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140001893C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140001971\t140001971\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t2\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCCC\t.\t50\t\t\t\t\t\t\t\t\t\t\t\t\t140001971\t2.2\t1\t4\t1\t0.5\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140001971C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140001971\t140001971\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t2\t2\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCCC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140001971\t2.2\t2\t4\t2\t\t\t0/1\t./.\t0.0\t0.0\t2.0\t2.0\t0.0\t0.0\t2.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140001971C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140001971\t140001971\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t2\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCCC\t.\t50\t\t\t\t\t\t\t\t\t\t\t\t\t140001971\t2.2\t1\t4\t1\t0.5\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140001971C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140006043\t140006043\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t6\t2\t4\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGCG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140006043\t2.4\t3\t6\t3\t\t\t0/1\t./.\t0.0\t0.0\t2.0\t3.0\t0.0\t0.0\t4.0\t0.0\t\t\t\t\t\t\tstrelka\tstrelka|consensus|consensus\tLowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140006043C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140006043\t140006043\t+\tIGR\tSNP\tC\tT\tT\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t1\t4\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGCG\t.\t85\t\t\t\t\t\t\t\t\t\t\t\t\t140006043\t1.4\t3\t5\t3\t0.8\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconsensus\tstrelka|consensus|consensus\tLowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140006043C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140006043\t140006043\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t6\t2\t4\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGCG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140006043\t2.4\t3\t6\t3\t\t\t0/1\t./.\t0.0\t0.0\t2.0\t3.0\t0.0\t0.0\t4.0\t0.0\t\t\t\t\t\t\tstrelka\tstrelka|consensus|consensus\tLowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140006043C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140011016\t140011016\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t11\t4\t7\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAC\t.\t65\t\t\t\t\t\t\t\t\t\t\t\t\t140011016\t4.7\t2\t11\t2\t0.636\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140011016A>G\tFalse\trealignment\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140011016\t140011016\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t11\t3\t7\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCAC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140011016\t3.7\t3\t11\t3\t\t\t0/1\t./.\t3.0\t3.0\t0.0\t0.0\t7.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140011016A>G\tFalse\trealignment\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140011157\t140011157\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t5\t8\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t86\t\t\t\t\t\t\t\t\t\t\t\t\t140011157\t5.8\t2\t13\t2\t0.615\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140011157A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140011157\t140011157\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t12\t5\t7\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tAAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140011157\t5.7\t2\t12\t2\t\t\t0/1\t./.\t5.0\t2.0\t0.0\t0.0\t7.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140011157A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140011157\t140011157\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t5\t8\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t86\t\t\t\t\t\t\t\t\t\t\t\t\t140011157\t5.8\t2\t13\t2\t0.615\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140011157A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140011178\t140011178\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t8\t5\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTAA\t.\t59\t\t\t\t\t\t\t\t\t\t\t\t\t140011178\t8.5\t2\t13\t2\t0.385\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140011178A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140011178\t140011178\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t12\t8\t3\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTAA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140011178\t8.3\t2\t12\t2\t\t\t0/1\t./.\t8.0\t2.0\t0.0\t0.0\t3.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140011178A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140011178\t140011178\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t8\t5\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTAA\t.\t59\t\t\t\t\t\t\t\t\t\t\t\t\t140011178\t8.5\t2\t13\t2\t0.385\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140011178A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140012618\t140012618\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t9\t5\t4\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t57\t\t\t\t\t\t\t\t\t\t\t\t\t140012618\t5.4\t2\t9\t2\t0.444\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140012618T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140012618\t140012618\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t5\t3\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140012618\t5.3\t2\t8\t2\t\t\t0/1\t./.\t0.0\t0.0\t3.0\t0.0\t0.0\t0.0\t5.0\t2.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140012618T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140012618\t140012618\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t9\t5\t4\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t57\t\t\t\t\t\t\t\t\t\t\t\t\t140012618\t5.4\t2\t9\t2\t0.444\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140012618T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140012739\t140012739\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t8\t10\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAT\t.\t111\t\t\t\t\t\t\t\t\t\t\t\t\t140012739\t8.1\t3\t18\t3\t0.556\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140012739A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140012739\t140012739\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t8\t10\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140012739\t8.1\t3\t18\t3\t\t\t0/1\t./.\t8.0\t3.0\t0.0\t0.0\t10.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140012739A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140012739\t140012739\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t8\t10\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAT\t.\t111\t\t\t\t\t\t\t\t\t\t\t\t\t140012739\t8.1\t3\t18\t3\t0.556\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140012739A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140027870\t140027870\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t92\t57\t35\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTC\t.\t670\t\t\t\t\t\t\t\t\t\t\t\t\t140027870\t57.35\t0\t92\t0\t0.38\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140027870T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140027870\t140027870\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t92\t57\t34\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140027870\t57.34\t0\t92\t0\t\t\t0/1\t./.\t0.0\t0.0\t34.0\t0.0\t0.0\t0.0\t57.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140027870T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140027870\t140027870\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t92\t57\t35\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTC\t.\t670\t\t\t\t\t\t\t\t\t\t\t\t\t140027870\t57.35\t0\t92\t0\t0.38\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140027870T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140029645\t140029645\t+\tIGR\tDEL\tA\tA\t-\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t81\t73\t8\t1\t1\t0\t\t-\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tdeletion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGAA\t.\t91\t\t\t\t\t\t\t\t\t\t\t\t\t140029644\t73.8\t1\t81\t1\t0.099\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140029645A>-\tTrue\tPASS\tA>-\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140029645\t140029645\t+\tIGR\tDEL\tA\tA\t-\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t83\t67\t8\t1\t1\t0\t\t-\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tdeletion\t\t\t\t\t\tLowDepth;LowEVS\tGGAA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140029644\t67.8\t1\t83\t1\t\t\t0/1\t./.\t\t\t\t\t\t\t\t\t67.7\t1.1\t8.8\t0.0\t8.6\t0.0\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140029645A>-\tTrue\tPASS\tA>-\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140029645\t140029645\t+\tIGR\tDEL\tA\tA\t-\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t81\t73\t8\t1\t1\t0\t\t-\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tdeletion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGAA\t.\t91\t\t\t\t\t\t\t\t\t\t\t\t\t140029644\t73.8\t1\t81\t1\t0.099\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140029645A>-\tTrue\tPASS\tA>-\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140030471\t140030471\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t106\t64\t42\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCGC\t.\t852\t\t\t\t\t\t\t\t\t\t\t\t\t140030471\t64.42\t0\t106\t0\t0.396\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140030471G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140030471\t140030471\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t107\t67\t40\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCGC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140030471\t67.4\t0\t107\t0\t\t\t0/1\t./.\t40.0\t0.0\t0.0\t0.0\t67.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140030471G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140030471\t140030471\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t106\t64\t42\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCGC\t.\t852\t\t\t\t\t\t\t\t\t\t\t\t\t140030471\t64.42\t0\t106\t0\t0.396\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140030471G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140030498\t140030498\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t119\t107\t12\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t142\t\t\t\t\t\t\t\t\t\t\t\t\t140030498\t107.12\t0\t119\t0\t0.101\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140030498T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140030498\t140030498\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t121\t109\t10\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140030498\t109.1\t0\t121\t0\t\t\t0/1\t./.\t1.0\t0.0\t10.0\t0.0\t1.0\t0.0\t109.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140030498T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140030498\t140030498\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t119\t107\t12\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t142\t\t\t\t\t\t\t\t\t\t\t\t\t140030498\t107.12\t0\t119\t0\t0.101\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140030498T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140030515\t140030515\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t137\t116\t21\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTT\t.\t324\t\t\t\t\t\t\t\t\t\t\t\t\t140030515\t116.21\t0\t137\t0\t0.153\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140030515T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140030515\t140030515\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t141\t121\t20\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140030515\t121.2\t0\t141\t0\t\t\t0/1\t./.\t0.0\t0.0\t20.0\t0.0\t0.0\t0.0\t121.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140030515T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140030515\t140030515\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t137\t116\t21\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTT\t.\t324\t\t\t\t\t\t\t\t\t\t\t\t\t140030515\t116.21\t0\t137\t0\t0.153\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140030515T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140030554\t140030554\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t123\t115\t8\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATG\t.\t80\t\t\t\t\t\t\t\t\t\t\t\t\t140030554\t115.8\t1\t123\t1\t0.065\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140030554T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140030554\t140030554\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t130\t124\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tATG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140030554\t124.6\t1\t130\t1\t\t\t0/1\t./.\t0.0\t0.0\t6.0\t0.0\t0.0\t0.0\t124.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140030554T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140030554\t140030554\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t123\t115\t8\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATG\t.\t80\t\t\t\t\t\t\t\t\t\t\t\t\t140030554\t115.8\t1\t123\t1\t0.065\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140030554T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140030567\t140030567\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t108\t81\t27\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTG\t.\t322\t\t\t\t\t\t\t\t\t\t\t\t\t140030567\t81.27\t1\t108\t1\t0.25\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140030567T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140030567\t140030567\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t107\t82\t24\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140030567\t82.24\t1\t107\t1\t\t\t0/1\t./.\t0.0\t0.0\t24.0\t0.0\t0.0\t0.0\t82.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140030567T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140030567\t140030567\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t108\t81\t27\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTG\t.\t322\t\t\t\t\t\t\t\t\t\t\t\t\t140030567\t81.27\t1\t108\t1\t0.25\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140030567T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140030605\t140030605\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t73\t65\t8\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tTAC\t.\t160\t\t\t\t\t\t\t\t\t\t\t\t\t140030605\t65.8\t1\t73\t1\t0.11\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140030605A>G\tFalse\trealignment\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140030605\t140030605\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t96\t85\t11\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTAC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140030605\t85.11\t2\t96\t2\t\t\t0/1\t./.\t85.0\t2.0\t0.0\t0.0\t11.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140030605A>G\tFalse\trealignment\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140030629\t140030629\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t74\t54\t20\t2\t1\t1\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tmaxGermlineRelRawBaseQual;maxGermlineVAF;minGermlineDepth\tTAC\t.\t289\t\t\t\t\t\t\t\t\t\t\t\t\t140030629\t54.2\t1.1\t74\t2\t0.27\t0.5\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tmaxGermlineRelRawBaseQual;maxGermlineVAF;minGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140030629A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140030629\t140030629\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t76\t58\t16\t2\t1\t1\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTAC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140030629\t58.16\t1.1\t76\t2\t\t\t0/1\t./.\t58.0\t1.0\t0.0\t0.0\t16.0\t1.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tmaxGermlineRelRawBaseQual;maxGermlineVAF;minGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140030629A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140030629\t140030629\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t74\t54\t20\t2\t1\t1\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tmaxGermlineRelRawBaseQual;maxGermlineVAF;minGermlineDepth\tTAC\t.\t289\t\t\t\t\t\t\t\t\t\t\t\t\t140030629\t54.2\t1.1\t74\t2\t0.27\t0.5\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tmaxGermlineRelRawBaseQual;maxGermlineVAF;minGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140030629A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140030631\t140030631\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t53\t41\t12\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tmaxGermlineRelRawBaseQual;minGermlineDepth;minTumorQual\tCGT\t.\t123\t\t\t\t\t\t\t\t\t\t\t\t\t140030631\t41.12\t1\t53\t1\t0.226\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tmaxGermlineRelRawBaseQual;minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140030631G>A\tFalse\trealignment\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140030631\t140030631\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t76\t58\t16\t2\t1\t1\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140030631\t58.16\t1.1\t76\t2\t\t\t0/1\t./.\t16.0\t1.0\t0.0\t0.0\t58.0\t1.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tmaxGermlineRelRawBaseQual;minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140030631G>A\tFalse\trealignment\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140031273\t140031273\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t92\t78\t14\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTG\t.\t168\t\t\t\t\t\t\t\t\t\t\t\t\t140031273\t78.14\t0\t92\t0\t0.152\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140031273T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140031273\t140031273\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t96\t82\t14\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140031273\t82.14\t0\t96\t0\t\t\t0/1\t./.\t0.0\t0.0\t14.0\t0.0\t0.0\t0.0\t82.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140031273T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140031273\t140031273\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t92\t78\t14\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTG\t.\t168\t\t\t\t\t\t\t\t\t\t\t\t\t140031273\t78.14\t0\t92\t0\t0.152\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140031273T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140032350\t140032350\t+\tIGR\tDEL\tA\tA\t-\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t58\t50\t7\t1\t1\t0\t\t-\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tdeletion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTAA\t.\t93\t\t\t\t\t\t\t\t\t\t\t\t\t140032349\t50.7\t1\t58\t1\t0.121\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140032350A>-\tTrue\tPASS\tA>-\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140032350\t140032350\t+\tIGR\tDEL\tA\tA\t-\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t61\t49\t8\t1\t1\t0\t\t-\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tdeletion\t\t\t\t\t\tLowDepth;LowEVS\tTTAA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140032349\t49.8\t1\t61\t1\t\t\t0/1\t./.\t\t\t\t\t\t\t\t\t49.5\t1.1\t8.8\t0.0\t4.3\t0.0\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140032350A>-\tTrue\tPASS\tA>-\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140032350\t140032350\t+\tIGR\tDEL\tA\tA\t-\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t58\t50\t7\t1\t1\t0\t\t-\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tdeletion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTAA\t.\t93\t\t\t\t\t\t\t\t\t\t\t\t\t140032349\t50.7\t1\t58\t1\t0.121\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140032350A>-\tTrue\tPASS\tA>-\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140032427\t140032427\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t51\t43\t8\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t116\t\t\t\t\t\t\t\t\t\t\t\t\t140032427\t43.8\t3\t51\t3\t0.157\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140032427T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140032427\t140032427\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t51\t43\t8\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140032427\t43.8\t3\t51\t3\t\t\t0/1\t./.\t0.0\t0.0\t8.0\t0.0\t0.0\t0.0\t43.0\t3.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140032427T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140032427\t140032427\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t51\t43\t8\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t116\t\t\t\t\t\t\t\t\t\t\t\t\t140032427\t43.8\t3\t51\t3\t0.157\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140032427T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140032428\t140032428\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t47\t41\t6\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t91\t\t\t\t\t\t\t\t\t\t\t\t\t140032428\t41.6\t3\t47\t3\t0.128\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140032428T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140032428\t140032428\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t52\t46\t6\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140032428\t46.6\t3\t52\t3\t\t\t0/1\t./.\t0.0\t0.0\t6.0\t0.0\t0.0\t0.0\t46.0\t3.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140032428T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140032428\t140032428\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t47\t41\t6\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t91\t\t\t\t\t\t\t\t\t\t\t\t\t140032428\t41.6\t3\t47\t3\t0.128\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140032428T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140033050\t140033050\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t89\t73\t16\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTC\t.\t223\t\t\t\t\t\t\t\t\t\t\t\t\t140033050\t73.16\t2\t89\t2\t0.18\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140033050T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140033050\t140033050\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t94\t78\t14\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140033050\t78.14\t2\t94\t2\t\t\t0/1\t./.\t0.0\t0.0\t14.0\t0.0\t0.0\t0.0\t78.0\t2.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140033050T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140033050\t140033050\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t89\t73\t16\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTC\t.\t223\t\t\t\t\t\t\t\t\t\t\t\t\t140033050\t73.16\t2\t89\t2\t0.18\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140033050T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140033091\t140033091\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t117\t103\t14\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTA\t.\t163\t\t\t\t\t\t\t\t\t\t\t\t\t140033091\t103.14\t3\t117\t3\t0.12\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140033091T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140033091\t140033091\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t118\t104\t12\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140033091\t104.12\t3\t118\t3\t\t\t0/1\t./.\t0.0\t0.0\t12.0\t0.0\t0.0\t0.0\t104.0\t3.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140033091T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140033091\t140033091\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t117\t103\t14\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTA\t.\t163\t\t\t\t\t\t\t\t\t\t\t\t\t140033091\t103.14\t3\t117\t3\t0.12\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140033091T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140035842\t140035842\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t136\t121\t15\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGG\t.\t139\t\t\t\t\t\t\t\t\t\t\t\t\t140035842\t121.15\t1\t136\t1\t0.11\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140035842G>A\tFalse\trealignment\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140035842\t140035842\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t148\t127\t17\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAGG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140035842\t127.17\t1\t148\t1\t\t\t0/1\t./.\t17.0\t0.0\t0.0\t0.0\t127.0\t1.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140035842G>A\tFalse\trealignment\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140035884\t140035884\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t96\t73\t22\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tmaxGermlineRelRawBaseQual;minGermlineDepth;minTumorQual\tAAG\t.\t87\t\t\t\t\t\t\t\t\t\t\t\t\t140035884\t73.22\t0\t96\t0\t0.229\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tmaxGermlineRelRawBaseQual;minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140035884A>G\tFalse\trealignment\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140035884\t140035884\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t118\t87\t17\t1\t0\t1\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAAG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140035884\t87.17\t0.1\t118\t1\t\t\t0/1\t./.\t87.0\t0.0\t1.0\t0.0\t17.0\t1.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tmaxGermlineRelRawBaseQual;minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140035884A>G\tFalse\trealignment\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140035886\t140035886\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t96\t74\t22\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tmaxGermlineRelRawBaseQual;minGermlineDepth;minTumorQual\tGAG\t.\t85\t\t\t\t\t\t\t\t\t\t\t\t\t140035886\t74.22\t0\t96\t0\t0.229\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tmaxGermlineRelRawBaseQual;minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140035886A>G\tFalse\trealignment\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140035886\t140035886\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t116\t87\t17\t1\t0\t1\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGAG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140035886\t87.17\t0.1\t116\t1\t\t\t0/1\t./.\t87.0\t0.0\t0.0\t0.0\t17.0\t1.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tmaxGermlineRelRawBaseQual;minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140035886A>G\tFalse\trealignment\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140035900\t140035900\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t84\t60\t24\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGGA\t.\t337\t\t\t\t\t\t\t\t\t\t\t\t\t140035900\t60.24\t0\t84\t0\t0.286\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140035900G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140035900\t140035900\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t84\t49\t22\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140035900\t49.22\t0\t84\t0\t\t\t0/1\t./.\t22.0\t0.0\t1.0\t0.0\t49.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140035900G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140035900\t140035900\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t84\t60\t24\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGGA\t.\t337\t\t\t\t\t\t\t\t\t\t\t\t\t140035900\t60.24\t0\t84\t0\t0.286\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140035900G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140037992\t140037992\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t215\t119\t96\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCAT\t.\t1245\t\t\t\t\t\t\t\t\t\t\t\t\t140037992\t119.96\t3\t215\t3\t0.447\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140037992A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140037992\t140037992\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t217\t119\t96\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140037992\t119.96\t3\t217\t3\t\t\t0/1\t./.\t119.0\t3.0\t0.0\t0.0\t96.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140037992A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140037992\t140037992\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t215\t119\t96\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCAT\t.\t1245\t\t\t\t\t\t\t\t\t\t\t\t\t140037992\t119.96\t3\t215\t3\t0.447\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140037992A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140039778\t140039778\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t118\t49\t69\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tTCC\t.\t1214\t\t\t\t\t\t\t\t\t\t\t\t\t140039778\t49.69\t2\t118\t2\t0.585\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140039778C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140039778\t140039778\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t119\t50\t67\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTCC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140039778\t50.67\t2\t119\t2\t\t\t0/1\t./.\t0.0\t0.0\t50.0\t2.0\t0.0\t0.0\t67.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140039778C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140039778\t140039778\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t118\t49\t69\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tTCC\t.\t1214\t\t\t\t\t\t\t\t\t\t\t\t\t140039778\t49.69\t2\t118\t2\t0.585\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140039778C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140043167\t140043167\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t9\t3\t6\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t106\t\t\t\t\t\t\t\t\t\t\t\t\t140043167\t3.6\t5\t9\t5\t0.667\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140043167T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140043167\t140043167\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t9\t3\t6\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140043167\t3.6\t5\t9\t5\t\t\t0/1\t./.\t0.0\t0.0\t6.0\t0.0\t0.0\t0.0\t3.0\t5.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140043167T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140043167\t140043167\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t9\t3\t6\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t106\t\t\t\t\t\t\t\t\t\t\t\t\t140043167\t3.6\t5\t9\t5\t0.667\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140043167T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140058002\t140058002\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t250\t246\t4\t98\t98\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tweak_evidence\tGGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140058002\t246,4\t98,0\t250\t98\t0.014\t0.012\t0/1\t0/0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmutect2\tmutect2|sage|strelka\tweak_evidence|minTumorQual;minTumorVAF|LowEVS\tFAIL\tTrue\tchr7:g.140058002G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140058002\t140058002\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t254\t250\t4\t99\t99\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminTumorQual;minTumorVAF\tGGT\t.\t66\t\t\t\t\t\t\t\t\t\t\t\t\t140058002\t250.4\t99\t254\t99\t0.016\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tmutect2|sage|strelka\tweak_evidence|minTumorQual;minTumorVAF|LowEVS\tFAIL\tTrue\tchr7:g.140058002G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140058002\t140058002\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t260\t255\t4\t101\t101\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140058002\t255.4\t101\t260\t101\t\t\t0/1\t./.\t4.0\t0.0\t0.0\t0.0\t255.0\t101.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tmutect2|sage|strelka\tweak_evidence|minTumorQual;minTumorVAF|LowEVS\tFAIL\tTrue\tchr7:g.140058002G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140058002\t140058002\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t250\t246\t4\t98\t98\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tweak_evidence\tGGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140058002\t246,4\t98,0\t250\t98\t0.014\t0.012\t0/1\t0/0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmutect2\tmutect2|sage|strelka\tweak_evidence|minTumorQual;minTumorVAF|LowEVS\tFAIL\tTrue\tchr7:g.140058002G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140085224\t140085224\t+\tIGR\tSNP\tC\tC\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t258\t105\t153\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCCA\t.\t3203\t\t\t\t\t\t\t\t\t\t\t\t\t140085224\t105.153\t4\t258\t4\t0.593\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140085224C>A\tTrue\tPASS\tC>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140085224\t140085224\t+\tIGR\tSNP\tC\tC\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t295\t124\t169\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCCA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140085224\t124.169\t4\t295\t4\t\t\t0/1\t./.\t169.0\t0.0\t124.0\t4.0\t0.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140085224C>A\tTrue\tPASS\tC>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140085224\t140085224\t+\tIGR\tSNP\tC\tC\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t258\t105\t153\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCCA\t.\t3203\t\t\t\t\t\t\t\t\t\t\t\t\t140085224\t105.153\t4\t258\t4\t0.593\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140085224C>A\tTrue\tPASS\tC>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140089652\t140089653\t+\tIGR\tINS\t-\t-\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t175\t165\t10\t3\t3\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGA\t.\t136\t\t\t\t\t\t\t\t\t\t\t\t\t140089652\t165.1\t3\t175\t3\t0.057\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140089652->A\tTrue\tPASS\t->A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140089652\t140089653\t+\tIGR\tINS\t-\t-\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t175\t165\t10\t3\t3\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGA\t.\t143\t\t\t\t\t\t\t\t\t\t\t\t\t140089652\t165.1\t3\t175\t3\t0.057\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140089652->A\tTrue\tPASS\t->A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140089652\t140089653\t+\tIGR\tINS\t-\t-\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t206\t174\t10\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tLowEVS\tGGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140089652\t174.1\t4\t206\t4\t\t\t0/1\t./.\t\t\t\t\t\t\t\t\t174.175\t4.4\t10.1\t0.0\t22.21\t0.0\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140089652->A\tTrue\tPASS\t->A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140089652\t140089653\t+\tIGR\tINS\t-\t-\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t175\t165\t10\t3\t3\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGA\t.\t136\t\t\t\t\t\t\t\t\t\t\t\t\t140089652\t165.1\t3\t175\t3\t0.057\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140089652->A\tTrue\tPASS\t->A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140094509\t140094509\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t13\t7\t1\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGA\t.\t58\t\t\t\t\t\t\t\t\t\t\t\t\t140094509\t13.7\t0\t22\t1\t0.318\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140094509G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140094509\t140094509\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t25\t17\t6\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140094509\t17.6\t1\t25\t1\t\t\t0/1\t./.\t6.0\t0.0\t0.0\t0.0\t17.0\t1.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140094509G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140094509\t140094509\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t13\t7\t1\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGA\t.\t58\t\t\t\t\t\t\t\t\t\t\t\t\t140094509\t13.7\t0\t22\t1\t0.318\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140094509G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140095793\t140095793\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t58\t38\t20\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tTTG\t.\t256\t\t\t\t\t\t\t\t\t\t\t\t\t140095793\t38.2\t0\t58\t0\t0.345\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140095793T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140095793\t140095793\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t58\t38\t20\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140095793\t38.2\t0\t58\t0\t\t\t0/1\t./.\t0.0\t0.0\t20.0\t0.0\t0.0\t0.0\t38.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140095793T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140095793\t140095793\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t58\t38\t20\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tTTG\t.\t256\t\t\t\t\t\t\t\t\t\t\t\t\t140095793\t38.2\t0\t58\t0\t0.345\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140095793T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140097703\t140097703\t+\tIGR\tSNP\tA\tA\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t2\t2\t33\t33\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tweak_evidence\tGAC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140097703\t2,2\t33,0\t4\t33\t0.4\t0.03\t0/1\t0/0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmutect2\tmutect2|strelka\tweak_evidence|LowEVS\tFAIL\tTrue\tchr7:g.140097703A>T\tTrue\tPASS\tA>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140097703\t140097703\t+\tIGR\tSNP\tA\tA\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t2\t2\t33\t33\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGAC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140097703\t2.2\t33\t4\t33\t\t\t0/1\t./.\t2.0\t33.0\t0.0\t0.0\t0.0\t0.0\t2.0\t0.0\t\t\t\t\t\t\tstrelka\tmutect2|strelka\tweak_evidence|LowEVS\tFAIL\tTrue\tchr7:g.140097703A>T\tTrue\tPASS\tA>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140097703\t140097703\t+\tIGR\tSNP\tA\tA\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t2\t2\t33\t33\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tweak_evidence\tGAC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140097703\t2,2\t33,0\t4\t33\t0.4\t0.03\t0/1\t0/0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmutect2\tmutect2|strelka\tweak_evidence|LowEVS\tFAIL\tTrue\tchr7:g.140097703A>T\tTrue\tPASS\tA>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140107704\t140107704\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t14\t4\t9\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAT\t.\t124\t\t\t\t\t\t\t\t\t\t\t\t\t140107704\t4.9\t1\t14\t1\t0.643\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140107704A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140107704\t140107704\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t14\t4\t9\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140107704\t4.9\t1\t14\t1\t\t\t0/1\t./.\t4.0\t1.0\t0.0\t0.0\t9.0\t0.0\t1.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140107704A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140107704\t140107704\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t14\t4\t9\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAT\t.\t124\t\t\t\t\t\t\t\t\t\t\t\t\t140107704\t4.9\t1\t14\t1\t0.643\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140107704A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140108207\t140108207\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t14\t4\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGCG\t.\t99\t\t\t\t\t\t\t\t\t\t\t\t\t140108207\t14.4\t1\t18\t1\t0.222\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140108207C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140108207\t140108207\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t14\t4\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGCG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140108207\t14.4\t1\t18\t1\t\t\t0/1\t./.\t0.0\t0.0\t14.0\t1.0\t0.0\t0.0\t4.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140108207C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140108207\t140108207\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t14\t4\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGCG\t.\t99\t\t\t\t\t\t\t\t\t\t\t\t\t140108207\t14.4\t1\t18\t1\t0.222\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140108207C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140108245\t140108245\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t26\t20\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t101\t\t\t\t\t\t\t\t\t\t\t\t\t140108245\t20.6\t1\t26\t1\t0.231\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140108245T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140108245\t140108245\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t26\t20\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140108245\t20.6\t1\t26\t1\t\t\t0/1\t./.\t0.0\t0.0\t6.0\t0.0\t0.0\t0.0\t20.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140108245T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140108245\t140108245\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t26\t20\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t101\t\t\t\t\t\t\t\t\t\t\t\t\t140108245\t20.6\t1\t26\t1\t0.231\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140108245T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140109596\t140109596\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t21\t9\t12\t3\t3\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tAGC\t.\t254\t\t\t\t\t\t\t\t\t\t\t\t\t140109596\t9.12\t3\t21\t3\t0.571\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140109596G>A\tFalse\trealignment\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140109596\t140109596\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t23\t10\t13\t3\t3\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tAGC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140109596\t10.13\t3\t23\t3\t\t\t0/1\t./.\t13.0\t0.0\t0.0\t0.0\t10.0\t3.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140109596G>A\tFalse\trealignment\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140112904\t140112904\t+\tIGR\tSNP\tA\tT\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t9\t2\t7\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCAT\t.\t185\t\t\t\t\t\t\t\t\t\t\t\t\t140112904\t2.7\t3\t9\t3\t0.778\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140112904A>T\tTrue\tPASS\tA>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140112904\t140112904\t+\tIGR\tSNP\tA\tT\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t9\t2\t7\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140112904\t2.7\t3\t9\t3\t\t\t1/1\t./.\t2.0\t3.0\t0.0\t0.0\t0.0\t0.0\t7.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140112904A>T\tTrue\tPASS\tA>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140112904\t140112904\t+\tIGR\tSNP\tA\tT\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t9\t2\t7\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCAT\t.\t185\t\t\t\t\t\t\t\t\t\t\t\t\t140112904\t2.7\t3\t9\t3\t0.778\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140112904A>T\tTrue\tPASS\tA>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140115423\t140115423\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t16\t14\t2\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTGG\t.\t53\t\t\t\t\t\t\t\t\t\t\t\t\t140115423\t14.2\t2\t16\t2\t0.125\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140115423G>A\tFalse\trealignment\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140115423\t140115423\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t19\t17\t2\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTGG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140115423\t17.2\t2\t19\t2\t\t\t0/1\t./.\t2.0\t0.0\t0.0\t0.0\t17.0\t2.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140115423G>A\tFalse\trealignment\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140120859\t140120859\t+\tIGR\tSNP\tT\tT\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t14\t6\t8\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t159\t\t\t\t\t\t\t\t\t\t\t\t\t140120859\t6.8\t3\t14\t3\t0.571\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140120859T>G\tTrue\tPASS\tT>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140120859\t140120859\t+\tIGR\tSNP\tT\tT\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t15\t6\t9\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140120859\t6.9\t3\t15\t3\t\t\t0/1\t./.\t0.0\t0.0\t0.0\t0.0\t9.0\t0.0\t6.0\t3.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140120859T>G\tTrue\tPASS\tT>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140120859\t140120859\t+\tIGR\tSNP\tT\tT\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t14\t6\t8\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t159\t\t\t\t\t\t\t\t\t\t\t\t\t140120859\t6.8\t3\t14\t3\t0.571\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140120859T>G\tTrue\tPASS\tT>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140121364\t140121364\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t14\t10\t4\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCGT\t.\t81\t\t\t\t\t\t\t\t\t\t\t\t\t140121364\t10.4\t1\t14\t1\t0.286\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140121364G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140121364\t140121364\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t18\t4\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140121364\t18.4\t1\t22\t1\t\t\t0/1\t./.\t4.0\t0.0\t0.0\t0.0\t18.0\t1.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140121364G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140121364\t140121364\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t14\t10\t4\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCGT\t.\t81\t\t\t\t\t\t\t\t\t\t\t\t\t140121364\t10.4\t1\t14\t1\t0.286\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140121364G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140124514\t140124514\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t20\t2\t22\t22\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminTumorQual\tTGT\t.\t55\t\t\t\t\t\t\t\t\t\t\t\t\t140124514\t20.2\t22\t22\t22\t0.091\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140124514G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140124514\t140124514\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t20\t2\t22\t22\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140124514\t20.2\t22\t22\t22\t\t\t0/1\t./.\t2.0\t0.0\t0.0\t0.0\t20.0\t22.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140124514G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140124514\t140124514\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t20\t2\t22\t22\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminTumorQual\tTGT\t.\t55\t\t\t\t\t\t\t\t\t\t\t\t\t140124514\t20.2\t22\t22\t22\t0.091\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140124514G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140126788\t140126788\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t89\t86\t3\t73\t73\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tweak_evidence\tTTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140126788\t86,3\t73,0\t89\t73\t0.039\t0.015\t0/1\t0/0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmutect2\tmutect2|strelka\tweak_evidence|LowEVS\tFAIL\tTrue\tchr7:g.140126788T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140126788\t140126788\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t90\t87\t3\t76\t76\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140126788\t87.3\t76\t90\t76\t\t\t0/1\t./.\t0.0\t0.0\t3.0\t0.0\t0.0\t0.0\t87.0\t76.0\t\t\t\t\t\t\tstrelka\tmutect2|strelka\tweak_evidence|LowEVS\tFAIL\tTrue\tchr7:g.140126788T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140126788\t140126788\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t89\t86\t3\t73\t73\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tweak_evidence\tTTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140126788\t86,3\t73,0\t89\t73\t0.039\t0.015\t0/1\t0/0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmutect2\tmutect2|strelka\tweak_evidence|LowEVS\tFAIL\tTrue\tchr7:g.140126788T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140156990\t140156990\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t140156990\t0.3\t2\t3\t2\t1.0\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140156990T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140156990\t140156990\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140156990\t0.3\t2\t3\t2\t\t\t1/1\t./.\t0.0\t0.0\t3.0\t0.0\t0.0\t0.0\t0.0\t2.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140156990T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140156990\t140156990\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t140156990\t0.3\t2\t3\t2\t1.0\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140156990T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140163410\t140163410\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t2\t3\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCGA\t.\t74\t\t\t\t\t\t\t\t\t\t\t\t\t140163410\t2.3\t2\t5\t2\t0.6\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140163410G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140163410\t140163410\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t2\t3\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140163410\t2.3\t2\t5\t2\t\t\t0/1\t./.\t3.0\t0.0\t0.0\t0.0\t2.0\t2.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140163410G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140163410\t140163410\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t2\t3\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCGA\t.\t74\t\t\t\t\t\t\t\t\t\t\t\t\t140163410\t2.3\t2\t5\t2\t0.6\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140163410G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140310991\t140310991\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t0\t4\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTA\t.\t61\t\t\t\t\t\t\t\t\t\t\t\t\t140310991\t0.4\t3\t4\t3\t1.0\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140310991T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140310991\t140310991\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t0\t4\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140310991\t0.4\t3\t4\t3\t\t\t1/1\t./.\t0.0\t0.0\t4.0\t0.0\t0.0\t0.0\t0.0\t3.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140310991T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140337265\t140337265\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24\t22\t2\t73\t73\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tmaxGermlineRelRawBaseQual;minTumorQual\tTTA\t.\t52\t\t\t\t\t\t\t\t\t\t\t\t\t140337265\t22.2\t73\t24\t73\t0.083\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tmaxGermlineRelRawBaseQual;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140337265T>A\tTrue\tPASS\tT>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140337265\t140337265\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t23\t21\t2\t101\t101\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140337265\t21.2\t101\t23\t101\t\t\t0/1\t./.\t2.0\t0.0\t0.0\t0.0\t0.0\t0.0\t21.0\t101.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tmaxGermlineRelRawBaseQual;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140337265T>A\tTrue\tPASS\tT>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140337265\t140337265\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24\t22\t2\t73\t73\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tmaxGermlineRelRawBaseQual;minTumorQual\tTTA\t.\t52\t\t\t\t\t\t\t\t\t\t\t\t\t140337265\t22.2\t73\t24\t73\t0.083\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tmaxGermlineRelRawBaseQual;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140337265T>A\tTrue\tPASS\tT>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140340845\t140340845\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t17\t2\t15\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t155\t\t\t\t\t\t\t\t\t\t\t\t\t140340845\t2.15\t0\t17\t0\t0.882\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140340845T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140340845\t140340845\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t17\t2\t15\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140340845\t2.15\t0\t17\t0\t\t\t1/1\t./.\t0.0\t0.0\t15.0\t0.0\t0.0\t0.0\t2.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140340845T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140340845\t140340845\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t17\t2\t15\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t155\t\t\t\t\t\t\t\t\t\t\t\t\t140340845\t2.15\t0\t17\t0\t0.882\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140340845T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140340848\t140340848\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t15\t12\t3\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t140340848\t12.3\t0\t15\t0\t0.2\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140340848T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140340848\t140340848\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t16\t13\t3\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140340848\t13.3\t0\t16\t0\t\t\t0/1\t./.\t0.0\t0.0\t3.0\t0.0\t0.0\t0.0\t13.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140340848T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140340869\t140340869\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t16\t4\t12\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTT\t.\t161\t\t\t\t\t\t\t\t\t\t\t\t\t140340869\t4.12\t0\t16\t0\t0.75\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140340869T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140340869\t140340869\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t16\t3\t11\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140340869\t3.11\t0\t16\t0\t\t\t0/1\t./.\t0.0\t0.0\t11.0\t0.0\t0.0\t0.0\t3.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140340869T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140340869\t140340869\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t16\t4\t12\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTT\t.\t161\t\t\t\t\t\t\t\t\t\t\t\t\t140340869\t4.12\t0\t16\t0\t0.75\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140340869T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140341845\t140341845\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t27\t25\t2\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGCC\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t140341845\t25.2\t3\t27\t3\t0.074\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140341845C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140341845\t140341845\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t26\t24\t2\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGCC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140341845\t24.2\t3\t26\t3\t\t\t0/1\t./.\t0.0\t0.0\t24.0\t3.0\t0.0\t0.0\t2.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140341845C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140341845\t140341845\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t27\t25\t2\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGCC\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t140341845\t25.2\t3\t27\t3\t0.074\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140341845C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140343674\t140343675\t+\tIGR\tINS\t-\t-\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t5\t3\t5\t5\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGA\t.\t65\t\t\t\t\t\t\t\t\t\t\t\t\t140343674\t5.3\t5\t8\t5\t0.375\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|PASS\tPASS\tTrue\tchr7:g.140343674->A\tTrue\tPASS\t->A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140343674\t140343675\t+\tIGR\tINS\t-\t-\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t10\t5\t4\t7\t5\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tPASS\tGGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140343674\t5.4\t5\t10\t7\t\t\t0/1\t./.\t\t\t\t\t\t\t\t\t5.6\t5.5\t4.4\t0.0\t1.1\t1.1\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|PASS\tPASS\tTrue\tchr7:g.140343674->A\tTrue\tPASS\t->A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140343674\t140343675\t+\tIGR\tINS\t-\t-\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t5\t3\t5\t5\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGA\t.\t65\t\t\t\t\t\t\t\t\t\t\t\t\t140343674\t5.3\t5\t8\t5\t0.375\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|PASS\tPASS\tTrue\tchr7:g.140343674->A\tTrue\tPASS\t->A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140353659\t140353659\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t10\t4\t6\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t134\t\t\t\t\t\t\t\t\t\t\t\t\t140353659\t4.6\t2\t10\t2\t0.6\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka|consensus|consensus\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140353659A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140353659\t140353659\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t10\t4\t6\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tAAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140353659\t4.6\t2\t10\t2\t\t\t0/1\t./.\t4.0\t2.0\t0.0\t0.0\t6.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka|consensus|consensus\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140353659A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140353659\t140353659\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t2\t3\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t59\t\t\t\t\t\t\t\t\t\t\t\t\t140353659\t2.3\t2\t5\t2\t0.6\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconsensus\tsage|strelka|consensus|consensus\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140353659A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140353659\t140353659\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t10\t4\t6\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t134\t\t\t\t\t\t\t\t\t\t\t\t\t140353659\t4.6\t2\t10\t2\t0.6\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka|consensus|consensus\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140353659A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140369391\t140369391\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t12\t6\t6\t3\t3\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATT\t.\t129\t\t\t\t\t\t\t\t\t\t\t\t\t140369391\t6.6\t3\t12\t3\t0.5\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140369391T>A\tTrue\tPASS\tT>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140369391\t140369391\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t12\t6\t6\t3\t3\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tATT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140369391\t6.6\t3\t12\t3\t\t\t0/1\t./.\t6.0\t0.0\t0.0\t0.0\t0.0\t0.0\t6.0\t3.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140369391T>A\tTrue\tPASS\tT>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140369391\t140369391\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t12\t6\t6\t3\t3\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATT\t.\t129\t\t\t\t\t\t\t\t\t\t\t\t\t140369391\t6.6\t3\t12\t3\t0.5\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140369391T>A\tTrue\tPASS\tT>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140370578\t140370578\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t5\t3\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tACA\t.\t64\t\t\t\t\t\t\t\t\t\t\t\t\t140370578\t5.3\t2\t8\t2\t0.375\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140370578C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140370578\t140370578\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t5\t3\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tACA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140370578\t5.3\t2\t8\t2\t\t\t0/1\t./.\t0.0\t0.0\t5.0\t2.0\t0.0\t0.0\t3.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140370578C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140370578\t140370578\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t5\t3\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tACA\t.\t64\t\t\t\t\t\t\t\t\t\t\t\t\t140370578\t5.3\t2\t8\t2\t0.375\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140370578C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140402540\t140402540\t+\tIGR\tSNP\tA\tG\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t1\t4\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGAT\t.\t99\t\t\t\t\t\t\t\t\t\t\t\t\t140402540\t1.4\t2\t5\t2\t0.8\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140402540A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140402540\t140402540\t+\tIGR\tSNP\tA\tG\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t1\t4\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140402540\t1.4\t2\t5\t2\t\t\t1/1\t./.\t1.0\t2.0\t0.0\t0.0\t4.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140402540A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140402540\t140402540\t+\tIGR\tSNP\tA\tG\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t1\t4\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGAT\t.\t99\t\t\t\t\t\t\t\t\t\t\t\t\t140402540\t1.4\t2\t5\t2\t0.8\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140402540A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140402551\t140402551\t+\tIGR\tSNP\tG\tA\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t6\t1\t5\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGA\t.\t103\t\t\t\t\t\t\t\t\t\t\t\t\t140402551\t1.5\t2\t6\t2\t0.833\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140402551G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140402551\t140402551\t+\tIGR\tSNP\tG\tA\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t6\t1\t5\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140402551\t1.5\t2\t6\t2\t\t\t1/1\t./.\t5.0\t0.0\t0.0\t0.0\t1.0\t2.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140402551G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140402551\t140402551\t+\tIGR\tSNP\tG\tA\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t6\t1\t5\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGA\t.\t103\t\t\t\t\t\t\t\t\t\t\t\t\t140402551\t1.5\t2\t6\t2\t0.833\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140402551G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140426299\t140426299\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t65\t63\t2\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tACT\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t140426299\t63.2\t3\t65\t3\t0.031\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140426299C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140426299\t140426299\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t65\t63\t2\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tACT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140426299\t63.2\t3\t65\t3\t\t\t0/1\t./.\t0.0\t0.0\t63.0\t3.0\t0.0\t0.0\t2.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140426299C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140426299\t140426299\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t65\t63\t2\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tACT\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t140426299\t63.2\t3\t65\t3\t0.031\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140426299C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140427404\t140427404\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t21\t9\t12\t3\t3\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCGG\t.\t69\t\t\t\t\t\t\t\t\t\t\t\t\t140427404\t9.12\t3\t21\t3\t0.571\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140427404G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140427404\t140427404\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t9\t9\t3\t3\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCGG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140427404\t9.9\t3\t18\t3\t\t\t0/1\t./.\t9.0\t0.0\t0.0\t0.0\t9.0\t3.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140427404G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140427404\t140427404\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t21\t9\t12\t3\t3\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCGG\t.\t69\t\t\t\t\t\t\t\t\t\t\t\t\t140427404\t9.12\t3\t21\t3\t0.571\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140427404G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140427552\t140427552\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t60\t53\t7\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAG\t.\t60\t\t\t\t\t\t\t\t\t\t\t\t\t140427552\t53.7\t3\t60\t3\t0.117\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140427552A>G\tFalse\trealignment\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140427552\t140427552\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t61\t54\t7\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tAAG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140427552\t54.7\t3\t61\t3\t\t\t0/1\t./.\t54.0\t3.0\t0.0\t0.0\t7.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140427552A>G\tFalse\trealignment\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140427570\t140427570\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t62\t56\t6\t4\t4\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAC\t.\t83\t\t\t\t\t\t\t\t\t\t\t\t\t140427570\t56.6\t4\t62\t4\t0.097\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140427570A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140427570\t140427570\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t62\t56\t6\t4\t4\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tAAC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140427570\t56.6\t4\t62\t4\t\t\t0/1\t./.\t56.0\t4.0\t0.0\t0.0\t6.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140427570A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140427570\t140427570\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t62\t56\t6\t4\t4\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAC\t.\t83\t\t\t\t\t\t\t\t\t\t\t\t\t140427570\t56.6\t4\t62\t4\t0.097\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140427570A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140433091\t140433091\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t3\t4\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGG\t.\t63\t\t\t\t\t\t\t\t\t\t\t\t\t140433091\t3.4\t2\t7\t2\t0.571\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140433091G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140433091\t140433091\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t3\t4\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGGG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140433091\t3.4\t2\t7\t2\t\t\t0/1\t./.\t0.0\t0.0\t0.0\t0.0\t3.0\t2.0\t4.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140433091G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140433091\t140433091\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t3\t4\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGG\t.\t63\t\t\t\t\t\t\t\t\t\t\t\t\t140433091\t3.4\t2\t7\t2\t0.571\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140433091G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140434409\t140434409\t+\tIGR\tSNP\tT\tG\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t2\t0\t2\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGTC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140434409\t0.2\t2\t2\t2\t\t\t1/1\t./.\t0.0\t0.0\t0.0\t0.0\t2.0\t0.0\t0.0\t2.0\t\t\t\t\t\t\tstrelka\tstrelka|consensus|consensus\tLowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140434409T>G\tTrue\tPASS\tT>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140434409\t140434409\t+\tIGR\tSNP\tT\tT\tG\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t6\t2\t4\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTC\t.\t104\t\t\t\t\t\t\t\t\t\t\t\t\t140434409\t2.4\t2\t6\t2\t0.667\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconsensus\tstrelka|consensus|consensus\tLowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140434409T>G\tTrue\tPASS\tT>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140434409\t140434409\t+\tIGR\tSNP\tT\tG\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t2\t0\t2\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGTC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140434409\t0.2\t2\t2\t2\t\t\t1/1\t./.\t0.0\t0.0\t0.0\t0.0\t2.0\t0.0\t0.0\t2.0\t\t\t\t\t\t\tstrelka\tstrelka|consensus|consensus\tLowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140434409T>G\tTrue\tPASS\tT>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140436343\t140436343\t+\tIGR\tSNP\tA\tG\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t64\t\t\t\t\t\t\t\t\t\t\t\t\t140436343\t0.3\t1\t3\t1\t1.0\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140436343A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140436343\t140436343\t+\tIGR\tSNP\tA\tG\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140436343\t0.3\t1\t3\t1\t\t\t1/1\t./.\t0.0\t1.0\t0.0\t0.0\t3.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140436343A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140436343\t140436343\t+\tIGR\tSNP\tA\tG\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t64\t\t\t\t\t\t\t\t\t\t\t\t\t140436343\t0.3\t1\t3\t1\t1.0\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140436343A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140436679\t140436679\t+\tIGR\tSNP\tG\tA\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t11\t2\t9\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCGC\t.\t210\t\t\t\t\t\t\t\t\t\t\t\t\t140436679\t2.9\t2\t11\t2\t0.818\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140436679G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140436679\t140436679\t+\tIGR\tSNP\tG\tA\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t12\t3\t9\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCGC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140436679\t3.9\t2\t12\t2\t\t\t1/1\t./.\t9.0\t0.0\t0.0\t0.0\t3.0\t2.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140436679G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140436679\t140436679\t+\tIGR\tSNP\tG\tA\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t11\t2\t9\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCGC\t.\t210\t\t\t\t\t\t\t\t\t\t\t\t\t140436679\t2.9\t2\t11\t2\t0.818\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140436679G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140456687\t140456687\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t307\t300\t7\t36\t36\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tPASS\tTCC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140456687\t300,7\t36,0\t307\t36\t0.027\t0.028\t0/1\t0/0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmutect2\tmutect2|strelka\tPASS|LowEVS\tPASS\tTrue\tchr7:g.140456687C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140456687\t140456687\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t296\t289\t7\t36\t36\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTCC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140456687\t289.7\t36\t296\t36\t\t\t0/1\t./.\t0.0\t0.0\t289.0\t36.0\t0.0\t0.0\t7.0\t0.0\t\t\t\t\t\t\tstrelka\tmutect2|strelka\tPASS|LowEVS\tPASS\tTrue\tchr7:g.140456687C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140456687\t140456687\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t307\t300\t7\t36\t36\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tPASS\tTCC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140456687\t300,7\t36,0\t307\t36\t0.027\t0.028\t0/1\t0/0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmutect2\tmutect2|strelka\tPASS|LowEVS\tPASS\tTrue\tchr7:g.140456687C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140458030\t140458030\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t25\t11\t14\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tACA\t.\t293\t\t\t\t\t\t\t\t\t\t\t\t\t140458030\t11.14\t1\t25\t1\t0.56\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|consensus|consensus\tminGermlineDepth|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140458030C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140458030\t140458030\t+\tIGR\tSNP\tC\tT\tT\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tACA\t.\t63\t\t\t\t\t\t\t\t\t\t\t\t\t140458030\t0.3\t1\t3\t1\t1.0\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconsensus\tsage|consensus|consensus\tminGermlineDepth|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140458030C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140458030\t140458030\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t25\t11\t14\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tACA\t.\t293\t\t\t\t\t\t\t\t\t\t\t\t\t140458030\t11.14\t1\t25\t1\t0.56\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|consensus|consensus\tminGermlineDepth|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140458030C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140460142\t140460142\t+\tIGR\tSNP\tG\tG\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24\t13\t11\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGA\t.\t90\t\t\t\t\t\t\t\t\t\t\t\t\t140460142\t13.11\t4\t24\t4\t0.458\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140460142G>C\tTrue\tPASS\tG>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140460142\t140460142\t+\tIGR\tSNP\tG\tG\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t21\t13\t8\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140460142\t13.8\t4\t21\t4\t\t\t0/1\t./.\t0.0\t0.0\t8.0\t0.0\t13.0\t4.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140460142G>C\tTrue\tPASS\tG>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140460142\t140460142\t+\tIGR\tSNP\tG\tG\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24\t13\t11\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGA\t.\t90\t\t\t\t\t\t\t\t\t\t\t\t\t140460142\t13.11\t4\t24\t4\t0.458\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140460142G>C\tTrue\tPASS\tG>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140460152\t140460152\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t27\t16\t11\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t95\t\t\t\t\t\t\t\t\t\t\t\t\t140460152\t16.11\t2\t27\t2\t0.407\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140460152T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140460152\t140460152\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t21\t12\t9\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140460152\t12.9\t2\t21\t2\t\t\t0/1\t./.\t0.0\t0.0\t9.0\t0.0\t0.0\t0.0\t12.0\t2.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140460152T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140460152\t140460152\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t27\t16\t11\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t95\t\t\t\t\t\t\t\t\t\t\t\t\t140460152\t16.11\t2\t27\t2\t0.407\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140460152T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140460528\t140460528\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t8\t10\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t99\t\t\t\t\t\t\t\t\t\t\t\t\t140460528\t8.1\t5\t18\t5\t0.556\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140460528T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140460528\t140460528\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t8\t10\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140460528\t8.1\t5\t18\t5\t\t\t0/1\t./.\t0.0\t0.0\t10.0\t0.0\t0.0\t0.0\t8.0\t5.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140460528T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140460528\t140460528\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t8\t10\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t99\t\t\t\t\t\t\t\t\t\t\t\t\t140460528\t8.1\t5\t18\t5\t0.556\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140460528T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140460887\t140460887\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t96\t53\t43\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tATT\t.\t860\t\t\t\t\t\t\t\t\t\t\t\t\t140460887\t53.43\t3\t96\t3\t0.448\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140460887T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140460887\t140460887\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t96\t53\t43\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tATT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140460887\t53.43\t3\t96\t3\t\t\t0/1\t./.\t0.0\t0.0\t43.0\t0.0\t0.0\t0.0\t53.0\t3.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140460887T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140460887\t140460887\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t96\t53\t43\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tATT\t.\t860\t\t\t\t\t\t\t\t\t\t\t\t\t140460887\t53.43\t3\t96\t3\t0.448\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140460887T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140461114\t140461114\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t48\t33\t15\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tATA\t.\t233\t\t\t\t\t\t\t\t\t\t\t\t\t140461114\t33.15\t0\t48\t0\t0.313\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140461114T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140461114\t140461114\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t49\t34\t14\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tATA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140461114\t34.14\t0\t49\t0\t\t\t0/1\t./.\t0.0\t0.0\t14.0\t0.0\t0.0\t0.0\t34.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140461114T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140461114\t140461114\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t48\t33\t15\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tATA\t.\t233\t\t\t\t\t\t\t\t\t\t\t\t\t140461114\t33.15\t0\t48\t0\t0.313\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140461114T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140461126\t140461126\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t44\t30\t14\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTG\t.\t310\t\t\t\t\t\t\t\t\t\t\t\t\t140461126\t30.14\t0\t44\t0\t0.318\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140461126T>A\tTrue\tPASS\tT>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140461126\t140461126\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t44\t30\t13\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140461126\t30.13\t0\t44\t0\t\t\t0/1\t./.\t13.0\t0.0\t0.0\t0.0\t0.0\t0.0\t30.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140461126T>A\tTrue\tPASS\tT>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140461126\t140461126\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t44\t30\t14\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTG\t.\t310\t\t\t\t\t\t\t\t\t\t\t\t\t140461126\t30.14\t0\t44\t0\t0.318\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140461126T>A\tTrue\tPASS\tT>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140461398\t140461398\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t74\t68\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t78\t\t\t\t\t\t\t\t\t\t\t\t\t140461398\t68.6\t1\t74\t1\t0.081\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140461398T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140461398\t140461398\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t75\t69\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140461398\t69.6\t1\t75\t1\t\t\t0/1\t./.\t0.0\t0.0\t6.0\t0.0\t0.0\t0.0\t69.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140461398T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140461398\t140461398\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t74\t68\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t78\t\t\t\t\t\t\t\t\t\t\t\t\t140461398\t68.6\t1\t74\t1\t0.081\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140461398T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140461521\t140461521\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t73\t50\t23\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTA\t.\t268\t\t\t\t\t\t\t\t\t\t\t\t\t140461521\t50.23\t4\t73\t4\t0.315\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140461521T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140461521\t140461521\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t75\t51\t23\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140461521\t51.23\t4\t75\t4\t\t\t0/1\t./.\t0.0\t0.0\t23.0\t0.0\t0.0\t0.0\t51.0\t4.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140461521T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140461521\t140461521\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t73\t50\t23\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTA\t.\t268\t\t\t\t\t\t\t\t\t\t\t\t\t140461521\t50.23\t4\t73\t4\t0.315\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140461521T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140461601\t140461601\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t59\t51\t8\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATT\t.\t113\t\t\t\t\t\t\t\t\t\t\t\t\t140461601\t51.8\t2\t59\t2\t0.136\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140461601T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140461601\t140461601\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t60\t52\t8\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tATT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140461601\t52.8\t2\t60\t2\t\t\t0/1\t./.\t0.0\t0.0\t8.0\t0.0\t0.0\t0.0\t52.0\t2.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140461601T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140461601\t140461601\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t59\t51\t8\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATT\t.\t113\t\t\t\t\t\t\t\t\t\t\t\t\t140461601\t51.8\t2\t59\t2\t0.136\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140461601T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140461874\t140461874\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t36\t29\t7\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t84\t\t\t\t\t\t\t\t\t\t\t\t\t140461874\t29.7\t3\t36\t3\t0.194\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140461874T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140461874\t140461874\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t40\t33\t7\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140461874\t33.7\t3\t40\t3\t\t\t0/1\t./.\t0.0\t0.0\t7.0\t0.0\t0.0\t0.0\t33.0\t3.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140461874T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462152\t140462152\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t34\t26\t8\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t62\t\t\t\t\t\t\t\t\t\t\t\t\t140462152\t26.8\t1\t34\t1\t0.235\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140462152T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462152\t140462152\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t35\t25\t7\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140462152\t25.7\t1\t35\t1\t\t\t0/1\t./.\t0.0\t0.0\t7.0\t0.0\t0.0\t0.0\t25.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140462152T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462172\t140462172\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t45\t32\t13\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTG\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t140462172\t32.13\t1\t45\t1\t0.289\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140462172T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462172\t140462172\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t47\t33\t10\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140462172\t33.1\t1\t47\t1\t\t\t0/1\t./.\t0.0\t0.0\t10.0\t0.0\t0.0\t0.0\t33.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140462172T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462172\t140462172\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t45\t32\t13\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTG\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t140462172\t32.13\t1\t45\t1\t0.289\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140462172T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462211\t140462211\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t70\t67\t3\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t57\t\t\t\t\t\t\t\t\t\t\t\t\t140462211\t67.3\t1\t70\t1\t0.043\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140462211T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462211\t140462211\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t72\t67\t3\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140462211\t67.3\t1\t72\t1\t\t\t0/1\t./.\t1.0\t0.0\t3.0\t0.0\t0.0\t0.0\t67.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140462211T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462222\t140462222\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t79\t73\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTT\t.\t55\t\t\t\t\t\t\t\t\t\t\t\t\t140462222\t73.6\t1\t79\t1\t0.076\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140462222T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462222\t140462222\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t81\t75\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140462222\t75.6\t1\t81\t1\t\t\t0/1\t./.\t0.0\t0.0\t6.0\t0.0\t0.0\t0.0\t75.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140462222T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462242\t140462242\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t91\t86\t5\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t140462242\t86.5\t1\t91\t1\t0.055\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140462242T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462242\t140462242\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t96\t91\t5\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140462242\t91.5\t1\t96\t1\t\t\t0/1\t./.\t0.0\t0.0\t5.0\t0.0\t0.0\t0.0\t91.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140462242T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462261\t140462261\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t89\t79\t10\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTC\t.\t142\t\t\t\t\t\t\t\t\t\t\t\t\t140462261\t79.1\t0\t89\t0\t0.112\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140462261T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462261\t140462261\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t89\t79\t10\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140462261\t79.1\t0\t89\t0\t\t\t0/1\t./.\t0.0\t0.0\t10.0\t0.0\t0.0\t0.0\t79.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140462261T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462261\t140462261\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t89\t79\t10\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTC\t.\t142\t\t\t\t\t\t\t\t\t\t\t\t\t140462261\t79.1\t0\t89\t0\t0.112\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140462261T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462289\t140462289\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t75\t51\t24\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCAA\t.\t338\t\t\t\t\t\t\t\t\t\t\t\t\t140462289\t51.24\t0\t75\t0\t0.32\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140462289A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462289\t140462289\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t86\t60\t26\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCAA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140462289\t60.26\t0\t86\t0\t\t\t0/1\t./.\t60.0\t0.0\t0.0\t0.0\t26.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140462289A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462289\t140462289\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t75\t51\t24\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCAA\t.\t338\t\t\t\t\t\t\t\t\t\t\t\t\t140462289\t51.24\t0\t75\t0\t0.32\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140462289A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462672\t140462672\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t80\t54\t26\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tATA\t.\t394\t\t\t\t\t\t\t\t\t\t\t\t\t140462672\t54.26\t1\t80\t1\t0.325\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140462672T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462672\t140462672\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t88\t59\t28\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tATA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140462672\t59.28\t1\t88\t1\t\t\t0/1\t./.\t1.0\t0.0\t28.0\t0.0\t0.0\t0.0\t59.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140462672T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462672\t140462672\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t80\t54\t26\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tATA\t.\t394\t\t\t\t\t\t\t\t\t\t\t\t\t140462672\t54.26\t1\t80\t1\t0.325\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140462672T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462903\t140462903\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t71\t65\t6\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTT\t.\t80\t\t\t\t\t\t\t\t\t\t\t\t\t140462903\t65.6\t2\t71\t2\t0.085\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140462903T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462903\t140462903\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t74\t67\t6\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140462903\t67.6\t2\t74\t2\t\t\t0/1\t./.\t0.0\t0.0\t6.0\t0.0\t0.0\t0.0\t67.0\t2.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140462903T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462903\t140462903\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t71\t65\t6\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTT\t.\t80\t\t\t\t\t\t\t\t\t\t\t\t\t140462903\t65.6\t2\t71\t2\t0.085\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140462903T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462909\t140462909\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t74\t64\t10\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTG\t.\t58\t\t\t\t\t\t\t\t\t\t\t\t\t140462909\t64.1\t2\t74\t2\t0.135\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140462909T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462909\t140462909\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t74\t64\t9\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140462909\t64.9\t2\t74\t2\t\t\t0/1\t./.\t0.0\t0.0\t9.0\t0.0\t0.0\t0.0\t64.0\t2.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140462909T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462909\t140462909\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t74\t64\t10\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTG\t.\t58\t\t\t\t\t\t\t\t\t\t\t\t\t140462909\t64.1\t2\t74\t2\t0.135\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140462909T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463129\t140463129\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t64\t62\t2\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGT\t.\t50\t\t\t\t\t\t\t\t\t\t\t\t\t140463129\t62.2\t0\t64\t0\t0.031\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140463129G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463129\t140463129\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t65\t63\t2\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140463129\t63.2\t0\t65\t0\t\t\t0/1\t./.\t2.0\t0.0\t0.0\t0.0\t63.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140463129G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463129\t140463129\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t64\t62\t2\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGT\t.\t50\t\t\t\t\t\t\t\t\t\t\t\t\t140463129\t62.2\t0\t64\t0\t0.031\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140463129G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463556\t140463556\t+\tIGR\tSNP\tA\tA\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t40\t38\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAG\t.\t57\t\t\t\t\t\t\t\t\t\t\t\t\t140463556\t38.2\t1\t40\t1\t0.05\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140463556A>T\tTrue\tPASS\tA>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463556\t140463556\t+\tIGR\tSNP\tA\tA\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t37\t35\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCAG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140463556\t35.2\t1\t37\t1\t\t\t0/1\t./.\t35.0\t1.0\t0.0\t0.0\t0.0\t0.0\t2.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140463556A>T\tTrue\tPASS\tA>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463556\t140463556\t+\tIGR\tSNP\tA\tA\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t40\t38\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAG\t.\t57\t\t\t\t\t\t\t\t\t\t\t\t\t140463556\t38.2\t1\t40\t1\t0.05\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140463556A>T\tTrue\tPASS\tA>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463629\t140463629\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t48\t39\t9\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t78\t\t\t\t\t\t\t\t\t\t\t\t\t140463629\t39.9\t1\t48\t1\t0.188\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140463629T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463629\t140463629\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t37\t33\t4\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140463629\t33.4\t1\t37\t1\t\t\t0/1\t./.\t0.0\t0.0\t4.0\t0.0\t0.0\t0.0\t33.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140463629T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463629\t140463629\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t48\t39\t9\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t78\t\t\t\t\t\t\t\t\t\t\t\t\t140463629\t39.9\t1\t48\t1\t0.188\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140463629T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463641\t140463641\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t45\t39\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t140463641\t39.6\t1\t45\t1\t0.133\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140463641T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463641\t140463641\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t35\t31\t4\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140463641\t31.4\t1\t35\t1\t\t\t0/1\t./.\t0.0\t0.0\t4.0\t0.0\t0.0\t0.0\t31.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140463641T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463641\t140463641\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t45\t39\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t140463641\t39.6\t1\t45\t1\t0.133\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140463641T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463696\t140463696\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t31\t20\t11\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t130\t\t\t\t\t\t\t\t\t\t\t\t\t140463696\t20.11\t1\t31\t1\t0.355\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140463696T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463696\t140463696\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t27\t20\t7\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140463696\t20.7\t1\t27\t1\t\t\t0/1\t./.\t0.0\t0.0\t7.0\t0.0\t0.0\t0.0\t20.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140463696T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463718\t140463718\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t37\t28\t9\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t138\t\t\t\t\t\t\t\t\t\t\t\t\t140463718\t28.9\t1\t37\t1\t0.243\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140463718T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463718\t140463718\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t38\t29\t8\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140463718\t29.8\t1\t38\t1\t\t\t0/1\t./.\t0.0\t0.0\t8.0\t0.0\t0.0\t0.0\t29.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140463718T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463718\t140463718\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t37\t28\t9\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t138\t\t\t\t\t\t\t\t\t\t\t\t\t140463718\t28.9\t1\t37\t1\t0.243\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140463718T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463763\t140463763\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t35\t28\t7\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t81\t\t\t\t\t\t\t\t\t\t\t\t\t140463763\t28.7\t0\t35\t0\t0.2\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140463763T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463763\t140463763\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t36\t29\t7\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140463763\t29.7\t0\t36\t0\t\t\t0/1\t./.\t0.0\t0.0\t7.0\t0.0\t0.0\t0.0\t29.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140463763T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463763\t140463763\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t35\t28\t7\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t81\t\t\t\t\t\t\t\t\t\t\t\t\t140463763\t28.7\t0\t35\t0\t0.2\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140463763T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463948\t140463949\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t20\t16\t4\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTGT\t.\t82\t\t\t\t\t\t\t\t\t\t\t\t\t140463948\t16.4\t3\t20\t3\t0.2\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140463948->T\tTrue\tPASS\t->T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463948\t140463949\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t21\t16\t4\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tLowEVS\tTGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140463948\t16.4\t3\t21\t3\t\t\t0/1\t./.\t\t\t\t\t\t\t\t\t16.16\t3.3\t4.4\t0.0\t1.1\t0.0\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140463948->T\tTrue\tPASS\t->T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463948\t140463949\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t20\t16\t4\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTGT\t.\t82\t\t\t\t\t\t\t\t\t\t\t\t\t140463948\t16.4\t3\t20\t3\t0.2\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140463948->T\tTrue\tPASS\t->T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464097\t140464097\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t27\t22\t5\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTT\t.\t66\t\t\t\t\t\t\t\t\t\t\t\t\t140464097\t22.5\t3\t27\t3\t0.185\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464097T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464097\t140464097\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t26\t19\t3\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140464097\t19.3\t3\t26\t3\t\t\t0/1\t./.\t0.0\t0.0\t3.0\t0.0\t0.0\t0.0\t19.0\t3.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464097T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464097\t140464097\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t27\t22\t5\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTT\t.\t66\t\t\t\t\t\t\t\t\t\t\t\t\t140464097\t22.5\t3\t27\t3\t0.185\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464097T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464195\t140464195\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t14\t6\t8\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATA\t.\t71\t\t\t\t\t\t\t\t\t\t\t\t\t140464195\t6.8\t4\t14\t4\t0.571\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464195T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464195\t140464195\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t14\t6\t5\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tATA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140464195\t6.5\t4\t14\t4\t\t\t0/1\t./.\t0.0\t0.0\t5.0\t0.0\t0.0\t0.0\t6.0\t4.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464195T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464220\t140464220\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t16\t10\t5\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCCC\t.\t85\t\t\t\t\t\t\t\t\t\t\t\t\t140464220\t10.5\t2\t16\t2\t0.313\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464220C>T\tFalse\trealignment\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464220\t140464220\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t15\t9\t4\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCCC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140464220\t9.4\t2\t15\t2\t\t\t0/1\t./.\t0.0\t0.0\t9.0\t2.0\t0.0\t0.0\t4.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464220C>T\tFalse\trealignment\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464321\t140464321\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t38\t21\t17\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTT\t.\t214\t\t\t\t\t\t\t\t\t\t\t\t\t140464321\t21.17\t2\t38\t2\t0.447\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|sage|strelka\tminGermlineDepth|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464321T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464321\t140464321\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t43\t21\t22\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t142\t\t\t\t\t\t\t\t\t\t\t\t\t140464321\t21.22\t2\t43\t2\t0.512\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|sage|strelka\tminGermlineDepth|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464321T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464321\t140464321\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t37\t20\t17\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140464321\t20.17\t3\t37\t3\t\t\t0/1\t./.\t0.0\t0.0\t17.0\t0.0\t0.0\t0.0\t20.0\t3.0\t\t\t\t\t\t\tstrelka\tsage|sage|strelka\tminGermlineDepth|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464321T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464321\t140464321\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t38\t21\t17\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTT\t.\t214\t\t\t\t\t\t\t\t\t\t\t\t\t140464321\t21.17\t2\t38\t2\t0.447\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|sage|strelka\tminGermlineDepth|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464321T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464322\t140464322\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t43\t33\t10\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t108\t\t\t\t\t\t\t\t\t\t\t\t\t140464322\t33.1\t2\t43\t2\t0.233\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464322T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464322\t140464322\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t38\t33\t5\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140464322\t33.5\t2\t38\t2\t\t\t0/1\t./.\t0.0\t0.0\t5.0\t0.0\t0.0\t0.0\t33.0\t2.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464322T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464322\t140464322\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t43\t33\t10\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t108\t\t\t\t\t\t\t\t\t\t\t\t\t140464322\t33.1\t2\t43\t2\t0.233\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464322T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464537\t140464537\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t33\t28\t5\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t50\t\t\t\t\t\t\t\t\t\t\t\t\t140464537\t28.5\t2\t33\t2\t0.152\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464537T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464537\t140464537\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t34\t29\t5\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140464537\t29.5\t2\t34\t2\t\t\t0/1\t./.\t0.0\t0.0\t5.0\t0.0\t0.0\t0.0\t29.0\t2.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464537T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464537\t140464537\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t33\t28\t5\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t50\t\t\t\t\t\t\t\t\t\t\t\t\t140464537\t28.5\t2\t33\t2\t0.152\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464537T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464583\t140464583\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t42\t28\t14\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t69\t\t\t\t\t\t\t\t\t\t\t\t\t140464583\t28.14\t2\t42\t2\t0.333\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464583T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464583\t140464583\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t43\t29\t13\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140464583\t29.13\t2\t43\t2\t\t\t0/1\t./.\t0.0\t0.0\t13.0\t0.0\t0.0\t0.0\t29.0\t2.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464583T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464583\t140464583\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t42\t28\t14\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t69\t\t\t\t\t\t\t\t\t\t\t\t\t140464583\t28.14\t2\t42\t2\t0.333\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464583T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464588\t140464588\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t39\t31\t8\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTC\t.\t54\t\t\t\t\t\t\t\t\t\t\t\t\t140464588\t31.8\t2\t39\t2\t0.205\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464588T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464588\t140464588\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t39\t31\t7\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140464588\t31.7\t2\t39\t2\t\t\t0/1\t./.\t0.0\t0.0\t7.0\t0.0\t0.0\t0.0\t31.0\t2.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464588T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464861\t140464861\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t19\t3\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATT\t.\t64\t\t\t\t\t\t\t\t\t\t\t\t\t140464861\t19.3\t4\t22\t4\t0.136\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464861T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464861\t140464861\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24\t21\t3\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tATT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140464861\t21.3\t4\t24\t4\t\t\t0/1\t./.\t0.0\t0.0\t3.0\t0.0\t0.0\t0.0\t21.0\t4.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464861T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464861\t140464861\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t19\t3\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATT\t.\t64\t\t\t\t\t\t\t\t\t\t\t\t\t140464861\t19.3\t4\t22\t4\t0.136\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464861T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464893\t140464893\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t29\t19\t10\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTG\t.\t97\t\t\t\t\t\t\t\t\t\t\t\t\t140464893\t19.1\t3\t29\t3\t0.345\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464893T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464893\t140464893\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t30\t20\t10\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140464893\t20.1\t3\t30\t3\t\t\t0/1\t./.\t0.0\t0.0\t10.0\t0.0\t0.0\t0.0\t20.0\t3.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464893T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464893\t140464893\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t29\t19\t10\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTG\t.\t97\t\t\t\t\t\t\t\t\t\t\t\t\t140464893\t19.1\t3\t29\t3\t0.345\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464893T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464929\t140464929\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t34\t20\t14\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t128\t\t\t\t\t\t\t\t\t\t\t\t\t140464929\t20.14\t1\t34\t1\t0.412\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464929T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464929\t140464929\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t34\t20\t14\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140464929\t20.14\t3\t34\t3\t\t\t0/1\t./.\t0.0\t0.0\t14.0\t0.0\t0.0\t0.0\t20.0\t3.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464929T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464929\t140464929\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t34\t20\t14\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t128\t\t\t\t\t\t\t\t\t\t\t\t\t140464929\t20.14\t1\t34\t1\t0.412\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464929T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464999\t140464999\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t48\t43\t5\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTT\t.\t61\t\t\t\t\t\t\t\t\t\t\t\t\t140464999\t43.5\t2\t48\t2\t0.104\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464999T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464999\t140464999\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t51\t46\t5\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140464999\t46.5\t2\t51\t2\t\t\t0/1\t./.\t0.0\t0.0\t5.0\t0.0\t0.0\t0.0\t46.0\t2.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464999T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140465241\t140465241\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t57\t51\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t87\t\t\t\t\t\t\t\t\t\t\t\t\t140465241\t51.6\t1\t57\t1\t0.105\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140465241T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140465241\t140465241\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t61\t56\t5\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140465241\t56.5\t1\t61\t1\t\t\t0/1\t./.\t0.0\t0.0\t5.0\t0.0\t0.0\t0.0\t56.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140465241T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140465241\t140465241\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t57\t51\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t87\t\t\t\t\t\t\t\t\t\t\t\t\t140465241\t51.6\t1\t57\t1\t0.105\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140465241T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140465311\t140465311\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t64\t59\t5\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t140465311\t59.5\t1\t64\t1\t0.078\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140465311T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140465311\t140465311\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t64\t60\t3\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140465311\t60.3\t1\t64\t1\t\t\t0/1\t./.\t0.0\t0.0\t3.0\t0.0\t0.0\t0.0\t60.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140465311T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140465319\t140465319\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t49\t47\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTG\t.\t52\t\t\t\t\t\t\t\t\t\t\t\t\t140465319\t47.2\t1\t49\t1\t0.041\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140465319T>A\tFalse\trealignment\tT>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140465319\t140465319\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t56\t54\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140465319\t54.2\t1\t56\t1\t\t\t0/1\t./.\t2.0\t0.0\t0.0\t0.0\t0.0\t0.0\t54.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140465319T>A\tFalse\trealignment\tT>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140465388\t140465388\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t49\t41\t8\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t83\t\t\t\t\t\t\t\t\t\t\t\t\t140465388\t41.8\t1\t49\t1\t0.163\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140465388T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140465388\t140465388\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t52\t46\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140465388\t46.6\t1\t52\t1\t\t\t0/1\t./.\t0.0\t0.0\t6.0\t0.0\t0.0\t0.0\t46.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140465388T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140465388\t140465388\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t49\t41\t8\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t83\t\t\t\t\t\t\t\t\t\t\t\t\t140465388\t41.8\t1\t49\t1\t0.163\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140465388T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140465405\t140465405\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t68\t55\t13\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTG\t.\t211\t\t\t\t\t\t\t\t\t\t\t\t\t140465405\t55.13\t1\t68\t1\t0.191\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140465405T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140465405\t140465405\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t68\t55\t13\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140465405\t55.13\t1\t68\t1\t\t\t0/1\t./.\t0.0\t0.0\t13.0\t0.0\t0.0\t0.0\t55.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140465405T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140465405\t140465405\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t68\t55\t13\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTG\t.\t211\t\t\t\t\t\t\t\t\t\t\t\t\t140465405\t55.13\t1\t68\t1\t0.191\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140465405T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140465442\t140465442\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t100\t77\t23\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTA\t.\t297\t\t\t\t\t\t\t\t\t\t\t\t\t140465442\t77.23\t1\t100\t1\t0.23\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140465442T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140465442\t140465442\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t98\t75\t21\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140465442\t75.21\t1\t98\t1\t\t\t0/1\t./.\t0.0\t0.0\t21.0\t0.0\t0.0\t0.0\t75.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140465442T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140465442\t140465442\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t100\t77\t23\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTA\t.\t297\t\t\t\t\t\t\t\t\t\t\t\t\t140465442\t77.23\t1\t100\t1\t0.23\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140465442T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140465908\t140465908\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t27\t17\t10\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t98\t\t\t\t\t\t\t\t\t\t\t\t\t140465908\t17.1\t1\t27\t1\t0.37\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140465908T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140465908\t140465908\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t31\t20\t11\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140465908\t20.11\t1\t31\t1\t\t\t0/1\t./.\t0.0\t0.0\t11.0\t0.0\t0.0\t0.0\t20.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140465908T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140465908\t140465908\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t27\t17\t10\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t98\t\t\t\t\t\t\t\t\t\t\t\t\t140465908\t17.1\t1\t27\t1\t0.37\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140465908T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140466098\t140466098\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t39\t31\t8\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATA\t.\t138\t\t\t\t\t\t\t\t\t\t\t\t\t140466098\t31.8\t0\t39\t0\t0.205\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140466098T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140466098\t140466098\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t40\t32\t8\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tATA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140466098\t32.8\t0\t40\t0\t\t\t0/1\t./.\t0.0\t0.0\t8.0\t0.0\t0.0\t0.0\t32.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140466098T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140466098\t140466098\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t39\t31\t8\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATA\t.\t138\t\t\t\t\t\t\t\t\t\t\t\t\t140466098\t31.8\t0\t39\t0\t0.205\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140466098T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140466692\t140466692\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t15\t12\t3\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t140466692\t12.3\t0\t15\t0\t0.2\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140466692T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140466692\t140466692\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t15\t11\t3\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140466692\t11.3\t0\t15\t0\t\t\t0/1\t./.\t0.0\t0.0\t3.0\t0.0\t0.0\t0.0\t11.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140466692T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140467246\t140467246\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t15\t11\t4\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATT\t.\t53\t\t\t\t\t\t\t\t\t\t\t\t\t140467246\t11.4\t2\t15\t2\t0.267\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140467246T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140467246\t140467246\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t16\t12\t4\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tATT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140467246\t12.4\t2\t16\t2\t\t\t0/1\t./.\t0.0\t0.0\t4.0\t0.0\t0.0\t0.0\t12.0\t2.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140467246T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140467247\t140467247\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t15\t11\t4\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTA\t.\t54\t\t\t\t\t\t\t\t\t\t\t\t\t140467247\t11.4\t2\t15\t2\t0.267\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140467247T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140467247\t140467247\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t17\t13\t4\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140467247\t13.4\t2\t17\t2\t\t\t0/1\t./.\t0.0\t0.0\t4.0\t0.0\t0.0\t0.0\t13.0\t2.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140467247T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140467348\t140467348\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t40\t28\t12\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTT\t.\t136\t\t\t\t\t\t\t\t\t\t\t\t\t140467348\t28.12\t0\t40\t0\t0.3\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140467348T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140467348\t140467348\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t38\t26\t11\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140467348\t26.11\t0\t38\t0\t\t\t0/1\t./.\t0.0\t0.0\t11.0\t0.0\t0.0\t0.0\t26.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140467348T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140467348\t140467348\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t40\t28\t12\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTT\t.\t136\t\t\t\t\t\t\t\t\t\t\t\t\t140467348\t28.12\t0\t40\t0\t0.3\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140467348T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140467558\t140467558\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t52\t34\t17\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTA\t.\t284\t\t\t\t\t\t\t\t\t\t\t\t\t140467558\t34.17\t0\t52\t0\t0.327\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140467558T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140467558\t140467558\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t53\t35\t17\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140467558\t35.17\t0\t53\t0\t\t\t0/1\t./.\t1.0\t0.0\t17.0\t0.0\t0.0\t0.0\t35.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140467558T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140467558\t140467558\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t52\t34\t17\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTA\t.\t284\t\t\t\t\t\t\t\t\t\t\t\t\t140467558\t34.17\t0\t52\t0\t0.327\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140467558T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140468358\t140468358\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t90\t63\t27\t5\t3\t2\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tmaxGermlineRelRawBaseQual;maxGermlineVAF;minGermlineDepth\tGTG\t.\t432\t\t\t\t\t\t\t\t\t\t\t\t\t140468358\t63.27\t3.2\t90\t5\t0.3\t0.4\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tmaxGermlineRelRawBaseQual;maxGermlineVAF;minGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140468358T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140468358\t140468358\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t91\t64\t27\t5\t3\t2\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140468358\t64.27\t3.2\t91\t5\t\t\t0/1\t./.\t0.0\t0.0\t27.0\t2.0\t0.0\t0.0\t64.0\t3.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tmaxGermlineRelRawBaseQual;maxGermlineVAF;minGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140468358T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140468358\t140468358\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t90\t63\t27\t5\t3\t2\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tmaxGermlineRelRawBaseQual;maxGermlineVAF;minGermlineDepth\tGTG\t.\t432\t\t\t\t\t\t\t\t\t\t\t\t\t140468358\t63.27\t3.2\t90\t5\t0.3\t0.4\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tmaxGermlineRelRawBaseQual;maxGermlineVAF;minGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140468358T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140468848\t140468848\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t48\t46\t2\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGA\t.\t54\t\t\t\t\t\t\t\t\t\t\t\t\t140468848\t46.2\t0\t48\t0\t0.042\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140468848G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140468848\t140468848\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t50\t48\t2\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140468848\t48.2\t0\t50\t0\t\t\t0/1\t./.\t0.0\t0.0\t0.0\t0.0\t48.0\t0.0\t2.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140468848G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140468848\t140468848\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t48\t46\t2\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGA\t.\t54\t\t\t\t\t\t\t\t\t\t\t\t\t140468848\t46.2\t0\t48\t0\t0.042\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140468848G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140469137\t140469137\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t29\t17\t12\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t158\t\t\t\t\t\t\t\t\t\t\t\t\t140469137\t17.12\t2\t29\t2\t0.414\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140469137T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140469137\t140469137\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t27\t16\t11\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140469137\t16.11\t2\t27\t2\t\t\t0/1\t./.\t0.0\t0.0\t11.0\t0.0\t0.0\t0.0\t16.0\t2.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140469137T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140469137\t140469137\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t29\t17\t12\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t158\t\t\t\t\t\t\t\t\t\t\t\t\t140469137\t17.12\t2\t29\t2\t0.414\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140469137T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140469696\t140469696\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t34\t28\t6\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t64\t\t\t\t\t\t\t\t\t\t\t\t\t140469696\t28.6\t2\t34\t2\t0.176\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140469696T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140469696\t140469696\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t37\t31\t5\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140469696\t31.5\t2\t37\t2\t\t\t0/1\t./.\t0.0\t0.0\t5.0\t0.0\t0.0\t0.0\t31.0\t2.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140469696T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140469696\t140469696\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t34\t28\t6\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t64\t\t\t\t\t\t\t\t\t\t\t\t\t140469696\t28.6\t2\t34\t2\t0.176\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140469696T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140469796\t140469796\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t44\t36\t8\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATG\t.\t112\t\t\t\t\t\t\t\t\t\t\t\t\t140469796\t36.8\t5\t44\t5\t0.182\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140469796T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140469796\t140469796\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t44\t36\t8\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tATG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140469796\t36.8\t4\t44\t4\t\t\t0/1\t./.\t0.0\t0.0\t8.0\t0.0\t0.0\t0.0\t36.0\t4.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140469796T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140469796\t140469796\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t44\t36\t8\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATG\t.\t112\t\t\t\t\t\t\t\t\t\t\t\t\t140469796\t36.8\t5\t44\t5\t0.182\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140469796T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140469814\t140469814\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t43\t38\t5\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t98\t\t\t\t\t\t\t\t\t\t\t\t\t140469814\t38.5\t5\t43\t5\t0.116\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140469814T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140469814\t140469814\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t44\t39\t5\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140469814\t39.5\t5\t44\t5\t\t\t0/1\t./.\t0.0\t0.0\t5.0\t0.0\t0.0\t0.0\t39.0\t5.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140469814T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140469814\t140469814\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t43\t38\t5\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t98\t\t\t\t\t\t\t\t\t\t\t\t\t140469814\t38.5\t5\t43\t5\t0.116\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140469814T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140469929\t140469929\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t43\t14\t29\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tATC\t.\t422\t\t\t\t\t\t\t\t\t\t\t\t\t140469929\t14.29\t1\t43\t1\t0.674\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140469929T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140469929\t140469929\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t45\t16\t27\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tATC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140469929\t16.27\t1\t45\t1\t\t\t0/1\t./.\t0.0\t0.0\t27.0\t0.0\t0.0\t0.0\t16.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140469929T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140469929\t140469929\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t43\t14\t29\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tATC\t.\t422\t\t\t\t\t\t\t\t\t\t\t\t\t140469929\t14.29\t1\t43\t1\t0.674\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140469929T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140469965\t140469965\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t47\t43\t4\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t52\t\t\t\t\t\t\t\t\t\t\t\t\t140469965\t43.4\t1\t47\t1\t0.085\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140469965T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140469965\t140469965\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t47\t43\t4\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140469965\t43.4\t1\t47\t1\t\t\t0/1\t./.\t0.0\t0.0\t4.0\t0.0\t0.0\t0.0\t43.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140469965T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140470105\t140470105\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t61\t51\t10\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t86\t\t\t\t\t\t\t\t\t\t\t\t\t140470105\t51.1\t5\t61\t5\t0.164\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140470105T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140470105\t140470105\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t62\t50\t10\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140470105\t50.1\t5\t62\t5\t\t\t0/1\t./.\t0.0\t0.0\t10.0\t0.0\t0.0\t0.0\t50.0\t5.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140470105T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140470105\t140470105\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t61\t51\t10\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t86\t\t\t\t\t\t\t\t\t\t\t\t\t140470105\t51.1\t5\t61\t5\t0.164\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140470105T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140471608\t140471608\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t19\t15\t4\t6\t6\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTA\t.\t73\t\t\t\t\t\t\t\t\t\t\t\t\t140471608\t15.4\t6\t19\t6\t0.211\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140471608T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140471608\t140471608\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t19\t15\t4\t6\t6\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140471608\t15.4\t6\t19\t6\t\t\t0/1\t./.\t0.0\t0.0\t4.0\t0.0\t0.0\t0.0\t15.0\t6.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140471608T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140471608\t140471608\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t19\t15\t4\t6\t6\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTA\t.\t73\t\t\t\t\t\t\t\t\t\t\t\t\t140471608\t15.4\t6\t19\t6\t0.211\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140471608T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140471673\t140471673\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t25\t13\t12\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTT\t.\t182\t\t\t\t\t\t\t\t\t\t\t\t\t140471673\t13.12\t5\t25\t5\t0.48\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140471673T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140471673\t140471673\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24\t13\t11\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140471673\t13.11\t5\t24\t5\t\t\t0/1\t./.\t0.0\t0.0\t11.0\t0.0\t0.0\t0.0\t13.0\t5.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140471673T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140471673\t140471673\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t25\t13\t12\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTT\t.\t182\t\t\t\t\t\t\t\t\t\t\t\t\t140471673\t13.12\t5\t25\t5\t0.48\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140471673T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140473302\t140473302\t+\tIGR\tSNP\tT\tT\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t8\t5\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTC\t.\t75\t\t\t\t\t\t\t\t\t\t\t\t\t140473302\t8.5\t3\t13\t3\t0.385\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140473302T>G\tTrue\tPASS\tT>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140473302\t140473302\t+\tIGR\tSNP\tT\tT\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t8\t5\t4\t4\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTTC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140473302\t8.5\t4\t13\t4\t\t\t0/1\t./.\t0.0\t0.0\t0.0\t0.0\t5.0\t0.0\t8.0\t4.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140473302T>G\tTrue\tPASS\tT>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140473302\t140473302\t+\tIGR\tSNP\tT\tT\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t8\t5\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTC\t.\t75\t\t\t\t\t\t\t\t\t\t\t\t\t140473302\t8.5\t3\t13\t3\t0.385\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140473302T>G\tTrue\tPASS\tT>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140475588\t140475588\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t10\t12\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t60\t\t\t\t\t\t\t\t\t\t\t\t\t140475588\t10.12\t3\t22\t3\t0.545\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140475588T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140475588\t140475588\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t23\t10\t11\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140475588\t10.11\t3\t23\t3\t\t\t0/1\t./.\t0.0\t0.0\t11.0\t0.0\t0.0\t0.0\t10.0\t3.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140475588T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140475595\t140475595\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t15\t7\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTG\t.\t78\t\t\t\t\t\t\t\t\t\t\t\t\t140475595\t15.7\t3\t22\t3\t0.318\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140475595T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140475595\t140475595\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t23\t16\t6\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140475595\t16.6\t3\t23\t3\t\t\t0/1\t./.\t0.0\t0.0\t6.0\t0.0\t0.0\t0.0\t16.0\t3.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140475595T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140475602\t140475602\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t12\t10\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t90\t\t\t\t\t\t\t\t\t\t\t\t\t140475602\t12.1\t3\t22\t3\t0.455\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140475602T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140475602\t140475602\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t23\t13\t9\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140475602\t13.9\t3\t23\t3\t\t\t0/1\t./.\t0.0\t0.0\t9.0\t0.0\t0.0\t0.0\t13.0\t3.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140475602T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140477038\t140477038\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t16\t12\t4\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTG\t.\t81\t\t\t\t\t\t\t\t\t\t\t\t\t140477038\t12.4\t3\t16\t3\t0.25\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140477038T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140477038\t140477038\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t15\t10\t4\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140477038\t10.4\t3\t15\t3\t\t\t0/1\t./.\t0.0\t0.0\t4.0\t0.0\t0.0\t0.0\t10.0\t3.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140477038T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140482602\t140482602\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t9\t4\t5\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAA\t.\t87\t\t\t\t\t\t\t\t\t\t\t\t\t140482602\t4.5\t3\t9\t3\t0.556\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140482602A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140482602\t140482602\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t9\t4\t5\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tAAA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140482602\t4.5\t3\t9\t3\t\t\t0/1\t./.\t4.0\t3.0\t0.0\t0.0\t5.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140482602A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140482602\t140482602\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t9\t4\t5\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAA\t.\t87\t\t\t\t\t\t\t\t\t\t\t\t\t140482602\t4.5\t3\t9\t3\t0.556\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140482602A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140483770\t140483770\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t14\t4\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAG\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t140483770\t14.4\t0\t18\t0\t0.222\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140483770A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140483770\t140483770\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t14\t4\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCAG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140483770\t14.4\t0\t18\t0\t\t\t0/1\t./.\t14.0\t0.0\t0.0\t0.0\t4.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140483770A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140483770\t140483770\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t14\t4\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAG\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t140483770\t14.4\t0\t18\t0\t0.222\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140483770A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140627464\t140627464\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t1\t4\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t60\t\t\t\t\t\t\t\t\t\t\t\t\t140627464\t1.4\t1\t5\t1\t0.8\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140627464T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140627464\t140627464\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t1\t4\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140627464\t1.4\t1\t5\t1\t\t\t1/1\t./.\t0.0\t0.0\t4.0\t0.0\t0.0\t0.0\t1.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140627464T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140627464\t140627464\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t1\t4\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t60\t\t\t\t\t\t\t\t\t\t\t\t\t140627464\t1.4\t1\t5\t1\t0.8\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140627464T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140693790\t140693790\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t62\t58\t4\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAG\t.\t68\t\t\t\t\t\t\t\t\t\t\t\t\t140693790\t58.4\t1\t62\t1\t0.065\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140693790A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140693790\t140693790\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t62\t58\t4\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAAG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140693790\t58.4\t1\t62\t1\t\t\t0/1\t./.\t58.0\t1.0\t0.0\t0.0\t4.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140693790A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140693790\t140693790\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t62\t58\t4\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAG\t.\t68\t\t\t\t\t\t\t\t\t\t\t\t\t140693790\t58.4\t1\t62\t1\t0.065\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140693790A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140694204\t140694204\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24\t17\t7\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAG\t.\t75\t\t\t\t\t\t\t\t\t\t\t\t\t140694204\t17.7\t1\t24\t1\t0.292\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140694204A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140694204\t140694204\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t26\t19\t7\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAAG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140694204\t19.7\t1\t26\t1\t\t\t0/1\t./.\t19.0\t1.0\t0.0\t0.0\t7.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140694204A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140694204\t140694204\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24\t17\t7\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAG\t.\t75\t\t\t\t\t\t\t\t\t\t\t\t\t140694204\t17.7\t1\t24\t1\t0.292\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140694204A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140697866\t140697866\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t56\t46\t10\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tAAC\t.\t163\t\t\t\t\t\t\t\t\t\t\t\t\t140697866\t46.1\t0\t56\t0\t0.179\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140697866A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140697866\t140697866\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t57\t46\t10\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAAC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140697866\t46.1\t0\t57\t0\t\t\t0/1\t./.\t46.0\t0.0\t0.0\t0.0\t10.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140697866A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140697866\t140697866\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t56\t46\t10\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tAAC\t.\t163\t\t\t\t\t\t\t\t\t\t\t\t\t140697866\t46.1\t0\t56\t0\t0.179\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140697866A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140697921\t140697921\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t56\t48\t8\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTAA\t.\t98\t\t\t\t\t\t\t\t\t\t\t\t\t140697921\t48.8\t0\t56\t0\t0.143\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140697921A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140697921\t140697921\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t58\t50\t8\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTAA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140697921\t50.8\t0\t58\t0\t\t\t0/1\t./.\t50.0\t0.0\t0.0\t0.0\t8.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140697921A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140697921\t140697921\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t56\t48\t8\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTAA\t.\t98\t\t\t\t\t\t\t\t\t\t\t\t\t140697921\t48.8\t0\t56\t0\t0.143\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140697921A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140697935\t140697935\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t49\t45\t4\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAG\t.\t62\t\t\t\t\t\t\t\t\t\t\t\t\t140697935\t45.4\t0\t49\t0\t0.082\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140697935A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140697935\t140697935\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t56\t53\t3\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAAG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140697935\t53.3\t0\t56\t0\t\t\t0/1\t./.\t53.0\t0.0\t0.0\t0.0\t3.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140697935A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140697935\t140697935\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t49\t45\t4\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAG\t.\t62\t\t\t\t\t\t\t\t\t\t\t\t\t140697935\t45.4\t0\t49\t0\t0.082\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140697935A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140697987\t140697987\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t88\t83\t5\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t76\t\t\t\t\t\t\t\t\t\t\t\t\t140697987\t83.5\t2\t88\t2\t0.057\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140697987T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140697987\t140697987\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t87\t82\t5\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140697987\t82.5\t2\t87\t2\t\t\t0/1\t./.\t0.0\t0.0\t5.0\t0.0\t0.0\t0.0\t82.0\t2.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140697987T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140697987\t140697987\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t88\t83\t5\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t76\t\t\t\t\t\t\t\t\t\t\t\t\t140697987\t83.5\t2\t88\t2\t0.057\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140697987T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140699078\t140699078\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t20\t16\t4\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGAG\t.\t52\t\t\t\t\t\t\t\t\t\t\t\t\t140699078\t16.4\t2\t20\t2\t0.2\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140699078A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140699078\t140699078\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t20\t16\t4\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGAG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140699078\t16.4\t3\t20\t3\t\t\t0/1\t./.\t16.0\t3.0\t0.0\t0.0\t4.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140699078A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140699078\t140699078\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t20\t16\t4\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGAG\t.\t52\t\t\t\t\t\t\t\t\t\t\t\t\t140699078\t16.4\t2\t20\t2\t0.2\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140699078A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140700149\t140700149\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t73\t69\t4\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t52\t\t\t\t\t\t\t\t\t\t\t\t\t140700149\t69.4\t1\t73\t1\t0.055\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140700149A>G\tFalse\trealignment\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140700149\t140700149\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t74\t70\t4\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140700149\t70.4\t1\t74\t1\t\t\t0/1\t./.\t70.0\t1.0\t0.0\t0.0\t4.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140700149A>G\tFalse\trealignment\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140700180\t140700180\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t51\t45\t6\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t118\t\t\t\t\t\t\t\t\t\t\t\t\t140700180\t45.6\t1\t51\t1\t0.118\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140700180A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140700180\t140700180\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t57\t51\t6\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140700180\t51.6\t1\t57\t1\t\t\t0/1\t./.\t51.0\t1.0\t0.0\t0.0\t6.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140700180A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140700180\t140700180\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t51\t45\t6\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t118\t\t\t\t\t\t\t\t\t\t\t\t\t140700180\t45.6\t1\t51\t1\t0.118\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140700180A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140700193\t140700193\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t39\t25\t14\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAG\t.\t125\t\t\t\t\t\t\t\t\t\t\t\t\t140700193\t25.14\t1\t39\t1\t0.359\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140700193A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140700193\t140700193\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t43\t29\t13\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCAG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140700193\t29.13\t1\t43\t1\t\t\t0/1\t./.\t29.0\t1.0\t0.0\t0.0\t13.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140700193A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140700193\t140700193\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t39\t25\t14\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAG\t.\t125\t\t\t\t\t\t\t\t\t\t\t\t\t140700193\t25.14\t1\t39\t1\t0.359\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140700193A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140700201\t140700201\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t37\t25\t12\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAC\t.\t151\t\t\t\t\t\t\t\t\t\t\t\t\t140700201\t25.12\t1\t37\t1\t0.324\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140700201A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140700201\t140700201\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t37\t25\t12\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCAC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140700201\t25.12\t1\t37\t1\t\t\t0/1\t./.\t25.0\t1.0\t0.0\t0.0\t12.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140700201A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140700201\t140700201\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t37\t25\t12\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAC\t.\t151\t\t\t\t\t\t\t\t\t\t\t\t\t140700201\t25.12\t1\t37\t1\t0.324\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140700201A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140700223\t140700223\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t9\t4\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAA\t.\t79\t\t\t\t\t\t\t\t\t\t\t\t\t140700223\t9.4\t1\t13\t1\t0.308\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140700223A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140700223\t140700223\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t9\t4\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCAA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140700223\t9.4\t1\t13\t1\t\t\t0/1\t./.\t9.0\t1.0\t0.0\t0.0\t4.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140700223A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140700223\t140700223\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t9\t4\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAA\t.\t79\t\t\t\t\t\t\t\t\t\t\t\t\t140700223\t9.4\t1\t13\t1\t0.308\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140700223A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140701589\t140701589\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t78\t75\t3\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTAA\t.\t53\t\t\t\t\t\t\t\t\t\t\t\t\t140701589\t75.3\t1\t78\t1\t0.038\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140701589A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140701589\t140701589\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t83\t78\t3\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTAA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140701589\t78.3\t1\t83\t1\t\t\t0/1\t./.\t78.0\t1.0\t0.0\t0.0\t3.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140701589A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140701589\t140701589\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t78\t75\t3\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTAA\t.\t53\t\t\t\t\t\t\t\t\t\t\t\t\t140701589\t75.3\t1\t78\t1\t0.038\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140701589A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140701590\t140701590\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t78\t69\t9\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAG\t.\t65\t\t\t\t\t\t\t\t\t\t\t\t\t140701590\t69.9\t1\t78\t1\t0.115\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140701590A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140701590\t140701590\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t82\t71\t9\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAAG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140701590\t71.9\t1\t82\t1\t\t\t0/1\t./.\t71.0\t1.0\t0.0\t0.0\t9.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140701590A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140701590\t140701590\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t78\t69\t9\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAG\t.\t65\t\t\t\t\t\t\t\t\t\t\t\t\t140701590\t69.9\t1\t78\t1\t0.115\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140701590A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140724780\t140724780\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t151\t90\t61\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tPASS\tCTT\t.\t937\t\t\t\t\t\t\t\t\t\t\t\t\t140724780\t90.61\t0\t151\t0\t0.404\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tPASS|LowDepth;LowEVS\tPASS\tTrue\tchr7:g.140724780T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140724780\t140724780\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t157\t96\t61\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140724780\t96.61\t0\t157\t0\t\t\t0/1\t./.\t0.0\t0.0\t61.0\t0.0\t0.0\t0.0\t96.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tPASS|LowDepth;LowEVS\tPASS\tTrue\tchr7:g.140724780T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140724780\t140724780\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t151\t90\t61\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tPASS\tCTT\t.\t937\t\t\t\t\t\t\t\t\t\t\t\t\t140724780\t90.61\t0\t151\t0\t0.404\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tPASS|LowDepth;LowEVS\tPASS\tTrue\tchr7:g.140724780T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140729191\t140729191\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24\t20\t4\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t62\t\t\t\t\t\t\t\t\t\t\t\t\t140729191\t20.4\t0\t24\t0\t0.167\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140729191T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140729191\t140729191\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t19\t3\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140729191\t19.3\t0\t22\t0\t\t\t0/1\t./.\t0.0\t0.0\t3.0\t0.0\t0.0\t0.0\t19.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140729191T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140729191\t140729191\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24\t20\t4\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t62\t\t\t\t\t\t\t\t\t\t\t\t\t140729191\t20.4\t0\t24\t0\t0.167\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140729191T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140731259\t140731259\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t20\t15\t5\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t50\t\t\t\t\t\t\t\t\t\t\t\t\t140731259\t15.5\t2\t20\t2\t0.25\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140731259T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140731259\t140731259\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t21\t16\t4\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140731259\t16.4\t2\t21\t2\t\t\t0/1\t./.\t0.0\t0.0\t4.0\t0.0\t0.0\t0.0\t16.0\t2.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140731259T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140790274\t140790274\t+\tIGR\tSNP\tA\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t1\t6\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAC\t.\t86\t\t\t\t\t\t\t\t\t\t\t\t\t140790274\t1.6\t2\t7\t2\t0.857\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140790274A>C\tTrue\tPASS\tA>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140790274\t140790274\t+\tIGR\tSNP\tA\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t1\t5\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tAAC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140790274\t1.5\t2\t7\t2\t\t\t1/1\t./.\t1.0\t2.0\t5.0\t0.0\t0.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140790274A>C\tTrue\tPASS\tA>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140790274\t140790274\t+\tIGR\tSNP\tA\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t1\t6\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAC\t.\t86\t\t\t\t\t\t\t\t\t\t\t\t\t140790274\t1.6\t2\t7\t2\t0.857\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140790274A>C\tTrue\tPASS\tA>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140798704\t140798704\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t52\t45\t7\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t147\t\t\t\t\t\t\t\t\t\t\t\t\t140798704\t45.7\t0\t52\t0\t0.135\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140798704T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140798704\t140798704\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t53\t45\t7\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140798704\t45.7\t0\t53\t0\t\t\t0/1\t./.\t0.0\t0.0\t7.0\t0.0\t0.0\t0.0\t45.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140798704T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140798704\t140798704\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t52\t45\t7\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t147\t\t\t\t\t\t\t\t\t\t\t\t\t140798704\t45.7\t0\t52\t0\t0.135\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140798704T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140801667\t140801667\t+\tIGR\tSNP\tA\tA\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t11\t2\t44\t44\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminTumorQual\tTAT\t.\t59\t\t\t\t\t\t\t\t\t\t\t\t\t140801667\t11.2\t44\t13\t44\t0.154\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140801667A>T\tFalse\trealignment\tA>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140801667\t140801667\t+\tIGR\tSNP\tA\tA\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t11\t2\t45\t45\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140801667\t11.2\t45\t13\t45\t\t\t0/1\t./.\t11.0\t45.0\t0.0\t0.0\t0.0\t0.0\t2.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140801667A>T\tFalse\trealignment\tA>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140811128\t140811128\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t47\t45\t2\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTA\t.\t52\t\t\t\t\t\t\t\t\t\t\t\t\t140811128\t45.2\t4\t47\t4\t0.043\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140811128T>A\tTrue\tPASS\tT>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140811128\t140811128\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t56\t54\t2\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140811128\t54.2\t4\t56\t4\t\t\t0/1\t./.\t2.0\t0.0\t0.0\t0.0\t0.0\t0.0\t54.0\t4.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140811128T>A\tTrue\tPASS\tT>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140811128\t140811128\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t47\t45\t2\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTA\t.\t52\t\t\t\t\t\t\t\t\t\t\t\t\t140811128\t45.2\t4\t47\t4\t0.043\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140811128T>A\tTrue\tPASS\tT>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140816975\t140816976\t+\tIGR\tINS\t-\t-\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t66\t58\t8\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGA\t.\t90\t\t\t\t\t\t\t\t\t\t\t\t\t140816975\t58.8\t1\t66\t1\t0.121\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140816975->A\tTrue\tPASS\t->A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140816975\t140816976\t+\tIGR\tINS\t-\t-\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t70\t59\t8\t2\t1\t1\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tLowEVS\tAGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140816975\t59.8\t1.1\t70\t2\t\t\t0/1\t./.\t\t\t\t\t\t\t\t\t59.6\t1.1\t8.8\t1.1\t3.2\t0.0\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140816975->A\tTrue\tPASS\t->A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140816975\t140816976\t+\tIGR\tINS\t-\t-\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t66\t58\t8\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGA\t.\t90\t\t\t\t\t\t\t\t\t\t\t\t\t140816975\t58.8\t1\t66\t1\t0.121\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140816975->A\tTrue\tPASS\t->A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140820737\t140820737\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t39\t28\t11\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t86\t\t\t\t\t\t\t\t\t\t\t\t\t140820737\t28.11\t3\t39\t3\t0.282\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140820737T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140820737\t140820737\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t40\t29\t10\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140820737\t29.1\t3\t40\t3\t\t\t0/1\t./.\t0.0\t0.0\t10.0\t0.0\t0.0\t0.0\t29.0\t3.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140820737T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140820737\t140820737\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t39\t28\t11\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t86\t\t\t\t\t\t\t\t\t\t\t\t\t140820737\t28.11\t3\t39\t3\t0.282\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140820737T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140820825\t140820825\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t35\t29\t6\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t76\t\t\t\t\t\t\t\t\t\t\t\t\t140820825\t29.6\t0\t35\t0\t0.171\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140820825T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140820825\t140820825\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t35\t28\t6\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140820825\t28.6\t0\t35\t0\t\t\t0/1\t./.\t0.0\t0.0\t6.0\t0.0\t1.0\t0.0\t28.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140820825T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140820825\t140820825\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t35\t29\t6\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t76\t\t\t\t\t\t\t\t\t\t\t\t\t140820825\t29.6\t0\t35\t0\t0.171\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140820825T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140821130\t140821130\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t34\t22\t12\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTA\t.\t160\t\t\t\t\t\t\t\t\t\t\t\t\t140821130\t22.12\t1\t34\t1\t0.353\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140821130T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140821130\t140821130\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t35\t23\t12\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140821130\t23.12\t1\t35\t1\t\t\t0/1\t./.\t0.0\t0.0\t12.0\t0.0\t0.0\t0.0\t23.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140821130T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140821130\t140821130\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t34\t22\t12\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTA\t.\t160\t\t\t\t\t\t\t\t\t\t\t\t\t140821130\t22.12\t1\t34\t1\t0.353\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140821130T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140821182\t140821182\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t42\t27\t15\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTT\t.\t297\t\t\t\t\t\t\t\t\t\t\t\t\t140821182\t27.15\t1\t42\t1\t0.357\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140821182T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140821182\t140821182\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t43\t28\t15\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140821182\t28.15\t1\t43\t1\t\t\t0/1\t./.\t0.0\t0.0\t15.0\t0.0\t0.0\t0.0\t28.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140821182T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140821182\t140821182\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t42\t27\t15\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTT\t.\t297\t\t\t\t\t\t\t\t\t\t\t\t\t140821182\t27.15\t1\t42\t1\t0.357\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140821182T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140821203\t140821203\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t34\t22\t12\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t119\t\t\t\t\t\t\t\t\t\t\t\t\t140821203\t22.12\t1\t34\t1\t0.353\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140821203T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140821203\t140821203\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t34\t22\t12\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140821203\t22.12\t1\t34\t1\t\t\t0/1\t./.\t0.0\t0.0\t12.0\t0.0\t0.0\t0.0\t22.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140821203T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140821203\t140821203\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t34\t22\t12\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t119\t\t\t\t\t\t\t\t\t\t\t\t\t140821203\t22.12\t1\t34\t1\t0.353\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140821203T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140822317\t140822317\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t88\t85\t3\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGA\t.\t65\t\t\t\t\t\t\t\t\t\t\t\t\t140822317\t85.3\t0\t88\t0\t0.034\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140822317G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140822317\t140822317\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t87\t84\t3\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140822317\t84.3\t0\t87\t0\t\t\t0/1\t./.\t0.0\t0.0\t0.0\t0.0\t84.0\t0.0\t3.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140822317G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140822317\t140822317\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t88\t85\t3\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGA\t.\t65\t\t\t\t\t\t\t\t\t\t\t\t\t140822317\t85.3\t0\t88\t0\t0.034\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140822317G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140822996\t140822997\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t56\t50\t6\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t82\t\t\t\t\t\t\t\t\t\t\t\t\t140822996\t50.6\t1\t56\t1\t0.107\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140822996->T\tTrue\tPASS\t->T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140822996\t140822997\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t62\t51\t6\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tLowDepth;LowEVS\tAAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140822996\t51.6\t1\t62\t1\t\t\t0/1\t./.\t\t\t\t\t\t\t\t\t51.51\t1.1\t6.6\t0.0\t5.5\t0.0\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140822996->T\tTrue\tPASS\t->T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140822996\t140822997\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t56\t50\t6\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t82\t\t\t\t\t\t\t\t\t\t\t\t\t140822996\t50.6\t1\t56\t1\t0.107\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140822996->T\tTrue\tPASS\t->T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140827904\t140827905\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t45\t36\t8\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTAT\t.\t109\t\t\t\t\t\t\t\t\t\t\t\t\t140827904\t36.8\t1\t45\t1\t0.178\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140827904->T\tTrue\tPASS\t->T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140827904\t140827905\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t46\t31\t8\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tLowDepth;LowEVS\tTAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140827904\t31.8\t1\t46\t1\t\t\t0/1\t./.\t\t\t\t\t\t\t\t\t31.34\t1.1\t8.11\t0.0\t9.4\t0.0\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140827904->T\tTrue\tPASS\t->T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140827904\t140827905\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t45\t36\t8\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTAT\t.\t109\t\t\t\t\t\t\t\t\t\t\t\t\t140827904\t36.8\t1\t45\t1\t0.178\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140827904->T\tTrue\tPASS\t->T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140828517\t140828517\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t60\t24\t36\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGAT\t.\t753\t\t\t\t\t\t\t\t\t\t\t\t\t140828517\t24.36\t1\t60\t1\t0.6\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|consensus|consensus\tminGermlineDepth|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140828517A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140828517\t140828517\t+\tIGR\tSNP\tA\tG\tG\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t0\t4\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGAT\t.\t70\t\t\t\t\t\t\t\t\t\t\t\t\t140828517\t0.4\t1\t4\t1\t1.0\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconsensus\tsage|consensus|consensus\tminGermlineDepth|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140828517A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140828517\t140828517\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t60\t24\t36\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGAT\t.\t753\t\t\t\t\t\t\t\t\t\t\t\t\t140828517\t24.36\t1\t60\t1\t0.6\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|consensus|consensus\tminGermlineDepth|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140828517A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140829199\t140829199\t+\tIGR\tSNP\tT\tT\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t51\t20\t10\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTG\t.\t52\t\t\t\t\t\t\t\t\t\t\t\t\t140829199\t20.1\t0\t51\t0\t0.196\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140829199T>G\tFalse\trealignment\tT>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140829199\t140829199\t+\tIGR\tSNP\tT\tT\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t61\t51\t6\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140829199\t51.6\t0\t61\t0\t\t\t0/1\t./.\t0.0\t0.0\t0.0\t0.0\t6.0\t0.0\t51.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140829199T>G\tFalse\trealignment\tT>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140829200\t140829200\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t51\t21\t10\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTGG\t.\t77\t\t\t\t\t\t\t\t\t\t\t\t\t140829200\t21.1\t0\t51\t0\t0.196\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140829200G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140829200\t140829200\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t28\t21\t4\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTGG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140829200\t21.4\t0\t28\t0\t\t\t0/1\t./.\t0.0\t0.0\t0.0\t0.0\t21.0\t0.0\t4.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140829200G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140829200\t140829200\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t51\t21\t10\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTGG\t.\t77\t\t\t\t\t\t\t\t\t\t\t\t\t140829200\t21.1\t0\t51\t0\t0.196\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140829200G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140841133\t140841133\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t1\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGA\t.\t55\t\t\t\t\t\t\t\t\t\t\t\t\t140841133\t1.2\t1\t3\t1\t0.667\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140841133G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140841133\t140841133\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t1\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140841133\t1.2\t1\t3\t1\t\t\t0/1\t./.\t2.0\t0.0\t0.0\t0.0\t1.0\t1.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140841133G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140841133\t140841133\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t1\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGA\t.\t55\t\t\t\t\t\t\t\t\t\t\t\t\t140841133\t1.2\t1\t3\t1\t0.667\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140841133G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140897881\t140897881\t+\tIGR\tSNP\tC\tC\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t11\t2\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tACA\t.\t60\t\t\t\t\t\t\t\t\t\t\t\t\t140897881\t11.2\t4\t13\t4\t0.154\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140897881C>A\tTrue\tPASS\tC>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140897881\t140897881\t+\tIGR\tSNP\tC\tC\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t14\t12\t2\t5\t5\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tACA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140897881\t12.2\t5\t14\t5\t\t\t0/1\t./.\t2.0\t0.0\t12.0\t5.0\t0.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140897881C>A\tTrue\tPASS\tC>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140897881\t140897881\t+\tIGR\tSNP\tC\tC\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t11\t2\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tACA\t.\t60\t\t\t\t\t\t\t\t\t\t\t\t\t140897881\t11.2\t4\t13\t4\t0.154\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140897881C>A\tTrue\tPASS\tC>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140906294\t140906294\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t37\t30\t7\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t94\t\t\t\t\t\t\t\t\t\t\t\t\t140906294\t30.7\t2\t37\t2\t0.189\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140906294T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140906294\t140906294\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t38\t31\t7\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140906294\t31.7\t2\t38\t2\t\t\t0/1\t./.\t0.0\t0.0\t7.0\t0.0\t0.0\t0.0\t31.0\t2.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140906294T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140906294\t140906294\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t37\t30\t7\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t94\t\t\t\t\t\t\t\t\t\t\t\t\t140906294\t30.7\t2\t37\t2\t0.189\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140906294T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140906444\t140906444\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t23\t10\t13\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t143\t\t\t\t\t\t\t\t\t\t\t\t\t140906444\t10.13\t4\t23\t4\t0.565\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140906444T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140906444\t140906444\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t10\t12\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140906444\t10.12\t4\t22\t4\t\t\t0/1\t./.\t0.0\t0.0\t12.0\t0.0\t0.0\t0.0\t10.0\t4.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140906444T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140906444\t140906444\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t23\t10\t13\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t143\t\t\t\t\t\t\t\t\t\t\t\t\t140906444\t10.13\t4\t23\t4\t0.565\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140906444T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140907479\t140907479\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t11\t7\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTC\t.\t131\t\t\t\t\t\t\t\t\t\t\t\t\t140907479\t11.7\t1\t18\t1\t0.389\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|consensus|consensus\tminGermlineDepth;minTumorQual|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140907479T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140907479\t140907479\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t2\t0\t2\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTC\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t140907479\t0.2\t1\t2\t1\t1.0\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconsensus\tsage|consensus|consensus\tminGermlineDepth;minTumorQual|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140907479T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140907479\t140907479\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t11\t7\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTC\t.\t131\t\t\t\t\t\t\t\t\t\t\t\t\t140907479\t11.7\t1\t18\t1\t0.389\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|consensus|consensus\tminGermlineDepth;minTumorQual|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140907479T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140909399\t140909399\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t32\t27\t5\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATA\t.\t90\t\t\t\t\t\t\t\t\t\t\t\t\t140909399\t27.5\t0\t32\t0\t0.156\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140909399T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140909399\t140909399\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t33\t28\t5\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tATA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140909399\t28.5\t0\t33\t0\t\t\t0/1\t./.\t0.0\t0.0\t5.0\t0.0\t0.0\t0.0\t28.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140909399T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140909399\t140909399\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t32\t27\t5\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATA\t.\t90\t\t\t\t\t\t\t\t\t\t\t\t\t140909399\t27.5\t0\t32\t0\t0.156\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140909399T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140910467\t140910468\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t35\t31\t4\t4\t4\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tACT\t.\t81\t\t\t\t\t\t\t\t\t\t\t\t\t140910467\t31.4\t4\t35\t4\t0.114\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140910467->T\tTrue\tPASS\t->T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140910467\t140910468\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t35\t31\t4\t4\t4\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tACT\t.\t78\t\t\t\t\t\t\t\t\t\t\t\t\t140910467\t31.4\t4\t35\t4\t0.114\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140910467->T\tTrue\tPASS\t->T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140910467\t140910468\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t39\t30\t4\t4\t4\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tLowEVS\tACT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140910467\t30.4\t4\t39\t4\t\t\t0/1\t./.\t\t\t\t\t\t\t\t\t30.31\t4.4\t4.4\t0.0\t5.4\t0.0\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140910467->T\tTrue\tPASS\t->T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140910467\t140910468\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t35\t31\t4\t4\t4\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tACT\t.\t81\t\t\t\t\t\t\t\t\t\t\t\t\t140910467\t31.4\t4\t35\t4\t0.114\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140910467->T\tTrue\tPASS\t->T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140910811\t140910811\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t21\t17\t4\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t52\t\t\t\t\t\t\t\t\t\t\t\t\t140910811\t17.4\t0\t21\t0\t0.19\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140910811T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140910811\t140910811\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t23\t19\t4\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140910811\t19.4\t0\t23\t0\t\t\t0/1\t./.\t0.0\t0.0\t4.0\t0.0\t0.0\t0.0\t19.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140910811T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140910811\t140910811\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t21\t17\t4\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t52\t\t\t\t\t\t\t\t\t\t\t\t\t140910811\t17.4\t0\t21\t0\t0.19\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140910811T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141004056\t141004056\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t33\t28\t5\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t76\t\t\t\t\t\t\t\t\t\t\t\t\t141004056\t28.5\t1\t33\t1\t0.152\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141004056T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141004056\t141004056\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t33\t28\t5\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141004056\t28.5\t1\t33\t1\t\t\t0/1\t./.\t0.0\t0.0\t5.0\t0.0\t0.0\t0.0\t28.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141004056T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141004056\t141004056\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t33\t28\t5\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t76\t\t\t\t\t\t\t\t\t\t\t\t\t141004056\t28.5\t1\t33\t1\t0.152\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141004056T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141004111\t141004111\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t10\t2\t8\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t127\t\t\t\t\t\t\t\t\t\t\t\t\t141004111\t2.8\t1\t10\t1\t0.8\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141004111T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141004111\t141004111\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t10\t2\t8\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141004111\t2.8\t1\t10\t1\t\t\t1/1\t./.\t0.0\t0.0\t8.0\t0.0\t0.0\t0.0\t2.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141004111T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141004111\t141004111\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t10\t2\t8\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t127\t\t\t\t\t\t\t\t\t\t\t\t\t141004111\t2.8\t1\t10\t1\t0.8\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141004111T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141004826\t141004826\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t6\t1\t5\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTA\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t141004826\t1.5\t1\t6\t1\t0.833\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141004826T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141004826\t141004826\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t6\t1\t5\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141004826\t1.5\t1\t6\t1\t\t\t1/1\t./.\t0.0\t0.0\t5.0\t0.0\t0.0\t0.0\t1.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141004826T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141004826\t141004826\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t6\t1\t5\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTA\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t141004826\t1.5\t1\t6\t1\t0.833\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141004826T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141080090\t141080090\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t4\t3\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t58\t\t\t\t\t\t\t\t\t\t\t\t\t141080090\t4.3\t3\t7\t3\t0.429\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.141080090A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141080090\t141080090\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t4\t3\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tAAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141080090\t4.3\t3\t7\t3\t\t\t0/1\t./.\t4.0\t3.0\t0.0\t0.0\t3.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.141080090A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141080090\t141080090\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t4\t3\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t58\t\t\t\t\t\t\t\t\t\t\t\t\t141080090\t4.3\t3\t7\t3\t0.429\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.141080090A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141082435\t141082435\t+\tIGR\tSNP\tG\tA\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t1\t3\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGA\t.\t70\t\t\t\t\t\t\t\t\t\t\t\t\t141082435\t1.3\t1\t4\t1\t0.75\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141082435G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141082435\t141082435\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t1\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141082435\t1.2\t1\t3\t1\t\t\t0/1\t./.\t2.0\t0.0\t0.0\t0.0\t1.0\t1.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141082435G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141082435\t141082435\t+\tIGR\tSNP\tG\tA\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t1\t3\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGA\t.\t70\t\t\t\t\t\t\t\t\t\t\t\t\t141082435\t1.3\t1\t4\t1\t0.75\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141082435G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141084239\t141084239\t+\tIGR\tSNP\tT\tA\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTT\t.\t75\t\t\t\t\t\t\t\t\t\t\t\t\t141084239\t0.3\t1\t3\t1\t1.0\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.141084239T>A\tTrue\tPASS\tT>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141084239\t141084239\t+\tIGR\tSNP\tT\tA\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141084239\t0.3\t2\t3\t2\t\t\t1/1\t./.\t3.0\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\t2.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.141084239T>A\tTrue\tPASS\tT>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141084239\t141084239\t+\tIGR\tSNP\tT\tA\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTT\t.\t75\t\t\t\t\t\t\t\t\t\t\t\t\t141084239\t0.3\t1\t3\t1\t1.0\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.141084239T>A\tTrue\tPASS\tT>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141296649\t141296649\t+\tIGR\tSNP\tT\tA\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATT\t.\t78\t\t\t\t\t\t\t\t\t\t\t\t\t141296649\t0.3\t4\t3\t4\t1.0\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.141296649T>A\tTrue\tPASS\tT>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141296649\t141296649\t+\tIGR\tSNP\tT\tA\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tATT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141296649\t0.3\t4\t3\t4\t\t\t1/1\t./.\t3.0\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\t4.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.141296649T>A\tTrue\tPASS\tT>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141296649\t141296649\t+\tIGR\tSNP\tT\tA\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATT\t.\t78\t\t\t\t\t\t\t\t\t\t\t\t\t141296649\t0.3\t4\t3\t4\t1.0\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.141296649T>A\tTrue\tPASS\tT>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141350897\t141350897\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t1\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGT\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t141350897\t1.2\t1\t3\t1\t0.667\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141350897G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141350897\t141350897\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t1\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141350897\t1.2\t1\t3\t1\t\t\t0/1\t./.\t0.0\t0.0\t0.0\t0.0\t1.0\t1.0\t2.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141350897G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141350897\t141350897\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t1\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGT\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t141350897\t1.2\t1\t3\t1\t0.667\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141350897G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141350899\t141350899\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t1\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTCG\t.\t57\t\t\t\t\t\t\t\t\t\t\t\t\t141350899\t1.2\t1\t3\t1\t0.667\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141350899C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141350899\t141350899\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t1\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTCG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141350899\t1.2\t1\t3\t1\t\t\t0/1\t./.\t0.0\t0.0\t1.0\t1.0\t0.0\t0.0\t2.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141350899C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141350899\t141350899\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t1\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTCG\t.\t57\t\t\t\t\t\t\t\t\t\t\t\t\t141350899\t1.2\t1\t3\t1\t0.667\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141350899C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141365719\t141365719\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t11\t9\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTGT\t.\t53\t\t\t\t\t\t\t\t\t\t\t\t\t141365719\t9.2\t1\t11\t1\t0.182\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141365719G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141365719\t141365719\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t12\t10\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141365719\t10.2\t1\t12\t1\t\t\t0/1\t./.\t2.0\t0.0\t0.0\t0.0\t10.0\t1.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141365719G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141365719\t141365719\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t11\t9\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTGT\t.\t53\t\t\t\t\t\t\t\t\t\t\t\t\t141365719\t9.2\t1\t11\t1\t0.182\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141365719G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141513665\t141513665\t+\tIGR\tSNP\tA\tA\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGAT\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t141513665\t6.2\t3\t8\t3\t0.25\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.141513665A>T\tTrue\tPASS\tA>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141513665\t141513665\t+\tIGR\tSNP\tA\tA\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t5\t2\t4\t4\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141513665\t5.2\t4\t7\t4\t\t\t0/1\t./.\t5.0\t4.0\t0.0\t0.0\t0.0\t0.0\t2.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.141513665A>T\tTrue\tPASS\tA>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141513665\t141513665\t+\tIGR\tSNP\tA\tA\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGAT\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t141513665\t6.2\t3\t8\t3\t0.25\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.141513665A>T\tTrue\tPASS\tA>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141644925\t141644925\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t15\t13\t2\t4\t4\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTCT\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t141644925\t13.2\t4\t15\t4\t0.133\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.141644925C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141644925\t141644925\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t16\t14\t2\t4\t4\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTCT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141644925\t14.2\t4\t16\t4\t\t\t0/1\t./.\t0.0\t0.0\t14.0\t4.0\t0.0\t0.0\t2.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.141644925C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141644925\t141644925\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t15\t13\t2\t4\t4\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTCT\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t141644925\t13.2\t4\t15\t4\t0.133\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.141644925C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141652639\t141652640\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t163\t152\t11\t8\t8\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tslippage\tAAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141652639\t152,11\t8,0\t163\t8\t0.074\t0.091\t0/1\t0/0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmutect2\tmutect2|sage|strelka\tslippage|minGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.141652639->T\tTrue\tPASS\t->T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141652639\t141652640\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t162\t148\t13\t8\t8\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth\tAAT\t.\t163\t\t\t\t\t\t\t\t\t\t\t\t\t141652639\t148.13\t8\t162\t8\t0.08\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tmutect2|sage|strelka\tslippage|minGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.141652639->T\tTrue\tPASS\t->T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141652639\t141652640\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t192\t140\t17\t11\t8\t1\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tLowEVS\tAAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141652639\t140.17\t8.1\t192\t11\t\t\t0/1\t./.\t\t\t\t\t\t\t\t\t140.14\t8.8\t17.18\t1.1\t33.32\t1.1\tstrelka\tmutect2|sage|strelka\tslippage|minGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.141652639->T\tTrue\tPASS\t->T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141652639\t141652640\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t163\t152\t11\t8\t8\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tslippage\tAAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141652639\t152,11\t8,0\t163\t8\t0.074\t0.091\t0/1\t0/0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmutect2\tmutect2|sage|strelka\tslippage|minGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.141652639->T\tTrue\tPASS\t->T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141656174\t141656174\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t94\t92\t2\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual;minTumorVAF\tCCC\t.\t59\t\t\t\t\t\t\t\t\t\t\t\t\t141656174\t92.2\t0\t94\t0\t0.021\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual;minTumorVAF|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141656174C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141656174\t141656174\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t100\t97\t2\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCCC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141656174\t97.2\t0\t100\t0\t\t\t0/1\t./.\t0.0\t0.0\t97.0\t0.0\t0.0\t0.0\t2.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual;minTumorVAF|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141656174C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141656174\t141656174\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t94\t92\t2\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual;minTumorVAF\tCCC\t.\t59\t\t\t\t\t\t\t\t\t\t\t\t\t141656174\t92.2\t0\t94\t0\t0.021\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual;minTumorVAF|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141656174C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141666987\t141666987\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24\t18\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTG\t.\t74\t\t\t\t\t\t\t\t\t\t\t\t\t141666987\t18.6\t1\t24\t1\t0.25\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.141666987T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141666987\t141666987\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24\t18\t6\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141666987\t18.6\t2\t24\t2\t\t\t0/1\t./.\t0.0\t0.0\t6.0\t0.0\t0.0\t0.0\t18.0\t2.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.141666987T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141666987\t141666987\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24\t18\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTG\t.\t74\t\t\t\t\t\t\t\t\t\t\t\t\t141666987\t18.6\t1\t24\t1\t0.25\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.141666987T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141699142\t141699142\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATC\t.\t50\t\t\t\t\t\t\t\t\t\t\t\t\t141699142\t0.3\t1\t3\t1\t1.0\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141699142T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141699142\t141699142\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tATC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141699142\t0.3\t1\t3\t1\t\t\t1/1\t./.\t0.0\t0.0\t3.0\t0.0\t0.0\t0.0\t0.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141699142T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141699142\t141699142\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATC\t.\t50\t\t\t\t\t\t\t\t\t\t\t\t\t141699142\t0.3\t1\t3\t1\t1.0\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141699142T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141712007\t141712007\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t11\t8\t3\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141712007\t8.3\t1\t11\t1\t\t\t0/1\t./.\t3.0\t0.0\t0.0\t0.0\t8.0\t1.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tstrelka|consensus|consensus\tLowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141712007G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141712007\t141712007\t+\tIGR\tSNP\tG\tA\tA\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t0\t4\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTGT\t.\t60\t\t\t\t\t\t\t\t\t\t\t\t\t141712007\t0.4\t1\t4\t1\t1.0\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconsensus\tstrelka|consensus|consensus\tLowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141712007G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141712007\t141712007\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t11\t8\t3\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141712007\t8.3\t1\t11\t1\t\t\t0/1\t./.\t3.0\t0.0\t0.0\t0.0\t8.0\t1.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tstrelka|consensus|consensus\tLowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141712007G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141723300\t141723300\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t42\t42\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tweak_evidence\tTGC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141723300\t6,2\t42,0\t8\t42\t0.25\t0.024\t0/1\t0/0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmutect2\tmutect2|sage|strelka\tweak_evidence|minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.141723300G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141723300\t141723300\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t37\t37\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminTumorQual\tTGC\t.\t52\t\t\t\t\t\t\t\t\t\t\t\t\t141723300\t6.2\t37\t8\t37\t0.25\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tmutect2|sage|strelka\tweak_evidence|minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.141723300G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141723300\t141723300\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t42\t42\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTGC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141723300\t6.2\t42\t8\t42\t\t\t0/1\t./.\t0.0\t0.0\t0.0\t0.0\t6.0\t42.0\t2.0\t0.0\t\t\t\t\t\t\tstrelka\tmutect2|sage|strelka\tweak_evidence|minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.141723300G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141723300\t141723300\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t42\t42\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tweak_evidence\tTGC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141723300\t6,2\t42,0\t8\t42\t0.25\t0.024\t0/1\t0/0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmutect2\tmutect2|sage|strelka\tweak_evidence|minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.141723300G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141724345\t141724345\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t6\t4\t2\t36\t36\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tweak_evidence\tAGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141724345\t4,2\t36,0\t6\t36\t0.329\t0.026\t0/1\t0/0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmutect2\tmutect2|strelka\tweak_evidence|PASS\tPASS\tTrue\tchr7:g.141724345G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141724345\t141724345\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t6\t4\t2\t36\t35\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tPASS\tAGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141724345\t4.2\t35\t6\t36\t\t\t0/1\t./.\t2.0\t0.0\t0.0\t0.0\t4.0\t35.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tmutect2|strelka\tweak_evidence|PASS\tPASS\tTrue\tchr7:g.141724345G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141724345\t141724345\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t6\t4\t2\t36\t36\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tweak_evidence\tAGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141724345\t4,2\t36,0\t6\t36\t0.329\t0.026\t0/1\t0/0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmutect2\tmutect2|strelka\tweak_evidence|PASS\tPASS\tTrue\tchr7:g.141724345G>A\tTrue\tPASS\tG>A\tFalse" + ] + ], + [ + "TCRBOA7-T-RNA_realign.withRNAfilters.maf", + [ + "Hugo_Symbol\tEntrez_Gene_Id\tCenter\tNCBI_Build\tChromosome\tStart_Position\tEnd_Position\tStrand\tVariant_Classification\tVariant_Type\tReference_Allele\tTumor_Seq_Allele1\tTumor_Seq_Allele2\tdbSNP_RS\tdbSNP_Val_Status\tTumor_Sample_Barcode\tMatched_Norm_Sample_Barcode\tMatch_Norm_Seq_Allele1\tMatch_Norm_Seq_Allele2\tTumor_Validation_Allele1\tTumor_Validation_Allele2\tMatch_Norm_Validation_Allele1\tMatch_Norm_Validation_Allele2\tVerification_Status\tValidation_Status\tMutation_Status\tSequencing_Phase\tSequence_Source\tValidation_Method\tScore\tBAM_File\tSequencer\tTumor_Sample_UUID\tMatched_Norm_Sample_UUID\tHGVSc\tHGVSp\tHGVSp_Short\tTranscript_ID\tExon_Number\tt_depth\tt_ref_count\tt_alt_count\tn_depth\tn_ref_count\tn_alt_count\tall_effects\tAllele\tGene\tFeature\tFeature_type\tConsequence\tcDNA_position\tCDS_position\tProtein_position\tAmino_acids\tCodons\tExisting_variation\tALLELE_NUM\tDISTANCE\tSTRAND_VEP\tSYMBOL\tSYMBOL_SOURCE\tHGNC_ID\tBIOTYPE\tCANONICAL\tCCDS\tENSP\tSWISSPROT\tTREMBL\tUNIPARC\tRefSeq\tSIFT\tPolyPhen\tEXON\tINTRON\tDOMAINS\tAF\tAFR_AF\tAMR_AF\tASN_AF\tEAS_AF\tEUR_AF\tSAS_AF\tAA_AF\tEA_AF\tCLIN_SIG\tSOMATIC\tPUBMED\tMOTIF_NAME\tMOTIF_POS\tHIGH_INF_POS\tMOTIF_SCORE_CHANGE\tIMPACT\tPICK\tVARIANT_CLASS\tTSL\tHGVS_OFFSET\tPHENO\tMINIMISED\tGENE_PHENO\tFILTER\tflanking_bps\tvcf_id\tvcf_qual\tgnomADe_AF\tgnomADe_AFR_AF\tgnomADe_AMR_AF\tgnomADe_ASJ_AF\tgnomADe_EAS_AF\tgnomADe_FIN_AF\tgnomADe_NFE_AF\tgnomADe_OTH_AF\tgnomADe_SAS_AF\tgnomADg_AF\tMAX_AF\tMAX_AF_POPS\tvcf_pos\tt_AD\tn_AD\tt_DP\tn_DP\tt_AF\tn_AF\tt_GT\tn_GT\tt_AU\tn_AU\tt_CU\tn_CU\tt_GU\tn_GU\tt_TU\tn_TU\tt_TAR\tn_TAR\tt_TIR\tn_TIR\tt_TOR\tn_TOR\tCaller\tcallers\tfilters\tFILTER_consensus\tisconsensus\tDNAchange\trealignment\tRaVeX_FILTER\tmut\trnaediting", + "Unknown\t0\t.\tGRCh38\tchr7\t139832913\t139832913\t+\tIGR\tSNP\tG\tG\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t14\t8\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGA\t.\t159\t\t\t\t\t\t\t\t\t\t\t\t\t139832913\t14.8\t3\t22\t3\t0.364\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka|consensus|consensus\tminGermlineDepth;minTumorQual|LowEVS|LowDepth;LowEVS|minGermlineDepth;minTumorQual\tFAIL\tTrue\tchr7:g.139832913G>C\tTrue\tPASS\tG>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139832913\t139832913\t+\tIGR\tSNP\tG\tG\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t23\t15\t8\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tAGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139832913\t15,8\t3,0\t23\t3\t\t\t0/1\t./.\t0.0\t0.0\t8.0\t0.0\t15.0\t3.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka|consensus|consensus\tminGermlineDepth;minTumorQual|LowEVS|LowDepth;LowEVS|minGermlineDepth;minTumorQual\tFAIL\tTrue\tchr7:g.139832913G>C\tTrue\tPASS\tG>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139832913\t139832913\t+\tIGR\tSNP\tG\tC\tC\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t1\t0\t1\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139832913\t0.1\t3\t1\t3\t\t\t1/1\t./.\t0.0\t0.0\t1.0\t0.0\t0.0\t3.0\t0.0\t0.0\t\t\t\t\t\t\tconsensus\tsage|strelka|consensus|consensus\tminGermlineDepth;minTumorQual|LowEVS|LowDepth;LowEVS|minGermlineDepth;minTumorQual\tFAIL\tTrue\tchr7:g.139832913G>C\tTrue\tPASS\tG>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139832913\t139832913\t+\tIGR\tSNP\tG\tG\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t14\t8\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGA\t.\t159\t\t\t\t\t\t\t\t\t\t\t\t\t139832913\t14.8\t3\t22\t3\t0.364\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.139832913G>C\tTrue\tPASS\tG>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139836268\t139836268\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t26\t18\t8\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tAGT\t.\t222\t\t\t\t\t\t\t\t\t\t\t\t\t139836268\t18.8\t1\t26\t1\t0.308\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka|consensus|consensus\tminGermlineDepth|LowDepth;LowEVS|LowDepth;LowEVS|minGermlineDepth;minTumorQual\tFAIL\tTrue\tchr7:g.139836268G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139836268\t139836268\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t26\t18\t8\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139836268\t18,8\t1,0\t26\t1\t\t\t0/1\t./.\t8.0\t0.0\t0.0\t0.0\t18.0\t1.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka|consensus|consensus\tminGermlineDepth|LowDepth;LowEVS|LowDepth;LowEVS|minGermlineDepth;minTumorQual\tFAIL\tTrue\tchr7:g.139836268G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139836268\t139836268\t+\tIGR\tSNP\tG\tA\tA\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t1\t0\t1\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139836268\t0.1\t1\t1\t1\t\t\t1/1\t./.\t1.0\t0.0\t0.0\t0.0\t0.0\t1.0\t0.0\t0.0\t\t\t\t\t\t\tconsensus\tsage|strelka|consensus|consensus\tminGermlineDepth|LowDepth;LowEVS|LowDepth;LowEVS|minGermlineDepth;minTumorQual\tFAIL\tTrue\tchr7:g.139836268G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139836268\t139836268\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t26\t18\t8\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGT\t.\t142\t\t\t\t\t\t\t\t\t\t\t\t\t139836268\t18.8\t1\t26\t1\t0.308\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.139836268G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139839306\t139839306\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t10\t3\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTGA\t.\t69\t\t\t\t\t\t\t\t\t\t\t\t\t139839306\t10.3\t2\t13\t2\t0.231\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.139839306G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139839306\t139839306\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t14\t11\t3\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139839306\t11,3\t2,0\t14\t2\t\t\t0/1\t./.\t3.0\t0.0\t0.0\t0.0\t11.0\t2.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.139839306G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139839306\t139839306\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t10\t3\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTGA\t.\t55\t\t\t\t\t\t\t\t\t\t\t\t\t139839306\t10.3\t2\t13\t2\t0.231\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.139839306G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139840078\t139840078\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t10\t8\t2\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTGG\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t139840078\t8.2\t0\t10\t0\t0.2\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.139840078G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139840078\t139840078\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t10\t8\t2\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTGG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139840078\t8,2\t0,0\t10\t0\t\t\t0/1\t./.\t0.0\t0.0\t0.0\t0.0\t8.0\t0.0\t2.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.139840078G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139840078\t139840078\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t11\t2\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTGG\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t139840078\t11.2\t0\t13\t0\t0.154\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.139840078G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139861816\t139861816\t+\tIGR\tSNP\tA\tG\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t1\t3\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAG\t.\t61\t\t\t\t\t\t\t\t\t\t\t\t\t139861816\t1.3\t3\t4\t3\t0.75\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.139861816A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139861816\t139861816\t+\tIGR\tSNP\tA\tG\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t1\t3\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tAAG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139861816\t1,3\t3,0\t4\t3\t\t\t1/1\t./.\t1.0\t3.0\t0.0\t0.0\t3.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.139861816A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139861816\t139861816\t+\tIGR\tSNP\tA\tG\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t1\t3\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAG\t.\t50\t\t\t\t\t\t\t\t\t\t\t\t\t139861816\t1.3\t3\t4\t3\t0.75\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.139861816A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139864673\t139864673\t+\tIGR\tSNP\tC\tC\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t5\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGCT\t.\t55\t\t\t\t\t\t\t\t\t\t\t\t\t139864673\t5.2\t1\t7\t1\t0.286\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.139864673C>A\tTrue\tPASS\tC>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139864673\t139864673\t+\tIGR\tSNP\tC\tC\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGCT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139864673\t6,2\t1,0\t8\t1\t\t\t0/1\t./.\t2.0\t0.0\t6.0\t1.0\t0.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.139864673C>A\tTrue\tPASS\tC>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139864673\t139864673\t+\tIGR\tSNP\tC\tC\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t5\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGCT\t.\t55\t\t\t\t\t\t\t\t\t\t\t\t\t139864673\t5.2\t1\t7\t1\t0.286\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.139864673C>A\tTrue\tPASS\tC>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139941097\t139941097\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t15\t12\t3\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATC\t.\t62\t\t\t\t\t\t\t\t\t\t\t\t\t139941097\t12.3\t0\t15\t0\t0.2\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.139941097T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139941097\t139941097\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t15\t12\t3\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tATC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139941097\t12,3\t0,0\t15\t0\t\t\t0/1\t./.\t0.0\t0.0\t3.0\t0.0\t0.0\t0.0\t12.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.139941097T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139941097\t139941097\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t15\t12\t3\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATC\t.\t62\t\t\t\t\t\t\t\t\t\t\t\t\t139941097\t12.3\t0\t15\t0\t0.2\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.139941097T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139943319\t139943319\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t12\t9\t3\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGCG\t.\t75\t\t\t\t\t\t\t\t\t\t\t\t\t139943319\t9.3\t1\t12\t1\t0.25\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.139943319C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139943319\t139943319\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t10\t3\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGCG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139943319\t10,3\t1,0\t13\t1\t\t\t0/1\t./.\t0.0\t0.0\t10.0\t1.0\t0.0\t0.0\t3.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.139943319C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139943319\t139943319\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t12\t9\t3\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGCG\t.\t75\t\t\t\t\t\t\t\t\t\t\t\t\t139943319\t9.3\t1\t12\t1\t0.25\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.139943319C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139948123\t139948123\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCCC\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t139948123\t6.2\t1\t8\t1\t0.25\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.139948123C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139948123\t139948123\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCCC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139948123\t6,2\t2,0\t8\t2\t\t\t0/1\t./.\t0.0\t0.0\t6.0\t2.0\t0.0\t0.0\t2.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.139948123C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139948123\t139948123\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCCC\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t139948123\t6.2\t1\t8\t1\t0.25\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.139948123C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139964882\t139964882\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t11\t2\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTCA\t.\t55\t\t\t\t\t\t\t\t\t\t\t\t\t139964882\t11.2\t2\t13\t2\t0.154\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.139964882C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139964882\t139964882\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t14\t12\t2\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTCA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139964882\t12,2\t2,0\t14\t2\t\t\t0/1\t./.\t0.0\t0.0\t12.0\t2.0\t0.0\t0.0\t2.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.139964882C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139964882\t139964882\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t11\t2\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTCA\t.\t55\t\t\t\t\t\t\t\t\t\t\t\t\t139964882\t11.2\t2\t13\t2\t0.154\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.139964882C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139988205\t139988205\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCGC\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t139988205\t6.2\t1\t8\t1\t0.25\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.139988205G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139988205\t139988205\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCGC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139988205\t6,2\t1,0\t8\t1\t\t\t0/1\t./.\t2.0\t0.0\t0.0\t0.0\t6.0\t1.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.139988205G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139988205\t139988205\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCGC\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t139988205\t6.2\t1\t8\t1\t0.25\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.139988205G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139992039\t139992039\t+\tIGR\tSNP\tC\tA\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t2\t5\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCCC\t.\t105\t\t\t\t\t\t\t\t\t\t\t\t\t139992039\t2.5\t0\t7\t0\t0.714\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.139992039C>A\tTrue\tPASS\tC>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139992039\t139992039\t+\tIGR\tSNP\tC\tA\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t2\t5\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCCC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t139992039\t2,5\t2,0\t7\t2\t\t\t1/1\t./.\t5.0\t0.0\t2.0\t2.0\t0.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.139992039C>A\tTrue\tPASS\tC>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139992039\t139992039\t+\tIGR\tSNP\tC\tA\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t2\t5\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCCC\t.\t105\t\t\t\t\t\t\t\t\t\t\t\t\t139992039\t2.5\t0\t7\t0\t0.714\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.139992039C>A\tTrue\tPASS\tC>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140000300\t140000300\t+\tIGR\tSNP\tC\tG\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t1\t6\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tACA\t.\t115\t\t\t\t\t\t\t\t\t\t\t\t\t140000300\t1.6\t0\t7\t0\t0.857\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka|consensus\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual\tFAIL\tTrue\tchr7:g.140000300C>G\tTrue\tPASS\tC>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140000300\t140000300\t+\tIGR\tSNP\tC\tG\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t6\t1\t5\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tACA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140000300\t1,5\t0,0\t6\t0\t\t\t1/1\t./.\t0.0\t0.0\t1.0\t0.0\t5.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka|consensus\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual\tFAIL\tTrue\tchr7:g.140000300C>G\tTrue\tPASS\tC>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140000300\t140000300\t+\tIGR\tSNP\tC\tG\tG\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t1\t3\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tACA\t.\t71\t\t\t\t\t\t\t\t\t\t\t\t\t140000300\t1.3\t0\t4\t0\t0.75\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconsensus\tsage|strelka|consensus\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual\tFAIL\tTrue\tchr7:g.140000300C>G\tTrue\tPASS\tC>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140000300\t140000300\t+\tIGR\tSNP\tC\tG\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t1\t6\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tACA\t.\t120\t\t\t\t\t\t\t\t\t\t\t\t\t140000300\t1.6\t0\t7\t0\t0.857\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140000300C>G\tTrue\tPASS\tC>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140001893\t140001893\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t5\t3\t4\t4\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTCA\t.\t73\t\t\t\t\t\t\t\t\t\t\t\t\t140001893\t5.3\t4\t8\t4\t0.375\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140001893C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140001893\t140001893\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t5\t3\t4\t4\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTCA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140001893\t5,3\t4,0\t8\t4\t\t\t0/1\t./.\t0.0\t0.0\t5.0\t4.0\t0.0\t0.0\t3.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140001893C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140001893\t140001893\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t5\t3\t4\t4\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTCA\t.\t73\t\t\t\t\t\t\t\t\t\t\t\t\t140001893\t5.3\t4\t8\t4\t0.375\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140001893C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140001971\t140001971\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t2\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCCC\t.\t50\t\t\t\t\t\t\t\t\t\t\t\t\t140001971\t2.2\t1\t4\t1\t0.5\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka|consensus|consensus\tminGermlineDepth;minTumorQual|LowEVS|LowEVS|minGermlineDepth;minTumorQual\tFAIL\tTrue\tchr7:g.140001971C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140001971\t140001971\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t2\t2\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCCC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140001971\t2,2\t2,0\t4\t2\t\t\t0/1\t./.\t0.0\t0.0\t2.0\t2.0\t0.0\t0.0\t2.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka|consensus|consensus\tminGermlineDepth;minTumorQual|LowEVS|LowEVS|minGermlineDepth;minTumorQual\tFAIL\tTrue\tchr7:g.140001971C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140001971\t140001971\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t1\t2\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCCC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140001971\t1.2\t2\t3\t2\t\t\t0/1\t./.\t0.0\t0.0\t1.0\t2.0\t0.0\t0.0\t2.0\t0.0\t\t\t\t\t\t\tconsensus\tsage|strelka|consensus|consensus\tminGermlineDepth;minTumorQual|LowEVS|LowEVS|minGermlineDepth;minTumorQual\tFAIL\tTrue\tchr7:g.140001971C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140001971\t140001971\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t2\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCCC\t.\t50\t\t\t\t\t\t\t\t\t\t\t\t\t140001971\t2.2\t1\t4\t1\t0.5\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140001971C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140006043\t140006043\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t6\t2\t4\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGCG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140006043\t2,4\t3,0\t6\t3\t\t\t0/1\t./.\t0.0\t0.0\t2.0\t3.0\t0.0\t0.0\t4.0\t0.0\t\t\t\t\t\t\tstrelka\tstrelka|consensus|consensus\tLowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140006043C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140006043\t140006043\t+\tIGR\tSNP\tC\tT\tT\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t1\t4\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGCG\t.\t85\t\t\t\t\t\t\t\t\t\t\t\t\t140006043\t1.4\t3\t5\t3\t0.8\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconsensus\tstrelka|consensus|consensus\tLowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140006043C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140006043\t140006043\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t6\t2\t4\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGCG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140006043\t2.4\t3\t6\t3\t\t\t0/1\t./.\t0.0\t0.0\t2.0\t3.0\t0.0\t0.0\t4.0\t0.0\t\t\t\t\t\t\tstrelka\tstrelka|consensus|consensus\tLowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140006043C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140011157\t140011157\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t9\t5\t4\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t75\t\t\t\t\t\t\t\t\t\t\t\t\t140011157\t5.4\t2\t9\t2\t0.444\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140011157A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140011157\t140011157\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t9\t5\t4\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tAAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140011157\t5,4\t2,0\t9\t2\t\t\t0/1\t./.\t5.0\t2.0\t0.0\t0.0\t4.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140011157A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140011157\t140011157\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t5\t8\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t86\t\t\t\t\t\t\t\t\t\t\t\t\t140011157\t5.8\t2\t13\t2\t0.615\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140011157A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140011178\t140011178\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t5\t3\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTAA\t.\t65\t\t\t\t\t\t\t\t\t\t\t\t\t140011178\t5.3\t2\t8\t2\t0.375\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140011178A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140011178\t140011178\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t9\t6\t3\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTAA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140011178\t6,3\t2,0\t9\t2\t\t\t0/1\t./.\t6.0\t2.0\t0.0\t0.0\t3.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140011178A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140011178\t140011178\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t8\t5\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTAA\t.\t59\t\t\t\t\t\t\t\t\t\t\t\t\t140011178\t8.5\t2\t13\t2\t0.385\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140011178A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140012618\t140012618\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t5\t3\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140012618\t5,3\t2,0\t8\t2\t\t\t0/1\t./.\t0.0\t0.0\t3.0\t0.0\t0.0\t0.0\t5.0\t2.0\t\t\t\t\t\t\tstrelka\tstrelka|consensus|consensus\tLowEVS|LowDepth;LowEVS|minGermlineDepth;minTumorQual\tFAIL\tTrue\tchr7:g.140012618T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140012618\t140012618\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t1\t0\t1\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140012618\t0.1\t2\t1\t2\t\t\t1/1\t./.\t0.0\t0.0\t1.0\t0.0\t0.0\t0.0\t0.0\t2.0\t\t\t\t\t\t\tconsensus\tstrelka|consensus|consensus\tLowEVS|LowDepth;LowEVS|minGermlineDepth;minTumorQual\tFAIL\tTrue\tchr7:g.140012618T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140012618\t140012618\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t9\t5\t4\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t57\t\t\t\t\t\t\t\t\t\t\t\t\t140012618\t5.4\t2\t9\t2\t0.444\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140012618T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140012668\t140012668\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t4\t3\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAG\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t140012668\t4.3\t3\t7\t3\t0.429\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140012668A>G\tFalse\trealignment\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140012668\t140012668\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t5\t3\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCAG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140012668\t5,3\t3,0\t8\t3\t\t\t0/1\t./.\t5.0\t3.0\t0.0\t0.0\t3.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140012668A>G\tFalse\trealignment\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140012739\t140012739\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t15\t7\t8\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAT\t.\t91\t\t\t\t\t\t\t\t\t\t\t\t\t140012739\t7.8\t3\t15\t3\t0.533\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140012739A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140012739\t140012739\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t15\t7\t8\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140012739\t7,8\t3,0\t15\t3\t\t\t0/1\t./.\t7.0\t3.0\t0.0\t0.0\t8.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140012739A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140012739\t140012739\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t8\t10\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAT\t.\t111\t\t\t\t\t\t\t\t\t\t\t\t\t140012739\t8.1\t3\t18\t3\t0.556\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140012739A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140027870\t140027870\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t90\t56\t34\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTC\t.\t670\t\t\t\t\t\t\t\t\t\t\t\t\t140027870\t56.34\t0\t90\t0\t0.378\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140027870T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140027870\t140027870\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t90\t56\t34\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140027870\t56,34\t0,0\t90\t0\t\t\t0/1\t./.\t0.0\t0.0\t34.0\t0.0\t0.0\t0.0\t56.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140027870T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140027870\t140027870\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t92\t57\t35\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTC\t.\t670\t\t\t\t\t\t\t\t\t\t\t\t\t140027870\t57.35\t0\t92\t0\t0.38\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140027870T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140029645\t140029645\t+\tIGR\tDEL\tA\tA\t-\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t79\t70\t8\t1\t1\t0\t\t-\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tdeletion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGAA\t.\t93\t\t\t\t\t\t\t\t\t\t\t\t\t140029644\t70.8\t1\t79\t1\t0.101\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140029645A>-\tTrue\tPASS\tA>-\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140029645\t140029645\t+\tIGR\tDEL\tA\tA\t-\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t81\t68\t8\t1\t1\t0\t\t-\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tdeletion\t\t\t\t\t\tLowDepth;LowEVS\tGGAA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140029644\t68,8\t1,0\t81\t1\t\t\t0/1\t./.\t\t\t\t\t\t\t\t\t68,68\t1,1\t8,8\t0,0\t5,5\t0,0\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140029645A>-\tTrue\tPASS\tA>-\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140029645\t140029645\t+\tIGR\tDEL\tA\tA\t-\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t81\t73\t8\t1\t1\t0\t\t-\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tdeletion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGAA\t.\t91\t\t\t\t\t\t\t\t\t\t\t\t\t140029644\t73.8\t1\t81\t1\t0.099\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140029645A>-\tTrue\tPASS\tA>-\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140030471\t140030471\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t103\t64\t39\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCGC\t.\t820\t\t\t\t\t\t\t\t\t\t\t\t\t140030471\t64.39\t0\t103\t0\t0.379\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140030471G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140030471\t140030471\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t106\t67\t39\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCGC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140030471\t67,39\t0,0\t106\t0\t\t\t0/1\t./.\t39.0\t0.0\t0.0\t0.0\t67.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140030471G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140030471\t140030471\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t106\t64\t42\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCGC\t.\t852\t\t\t\t\t\t\t\t\t\t\t\t\t140030471\t64.42\t0\t106\t0\t0.396\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140030471G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140030498\t140030498\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t114\t103\t11\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTG\t.\t161\t\t\t\t\t\t\t\t\t\t\t\t\t140030498\t103.11\t0\t114\t0\t0.096\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140030498T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140030498\t140030498\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t119\t106\t11\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140030498\t106,11\t0,0\t119\t0\t\t\t0/1\t./.\t1.0\t0.0\t11.0\t0.0\t1.0\t0.0\t106.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140030498T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140030498\t140030498\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t119\t107\t12\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t142\t\t\t\t\t\t\t\t\t\t\t\t\t140030498\t107.12\t0\t119\t0\t0.101\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140030498T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140030515\t140030515\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t129\t111\t18\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTT\t.\t316\t\t\t\t\t\t\t\t\t\t\t\t\t140030515\t111.18\t0\t129\t0\t0.14\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140030515T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140030515\t140030515\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t137\t119\t18\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140030515\t119,18\t0,0\t137\t0\t\t\t0/1\t./.\t0.0\t0.0\t18.0\t0.0\t0.0\t0.0\t119.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140030515T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140030515\t140030515\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t137\t116\t21\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTT\t.\t324\t\t\t\t\t\t\t\t\t\t\t\t\t140030515\t116.21\t0\t137\t0\t0.153\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140030515T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140030554\t140030554\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t111\t105\t6\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATG\t.\t83\t\t\t\t\t\t\t\t\t\t\t\t\t140030554\t105.6\t0\t111\t0\t0.054\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140030554T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140030554\t140030554\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t123\t117\t6\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tATG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140030554\t117,6\t0,0\t123\t0\t\t\t0/1\t./.\t0.0\t0.0\t6.0\t0.0\t0.0\t0.0\t117.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140030554T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140030554\t140030554\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t123\t115\t8\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATG\t.\t80\t\t\t\t\t\t\t\t\t\t\t\t\t140030554\t115.8\t1\t123\t1\t0.065\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140030554T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140030567\t140030567\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t96\t73\t23\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTG\t.\t311\t\t\t\t\t\t\t\t\t\t\t\t\t140030567\t73.23\t0\t96\t0\t0.24\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140030567T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140030567\t140030567\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t98\t75\t23\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140030567\t75,23\t0,0\t98\t0\t\t\t0/1\t./.\t0.0\t0.0\t23.0\t0.0\t0.0\t0.0\t75.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140030567T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140030567\t140030567\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t108\t81\t27\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTG\t.\t322\t\t\t\t\t\t\t\t\t\t\t\t\t140030567\t81.27\t1\t108\t1\t0.25\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140030567T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140030629\t140030629\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t47\t41\t6\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTAC\t.\t81\t\t\t\t\t\t\t\t\t\t\t\t\t140030629\t41.6\t1\t47\t1\t0.128\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140030629A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140030629\t140030629\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t50\t47\t3\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTAC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140030629\t47,3\t1,0\t50\t1\t\t\t0/1\t./.\t47.0\t1.0\t0.0\t0.0\t3.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140030629A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140030629\t140030629\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t74\t54\t20\t2\t1\t1\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tmaxGermlineRelRawBaseQual;maxGermlineVAF;minGermlineDepth\tTAC\t.\t289\t\t\t\t\t\t\t\t\t\t\t\t\t140030629\t54.2\t1.1\t74\t2\t0.27\t0.5\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tmaxGermlineRelRawBaseQual;maxGermlineVAF;minGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140030629A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140031273\t140031273\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t91\t77\t14\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTG\t.\t168\t\t\t\t\t\t\t\t\t\t\t\t\t140031273\t77.14\t0\t91\t0\t0.154\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140031273T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140031273\t140031273\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t95\t81\t14\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140031273\t81,14\t0,0\t95\t0\t\t\t0/1\t./.\t0.0\t0.0\t14.0\t0.0\t0.0\t0.0\t81.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140031273T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140031273\t140031273\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t92\t78\t14\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTG\t.\t168\t\t\t\t\t\t\t\t\t\t\t\t\t140031273\t78.14\t0\t92\t0\t0.152\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140031273T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140032350\t140032350\t+\tIGR\tDEL\tA\tA\t-\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t55\t43\t7\t1\t1\t0\t\t-\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tdeletion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTAA\t.\t93\t\t\t\t\t\t\t\t\t\t\t\t\t140032349\t43.7\t1\t55\t1\t0.127\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140032350A>-\tTrue\tPASS\tA>-\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140032350\t140032350\t+\tIGR\tDEL\tA\tA\t-\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t58\t47\t8\t1\t1\t0\t\t-\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tdeletion\t\t\t\t\t\tLowDepth;LowEVS\tTTAA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140032349\t47,8\t1,0\t58\t1\t\t\t0/1\t./.\t\t\t\t\t\t\t\t\t47,47\t1,1\t8,8\t0,0\t3,3\t0,0\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140032350A>-\tTrue\tPASS\tA>-\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140032350\t140032350\t+\tIGR\tDEL\tA\tA\t-\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t58\t50\t7\t1\t1\t0\t\t-\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tdeletion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTAA\t.\t93\t\t\t\t\t\t\t\t\t\t\t\t\t140032349\t50.7\t1\t58\t1\t0.121\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140032350A>-\tTrue\tPASS\tA>-\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140032427\t140032427\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t50\t42\t8\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t116\t\t\t\t\t\t\t\t\t\t\t\t\t140032427\t42.8\t3\t50\t3\t0.16\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140032427T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140032427\t140032427\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t50\t43\t7\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140032427\t43,7\t3,0\t50\t3\t\t\t0/1\t./.\t0.0\t0.0\t7.0\t0.0\t0.0\t0.0\t43.0\t3.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140032427T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140032427\t140032427\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t51\t43\t8\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t116\t\t\t\t\t\t\t\t\t\t\t\t\t140032427\t43.8\t3\t51\t3\t0.157\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140032427T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140032428\t140032428\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t46\t40\t6\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t91\t\t\t\t\t\t\t\t\t\t\t\t\t140032428\t40.6\t3\t46\t3\t0.13\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140032428T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140032428\t140032428\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t51\t45\t6\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140032428\t45,6\t3,0\t51\t3\t\t\t0/1\t./.\t0.0\t0.0\t6.0\t0.0\t0.0\t0.0\t45.0\t3.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140032428T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140032428\t140032428\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t47\t41\t6\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t91\t\t\t\t\t\t\t\t\t\t\t\t\t140032428\t41.6\t3\t47\t3\t0.128\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140032428T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140033050\t140033050\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t85\t73\t12\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTC\t.\t201\t\t\t\t\t\t\t\t\t\t\t\t\t140033050\t73.12\t2\t85\t2\t0.141\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140033050T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140033050\t140033050\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t90\t78\t12\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140033050\t78,12\t2,0\t90\t2\t\t\t0/1\t./.\t0.0\t0.0\t12.0\t0.0\t0.0\t0.0\t78.0\t2.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140033050T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140033050\t140033050\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t89\t73\t16\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTC\t.\t223\t\t\t\t\t\t\t\t\t\t\t\t\t140033050\t73.16\t2\t89\t2\t0.18\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140033050T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140033091\t140033091\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t113\t101\t12\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTA\t.\t173\t\t\t\t\t\t\t\t\t\t\t\t\t140033091\t101.12\t3\t113\t3\t0.106\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140033091T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140033091\t140033091\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t113\t102\t10\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140033091\t102,10\t3,0\t113\t3\t\t\t0/1\t./.\t0.0\t0.0\t10.0\t0.0\t0.0\t0.0\t102.0\t3.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140033091T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140033091\t140033091\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t117\t103\t14\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTA\t.\t163\t\t\t\t\t\t\t\t\t\t\t\t\t140033091\t103.14\t3\t117\t3\t0.12\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140033091T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140035900\t140035900\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t50\t40\t10\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGA\t.\t155\t\t\t\t\t\t\t\t\t\t\t\t\t140035900\t40.1\t0\t50\t0\t0.2\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140035900G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140035900\t140035900\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t50\t39\t10\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140035900\t39,10\t0,0\t50\t0\t\t\t0/1\t./.\t10.0\t0.0\t1.0\t0.0\t39.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140035900G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140035900\t140035900\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t84\t60\t24\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGGA\t.\t337\t\t\t\t\t\t\t\t\t\t\t\t\t140035900\t60.24\t0\t84\t0\t0.286\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140035900G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140037992\t140037992\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t209\t116\t93\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCAT\t.\t1216\t\t\t\t\t\t\t\t\t\t\t\t\t140037992\t116.93\t3\t209\t3\t0.445\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140037992A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140037992\t140037992\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t210\t117\t93\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140037992\t117,93\t3,0\t210\t3\t\t\t0/1\t./.\t117.0\t3.0\t0.0\t0.0\t93.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140037992A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140037992\t140037992\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t215\t119\t96\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCAT\t.\t1245\t\t\t\t\t\t\t\t\t\t\t\t\t140037992\t119.96\t3\t215\t3\t0.447\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140037992A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140039778\t140039778\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t116\t49\t67\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tTCC\t.\t1373\t\t\t\t\t\t\t\t\t\t\t\t\t140039778\t49.67\t2\t116\t2\t0.578\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140039778C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140039778\t140039778\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t117\t50\t67\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTCC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140039778\t50,67\t2,0\t117\t2\t\t\t0/1\t./.\t0.0\t0.0\t50.0\t2.0\t0.0\t0.0\t67.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140039778C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140039778\t140039778\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t118\t49\t69\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tTCC\t.\t1214\t\t\t\t\t\t\t\t\t\t\t\t\t140039778\t49.69\t2\t118\t2\t0.585\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140039778C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140043167\t140043167\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t9\t3\t6\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t111\t\t\t\t\t\t\t\t\t\t\t\t\t140043167\t3.6\t5\t9\t5\t0.667\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140043167T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140043167\t140043167\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t9\t3\t6\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140043167\t3,6\t5,0\t9\t5\t\t\t0/1\t./.\t0.0\t0.0\t6.0\t0.0\t0.0\t0.0\t3.0\t5.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140043167T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140043167\t140043167\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t9\t3\t6\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t106\t\t\t\t\t\t\t\t\t\t\t\t\t140043167\t3.6\t5\t9\t5\t0.667\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140043167T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140058002\t140058002\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t244\t240\t4\t100\t100\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tweak_evidence\tGGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140058002\t240,4\t100,0\t244\t100\t0.014\t0.012\t0/1\t0/0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmutect2\tmutect2|sage|strelka\tweak_evidence|minTumorQual;minTumorVAF|LowEVS\tFAIL\tTrue\tchr7:g.140058002G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140058002\t140058002\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t253\t249\t4\t99\t99\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminTumorQual;minTumorVAF\tGGT\t.\t100\t\t\t\t\t\t\t\t\t\t\t\t\t140058002\t249.4\t99\t253\t99\t0.016\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tmutect2|sage|strelka\tweak_evidence|minTumorQual;minTumorVAF|LowEVS\tFAIL\tTrue\tchr7:g.140058002G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140058002\t140058002\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t256\t252\t4\t101\t101\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140058002\t252,4\t101,0\t256\t101\t\t\t0/1\t./.\t4.0\t0.0\t0.0\t0.0\t252.0\t101.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tmutect2|sage|strelka\tweak_evidence|minTumorQual;minTumorVAF|LowEVS\tFAIL\tTrue\tchr7:g.140058002G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140058002\t140058002\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t250\t246\t4\t98\t98\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tweak_evidence\tGGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140058002\t246,4\t98,0\t250\t98\t0.014\t0.012\t0/1\t0/0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmutect2\tmutect2|sage|strelka\tweak_evidence|minTumorQual;minTumorVAF|LowEVS\tFAIL\tTrue\tchr7:g.140058002G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140085224\t140085224\t+\tIGR\tSNP\tC\tC\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t252\t103\t149\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCCA\t.\t3143\t\t\t\t\t\t\t\t\t\t\t\t\t140085224\t103.149\t4\t252\t4\t0.591\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka|consensus|consensus\tminGermlineDepth|LowEVS|LowDepth;LowEVS|minGermlineDepth\tFAIL\tTrue\tchr7:g.140085224C>A\tTrue\tPASS\tC>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140085224\t140085224\t+\tIGR\tSNP\tC\tC\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t288\t123\t165\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCCA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140085224\t123,165\t4,0\t288\t4\t\t\t0/1\t./.\t165.0\t0.0\t123.0\t4.0\t0.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka|consensus|consensus\tminGermlineDepth|LowEVS|LowDepth;LowEVS|minGermlineDepth\tFAIL\tTrue\tchr7:g.140085224C>A\tTrue\tPASS\tC>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140085224\t140085224\t+\tIGR\tSNP\tC\tA\tA\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t1\t0\t1\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCCA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140085224\t0.1\t4\t1\t4\t\t\t1/1\t./.\t1.0\t0.0\t0.0\t4.0\t0.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tconsensus\tsage|strelka|consensus|consensus\tminGermlineDepth|LowEVS|LowDepth;LowEVS|minGermlineDepth\tFAIL\tTrue\tchr7:g.140085224C>A\tTrue\tPASS\tC>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140085224\t140085224\t+\tIGR\tSNP\tC\tC\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t258\t105\t153\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCCA\t.\t3203\t\t\t\t\t\t\t\t\t\t\t\t\t140085224\t105.153\t4\t258\t4\t0.593\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140085224C>A\tTrue\tPASS\tC>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140089652\t140089653\t+\tIGR\tINS\t-\t-\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t175\t164\t11\t3\t3\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGA\t.\t158\t\t\t\t\t\t\t\t\t\t\t\t\t140089652\t164.11\t3\t175\t3\t0.063\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140089652->A\tTrue\tPASS\t->A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140089652\t140089653\t+\tIGR\tINS\t-\t-\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t206\t173\t11\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tLowEVS\tGGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140089652\t173,11\t4,0\t206\t4\t\t\t0/1\t./.\t\t\t\t\t\t\t\t\t173,174\t4,4\t11,11\t0,0\t22,21\t0,0\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140089652->A\tTrue\tPASS\t->A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140089652\t140089653\t+\tIGR\tINS\t-\t-\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t175\t165\t10\t3\t3\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGA\t.\t136\t\t\t\t\t\t\t\t\t\t\t\t\t140089652\t165.1\t3\t175\t3\t0.057\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140089652->A\tTrue\tPASS\t->A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140094509\t140094509\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t19\t7\t5\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGA\t.\t58\t\t\t\t\t\t\t\t\t\t\t\t\t140094509\t7.5\t1\t19\t1\t0.263\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140094509G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140094509\t140094509\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t23\t17\t6\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140094509\t17,6\t1,0\t23\t1\t\t\t0/1\t./.\t6.0\t0.0\t0.0\t0.0\t17.0\t1.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140094509G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140094509\t140094509\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t13\t7\t1\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGA\t.\t58\t\t\t\t\t\t\t\t\t\t\t\t\t140094509\t13.7\t0\t22\t1\t0.318\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140094509G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140095793\t140095793\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t58\t38\t20\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tTTG\t.\t256\t\t\t\t\t\t\t\t\t\t\t\t\t140095793\t38.2\t0\t58\t0\t0.345\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140095793T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140095793\t140095793\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t58\t38\t20\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140095793\t38,20\t0,0\t58\t0\t\t\t0/1\t./.\t0.0\t0.0\t20.0\t0.0\t0.0\t0.0\t38.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140095793T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140095793\t140095793\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t58\t38\t20\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tTTG\t.\t256\t\t\t\t\t\t\t\t\t\t\t\t\t140095793\t38.2\t0\t58\t0\t0.345\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140095793T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140097703\t140097703\t+\tIGR\tSNP\tA\tA\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t2\t2\t33\t33\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tweak_evidence\tGAC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140097703\t2,2\t33,0\t4\t33\t0.4\t0.031\t0/1\t0/0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmutect2\tmutect2|strelka\tweak_evidence|LowEVS\tFAIL\tTrue\tchr7:g.140097703A>T\tTrue\tPASS\tA>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140097703\t140097703\t+\tIGR\tSNP\tA\tA\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t2\t2\t33\t33\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGAC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140097703\t2,2\t33,0\t4\t33\t\t\t0/1\t./.\t2.0\t33.0\t0.0\t0.0\t0.0\t0.0\t2.0\t0.0\t\t\t\t\t\t\tstrelka\tmutect2|strelka\tweak_evidence|LowEVS\tFAIL\tTrue\tchr7:g.140097703A>T\tTrue\tPASS\tA>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140097703\t140097703\t+\tIGR\tSNP\tA\tA\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t2\t2\t33\t33\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tweak_evidence\tGAC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140097703\t2,2\t33,0\t4\t33\t0.4\t0.03\t0/1\t0/0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmutect2\tmutect2|strelka\tweak_evidence|LowEVS\tFAIL\tTrue\tchr7:g.140097703A>T\tTrue\tPASS\tA>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140107704\t140107704\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t14\t4\t9\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAT\t.\t124\t\t\t\t\t\t\t\t\t\t\t\t\t140107704\t4.9\t1\t14\t1\t0.643\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka|consensus\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual\tFAIL\tTrue\tchr7:g.140107704A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140107704\t140107704\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t14\t4\t9\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140107704\t4,9\t1,0\t14\t1\t\t\t0/1\t./.\t4.0\t1.0\t0.0\t0.0\t9.0\t0.0\t1.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka|consensus\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual\tFAIL\tTrue\tchr7:g.140107704A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140107704\t140107704\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t2\t3\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAT\t.\t58\t\t\t\t\t\t\t\t\t\t\t\t\t140107704\t2.3\t1\t5\t1\t0.6\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconsensus\tsage|strelka|consensus\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual\tFAIL\tTrue\tchr7:g.140107704A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140107704\t140107704\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t14\t4\t9\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAT\t.\t124\t\t\t\t\t\t\t\t\t\t\t\t\t140107704\t4.9\t1\t14\t1\t0.643\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140107704A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140108207\t140108207\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t14\t4\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGCG\t.\t99\t\t\t\t\t\t\t\t\t\t\t\t\t140108207\t14.4\t1\t18\t1\t0.222\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140108207C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140108207\t140108207\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t14\t4\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGCG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140108207\t14,4\t1,0\t18\t1\t\t\t0/1\t./.\t0.0\t0.0\t14.0\t1.0\t0.0\t0.0\t4.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140108207C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140108207\t140108207\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t14\t4\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGCG\t.\t99\t\t\t\t\t\t\t\t\t\t\t\t\t140108207\t14.4\t1\t18\t1\t0.222\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140108207C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140108245\t140108245\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t26\t20\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t101\t\t\t\t\t\t\t\t\t\t\t\t\t140108245\t20.6\t1\t26\t1\t0.231\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140108245T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140108245\t140108245\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t26\t20\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140108245\t20,6\t1,0\t26\t1\t\t\t0/1\t./.\t0.0\t0.0\t6.0\t0.0\t0.0\t0.0\t20.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140108245T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140108245\t140108245\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t26\t20\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t101\t\t\t\t\t\t\t\t\t\t\t\t\t140108245\t20.6\t1\t26\t1\t0.231\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140108245T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140112904\t140112904\t+\tIGR\tSNP\tA\tT\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t9\t2\t7\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCAT\t.\t185\t\t\t\t\t\t\t\t\t\t\t\t\t140112904\t2.7\t3\t9\t3\t0.778\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140112904A>T\tTrue\tPASS\tA>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140112904\t140112904\t+\tIGR\tSNP\tA\tT\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t9\t2\t7\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140112904\t2,7\t3,0\t9\t3\t\t\t1/1\t./.\t2.0\t3.0\t0.0\t0.0\t0.0\t0.0\t7.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140112904A>T\tTrue\tPASS\tA>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140112904\t140112904\t+\tIGR\tSNP\tA\tT\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t9\t2\t7\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCAT\t.\t185\t\t\t\t\t\t\t\t\t\t\t\t\t140112904\t2.7\t3\t9\t3\t0.778\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140112904A>T\tTrue\tPASS\tA>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140120859\t140120859\t+\tIGR\tSNP\tT\tT\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t14\t6\t8\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t159\t\t\t\t\t\t\t\t\t\t\t\t\t140120859\t6.8\t3\t14\t3\t0.571\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140120859T>G\tTrue\tPASS\tT>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140120859\t140120859\t+\tIGR\tSNP\tT\tT\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t15\t6\t9\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140120859\t6,9\t3,0\t15\t3\t\t\t0/1\t./.\t0.0\t0.0\t0.0\t0.0\t9.0\t0.0\t6.0\t3.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140120859T>G\tTrue\tPASS\tT>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140120859\t140120859\t+\tIGR\tSNP\tT\tT\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t14\t6\t8\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t159\t\t\t\t\t\t\t\t\t\t\t\t\t140120859\t6.8\t3\t14\t3\t0.571\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140120859T>G\tTrue\tPASS\tT>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140121364\t140121364\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t14\t10\t4\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCGT\t.\t81\t\t\t\t\t\t\t\t\t\t\t\t\t140121364\t10.4\t1\t14\t1\t0.286\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140121364G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140121364\t140121364\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t21\t18\t3\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140121364\t18,3\t1,0\t21\t1\t\t\t0/1\t./.\t3.0\t0.0\t0.0\t0.0\t18.0\t1.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140121364G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140121364\t140121364\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t14\t10\t4\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCGT\t.\t81\t\t\t\t\t\t\t\t\t\t\t\t\t140121364\t10.4\t1\t14\t1\t0.286\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140121364G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140124514\t140124514\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t20\t2\t22\t22\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminTumorQual\tTGT\t.\t55\t\t\t\t\t\t\t\t\t\t\t\t\t140124514\t20.2\t22\t22\t22\t0.091\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140124514G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140124514\t140124514\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t20\t2\t22\t22\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140124514\t20,2\t22,0\t22\t22\t\t\t0/1\t./.\t2.0\t0.0\t0.0\t0.0\t20.0\t22.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140124514G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140124514\t140124514\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t20\t2\t22\t22\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminTumorQual\tTGT\t.\t55\t\t\t\t\t\t\t\t\t\t\t\t\t140124514\t20.2\t22\t22\t22\t0.091\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140124514G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140126788\t140126788\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t90\t87\t3\t69\t69\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tweak_evidence\tTTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140126788\t87,3\t69,0\t90\t69\t0.039\t0.016\t0/1\t0/0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmutect2\tmutect2|sage|strelka\tweak_evidence|minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140126788T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140126788\t140126788\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t90\t87\t3\t70\t70\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminTumorQual\tTTT\t.\t50\t\t\t\t\t\t\t\t\t\t\t\t\t140126788\t87.3\t70\t90\t70\t0.033\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tmutect2|sage|strelka\tweak_evidence|minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140126788T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140126788\t140126788\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t91\t88\t3\t72\t72\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140126788\t88,3\t72,0\t91\t72\t\t\t0/1\t./.\t0.0\t0.0\t3.0\t0.0\t0.0\t0.0\t88.0\t72.0\t\t\t\t\t\t\tstrelka\tmutect2|sage|strelka\tweak_evidence|minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140126788T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140126788\t140126788\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t89\t86\t3\t73\t73\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tweak_evidence\tTTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140126788\t86,3\t73,0\t89\t73\t0.039\t0.015\t0/1\t0/0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmutect2\tmutect2|strelka\tweak_evidence|LowEVS\tFAIL\tTrue\tchr7:g.140126788T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140156989\t140156989\t+\tIGR\tSNP\tC\tT\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCCT\t.\t61\t\t\t\t\t\t\t\t\t\t\t\t\t140156989\t0.3\t2\t3\t2\t1.0\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140156989C>T\tFalse\trealignment\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140156989\t140156989\t+\tIGR\tSNP\tC\tT\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t2\t0\t2\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCCT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140156989\t0,2\t2,0\t2\t2\t\t\t1/1\t./.\t0.0\t0.0\t0.0\t2.0\t0.0\t0.0\t2.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140156989C>T\tFalse\trealignment\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140156990\t140156990\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t140156990\t0.3\t2\t3\t2\t1.0\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140156990T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140156990\t140156990\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t2\t0\t2\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140156990\t0,2\t2,0\t2\t2\t\t\t1/1\t./.\t0.0\t0.0\t2.0\t0.0\t0.0\t0.0\t0.0\t2.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140156990T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140156990\t140156990\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t140156990\t0.3\t2\t3\t2\t1.0\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140156990T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140163410\t140163410\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t2\t3\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCGA\t.\t74\t\t\t\t\t\t\t\t\t\t\t\t\t140163410\t2.3\t2\t5\t2\t0.6\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140163410G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140163410\t140163410\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t2\t3\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140163410\t2,3\t2,0\t5\t2\t\t\t0/1\t./.\t3.0\t0.0\t0.0\t0.0\t2.0\t2.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140163410G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140163410\t140163410\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t2\t3\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCGA\t.\t74\t\t\t\t\t\t\t\t\t\t\t\t\t140163410\t2.3\t2\t5\t2\t0.6\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140163410G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140337265\t140337265\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24\t22\t2\t59\t59\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminTumorQual\tTTA\t.\t52\t\t\t\t\t\t\t\t\t\t\t\t\t140337265\t22.2\t59\t24\t59\t0.083\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka|consensus\tminTumorQual|LowEVS|maxGermlineRelRawBaseQual;minTumorQual\tFAIL\tTrue\tchr7:g.140337265T>A\tTrue\tPASS\tT>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140337265\t140337265\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t25\t23\t2\t92\t92\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140337265\t23,2\t92,0\t25\t92\t\t\t0/1\t./.\t2.0\t0.0\t0.0\t0.0\t0.0\t0.0\t23.0\t92.0\t\t\t\t\t\t\tstrelka\tsage|strelka|consensus\tminTumorQual|LowEVS|maxGermlineRelRawBaseQual;minTumorQual\tFAIL\tTrue\tchr7:g.140337265T>A\tTrue\tPASS\tT>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140337265\t140337265\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24\t22\t2\t73\t73\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tmaxGermlineRelRawBaseQual;minTumorQual\tTTA\t.\t52\t\t\t\t\t\t\t\t\t\t\t\t\t140337265\t22.2\t73\t24\t73\t0.083\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconsensus\tsage|strelka|consensus\tminTumorQual|LowEVS|maxGermlineRelRawBaseQual;minTumorQual\tFAIL\tTrue\tchr7:g.140337265T>A\tTrue\tPASS\tT>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140337265\t140337265\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24\t22\t2\t73\t73\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tmaxGermlineRelRawBaseQual;minTumorQual\tTTA\t.\t52\t\t\t\t\t\t\t\t\t\t\t\t\t140337265\t22.2\t73\t24\t73\t0.083\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tmaxGermlineRelRawBaseQual;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140337265T>A\tTrue\tPASS\tT>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140340845\t140340845\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t14\t2\t12\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t117\t\t\t\t\t\t\t\t\t\t\t\t\t140340845\t2.12\t0\t14\t0\t0.857\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140340845T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140340845\t140340845\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t2\t11\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140340845\t2,11\t0,0\t13\t0\t\t\t1/1\t./.\t0.0\t0.0\t11.0\t0.0\t0.0\t0.0\t2.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140340845T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140340845\t140340845\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t17\t2\t15\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t155\t\t\t\t\t\t\t\t\t\t\t\t\t140340845\t2.15\t0\t17\t0\t0.882\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140340845T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140340869\t140340869\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t12\t3\t9\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTT\t.\t140\t\t\t\t\t\t\t\t\t\t\t\t\t140340869\t3.9\t0\t12\t0\t0.75\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140340869T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140340869\t140340869\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t12\t3\t9\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140340869\t3,9\t0,0\t12\t0\t\t\t1/1\t./.\t0.0\t0.0\t9.0\t0.0\t0.0\t0.0\t3.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140340869T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140340869\t140340869\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t16\t4\t12\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTT\t.\t161\t\t\t\t\t\t\t\t\t\t\t\t\t140340869\t4.12\t0\t16\t0\t0.75\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140340869T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140341845\t140341845\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t26\t24\t2\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGCC\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t140341845\t24.2\t3\t26\t3\t0.077\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140341845C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140341845\t140341845\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t26\t24\t2\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGCC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140341845\t24,2\t3,0\t26\t3\t\t\t0/1\t./.\t0.0\t0.0\t24.0\t3.0\t0.0\t0.0\t2.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140341845C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140341845\t140341845\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t27\t25\t2\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGCC\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t140341845\t25.2\t3\t27\t3\t0.074\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140341845C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140343674\t140343675\t+\tIGR\tINS\t-\t-\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t3\t3\t5\t5\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGA\t.\t68\t\t\t\t\t\t\t\t\t\t\t\t\t140343674\t3.3\t5\t7\t5\t0.429\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|PASS\tPASS\tTrue\tchr7:g.140343674->A\tTrue\tPASS\t->A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140343674\t140343675\t+\tIGR\tINS\t-\t-\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t10\t5\t4\t6\t5\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tPASS\tGGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140343674\t5,4\t5,0\t10\t6\t\t\t0/1\t./.\t\t\t\t\t\t\t\t\t5,5\t5,5\t4,4\t0,0\t1,1\t1,1\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|PASS\tPASS\tTrue\tchr7:g.140343674->A\tTrue\tPASS\t->A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140343674\t140343675\t+\tIGR\tINS\t-\t-\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t5\t3\t5\t5\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGA\t.\t65\t\t\t\t\t\t\t\t\t\t\t\t\t140343674\t5.3\t5\t8\t5\t0.375\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|PASS\tPASS\tTrue\tchr7:g.140343674->A\tTrue\tPASS\t->A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140353659\t140353659\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t10\t4\t6\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t134\t\t\t\t\t\t\t\t\t\t\t\t\t140353659\t4.6\t2\t10\t2\t0.6\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka|consensus|consensus\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140353659A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140353659\t140353659\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t10\t4\t6\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tAAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140353659\t4,6\t2,0\t10\t2\t\t\t0/1\t./.\t4.0\t2.0\t0.0\t0.0\t6.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka|consensus|consensus\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140353659A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140353659\t140353659\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t2\t3\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t59\t\t\t\t\t\t\t\t\t\t\t\t\t140353659\t2.3\t2\t5\t2\t0.6\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconsensus\tsage|strelka|consensus|consensus\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140353659A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140353659\t140353659\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t10\t4\t6\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t134\t\t\t\t\t\t\t\t\t\t\t\t\t140353659\t4.6\t2\t10\t2\t0.6\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka|consensus|consensus\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140353659A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140369391\t140369391\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t12\t6\t6\t3\t3\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATT\t.\t133\t\t\t\t\t\t\t\t\t\t\t\t\t140369391\t6.6\t3\t12\t3\t0.5\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka|consensus|consensus\tminGermlineDepth;minTumorQual|LowEVS|LowEVS|minGermlineDepth;minTumorQual\tFAIL\tTrue\tchr7:g.140369391T>A\tTrue\tPASS\tT>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140369391\t140369391\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t12\t6\t6\t3\t3\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tATT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140369391\t6,6\t3,0\t12\t3\t\t\t0/1\t./.\t6.0\t0.0\t0.0\t0.0\t0.0\t0.0\t6.0\t3.0\t\t\t\t\t\t\tstrelka\tsage|strelka|consensus|consensus\tminGermlineDepth;minTumorQual|LowEVS|LowEVS|minGermlineDepth;minTumorQual\tFAIL\tTrue\tchr7:g.140369391T>A\tTrue\tPASS\tT>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140369391\t140369391\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t1\t2\t3\t3\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tATT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140369391\t1.2\t3\t3\t3\t\t\t0/1\t./.\t2.0\t0.0\t0.0\t0.0\t0.0\t0.0\t1.0\t3.0\t\t\t\t\t\t\tconsensus\tsage|strelka|consensus|consensus\tminGermlineDepth;minTumorQual|LowEVS|LowEVS|minGermlineDepth;minTumorQual\tFAIL\tTrue\tchr7:g.140369391T>A\tTrue\tPASS\tT>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140369391\t140369391\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t12\t6\t6\t3\t3\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATT\t.\t129\t\t\t\t\t\t\t\t\t\t\t\t\t140369391\t6.6\t3\t12\t3\t0.5\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140369391T>A\tTrue\tPASS\tT>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140370578\t140370578\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t5\t3\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tACA\t.\t69\t\t\t\t\t\t\t\t\t\t\t\t\t140370578\t5.3\t2\t8\t2\t0.375\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140370578C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140370578\t140370578\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t5\t3\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tACA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140370578\t5,3\t2,0\t8\t2\t\t\t0/1\t./.\t0.0\t0.0\t5.0\t2.0\t0.0\t0.0\t3.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140370578C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140370578\t140370578\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t5\t3\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tACA\t.\t64\t\t\t\t\t\t\t\t\t\t\t\t\t140370578\t5.3\t2\t8\t2\t0.375\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140370578C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140402540\t140402540\t+\tIGR\tSNP\tA\tG\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t1\t4\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGAT\t.\t99\t\t\t\t\t\t\t\t\t\t\t\t\t140402540\t1.4\t2\t5\t2\t0.8\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140402540A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140402540\t140402540\t+\tIGR\tSNP\tA\tG\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t1\t4\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140402540\t1,4\t2,0\t5\t2\t\t\t1/1\t./.\t1.0\t2.0\t0.0\t0.0\t4.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140402540A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140402540\t140402540\t+\tIGR\tSNP\tA\tG\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t1\t4\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGAT\t.\t99\t\t\t\t\t\t\t\t\t\t\t\t\t140402540\t1.4\t2\t5\t2\t0.8\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140402540A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140402551\t140402551\t+\tIGR\tSNP\tG\tA\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t6\t1\t5\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGA\t.\t105\t\t\t\t\t\t\t\t\t\t\t\t\t140402551\t1.5\t2\t6\t2\t0.833\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140402551G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140402551\t140402551\t+\tIGR\tSNP\tG\tA\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t6\t1\t5\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140402551\t1,5\t2,0\t6\t2\t\t\t1/1\t./.\t5.0\t0.0\t0.0\t0.0\t1.0\t2.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140402551G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140402551\t140402551\t+\tIGR\tSNP\tG\tA\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t6\t1\t5\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGA\t.\t103\t\t\t\t\t\t\t\t\t\t\t\t\t140402551\t1.5\t2\t6\t2\t0.833\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140402551G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140426299\t140426299\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t65\t63\t2\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tACT\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t140426299\t63.2\t3\t65\t3\t0.031\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140426299C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140426299\t140426299\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t65\t63\t2\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tACT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140426299\t63,2\t3,0\t65\t3\t\t\t0/1\t./.\t0.0\t0.0\t63.0\t3.0\t0.0\t0.0\t2.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140426299C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140426299\t140426299\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t65\t63\t2\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tACT\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t140426299\t63.2\t3\t65\t3\t0.031\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140426299C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140427404\t140427404\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t12\t7\t5\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCGG\t.\t120\t\t\t\t\t\t\t\t\t\t\t\t\t140427404\t7.5\t2\t12\t2\t0.417\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka|consensus|consensus\tminGermlineDepth;minTumorQual|LowEVS|LowEVS|minGermlineDepth;minTumorQual\tFAIL\tTrue\tchr7:g.140427404G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140427404\t140427404\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t12\t7\t5\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCGG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140427404\t7,5\t2,0\t12\t2\t\t\t0/1\t./.\t5.0\t0.0\t0.0\t0.0\t7.0\t2.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka|consensus|consensus\tminGermlineDepth;minTumorQual|LowEVS|LowEVS|minGermlineDepth;minTumorQual\tFAIL\tTrue\tchr7:g.140427404G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140427404\t140427404\t+\tIGR\tSNP\tG\tA\tA\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t3\t3\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCGG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140427404\t0.3\t3\t3\t3\t\t\t1/1\t./.\t3.0\t0.0\t0.0\t0.0\t0.0\t3.0\t0.0\t0.0\t\t\t\t\t\t\tconsensus\tsage|strelka|consensus|consensus\tminGermlineDepth;minTumorQual|LowEVS|LowEVS|minGermlineDepth;minTumorQual\tFAIL\tTrue\tchr7:g.140427404G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140427404\t140427404\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t21\t9\t12\t3\t3\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCGG\t.\t69\t\t\t\t\t\t\t\t\t\t\t\t\t140427404\t9.12\t3\t21\t3\t0.571\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140427404G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140427570\t140427570\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t56\t52\t4\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAC\t.\t83\t\t\t\t\t\t\t\t\t\t\t\t\t140427570\t52.4\t3\t56\t3\t0.071\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140427570A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140427570\t140427570\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t56\t52\t4\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tAAC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140427570\t52,4\t3,0\t56\t3\t\t\t0/1\t./.\t52.0\t3.0\t0.0\t0.0\t4.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140427570A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140427570\t140427570\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t62\t56\t6\t4\t4\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAC\t.\t83\t\t\t\t\t\t\t\t\t\t\t\t\t140427570\t56.6\t4\t62\t4\t0.097\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140427570A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140433091\t140433091\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t3\t4\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGG\t.\t63\t\t\t\t\t\t\t\t\t\t\t\t\t140433091\t3.4\t2\t7\t2\t0.571\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka|consensus|consensus\tminGermlineDepth;minTumorQual|LowEVS|LowDepth;LowEVS|minGermlineDepth;minTumorQual\tFAIL\tTrue\tchr7:g.140433091G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140433091\t140433091\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t3\t4\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGGG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140433091\t3,4\t2,0\t7\t2\t\t\t0/1\t./.\t0.0\t0.0\t0.0\t0.0\t3.0\t2.0\t4.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka|consensus|consensus\tminGermlineDepth;minTumorQual|LowEVS|LowDepth;LowEVS|minGermlineDepth;minTumorQual\tFAIL\tTrue\tchr7:g.140433091G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140433091\t140433091\t+\tIGR\tSNP\tG\tT\tT\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t1\t0\t1\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGGG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140433091\t0.1\t2\t1\t2\t\t\t1/1\t./.\t0.0\t0.0\t0.0\t0.0\t0.0\t2.0\t1.0\t0.0\t\t\t\t\t\t\tconsensus\tsage|strelka|consensus|consensus\tminGermlineDepth;minTumorQual|LowEVS|LowDepth;LowEVS|minGermlineDepth;minTumorQual\tFAIL\tTrue\tchr7:g.140433091G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140433091\t140433091\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t3\t4\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGG\t.\t63\t\t\t\t\t\t\t\t\t\t\t\t\t140433091\t3.4\t2\t7\t2\t0.571\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140433091G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140434409\t140434409\t+\tIGR\tSNP\tT\tG\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t2\t0\t2\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGTC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140434409\t0,2\t2,0\t2\t2\t\t\t1/1\t./.\t0.0\t0.0\t0.0\t0.0\t2.0\t0.0\t0.0\t2.0\t\t\t\t\t\t\tstrelka\tstrelka|consensus|consensus\tLowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140434409T>G\tTrue\tPASS\tT>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140434409\t140434409\t+\tIGR\tSNP\tT\tT\tG\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t6\t2\t4\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTC\t.\t104\t\t\t\t\t\t\t\t\t\t\t\t\t140434409\t2.4\t2\t6\t2\t0.667\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconsensus\tstrelka|consensus|consensus\tLowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140434409T>G\tTrue\tPASS\tT>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140434409\t140434409\t+\tIGR\tSNP\tT\tG\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t2\t0\t2\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGTC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140434409\t0.2\t2\t2\t2\t\t\t1/1\t./.\t0.0\t0.0\t0.0\t0.0\t2.0\t0.0\t0.0\t2.0\t\t\t\t\t\t\tstrelka\tstrelka|consensus|consensus\tLowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140434409T>G\tTrue\tPASS\tT>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140436343\t140436343\t+\tIGR\tSNP\tA\tG\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t64\t\t\t\t\t\t\t\t\t\t\t\t\t140436343\t0.3\t1\t3\t1\t1.0\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka|consensus|consensus\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|LowDepth;LowEVS|minGermlineDepth;minTumorQual\tFAIL\tTrue\tchr7:g.140436343A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140436343\t140436343\t+\tIGR\tSNP\tA\tG\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140436343\t0,3\t1,0\t3\t1\t\t\t1/1\t./.\t0.0\t1.0\t0.0\t0.0\t3.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka|consensus|consensus\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|LowDepth;LowEVS|minGermlineDepth;minTumorQual\tFAIL\tTrue\tchr7:g.140436343A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140436343\t140436343\t+\tIGR\tSNP\tA\tG\tG\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t1\t0\t1\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140436343\t0.1\t1\t1\t1\t\t\t1/1\t./.\t0.0\t1.0\t0.0\t0.0\t1.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tconsensus\tsage|strelka|consensus|consensus\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|LowDepth;LowEVS|minGermlineDepth;minTumorQual\tFAIL\tTrue\tchr7:g.140436343A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140436343\t140436343\t+\tIGR\tSNP\tA\tG\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t64\t\t\t\t\t\t\t\t\t\t\t\t\t140436343\t0.3\t1\t3\t1\t1.0\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140436343A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140436679\t140436679\t+\tIGR\tSNP\tG\tA\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t11\t2\t9\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCGC\t.\t210\t\t\t\t\t\t\t\t\t\t\t\t\t140436679\t2.9\t2\t11\t2\t0.818\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140436679G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140436679\t140436679\t+\tIGR\tSNP\tG\tA\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t12\t3\t9\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCGC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140436679\t3,9\t2,0\t12\t2\t\t\t1/1\t./.\t9.0\t0.0\t0.0\t0.0\t3.0\t2.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140436679G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140436679\t140436679\t+\tIGR\tSNP\tG\tA\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t11\t2\t9\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCGC\t.\t210\t\t\t\t\t\t\t\t\t\t\t\t\t140436679\t2.9\t2\t11\t2\t0.818\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140436679G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140456687\t140456687\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t341\t334\t7\t36\t36\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tPASS\tTCC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140456687\t334,7\t36,0\t341\t36\t0.024\t0.029\t0/1\t0/0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmutect2\tmutect2|strelka\tPASS|LowEVS\tPASS\tTrue\tchr7:g.140456687C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140456687\t140456687\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t311\t304\t7\t36\t36\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTCC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140456687\t304,7\t36,0\t311\t36\t\t\t0/1\t./.\t0.0\t0.0\t304.0\t36.0\t0.0\t0.0\t7.0\t0.0\t\t\t\t\t\t\tstrelka\tmutect2|strelka\tPASS|LowEVS\tPASS\tTrue\tchr7:g.140456687C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140456687\t140456687\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t307\t300\t7\t36\t36\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tPASS\tTCC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140456687\t300,7\t36,0\t307\t36\t0.027\t0.028\t0/1\t0/0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmutect2\tmutect2|strelka\tPASS|LowEVS\tPASS\tTrue\tchr7:g.140456687C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140458030\t140458030\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t25\t11\t14\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tACA\t.\t301\t\t\t\t\t\t\t\t\t\t\t\t\t140458030\t11.14\t1\t25\t1\t0.56\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|consensus|consensus\tminGermlineDepth|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140458030C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140458030\t140458030\t+\tIGR\tSNP\tC\tT\tT\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tACA\t.\t63\t\t\t\t\t\t\t\t\t\t\t\t\t140458030\t0.3\t1\t3\t1\t1.0\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconsensus\tsage|consensus|consensus\tminGermlineDepth|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140458030C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140458030\t140458030\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t25\t11\t14\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tACA\t.\t293\t\t\t\t\t\t\t\t\t\t\t\t\t140458030\t11.14\t1\t25\t1\t0.56\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|consensus|consensus\tminGermlineDepth|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140458030C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140460142\t140460142\t+\tIGR\tSNP\tG\tG\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t10\t8\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGA\t.\t110\t\t\t\t\t\t\t\t\t\t\t\t\t140460142\t10.8\t4\t18\t4\t0.444\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140460142G>C\tTrue\tPASS\tG>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140460142\t140460142\t+\tIGR\tSNP\tG\tG\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t19\t11\t8\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140460142\t11,8\t4,0\t19\t4\t\t\t0/1\t./.\t0.0\t0.0\t8.0\t0.0\t11.0\t4.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140460142G>C\tTrue\tPASS\tG>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140460142\t140460142\t+\tIGR\tSNP\tG\tG\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24\t13\t11\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGA\t.\t90\t\t\t\t\t\t\t\t\t\t\t\t\t140460142\t13.11\t4\t24\t4\t0.458\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140460142G>C\tTrue\tPASS\tG>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140460152\t140460152\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t14\t8\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t105\t\t\t\t\t\t\t\t\t\t\t\t\t140460152\t14.8\t2\t22\t2\t0.364\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140460152T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140460152\t140460152\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t14\t8\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140460152\t14,8\t2,0\t22\t2\t\t\t0/1\t./.\t0.0\t0.0\t8.0\t0.0\t0.0\t0.0\t14.0\t2.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140460152T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140460152\t140460152\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t27\t16\t11\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t95\t\t\t\t\t\t\t\t\t\t\t\t\t140460152\t16.11\t2\t27\t2\t0.407\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140460152T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140460528\t140460528\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t16\t8\t8\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t104\t\t\t\t\t\t\t\t\t\t\t\t\t140460528\t8.8\t4\t16\t4\t0.5\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140460528T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140460528\t140460528\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t16\t8\t8\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140460528\t8,8\t4,0\t16\t4\t\t\t0/1\t./.\t0.0\t0.0\t8.0\t0.0\t0.0\t0.0\t8.0\t4.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140460528T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140460528\t140460528\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t8\t10\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t99\t\t\t\t\t\t\t\t\t\t\t\t\t140460528\t8.1\t5\t18\t5\t0.556\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140460528T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140460887\t140460887\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t94\t51\t43\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tATT\t.\t867\t\t\t\t\t\t\t\t\t\t\t\t\t140460887\t51.43\t3\t94\t3\t0.457\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140460887T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140460887\t140460887\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t94\t51\t43\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tATT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140460887\t51,43\t3,0\t94\t3\t\t\t0/1\t./.\t0.0\t0.0\t43.0\t0.0\t0.0\t0.0\t51.0\t3.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140460887T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140460887\t140460887\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t96\t53\t43\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tATT\t.\t860\t\t\t\t\t\t\t\t\t\t\t\t\t140460887\t53.43\t3\t96\t3\t0.448\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140460887T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140460946\t140460946\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t53\t30\t23\t4\t4\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tAGA\t.\t523\t\t\t\t\t\t\t\t\t\t\t\t\t140460946\t30.23\t4\t53\t4\t0.434\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140460946G>T\tFalse\trealignment\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140460946\t140460946\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t54\t31\t23\t4\t4\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tAGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140460946\t31,23\t4,0\t54\t4\t\t\t0/1\t./.\t0.0\t0.0\t0.0\t0.0\t31.0\t4.0\t23.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140460946G>T\tFalse\trealignment\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140461114\t140461114\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t47\t33\t14\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tATA\t.\t257\t\t\t\t\t\t\t\t\t\t\t\t\t140461114\t33.14\t0\t47\t0\t0.298\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140461114T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140461114\t140461114\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t47\t33\t14\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tATA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140461114\t33,14\t0,0\t47\t0\t\t\t0/1\t./.\t0.0\t0.0\t14.0\t0.0\t0.0\t0.0\t33.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140461114T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140461114\t140461114\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t48\t33\t15\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tATA\t.\t233\t\t\t\t\t\t\t\t\t\t\t\t\t140461114\t33.15\t0\t48\t0\t0.313\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140461114T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140461126\t140461126\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t43\t30\t13\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTG\t.\t316\t\t\t\t\t\t\t\t\t\t\t\t\t140461126\t30.13\t0\t43\t0\t0.302\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140461126T>A\tTrue\tPASS\tT>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140461126\t140461126\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t43\t30\t13\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140461126\t30,13\t0,0\t43\t0\t\t\t0/1\t./.\t13.0\t0.0\t0.0\t0.0\t0.0\t0.0\t30.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140461126T>A\tTrue\tPASS\tT>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140461126\t140461126\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t44\t30\t14\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTG\t.\t310\t\t\t\t\t\t\t\t\t\t\t\t\t140461126\t30.14\t0\t44\t0\t0.318\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140461126T>A\tTrue\tPASS\tT>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140461398\t140461398\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t73\t67\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t78\t\t\t\t\t\t\t\t\t\t\t\t\t140461398\t67.6\t1\t73\t1\t0.082\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140461398T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140461398\t140461398\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t74\t68\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140461398\t68,6\t1,0\t74\t1\t\t\t0/1\t./.\t0.0\t0.0\t6.0\t0.0\t0.0\t0.0\t68.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140461398T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140461398\t140461398\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t74\t68\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t78\t\t\t\t\t\t\t\t\t\t\t\t\t140461398\t68.6\t1\t74\t1\t0.081\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140461398T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140461521\t140461521\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t73\t50\t23\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTA\t.\t367\t\t\t\t\t\t\t\t\t\t\t\t\t140461521\t50.23\t4\t73\t4\t0.315\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140461521T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140461521\t140461521\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t75\t52\t23\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140461521\t52,23\t4,0\t75\t4\t\t\t0/1\t./.\t0.0\t0.0\t23.0\t0.0\t0.0\t0.0\t52.0\t4.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140461521T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140461521\t140461521\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t73\t50\t23\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTA\t.\t268\t\t\t\t\t\t\t\t\t\t\t\t\t140461521\t50.23\t4\t73\t4\t0.315\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140461521T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140461601\t140461601\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t60\t52\t8\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATT\t.\t120\t\t\t\t\t\t\t\t\t\t\t\t\t140461601\t52.8\t2\t60\t2\t0.133\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140461601T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140461601\t140461601\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t61\t53\t8\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tATT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140461601\t53,8\t2,0\t61\t2\t\t\t0/1\t./.\t0.0\t0.0\t8.0\t0.0\t0.0\t0.0\t53.0\t2.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140461601T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140461601\t140461601\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t59\t51\t8\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATT\t.\t113\t\t\t\t\t\t\t\t\t\t\t\t\t140461601\t51.8\t2\t59\t2\t0.136\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140461601T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462172\t140462172\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t36\t30\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTG\t.\t62\t\t\t\t\t\t\t\t\t\t\t\t\t140462172\t30.6\t1\t36\t1\t0.167\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140462172T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462172\t140462172\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t38\t32\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140462172\t32,6\t1,0\t38\t1\t\t\t0/1\t./.\t0.0\t0.0\t6.0\t0.0\t0.0\t0.0\t32.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140462172T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462172\t140462172\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t45\t32\t13\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTG\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t140462172\t32.13\t1\t45\t1\t0.289\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140462172T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462228\t140462228\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t62\t42\t20\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTA\t.\t323\t\t\t\t\t\t\t\t\t\t\t\t\t140462228\t42.2\t1\t62\t1\t0.323\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140462228T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462228\t140462228\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t65\t45\t20\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140462228\t45,20\t1,0\t65\t1\t\t\t0/1\t./.\t0.0\t0.0\t20.0\t0.0\t0.0\t0.0\t45.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140462228T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462261\t140462261\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t78\t70\t8\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTC\t.\t111\t\t\t\t\t\t\t\t\t\t\t\t\t140462261\t70.8\t0\t78\t0\t0.103\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140462261T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462261\t140462261\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t79\t71\t8\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140462261\t71,8\t0,0\t79\t0\t\t\t0/1\t./.\t0.0\t0.0\t8.0\t0.0\t0.0\t0.0\t71.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140462261T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462261\t140462261\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t89\t79\t10\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTC\t.\t142\t\t\t\t\t\t\t\t\t\t\t\t\t140462261\t79.1\t0\t89\t0\t0.112\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140462261T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462289\t140462289\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t67\t47\t20\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCAA\t.\t299\t\t\t\t\t\t\t\t\t\t\t\t\t140462289\t47.2\t0\t67\t0\t0.299\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140462289A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462289\t140462289\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t77\t55\t22\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCAA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140462289\t55,22\t0,0\t77\t0\t\t\t0/1\t./.\t55.0\t0.0\t0.0\t0.0\t22.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140462289A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462289\t140462289\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t75\t51\t24\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCAA\t.\t338\t\t\t\t\t\t\t\t\t\t\t\t\t140462289\t51.24\t0\t75\t0\t0.32\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140462289A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462672\t140462672\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t73\t51\t22\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tATA\t.\t394\t\t\t\t\t\t\t\t\t\t\t\t\t140462672\t51.22\t1\t73\t1\t0.301\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140462672T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462672\t140462672\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t81\t56\t24\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tATA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140462672\t56,24\t1,0\t81\t1\t\t\t0/1\t./.\t1.0\t0.0\t24.0\t0.0\t0.0\t0.0\t56.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140462672T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462672\t140462672\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t80\t54\t26\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tATA\t.\t394\t\t\t\t\t\t\t\t\t\t\t\t\t140462672\t54.26\t1\t80\t1\t0.325\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140462672T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462903\t140462903\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t68\t62\t6\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTT\t.\t80\t\t\t\t\t\t\t\t\t\t\t\t\t140462903\t62.6\t2\t68\t2\t0.088\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140462903T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462903\t140462903\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t71\t65\t6\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140462903\t65,6\t2,0\t71\t2\t\t\t0/1\t./.\t0.0\t0.0\t6.0\t0.0\t0.0\t0.0\t65.0\t2.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140462903T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462903\t140462903\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t71\t65\t6\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTT\t.\t80\t\t\t\t\t\t\t\t\t\t\t\t\t140462903\t65.6\t2\t71\t2\t0.085\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140462903T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462909\t140462909\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t70\t63\t7\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTG\t.\t61\t\t\t\t\t\t\t\t\t\t\t\t\t140462909\t63.7\t2\t70\t2\t0.1\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140462909T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462909\t140462909\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t71\t64\t7\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140462909\t64,7\t2,0\t71\t2\t\t\t0/1\t./.\t0.0\t0.0\t7.0\t0.0\t0.0\t0.0\t64.0\t2.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140462909T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462909\t140462909\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t74\t64\t10\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTG\t.\t58\t\t\t\t\t\t\t\t\t\t\t\t\t140462909\t64.1\t2\t74\t2\t0.135\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140462909T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463129\t140463129\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t62\t60\t2\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGT\t.\t50\t\t\t\t\t\t\t\t\t\t\t\t\t140463129\t60.2\t0\t62\t0\t0.032\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140463129G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463129\t140463129\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t64\t62\t2\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140463129\t62,2\t0,0\t64\t0\t\t\t0/1\t./.\t2.0\t0.0\t0.0\t0.0\t62.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140463129G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463129\t140463129\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t64\t62\t2\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGT\t.\t50\t\t\t\t\t\t\t\t\t\t\t\t\t140463129\t62.2\t0\t64\t0\t0.031\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140463129G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463556\t140463556\t+\tIGR\tSNP\tA\tA\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t37\t35\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAG\t.\t57\t\t\t\t\t\t\t\t\t\t\t\t\t140463556\t35.2\t1\t37\t1\t0.054\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140463556A>T\tTrue\tPASS\tA>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463556\t140463556\t+\tIGR\tSNP\tA\tA\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t39\t37\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCAG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140463556\t37,2\t1,0\t39\t1\t\t\t0/1\t./.\t37.0\t1.0\t0.0\t0.0\t0.0\t0.0\t2.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140463556A>T\tTrue\tPASS\tA>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463556\t140463556\t+\tIGR\tSNP\tA\tA\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t40\t38\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAG\t.\t57\t\t\t\t\t\t\t\t\t\t\t\t\t140463556\t38.2\t1\t40\t1\t0.05\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140463556A>T\tTrue\tPASS\tA>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463629\t140463629\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t45\t37\t8\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t78\t\t\t\t\t\t\t\t\t\t\t\t\t140463629\t37.8\t1\t45\t1\t0.178\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140463629T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463629\t140463629\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t46\t38\t8\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140463629\t38,8\t1,0\t46\t1\t\t\t0/1\t./.\t0.0\t0.0\t8.0\t0.0\t0.0\t0.0\t38.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140463629T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463629\t140463629\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t48\t39\t9\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t78\t\t\t\t\t\t\t\t\t\t\t\t\t140463629\t39.9\t1\t48\t1\t0.188\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140463629T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463641\t140463641\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t42\t38\t4\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t140463641\t38.4\t1\t42\t1\t0.095\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140463641T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463641\t140463641\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t43\t39\t4\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140463641\t39,4\t1,0\t43\t1\t\t\t0/1\t./.\t0.0\t0.0\t4.0\t0.0\t0.0\t0.0\t39.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140463641T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463641\t140463641\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t45\t39\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t140463641\t39.6\t1\t45\t1\t0.133\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140463641T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463718\t140463718\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t29\t24\t5\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t86\t\t\t\t\t\t\t\t\t\t\t\t\t140463718\t24.5\t1\t29\t1\t0.172\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140463718T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463718\t140463718\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t30\t25\t5\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140463718\t25,5\t1,0\t30\t1\t\t\t0/1\t./.\t0.0\t0.0\t5.0\t0.0\t0.0\t0.0\t25.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140463718T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463718\t140463718\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t37\t28\t9\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t138\t\t\t\t\t\t\t\t\t\t\t\t\t140463718\t28.9\t1\t37\t1\t0.243\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140463718T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463763\t140463763\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t30\t24\t6\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t81\t\t\t\t\t\t\t\t\t\t\t\t\t140463763\t24.6\t0\t30\t0\t0.2\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140463763T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463763\t140463763\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t31\t25\t6\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140463763\t25,6\t0,0\t31\t0\t\t\t0/1\t./.\t0.0\t0.0\t6.0\t0.0\t0.0\t0.0\t25.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140463763T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463763\t140463763\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t35\t28\t7\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t81\t\t\t\t\t\t\t\t\t\t\t\t\t140463763\t28.7\t0\t35\t0\t0.2\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140463763T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463948\t140463949\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t20\t16\t4\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTGT\t.\t81\t\t\t\t\t\t\t\t\t\t\t\t\t140463948\t16.4\t3\t20\t3\t0.2\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140463948->T\tTrue\tPASS\t->T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463948\t140463949\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t21\t16\t4\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tLowEVS\tTGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140463948\t16,4\t3,0\t21\t3\t\t\t0/1\t./.\t\t\t\t\t\t\t\t\t16,16\t3,3\t4,4\t0,0\t1,1\t0,0\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140463948->T\tTrue\tPASS\t->T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463948\t140463949\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t20\t16\t4\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTGT\t.\t82\t\t\t\t\t\t\t\t\t\t\t\t\t140463948\t16.4\t3\t20\t3\t0.2\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140463948->T\tTrue\tPASS\t->T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464055\t140464055\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t21\t16\t5\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATT\t.\t57\t\t\t\t\t\t\t\t\t\t\t\t\t140464055\t16.5\t5\t21\t5\t0.238\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464055T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464055\t140464055\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t17\t5\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tATT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140464055\t17,5\t5,0\t22\t5\t\t\t0/1\t./.\t0.0\t0.0\t5.0\t0.0\t0.0\t0.0\t17.0\t5.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464055T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464097\t140464097\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t17\t14\t3\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTT\t.\t68\t\t\t\t\t\t\t\t\t\t\t\t\t140464097\t14.3\t3\t17\t3\t0.176\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464097T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464097\t140464097\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t15\t3\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140464097\t15,3\t3,0\t18\t3\t\t\t0/1\t./.\t0.0\t0.0\t3.0\t0.0\t0.0\t0.0\t15.0\t3.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464097T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464097\t140464097\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t27\t22\t5\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTT\t.\t66\t\t\t\t\t\t\t\t\t\t\t\t\t140464097\t22.5\t3\t27\t3\t0.185\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464097T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464098\t140464098\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t17\t12\t5\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTA\t.\t58\t\t\t\t\t\t\t\t\t\t\t\t\t140464098\t12.5\t3\t17\t3\t0.294\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464098T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464098\t140464098\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t13\t5\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140464098\t13,5\t3,0\t18\t3\t\t\t0/1\t./.\t0.0\t0.0\t5.0\t0.0\t0.0\t0.0\t13.0\t3.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464098T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464321\t140464321\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t35\t19\t16\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTT\t.\t219\t\t\t\t\t\t\t\t\t\t\t\t\t140464321\t19.16\t2\t35\t2\t0.457\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140464321T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464321\t140464321\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t35\t19\t16\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140464321\t19,16\t3,0\t35\t3\t\t\t0/1\t./.\t0.0\t0.0\t16.0\t0.0\t0.0\t0.0\t19.0\t3.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140464321T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464321\t140464321\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t38\t21\t17\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTT\t.\t214\t\t\t\t\t\t\t\t\t\t\t\t\t140464321\t21.17\t2\t38\t2\t0.447\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|sage|strelka\tminGermlineDepth|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464321T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464322\t140464322\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t38\t31\t7\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t73\t\t\t\t\t\t\t\t\t\t\t\t\t140464322\t31.7\t2\t38\t2\t0.184\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464322T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464322\t140464322\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t36\t32\t4\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140464322\t32,4\t2,0\t36\t2\t\t\t0/1\t./.\t0.0\t0.0\t4.0\t0.0\t0.0\t0.0\t32.0\t2.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464322T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464322\t140464322\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t43\t33\t10\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t108\t\t\t\t\t\t\t\t\t\t\t\t\t140464322\t33.1\t2\t43\t2\t0.233\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464322T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464537\t140464537\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t28\t24\t4\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t72\t\t\t\t\t\t\t\t\t\t\t\t\t140464537\t24.4\t2\t28\t2\t0.143\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464537T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464537\t140464537\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t30\t26\t4\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140464537\t26,4\t2,0\t30\t2\t\t\t0/1\t./.\t0.0\t0.0\t4.0\t0.0\t0.0\t0.0\t26.0\t2.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464537T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464537\t140464537\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t33\t28\t5\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t50\t\t\t\t\t\t\t\t\t\t\t\t\t140464537\t28.5\t2\t33\t2\t0.152\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464537T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464583\t140464583\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t35\t25\t10\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t69\t\t\t\t\t\t\t\t\t\t\t\t\t140464583\t25.1\t2\t35\t2\t0.286\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464583T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464583\t140464583\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t36\t26\t10\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140464583\t26,10\t2,0\t36\t2\t\t\t0/1\t./.\t0.0\t0.0\t10.0\t0.0\t0.0\t0.0\t26.0\t2.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464583T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464583\t140464583\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t42\t28\t14\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t69\t\t\t\t\t\t\t\t\t\t\t\t\t140464583\t28.14\t2\t42\t2\t0.333\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464583T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464622\t140464622\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t28\t19\t9\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTT\t.\t161\t\t\t\t\t\t\t\t\t\t\t\t\t140464622\t19.9\t1\t28\t1\t0.321\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140464622T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464622\t140464622\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t28\t19\t9\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140464622\t19,9\t1,0\t28\t1\t\t\t0/1\t./.\t0.0\t0.0\t9.0\t0.0\t0.0\t0.0\t19.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140464622T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464861\t140464861\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t20\t17\t3\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATT\t.\t64\t\t\t\t\t\t\t\t\t\t\t\t\t140464861\t17.3\t4\t20\t4\t0.15\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464861T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464861\t140464861\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t19\t3\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tATT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140464861\t19,3\t4,0\t22\t4\t\t\t0/1\t./.\t0.0\t0.0\t3.0\t0.0\t0.0\t0.0\t19.0\t4.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464861T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464861\t140464861\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t19\t3\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATT\t.\t64\t\t\t\t\t\t\t\t\t\t\t\t\t140464861\t19.3\t4\t22\t4\t0.136\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464861T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464893\t140464893\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t27\t17\t10\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTG\t.\t97\t\t\t\t\t\t\t\t\t\t\t\t\t140464893\t17.1\t3\t27\t3\t0.37\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464893T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464893\t140464893\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t28\t18\t10\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140464893\t18,10\t3,0\t28\t3\t\t\t0/1\t./.\t0.0\t0.0\t10.0\t0.0\t0.0\t0.0\t18.0\t3.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464893T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464893\t140464893\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t29\t19\t10\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTG\t.\t97\t\t\t\t\t\t\t\t\t\t\t\t\t140464893\t19.1\t3\t29\t3\t0.345\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464893T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464929\t140464929\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t33\t20\t13\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTA\t.\t175\t\t\t\t\t\t\t\t\t\t\t\t\t140464929\t20.13\t1\t33\t1\t0.394\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140464929T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464929\t140464929\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t33\t20\t13\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140464929\t20,13\t3,0\t33\t3\t\t\t0/1\t./.\t0.0\t0.0\t13.0\t0.0\t0.0\t0.0\t20.0\t3.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140464929T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464929\t140464929\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t34\t20\t14\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t128\t\t\t\t\t\t\t\t\t\t\t\t\t140464929\t20.14\t1\t34\t1\t0.412\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464929T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140465241\t140465241\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t49\t46\t3\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t62\t\t\t\t\t\t\t\t\t\t\t\t\t140465241\t46.3\t1\t49\t1\t0.061\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140465241T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140465241\t140465241\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t53\t50\t3\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140465241\t50,3\t1,0\t53\t1\t\t\t0/1\t./.\t0.0\t0.0\t3.0\t0.0\t0.0\t0.0\t50.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140465241T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140465241\t140465241\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t57\t51\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t87\t\t\t\t\t\t\t\t\t\t\t\t\t140465241\t51.6\t1\t57\t1\t0.105\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140465241T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140465388\t140465388\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t49\t42\t7\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t91\t\t\t\t\t\t\t\t\t\t\t\t\t140465388\t42.7\t1\t49\t1\t0.143\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140465388T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140465388\t140465388\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t52\t47\t5\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140465388\t47,5\t1,0\t52\t1\t\t\t0/1\t./.\t0.0\t0.0\t5.0\t0.0\t0.0\t0.0\t47.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140465388T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140465388\t140465388\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t49\t41\t8\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t83\t\t\t\t\t\t\t\t\t\t\t\t\t140465388\t41.8\t1\t49\t1\t0.163\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140465388T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140465405\t140465405\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t68\t54\t14\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTG\t.\t221\t\t\t\t\t\t\t\t\t\t\t\t\t140465405\t54.14\t1\t68\t1\t0.206\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140465405T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140465405\t140465405\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t71\t57\t14\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140465405\t57,14\t1,0\t71\t1\t\t\t0/1\t./.\t0.0\t0.0\t14.0\t0.0\t0.0\t0.0\t57.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140465405T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140465405\t140465405\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t68\t55\t13\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTG\t.\t211\t\t\t\t\t\t\t\t\t\t\t\t\t140465405\t55.13\t1\t68\t1\t0.191\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140465405T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140465442\t140465442\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t100\t78\t22\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTA\t.\t371\t\t\t\t\t\t\t\t\t\t\t\t\t140465442\t78.22\t1\t100\t1\t0.22\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140465442T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140465442\t140465442\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t101\t78\t22\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140465442\t78,22\t1,0\t101\t1\t\t\t0/1\t./.\t0.0\t0.0\t22.0\t0.0\t0.0\t0.0\t78.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140465442T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140465442\t140465442\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t100\t77\t23\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTA\t.\t297\t\t\t\t\t\t\t\t\t\t\t\t\t140465442\t77.23\t1\t100\t1\t0.23\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140465442T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140465570\t140465574\t+\tIGR\tDEL\tACTAG\tACTAG\t-\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tACTAG\tACTAG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t35\t26\t9\t1\t1\t0\t\t-\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tdeletion\t\t\t\t\t\tminGermlineDepth\tATACTAGA\t.\t208\t\t\t\t\t\t\t\t\t\t\t\t\t140465569\t26.9\t1\t35\t1\t0.257\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140465570ACTAG>-\tFalse\trealignment\tACTAG>-\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140465570\t140465574\t+\tIGR\tDEL\tACTAG\tACTAG\t-\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tACTAG\tACTAG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t38\t25\t9\t1\t1\t0\t\t-\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tdeletion\t\t\t\t\t\tLowDepth;LowEVS\tATACTAGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140465569\t25,9\t1,0\t38\t1\t\t\t0/1\t./.\t\t\t\t\t\t\t\t\t25,26\t1,1\t9,9\t0,0\t2,1\t0,0\tstrelka\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140465570ACTAG>-\tFalse\trealignment\tACTAG>-\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140465908\t140465908\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24\t17\t7\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t84\t\t\t\t\t\t\t\t\t\t\t\t\t140465908\t17.7\t1\t24\t1\t0.292\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140465908T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140465908\t140465908\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t27\t19\t8\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140465908\t19,8\t1,0\t27\t1\t\t\t0/1\t./.\t0.0\t0.0\t8.0\t0.0\t0.0\t0.0\t19.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140465908T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140465908\t140465908\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t27\t17\t10\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t98\t\t\t\t\t\t\t\t\t\t\t\t\t140465908\t17.1\t1\t27\t1\t0.37\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140465908T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140466098\t140466098\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t39\t31\t8\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tATA\t.\t164\t\t\t\t\t\t\t\t\t\t\t\t\t140466098\t31.8\t0\t39\t0\t0.205\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140466098T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140466098\t140466098\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t39\t31\t8\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tATA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140466098\t31,8\t0,0\t39\t0\t\t\t0/1\t./.\t0.0\t0.0\t8.0\t0.0\t0.0\t0.0\t31.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140466098T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140466098\t140466098\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t39\t31\t8\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATA\t.\t138\t\t\t\t\t\t\t\t\t\t\t\t\t140466098\t31.8\t0\t39\t0\t0.205\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140466098T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140467348\t140467348\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t32\t25\t7\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTT\t.\t120\t\t\t\t\t\t\t\t\t\t\t\t\t140467348\t25.7\t0\t32\t0\t0.219\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140467348T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140467348\t140467348\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t32\t25\t7\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140467348\t25,7\t0,0\t32\t0\t\t\t0/1\t./.\t0.0\t0.0\t7.0\t0.0\t0.0\t0.0\t25.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140467348T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140467348\t140467348\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t40\t28\t12\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTT\t.\t136\t\t\t\t\t\t\t\t\t\t\t\t\t140467348\t28.12\t0\t40\t0\t0.3\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140467348T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140467558\t140467558\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t49\t33\t16\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;strandBias\tGTA\t.\t266\t\t\t\t\t\t\t\t\t\t\t\t\t140467558\t33.16\t0\t49\t0\t0.327\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;strandBias|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140467558T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140467558\t140467558\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t50\t34\t16\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140467558\t34,16\t0,0\t50\t0\t\t\t0/1\t./.\t0.0\t0.0\t16.0\t0.0\t0.0\t0.0\t34.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;strandBias|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140467558T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140467558\t140467558\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t52\t34\t17\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTA\t.\t284\t\t\t\t\t\t\t\t\t\t\t\t\t140467558\t34.17\t0\t52\t0\t0.327\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140467558T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140468358\t140468358\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t87\t61\t26\t5\t3\t2\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tmaxGermlineRelRawBaseQual;maxGermlineVAF;minGermlineDepth\tGTG\t.\t412\t\t\t\t\t\t\t\t\t\t\t\t\t140468358\t61.26\t3.2\t87\t5\t0.299\t0.4\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tmaxGermlineRelRawBaseQual;maxGermlineVAF;minGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140468358T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140468358\t140468358\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t87\t61\t26\t5\t3\t2\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140468358\t61,26\t3,2\t87\t5\t\t\t0/1\t./.\t0.0\t0.0\t26.0\t2.0\t0.0\t0.0\t61.0\t3.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tmaxGermlineRelRawBaseQual;maxGermlineVAF;minGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140468358T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140468358\t140468358\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t90\t63\t27\t5\t3\t2\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tmaxGermlineRelRawBaseQual;maxGermlineVAF;minGermlineDepth\tGTG\t.\t432\t\t\t\t\t\t\t\t\t\t\t\t\t140468358\t63.27\t3.2\t90\t5\t0.3\t0.4\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tmaxGermlineRelRawBaseQual;maxGermlineVAF;minGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140468358T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140468848\t140468848\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t44\t42\t2\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGA\t.\t54\t\t\t\t\t\t\t\t\t\t\t\t\t140468848\t42.2\t0\t44\t0\t0.045\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140468848G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140468848\t140468848\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t45\t43\t2\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140468848\t43,2\t0,0\t45\t0\t\t\t0/1\t./.\t0.0\t0.0\t0.0\t0.0\t43.0\t0.0\t2.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140468848G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140468848\t140468848\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t48\t46\t2\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGA\t.\t54\t\t\t\t\t\t\t\t\t\t\t\t\t140468848\t46.2\t0\t48\t0\t0.042\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140468848G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140469137\t140469137\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t14\t8\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t104\t\t\t\t\t\t\t\t\t\t\t\t\t140469137\t14.8\t2\t22\t2\t0.364\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140469137T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140469137\t140469137\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t14\t8\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140469137\t14,8\t2,0\t22\t2\t\t\t0/1\t./.\t0.0\t0.0\t8.0\t0.0\t0.0\t0.0\t14.0\t2.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140469137T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140469137\t140469137\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t29\t17\t12\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t158\t\t\t\t\t\t\t\t\t\t\t\t\t140469137\t17.12\t2\t29\t2\t0.414\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140469137T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140469696\t140469696\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t30\t25\t5\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t64\t\t\t\t\t\t\t\t\t\t\t\t\t140469696\t25.5\t2\t30\t2\t0.167\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140469696T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140469696\t140469696\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t30\t25\t5\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140469696\t25,5\t2,0\t30\t2\t\t\t0/1\t./.\t0.0\t0.0\t5.0\t0.0\t0.0\t0.0\t25.0\t2.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140469696T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140469696\t140469696\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t34\t28\t6\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t64\t\t\t\t\t\t\t\t\t\t\t\t\t140469696\t28.6\t2\t34\t2\t0.176\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140469696T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140469796\t140469796\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t36\t30\t6\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATG\t.\t100\t\t\t\t\t\t\t\t\t\t\t\t\t140469796\t30.6\t4\t36\t4\t0.167\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140469796T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140469796\t140469796\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t36\t30\t6\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tATG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140469796\t30,6\t4,0\t36\t4\t\t\t0/1\t./.\t0.0\t0.0\t6.0\t0.0\t0.0\t0.0\t30.0\t4.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140469796T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140469796\t140469796\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t44\t36\t8\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATG\t.\t112\t\t\t\t\t\t\t\t\t\t\t\t\t140469796\t36.8\t5\t44\t5\t0.182\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140469796T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140469814\t140469814\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t35\t31\t4\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t80\t\t\t\t\t\t\t\t\t\t\t\t\t140469814\t31.4\t4\t35\t4\t0.114\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140469814T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140469814\t140469814\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t36\t32\t4\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140469814\t32,4\t5,0\t36\t5\t\t\t0/1\t./.\t0.0\t0.0\t4.0\t0.0\t0.0\t0.0\t32.0\t5.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140469814T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140469814\t140469814\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t43\t38\t5\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t98\t\t\t\t\t\t\t\t\t\t\t\t\t140469814\t38.5\t5\t43\t5\t0.116\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140469814T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140469929\t140469929\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t29\t13\t16\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tATC\t.\t257\t\t\t\t\t\t\t\t\t\t\t\t\t140469929\t13.16\t1\t29\t1\t0.552\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|consensus|consensus\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth\tFAIL\tTrue\tchr7:g.140469929T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140469929\t140469929\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t1\t0\t1\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tATC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140469929\t0.1\t1\t1\t1\t\t\t1/1\t./.\t0.0\t0.0\t1.0\t0.0\t0.0\t0.0\t0.0\t1.0\t\t\t\t\t\t\tconsensus\tsage|consensus|consensus\tminGermlineDepth|LowDepth;LowEVS|minGermlineDepth\tFAIL\tTrue\tchr7:g.140469929T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140469929\t140469929\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t43\t14\t29\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tATC\t.\t422\t\t\t\t\t\t\t\t\t\t\t\t\t140469929\t14.29\t1\t43\t1\t0.674\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140469929T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140470105\t140470105\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t49\t41\t8\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t86\t\t\t\t\t\t\t\t\t\t\t\t\t140470105\t41.8\t3\t49\t3\t0.163\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140470105T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140470105\t140470105\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t50\t42\t8\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140470105\t42,8\t3,0\t50\t3\t\t\t0/1\t./.\t0.0\t0.0\t8.0\t0.0\t0.0\t0.0\t42.0\t3.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140470105T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140470105\t140470105\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t61\t51\t10\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t86\t\t\t\t\t\t\t\t\t\t\t\t\t140470105\t51.1\t5\t61\t5\t0.164\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140470105T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140471522\t140471522\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t6\t3\t3\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGCG\t.\t53\t\t\t\t\t\t\t\t\t\t\t\t\t140471522\t3.3\t1\t6\t1\t0.5\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140471522C>T\tFalse\trealignment\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140471522\t140471522\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t6\t3\t3\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGCG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140471522\t3,3\t2,0\t6\t2\t\t\t0/1\t./.\t0.0\t0.0\t3.0\t2.0\t0.0\t0.0\t3.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140471522C>T\tFalse\trealignment\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140471608\t140471608\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t19\t15\t4\t6\t6\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTA\t.\t89\t\t\t\t\t\t\t\t\t\t\t\t\t140471608\t15.4\t6\t19\t6\t0.211\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140471608T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140471608\t140471608\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t19\t15\t4\t6\t6\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140471608\t15,4\t6,0\t19\t6\t\t\t0/1\t./.\t0.0\t0.0\t4.0\t0.0\t0.0\t0.0\t15.0\t6.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140471608T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140471608\t140471608\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t19\t15\t4\t6\t6\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTA\t.\t73\t\t\t\t\t\t\t\t\t\t\t\t\t140471608\t15.4\t6\t19\t6\t0.211\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140471608T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140471673\t140471673\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24\t13\t11\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTT\t.\t182\t\t\t\t\t\t\t\t\t\t\t\t\t140471673\t13.11\t5\t24\t5\t0.458\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140471673T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140471673\t140471673\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24\t13\t11\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140471673\t13,11\t5,0\t24\t5\t\t\t0/1\t./.\t0.0\t0.0\t11.0\t0.0\t0.0\t0.0\t13.0\t5.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140471673T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140471673\t140471673\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t25\t13\t12\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTT\t.\t182\t\t\t\t\t\t\t\t\t\t\t\t\t140471673\t13.12\t5\t25\t5\t0.48\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140471673T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140473302\t140473302\t+\tIGR\tSNP\tT\tT\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t8\t5\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTC\t.\t75\t\t\t\t\t\t\t\t\t\t\t\t\t140473302\t8.5\t3\t13\t3\t0.385\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka|consensus|consensus\tminGermlineDepth;minTumorQual|LowEVS|LowDepth;LowEVS|minGermlineDepth;minTumorQual\tFAIL\tTrue\tchr7:g.140473302T>G\tTrue\tPASS\tT>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140473302\t140473302\t+\tIGR\tSNP\tT\tT\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t8\t5\t4\t4\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTTC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140473302\t8,5\t4,0\t13\t4\t\t\t0/1\t./.\t0.0\t0.0\t0.0\t0.0\t5.0\t0.0\t8.0\t4.0\t\t\t\t\t\t\tstrelka\tsage|strelka|consensus|consensus\tminGermlineDepth;minTumorQual|LowEVS|LowDepth;LowEVS|minGermlineDepth;minTumorQual\tFAIL\tTrue\tchr7:g.140473302T>G\tTrue\tPASS\tT>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140473302\t140473302\t+\tIGR\tSNP\tT\tG\tG\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t1\t0\t1\t4\t4\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTTC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140473302\t0.1\t4\t1\t4\t\t\t1/1\t./.\t0.0\t0.0\t0.0\t0.0\t1.0\t0.0\t0.0\t4.0\t\t\t\t\t\t\tconsensus\tsage|strelka|consensus|consensus\tminGermlineDepth;minTumorQual|LowEVS|LowDepth;LowEVS|minGermlineDepth;minTumorQual\tFAIL\tTrue\tchr7:g.140473302T>G\tTrue\tPASS\tT>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140473302\t140473302\t+\tIGR\tSNP\tT\tT\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t8\t5\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTC\t.\t75\t\t\t\t\t\t\t\t\t\t\t\t\t140473302\t8.5\t3\t13\t3\t0.385\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140473302T>G\tTrue\tPASS\tT>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140482602\t140482602\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t3\t5\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAA\t.\t89\t\t\t\t\t\t\t\t\t\t\t\t\t140482602\t3.5\t3\t8\t3\t0.625\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140482602A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140482602\t140482602\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t3\t5\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tAAA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140482602\t3,5\t3,0\t8\t3\t\t\t0/1\t./.\t3.0\t3.0\t0.0\t0.0\t5.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140482602A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140482602\t140482602\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t9\t4\t5\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAA\t.\t87\t\t\t\t\t\t\t\t\t\t\t\t\t140482602\t4.5\t3\t9\t3\t0.556\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140482602A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140483770\t140483770\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t14\t4\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAG\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t140483770\t14.4\t0\t18\t0\t0.222\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140483770A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140483770\t140483770\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t14\t4\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCAG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140483770\t14,4\t0,0\t18\t0\t\t\t0/1\t./.\t14.0\t0.0\t0.0\t0.0\t4.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140483770A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140483770\t140483770\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t14\t4\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAG\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t140483770\t14.4\t0\t18\t0\t0.222\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140483770A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140627464\t140627464\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t1\t4\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t73\t\t\t\t\t\t\t\t\t\t\t\t\t140627464\t1.4\t1\t5\t1\t0.8\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140627464T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140627464\t140627464\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t1\t4\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140627464\t1,4\t1,0\t5\t1\t\t\t1/1\t./.\t0.0\t0.0\t4.0\t0.0\t0.0\t0.0\t1.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140627464T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140627464\t140627464\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t1\t4\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t60\t\t\t\t\t\t\t\t\t\t\t\t\t140627464\t1.4\t1\t5\t1\t0.8\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140627464T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140693790\t140693790\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t62\t58\t4\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAG\t.\t73\t\t\t\t\t\t\t\t\t\t\t\t\t140693790\t58.4\t1\t62\t1\t0.065\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140693790A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140693790\t140693790\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t62\t58\t4\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAAG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140693790\t58,4\t1,0\t62\t1\t\t\t0/1\t./.\t58.0\t1.0\t0.0\t0.0\t4.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140693790A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140693790\t140693790\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t62\t58\t4\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAG\t.\t68\t\t\t\t\t\t\t\t\t\t\t\t\t140693790\t58.4\t1\t62\t1\t0.065\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140693790A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140694204\t140694204\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t23\t17\t6\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAG\t.\t67\t\t\t\t\t\t\t\t\t\t\t\t\t140694204\t17.6\t1\t23\t1\t0.261\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140694204A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140694204\t140694204\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t25\t19\t6\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAAG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140694204\t19,6\t1,0\t25\t1\t\t\t0/1\t./.\t19.0\t1.0\t0.0\t0.0\t6.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140694204A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140694204\t140694204\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24\t17\t7\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAG\t.\t75\t\t\t\t\t\t\t\t\t\t\t\t\t140694204\t17.7\t1\t24\t1\t0.292\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140694204A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140697866\t140697866\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t56\t46\t10\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tAAC\t.\t163\t\t\t\t\t\t\t\t\t\t\t\t\t140697866\t46.1\t0\t56\t0\t0.179\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140697866A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140697866\t140697866\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t57\t46\t10\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAAC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140697866\t46,10\t0,0\t57\t0\t\t\t0/1\t./.\t46.0\t0.0\t0.0\t0.0\t10.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140697866A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140697866\t140697866\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t56\t46\t10\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tAAC\t.\t163\t\t\t\t\t\t\t\t\t\t\t\t\t140697866\t46.1\t0\t56\t0\t0.179\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140697866A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140697921\t140697921\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t56\t48\t8\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTAA\t.\t103\t\t\t\t\t\t\t\t\t\t\t\t\t140697921\t48.8\t0\t56\t0\t0.143\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140697921A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140697921\t140697921\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t58\t50\t8\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTAA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140697921\t50,8\t0,0\t58\t0\t\t\t0/1\t./.\t50.0\t0.0\t0.0\t0.0\t8.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140697921A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140697921\t140697921\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t56\t48\t8\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTAA\t.\t98\t\t\t\t\t\t\t\t\t\t\t\t\t140697921\t48.8\t0\t56\t0\t0.143\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140697921A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140697935\t140697935\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t48\t45\t3\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAG\t.\t58\t\t\t\t\t\t\t\t\t\t\t\t\t140697935\t45.3\t0\t48\t0\t0.063\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140697935A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140697935\t140697935\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t56\t53\t3\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAAG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140697935\t53,3\t0,0\t56\t0\t\t\t0/1\t./.\t53.0\t0.0\t0.0\t0.0\t3.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140697935A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140697935\t140697935\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t49\t45\t4\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAG\t.\t62\t\t\t\t\t\t\t\t\t\t\t\t\t140697935\t45.4\t0\t49\t0\t0.082\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140697935A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140697987\t140697987\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t87\t82\t5\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t76\t\t\t\t\t\t\t\t\t\t\t\t\t140697987\t82.5\t2\t87\t2\t0.057\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140697987T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140697987\t140697987\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t87\t82\t5\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140697987\t82,5\t2,0\t87\t2\t\t\t0/1\t./.\t0.0\t0.0\t5.0\t0.0\t0.0\t0.0\t82.0\t2.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140697987T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140697987\t140697987\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t88\t83\t5\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t76\t\t\t\t\t\t\t\t\t\t\t\t\t140697987\t83.5\t2\t88\t2\t0.057\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140697987T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140699078\t140699078\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t21\t17\t4\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGAG\t.\t59\t\t\t\t\t\t\t\t\t\t\t\t\t140699078\t17.4\t2\t21\t2\t0.19\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140699078A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140699078\t140699078\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t21\t17\t4\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGAG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140699078\t17,4\t3,0\t21\t3\t\t\t0/1\t./.\t17.0\t3.0\t0.0\t0.0\t4.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140699078A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140699078\t140699078\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t20\t16\t4\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGAG\t.\t52\t\t\t\t\t\t\t\t\t\t\t\t\t140699078\t16.4\t2\t20\t2\t0.2\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140699078A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140700126\t140700127\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t66\t61\t5\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTCT\t.\t61\t\t\t\t\t\t\t\t\t\t\t\t\t140700126\t61.5\t1\t66\t1\t0.076\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140700126->T\tFalse\trealignment\t->T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140700126\t140700127\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t69\t58\t5\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tLowDepth;LowEVS\tTCT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140700126\t58,5\t1,0\t69\t1\t\t\t0/1\t./.\t\t\t\t\t\t\t\t\t58,58\t1,1\t5,5\t0,0\t6,6\t0,0\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140700126->T\tFalse\trealignment\t->T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140700146\t140700146\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t69\t64\t5\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAG\t.\t65\t\t\t\t\t\t\t\t\t\t\t\t\t140700146\t64.5\t1\t69\t1\t0.072\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140700146A>G\tFalse\trealignment\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140700146\t140700146\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t69\t60\t5\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCAG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140700146\t60,5\t1,0\t69\t1\t\t\t0/1\t./.\t60.0\t1.0\t0.0\t0.0\t5.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140700146A>G\tFalse\trealignment\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140700180\t140700180\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t49\t45\t4\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t86\t\t\t\t\t\t\t\t\t\t\t\t\t140700180\t45.4\t1\t49\t1\t0.082\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140700180A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140700180\t140700180\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t59\t51\t4\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140700180\t51,4\t1,0\t59\t1\t\t\t0/1\t./.\t51.0\t1.0\t0.0\t0.0\t4.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140700180A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140700180\t140700180\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t51\t45\t6\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t118\t\t\t\t\t\t\t\t\t\t\t\t\t140700180\t45.6\t1\t51\t1\t0.118\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140700180A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140700193\t140700193\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t38\t25\t13\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAG\t.\t131\t\t\t\t\t\t\t\t\t\t\t\t\t140700193\t25.13\t1\t38\t1\t0.342\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140700193A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140700193\t140700193\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t47\t29\t15\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCAG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140700193\t29,15\t1,0\t47\t1\t\t\t0/1\t./.\t29.0\t1.0\t0.0\t0.0\t15.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140700193A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140700193\t140700193\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t39\t25\t14\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAG\t.\t125\t\t\t\t\t\t\t\t\t\t\t\t\t140700193\t25.14\t1\t39\t1\t0.359\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140700193A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140700201\t140700201\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t36\t25\t11\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAC\t.\t145\t\t\t\t\t\t\t\t\t\t\t\t\t140700201\t25.11\t1\t36\t1\t0.306\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140700201A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140700201\t140700201\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t38\t25\t11\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCAC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140700201\t25,11\t1,0\t38\t1\t\t\t0/1\t./.\t25.0\t1.0\t0.0\t0.0\t11.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140700201A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140700201\t140700201\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t37\t25\t12\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAC\t.\t151\t\t\t\t\t\t\t\t\t\t\t\t\t140700201\t25.12\t1\t37\t1\t0.324\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140700201A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140700223\t140700223\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t9\t4\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAA\t.\t79\t\t\t\t\t\t\t\t\t\t\t\t\t140700223\t9.4\t1\t13\t1\t0.308\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140700223A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140700223\t140700223\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t9\t4\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCAA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140700223\t9,4\t1,0\t13\t1\t\t\t0/1\t./.\t9.0\t1.0\t0.0\t0.0\t4.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140700223A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140700223\t140700223\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t9\t4\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAA\t.\t79\t\t\t\t\t\t\t\t\t\t\t\t\t140700223\t9.4\t1\t13\t1\t0.308\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140700223A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140701589\t140701589\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t74\t71\t3\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTAA\t.\t53\t\t\t\t\t\t\t\t\t\t\t\t\t140701589\t71.3\t1\t74\t1\t0.041\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140701589A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140701589\t140701589\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t79\t76\t3\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTAA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140701589\t76,3\t1,0\t79\t1\t\t\t0/1\t./.\t76.0\t1.0\t0.0\t0.0\t3.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140701589A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140701589\t140701589\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t78\t75\t3\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTAA\t.\t53\t\t\t\t\t\t\t\t\t\t\t\t\t140701589\t75.3\t1\t78\t1\t0.038\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140701589A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140701590\t140701590\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t74\t65\t9\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAG\t.\t88\t\t\t\t\t\t\t\t\t\t\t\t\t140701590\t65.9\t1\t74\t1\t0.122\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140701590A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140701590\t140701590\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t78\t69\t9\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAAG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140701590\t69,9\t1,0\t78\t1\t\t\t0/1\t./.\t69.0\t1.0\t0.0\t0.0\t9.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140701590A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140701590\t140701590\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t78\t69\t9\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAG\t.\t65\t\t\t\t\t\t\t\t\t\t\t\t\t140701590\t69.9\t1\t78\t1\t0.115\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140701590A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140724780\t140724780\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t151\t91\t60\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tPASS\tCTT\t.\t963\t\t\t\t\t\t\t\t\t\t\t\t\t140724780\t91.6\t0\t151\t0\t0.397\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tPASS|LowDepth;LowEVS\tPASS\tTrue\tchr7:g.140724780T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140724780\t140724780\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t155\t97\t58\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140724780\t97,58\t0,0\t155\t0\t\t\t0/1\t./.\t0.0\t0.0\t58.0\t0.0\t0.0\t0.0\t97.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tPASS|LowDepth;LowEVS\tPASS\tTrue\tchr7:g.140724780T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140724780\t140724780\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t151\t90\t61\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tPASS\tCTT\t.\t937\t\t\t\t\t\t\t\t\t\t\t\t\t140724780\t90.61\t0\t151\t0\t0.404\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tPASS|LowDepth;LowEVS\tPASS\tTrue\tchr7:g.140724780T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140729191\t140729191\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t20\t17\t3\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t62\t\t\t\t\t\t\t\t\t\t\t\t\t140729191\t17.3\t0\t20\t0\t0.15\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140729191T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140729191\t140729191\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t20\t17\t3\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140729191\t17,3\t0,0\t20\t0\t\t\t0/1\t./.\t0.0\t0.0\t3.0\t0.0\t0.0\t0.0\t17.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140729191T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140729191\t140729191\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24\t20\t4\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t62\t\t\t\t\t\t\t\t\t\t\t\t\t140729191\t20.4\t0\t24\t0\t0.167\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140729191T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140790274\t140790274\t+\tIGR\tSNP\tA\tC\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t1\t4\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAC\t.\t83\t\t\t\t\t\t\t\t\t\t\t\t\t140790274\t1.4\t2\t5\t2\t0.8\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140790274A>C\tTrue\tPASS\tA>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140790274\t140790274\t+\tIGR\tSNP\tA\tC\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t1\t4\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tAAC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140790274\t1,4\t2,0\t5\t2\t\t\t1/1\t./.\t1.0\t2.0\t4.0\t0.0\t0.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140790274A>C\tTrue\tPASS\tA>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140790274\t140790274\t+\tIGR\tSNP\tA\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t1\t6\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAC\t.\t86\t\t\t\t\t\t\t\t\t\t\t\t\t140790274\t1.6\t2\t7\t2\t0.857\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140790274A>C\tTrue\tPASS\tA>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140798704\t140798704\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t48\t41\t7\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t147\t\t\t\t\t\t\t\t\t\t\t\t\t140798704\t41.7\t0\t48\t0\t0.146\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140798704T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140798704\t140798704\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t49\t42\t7\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140798704\t42,7\t0,0\t49\t0\t\t\t0/1\t./.\t0.0\t0.0\t7.0\t0.0\t0.0\t0.0\t42.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140798704T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140798704\t140798704\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t52\t45\t7\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t147\t\t\t\t\t\t\t\t\t\t\t\t\t140798704\t45.7\t0\t52\t0\t0.135\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140798704T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140811128\t140811128\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t47\t45\t2\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTA\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t140811128\t45.2\t4\t47\t4\t0.043\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140811128T>A\tTrue\tPASS\tT>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140811128\t140811128\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t56\t54\t2\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140811128\t54,2\t4,0\t56\t4\t\t\t0/1\t./.\t2.0\t0.0\t0.0\t0.0\t0.0\t0.0\t54.0\t4.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140811128T>A\tTrue\tPASS\tT>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140811128\t140811128\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t47\t45\t2\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTA\t.\t52\t\t\t\t\t\t\t\t\t\t\t\t\t140811128\t45.2\t4\t47\t4\t0.043\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140811128T>A\tTrue\tPASS\tT>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140816975\t140816976\t+\tIGR\tINS\t-\t-\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t63\t51\t8\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tmaxGermlineRelRawBaseQual;minGermlineDepth;minTumorQual\tAGA\t.\t99\t\t\t\t\t\t\t\t\t\t\t\t\t140816975\t51.8\t1\t63\t1\t0.127\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tmaxGermlineRelRawBaseQual;minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140816975->A\tTrue\tPASS\t->A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140816975\t140816976\t+\tIGR\tINS\t-\t-\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t67\t56\t8\t2\t1\t1\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tLowEVS\tAGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140816975\t56,8\t1,1\t67\t2\t\t\t0/1\t./.\t\t\t\t\t\t\t\t\t56,57\t1,1\t8,8\t1,1\t3,2\t0,0\tstrelka\tsage|strelka\tmaxGermlineRelRawBaseQual;minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140816975->A\tTrue\tPASS\t->A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140816975\t140816976\t+\tIGR\tINS\t-\t-\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t66\t58\t8\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGA\t.\t90\t\t\t\t\t\t\t\t\t\t\t\t\t140816975\t58.8\t1\t66\t1\t0.121\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140816975->A\tTrue\tPASS\t->A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140820737\t140820737\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t38\t27\t11\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t86\t\t\t\t\t\t\t\t\t\t\t\t\t140820737\t27.11\t3\t38\t3\t0.289\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140820737T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140820737\t140820737\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t38\t27\t10\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140820737\t27,10\t3,0\t38\t3\t\t\t0/1\t./.\t0.0\t0.0\t10.0\t0.0\t0.0\t0.0\t27.0\t3.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140820737T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140820737\t140820737\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t39\t28\t11\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t86\t\t\t\t\t\t\t\t\t\t\t\t\t140820737\t28.11\t3\t39\t3\t0.282\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140820737T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140820825\t140820825\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t33\t27\t6\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t73\t\t\t\t\t\t\t\t\t\t\t\t\t140820825\t27.6\t0\t33\t0\t0.182\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140820825T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140820825\t140820825\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t33\t26\t6\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140820825\t26,6\t0,0\t33\t0\t\t\t0/1\t./.\t0.0\t0.0\t6.0\t0.0\t1.0\t0.0\t26.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140820825T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140820825\t140820825\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t35\t29\t6\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t76\t\t\t\t\t\t\t\t\t\t\t\t\t140820825\t29.6\t0\t35\t0\t0.171\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140820825T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140821130\t140821130\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t29\t19\t10\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t152\t\t\t\t\t\t\t\t\t\t\t\t\t140821130\t19.1\t1\t29\t1\t0.345\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140821130T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140821130\t140821130\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t30\t20\t10\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140821130\t20,10\t1,0\t30\t1\t\t\t0/1\t./.\t0.0\t0.0\t10.0\t0.0\t0.0\t0.0\t20.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140821130T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140821130\t140821130\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t34\t22\t12\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTA\t.\t160\t\t\t\t\t\t\t\t\t\t\t\t\t140821130\t22.12\t1\t34\t1\t0.353\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140821130T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140821182\t140821182\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t34\t23\t11\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTT\t.\t203\t\t\t\t\t\t\t\t\t\t\t\t\t140821182\t23.11\t1\t34\t1\t0.324\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140821182T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140821182\t140821182\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t35\t24\t11\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tGTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140821182\t24,11\t1,0\t35\t1\t\t\t0/1\t./.\t0.0\t0.0\t11.0\t0.0\t0.0\t0.0\t24.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140821182T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140821182\t140821182\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t42\t27\t15\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTT\t.\t297\t\t\t\t\t\t\t\t\t\t\t\t\t140821182\t27.15\t1\t42\t1\t0.357\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140821182T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140821203\t140821203\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t26\t17\t9\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t107\t\t\t\t\t\t\t\t\t\t\t\t\t140821203\t17.9\t1\t26\t1\t0.346\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140821203T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140821203\t140821203\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t26\t17\t9\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140821203\t17,9\t1,0\t26\t1\t\t\t0/1\t./.\t0.0\t0.0\t9.0\t0.0\t0.0\t0.0\t17.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140821203T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140821203\t140821203\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t34\t22\t12\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t119\t\t\t\t\t\t\t\t\t\t\t\t\t140821203\t22.12\t1\t34\t1\t0.353\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140821203T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140822317\t140822317\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t87\t85\t2\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual;minTumorVAF\tAGA\t.\t58\t\t\t\t\t\t\t\t\t\t\t\t\t140822317\t85.2\t0\t87\t0\t0.023\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual;minTumorVAF|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140822317G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140822317\t140822317\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t88\t86\t2\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140822317\t86,2\t0,0\t88\t0\t\t\t0/1\t./.\t0.0\t0.0\t0.0\t0.0\t86.0\t0.0\t2.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual;minTumorVAF|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140822317G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140822317\t140822317\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t88\t85\t3\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGA\t.\t65\t\t\t\t\t\t\t\t\t\t\t\t\t140822317\t85.3\t0\t88\t0\t0.034\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140822317G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140822996\t140822997\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t55\t49\t6\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t84\t\t\t\t\t\t\t\t\t\t\t\t\t140822996\t49.6\t1\t55\t1\t0.109\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140822996->T\tTrue\tPASS\t->T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140822996\t140822997\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t62\t51\t6\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tLowDepth;LowEVS\tAAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140822996\t51,6\t1,0\t62\t1\t\t\t0/1\t./.\t\t\t\t\t\t\t\t\t51,51\t1,1\t6,6\t0,0\t5,5\t0,0\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140822996->T\tTrue\tPASS\t->T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140822996\t140822997\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t56\t50\t6\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t82\t\t\t\t\t\t\t\t\t\t\t\t\t140822996\t50.6\t1\t56\t1\t0.107\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140822996->T\tTrue\tPASS\t->T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140827904\t140827905\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t40\t32\t8\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth\tTAT\t.\t163\t\t\t\t\t\t\t\t\t\t\t\t\t140827904\t32.8\t1\t40\t1\t0.2\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140827904->T\tTrue\tPASS\t->T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140827904\t140827905\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t43\t30\t8\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tLowDepth;LowEVS\tTAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140827904\t30,8\t1,0\t43\t1\t\t\t0/1\t./.\t\t\t\t\t\t\t\t\t30,32\t1,1\t8,8\t0,0\t6,4\t0,0\tstrelka\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140827904->T\tTrue\tPASS\t->T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140827904\t140827905\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t45\t36\t8\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTAT\t.\t109\t\t\t\t\t\t\t\t\t\t\t\t\t140827904\t36.8\t1\t45\t1\t0.178\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140827904->T\tTrue\tPASS\t->T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140828517\t140828517\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t59\t24\t35\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGAT\t.\t753\t\t\t\t\t\t\t\t\t\t\t\t\t140828517\t24.35\t1\t59\t1\t0.593\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|consensus|consensus\tminGermlineDepth|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140828517A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140828517\t140828517\t+\tIGR\tSNP\tA\tG\tG\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t0\t4\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGAT\t.\t70\t\t\t\t\t\t\t\t\t\t\t\t\t140828517\t0.4\t1\t4\t1\t1.0\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconsensus\tsage|consensus|consensus\tminGermlineDepth|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140828517A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140828517\t140828517\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t60\t24\t36\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGAT\t.\t753\t\t\t\t\t\t\t\t\t\t\t\t\t140828517\t24.36\t1\t60\t1\t0.6\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|consensus|consensus\tminGermlineDepth|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140828517A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140829200\t140829200\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t43\t17\t5\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTGG\t.\t64\t\t\t\t\t\t\t\t\t\t\t\t\t140829200\t17.5\t0\t43\t0\t0.116\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140829200G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140829200\t140829200\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t21\t18\t3\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTGG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140829200\t18,3\t0,0\t21\t0\t\t\t0/1\t./.\t0.0\t0.0\t0.0\t0.0\t18.0\t0.0\t3.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140829200G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140829200\t140829200\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t51\t21\t10\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTGG\t.\t77\t\t\t\t\t\t\t\t\t\t\t\t\t140829200\t21.1\t0\t51\t0\t0.196\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140829200G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140841133\t140841133\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t1\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGA\t.\t55\t\t\t\t\t\t\t\t\t\t\t\t\t140841133\t1.2\t1\t3\t1\t0.667\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140841133G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140841133\t140841133\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t1\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140841133\t1,2\t1,0\t3\t1\t\t\t0/1\t./.\t2.0\t0.0\t0.0\t0.0\t1.0\t1.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140841133G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140841133\t140841133\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t1\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGA\t.\t55\t\t\t\t\t\t\t\t\t\t\t\t\t140841133\t1.2\t1\t3\t1\t0.667\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140841133G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140897881\t140897881\t+\tIGR\tSNP\tC\tC\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t12\t10\t2\t3\t3\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tACA\t.\t60\t\t\t\t\t\t\t\t\t\t\t\t\t140897881\t10.2\t3\t12\t3\t0.167\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140897881C>A\tTrue\tPASS\tC>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140897881\t140897881\t+\tIGR\tSNP\tC\tC\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t11\t2\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tACA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140897881\t11,2\t4,0\t13\t4\t\t\t0/1\t./.\t2.0\t0.0\t11.0\t4.0\t0.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140897881C>A\tTrue\tPASS\tC>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140897881\t140897881\t+\tIGR\tSNP\tC\tC\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t11\t2\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tACA\t.\t60\t\t\t\t\t\t\t\t\t\t\t\t\t140897881\t11.2\t4\t13\t4\t0.154\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140897881C>A\tTrue\tPASS\tC>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140906294\t140906294\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t37\t30\t7\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t102\t\t\t\t\t\t\t\t\t\t\t\t\t140906294\t30.7\t2\t37\t2\t0.189\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140906294T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140906294\t140906294\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t38\t31\t7\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140906294\t31,7\t2,0\t38\t2\t\t\t0/1\t./.\t0.0\t0.0\t7.0\t0.0\t0.0\t0.0\t31.0\t2.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140906294T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140906294\t140906294\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t37\t30\t7\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t94\t\t\t\t\t\t\t\t\t\t\t\t\t140906294\t30.7\t2\t37\t2\t0.189\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140906294T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140906444\t140906444\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t10\t12\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t126\t\t\t\t\t\t\t\t\t\t\t\t\t140906444\t10.12\t3\t22\t3\t0.545\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140906444T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140906444\t140906444\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t10\t12\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140906444\t10,12\t3,0\t22\t3\t\t\t0/1\t./.\t0.0\t0.0\t12.0\t0.0\t0.0\t0.0\t10.0\t3.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140906444T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140906444\t140906444\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t23\t10\t13\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t143\t\t\t\t\t\t\t\t\t\t\t\t\t140906444\t10.13\t4\t23\t4\t0.565\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140906444T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140907479\t140907479\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t11\t7\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTC\t.\t131\t\t\t\t\t\t\t\t\t\t\t\t\t140907479\t11.7\t1\t18\t1\t0.389\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|consensus|consensus\tminGermlineDepth;minTumorQual|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140907479T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140907479\t140907479\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t2\t0\t2\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTC\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t140907479\t0.2\t1\t2\t1\t1.0\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconsensus\tsage|consensus|consensus\tminGermlineDepth;minTumorQual|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140907479T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140907479\t140907479\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t11\t7\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTC\t.\t131\t\t\t\t\t\t\t\t\t\t\t\t\t140907479\t11.7\t1\t18\t1\t0.389\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|consensus|consensus\tminGermlineDepth;minTumorQual|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140907479T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140909399\t140909399\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t32\t27\t5\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATA\t.\t90\t\t\t\t\t\t\t\t\t\t\t\t\t140909399\t27.5\t0\t32\t0\t0.156\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140909399T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140909399\t140909399\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t33\t28\t5\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tATA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140909399\t28,5\t0,0\t33\t0\t\t\t0/1\t./.\t0.0\t0.0\t5.0\t0.0\t0.0\t0.0\t28.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140909399T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140909399\t140909399\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t32\t27\t5\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATA\t.\t90\t\t\t\t\t\t\t\t\t\t\t\t\t140909399\t27.5\t0\t32\t0\t0.156\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140909399T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140910467\t140910468\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t35\t31\t4\t4\t4\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tACT\t.\t81\t\t\t\t\t\t\t\t\t\t\t\t\t140910467\t31.4\t4\t35\t4\t0.114\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140910467->T\tTrue\tPASS\t->T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140910467\t140910468\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t39\t30\t4\t4\t4\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tLowEVS\tACT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140910467\t30,4\t4,0\t39\t4\t\t\t0/1\t./.\t\t\t\t\t\t\t\t\t30,31\t4,4\t4,4\t0,0\t5,4\t0,0\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140910467->T\tTrue\tPASS\t->T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140910467\t140910468\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t35\t31\t4\t4\t4\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tACT\t.\t81\t\t\t\t\t\t\t\t\t\t\t\t\t140910467\t31.4\t4\t35\t4\t0.114\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140910467->T\tTrue\tPASS\t->T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140910811\t140910811\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t20\t17\t3\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t140910811\t17.3\t0\t20\t0\t0.15\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140910811T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140910811\t140910811\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t19\t3\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140910811\t19,3\t0,0\t22\t0\t\t\t0/1\t./.\t0.0\t0.0\t3.0\t0.0\t0.0\t0.0\t19.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140910811T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140910811\t140910811\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t21\t17\t4\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t52\t\t\t\t\t\t\t\t\t\t\t\t\t140910811\t17.4\t0\t21\t0\t0.19\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140910811T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141004056\t141004056\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t31\t26\t5\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t81\t\t\t\t\t\t\t\t\t\t\t\t\t141004056\t26.5\t1\t31\t1\t0.161\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141004056T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141004056\t141004056\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t31\t26\t5\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141004056\t26,5\t1,0\t31\t1\t\t\t0/1\t./.\t0.0\t0.0\t5.0\t0.0\t0.0\t0.0\t26.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141004056T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141004056\t141004056\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t33\t28\t5\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t76\t\t\t\t\t\t\t\t\t\t\t\t\t141004056\t28.5\t1\t33\t1\t0.152\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141004056T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141004111\t141004111\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t10\t2\t8\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t135\t\t\t\t\t\t\t\t\t\t\t\t\t141004111\t2.8\t1\t10\t1\t0.8\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141004111T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141004111\t141004111\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t10\t2\t8\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141004111\t2,8\t1,0\t10\t1\t\t\t1/1\t./.\t0.0\t0.0\t8.0\t0.0\t0.0\t0.0\t2.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141004111T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141004111\t141004111\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t10\t2\t8\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t127\t\t\t\t\t\t\t\t\t\t\t\t\t141004111\t2.8\t1\t10\t1\t0.8\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141004111T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141004820\t141004820\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t1\t3\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTC\t.\t69\t\t\t\t\t\t\t\t\t\t\t\t\t141004820\t1.3\t1\t4\t1\t0.75\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141004820T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141004820\t141004820\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t1\t3\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCTC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141004820\t1,3\t1,0\t4\t1\t\t\t1/1\t./.\t0.0\t0.0\t3.0\t0.0\t0.0\t0.0\t1.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141004820T>C\tFalse\trealignment\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141004826\t141004826\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t1\t3\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTA\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t141004826\t1.3\t1\t4\t1\t0.75\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141004826T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141004826\t141004826\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t1\t3\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTTA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141004826\t1,3\t1,0\t4\t1\t\t\t1/1\t./.\t0.0\t0.0\t3.0\t0.0\t0.0\t0.0\t1.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141004826T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141004826\t141004826\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t6\t1\t5\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTA\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t141004826\t1.5\t1\t6\t1\t0.833\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141004826T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141080090\t141080090\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t4\t3\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t62\t\t\t\t\t\t\t\t\t\t\t\t\t141080090\t4.3\t3\t7\t3\t0.429\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.141080090A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141080090\t141080090\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t4\t3\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tAAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141080090\t4,3\t3,0\t7\t3\t\t\t0/1\t./.\t4.0\t3.0\t0.0\t0.0\t3.0\t0.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.141080090A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141080090\t141080090\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t4\t3\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t58\t\t\t\t\t\t\t\t\t\t\t\t\t141080090\t4.3\t3\t7\t3\t0.429\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.141080090A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141082435\t141082435\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t1\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGA\t.\t58\t\t\t\t\t\t\t\t\t\t\t\t\t141082435\t1.2\t1\t3\t1\t0.667\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141082435G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141082435\t141082435\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t1\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAGA\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141082435\t1,2\t1,0\t3\t1\t\t\t0/1\t./.\t2.0\t0.0\t0.0\t0.0\t1.0\t1.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141082435G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141082435\t141082435\t+\tIGR\tSNP\tG\tA\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t1\t3\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGA\t.\t70\t\t\t\t\t\t\t\t\t\t\t\t\t141082435\t1.3\t1\t4\t1\t0.75\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141082435G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141084239\t141084239\t+\tIGR\tSNP\tT\tA\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTT\t.\t75\t\t\t\t\t\t\t\t\t\t\t\t\t141084239\t0.3\t1\t3\t1\t1.0\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka|consensus|consensus\tminGermlineDepth;minTumorQual|LowEVS|LowDepth;LowEVS|minGermlineDepth;minTumorQual\tFAIL\tTrue\tchr7:g.141084239T>A\tTrue\tPASS\tT>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141084239\t141084239\t+\tIGR\tSNP\tT\tA\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141084239\t0,3\t2,0\t3\t2\t\t\t1/1\t./.\t3.0\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\t2.0\t\t\t\t\t\t\tstrelka\tsage|strelka|consensus|consensus\tminGermlineDepth;minTumorQual|LowEVS|LowDepth;LowEVS|minGermlineDepth;minTumorQual\tFAIL\tTrue\tchr7:g.141084239T>A\tTrue\tPASS\tT>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141084239\t141084239\t+\tIGR\tSNP\tT\tA\tA\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t1\t0\t1\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141084239\t0.1\t2\t1\t2\t\t\t1/1\t./.\t1.0\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\t2.0\t\t\t\t\t\t\tconsensus\tsage|strelka|consensus|consensus\tminGermlineDepth;minTumorQual|LowEVS|LowDepth;LowEVS|minGermlineDepth;minTumorQual\tFAIL\tTrue\tchr7:g.141084239T>A\tTrue\tPASS\tT>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141084239\t141084239\t+\tIGR\tSNP\tT\tA\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTT\t.\t75\t\t\t\t\t\t\t\t\t\t\t\t\t141084239\t0.3\t1\t3\t1\t1.0\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.141084239T>A\tTrue\tPASS\tT>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141296649\t141296649\t+\tIGR\tSNP\tT\tA\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATT\t.\t78\t\t\t\t\t\t\t\t\t\t\t\t\t141296649\t0.3\t4\t3\t4\t1.0\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.141296649T>A\tTrue\tPASS\tT>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141296649\t141296649\t+\tIGR\tSNP\tT\tA\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tATT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141296649\t0,3\t4,0\t3\t4\t\t\t1/1\t./.\t3.0\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\t4.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.141296649T>A\tTrue\tPASS\tT>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141296649\t141296649\t+\tIGR\tSNP\tT\tA\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATT\t.\t78\t\t\t\t\t\t\t\t\t\t\t\t\t141296649\t0.3\t4\t3\t4\t1.0\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.141296649T>A\tTrue\tPASS\tT>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141350897\t141350897\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t1\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGT\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t141350897\t1.2\t1\t3\t1\t0.667\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141350897G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141350897\t141350897\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t1\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tAGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141350897\t1,2\t1,0\t3\t1\t\t\t0/1\t./.\t0.0\t0.0\t0.0\t0.0\t1.0\t1.0\t2.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141350897G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141350897\t141350897\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t1\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGT\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t141350897\t1.2\t1\t3\t1\t0.667\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141350897G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141350899\t141350899\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t1\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTCG\t.\t57\t\t\t\t\t\t\t\t\t\t\t\t\t141350899\t1.2\t1\t3\t1\t0.667\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141350899C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141350899\t141350899\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t1\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTCG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141350899\t1,2\t1,0\t3\t1\t\t\t0/1\t./.\t0.0\t0.0\t1.0\t1.0\t0.0\t0.0\t2.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141350899C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141350899\t141350899\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t1\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTCG\t.\t57\t\t\t\t\t\t\t\t\t\t\t\t\t141350899\t1.2\t1\t3\t1\t0.667\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141350899C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141365719\t141365719\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t11\t9\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTGT\t.\t53\t\t\t\t\t\t\t\t\t\t\t\t\t141365719\t9.2\t1\t11\t1\t0.182\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141365719G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141365719\t141365719\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t12\t10\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141365719\t10,2\t1,0\t12\t1\t\t\t0/1\t./.\t2.0\t0.0\t0.0\t0.0\t10.0\t1.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141365719G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141365719\t141365719\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t11\t9\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTGT\t.\t53\t\t\t\t\t\t\t\t\t\t\t\t\t141365719\t9.2\t1\t11\t1\t0.182\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141365719G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141513665\t141513665\t+\tIGR\tSNP\tA\tA\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t5\t2\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGAT\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t141513665\t5.2\t3\t7\t3\t0.286\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.141513665A>T\tTrue\tPASS\tA>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141513665\t141513665\t+\tIGR\tSNP\tA\tA\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t5\t2\t4\t4\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141513665\t5,2\t4,0\t7\t4\t\t\t0/1\t./.\t5.0\t4.0\t0.0\t0.0\t0.0\t0.0\t2.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.141513665A>T\tTrue\tPASS\tA>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141513665\t141513665\t+\tIGR\tSNP\tA\tA\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGAT\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t141513665\t6.2\t3\t8\t3\t0.25\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.141513665A>T\tTrue\tPASS\tA>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141644925\t141644925\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t15\t13\t2\t4\t4\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTCT\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t141644925\t13.2\t4\t15\t4\t0.133\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.141644925C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141644925\t141644925\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t16\t14\t2\t4\t4\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTCT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141644925\t14,2\t4,0\t16\t4\t\t\t0/1\t./.\t0.0\t0.0\t14.0\t4.0\t0.0\t0.0\t2.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.141644925C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141644925\t141644925\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t15\t13\t2\t4\t4\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTCT\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t141644925\t13.2\t4\t15\t4\t0.133\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.141644925C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141652639\t141652640\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t160\t149\t11\t8\t8\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tslippage\tAAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141652639\t149,11\t8,0\t160\t8\t0.076\t0.094\t0/1\t0/0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmutect2\tmutect2|sage|strelka\tslippage|maxGermlineRelRawBaseQual;minGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.141652639->T\tTrue\tPASS\t->T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141652639\t141652640\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t157\t141\t13\t7\t7\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tmaxGermlineRelRawBaseQual;minGermlineDepth\tAAT\t.\t176\t\t\t\t\t\t\t\t\t\t\t\t\t141652639\t141.13\t7\t157\t7\t0.083\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tmutect2|sage|strelka\tslippage|maxGermlineRelRawBaseQual;minGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.141652639->T\tTrue\tPASS\t->T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141652639\t141652640\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t185\t138\t16\t10\t8\t1\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tLowEVS\tAAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141652639\t138,16\t8,1\t185\t10\t\t\t0/1\t./.\t\t\t\t\t\t\t\t\t138,138\t8,8\t16,16\t1,1\t31,31\t1,1\tstrelka\tmutect2|sage|strelka\tslippage|maxGermlineRelRawBaseQual;minGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.141652639->T\tTrue\tPASS\t->T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141652639\t141652640\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t163\t152\t11\t8\t8\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tslippage\tAAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141652639\t152,11\t8,0\t163\t8\t0.074\t0.091\t0/1\t0/0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmutect2\tmutect2|sage|strelka\tslippage|minGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.141652639->T\tTrue\tPASS\t->T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141656174\t141656174\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t90\t88\t2\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual;minTumorVAF\tCCC\t.\t59\t\t\t\t\t\t\t\t\t\t\t\t\t141656174\t88.2\t0\t90\t0\t0.022\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual;minTumorVAF|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141656174C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141656174\t141656174\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t96\t94\t2\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tCCC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141656174\t94,2\t0,0\t96\t0\t\t\t0/1\t./.\t0.0\t0.0\t94.0\t0.0\t0.0\t0.0\t2.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual;minTumorVAF|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141656174C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141656174\t141656174\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t94\t92\t2\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual;minTumorVAF\tCCC\t.\t59\t\t\t\t\t\t\t\t\t\t\t\t\t141656174\t92.2\t0\t94\t0\t0.021\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual;minTumorVAF|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141656174C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141666987\t141666987\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t23\t17\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTG\t.\t74\t\t\t\t\t\t\t\t\t\t\t\t\t141666987\t17.6\t1\t23\t1\t0.261\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.141666987T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141666987\t141666987\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t23\t17\t6\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGTG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141666987\t17,6\t2,0\t23\t2\t\t\t0/1\t./.\t0.0\t0.0\t6.0\t0.0\t0.0\t0.0\t17.0\t2.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.141666987T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141666987\t141666987\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24\t18\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTG\t.\t74\t\t\t\t\t\t\t\t\t\t\t\t\t141666987\t18.6\t1\t24\t1\t0.25\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.141666987T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141699142\t141699142\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATC\t.\t57\t\t\t\t\t\t\t\t\t\t\t\t\t141699142\t0.3\t1\t3\t1\t1.0\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141699142T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141699142\t141699142\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tATC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141699142\t0,3\t1,0\t3\t1\t\t\t1/1\t./.\t0.0\t0.0\t3.0\t0.0\t0.0\t0.0\t0.0\t1.0\t\t\t\t\t\t\tstrelka\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141699142T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141699142\t141699142\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATC\t.\t50\t\t\t\t\t\t\t\t\t\t\t\t\t141699142\t0.3\t1\t3\t1\t1.0\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141699142T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141712007\t141712007\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t11\t8\t3\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTGT\t.\t53\t\t\t\t\t\t\t\t\t\t\t\t\t141712007\t8.3\t1\t11\t1\t0.273\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka|consensus|consensus\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141712007G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141712007\t141712007\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t11\t8\t3\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141712007\t8,3\t1,0\t11\t1\t\t\t0/1\t./.\t3.0\t0.0\t0.0\t0.0\t8.0\t1.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tsage|strelka|consensus|consensus\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141712007G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141712007\t141712007\t+\tIGR\tSNP\tG\tA\tA\tnovel\t\tTCRBOA7-T\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t0\t4\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTGT\t.\t60\t\t\t\t\t\t\t\t\t\t\t\t\t141712007\t0.4\t1\t4\t1\t1.0\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconsensus\tsage|strelka|consensus|consensus\tminGermlineDepth;minTumorQual|LowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141712007G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141712007\t141712007\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t11\t8\t3\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141712007\t8.3\t1\t11\t1\t\t\t0/1\t./.\t3.0\t0.0\t0.0\t0.0\t8.0\t1.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tstrelka|consensus|consensus\tLowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141712007G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141723300\t141723300\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t40\t40\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tweak_evidence\tTGC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141723300\t6,2\t40,0\t8\t40\t0.25\t0.026\t0/1\t0/0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmutect2\tmutect2|sage|strelka\tweak_evidence|minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.141723300G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141723300\t141723300\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t37\t37\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminTumorQual\tTGC\t.\t52\t\t\t\t\t\t\t\t\t\t\t\t\t141723300\t6.2\t37\t8\t37\t0.25\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tmutect2|sage|strelka\tweak_evidence|minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.141723300G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141723300\t141723300\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t40\t40\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tTGC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141723300\t6,2\t40,0\t8\t40\t\t\t0/1\t./.\t0.0\t0.0\t0.0\t0.0\t6.0\t40.0\t2.0\t0.0\t\t\t\t\t\t\tstrelka\tmutect2|sage|strelka\tweak_evidence|minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.141723300G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141723300\t141723300\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t42\t42\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tweak_evidence\tTGC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141723300\t6,2\t42,0\t8\t42\t0.25\t0.024\t0/1\t0/0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmutect2\tmutect2|sage|strelka\tweak_evidence|minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.141723300G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141724345\t141724345\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t3\t2\t35\t35\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tweak_evidence\tAGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141724345\t3,2\t35,0\t5\t35\t0.4\t0.027\t0/1\t0/0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmutect2\tmutect2|strelka\tweak_evidence|PASS\tPASS\tTrue\tchr7:g.141724345G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141724345\t141724345\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA_realign\tTCRBOA7-N_realign\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t3\t2\t36\t36\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tPASS\tAGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141724345\t3,2\t36,0\t5\t36\t\t\t0/1\t./.\t2.0\t0.0\t0.0\t0.0\t3.0\t36.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tmutect2|strelka\tweak_evidence|PASS\tPASS\tTrue\tchr7:g.141724345G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141724345\t141724345\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t6\t4\t2\t36\t36\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tweak_evidence\tAGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141724345\t4,2\t36,0\t6\t36\t0.329\t0.026\t0/1\t0/0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmutect2\tmutect2|strelka\tweak_evidence|PASS\tPASS\tTrue\tchr7:g.141724345G>A\tTrue\tPASS\tG>A\tFalse" + ] + ], + [ + "TCRBOA7-T-RNA_with_TCRBOA7-T-RNA_realign.rna_filt.maf", + [ + "Hugo_Symbol\tEntrez_Gene_Id\tCenter\tNCBI_Build\tChromosome\tStart_Position\tEnd_Position\tStrand\tVariant_Classification\tVariant_Type\tReference_Allele\tTumor_Seq_Allele1\tTumor_Seq_Allele2\tdbSNP_RS\tdbSNP_Val_Status\tTumor_Sample_Barcode\tMatched_Norm_Sample_Barcode\tMatch_Norm_Seq_Allele1\tMatch_Norm_Seq_Allele2\tTumor_Validation_Allele1\tTumor_Validation_Allele2\tMatch_Norm_Validation_Allele1\tMatch_Norm_Validation_Allele2\tVerification_Status\tValidation_Status\tMutation_Status\tSequencing_Phase\tSequence_Source\tValidation_Method\tScore\tBAM_File\tSequencer\tTumor_Sample_UUID\tMatched_Norm_Sample_UUID\tHGVSc\tHGVSp\tHGVSp_Short\tTranscript_ID\tExon_Number\tt_depth\tt_ref_count\tt_alt_count\tn_depth\tn_ref_count\tn_alt_count\tall_effects\tAllele\tGene\tFeature\tFeature_type\tConsequence\tcDNA_position\tCDS_position\tProtein_position\tAmino_acids\tCodons\tExisting_variation\tALLELE_NUM\tDISTANCE\tSTRAND_VEP\tSYMBOL\tSYMBOL_SOURCE\tHGNC_ID\tBIOTYPE\tCANONICAL\tCCDS\tENSP\tSWISSPROT\tTREMBL\tUNIPARC\tRefSeq\tSIFT\tPolyPhen\tEXON\tINTRON\tDOMAINS\tAF\tAFR_AF\tAMR_AF\tASN_AF\tEAS_AF\tEUR_AF\tSAS_AF\tAA_AF\tEA_AF\tCLIN_SIG\tSOMATIC\tPUBMED\tMOTIF_NAME\tMOTIF_POS\tHIGH_INF_POS\tMOTIF_SCORE_CHANGE\tIMPACT\tPICK\tVARIANT_CLASS\tTSL\tHGVS_OFFSET\tPHENO\tMINIMISED\tGENE_PHENO\tFILTER\tflanking_bps\tvcf_id\tvcf_qual\tgnomADe_AF\tgnomADe_AFR_AF\tgnomADe_AMR_AF\tgnomADe_ASJ_AF\tgnomADe_EAS_AF\tgnomADe_FIN_AF\tgnomADe_NFE_AF\tgnomADe_OTH_AF\tgnomADe_SAS_AF\tgnomADg_AF\tMAX_AF\tMAX_AF_POPS\tvcf_pos\tt_AD\tn_AD\tt_DP\tn_DP\tt_AF\tn_AF\tt_GT\tn_GT\tt_AU\tn_AU\tt_CU\tn_CU\tt_GU\tn_GU\tt_TU\tn_TU\tt_TAR\tn_TAR\tt_TIR\tn_TIR\tt_TOR\tn_TOR\tCaller\tcallers\tfilters\tFILTER_consensus\tisconsensus\tDNAchange\trealignment\tRaVeX_FILTER\tmut\trnaediting", + "Unknown\t0\t.\tGRCh38\tchr7\t139832913\t139832913\t+\tIGR\tSNP\tG\tG\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t14\t8\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGA\t.\t159\t\t\t\t\t\t\t\t\t\t\t\t\t139832913\t14.8\t3\t22\t3\t0.364\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.139832913G>C\tTrue\tPASS\tG>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139836268\t139836268\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t26\t18\t8\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGT\t.\t142\t\t\t\t\t\t\t\t\t\t\t\t\t139836268\t18.8\t1\t26\t1\t0.308\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.139836268G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139839306\t139839306\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t10\t3\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTGA\t.\t55\t\t\t\t\t\t\t\t\t\t\t\t\t139839306\t10.3\t2\t13\t2\t0.231\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.139839306G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139840078\t139840078\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t11\t2\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTGG\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t139840078\t11.2\t0\t13\t0\t0.154\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.139840078G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139861816\t139861816\t+\tIGR\tSNP\tA\tG\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t1\t3\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAG\t.\t50\t\t\t\t\t\t\t\t\t\t\t\t\t139861816\t1.3\t3\t4\t3\t0.75\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.139861816A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139864673\t139864673\t+\tIGR\tSNP\tC\tC\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t5\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGCT\t.\t55\t\t\t\t\t\t\t\t\t\t\t\t\t139864673\t5.2\t1\t7\t1\t0.286\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.139864673C>A\tTrue\tPASS\tC>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139941097\t139941097\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t15\t12\t3\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATC\t.\t62\t\t\t\t\t\t\t\t\t\t\t\t\t139941097\t12.3\t0\t15\t0\t0.2\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.139941097T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139943319\t139943319\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t12\t9\t3\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGCG\t.\t75\t\t\t\t\t\t\t\t\t\t\t\t\t139943319\t9.3\t1\t12\t1\t0.25\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.139943319C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139948123\t139948123\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCCC\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t139948123\t6.2\t1\t8\t1\t0.25\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.139948123C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139964882\t139964882\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t11\t2\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTCA\t.\t55\t\t\t\t\t\t\t\t\t\t\t\t\t139964882\t11.2\t2\t13\t2\t0.154\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.139964882C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139988205\t139988205\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCGC\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t139988205\t6.2\t1\t8\t1\t0.25\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.139988205G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t139992039\t139992039\t+\tIGR\tSNP\tC\tA\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t2\t5\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCCC\t.\t105\t\t\t\t\t\t\t\t\t\t\t\t\t139992039\t2.5\t0\t7\t0\t0.714\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.139992039C>A\tTrue\tPASS\tC>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140000300\t140000300\t+\tIGR\tSNP\tC\tG\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t1\t6\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tACA\t.\t120\t\t\t\t\t\t\t\t\t\t\t\t\t140000300\t1.6\t0\t7\t0\t0.857\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140000300C>G\tTrue\tPASS\tC>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140001893\t140001893\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t5\t3\t4\t4\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTCA\t.\t73\t\t\t\t\t\t\t\t\t\t\t\t\t140001893\t5.3\t4\t8\t4\t0.375\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140001893C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140001971\t140001971\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t2\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCCC\t.\t50\t\t\t\t\t\t\t\t\t\t\t\t\t140001971\t2.2\t1\t4\t1\t0.5\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140001971C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140006043\t140006043\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t6\t2\t4\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGCG\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140006043\t2.4\t3\t6\t3\t\t\t0/1\t./.\t0.0\t0.0\t2.0\t3.0\t0.0\t0.0\t4.0\t0.0\t\t\t\t\t\t\tstrelka\tstrelka|consensus|consensus\tLowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140006043C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140011157\t140011157\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t5\t8\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t86\t\t\t\t\t\t\t\t\t\t\t\t\t140011157\t5.8\t2\t13\t2\t0.615\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140011157A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140011178\t140011178\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t8\t5\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTAA\t.\t59\t\t\t\t\t\t\t\t\t\t\t\t\t140011178\t8.5\t2\t13\t2\t0.385\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140011178A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140012618\t140012618\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t9\t5\t4\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t57\t\t\t\t\t\t\t\t\t\t\t\t\t140012618\t5.4\t2\t9\t2\t0.444\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140012618T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140012739\t140012739\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t8\t10\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAT\t.\t111\t\t\t\t\t\t\t\t\t\t\t\t\t140012739\t8.1\t3\t18\t3\t0.556\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140012739A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140027870\t140027870\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t92\t57\t35\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTC\t.\t670\t\t\t\t\t\t\t\t\t\t\t\t\t140027870\t57.35\t0\t92\t0\t0.38\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140027870T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140029645\t140029645\t+\tIGR\tDEL\tA\tA\t-\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t81\t73\t8\t1\t1\t0\t\t-\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tdeletion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGAA\t.\t91\t\t\t\t\t\t\t\t\t\t\t\t\t140029644\t73.8\t1\t81\t1\t0.099\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140029645A>-\tTrue\tPASS\tA>-\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140030471\t140030471\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t106\t64\t42\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCGC\t.\t852\t\t\t\t\t\t\t\t\t\t\t\t\t140030471\t64.42\t0\t106\t0\t0.396\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140030471G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140030498\t140030498\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t119\t107\t12\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t142\t\t\t\t\t\t\t\t\t\t\t\t\t140030498\t107.12\t0\t119\t0\t0.101\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140030498T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140030515\t140030515\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t137\t116\t21\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTT\t.\t324\t\t\t\t\t\t\t\t\t\t\t\t\t140030515\t116.21\t0\t137\t0\t0.153\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140030515T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140030554\t140030554\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t123\t115\t8\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATG\t.\t80\t\t\t\t\t\t\t\t\t\t\t\t\t140030554\t115.8\t1\t123\t1\t0.065\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140030554T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140030567\t140030567\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t108\t81\t27\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTG\t.\t322\t\t\t\t\t\t\t\t\t\t\t\t\t140030567\t81.27\t1\t108\t1\t0.25\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140030567T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140030629\t140030629\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t74\t54\t20\t2\t1\t1\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tmaxGermlineRelRawBaseQual;maxGermlineVAF;minGermlineDepth\tTAC\t.\t289\t\t\t\t\t\t\t\t\t\t\t\t\t140030629\t54.2\t1.1\t74\t2\t0.27\t0.5\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tmaxGermlineRelRawBaseQual;maxGermlineVAF;minGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140030629A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140031273\t140031273\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t92\t78\t14\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTG\t.\t168\t\t\t\t\t\t\t\t\t\t\t\t\t140031273\t78.14\t0\t92\t0\t0.152\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140031273T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140032350\t140032350\t+\tIGR\tDEL\tA\tA\t-\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t58\t50\t7\t1\t1\t0\t\t-\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tdeletion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTAA\t.\t93\t\t\t\t\t\t\t\t\t\t\t\t\t140032349\t50.7\t1\t58\t1\t0.121\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140032350A>-\tTrue\tPASS\tA>-\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140032427\t140032427\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t51\t43\t8\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t116\t\t\t\t\t\t\t\t\t\t\t\t\t140032427\t43.8\t3\t51\t3\t0.157\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140032427T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140032428\t140032428\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t47\t41\t6\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t91\t\t\t\t\t\t\t\t\t\t\t\t\t140032428\t41.6\t3\t47\t3\t0.128\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140032428T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140033050\t140033050\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t89\t73\t16\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTC\t.\t223\t\t\t\t\t\t\t\t\t\t\t\t\t140033050\t73.16\t2\t89\t2\t0.18\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140033050T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140033091\t140033091\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t117\t103\t14\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTA\t.\t163\t\t\t\t\t\t\t\t\t\t\t\t\t140033091\t103.14\t3\t117\t3\t0.12\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140033091T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140035900\t140035900\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t84\t60\t24\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGGA\t.\t337\t\t\t\t\t\t\t\t\t\t\t\t\t140035900\t60.24\t0\t84\t0\t0.286\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140035900G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140037992\t140037992\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t215\t119\t96\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCAT\t.\t1245\t\t\t\t\t\t\t\t\t\t\t\t\t140037992\t119.96\t3\t215\t3\t0.447\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140037992A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140039778\t140039778\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t118\t49\t69\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tTCC\t.\t1214\t\t\t\t\t\t\t\t\t\t\t\t\t140039778\t49.69\t2\t118\t2\t0.585\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140039778C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140043167\t140043167\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t9\t3\t6\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t106\t\t\t\t\t\t\t\t\t\t\t\t\t140043167\t3.6\t5\t9\t5\t0.667\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140043167T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140058002\t140058002\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t250\t246\t4\t98\t98\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tweak_evidence\tGGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140058002\t246,4\t98,0\t250\t98\t0.014\t0.012\t0/1\t0/0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmutect2\tmutect2|sage|strelka\tweak_evidence|minTumorQual;minTumorVAF|LowEVS\tFAIL\tTrue\tchr7:g.140058002G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140085224\t140085224\t+\tIGR\tSNP\tC\tC\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t258\t105\t153\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCCA\t.\t3203\t\t\t\t\t\t\t\t\t\t\t\t\t140085224\t105.153\t4\t258\t4\t0.593\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140085224C>A\tTrue\tPASS\tC>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140089652\t140089653\t+\tIGR\tINS\t-\t-\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t175\t165\t10\t3\t3\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGA\t.\t136\t\t\t\t\t\t\t\t\t\t\t\t\t140089652\t165.1\t3\t175\t3\t0.057\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140089652->A\tTrue\tPASS\t->A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140094509\t140094509\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t13\t7\t1\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGA\t.\t58\t\t\t\t\t\t\t\t\t\t\t\t\t140094509\t13.7\t0\t22\t1\t0.318\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140094509G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140095793\t140095793\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t58\t38\t20\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tTTG\t.\t256\t\t\t\t\t\t\t\t\t\t\t\t\t140095793\t38.2\t0\t58\t0\t0.345\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140095793T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140097703\t140097703\t+\tIGR\tSNP\tA\tA\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t2\t2\t33\t33\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tweak_evidence\tGAC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140097703\t2,2\t33,0\t4\t33\t0.4\t0.03\t0/1\t0/0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmutect2\tmutect2|strelka\tweak_evidence|LowEVS\tFAIL\tTrue\tchr7:g.140097703A>T\tTrue\tPASS\tA>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140107704\t140107704\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t14\t4\t9\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAT\t.\t124\t\t\t\t\t\t\t\t\t\t\t\t\t140107704\t4.9\t1\t14\t1\t0.643\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140107704A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140108207\t140108207\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t14\t4\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGCG\t.\t99\t\t\t\t\t\t\t\t\t\t\t\t\t140108207\t14.4\t1\t18\t1\t0.222\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140108207C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140108245\t140108245\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t26\t20\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t101\t\t\t\t\t\t\t\t\t\t\t\t\t140108245\t20.6\t1\t26\t1\t0.231\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140108245T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140112904\t140112904\t+\tIGR\tSNP\tA\tT\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t9\t2\t7\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCAT\t.\t185\t\t\t\t\t\t\t\t\t\t\t\t\t140112904\t2.7\t3\t9\t3\t0.778\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140112904A>T\tTrue\tPASS\tA>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140120859\t140120859\t+\tIGR\tSNP\tT\tT\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t14\t6\t8\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t159\t\t\t\t\t\t\t\t\t\t\t\t\t140120859\t6.8\t3\t14\t3\t0.571\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140120859T>G\tTrue\tPASS\tT>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140121364\t140121364\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t14\t10\t4\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCGT\t.\t81\t\t\t\t\t\t\t\t\t\t\t\t\t140121364\t10.4\t1\t14\t1\t0.286\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140121364G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140124514\t140124514\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t20\t2\t22\t22\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminTumorQual\tTGT\t.\t55\t\t\t\t\t\t\t\t\t\t\t\t\t140124514\t20.2\t22\t22\t22\t0.091\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140124514G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140126788\t140126788\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t89\t86\t3\t73\t73\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tweak_evidence\tTTT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140126788\t86,3\t73,0\t89\t73\t0.039\t0.015\t0/1\t0/0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmutect2\tmutect2|strelka\tweak_evidence|LowEVS\tFAIL\tTrue\tchr7:g.140126788T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140156990\t140156990\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t140156990\t0.3\t2\t3\t2\t1.0\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140156990T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140163410\t140163410\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t2\t3\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCGA\t.\t74\t\t\t\t\t\t\t\t\t\t\t\t\t140163410\t2.3\t2\t5\t2\t0.6\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140163410G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140337265\t140337265\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24\t22\t2\t73\t73\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tmaxGermlineRelRawBaseQual;minTumorQual\tTTA\t.\t52\t\t\t\t\t\t\t\t\t\t\t\t\t140337265\t22.2\t73\t24\t73\t0.083\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tmaxGermlineRelRawBaseQual;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140337265T>A\tTrue\tPASS\tT>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140340845\t140340845\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t17\t2\t15\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t155\t\t\t\t\t\t\t\t\t\t\t\t\t140340845\t2.15\t0\t17\t0\t0.882\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140340845T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140340869\t140340869\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t16\t4\t12\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTT\t.\t161\t\t\t\t\t\t\t\t\t\t\t\t\t140340869\t4.12\t0\t16\t0\t0.75\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140340869T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140341845\t140341845\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t27\t25\t2\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGCC\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t140341845\t25.2\t3\t27\t3\t0.074\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140341845C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140343674\t140343675\t+\tIGR\tINS\t-\t-\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t5\t3\t5\t5\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGA\t.\t65\t\t\t\t\t\t\t\t\t\t\t\t\t140343674\t5.3\t5\t8\t5\t0.375\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|PASS\tPASS\tTrue\tchr7:g.140343674->A\tTrue\tPASS\t->A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140353659\t140353659\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t10\t4\t6\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t134\t\t\t\t\t\t\t\t\t\t\t\t\t140353659\t4.6\t2\t10\t2\t0.6\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka|consensus|consensus\tminGermlineDepth;minTumorQual|LowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140353659A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140369391\t140369391\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t12\t6\t6\t3\t3\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATT\t.\t129\t\t\t\t\t\t\t\t\t\t\t\t\t140369391\t6.6\t3\t12\t3\t0.5\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140369391T>A\tTrue\tPASS\tT>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140370578\t140370578\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t5\t3\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tACA\t.\t64\t\t\t\t\t\t\t\t\t\t\t\t\t140370578\t5.3\t2\t8\t2\t0.375\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140370578C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140402540\t140402540\t+\tIGR\tSNP\tA\tG\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t1\t4\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGAT\t.\t99\t\t\t\t\t\t\t\t\t\t\t\t\t140402540\t1.4\t2\t5\t2\t0.8\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140402540A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140402551\t140402551\t+\tIGR\tSNP\tG\tA\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t6\t1\t5\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGA\t.\t103\t\t\t\t\t\t\t\t\t\t\t\t\t140402551\t1.5\t2\t6\t2\t0.833\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140402551G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140426299\t140426299\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t65\t63\t2\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tACT\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t140426299\t63.2\t3\t65\t3\t0.031\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140426299C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140427404\t140427404\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t21\t9\t12\t3\t3\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCGG\t.\t69\t\t\t\t\t\t\t\t\t\t\t\t\t140427404\t9.12\t3\t21\t3\t0.571\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140427404G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140427570\t140427570\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t62\t56\t6\t4\t4\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAC\t.\t83\t\t\t\t\t\t\t\t\t\t\t\t\t140427570\t56.6\t4\t62\t4\t0.097\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140427570A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140433091\t140433091\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t3\t4\t2\t2\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGG\t.\t63\t\t\t\t\t\t\t\t\t\t\t\t\t140433091\t3.4\t2\t7\t2\t0.571\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140433091G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140434409\t140434409\t+\tIGR\tSNP\tT\tG\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t2\t0\t2\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowEVS\tGTC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140434409\t0.2\t2\t2\t2\t\t\t1/1\t./.\t0.0\t0.0\t0.0\t0.0\t2.0\t0.0\t0.0\t2.0\t\t\t\t\t\t\tstrelka\tstrelka|consensus|consensus\tLowEVS|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140434409T>G\tTrue\tPASS\tT>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140436343\t140436343\t+\tIGR\tSNP\tA\tG\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t64\t\t\t\t\t\t\t\t\t\t\t\t\t140436343\t0.3\t1\t3\t1\t1.0\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140436343A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140436679\t140436679\t+\tIGR\tSNP\tG\tA\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t11\t2\t9\t2\t2\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCGC\t.\t210\t\t\t\t\t\t\t\t\t\t\t\t\t140436679\t2.9\t2\t11\t2\t0.818\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140436679G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140456687\t140456687\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t307\t300\t7\t36\t36\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tPASS\tTCC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t140456687\t300,7\t36,0\t307\t36\t0.027\t0.028\t0/1\t0/0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmutect2\tmutect2|strelka\tPASS|LowEVS\tPASS\tTrue\tchr7:g.140456687C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140458030\t140458030\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t25\t11\t14\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tACA\t.\t293\t\t\t\t\t\t\t\t\t\t\t\t\t140458030\t11.14\t1\t25\t1\t0.56\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|consensus|consensus\tminGermlineDepth|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140458030C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140460142\t140460142\t+\tIGR\tSNP\tG\tG\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24\t13\t11\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGA\t.\t90\t\t\t\t\t\t\t\t\t\t\t\t\t140460142\t13.11\t4\t24\t4\t0.458\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140460142G>C\tTrue\tPASS\tG>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140460152\t140460152\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t27\t16\t11\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t95\t\t\t\t\t\t\t\t\t\t\t\t\t140460152\t16.11\t2\t27\t2\t0.407\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140460152T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140460528\t140460528\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t8\t10\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t99\t\t\t\t\t\t\t\t\t\t\t\t\t140460528\t8.1\t5\t18\t5\t0.556\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140460528T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140460887\t140460887\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t96\t53\t43\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tATT\t.\t860\t\t\t\t\t\t\t\t\t\t\t\t\t140460887\t53.43\t3\t96\t3\t0.448\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140460887T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140461114\t140461114\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t48\t33\t15\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tATA\t.\t233\t\t\t\t\t\t\t\t\t\t\t\t\t140461114\t33.15\t0\t48\t0\t0.313\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140461114T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140461126\t140461126\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t44\t30\t14\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTG\t.\t310\t\t\t\t\t\t\t\t\t\t\t\t\t140461126\t30.14\t0\t44\t0\t0.318\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140461126T>A\tTrue\tPASS\tT>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140461398\t140461398\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t74\t68\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t78\t\t\t\t\t\t\t\t\t\t\t\t\t140461398\t68.6\t1\t74\t1\t0.081\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140461398T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140461521\t140461521\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t73\t50\t23\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTA\t.\t268\t\t\t\t\t\t\t\t\t\t\t\t\t140461521\t50.23\t4\t73\t4\t0.315\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140461521T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140461601\t140461601\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t59\t51\t8\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATT\t.\t113\t\t\t\t\t\t\t\t\t\t\t\t\t140461601\t51.8\t2\t59\t2\t0.136\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140461601T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462172\t140462172\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t45\t32\t13\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTG\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t140462172\t32.13\t1\t45\t1\t0.289\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140462172T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462261\t140462261\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t89\t79\t10\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTC\t.\t142\t\t\t\t\t\t\t\t\t\t\t\t\t140462261\t79.1\t0\t89\t0\t0.112\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140462261T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462289\t140462289\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t75\t51\t24\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCAA\t.\t338\t\t\t\t\t\t\t\t\t\t\t\t\t140462289\t51.24\t0\t75\t0\t0.32\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140462289A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462672\t140462672\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t80\t54\t26\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tATA\t.\t394\t\t\t\t\t\t\t\t\t\t\t\t\t140462672\t54.26\t1\t80\t1\t0.325\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140462672T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462903\t140462903\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t71\t65\t6\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTT\t.\t80\t\t\t\t\t\t\t\t\t\t\t\t\t140462903\t65.6\t2\t71\t2\t0.085\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140462903T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140462909\t140462909\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t74\t64\t10\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTG\t.\t58\t\t\t\t\t\t\t\t\t\t\t\t\t140462909\t64.1\t2\t74\t2\t0.135\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140462909T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463129\t140463129\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t64\t62\t2\t0\t0\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGGT\t.\t50\t\t\t\t\t\t\t\t\t\t\t\t\t140463129\t62.2\t0\t64\t0\t0.031\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140463129G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463556\t140463556\t+\tIGR\tSNP\tA\tA\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t40\t38\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAG\t.\t57\t\t\t\t\t\t\t\t\t\t\t\t\t140463556\t38.2\t1\t40\t1\t0.05\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140463556A>T\tTrue\tPASS\tA>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463629\t140463629\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t48\t39\t9\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t78\t\t\t\t\t\t\t\t\t\t\t\t\t140463629\t39.9\t1\t48\t1\t0.188\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140463629T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463641\t140463641\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t45\t39\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t140463641\t39.6\t1\t45\t1\t0.133\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140463641T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463718\t140463718\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t37\t28\t9\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t138\t\t\t\t\t\t\t\t\t\t\t\t\t140463718\t28.9\t1\t37\t1\t0.243\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140463718T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463763\t140463763\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t35\t28\t7\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t81\t\t\t\t\t\t\t\t\t\t\t\t\t140463763\t28.7\t0\t35\t0\t0.2\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140463763T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140463948\t140463949\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t20\t16\t4\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTGT\t.\t82\t\t\t\t\t\t\t\t\t\t\t\t\t140463948\t16.4\t3\t20\t3\t0.2\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140463948->T\tTrue\tPASS\t->T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464097\t140464097\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t27\t22\t5\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTT\t.\t66\t\t\t\t\t\t\t\t\t\t\t\t\t140464097\t22.5\t3\t27\t3\t0.185\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464097T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464321\t140464321\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t38\t21\t17\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTT\t.\t214\t\t\t\t\t\t\t\t\t\t\t\t\t140464321\t21.17\t2\t38\t2\t0.447\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|sage|strelka\tminGermlineDepth|minGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464321T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464322\t140464322\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t43\t33\t10\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t108\t\t\t\t\t\t\t\t\t\t\t\t\t140464322\t33.1\t2\t43\t2\t0.233\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464322T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464537\t140464537\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t33\t28\t5\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t50\t\t\t\t\t\t\t\t\t\t\t\t\t140464537\t28.5\t2\t33\t2\t0.152\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464537T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464583\t140464583\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t42\t28\t14\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t69\t\t\t\t\t\t\t\t\t\t\t\t\t140464583\t28.14\t2\t42\t2\t0.333\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464583T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464861\t140464861\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t22\t19\t3\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATT\t.\t64\t\t\t\t\t\t\t\t\t\t\t\t\t140464861\t19.3\t4\t22\t4\t0.136\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464861T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464893\t140464893\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t29\t19\t10\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTG\t.\t97\t\t\t\t\t\t\t\t\t\t\t\t\t140464893\t19.1\t3\t29\t3\t0.345\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464893T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140464929\t140464929\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t34\t20\t14\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t128\t\t\t\t\t\t\t\t\t\t\t\t\t140464929\t20.14\t1\t34\t1\t0.412\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140464929T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140465241\t140465241\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t57\t51\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t87\t\t\t\t\t\t\t\t\t\t\t\t\t140465241\t51.6\t1\t57\t1\t0.105\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140465241T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140465388\t140465388\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t49\t41\t8\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t83\t\t\t\t\t\t\t\t\t\t\t\t\t140465388\t41.8\t1\t49\t1\t0.163\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140465388T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140465405\t140465405\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t68\t55\t13\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTG\t.\t211\t\t\t\t\t\t\t\t\t\t\t\t\t140465405\t55.13\t1\t68\t1\t0.191\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140465405T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140465442\t140465442\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t100\t77\t23\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTA\t.\t297\t\t\t\t\t\t\t\t\t\t\t\t\t140465442\t77.23\t1\t100\t1\t0.23\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140465442T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140465908\t140465908\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t27\t17\t10\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t98\t\t\t\t\t\t\t\t\t\t\t\t\t140465908\t17.1\t1\t27\t1\t0.37\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140465908T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140466098\t140466098\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t39\t31\t8\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATA\t.\t138\t\t\t\t\t\t\t\t\t\t\t\t\t140466098\t31.8\t0\t39\t0\t0.205\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140466098T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140467348\t140467348\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t40\t28\t12\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTT\t.\t136\t\t\t\t\t\t\t\t\t\t\t\t\t140467348\t28.12\t0\t40\t0\t0.3\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140467348T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140467558\t140467558\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t52\t34\t17\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTA\t.\t284\t\t\t\t\t\t\t\t\t\t\t\t\t140467558\t34.17\t0\t52\t0\t0.327\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140467558T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140468358\t140468358\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t90\t63\t27\t5\t3\t2\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tmaxGermlineRelRawBaseQual;maxGermlineVAF;minGermlineDepth\tGTG\t.\t432\t\t\t\t\t\t\t\t\t\t\t\t\t140468358\t63.27\t3.2\t90\t5\t0.3\t0.4\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tmaxGermlineRelRawBaseQual;maxGermlineVAF;minGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140468358T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140468848\t140468848\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t48\t46\t2\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGA\t.\t54\t\t\t\t\t\t\t\t\t\t\t\t\t140468848\t46.2\t0\t48\t0\t0.042\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140468848G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140469137\t140469137\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t29\t17\t12\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t158\t\t\t\t\t\t\t\t\t\t\t\t\t140469137\t17.12\t2\t29\t2\t0.414\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140469137T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140469696\t140469696\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t34\t28\t6\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t64\t\t\t\t\t\t\t\t\t\t\t\t\t140469696\t28.6\t2\t34\t2\t0.176\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140469696T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140469796\t140469796\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t44\t36\t8\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATG\t.\t112\t\t\t\t\t\t\t\t\t\t\t\t\t140469796\t36.8\t5\t44\t5\t0.182\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140469796T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140469814\t140469814\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t43\t38\t5\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t98\t\t\t\t\t\t\t\t\t\t\t\t\t140469814\t38.5\t5\t43\t5\t0.116\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140469814T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140469929\t140469929\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t43\t14\t29\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tATC\t.\t422\t\t\t\t\t\t\t\t\t\t\t\t\t140469929\t14.29\t1\t43\t1\t0.674\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140469929T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140470105\t140470105\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t61\t51\t10\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t86\t\t\t\t\t\t\t\t\t\t\t\t\t140470105\t51.1\t5\t61\t5\t0.164\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140470105T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140471608\t140471608\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t19\t15\t4\t6\t6\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTA\t.\t73\t\t\t\t\t\t\t\t\t\t\t\t\t140471608\t15.4\t6\t19\t6\t0.211\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140471608T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140471673\t140471673\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t25\t13\t12\t5\t5\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTT\t.\t182\t\t\t\t\t\t\t\t\t\t\t\t\t140471673\t13.12\t5\t25\t5\t0.48\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.140471673T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140473302\t140473302\t+\tIGR\tSNP\tT\tT\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t8\t5\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTC\t.\t75\t\t\t\t\t\t\t\t\t\t\t\t\t140473302\t8.5\t3\t13\t3\t0.385\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140473302T>G\tTrue\tPASS\tT>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140482602\t140482602\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t9\t4\t5\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAA\t.\t87\t\t\t\t\t\t\t\t\t\t\t\t\t140482602\t4.5\t3\t9\t3\t0.556\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140482602A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140483770\t140483770\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t14\t4\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAG\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t140483770\t14.4\t0\t18\t0\t0.222\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140483770A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140627464\t140627464\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t5\t1\t4\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t60\t\t\t\t\t\t\t\t\t\t\t\t\t140627464\t1.4\t1\t5\t1\t0.8\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140627464T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140693790\t140693790\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t62\t58\t4\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAG\t.\t68\t\t\t\t\t\t\t\t\t\t\t\t\t140693790\t58.4\t1\t62\t1\t0.065\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140693790A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140694204\t140694204\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24\t17\t7\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAG\t.\t75\t\t\t\t\t\t\t\t\t\t\t\t\t140694204\t17.7\t1\t24\t1\t0.292\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140694204A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140697866\t140697866\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t56\t46\t10\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tAAC\t.\t163\t\t\t\t\t\t\t\t\t\t\t\t\t140697866\t46.1\t0\t56\t0\t0.179\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140697866A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140697921\t140697921\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t56\t48\t8\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTAA\t.\t98\t\t\t\t\t\t\t\t\t\t\t\t\t140697921\t48.8\t0\t56\t0\t0.143\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140697921A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140697935\t140697935\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t49\t45\t4\t0\t0\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAG\t.\t62\t\t\t\t\t\t\t\t\t\t\t\t\t140697935\t45.4\t0\t49\t0\t0.082\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140697935A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140697987\t140697987\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t88\t83\t5\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t76\t\t\t\t\t\t\t\t\t\t\t\t\t140697987\t83.5\t2\t88\t2\t0.057\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140697987T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140699078\t140699078\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t20\t16\t4\t2\t2\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGAG\t.\t52\t\t\t\t\t\t\t\t\t\t\t\t\t140699078\t16.4\t2\t20\t2\t0.2\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140699078A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140700180\t140700180\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t51\t45\t6\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t118\t\t\t\t\t\t\t\t\t\t\t\t\t140700180\t45.6\t1\t51\t1\t0.118\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140700180A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140700193\t140700193\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t39\t25\t14\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAG\t.\t125\t\t\t\t\t\t\t\t\t\t\t\t\t140700193\t25.14\t1\t39\t1\t0.359\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140700193A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140700201\t140700201\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t37\t25\t12\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAC\t.\t151\t\t\t\t\t\t\t\t\t\t\t\t\t140700201\t25.12\t1\t37\t1\t0.324\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140700201A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140700223\t140700223\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t9\t4\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCAA\t.\t79\t\t\t\t\t\t\t\t\t\t\t\t\t140700223\t9.4\t1\t13\t1\t0.308\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140700223A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140701589\t140701589\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t78\t75\t3\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTAA\t.\t53\t\t\t\t\t\t\t\t\t\t\t\t\t140701589\t75.3\t1\t78\t1\t0.038\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140701589A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140701590\t140701590\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t78\t69\t9\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAG\t.\t65\t\t\t\t\t\t\t\t\t\t\t\t\t140701590\t69.9\t1\t78\t1\t0.115\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140701590A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140724780\t140724780\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t151\t90\t61\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tPASS\tCTT\t.\t937\t\t\t\t\t\t\t\t\t\t\t\t\t140724780\t90.61\t0\t151\t0\t0.404\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tPASS|LowDepth;LowEVS\tPASS\tTrue\tchr7:g.140724780T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140729191\t140729191\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24\t20\t4\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTA\t.\t62\t\t\t\t\t\t\t\t\t\t\t\t\t140729191\t20.4\t0\t24\t0\t0.167\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140729191T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140790274\t140790274\t+\tIGR\tSNP\tA\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t1\t6\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAC\t.\t86\t\t\t\t\t\t\t\t\t\t\t\t\t140790274\t1.6\t2\t7\t2\t0.857\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140790274A>C\tTrue\tPASS\tA>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140798704\t140798704\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t52\t45\t7\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t147\t\t\t\t\t\t\t\t\t\t\t\t\t140798704\t45.7\t0\t52\t0\t0.135\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140798704T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140811128\t140811128\t+\tIGR\tSNP\tT\tT\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t47\t45\t2\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTA\t.\t52\t\t\t\t\t\t\t\t\t\t\t\t\t140811128\t45.2\t4\t47\t4\t0.043\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140811128T>A\tTrue\tPASS\tT>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140816975\t140816976\t+\tIGR\tINS\t-\t-\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t66\t58\t8\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGA\t.\t90\t\t\t\t\t\t\t\t\t\t\t\t\t140816975\t58.8\t1\t66\t1\t0.121\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140816975->A\tTrue\tPASS\t->A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140820737\t140820737\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t39\t28\t11\t3\t3\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t86\t\t\t\t\t\t\t\t\t\t\t\t\t140820737\t28.11\t3\t39\t3\t0.282\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140820737T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140820825\t140820825\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t35\t29\t6\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t76\t\t\t\t\t\t\t\t\t\t\t\t\t140820825\t29.6\t0\t35\t0\t0.171\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140820825T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140821130\t140821130\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t34\t22\t12\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tCTA\t.\t160\t\t\t\t\t\t\t\t\t\t\t\t\t140821130\t22.12\t1\t34\t1\t0.353\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140821130T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140821182\t140821182\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t42\t27\t15\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGTT\t.\t297\t\t\t\t\t\t\t\t\t\t\t\t\t140821182\t27.15\t1\t42\t1\t0.357\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140821182T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140821203\t140821203\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t34\t22\t12\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTG\t.\t119\t\t\t\t\t\t\t\t\t\t\t\t\t140821203\t22.12\t1\t34\t1\t0.353\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140821203T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140822317\t140822317\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t88\t85\t3\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGA\t.\t65\t\t\t\t\t\t\t\t\t\t\t\t\t140822317\t85.3\t0\t88\t0\t0.034\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140822317G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140822996\t140822997\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t56\t50\t6\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t82\t\t\t\t\t\t\t\t\t\t\t\t\t140822996\t50.6\t1\t56\t1\t0.107\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140822996->T\tTrue\tPASS\t->T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140827904\t140827905\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t45\t36\t8\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTAT\t.\t109\t\t\t\t\t\t\t\t\t\t\t\t\t140827904\t36.8\t1\t45\t1\t0.178\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140827904->T\tTrue\tPASS\t->T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140828517\t140828517\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t60\t24\t36\t1\t1\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth\tGAT\t.\t753\t\t\t\t\t\t\t\t\t\t\t\t\t140828517\t24.36\t1\t60\t1\t0.6\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|consensus|consensus\tminGermlineDepth|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140828517A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140829200\t140829200\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t51\t21\t10\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTGG\t.\t77\t\t\t\t\t\t\t\t\t\t\t\t\t140829200\t21.1\t0\t51\t0\t0.196\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140829200G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140841133\t140841133\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t1\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGA\t.\t55\t\t\t\t\t\t\t\t\t\t\t\t\t140841133\t1.2\t1\t3\t1\t0.667\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140841133G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140897881\t140897881\t+\tIGR\tSNP\tC\tC\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t13\t11\t2\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tACA\t.\t60\t\t\t\t\t\t\t\t\t\t\t\t\t140897881\t11.2\t4\t13\t4\t0.154\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140897881C>A\tTrue\tPASS\tC>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140906294\t140906294\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t37\t30\t7\t2\t2\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t94\t\t\t\t\t\t\t\t\t\t\t\t\t140906294\t30.7\t2\t37\t2\t0.189\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140906294T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140906444\t140906444\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t23\t10\t13\t4\t4\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTG\t.\t143\t\t\t\t\t\t\t\t\t\t\t\t\t140906444\t10.13\t4\t23\t4\t0.565\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140906444T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140907479\t140907479\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t18\t11\t7\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTC\t.\t131\t\t\t\t\t\t\t\t\t\t\t\t\t140907479\t11.7\t1\t18\t1\t0.389\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|consensus|consensus\tminGermlineDepth;minTumorQual|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140907479T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140909399\t140909399\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t32\t27\t5\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATA\t.\t90\t\t\t\t\t\t\t\t\t\t\t\t\t140909399\t27.5\t0\t32\t0\t0.156\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140909399T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140910467\t140910468\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t35\t31\t4\t4\t4\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tminGermlineDepth;minTumorQual\tACT\t.\t81\t\t\t\t\t\t\t\t\t\t\t\t\t140910467\t31.4\t4\t35\t4\t0.114\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.140910467->T\tTrue\tPASS\t->T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t140910811\t140910811\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t21\t17\t4\t0\t0\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t52\t\t\t\t\t\t\t\t\t\t\t\t\t140910811\t17.4\t0\t21\t0\t0.19\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.140910811T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141004056\t141004056\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t33\t28\t5\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTT\t.\t76\t\t\t\t\t\t\t\t\t\t\t\t\t141004056\t28.5\t1\t33\t1\t0.152\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141004056T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141004111\t141004111\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t10\t2\t8\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tCTA\t.\t127\t\t\t\t\t\t\t\t\t\t\t\t\t141004111\t2.8\t1\t10\t1\t0.8\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141004111T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141004826\t141004826\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t6\t1\t5\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTA\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t141004826\t1.5\t1\t6\t1\t0.833\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141004826T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141080090\t141080090\t+\tIGR\tSNP\tA\tA\tG\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t7\t4\t3\t3\t3\t0\t\tG\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAAT\t.\t58\t\t\t\t\t\t\t\t\t\t\t\t\t141080090\t4.3\t3\t7\t3\t0.429\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.141080090A>G\tTrue\tPASS\tA>G\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141082435\t141082435\t+\tIGR\tSNP\tG\tA\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t4\t1\t3\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGA\t.\t70\t\t\t\t\t\t\t\t\t\t\t\t\t141082435\t1.3\t1\t4\t1\t0.75\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141082435G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141084239\t141084239\t+\tIGR\tSNP\tT\tA\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTTT\t.\t75\t\t\t\t\t\t\t\t\t\t\t\t\t141084239\t0.3\t1\t3\t1\t1.0\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.141084239T>A\tTrue\tPASS\tT>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141296649\t141296649\t+\tIGR\tSNP\tT\tA\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t4\t4\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATT\t.\t78\t\t\t\t\t\t\t\t\t\t\t\t\t141296649\t0.3\t4\t3\t4\t1.0\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.141296649T>A\tTrue\tPASS\tT>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141350897\t141350897\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t1\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tAGT\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t141350897\t1.2\t1\t3\t1\t0.667\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141350897G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141350899\t141350899\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t1\t2\t1\t1\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTCG\t.\t57\t\t\t\t\t\t\t\t\t\t\t\t\t141350899\t1.2\t1\t3\t1\t0.667\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141350899C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141365719\t141365719\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t11\t9\t2\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTGT\t.\t53\t\t\t\t\t\t\t\t\t\t\t\t\t141365719\t9.2\t1\t11\t1\t0.182\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141365719G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141513665\t141513665\t+\tIGR\tSNP\tA\tA\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t3\t3\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGAT\t.\t51\t\t\t\t\t\t\t\t\t\t\t\t\t141513665\t6.2\t3\t8\t3\t0.25\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.141513665A>T\tTrue\tPASS\tA>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141644925\t141644925\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t15\t13\t2\t4\t4\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tTCT\t.\t56\t\t\t\t\t\t\t\t\t\t\t\t\t141644925\t13.2\t4\t15\t4\t0.133\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.141644925C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141652639\t141652640\t+\tIGR\tINS\t-\t-\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\t-\t-\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t163\t152\t11\t8\t8\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tinsertion\t\t\t\t\t\tslippage\tAAT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141652639\t152,11\t8,0\t163\t8\t0.074\t0.091\t0/1\t0/0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmutect2\tmutect2|sage|strelka\tslippage|minGermlineDepth|LowEVS\tFAIL\tTrue\tchr7:g.141652639->T\tTrue\tPASS\t->T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141656174\t141656174\t+\tIGR\tSNP\tC\tC\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t94\t92\t2\t0\t0\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual;minTumorVAF\tCCC\t.\t59\t\t\t\t\t\t\t\t\t\t\t\t\t141656174\t92.2\t0\t94\t0\t0.021\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual;minTumorVAF|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141656174C>T\tTrue\tPASS\tC>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141666987\t141666987\t+\tIGR\tSNP\tT\tT\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t24\t18\t6\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tGTG\t.\t74\t\t\t\t\t\t\t\t\t\t\t\t\t141666987\t18.6\t1\t24\t1\t0.25\t0.0\t0/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.141666987T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141699142\t141699142\t+\tIGR\tSNP\tT\tC\tC\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t3\t0\t3\t1\t1\t0\t\tC\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tminGermlineDepth;minTumorQual\tATC\t.\t50\t\t\t\t\t\t\t\t\t\t\t\t\t141699142\t0.3\t1\t3\t1\t1.0\t0.0\t1/1\t./.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsage\tsage|strelka\tminGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141699142T>C\tTrue\tPASS\tT>C\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141712007\t141712007\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t11\t8\t3\t1\t1\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tLowDepth;LowEVS\tTGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141712007\t8.3\t1\t11\t1\t\t\t0/1\t./.\t3.0\t0.0\t0.0\t0.0\t8.0\t1.0\t0.0\t0.0\t\t\t\t\t\t\tstrelka\tstrelka|consensus|consensus\tLowDepth;LowEVS|minGermlineDepth;minTumorQual|LowDepth;LowEVS\tFAIL\tTrue\tchr7:g.141712007G>A\tTrue\tPASS\tG>A\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141723300\t141723300\t+\tIGR\tSNP\tG\tG\tT\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t8\t6\t2\t42\t42\t0\t\tT\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tweak_evidence\tTGC\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141723300\t6,2\t42,0\t8\t42\t0.25\t0.024\t0/1\t0/0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmutect2\tmutect2|sage|strelka\tweak_evidence|minTumorQual|LowEVS\tFAIL\tTrue\tchr7:g.141723300G>T\tTrue\tPASS\tG>T\tFalse", + "Unknown\t0\t.\tGRCh38\tchr7\t141724345\t141724345\t+\tIGR\tSNP\tG\tG\tA\tnovel\t\tTCRBOA7-T-RNA\tTCRBOA7-N\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t6\t4\t2\t36\t36\t0\t\tA\t\t\t\tintergenic_variant\t\t\t\t\t\t\t1\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMODIFIER\t1\tSNV\t\t\t\t\t\tweak_evidence\tAGT\t.\t.\t\t\t\t\t\t\t\t\t\t\t\t\t141724345\t4,2\t36,0\t6\t36\t0.329\t0.026\t0/1\t0/0\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmutect2\tmutect2|strelka\tweak_evidence|PASS\tPASS\tTrue\tchr7:g.141724345G>A\tTrue\tPASS\tG>A\tFalse" + ] + ] + ], + [ + "\"RNA_FILTERING\":", + " python: 3.9.19" + ] + ], + "timestamp": "2026-06-25T14:22:47.115321", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } + } +} \ No newline at end of file diff --git a/modules/local/maf_rna_filtering/tests/nextflow.config b/modules/local/maf_rna_filtering/tests/nextflow.config new file mode 100644 index 00000000..8c6c1811 --- /dev/null +++ b/modules/local/maf_rna_filtering/tests/nextflow.config @@ -0,0 +1,5 @@ +process { + withName: RNA_FILTERING { + ext.args = { [params.rnaedits ? "--rnaedits ${params.rnaedits}" : ""].join(' ').trim() } + } +} diff --git a/modules/local/merge_maf/main.nf b/modules/local/merge_maf/main.nf new file mode 100644 index 00000000..aee73563 --- /dev/null +++ b/modules/local/merge_maf/main.nf @@ -0,0 +1,35 @@ +process MERGE_MAF { + + tag "$meta.id" + label 'process_low' + + conda "${moduleDir}/environment.yml" + container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/pigz:2.3.4' : + 'biocontainers/pigz:2.3.4' }" + + input: + tuple val(meta), path(input_files, stageAs: "inputs/*") + + output: + tuple val(meta), path("*merged.maf"), emit: maf_out + path "versions.yml" , emit: versions + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + + """ + # Get header(s) + ls inputs/* |head -n1 | xargs grep -m 2 -E 'Hugo_Symbol|^#' > ${prefix}.merged.maf + # Concat files without header + grep -hEv 'Hugo_Symbol|^#' inputs/* >> ${prefix}.merged.maf + cat <<-END_VERSIONS > versions.yml + "${task.process}": + cat: \$( cat --version 2>&1 | head -n 1 ) + END_VERSIONS + """ +} diff --git a/modules/local/sage/main.nf b/modules/local/sage/main.nf new file mode 100644 index 00000000..e717deea --- /dev/null +++ b/modules/local/sage/main.nf @@ -0,0 +1,77 @@ +process SAGE { + tag "$meta.id" + label 'process_medium' + + conda "bioconda::hmftools-sage=3.2.3" + container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/hmftools-sage:3.2.3--hdfd78af_0' : + 'quay.io/biocontainers/hmftools-sage:3.2.3--hdfd78af_0' }" + + input: + tuple val(meta), path(input_normal), path(input_index_normal), path(input_tumor), path(input_index_tumor), path(intervals) + tuple val(meta1), path(ensembl_dir) + tuple val(meta2), path(sage_high_confidence) + tuple val(meta3), path(sage_actionable_panel) + tuple val(meta4), path(sage_known_hotspots) + tuple val(meta5), path(fasta) + tuple val(meta6), path(fai) + tuple val(meta7), path(dict) + + output: + tuple val(meta), path("*.vcf"), emit: vcf + path "versions.yml" , emit: versions + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + def reference = input_normal ? "-reference ${meta.normal_id} -reference_bam ${input_normal}" : "" + def interval_prep = intervals ? "INTER=\$(sed -E 's/\\s+0\\s+/\\t1\\t/g' $intervals | sed 's/\t/:/g' | paste -s -d ';')" : "" + def interval_arg = intervals ? "-specific_regions \$INTER" : "" + def interval_notice = intervals ? "echo \"[WARNING] If no reads in the intervals from $intervals, sage won't work\"" : "" + def ensembl_data_dir = ensembl_dir ? "-ensembl_data_dir ${ensembl_dir}": "" + def avail_mem = 3072 + if (!task.memory) { + log.info '[SAGE] Available memory not known - defaulting to 3GB. Specify process memory requirements to change this.' + } else { + avail_mem = task.memory.giga + } + """ + ${interval_notice} + export _JAVA_OPTIONS="-Xmx${avail_mem}g" + ${interval_prep} + + SAGE \\ + -out ${prefix}.vcf \\ + -ref_genome $fasta \\ + -threads $task.cpus \\ + -tumor ${meta.tumor_id} \\ + -tumor_bam ${input_tumor} \\ + -high_confidence_bed ${sage_high_confidence} \\ + -panel_bed ${sage_actionable_panel} \\ + -hotspots ${sage_known_hotspots} \\ + $interval_arg \\ + $reference \\ + $ensembl_data_dir \\ + $args + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + SAGE: \$(SAGE 2>&1 | grep 'Sage version' | cut -d " " -f6) + END_VERSIONS + """ + stub: + + prefix = task.ext.prefix ?: "${meta.id}" + """ + touch ${prefix}.vcf + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + SAGE: \$(SAGE 2>&1 | grep 'Sage version' | cut -d " " -f6) + END_VERSIONS + """ + +} diff --git a/modules/local/sage/meta.yml b/modules/local/sage/meta.yml new file mode 100644 index 00000000..bff26e95 --- /dev/null +++ b/modules/local/sage/meta.yml @@ -0,0 +1,65 @@ +name: sage +description: SAGE is a precise and highly sensitive somatic SNV, MNV and small INDEL caller. It has been optimised for 100x tumor / 40x normal coverage, but has a flexible set of filters that can be adapted to lower or higher depth coverage. +keywords: + - variant caller + - SNP + - indels + - somatic variant calling + - hmftools + +tools: + - sage: + description: SAGE is a precise and highly sensitive somatic SNV, MNV and small INDEL caller. + homepage: https://github.com/hartwigmedical/hmftools/blob/master/sage/README.md + documentation: https://github.com/hartwigmedical/hmftools/tree/master/sage + tool_dev_url: https://github.com/hartwigmedical/hmftools/tree/master/sage + licence: ["GPL-3.0"] + +input: + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - normal: + type: file + description: BAM/CRAM/SAM file + pattern: "*.{bam,cram,sam}" + - normal_index: + type: file + description: BAM/CRAM/SAM index file + pattern: "*.{bai,crai}" + - tumor: + type: file + description: BAM/CRAM/SAM file + pattern: "*.{bam,cram,sam}" + - tumor_index: + type: file + description: BAM/CRAM/SAM index file + pattern: "*.{bai,crai}" + - intervals: + type: file + description: BED file for intervals + pattern: "*.bed" + - fasta: + type: file + description: reference fasta file + pattern: ".{fa,fa.gz,fasta,fasta.gz}" + +output: + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - vcf: + type: file + description: VCF file + pattern: "*.vcf" + - version: + type: file + description: File containing software version + pattern: "*.{version.txt}" + +authors: + - "@RaqManzano" diff --git a/modules/nf-core/bcftools/sort/environment.yml b/modules/nf-core/bcftools/sort/environment.yml new file mode 100644 index 00000000..13b63a62 --- /dev/null +++ b/modules/nf-core/bcftools/sort/environment.yml @@ -0,0 +1,10 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + # renovate: datasource=conda depName=bioconda/bcftools + - bioconda::bcftools=1.23.1 + # renovate: datasource=conda depName=bioconda/htslib + - bioconda::htslib=1.23.1 diff --git a/modules/nf-core/bcftools/sort/main.nf b/modules/nf-core/bcftools/sort/main.nf new file mode 100644 index 00000000..2de80301 --- /dev/null +++ b/modules/nf-core/bcftools/sort/main.nf @@ -0,0 +1,71 @@ +process BCFTOOLS_SORT { + tag "${meta.id}" + label 'process_medium' + + conda "${moduleDir}/environment.yml" + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/0b/0b4d52ca9a56d07be3f78a12af654e5116f5112908dba277e6796fd9dfb83fe5/data' + : 'community.wave.seqera.io/library/bcftools_htslib:1.23.1--9f08ec665533d64a'}" + + input: + tuple val(meta), path(vcf) + + output: + tuple val(meta), path("*.{vcf,vcf.gz,bcf,bcf.gz}"), emit: vcf + tuple val(meta), path("*.{tbi,csi}"), emit: index, optional: true + tuple val("${task.process}"), val('bcftools'), eval("bcftools --version | sed '1!d; s/^.*bcftools //'"), topic: versions, emit: versions_bcftools + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '--output-type z' + def prefix = task.ext.prefix ?: "${meta.id}" + def extension = args.contains("--output-type b") || args.contains("-Ob") + ? "bcf.gz" + : args.contains("--output-type u") || args.contains("-Ou") + ? "bcf" + : args.contains("--output-type z") || args.contains("-Oz") + ? "vcf.gz" + : args.contains("--output-type v") || args.contains("-Ov") + ? "vcf" + : "vcf" + def max_memory = task.memory ? "--max-mem ${task.memory.toUnit('MB') * 0.9}M" : "" + """ + bcftools \\ + sort \\ + --output ${prefix}.${extension} \\ + --temp-dir . \\ + ${max_memory} \\ + ${args} \\ + ${vcf} + """ + + stub: + def args = task.ext.args ?: '--output-type z' + def prefix = task.ext.prefix ?: "${meta.id}" + + def extension = args.contains("--output-type b") || args.contains("-Ob") + ? "bcf.gz" + : args.contains("--output-type u") || args.contains("-Ou") + ? "bcf" + : args.contains("--output-type z") || args.contains("-Oz") + ? "vcf.gz" + : args.contains("--output-type v") || args.contains("-Ov") + ? "vcf" + : "vcf" + def index = args.contains("--write-index=tbi") || args.contains("-W=tbi") + ? "tbi" + : args.contains("--write-index=csi") || args.contains("-W=csi") + ? "csi" + : args.contains("--write-index") || args.contains("-W") + ? "csi" + : "" + def create_cmd = extension.endsWith(".gz") ? "echo '' | gzip >" : "touch" + def create_index = extension.endsWith(".gz") && index.matches("csi|tbi") ? "touch ${prefix}.${extension}.${index}" : "" + + """ + ${create_cmd} ${prefix}.${extension} + ${create_index} + """ +} diff --git a/modules/nf-core/bcftools/sort/meta.yml b/modules/nf-core/bcftools/sort/meta.yml new file mode 100644 index 00000000..ee0bdb55 --- /dev/null +++ b/modules/nf-core/bcftools/sort/meta.yml @@ -0,0 +1,74 @@ +name: bcftools_sort +description: Sorts VCF files +keywords: + - sorting + - VCF + - variant calling +tools: + - sort: + description: Sort VCF files by coordinates. + homepage: http://samtools.github.io/bcftools/bcftools.html + documentation: http://www.htslib.org/doc/bcftools.html + tool_dev_url: https://github.com/samtools/bcftools + doi: "10.1093/bioinformatics/btp352" + licence: + - "MIT" + identifier: biotools:bcftools +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - vcf: + type: file + description: The VCF/BCF file to be sorted + pattern: "*.{vcf.gz,vcf,bcf}" + ontologies: [] +output: + vcf: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.{vcf,vcf.gz,bcf,bcf.gz}": + type: file + description: Sorted VCF file + pattern: "*.{vcf.gz}" + ontologies: [] + index: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.{tbi,csi}": + type: file + description: VCF file index + pattern: "*.{tbi,csi}" + versions_bcftools: + - - ${task.process}: + type: string + description: The process the versions were collected from + - bcftools: + type: string + description: The tool name + - bcftools --version | sed '1!d; s/^.*bcftools //': + type: eval + description: The command used to generate the version of the tool +topics: + versions: + - - ${task.process}: + type: string + description: The process the versions were collected from + - bcftools: + type: string + description: The tool name + - bcftools --version | sed '1!d; s/^.*bcftools //': + type: eval + description: The command used to generate the version of the tool +authors: + - "@Gwennid" +maintainers: + - "@Gwennid" diff --git a/modules/nf-core/bcftools/sort/tests/main.nf.test b/modules/nf-core/bcftools/sort/tests/main.nf.test new file mode 100644 index 00000000..66639627 --- /dev/null +++ b/modules/nf-core/bcftools/sort/tests/main.nf.test @@ -0,0 +1,211 @@ +nextflow_process { + + name "Test Process BCFTOOLS_SORT" + script "../main.nf" + process "BCFTOOLS_SORT" + + tag "modules" + tag "modules_nfcore" + tag "bcftools" + tag "bcftools/sort" + + test("sarscov2 - vcf") { + when { + process { + """ + input[0] = [ + [ id:'test' ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test.vcf', checkIfExists: true) + ] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match("vcf") } + ) + } + } + + test("sarscov2 - vcf_gz_index") { + + config "./vcf_gz_index.config" + + when { + process { + """ + input[0] = [ + [ id:'test' ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test.vcf', checkIfExists: true) + ] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot( + process.out.vcf, + process.out.index.collect { it.collect { it instanceof Map ? it : file(it).name } }, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() }, + { assert process.out.index[0][1].endsWith(".csi") } + ) + } + } + + test("sarscov2 - vcf_gz_index_csi") { + + config "./vcf_gz_index_csi.config" + + when { + process { + """ + input[0] = [ + [ id:'test' ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test.vcf', checkIfExists: true) + ] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot( + process.out.vcf, + process.out.index.collect { it.collect { it instanceof Map ? it : file(it).name } }, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() }, + { assert process.out.index[0][1].endsWith(".csi") } + ) + } + } + + test("sarscov2 - vcf_gz_index_tbi") { + + config "./vcf_gz_index_tbi.config" + + when { + process { + """ + input[0] = [ + [ id:'test' ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test.vcf', checkIfExists: true) + ] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot( + process.out.vcf, + process.out.index.collect { it.collect { it instanceof Map ? it : file(it).name } }, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() }, + { assert process.out.index[0][1].endsWith(".tbi") } + ) + } + } + + test("sarscov2 - vcf - stub") { + options "-stub" + when { + process { + """ + input[0] = [ + [ id:'test' ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test.vcf', checkIfExists: true) + ] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("sarscov2 - vcf_gz_index - stub") { + + config "./vcf_gz_index.config" + options "-stub" + + when { + process { + """ + input[0] = [ + [ id:'test' ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test.vcf', checkIfExists: true) + ] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() }, + { assert process.out.index[0][1].endsWith(".csi") } + ) + } + } + + test("sarscov2 - vcf_gz_index_csi - stub") { + + config "./vcf_gz_index_csi.config" + options "-stub" + + when { + process { + """ + input[0] = [ + [ id:'test' ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test.vcf', checkIfExists: true) + ] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() }, + { assert process.out.index[0][1].endsWith(".csi") } + ) + } + } + + test("sarscov2 - vcf_gz_index_tbi - stub") { + + config "./vcf_gz_index_tbi.config" + options "-stub" + + when { + process { + """ + input[0] = [ + [ id:'test' ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test.vcf', checkIfExists: true) + ] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() }, + { assert process.out.index[0][1].endsWith(".tbi") } + ) + } + } +} diff --git a/modules/nf-core/bcftools/sort/tests/main.nf.test.snap b/modules/nf-core/bcftools/sort/tests/main.nf.test.snap new file mode 100644 index 00000000..f3eb3965 --- /dev/null +++ b/modules/nf-core/bcftools/sort/tests/main.nf.test.snap @@ -0,0 +1,369 @@ +{ + "sarscov2 - vcf_gz_index_tbi - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test_vcf.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "1": [ + [ + { + "id": "test" + }, + "test_vcf.vcf.gz.tbi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "2": [ + [ + "BCFTOOLS_SORT", + "bcftools", + "1.23.1" + ] + ], + "index": [ + [ + { + "id": "test" + }, + "test_vcf.vcf.gz.tbi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "vcf": [ + [ + { + "id": "test" + }, + "test_vcf.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "versions_bcftools": [ + [ + "BCFTOOLS_SORT", + "bcftools", + "1.23.1" + ] + ] + } + ], + "timestamp": "2026-05-28T14:43:34.731344", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.2" + } + }, + "vcf": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.vcf.gz:md5,8e722884ffb75155212a3fc053918766" + ] + ], + "1": [ + + ], + "2": [ + [ + "BCFTOOLS_SORT", + "bcftools", + "1.23.1" + ] + ], + "index": [ + + ], + "vcf": [ + [ + { + "id": "test" + }, + "test.vcf.gz:md5,8e722884ffb75155212a3fc053918766" + ] + ], + "versions_bcftools": [ + [ + "BCFTOOLS_SORT", + "bcftools", + "1.23.1" + ] + ] + } + ], + "timestamp": "2026-05-28T14:42:44.941677", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.2" + } + }, + "sarscov2 - vcf_gz_index": { + "content": [ + [ + [ + { + "id": "test" + }, + "test_vcf.vcf.gz:md5,8e722884ffb75155212a3fc053918766" + ] + ], + [ + [ + { + "id": "test" + }, + "test_vcf.vcf.gz.csi" + ] + ], + { + "versions_bcftools": [ + [ + "BCFTOOLS_SORT", + "bcftools", + "1.23.1" + ] + ] + } + ], + "timestamp": "2026-05-28T14:42:51.393004", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.2" + } + }, + "sarscov2 - vcf_gz_index_csi": { + "content": [ + [ + [ + { + "id": "test" + }, + "test_vcf.vcf.gz:md5,8e722884ffb75155212a3fc053918766" + ] + ], + [ + [ + { + "id": "test" + }, + "test_vcf.vcf.gz.csi" + ] + ], + { + "versions_bcftools": [ + [ + "BCFTOOLS_SORT", + "bcftools", + "1.23.1" + ] + ] + } + ], + "timestamp": "2026-05-28T14:42:58.637723", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.2" + } + }, + "sarscov2 - vcf_gz_index - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test_vcf.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "1": [ + [ + { + "id": "test" + }, + "test_vcf.vcf.gz.csi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "2": [ + [ + "BCFTOOLS_SORT", + "bcftools", + "1.23.1" + ] + ], + "index": [ + [ + { + "id": "test" + }, + "test_vcf.vcf.gz.csi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "vcf": [ + [ + { + "id": "test" + }, + "test_vcf.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "versions_bcftools": [ + [ + "BCFTOOLS_SORT", + "bcftools", + "1.23.1" + ] + ] + } + ], + "timestamp": "2026-05-28T14:43:20.314367", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.2" + } + }, + "sarscov2 - vcf_gz_index_csi - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test_vcf.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "1": [ + [ + { + "id": "test" + }, + "test_vcf.vcf.gz.csi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "2": [ + [ + "BCFTOOLS_SORT", + "bcftools", + "1.23.1" + ] + ], + "index": [ + [ + { + "id": "test" + }, + "test_vcf.vcf.gz.csi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "vcf": [ + [ + { + "id": "test" + }, + "test_vcf.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "versions_bcftools": [ + [ + "BCFTOOLS_SORT", + "bcftools", + "1.23.1" + ] + ] + } + ], + "timestamp": "2026-05-28T14:43:27.839561", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.2" + } + }, + "sarscov2 - vcf - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "1": [ + + ], + "2": [ + [ + "BCFTOOLS_SORT", + "bcftools", + "1.23.1" + ] + ], + "index": [ + + ], + "vcf": [ + [ + { + "id": "test" + }, + "test.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "versions_bcftools": [ + [ + "BCFTOOLS_SORT", + "bcftools", + "1.23.1" + ] + ] + } + ], + "timestamp": "2026-05-28T14:43:14.11854", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.2" + } + }, + "sarscov2 - vcf_gz_index_tbi": { + "content": [ + [ + [ + { + "id": "test" + }, + "test_vcf.vcf.gz:md5,8e722884ffb75155212a3fc053918766" + ] + ], + [ + [ + { + "id": "test" + }, + "test_vcf.vcf.gz.tbi" + ] + ], + { + "versions_bcftools": [ + [ + "BCFTOOLS_SORT", + "bcftools", + "1.23.1" + ] + ] + } + ], + "timestamp": "2026-05-28T14:43:05.017607", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.2" + } + } +} \ No newline at end of file diff --git a/modules/nf-core/bcftools/sort/tests/vcf_gz_index.config b/modules/nf-core/bcftools/sort/tests/vcf_gz_index.config new file mode 100644 index 00000000..aacd1346 --- /dev/null +++ b/modules/nf-core/bcftools/sort/tests/vcf_gz_index.config @@ -0,0 +1,4 @@ +process { + ext.prefix = { "${meta.id}_vcf" } + ext.args = "--output-type z --write-index" +} diff --git a/modules/nf-core/bcftools/sort/tests/vcf_gz_index_csi.config b/modules/nf-core/bcftools/sort/tests/vcf_gz_index_csi.config new file mode 100644 index 00000000..640eb0ba --- /dev/null +++ b/modules/nf-core/bcftools/sort/tests/vcf_gz_index_csi.config @@ -0,0 +1,4 @@ +process { + ext.prefix = { "${meta.id}_vcf" } + ext.args = "--output-type z --write-index=csi" +} diff --git a/modules/nf-core/bcftools/sort/tests/vcf_gz_index_tbi.config b/modules/nf-core/bcftools/sort/tests/vcf_gz_index_tbi.config new file mode 100644 index 00000000..589a50c6 --- /dev/null +++ b/modules/nf-core/bcftools/sort/tests/vcf_gz_index_tbi.config @@ -0,0 +1,4 @@ +process { + ext.prefix = { "${meta.id}_vcf" } + ext.args = "--output-type z --write-index=tbi" +} diff --git a/modules/nf-core/bcftools/stats/environment.yml b/modules/nf-core/bcftools/stats/environment.yml new file mode 100644 index 00000000..13b63a62 --- /dev/null +++ b/modules/nf-core/bcftools/stats/environment.yml @@ -0,0 +1,10 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + # renovate: datasource=conda depName=bioconda/bcftools + - bioconda::bcftools=1.23.1 + # renovate: datasource=conda depName=bioconda/htslib + - bioconda::htslib=1.23.1 diff --git a/modules/nf-core/bcftools/stats/main.nf b/modules/nf-core/bcftools/stats/main.nf new file mode 100644 index 00000000..6088f15c --- /dev/null +++ b/modules/nf-core/bcftools/stats/main.nf @@ -0,0 +1,50 @@ +process BCFTOOLS_STATS { + tag "${meta.id}" + label 'process_single' + + conda "${moduleDir}/environment.yml" + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/0b/0b4d52ca9a56d07be3f78a12af654e5116f5112908dba277e6796fd9dfb83fe5/data' + : 'community.wave.seqera.io/library/bcftools_htslib:1.23.1--9f08ec665533d64a'}" + + input: + tuple val(meta), path(vcf), path(tbi) + tuple val(meta2), path(regions) + tuple val(meta3), path(targets) + tuple val(meta4), path(samples) + tuple val(meta5), path(exons) + tuple val(meta6), path(fasta) + + output: + tuple val(meta), path("*stats.txt"), emit: stats + tuple val("${task.process}"), val('bcftools'), eval("bcftools --version | sed '1!d; s/^.*bcftools //'"), topic: versions, emit: versions_bcftools + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + def regions_file = regions ? "--regions-file ${regions}" : "" + def targets_file = targets ? "--targets-file ${targets}" : "" + def samples_file = samples ? "--samples-file ${samples}" : "" + def reference_fasta = fasta ? "--fasta-ref ${fasta}" : "" + def exons_file = exons ? "--exons ${exons}" : "" + """ + bcftools stats \\ + ${args} \\ + ${regions_file} \\ + ${targets_file} \\ + ${samples_file} \\ + ${reference_fasta} \\ + ${exons_file} \\ + ${vcf} > ${prefix}.bcftools_stats.txt + """ + + stub: + def prefix = task.ext.prefix ?: "${meta.id}" + + """ + touch ${prefix}.bcftools_stats.txt + """ +} diff --git a/modules/nf-core/bcftools/stats/meta.yml b/modules/nf-core/bcftools/stats/meta.yml new file mode 100644 index 00000000..1bed6e56 --- /dev/null +++ b/modules/nf-core/bcftools/stats/meta.yml @@ -0,0 +1,130 @@ +name: bcftools_stats +description: Generates stats from VCF files +keywords: + - variant calling + - stats + - VCF +tools: + - stats: + description: | + Parses VCF or BCF and produces text file stats which is suitable for + machine processing and can be plotted using plot-vcfstats. + homepage: http://samtools.github.io/bcftools/bcftools.html + documentation: http://www.htslib.org/doc/bcftools.html + doi: 10.1093/bioinformatics/btp352 + licence: + - "MIT" + identifier: biotools:bcftools +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - vcf: + type: file + description: VCF input file + pattern: "*.{vcf}" + ontologies: [] + - tbi: + type: file + description: | + The tab index for the VCF file to be inspected. Optional: only required when parameter regions is chosen. + pattern: "*.tbi" + ontologies: [] + - - meta2: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - regions: + type: file + description: | + Optionally, restrict the operation to regions listed in this file. (VCF, BED or tab-delimited) + ontologies: [] + - - meta3: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - targets: + type: file + description: | + Optionally, restrict the operation to regions listed in this file (doesn't rely upon tbi index files) + ontologies: [] + - - meta4: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - samples: + type: file + description: | + Optional, file of sample names to be included or excluded. + e.g. 'file.tsv' + ontologies: [] + - - meta5: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - exons: + type: file + description: | + Tab-delimited file with exons for indel frameshifts (chr,beg,end; 1-based, inclusive, optionally bgzip compressed). + e.g. 'exons.tsv.gz' + ontologies: [] + - - meta6: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - fasta: + type: file + description: | + Faidx indexed reference sequence file to determine INDEL context. + e.g. 'reference.fa' + ontologies: [] +output: + stats: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*stats.txt": + type: file + description: Text output file containing stats + pattern: "*_{stats.txt}" + ontologies: [] + versions_bcftools: + - - ${task.process}: + type: string + description: The process the versions were collected from + - bcftools: + type: string + description: The tool name + - "bcftools --version | sed '1!d; s/^.*bcftools //'": + type: eval + description: The command used to generate the version of the tool +topics: + versions: + - - ${task.process}: + type: string + description: The process the versions were collected from + - bcftools: + type: string + description: The tool name + - "bcftools --version | sed '1!d; s/^.*bcftools //'": + type: eval + description: The command used to generate the version of the tool +authors: + - "@joseespinosa" + - "@drpatelh" + - "@SusiJo" + - "@TCLamnidis" +maintainers: + - "@joseespinosa" + - "@drpatelh" + - "@SusiJo" + - "@TCLamnidis" diff --git a/modules/nf-core/bcftools/stats/tests/main.nf.test b/modules/nf-core/bcftools/stats/tests/main.nf.test new file mode 100644 index 00000000..e8a55989 --- /dev/null +++ b/modules/nf-core/bcftools/stats/tests/main.nf.test @@ -0,0 +1,175 @@ +nextflow_process { + + name "Test Process BCFTOOLS_STATS" + script "../main.nf" + process "BCFTOOLS_STATS" + + tag "modules" + tag "modules_nfcore" + tag "bcftools" + tag "bcftools/stats" + + test("sarscov2 - vcf_gz") { + + when { + process { + """ + input[0] = [ [ id:'test' ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test.vcf.gz', checkIfExists: true), + []] + input[1] = [ [], [] ] + input[2] = [ [], [] ] + input[3] = [ [], [] ] + input[4] = [ [], [] ] + input[5] = [ [], [] ] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out.findAll { key, val -> key.startsWith("versions") }).match("versions") }, + { assert snapshot(file(process.out.stats.get(0).get(1)).readLines()[0..5]).match() }, + ) + } + } + + test("sarscov2 - vcf_gz - regions") { + + when { + process { + """ + input[0] = [ [ id:'regions_test' ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test.vcf.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test.vcf.gz.tbi', checkIfExists: true)] + input[1] = [ [id:'regions_test'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test3.vcf.gz', checkIfExists: true) ] + input[2] = [ [], [] ] + input[3] = [ [], [] ] + input[4] = [ [], [] ] + input[5] = [ [], [] ] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out.findAll { key, val -> key.startsWith("versions") }).match("regions_versions") }, + { assert snapshot(file(process.out.stats.get(0).get(1)).readLines()[0..5]).match() }, + ) + } + } + + test("sarscov2 - vcf_gz - targets") { + + when { + process { + """ + input[0] = [ [ id:'targets_test' ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test.vcf.gz', checkIfExists: true), + [] ] + input[1] = [ [], [] ] + input[2] = [ [id:'targets_test'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test2.targets.tsv.gz', checkIfExists: true) + ] + input[3] = [ [], [] ] + input[4] = [ [], [] ] + input[5] = [ [], [] ] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out.findAll { key, val -> key.startsWith("versions") }).match("targets_versions") }, + { assert snapshot(file(process.out.stats.get(0).get(1)).readLines()[0..5]).match() }, + ) + } + } + + test("sarscov2 - vcf_gz - exons") { + + when { + process { + """ + input[0] = [ [ id:'exon_test' ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test.vcf.gz', checkIfExists: true), + [] ] + input[1] = [ [], [] ] + input[2] = [ [], [] ] + input[3] = [ [], [] ] + input[4] = [ [id: "exon_test"], + file(params.modules_testdata_base_path + 'delete_me/bcftools/stats/exons.tsv.gz', checkIfExists: true) ] + input[5] = [ [], [] ] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out.findAll { key, val -> key.startsWith("versions") }).match("exon_versions") }, + { assert snapshot(file(process.out.stats.get(0).get(1)).readLines()[0..5]).match() }, + ) + } + } + + test("sarscov2 - vcf_gz - reference") { + + when { + process { + """ + input[0] = [ [ id:'ref_test' ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test.vcf.gz', checkIfExists: true), + [] ] + input[1] = [ [], [] ] + input[2] = [ [], [] ] + input[3] = [ [], [] ] + input[4] = [ [], [] ] + input[5] = [ [id: 'ref_test'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true) + ] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out.findAll { key, val -> key.startsWith("versions") }).match("ref_versions") }, + { assert snapshot(file(process.out.stats.get(0).get(1)).readLines()[0..5]).match() }, + ) + } + } + + + test("sarscov2 - vcf_gz - stub") { + + options "-stub" + + when { + process { + """ + input[0] = [ [ id:'test' ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test.vcf.gz', checkIfExists: true), + []] + input[1] = [ [], [] ] + input[2] = [ [], [] ] + input[3] = [ [], [] ] + input[4] = [ [], [] ] + input[5] = [ [], [] ] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } +} diff --git a/modules/nf-core/bcftools/stats/tests/main.nf.test.snap b/modules/nf-core/bcftools/stats/tests/main.nf.test.snap new file mode 100644 index 00000000..1161199b --- /dev/null +++ b/modules/nf-core/bcftools/stats/tests/main.nf.test.snap @@ -0,0 +1,218 @@ +{ + "sarscov2 - vcf_gz - reference": { + "content": [ + [ + "# This file was produced by bcftools stats (1.23.1+htslib-1.23.1) and can be plotted using plot-vcfstats.", + "# The command line was:\tbcftools stats --fasta-ref genome.fasta test.vcf.gz", + "#", + "# Definition of sets:", + "# ID\t[2]id\t[3]tab-separated file names", + "ID\t0\ttest.vcf.gz" + ] + ], + "timestamp": "2026-03-20T18:22:27.82153528", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.2" + } + }, + "sarscov2 - vcf_gz - exons": { + "content": [ + [ + "# This file was produced by bcftools stats (1.23.1+htslib-1.23.1) and can be plotted using plot-vcfstats.", + "# The command line was:\tbcftools stats --exons exons.tsv.gz test.vcf.gz", + "#", + "# Definition of sets:", + "# ID\t[2]id\t[3]tab-separated file names", + "ID\t0\ttest.vcf.gz" + ] + ], + "timestamp": "2026-03-20T18:22:18.912655315", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.2" + } + }, + "versions": { + "content": [ + { + "versions_bcftools": [ + [ + "BCFTOOLS_STATS", + "bcftools", + "1.23.1" + ] + ] + } + ], + "timestamp": "2026-03-20T18:21:53.228681614", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.2" + } + }, + "sarscov2 - vcf_gz - targets": { + "content": [ + [ + "# This file was produced by bcftools stats (1.23.1+htslib-1.23.1) and can be plotted using plot-vcfstats.", + "# The command line was:\tbcftools stats --targets-file test2.targets.tsv.gz test.vcf.gz", + "#", + "# Definition of sets:", + "# ID\t[2]id\t[3]tab-separated file names", + "ID\t0\ttest.vcf.gz" + ] + ], + "timestamp": "2026-03-20T18:22:10.341222029", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.2" + } + }, + "regions_versions": { + "content": [ + { + "versions_bcftools": [ + [ + "BCFTOOLS_STATS", + "bcftools", + "1.23.1" + ] + ] + } + ], + "timestamp": "2026-03-20T18:22:01.713819348", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.2" + } + }, + "targets_versions": { + "content": [ + { + "versions_bcftools": [ + [ + "BCFTOOLS_STATS", + "bcftools", + "1.23.1" + ] + ] + } + ], + "timestamp": "2026-03-20T18:22:10.32795863", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.2" + } + }, + "sarscov2 - vcf_gz - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.bcftools_stats.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + [ + "BCFTOOLS_STATS", + "bcftools", + "1.23.1" + ] + ], + "stats": [ + [ + { + "id": "test" + }, + "test.bcftools_stats.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions_bcftools": [ + [ + "BCFTOOLS_STATS", + "bcftools", + "1.23.1" + ] + ] + } + ], + "timestamp": "2026-03-20T18:22:36.639614055", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.2" + } + }, + "exon_versions": { + "content": [ + { + "versions_bcftools": [ + [ + "BCFTOOLS_STATS", + "bcftools", + "1.23.1" + ] + ] + } + ], + "timestamp": "2026-03-20T18:22:18.899161374", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.2" + } + }, + "ref_versions": { + "content": [ + { + "versions_bcftools": [ + [ + "BCFTOOLS_STATS", + "bcftools", + "1.23.1" + ] + ] + } + ], + "timestamp": "2026-03-20T18:22:27.810279032", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.2" + } + }, + "sarscov2 - vcf_gz": { + "content": [ + [ + "# This file was produced by bcftools stats (1.23.1+htslib-1.23.1) and can be plotted using plot-vcfstats.", + "# The command line was:\tbcftools stats test.vcf.gz", + "#", + "# Definition of sets:", + "# ID\t[2]id\t[3]tab-separated file names", + "ID\t0\ttest.vcf.gz" + ] + ], + "timestamp": "2026-03-20T18:21:53.252674205", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.2" + } + }, + "sarscov2 - vcf_gz - regions": { + "content": [ + [ + "# This file was produced by bcftools stats (1.23.1+htslib-1.23.1) and can be plotted using plot-vcfstats.", + "# The command line was:\tbcftools stats --regions-file test3.vcf.gz test.vcf.gz", + "#", + "# Definition of sets:", + "# ID\t[2]id\t[3]tab-separated file names", + "ID\t0\ttest.vcf.gz" + ] + ], + "timestamp": "2026-03-20T18:22:01.726572891", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.2" + } + } +} \ No newline at end of file diff --git a/modules/nf-core/bwa/index/environment.yml b/modules/nf-core/bwa/index/environment.yml new file mode 100644 index 00000000..54e67949 --- /dev/null +++ b/modules/nf-core/bwa/index/environment.yml @@ -0,0 +1,13 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda + +dependencies: + # renovate: datasource=conda depName=bioconda/bwa + - bioconda::bwa=0.7.19 + # renovate: datasource=conda depName=bioconda/htslib + - bioconda::htslib=1.22.1 + # renovate: datasource=conda depName=bioconda/samtools + - bioconda::samtools=1.22.1 diff --git a/modules/nf-core/bwa/index/main.nf b/modules/nf-core/bwa/index/main.nf new file mode 100644 index 00000000..a1c98ace --- /dev/null +++ b/modules/nf-core/bwa/index/main.nf @@ -0,0 +1,44 @@ +process BWA_INDEX { + tag "$fasta" + // NOTE requires 5.37N memory where N is the size of the database + // source: https://bio-bwa.sourceforge.net/bwa.shtml#8 + memory { 7.B * fasta.size() } + + conda "${moduleDir}/environment.yml" + container "${ workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container ? + 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/d7/d7e24dc1e4d93ca4d3a76a78d4c834a7be3985b0e1e56fddd61662e047863a8a/data' : + 'community.wave.seqera.io/library/bwa_htslib_samtools:83b50ff84ead50d0' }" + + input: + tuple val(meta), path(fasta) + + output: + tuple val(meta), path("bwa"), emit: index + tuple val("${task.process}"), val('bwa'), eval('bwa 2>&1 | sed -n "s/^Version: //p"'), topic: versions, emit: versions_bwa + + when: + task.ext.when == null || task.ext.when + + script: + def prefix = task.ext.prefix ?: "${fasta.baseName}" + def args = task.ext.args ?: '' + """ + mkdir bwa + bwa \\ + index \\ + $args \\ + -p bwa/${prefix} \\ + $fasta + """ + + stub: + def prefix = task.ext.prefix ?: "${fasta.baseName}" + """ + mkdir bwa + touch bwa/${prefix}.amb + touch bwa/${prefix}.ann + touch bwa/${prefix}.bwt + touch bwa/${prefix}.pac + touch bwa/${prefix}.sa + """ +} diff --git a/modules/nf-core/bwa/index/meta.yml b/modules/nf-core/bwa/index/meta.yml new file mode 100644 index 00000000..f5bf7f52 --- /dev/null +++ b/modules/nf-core/bwa/index/meta.yml @@ -0,0 +1,71 @@ +name: bwa_index +description: Create BWA index for reference genome +keywords: + - index + - fasta + - genome + - reference +tools: + - bwa: + description: | + BWA is a software package for mapping DNA sequences against + a large reference genome, such as the human genome. + homepage: http://bio-bwa.sourceforge.net/ + documentation: https://bio-bwa.sourceforge.net/bwa.shtml + arxiv: arXiv:1303.3997 + licence: ["GPL-3.0-or-later"] + identifier: "biotools:bwa" +input: + - - meta: + type: map + description: | + Groovy Map containing reference information. + e.g. [ id:'test', single_end:false ] + - fasta: + type: file + description: Input genome fasta file + ontologies: + - edam: "http://edamontology.org/data_2044" # Sequence + - edam: "http://edamontology.org/format_1929" # FASTA +output: + index: + - - meta: + type: map + description: | + Groovy Map containing reference information. + e.g. [ id:'test', single_end:false ] + - bwa: + type: map + description: | + Groovy Map containing reference information. + e.g. [ id:'test', single_end:false ] + pattern: "*.{amb,ann,bwt,pac,sa}" + ontologies: + - edam: "http://edamontology.org/data_3210" # Genome index + versions_bwa: + - - ${task.process}: + type: string + description: The process the versions were collected from + - bwa: + type: string + description: The tool name + - 'bwa 2>&1 | sed -n "s/^Version: //p"': + type: string + description: The command used to generate the version of the tool +topics: + versions: + - - ${task.process}: + type: string + description: The process the versions were collected from + - bwa: + type: string + description: The tool name + - 'bwa 2>&1 | sed -n "s/^Version: //p"': + type: string + description: The command used to generate the version of the tool +authors: + - "@drpatelh" + - "@maxulysse" +maintainers: + - "@maxulysse" + - "@gallvp" diff --git a/modules/nf-core/bwa/index/tests/main.nf.test b/modules/nf-core/bwa/index/tests/main.nf.test new file mode 100644 index 00000000..f0fba82a --- /dev/null +++ b/modules/nf-core/bwa/index/tests/main.nf.test @@ -0,0 +1,57 @@ +nextflow_process { + + name "Test Process BWA_INDEX" + tag "modules_nfcore" + tag "modules" + tag "bwa" + tag "bwa/index" + script "../main.nf" + process "BWA_INDEX" + + test("BWA index") { + + when { + process { + """ + input[0] = [ + [id: 'test'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true) + ] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(process.out).match() } + ) + } + + } + + test("BWA index - stub") { + + options "-stub" + + when { + process { + """ + input[0] = [ + [id: 'test'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true) + ] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(process.out).match() } + ) + } + + } + +} diff --git a/modules/nf-core/bwa/index/tests/main.nf.test.snap b/modules/nf-core/bwa/index/tests/main.nf.test.snap new file mode 100644 index 00000000..21a6f73c --- /dev/null +++ b/modules/nf-core/bwa/index/tests/main.nf.test.snap @@ -0,0 +1,108 @@ +{ + "BWA index - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + [ + "genome.amb:md5,d41d8cd98f00b204e9800998ecf8427e", + "genome.ann:md5,d41d8cd98f00b204e9800998ecf8427e", + "genome.bwt:md5,d41d8cd98f00b204e9800998ecf8427e", + "genome.pac:md5,d41d8cd98f00b204e9800998ecf8427e", + "genome.sa:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "1": [ + [ + "BWA_INDEX", + "bwa", + "0.7.19-r1273" + ] + ], + "index": [ + [ + { + "id": "test" + }, + [ + "genome.amb:md5,d41d8cd98f00b204e9800998ecf8427e", + "genome.ann:md5,d41d8cd98f00b204e9800998ecf8427e", + "genome.bwt:md5,d41d8cd98f00b204e9800998ecf8427e", + "genome.pac:md5,d41d8cd98f00b204e9800998ecf8427e", + "genome.sa:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "versions_bwa": [ + [ + "BWA_INDEX", + "bwa", + "0.7.19-r1273" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2026-01-23T16:58:59.966558606" + }, + "BWA index": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + [ + "genome.amb:md5,3a68b8b2287e07dd3f5f95f4344ba76e", + "genome.ann:md5,c32e11f6c859f166c7525a9c1d583567", + "genome.bwt:md5,0469c30a1e239dd08f68afe66fde99da", + "genome.pac:md5,983e3d2cd6f36e2546e6d25a0da78d66", + "genome.sa:md5,ab3952cabf026b48cd3eb5bccbb636d1" + ] + ] + ], + "1": [ + [ + "BWA_INDEX", + "bwa", + "0.7.19-r1273" + ] + ], + "index": [ + [ + { + "id": "test" + }, + [ + "genome.amb:md5,3a68b8b2287e07dd3f5f95f4344ba76e", + "genome.ann:md5,c32e11f6c859f166c7525a9c1d583567", + "genome.bwt:md5,0469c30a1e239dd08f68afe66fde99da", + "genome.pac:md5,983e3d2cd6f36e2546e6d25a0da78d66", + "genome.sa:md5,ab3952cabf026b48cd3eb5bccbb636d1" + ] + ] + ], + "versions_bwa": [ + [ + "BWA_INDEX", + "bwa", + "0.7.19-r1273" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2026-01-23T16:58:53.330725134" + } +} \ No newline at end of file diff --git a/modules/nf-core/bwa/mem/environment.yml b/modules/nf-core/bwa/mem/environment.yml new file mode 100644 index 00000000..54e67949 --- /dev/null +++ b/modules/nf-core/bwa/mem/environment.yml @@ -0,0 +1,13 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda + +dependencies: + # renovate: datasource=conda depName=bioconda/bwa + - bioconda::bwa=0.7.19 + # renovate: datasource=conda depName=bioconda/htslib + - bioconda::htslib=1.22.1 + # renovate: datasource=conda depName=bioconda/samtools + - bioconda::samtools=1.22.1 diff --git a/modules/nf-core/bwa/mem/main.nf b/modules/nf-core/bwa/mem/main.nf new file mode 100644 index 00000000..bde6a9a3 --- /dev/null +++ b/modules/nf-core/bwa/mem/main.nf @@ -0,0 +1,73 @@ +process BWA_MEM { + tag "$meta.id" + label 'process_high' + + conda "${moduleDir}/environment.yml" + container "${ workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container ? + 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/d7/d7e24dc1e4d93ca4d3a76a78d4c834a7be3985b0e1e56fddd61662e047863a8a/data' : + 'community.wave.seqera.io/library/bwa_htslib_samtools:83b50ff84ead50d0' }" + + input: + tuple val(meta) , path(reads) + tuple val(meta2), path(index) + tuple val(meta3), path(fasta) + val sort_bam + + output: + tuple val(meta), path("*.bam") , emit: bam, optional: true + tuple val(meta), path("*.cram") , emit: cram, optional: true + tuple val(meta), path("*.sam") , emit: sam, optional: true + tuple val(meta), path("*.csi") , emit: csi, optional: true + tuple val(meta), path("*.crai") , emit: crai, optional: true + tuple val("${task.process}"), val('bwa'), eval('bwa 2>&1 | sed -n "s/^Version: //p"'), topic: versions, emit: versions_bwa + tuple val("${task.process}"), val('samtools'), eval("samtools version | sed '1!d;s/.* //'"), topic: versions, emit: versions_samtools + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def args2 = task.ext.args2 ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + def samtools_command = sort_bam ? 'sort' : 'view' + def extension = args2.contains("--output-fmt sam") ? "sam" : + args2.contains("--output-fmt cram") ? "cram": + sort_bam && args2.contains("-O cram")? "cram": + !sort_bam && args2.contains("-C") ? "cram": + "bam" + def reference = fasta && extension=="cram" ? "--reference ${fasta}" : "" + if (!fasta && extension=="cram") error "Fasta reference is required for CRAM output" + // + // For SAM output we can skip samtools view + // + def pipe_command = "" + if (extension == "sam") { + pipe_command = "> ${prefix}.${extension}" + } else { + pipe_command = "| samtools $samtools_command $args2 ${reference} --threads $task.cpus -o ${prefix}.${extension} -" + } + """ + INDEX=`find -L ./ -name "*.amb" | sed 's/\\.amb\$//'` + + bwa mem \\ + $args \\ + -t $task.cpus \\ + \$INDEX \\ + $reads \\ + $pipe_command + """ + + stub: + def args2 = task.ext.args2 ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + def extension = args2.contains("--output-fmt sam") ? "sam" : + args2.contains("--output-fmt cram") ? "cram": + sort_bam && args2.contains("-O cram")? "cram": + !sort_bam && args2.contains("-C") ? "cram": + "bam" + """ + touch ${prefix}.${extension} + touch ${prefix}.csi + touch ${prefix}.crai + """ +} diff --git a/modules/nf-core/bwa/mem/meta.yml b/modules/nf-core/bwa/mem/meta.yml new file mode 100644 index 00000000..1c4ee883 --- /dev/null +++ b/modules/nf-core/bwa/mem/meta.yml @@ -0,0 +1,159 @@ +name: bwa_mem +description: Performs fastq alignment to a fasta reference using BWA +keywords: + - mem + - bwa + - alignment + - map + - fastq + - bam + - sam +tools: + - bwa: + description: | + BWA is a software package for mapping DNA sequences against + a large reference genome, such as the human genome. + homepage: http://bio-bwa.sourceforge.net/ + documentation: https://bio-bwa.sourceforge.net/bwa.shtml + arxiv: arXiv:1303.3997 + licence: + - "GPL-3.0-or-later" + identifier: "biotools:bwa" +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - reads: + type: file + description: | + List of input FastQ files of size 1 and 2 for single-end and paired-end data, + respectively. + ontologies: + - edam: "http://edamontology.org/data_2044" + - edam: "http://edamontology.org/format_1930" + - - meta2: + type: map + description: | + Groovy Map containing reference information. + e.g. [ id:'test', single_end:false ] + - index: + type: file + description: BWA genome index files + pattern: "Directory containing BWA index *.{amb,ann,bwt,pac,sa}" + ontologies: + - edam: "http://edamontology.org/data_3210" + - - meta3: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - fasta: + type: file + description: Reference genome in FASTA format + pattern: "*.{fasta,fa}" + ontologies: + - edam: "http://edamontology.org/data_2044" + - edam: "http://edamontology.org/format_1929" + - sort_bam: + type: boolean + description: use samtools sort (true) or samtools view (false) + pattern: "true or false" +output: + bam: + - - meta: + type: map + description: Groovy Map containing sample information + - "*.bam": + type: file + description: Output BAM file containing read alignments + pattern: "*.{bam}" + ontologies: + - edam: "http://edamontology.org/format_2572" + cram: + - - meta: + type: map + description: Groovy Map containing sample information + - "*.cram": + type: file + description: Output CRAM file containing read alignments + pattern: "*.{cram}" + ontologies: + - edam: "http://edamontology.org/format_3462" + sam: + - - meta: + type: map + description: Groovy Map containing sample information + - "*.sam": + type: file + description: Output SAM file containing read alignments + pattern: "*.{sam}" + ontologies: + - edam: "http://edamontology.org/format_2573" + csi: + - - meta: + type: map + description: Groovy Map containing sample information + - "*.csi": + type: file + description: Optional index file for BAM file + pattern: "*.{csi}" + ontologies: [] + crai: + - - meta: + type: map + description: Groovy Map containing sample information + - "*.crai": + type: file + description: Optional index file for CRAM file + pattern: "*.{crai}" + ontologies: [] + versions_bwa: + - - ${task.process}: + type: string + description: The name of the process + - bwa: + type: string + description: The name of the tool + - 'bwa 2>&1 | sed -n "s/^Version: //p"': + type: eval + description: The expression to obtain the version of the tool + versions_samtools: + - - ${task.process}: + type: string + description: The name of the process + - samtools: + type: string + description: The name of the tool + - samtools version | sed '1!d;s/.* //': + type: eval + description: The expression to obtain the version of the tool +topics: + versions: + - - ${task.process}: + type: string + description: The name of the process + - bwa: + type: string + description: The name of the tool + - 'bwa 2>&1 | sed -n "s/^Version: //p"': + type: eval + description: The expression to obtain the version of the tool + - - ${task.process}: + type: string + description: The name of the process + - samtools: + type: string + description: The name of the tool + - samtools version | sed '1!d;s/.* //': + type: eval + description: The expression to obtain the version of the tool +authors: + - "@drpatelh" + - "@jeremy1805" + - "@matthdsm" +maintainers: + - "@drpatelh" + - "@jeremy1805" + - "@matthdsm" diff --git a/modules/nf-core/bwa/mem/tests/main.nf.test b/modules/nf-core/bwa/mem/tests/main.nf.test new file mode 100644 index 00000000..e284e2ea --- /dev/null +++ b/modules/nf-core/bwa/mem/tests/main.nf.test @@ -0,0 +1,343 @@ +nextflow_process { + + name "Test Process BWA_MEM" + tag "modules_nfcore" + tag "modules" + tag "bwa" + tag "bwa/mem" + tag "bwa/index" + script "../main.nf" + process "BWA_MEM" + + setup { + run("BWA_INDEX") { + script "../../index/main.nf" + process { + """ + input[0] = [ + [id: 'test'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true) + ] + """ + } + } + } + + test("Single-End") { + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:true ], // meta map + [ + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true) + ] + ] + input[1] = BWA_INDEX.out.index + input[2] = [[id: 'test'],file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true)] + input[3] = false + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot( + process.out.cram, + process.out.sam, + process.out.csi, + process.out.crai, + process.out.findAll { key, val -> key.startsWith("versions") }, + bam(process.out.bam[0][1]).getReadsMD5() + ).match() + } + ) + } + + } + + test("Single-End Sort") { + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:true ], // meta map + [ + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true) + ] + ] + input[1] = BWA_INDEX.out.index + input[2] = [[id: 'test'],file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true)] + input[3] = true + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot( + process.out.cram, + process.out.sam, + process.out.csi, + process.out.crai, + process.out.findAll { key, val -> key.startsWith("versions") }, + bam(process.out.bam[0][1]).getReadsMD5() + ).match() + } + ) + } + + } + + test("Single-End - SAM output") { + + config "./nextflow_sam.config" + + when { + params { + module_args2 = "--output-fmt sam" + } + + process { + """ + input[0] = [ + [ id:'test', single_end:true ], // meta map + [ + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true) + ] + ] + input[1] = BWA_INDEX.out.index + input[2] = [[id: 'test'],file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true)] + input[3] = false + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot( + process.out.bam, + process.out.cram, + process.out.csi, + process.out.crai, + process.out.findAll { key, val -> key.startsWith("versions") }, + bam(process.out.sam[0][1]).getReadsMD5() + ).match() + } + ) + } + + } + + test("Paired-End") { + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:false ], // meta map + [ + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) + ] + ] + input[1] = BWA_INDEX.out.index + input[2] = [[id: 'test'],file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true)] + input[3] = false + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot( + process.out.cram, + process.out.sam, + process.out.csi, + process.out.crai, + process.out.findAll { key, val -> key.startsWith("versions") }, + bam(process.out.bam[0][1]).getReadsMD5() + ).match() + } + ) + } + + } + + test("Paired-End Sort") { + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:false ], // meta map + [ + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) + ] + ] + input[1] = BWA_INDEX.out.index + input[2] = [[id: 'test'],file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true)] + input[3] = true + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot( + process.out.cram, + process.out.sam, + process.out.csi, + process.out.crai, + process.out.findAll { key, val -> key.startsWith("versions") }, + bam(process.out.bam[0][1]).getReadsMD5() + ).match() + } + ) + } + + } + + test("Paired-End - no fasta") { + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:false ], // meta map + [ + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) + ] + ] + input[1] = BWA_INDEX.out.index + input[2] = [[:],[]] + input[3] = false + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot( + process.out.cram, + process.out.sam, + process.out.csi, + process.out.crai, + process.out.findAll { key, val -> key.startsWith("versions") }, + bam(process.out.bam[0][1]).getReadsMD5() + ).match() + } + ) + } + + } + + test ("Paired-end - SAM output") { + + config "./nextflow_sam.config" + + when { + params { + module_args2 = "--output-fmt sam" + } + + process { + """ + input[0] = [ + [ id:'test', single_end:false ], // meta map + [ + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) + ] + ] + input[1] = BWA_INDEX.out.index + input[2] = [[:],[]] + input[3] = false + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot( + process.out.bam, + process.out.cram, + process.out.csi, + process.out.crai, + process.out.findAll { key, val -> key.startsWith("versions") }, + bam(process.out.sam[0][1]).getReadsMD5() + ).match() + } + ) + } + + } + + test("Single-end - stub") { + + options "-stub" + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:true ], // meta map + [ + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true) + ] + ] + input[1] = BWA_INDEX.out.index + input[2] = [[id: 'test'],file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true)] + input[3] = false + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("Paired-end - stub") { + + options "-stub" + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:false ], // meta map + [ + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) + ] + ] + input[1] = BWA_INDEX.out.index + input[2] = [[id: 'test'],file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true)] + input[3] = false + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } +} diff --git a/modules/nf-core/bwa/mem/tests/main.nf.test.snap b/modules/nf-core/bwa/mem/tests/main.nf.test.snap new file mode 100644 index 00000000..6f9031d8 --- /dev/null +++ b/modules/nf-core/bwa/mem/tests/main.nf.test.snap @@ -0,0 +1,478 @@ +{ + "Single-End - SAM output": { + "content": [ + [ + + ], + [ + + ], + [ + + ], + [ + + ], + { + "versions_bwa": [ + [ + "BWA_MEM", + "bwa", + "0.7.19-r1273" + ] + ], + "versions_samtools": [ + [ + "BWA_MEM", + "samtools", + "1.22.1" + ] + ] + }, + "798439cbd7fd81cbcc5078022dc5479d" + ], + "timestamp": "2026-05-11T12:09:32.334359515", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } + }, + "Single-End": { + "content": [ + [ + + ], + [ + + ], + [ + + ], + [ + + ], + { + "versions_bwa": [ + [ + "BWA_MEM", + "bwa", + "0.7.19-r1273" + ] + ], + "versions_samtools": [ + [ + "BWA_MEM", + "samtools", + "1.22.1" + ] + ] + }, + "798439cbd7fd81cbcc5078022dc5479d" + ], + "timestamp": "2026-05-11T12:07:21.233636979", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } + }, + "Single-End Sort": { + "content": [ + [ + + ], + [ + + ], + [ + + ], + [ + + ], + { + "versions_bwa": [ + [ + "BWA_MEM", + "bwa", + "0.7.19-r1273" + ] + ], + "versions_samtools": [ + [ + "BWA_MEM", + "samtools", + "1.22.1" + ] + ] + }, + "94fcf617f5b994584c4e8d4044e16b4f" + ], + "timestamp": "2026-05-11T12:07:28.74614221", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } + }, + "Paired-End": { + "content": [ + [ + + ], + [ + + ], + [ + + ], + [ + + ], + { + "versions_bwa": [ + [ + "BWA_MEM", + "bwa", + "0.7.19-r1273" + ] + ], + "versions_samtools": [ + [ + "BWA_MEM", + "samtools", + "1.22.1" + ] + ] + }, + "57aeef88ed701a8ebc8e2f0a381b2a6" + ], + "timestamp": "2026-05-11T12:07:42.612131595", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } + }, + "Paired-End Sort": { + "content": [ + [ + + ], + [ + + ], + [ + + ], + [ + + ], + { + "versions_bwa": [ + [ + "BWA_MEM", + "bwa", + "0.7.19-r1273" + ] + ], + "versions_samtools": [ + [ + "BWA_MEM", + "samtools", + "1.22.1" + ] + ] + }, + "af8628d9df18b2d3d4f6fd47ef2bb872" + ], + "timestamp": "2026-05-11T12:09:45.938323098", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } + }, + "Single-end - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": true + }, + "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + + ], + "2": [ + + ], + "3": [ + [ + { + "id": "test", + "single_end": true + }, + "test.csi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "4": [ + [ + { + "id": "test", + "single_end": true + }, + "test.crai:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "5": [ + [ + "BWA_MEM", + "bwa", + "0.7.19-r1273" + ] + ], + "6": [ + [ + "BWA_MEM", + "samtools", + "1.22.1" + ] + ], + "bam": [ + [ + { + "id": "test", + "single_end": true + }, + "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "crai": [ + [ + { + "id": "test", + "single_end": true + }, + "test.crai:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "cram": [ + + ], + "csi": [ + [ + { + "id": "test", + "single_end": true + }, + "test.csi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "sam": [ + + ], + "versions_bwa": [ + [ + "BWA_MEM", + "bwa", + "0.7.19-r1273" + ] + ], + "versions_samtools": [ + [ + "BWA_MEM", + "samtools", + "1.22.1" + ] + ] + } + ], + "timestamp": "2026-05-11T12:10:09.92486753", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } + }, + "Paired-End - no fasta": { + "content": [ + [ + + ], + [ + + ], + [ + + ], + [ + + ], + { + "versions_bwa": [ + [ + "BWA_MEM", + "bwa", + "0.7.19-r1273" + ] + ], + "versions_samtools": [ + [ + "BWA_MEM", + "samtools", + "1.22.1" + ] + ] + }, + "57aeef88ed701a8ebc8e2f0a381b2a6" + ], + "timestamp": "2026-05-11T12:09:52.820539909", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } + }, + "Paired-end - SAM output": { + "content": [ + [ + + ], + [ + + ], + [ + + ], + [ + + ], + { + "versions_bwa": [ + [ + "BWA_MEM", + "bwa", + "0.7.19-r1273" + ] + ], + "versions_samtools": [ + [ + "BWA_MEM", + "samtools", + "1.22.1" + ] + ] + }, + "57aeef88ed701a8ebc8e2f0a381b2a6" + ], + "timestamp": "2026-05-11T12:10:00.199968933", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } + }, + "Paired-end - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + + ], + "2": [ + + ], + "3": [ + [ + { + "id": "test", + "single_end": false + }, + "test.csi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "4": [ + [ + { + "id": "test", + "single_end": false + }, + "test.crai:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "5": [ + [ + "BWA_MEM", + "bwa", + "0.7.19-r1273" + ] + ], + "6": [ + [ + "BWA_MEM", + "samtools", + "1.22.1" + ] + ], + "bam": [ + [ + { + "id": "test", + "single_end": false + }, + "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "crai": [ + [ + { + "id": "test", + "single_end": false + }, + "test.crai:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "cram": [ + + ], + "csi": [ + [ + { + "id": "test", + "single_end": false + }, + "test.csi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "sam": [ + + ], + "versions_bwa": [ + [ + "BWA_MEM", + "bwa", + "0.7.19-r1273" + ] + ], + "versions_samtools": [ + [ + "BWA_MEM", + "samtools", + "1.22.1" + ] + ] + } + ], + "timestamp": "2026-05-11T12:10:16.940291647", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } + } +} \ No newline at end of file diff --git a/modules/nf-core/bwa/mem/tests/nextflow_sam.config b/modules/nf-core/bwa/mem/tests/nextflow_sam.config new file mode 100644 index 00000000..831332e7 --- /dev/null +++ b/modules/nf-core/bwa/mem/tests/nextflow_sam.config @@ -0,0 +1,5 @@ +process { + withName: BWA_MEM { + ext.args2 = params.module_args2 + } +} diff --git a/modules/nf-core/bwamem2/index/environment.yml b/modules/nf-core/bwamem2/index/environment.yml new file mode 100644 index 00000000..f3637444 --- /dev/null +++ b/modules/nf-core/bwamem2/index/environment.yml @@ -0,0 +1,13 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda + +dependencies: + # renovate: datasource=conda depName=bioconda/bwa-mem2 + - bwa-mem2=2.3 + # renovate: datasource=conda depName=bioconda/htslib + - htslib=1.22.1 + # renovate: datasource=conda depName=bioconda/samtools + - samtools=1.22.1 diff --git a/modules/nf-core/bwamem2/index/main.nf b/modules/nf-core/bwamem2/index/main.nf new file mode 100644 index 00000000..4d1461e6 --- /dev/null +++ b/modules/nf-core/bwamem2/index/main.nf @@ -0,0 +1,45 @@ +process BWAMEM2_INDEX { + tag "$fasta" + // NOTE Requires 28N GB memory where N is the size of the reference sequence, floor of 280M + // source: https://github.com/bwa-mem2/bwa-mem2/issues/9 + memory { 280.MB * Math.ceil(fasta.size() / 10000000) * task.attempt } + + conda "${moduleDir}/environment.yml" + container "${ workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container ? + 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/e0/e05ce34b46ad42810eb29f74e4e304c0cb592b2ca15572929ed8bbaee58faf01/data' : + 'community.wave.seqera.io/library/bwa-mem2_htslib_samtools:db98f81f55b64113' }" + + input: + tuple val(meta), path(fasta) + + output: + tuple val(meta), path("bwamem2"), emit: index + tuple val("${task.process}"), val('bwamem2'), eval('bwa-mem2 version | grep -o -E "[0-9]+(\\.[0-9]+)+"'), emit: versions_bwamem2, topic: versions + + when: + task.ext.when == null || task.ext.when + + script: + def prefix = task.ext.prefix ?: "${fasta}" + def args = task.ext.args ?: '' + """ + mkdir bwamem2 + bwa-mem2 \\ + index \\ + $args \\ + -p bwamem2/${prefix} \\ + $fasta + """ + + stub: + def prefix = task.ext.prefix ?: "${fasta}" + + """ + mkdir bwamem2 + touch bwamem2/${prefix}.0123 + touch bwamem2/${prefix}.ann + touch bwamem2/${prefix}.pac + touch bwamem2/${prefix}.amb + touch bwamem2/${prefix}.bwt.2bit.64 + """ +} diff --git a/modules/nf-core/bwamem2/index/meta.yml b/modules/nf-core/bwamem2/index/meta.yml new file mode 100644 index 00000000..12074860 --- /dev/null +++ b/modules/nf-core/bwamem2/index/meta.yml @@ -0,0 +1,73 @@ +name: bwamem2_index +description: Create BWA-mem2 index for reference genome +keywords: + - index + - fasta + - genome + - reference +tools: + - bwamem2: + description: | + BWA-mem2 is a software package for mapping DNA sequences against + a large reference genome, such as the human genome. + homepage: https://github.com/bwa-mem2/bwa-mem2 + documentation: https://github.com/bwa-mem2/bwa-mem2#usage + licence: + - "MIT" + identifier: "biotools:bwa-mem2" +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - fasta: + type: file + description: Input genome fasta file + ontologies: + - edam: "http://edamontology.org/data_2044" + - edam: "http://edamontology.org/format_1929" +output: + index: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - bwamem2: + type: string + description: BWA genome index files + pattern: "*.{0123,amb,ann,bwt.2bit.64,pac}" + ontologies: + - edam: "http://edamontology.org/data_3210" + versions_bwamem2: + - - ${task.process}: + type: string + description: The name of the process + - bwamem2: + type: string + description: BWA genome index files + pattern: "*.{0123,amb,ann,bwt.2bit.64,pac}" + ontologies: + - edam: "http://edamontology.org/data_3210" + - bwa-mem2 version | grep -o -E "[0-9]+(\.[0-9]+)+": + type: eval + description: The expression to obtain the version of the tool +topics: + versions: + - - ${task.process}: + type: string + description: The name of the process + - bwamem2: + type: string + description: BWA genome index files + pattern: "*.{0123,amb,ann,bwt.2bit.64,pac}" + ontologies: + - edam: "http://edamontology.org/data_3210" + - bwa-mem2 version | grep -o -E "[0-9]+(\.[0-9]+)+": + type: eval + description: The expression to obtain the version of the tool +authors: + - "@maxulysse" +maintainers: + - "@maxulysse" diff --git a/modules/nf-core/bwamem2/index/tests/main.nf.test b/modules/nf-core/bwamem2/index/tests/main.nf.test new file mode 100644 index 00000000..3ee91048 --- /dev/null +++ b/modules/nf-core/bwamem2/index/tests/main.nf.test @@ -0,0 +1,54 @@ +nextflow_process { + + name "Test Process BWAMEM2_INDEX" + tag "modules_nfcore" + tag "modules" + tag "bwamem2" + tag "bwamem2/index" + script "../main.nf" + process "BWAMEM2_INDEX" + + test("fasta") { + + when { + process { + """ + input[0] = [ + [id: 'test'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true) + ] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("fasta - stub") { + + options "-stub" + + when { + process { + """ + input[0] = [ + [id: 'test'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true) + ] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } +} diff --git a/modules/nf-core/bwamem2/index/tests/main.nf.test.snap b/modules/nf-core/bwamem2/index/tests/main.nf.test.snap new file mode 100644 index 00000000..776e87be --- /dev/null +++ b/modules/nf-core/bwamem2/index/tests/main.nf.test.snap @@ -0,0 +1,108 @@ +{ + "fasta - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + [ + "genome.fasta.0123:md5,d41d8cd98f00b204e9800998ecf8427e", + "genome.fasta.amb:md5,d41d8cd98f00b204e9800998ecf8427e", + "genome.fasta.ann:md5,d41d8cd98f00b204e9800998ecf8427e", + "genome.fasta.bwt.2bit.64:md5,d41d8cd98f00b204e9800998ecf8427e", + "genome.fasta.pac:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "1": [ + [ + "BWAMEM2_INDEX", + "bwamem2", + "2.2.1" + ] + ], + "index": [ + [ + { + "id": "test" + }, + [ + "genome.fasta.0123:md5,d41d8cd98f00b204e9800998ecf8427e", + "genome.fasta.amb:md5,d41d8cd98f00b204e9800998ecf8427e", + "genome.fasta.ann:md5,d41d8cd98f00b204e9800998ecf8427e", + "genome.fasta.bwt.2bit.64:md5,d41d8cd98f00b204e9800998ecf8427e", + "genome.fasta.pac:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "versions_bwamem2": [ + [ + "BWAMEM2_INDEX", + "bwamem2", + "2.2.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-09T16:19:38.013344" + }, + "fasta": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + [ + "genome.fasta.0123:md5,b02870de80106104abcb03cd9463e7d8", + "genome.fasta.amb:md5,3a68b8b2287e07dd3f5f95f4344ba76e", + "genome.fasta.ann:md5,c32e11f6c859f166c7525a9c1d583567", + "genome.fasta.bwt.2bit.64:md5,d097a1b82dee375d41a1ea69895a9216", + "genome.fasta.pac:md5,983e3d2cd6f36e2546e6d25a0da78d66" + ] + ] + ], + "1": [ + [ + "BWAMEM2_INDEX", + "bwamem2", + "2.2.1" + ] + ], + "index": [ + [ + { + "id": "test" + }, + [ + "genome.fasta.0123:md5,b02870de80106104abcb03cd9463e7d8", + "genome.fasta.amb:md5,3a68b8b2287e07dd3f5f95f4344ba76e", + "genome.fasta.ann:md5,c32e11f6c859f166c7525a9c1d583567", + "genome.fasta.bwt.2bit.64:md5,d097a1b82dee375d41a1ea69895a9216", + "genome.fasta.pac:md5,983e3d2cd6f36e2546e6d25a0da78d66" + ] + ] + ], + "versions_bwamem2": [ + [ + "BWAMEM2_INDEX", + "bwamem2", + "2.2.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-09T16:19:32.542622" + } +} \ No newline at end of file diff --git a/modules/nf-core/bwamem2/mem/environment.yml b/modules/nf-core/bwamem2/mem/environment.yml new file mode 100644 index 00000000..f3637444 --- /dev/null +++ b/modules/nf-core/bwamem2/mem/environment.yml @@ -0,0 +1,13 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda + +dependencies: + # renovate: datasource=conda depName=bioconda/bwa-mem2 + - bwa-mem2=2.3 + # renovate: datasource=conda depName=bioconda/htslib + - htslib=1.22.1 + # renovate: datasource=conda depName=bioconda/samtools + - samtools=1.22.1 diff --git a/modules/nf-core/bwamem2/mem/main.nf b/modules/nf-core/bwamem2/mem/main.nf new file mode 100644 index 00000000..9d827dc8 --- /dev/null +++ b/modules/nf-core/bwamem2/mem/main.nf @@ -0,0 +1,74 @@ +process BWAMEM2_MEM { + tag "${meta.id}" + label 'process_high' + + conda "${moduleDir}/environment.yml" + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/e0/e05ce34b46ad42810eb29f74e4e304c0cb592b2ca15572929ed8bbaee58faf01/data' + : 'community.wave.seqera.io/library/bwa-mem2_htslib_samtools:db98f81f55b64113'}" + + input: + tuple val(meta), path(reads) + tuple val(meta2), path(index) + tuple val(meta3), path(fasta) + val sort_bam + + output: + tuple val(meta), path("*.sam"), emit: sam, optional: true + tuple val(meta), path("*.bam"), emit: bam, optional: true + tuple val(meta), path("*.cram"), emit: cram, optional: true + tuple val(meta), path("*.crai"), emit: crai, optional: true + tuple val(meta), path("*.csi"), emit: csi, optional: true + tuple val("${task.process}"), val('bwamem2'), eval('bwa-mem2 version | grep -o -E "[0-9]+(\\.[0-9]+)+"'), emit: versions_bwamem2, topic: versions + tuple val("${task.process}"), val('samtools'), eval("samtools version | sed '1!d;s/.* //'"), emit: versions_samtools, topic: versions + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def args2 = task.ext.args2 ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + def samtools_command = sort_bam ? 'sort' : 'view' + + def extension_pattern = /(--output-fmt|-O)+\s+(\S+)/ + def extension_matcher = (args2 =~ extension_pattern) + def extension = extension_matcher.getCount() > 0 ? extension_matcher[0][2].toLowerCase() : "bam" + def reference = fasta && extension == "cram" ? "--reference ${fasta}" : "" + if (!fasta && extension == "cram") { + error("Fasta reference is required for CRAM output") + } + """ + INDEX=`find -L ./ -name "*.amb" | sed 's/\\.amb\$//'` + + bwa-mem2 \\ + mem \\ + ${args} \\ + -t ${task.cpus} \\ + \$INDEX \\ + ${reads} \\ + | samtools ${samtools_command} ${args2} -@ ${task.cpus} ${reference} -o ${prefix}.${extension} - + """ + + stub: + def args2 = task.ext.args2 ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + def extension_pattern = /(--output-fmt|-O)+\s+(\S+)/ + def extension_matcher = (args2 =~ extension_pattern) + def extension = extension_matcher.getCount() > 0 ? extension_matcher[0][2].toLowerCase() : "bam" + if (!fasta && extension == "cram") { + error("Fasta reference is required for CRAM output") + } + + def create_index = "" + if (extension == "cram") { + create_index = "touch ${prefix}.crai" + } + else if (extension == "bam") { + create_index = "touch ${prefix}.csi" + } + """ + touch ${prefix}.${extension} + ${create_index} + """ +} diff --git a/modules/nf-core/bwamem2/mem/meta.yml b/modules/nf-core/bwamem2/mem/meta.yml new file mode 100644 index 00000000..a60d6788 --- /dev/null +++ b/modules/nf-core/bwamem2/mem/meta.yml @@ -0,0 +1,167 @@ +name: bwamem2_mem +description: Performs fastq alignment to a fasta reference using BWA +keywords: + - mem + - bwa + - alignment + - map + - fastq + - bam + - sam +tools: + - bwa: + description: | + BWA-mem2 is a software package for mapping DNA sequences against + a large reference genome, such as the human genome. + homepage: https://github.com/bwa-mem2/bwa-mem2 + documentation: http://www.htslib.org/doc/samtools.html + arxiv: arXiv:1303.3997 + licence: + - "MIT" + identifier: "biotools:bwa-mem2" +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - reads: + type: file + description: | + List of input FastQ files of size 1 and 2 for single-end and paired-end data, + respectively. + ontologies: + - edam: "http://edamontology.org/data_2044" + - edam: "http://edamontology.org/format_1930" + - - meta2: + type: map + description: | + Groovy Map containing reference/index information + e.g. [ id:'test' ] + - index: + type: file + description: BWA genome index files + pattern: "Directory containing BWA index *.{0132,amb,ann,bwt.2bit.64,pac}" + ontologies: + - edam: "http://edamontology.org/data_3210" + - - meta3: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome' ] + - fasta: + type: file + description: Reference genome in FASTA format + pattern: "*.{fa,fasta,fna}" + ontologies: + - edam: "http://edamontology.org/data_2044" + - edam: "http://edamontology.org/format_1929" + - sort_bam: + type: boolean + description: use samtools sort (true) or samtools view (false) + pattern: "true or false" +output: + sam: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.sam": + type: file + description: Output SAM file containing read alignments + pattern: "*.{sam}" + ontologies: + - edam: "http://edamontology.org/format_2573" + bam: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.bam": + type: file + description: Output BAM file containing read alignments + pattern: "*.{bam}" + ontologies: + - edam: "http://edamontology.org/format_2572" + cram: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.cram": + type: file + description: Output CRAM file containing read alignments + pattern: "*.{cram}" + ontologies: + - edam: "http://edamontology.org/format_3462" + crai: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.crai": + type: file + description: Index file for CRAM file + pattern: "*.{crai}" + ontologies: [] + csi: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.csi": + type: file + description: Index file for BAM file + pattern: "*.{csi}" + ontologies: [] + versions_bwamem2: + - - ${task.process}: + type: string + description: The name of the process + - bwamem2: + type: string + description: The name of the tool + - bwa-mem2 version | grep -o -E "[0-9]+(\.[0-9]+)+": + type: eval + description: The expression to obtain the version of the tool + versions_samtools: + - - ${task.process}: + type: string + description: The name of the process + - samtools: + type: string + description: The name of the tool + - samtools version | sed '1!d;s/.* //': + type: eval + description: The expression to obtain the version of the tool +topics: + versions: + - - ${task.process}: + type: string + description: The name of the process + - bwamem2: + type: string + description: The name of the tool + - bwa-mem2 version | grep -o -E "[0-9]+(\.[0-9]+)+": + type: eval + description: The expression to obtain the version of the tool + - - ${task.process}: + type: string + description: The name of the process + - samtools: + type: string + description: The name of the tool + - samtools version | sed '1!d;s/.* //': + type: eval + description: The expression to obtain the version of the tool +authors: + - "@maxulysse" + - "@matthdsm" +maintainers: + - "@maxulysse" + - "@matthdsm" diff --git a/modules/nf-core/bwamem2/mem/tests/main.nf.test b/modules/nf-core/bwamem2/mem/tests/main.nf.test new file mode 100644 index 00000000..be33a3a7 --- /dev/null +++ b/modules/nf-core/bwamem2/mem/tests/main.nf.test @@ -0,0 +1,173 @@ +nextflow_process { + + name "Test Process BWAMEM2_MEM" + script "../main.nf" + process "BWAMEM2_MEM" + + tag "modules" + tag "modules_nfcore" + tag "bwamem2" + tag "bwamem2/mem" + tag "bwamem2/index" + + setup { + run("BWAMEM2_INDEX") { + script "../../index/main.nf" + process { + """ + input[0] = Channel.of([ + [:], // meta map + [file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true)] + ]) + """ + } + } + } + + test("sarscov2 - fastq, index, fasta, false") { + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:true ], // meta map + [file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true)] + ]) + input[1] = BWAMEM2_INDEX.out.index + input[2] = Channel.of([[:], [file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true)]]) + input[3] = false + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot( + bam(process.out.bam[0][1]).getHeaderMD5(), + bam(process.out.bam[0][1]).getReadsMD5(), + process.out.findAll { key, val -> key.startsWith("versions")} + ).match() } + ) + } + } + + test("sarscov2 - fastq, index, fasta, true") { + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:true ], // meta map + [file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true)] + ]) + input[1] = BWAMEM2_INDEX.out.index + input[2] = Channel.of([[:], [file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true)]]) + input[3] = true + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot( + bam(process.out.bam[0][1]).getHeaderMD5(), + bam(process.out.bam[0][1]).getReadsMD5(), + process.out.findAll { key, val -> key.startsWith("versions")} + ).match() } + ) + } + } + + test("sarscov2 - [fastq1, fastq2], index, fasta, false") { + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + [ + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) + ] + ]) + input[1] = BWAMEM2_INDEX.out.index + input[2] = Channel.of([[:], [file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true)]]) + input[3] = false + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot( + bam(process.out.bam[0][1]).getHeaderMD5(), + bam(process.out.bam[0][1]).getReadsMD5(), + process.out.findAll { key, val -> key.startsWith("versions")} + ).match() } + ) + } + } + + test("sarscov2 - [fastq1, fastq2], index, fasta, true") { + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + [ + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) + ] + ]) + input[1] = BWAMEM2_INDEX.out.index + input[2] = Channel.of([[:], [file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true)]]) + input[3] = true + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot( + bam(process.out.bam[0][1]).getHeaderMD5(), + bam(process.out.bam[0][1]).getReadsMD5(), + process.out.findAll { key, val -> key.startsWith("versions")} + ).match() } + ) + } + } + + test("sarscov2 - [fastq1, fastq2], index, fasta, true - stub") { + + options "-stub" + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + [ + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) + ] + ]) + input[1] = BWAMEM2_INDEX.out.index + input[2] = Channel.of([[:], [file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true)]]) + input[3] = true + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(sanitizeOutput(process.out)).match() } + ) + } + } +} diff --git a/modules/nf-core/bwamem2/mem/tests/main.nf.test.snap b/modules/nf-core/bwamem2/mem/tests/main.nf.test.snap new file mode 100644 index 00000000..06d854b0 --- /dev/null +++ b/modules/nf-core/bwamem2/mem/tests/main.nf.test.snap @@ -0,0 +1,162 @@ +{ + "sarscov2 - [fastq1, fastq2], index, fasta, false": { + "content": [ + "e414c2d48e2e44c2c52c20ecd88e8bd8", + "57aeef88ed701a8ebc8e2f0a381b2a6", + { + "versions_bwamem2": [ + [ + "BWAMEM2_MEM", + "bwamem2", + "2.2.1" + ] + ], + "versions_samtools": [ + [ + "BWAMEM2_MEM", + "samtools", + "1.22.1" + ] + ] + } + ], + "timestamp": "2026-02-19T11:51:27.481278728", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "sarscov2 - [fastq1, fastq2], index, fasta, true - stub": { + "content": [ + { + "bam": [ + [ + { + "id": "test", + "single_end": false + }, + "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "crai": [ + + ], + "cram": [ + + ], + "csi": [ + [ + { + "id": "test", + "single_end": false + }, + "test.csi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "sam": [ + + ], + "versions_bwamem2": [ + [ + "BWAMEM2_MEM", + "bwamem2", + "2.2.1" + ] + ], + "versions_samtools": [ + [ + "BWAMEM2_MEM", + "samtools", + "1.22.1" + ] + ] + } + ], + "timestamp": "2026-02-19T11:54:06.902806102", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "sarscov2 - [fastq1, fastq2], index, fasta, true": { + "content": [ + "716ed1ef39deaad346ca7cf86e08f959", + "af8628d9df18b2d3d4f6fd47ef2bb872", + { + "versions_bwamem2": [ + [ + "BWAMEM2_MEM", + "bwamem2", + "2.2.1" + ] + ], + "versions_samtools": [ + [ + "BWAMEM2_MEM", + "samtools", + "1.22.1" + ] + ] + } + ], + "timestamp": "2026-02-19T11:51:40.483217643", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "sarscov2 - fastq, index, fasta, false": { + "content": [ + "283a83f604f3f5338acedfee349dccf4", + "798439cbd7fd81cbcc5078022dc5479d", + { + "versions_bwamem2": [ + [ + "BWAMEM2_MEM", + "bwamem2", + "2.2.1" + ] + ], + "versions_samtools": [ + [ + "BWAMEM2_MEM", + "samtools", + "1.22.1" + ] + ] + } + ], + "timestamp": "2026-02-19T11:51:02.459481643", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "sarscov2 - fastq, index, fasta, true": { + "content": [ + "ed99048bb552cac58e39923b550b6d5b", + "94fcf617f5b994584c4e8d4044e16b4f", + { + "versions_bwamem2": [ + [ + "BWAMEM2_MEM", + "bwamem2", + "2.2.1" + ] + ], + "versions_samtools": [ + [ + "BWAMEM2_MEM", + "samtools", + "1.22.1" + ] + ] + } + ], + "timestamp": "2026-02-19T11:51:15.170720681", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + } +} \ No newline at end of file diff --git a/modules/nf-core/cat/cat/environment.yml b/modules/nf-core/cat/cat/environment.yml new file mode 100644 index 00000000..98511769 --- /dev/null +++ b/modules/nf-core/cat/cat/environment.yml @@ -0,0 +1,7 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + - conda-forge::pigz=2.8 diff --git a/modules/nf-core/cat/cat/main.nf b/modules/nf-core/cat/cat/main.nf new file mode 100644 index 00000000..6f066e5f --- /dev/null +++ b/modules/nf-core/cat/cat/main.nf @@ -0,0 +1,54 @@ +process CAT_CAT { + tag "$meta.id" + label 'process_low' + + conda "${moduleDir}/environment.yml" + container "${ workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/pigz:2.8' : + 'quay.io/biocontainers/pigz:2.8' }" + + input: + tuple val(meta), path(files_in) + + output: + tuple val(meta), path("${prefix}"), emit: file_out + tuple val("${task.process}"), val("pigz"), eval("pigz --version 2>&1 | sed 's/pigz //g'"), topic: versions, emit: versions_cat + + when: + task.ext.when == null || task.ext.when + + script: + def deprecation_message = """ + WARNING: This module has been deprecated. Please use nf-core/modules/find/concatenate + + Reason: + This module passes all input files as shell arguments, which can exceed the UNIX ARG_MAX + limit when concatenating large numbers of files. The find/concatenate module resolves this + by staging files into a directory and enumerating them with `find`, and also enforces + consistent input compression (all gzipped or all uncompressed). Also enables faster, parallel + decompression with pigz. + """ + assert false: deprecation_message + + def file_list = files_in.collect { file -> file.toString() } + prefix = task.ext.prefix ?: "${meta.id}${getFileSuffix(file_list[0])}" + + stub: + def deprecation_message = """ + WARNING: This module has been deprecated. Please use nf-core/modules/find/concatenate + + Reason: + This module passes all input files as shell arguments, which can exceed the UNIX ARG_MAX + limit when concatenating large numbers of files. The find/concatenate module resolves this + by staging files into a directory and enumerating them with `find`, and also enforces + consistent input compression (all gzipped or all uncompressed). Also enables faster, parallel + decompression with pigz. + """ + assert false: deprecation_message +} + +// for .gz files also include the second to last extension if it is present. E.g., .fasta.gz +def getFileSuffix(filename) { + def match = filename =~ /^.*?((\.\w{1,5})?(\.\w{1,5}\.gz$))/ + return match ? match[0][1] : filename.substring(filename.lastIndexOf('.')) +} diff --git a/modules/nf-core/cat/cat/meta.yml b/modules/nf-core/cat/cat/meta.yml new file mode 100644 index 00000000..0163c33a --- /dev/null +++ b/modules/nf-core/cat/cat/meta.yml @@ -0,0 +1,64 @@ +name: cat_cat +description: A module for concatenation of gzipped or uncompressed files +deprecated: true +keywords: + - concatenate + - gzip + - cat +tools: + - cat: + description: Just concatenation + documentation: https://man7.org/linux/man-pages/man1/cat.1.html + licence: ["GPL-3.0-or-later"] + identifier: "" +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - files_in: + type: file + description: List of compressed / uncompressed files + pattern: "*" + ontologies: [] +output: + file_out: + - - meta: + type: map + description: Groovy Map containing sample information + - ${prefix}: + type: file + description: Concatenated file. Will be gzipped if file_out ends with + ".gz" + pattern: "${file_out}" + ontologies: [] + versions_cat: + - - ${task.process}: + type: string + description: The name of the process + - pigz: + type: string + description: The name of the tool + - "pigz --version 2>&1 | sed 's/pigz //g'": + type: eval + description: The expression to obtain the version of the tool + +topics: + versions: + - - ${task.process}: + type: string + description: The name of the process + - pigz: + type: string + description: The name of the tool + - "pigz --version 2>&1 | sed 's/pigz //g'": + type: eval + description: The expression to obtain the version of the tool + +authors: + - "@erikrikarddaniel" + - "@FriederikeHanssen" +maintainers: + - "@erikrikarddaniel" + - "@FriederikeHanssen" diff --git a/modules/nf-core/cat/cat/tests/main.nf.test b/modules/nf-core/cat/cat/tests/main.nf.test new file mode 100644 index 00000000..861e3d9f --- /dev/null +++ b/modules/nf-core/cat/cat/tests/main.nf.test @@ -0,0 +1,194 @@ +nextflow_process { + + name "Test Process CAT_CAT" + script "../main.nf" + process "CAT_CAT" + + tag "modules" + tag "modules_nfcore" + tag "cat" + tag "cat/cat" + + test("sarscov2 - genome - error: name conflict - deprecated") { + when { + process { + """ + input[0] = + [ + [ id:'genome', single_end:true ], + [ + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.sizes', checkIfExists: true) + ] + ] + """ + } + } + then { + assertAll( + { assert process.failed }, + { assert process.errorReport.contains("WARNING: This module has been deprecated.")} + // { assert !process.success }, + // { assert process.stdout.toString().contains("The name of the input file can't be the same as for the output prefix") }, + // { assert snapshot(process.out).match() } + ) + } + } + + // test("sarscov2 - [ fasta, sizes ] - unzipped") { + // when { + // process { + // """ + // input[0] = + // [ + // [ id:'test', single_end:true ], + // [ + // file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true), + // file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.sizes', checkIfExists: true) + // ] + // ] + // """ + // } + // } + // then { + // assertAll( + // { assert process.success }, + // { assert snapshot(process.out).match() } + // ) + // } + // } + + + // test("sarscov2 - [ gff3_gz, maf_gz ] - zipped") { + // when { + // process { + // """ + // input[0] = + // [ + // [ id:'test', single_end:true ], + // [ + // file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.gff3.gz', checkIfExists: true), + // file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/alignment/last/contigs.genome.maf.gz', checkIfExists: true) + // ] + // ] + // """ + // } + // } + // then { + // assertAll( + // { assert process.success }, + // { assert snapshot(process.out).match() + // } + // ) + // } + // } + + // test("sarscov2 - [ gff3_gz, maf_gz ] - unzipped") { + // config './nextflow.config' + + // when { + // params { + // cat_prefix = "cat.txt" + // } + // process { + // """ + // input[0] = + // [ + // [ id:'test', single_end:true ], + // [ + // file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.gff3.gz', checkIfExists: true), + // file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/alignment/last/contigs.genome.maf.gz', checkIfExists: true) + // ] + // ] + // """ + // } + // } + + // then { + // assertAll( + // { assert process.success }, + // { assert snapshot(process.out).match() } + // ) + // } + + // } + + // test("sarscov2 - [ fasta, sizes ] - zipped") { + // config './nextflow.config' + + // when { + // params { + // cat_prefix = "cat.txt.gz" + // } + // process { + // """ + // input[0] = + // [ + // [ id:'test', single_end:true ], + // [ + // file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true), + // file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.sizes', checkIfExists: true) + // ] + // ] + // """ + // } + // } + // then { + // assertAll( + // { assert process.success }, + // { assert snapshot(process.out).match() } + // ) + // } + // } + + // test("sarscov2 - fasta - zipped") { + // config './nextflow.config' + + // when { + // params { + // cat_prefix = "cat.txt.gz" + // } + // process { + // """ + // input[0] = + // [ + // [ id:'test', single_end:true ], + // [ + // file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true) + // ] + // ] + // """ + // } + // } + // then { + // assertAll( + // { assert process.success }, + // { assert snapshot(process.out).match() } + // ) + // } + // } + + // test("sarscov2 - fasta - unzipped - stub") { + // options "-stub" + + // when { + // process { + // """ + // input[0] = + // [ + // [ id:'test', single_end:true ], + // [ + // file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true) + // ] + // ] + // """ + // } + // } + // then { + // assertAll( + // { assert process.success }, + // { assert snapshot(process.out).match() } + // ) + // } + // } +} diff --git a/modules/nf-core/cat/cat/tests/main.nf.test.snap b/modules/nf-core/cat/cat/tests/main.nf.test.snap new file mode 100644 index 00000000..5b4e4cc3 --- /dev/null +++ b/modules/nf-core/cat/cat/tests/main.nf.test.snap @@ -0,0 +1,283 @@ +{ + "sarscov2 - [ gff3_gz, maf_gz ] - unzipped": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": true + }, + "cat.txt:md5,c439d3b60e7bc03e8802a451a0d9a5d9" + ] + ], + "1": [ + [ + "CAT_CAT", + "pigz", + "2.8" + ] + ], + "file_out": [ + [ + { + "id": "test", + "single_end": true + }, + "cat.txt:md5,c439d3b60e7bc03e8802a451a0d9a5d9" + ] + ], + "versions_cat": [ + [ + "CAT_CAT", + "pigz", + "2.8" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2025-12-10T09:08:31.479828" + }, + "sarscov2 - fasta - unzipped - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": true + }, + "test.fasta:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + [ + "CAT_CAT", + "pigz", + "2.8" + ] + ], + "file_out": [ + [ + { + "id": "test", + "single_end": true + }, + "test.fasta:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions_cat": [ + [ + "CAT_CAT", + "pigz", + "2.8" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2025-12-10T16:16:28.118094" + }, + "sarscov2 - [ fasta, sizes ] - zipped": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": true + }, + "cat.txt.gz:md5,f44b33a0e441ad58b2d3700270e2dbe2" + ] + ], + "1": [ + [ + "CAT_CAT", + "pigz", + "2.8" + ] + ], + "file_out": [ + [ + { + "id": "test", + "single_end": true + }, + "cat.txt.gz:md5,f44b33a0e441ad58b2d3700270e2dbe2" + ] + ], + "versions_cat": [ + [ + "CAT_CAT", + "pigz", + "2.8" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2025-12-10T16:15:56.529595" + }, + "sarscov2 - genome - error: name conflict": { + "content": [ + { + "0": [ + + ], + "1": [ + + ], + "file_out": [ + + ], + "versions_cat": [ + + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2025-12-10T16:14:54.496538" + }, + "sarscov2 - [ fasta, sizes ] - unzipped": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": true + }, + "test.fasta:md5,f44b33a0e441ad58b2d3700270e2dbe2" + ] + ], + "1": [ + [ + "CAT_CAT", + "pigz", + "2.8" + ] + ], + "file_out": [ + [ + { + "id": "test", + "single_end": true + }, + "test.fasta:md5,f44b33a0e441ad58b2d3700270e2dbe2" + ] + ], + "versions_cat": [ + [ + "CAT_CAT", + "pigz", + "2.8" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2025-12-10T11:26:29.942203" + }, + "sarscov2 - [ gff3_gz, maf_gz ] - zipped": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": true + }, + "test.gff3.gz:md5,c439d3b60e7bc03e8802a451a0d9a5d9" + ] + ], + "1": [ + [ + "CAT_CAT", + "pigz", + "2.8" + ] + ], + "file_out": [ + [ + { + "id": "test", + "single_end": true + }, + "test.gff3.gz:md5,c439d3b60e7bc03e8802a451a0d9a5d9" + ] + ], + "versions_cat": [ + [ + "CAT_CAT", + "pigz", + "2.8" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2025-12-10T11:26:45.679401" + }, + "sarscov2 - fasta - zipped": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": true + }, + "cat.txt.gz:md5,6e9fe4042a72f2345f644f239272b7e6" + ] + ], + "1": [ + [ + "CAT_CAT", + "pigz", + "2.8" + ] + ], + "file_out": [ + [ + { + "id": "test", + "single_end": true + }, + "cat.txt.gz:md5,6e9fe4042a72f2345f644f239272b7e6" + ] + ], + "versions_cat": [ + [ + "CAT_CAT", + "pigz", + "2.8" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2025-12-10T16:16:12.439911" + } +} \ No newline at end of file diff --git a/modules/nf-core/cat/cat/tests/nextflow.config b/modules/nf-core/cat/cat/tests/nextflow.config new file mode 100644 index 00000000..5bc9bf50 --- /dev/null +++ b/modules/nf-core/cat/cat/tests/nextflow.config @@ -0,0 +1,6 @@ + +process { + withName: CAT_CAT { + ext.prefix = "${params.cat_prefix}" + } +} diff --git a/modules/nf-core/cat/fastq/environment.yml b/modules/nf-core/cat/fastq/environment.yml new file mode 100644 index 00000000..9b926b1f --- /dev/null +++ b/modules/nf-core/cat/fastq/environment.yml @@ -0,0 +1,12 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + - conda-forge::coreutils=9.5 + - conda-forge::grep=3.11 + - conda-forge::gzip=1.13 + - conda-forge::lbzip2=2.5 + - conda-forge::sed=4.8 + - conda-forge::tar=1.34 diff --git a/modules/nf-core/cat/fastq/main.nf b/modules/nf-core/cat/fastq/main.nf new file mode 100644 index 00000000..8d12a78c --- /dev/null +++ b/modules/nf-core/cat/fastq/main.nf @@ -0,0 +1,69 @@ +process CAT_FASTQ { + tag "${meta.id}" + label 'process_single' + + conda "${moduleDir}/environment.yml" + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/52/52ccce28d2ab928ab862e25aae26314d69c8e38bd41ca9431c67ef05221348aa/data' + : 'community.wave.seqera.io/library/coreutils_grep_gzip_lbzip2_pruned:838ba80435a629f8'}" + + input: + tuple val(meta), path(reads, stageAs: "input*/*") + + output: + tuple val(meta), path("*.merged.fastq.gz"), emit: reads + tuple val("${task.process}"), val("cat"), eval("cat --version 2>&1 | head -n 1 | sed 's/^.*coreutils) //; s/ .*\$//'"), emit: versions_cat, topic: versions + + when: + task.ext.when == null || task.ext.when + + script: + def prefix = task.ext.prefix ?: "${meta.id}" + def readList = reads instanceof List ? reads.collect { item -> item.toString() } : [reads.toString()] + def compress = readList[0]?.endsWith('.gz') ? '' : '| gzip' + if (meta.single_end) { + if (readList.size >= 1) { + """ + cat ${readList.join(' ')} ${compress} > ${prefix}.merged.fastq.gz + """ + } else { + error("Could not find any FASTQ files to concatenate in the process input") + } + } + else { + if (readList.size >= 2) { + def read1 = [] + def read2 = [] + readList.eachWithIndex { v, ix -> (ix & 1 ? read2 : read1) << v } + """ + cat ${read1.join(' ')} ${compress} > ${prefix}_1.merged.fastq.gz + cat ${read2.join(' ')} ${compress} > ${prefix}_2.merged.fastq.gz + """ + } else { + error("Could not find any FASTQ file pairs to concatenate in the process input") + } + } + + stub: + def prefix = task.ext.prefix ?: "${meta.id}" + def readList = reads instanceof List ? reads.collect { item -> item.toString() } : [reads.toString()] + if (meta.single_end) { + if (readList.size >= 1) { + """ + echo '' | gzip > ${prefix}.merged.fastq.gz + """ + } else { + error("Could not find any FASTQ files to concatenate in the process input") + } + } + else { + if (readList.size >= 2) { + """ + echo '' | gzip > ${prefix}_1.merged.fastq.gz + echo '' | gzip > ${prefix}_2.merged.fastq.gz + """ + } else { + error("Could not find any FASTQ file pairs to concatenate in the process input") + } + } +} diff --git a/modules/nf-core/cat/fastq/meta.yml b/modules/nf-core/cat/fastq/meta.yml new file mode 100644 index 00000000..6fefd6e0 --- /dev/null +++ b/modules/nf-core/cat/fastq/meta.yml @@ -0,0 +1,67 @@ +name: cat_fastq +description: Concatenates fastq files. Supports both compressed (.gz) and uncompressed inputs; uncompressed files are automatically gzip-compressed during concatenation. +keywords: + - cat + - fastq + - concatenate + - compress +tools: + - cat: + description: | + The cat utility reads files sequentially, writing them to the standard output. + documentation: https://www.gnu.org/software/coreutils/manual/html_node/cat-invocation.html + licence: ["GPL-3.0-or-later"] + identifier: "" +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - reads: + type: file + description: | + List of input FastQ files to be concatenated. + Accepts both gzip-compressed (.fastq.gz) and uncompressed (.fastq) files. + ontologies: [] +output: + reads: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.merged.fastq.gz": + type: file + description: Merged fastq file + pattern: "*.{merged.fastq.gz}" + ontologies: [] + versions_cat: + - - ${task.process}: + type: string + description: The process the versions were collected from + - cat: + type: string + description: The tool name + - cat --version 2>&1 | head -n 1 | sed 's/^.*coreutils) //; s/ .*\$//': + type: eval + description: The expression to obtain the version of the tool + +topics: + versions: + - - ${task.process}: + type: string + description: The process the versions were collected from + - cat: + type: string + description: The tool name + - cat --version 2>&1 | head -n 1 | sed 's/^.*coreutils) //; s/ .*\$//': + type: eval + description: The expression to obtain the version of the tool + +authors: + - "@joseespinosa" + - "@drpatelh" +maintainers: + - "@joseespinosa" + - "@drpatelh" diff --git a/modules/nf-core/cat/fastq/tests/main.nf.test b/modules/nf-core/cat/fastq/tests/main.nf.test new file mode 100644 index 00000000..21052d90 --- /dev/null +++ b/modules/nf-core/cat/fastq/tests/main.nf.test @@ -0,0 +1,405 @@ +nextflow_process { + + name "Test Process CAT_FASTQ" + script "../main.nf" + process "CAT_FASTQ" + tag "modules" + tag "modules_nfcore" + tag "cat" + tag "cat/fastq" + tag "gunzip" + + test("test_cat_fastq_single_end") { + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:true ], // meta map + [ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true)] + ]) + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("test_cat_fastq_paired_end") { + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + [ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test2_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test2_2.fastq.gz', checkIfExists: true)] + ]) + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("test_cat_fastq_single_end_same_name") { + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:true ], // meta map + [ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true)] + ]) + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("test_cat_fastq_paired_end_same_name") { + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + [ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true)] + ]) + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("test_cat_fastq_single_end_uncompressed") { + + setup { + run("GUNZIP") { + script "../../../gunzip/main.nf" + process { + """ + input[0] = Channel.of( + [[ id:'r1' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true)], + [[ id:'r2' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true)] + ) + """ + } + } + } + + when { + process { + """ + input[0] = GUNZIP.out.gunzip + .toSortedList { a, b -> a[0].id <=> b[0].id } + .map { items -> [[ id: 'test', single_end: true ], items.collect { it[1] }] } + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("test_cat_fastq_paired_end_uncompressed") { + + setup { + run("GUNZIP") { + script "../../../gunzip/main.nf" + process { + """ + input[0] = Channel.of( + [[ id:'a' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true)], + [[ id:'b' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true)], + [[ id:'c' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test2_1.fastq.gz', checkIfExists: true)], + [[ id:'d' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test2_2.fastq.gz', checkIfExists: true)] + ) + """ + } + } + } + + when { + process { + """ + input[0] = GUNZIP.out.gunzip + .toSortedList { a, b -> a[0].id <=> b[0].id } + .map { items -> [[ id: 'test', single_end: false ], items.collect { it[1] }] } + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("test_cat_fastq_single_end_single_file") { + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:true ], // meta map + [ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true)] + ]) + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("test_cat_fastq_single_end - stub") { + + options "-stub" + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:true ], // meta map + [ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true)] + ]) + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("test_cat_fastq_paired_end - stub") { + + options "-stub" + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + [ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test2_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test2_2.fastq.gz', checkIfExists: true)] + ]) + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("test_cat_fastq_single_end_same_name - stub") { + + options "-stub" + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:true ], // meta map + [ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true)] + ]) + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("test_cat_fastq_paired_end_same_name - stub") { + + options "-stub" + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + [ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true)] + ]) + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("test_cat_fastq_single_end_single_file - stub") { + + options "-stub" + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:true ], // meta map + [ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true)] + ]) + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("test_cat_fastq_single_end_no_files") { + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:true ], // meta map + [] + ]) + """ + } + } + + then { + assertAll( + { assert process.failed }, + { assert snapshot(process.stdout.find { it.contains("-- Check script") }.split(" -- Check script")[0]).match() } + ) + } + } + + test("test_cat_fastq_paired_end_no_files") { + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + [] + ]) + """ + } + } + + then { + assertAll( + { assert process.failed }, + { assert snapshot(process.stdout.find { it.contains("-- Check script") }.split(" -- Check script")[0]).match() } + ) + } + } + + test("test_cat_fastq_single_end_no_files - stub") { + + options "-stub" + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:true ], // meta map + [] + ]) + """ + } + } + + then { + assertAll( + { assert process.failed }, + { assert snapshot(process.stdout.find { it.contains("-- Check script") }.split(" -- Check script")[0]).match() } + ) + } + } + + test("test_cat_fastq_paired_end_no_files - stub") { + + options "-stub" + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + [] + ]) + """ + } + } + + then { + assertAll( + { assert process.failed }, + { assert snapshot(process.stdout.find { it.contains("-- Check script") }.split(" -- Check script")[0]).match() } + ) + } + } +} diff --git a/modules/nf-core/cat/fastq/tests/main.nf.test.snap b/modules/nf-core/cat/fastq/tests/main.nf.test.snap new file mode 100644 index 00000000..6375b2ab --- /dev/null +++ b/modules/nf-core/cat/fastq/tests/main.nf.test.snap @@ -0,0 +1,588 @@ +{ + "test_cat_fastq_paired_end_no_files - stub": { + "content": [ + " Could not find any FASTQ file pairs to concatenate in the process input" + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.4" + }, + "timestamp": "2025-02-25T17:14:51.248685461" + }, + "test_cat_fastq_single_end_single_file": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": true + }, + "test.merged.fastq.gz:md5,4161df271f9bfcd25d5845a1e220dbec" + ] + ], + "1": [ + [ + "CAT_FASTQ", + "cat", + "9.5" + ] + ], + "reads": [ + [ + { + "id": "test", + "single_end": true + }, + "test.merged.fastq.gz:md5,4161df271f9bfcd25d5845a1e220dbec" + ] + ], + "versions_cat": [ + [ + "CAT_FASTQ", + "cat", + "9.5" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2025-12-10T14:31:42.84401526" + }, + "test_cat_fastq_paired_end_same_name": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test_1.merged.fastq.gz:md5,3ad9406595fafec8172368f9cd0b6a22", + "test_2.merged.fastq.gz:md5,a52cab0b840c7178b0ea83df1fdbe8d5" + ] + ] + ], + "1": [ + [ + "CAT_FASTQ", + "cat", + "9.5" + ] + ], + "reads": [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test_1.merged.fastq.gz:md5,3ad9406595fafec8172368f9cd0b6a22", + "test_2.merged.fastq.gz:md5,a52cab0b840c7178b0ea83df1fdbe8d5" + ] + ] + ], + "versions_cat": [ + [ + "CAT_FASTQ", + "cat", + "9.5" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2025-12-10T14:31:36.820489323" + }, + "test_cat_fastq_paired_end_same_name - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test_1.merged.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test_2.merged.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ] + ], + "1": [ + [ + "CAT_FASTQ", + "cat", + "9.5" + ] + ], + "reads": [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test_1.merged.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test_2.merged.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ] + ], + "versions_cat": [ + [ + "CAT_FASTQ", + "cat", + "9.5" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2025-12-10T14:32:06.262192935" + }, + "test_cat_fastq_single_end_uncompressed": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": true + }, + "test.merged.fastq.gz:md5,ee314a9bd568d06617171b0c85f508da" + ] + ], + "1": [ + [ + "CAT_FASTQ", + "cat", + "9.5" + ] + ], + "reads": [ + [ + { + "id": "test", + "single_end": true + }, + "test.merged.fastq.gz:md5,ee314a9bd568d06617171b0c85f508da" + ] + ], + "versions_cat": [ + [ + "CAT_FASTQ", + "cat", + "9.5" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2026-02-09T10:03:24.344628" + }, + "test_cat_fastq_paired_end_uncompressed": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test_1.merged.fastq.gz:md5,3ad9406595fafec8172368f9cd0b6a22", + "test_2.merged.fastq.gz:md5,a52cab0b840c7178b0ea83df1fdbe8d5" + ] + ] + ], + "1": [ + [ + "CAT_FASTQ", + "cat", + "9.5" + ] + ], + "reads": [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test_1.merged.fastq.gz:md5,3ad9406595fafec8172368f9cd0b6a22", + "test_2.merged.fastq.gz:md5,a52cab0b840c7178b0ea83df1fdbe8d5" + ] + ] + ], + "versions_cat": [ + [ + "CAT_FASTQ", + "cat", + "9.5" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2026-02-09T10:03:37.568053" + }, + "test_cat_fastq_single_end": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": true + }, + "test.merged.fastq.gz:md5,ee314a9bd568d06617171b0c85f508da" + ] + ], + "1": [ + [ + "CAT_FASTQ", + "cat", + "9.5" + ] + ], + "reads": [ + [ + { + "id": "test", + "single_end": true + }, + "test.merged.fastq.gz:md5,ee314a9bd568d06617171b0c85f508da" + ] + ], + "versions_cat": [ + [ + "CAT_FASTQ", + "cat", + "9.5" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2025-12-10T14:31:18.859169785" + }, + "test_cat_fastq_single_end_same_name": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": true + }, + "test.merged.fastq.gz:md5,3ad9406595fafec8172368f9cd0b6a22" + ] + ], + "1": [ + [ + "CAT_FASTQ", + "cat", + "9.5" + ] + ], + "reads": [ + [ + { + "id": "test", + "single_end": true + }, + "test.merged.fastq.gz:md5,3ad9406595fafec8172368f9cd0b6a22" + ] + ], + "versions_cat": [ + [ + "CAT_FASTQ", + "cat", + "9.5" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2025-12-10T14:31:30.942615287" + }, + "test_cat_fastq_single_end - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": true + }, + "test.merged.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "1": [ + [ + "CAT_FASTQ", + "cat", + "9.5" + ] + ], + "reads": [ + [ + { + "id": "test", + "single_end": true + }, + "test.merged.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "versions_cat": [ + [ + "CAT_FASTQ", + "cat", + "9.5" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2025-12-10T14:31:48.827990633" + }, + "test_cat_fastq_paired_end_no_files": { + "content": [ + " Could not find any FASTQ file pairs to concatenate in the process input" + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.4" + }, + "timestamp": "2025-02-25T17:14:40.806088747" + }, + "test_cat_fastq_single_end_no_files - stub": { + "content": [ + " Could not find any FASTQ files to concatenate in the process input" + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.4" + }, + "timestamp": "2025-02-25T17:14:45.852365218" + }, + "test_cat_fastq_single_end_same_name - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": true + }, + "test.merged.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "1": [ + [ + "CAT_FASTQ", + "cat", + "9.5" + ] + ], + "reads": [ + [ + { + "id": "test", + "single_end": true + }, + "test.merged.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "versions_cat": [ + [ + "CAT_FASTQ", + "cat", + "9.5" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2025-12-10T14:32:00.586584379" + }, + "test_cat_fastq_paired_end": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test_1.merged.fastq.gz:md5,3ad9406595fafec8172368f9cd0b6a22", + "test_2.merged.fastq.gz:md5,a52cab0b840c7178b0ea83df1fdbe8d5" + ] + ] + ], + "1": [ + [ + "CAT_FASTQ", + "cat", + "9.5" + ] + ], + "reads": [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test_1.merged.fastq.gz:md5,3ad9406595fafec8172368f9cd0b6a22", + "test_2.merged.fastq.gz:md5,a52cab0b840c7178b0ea83df1fdbe8d5" + ] + ] + ], + "versions_cat": [ + [ + "CAT_FASTQ", + "cat", + "9.5" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2025-12-10T14:31:25.159365603" + }, + "test_cat_fastq_single_end_no_files": { + "content": [ + " Could not find any FASTQ files to concatenate in the process input" + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.4" + }, + "timestamp": "2025-02-25T17:14:35.695192409" + }, + "test_cat_fastq_paired_end - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test_1.merged.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test_2.merged.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ] + ], + "1": [ + [ + "CAT_FASTQ", + "cat", + "9.5" + ] + ], + "reads": [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test_1.merged.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test_2.merged.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ] + ], + "versions_cat": [ + [ + "CAT_FASTQ", + "cat", + "9.5" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2025-12-10T14:31:54.850702874" + }, + "test_cat_fastq_single_end_single_file - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": true + }, + "test.merged.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "1": [ + [ + "CAT_FASTQ", + "cat", + "9.5" + ] + ], + "reads": [ + [ + { + "id": "test", + "single_end": true + }, + "test.merged.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "versions_cat": [ + [ + "CAT_FASTQ", + "cat", + "9.5" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2025-12-10T14:32:11.746498148" + } +} \ No newline at end of file diff --git a/modules/nf-core/dragmap/align/environment.yml b/modules/nf-core/dragmap/align/environment.yml new file mode 100644 index 00000000..198f3fa7 --- /dev/null +++ b/modules/nf-core/dragmap/align/environment.yml @@ -0,0 +1,10 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + # WARN: Do not update this tool to 1.3.0 until https://github.com/Illumina/DRAGMAP/issues/47 is resolved + - bioconda::dragmap=1.2.1 + - bioconda::samtools=1.19.2 + - conda-forge::pigz=2.3.4 diff --git a/modules/nf-core/dragmap/align/main.nf b/modules/nf-core/dragmap/align/main.nf new file mode 100644 index 00000000..045443e6 --- /dev/null +++ b/modules/nf-core/dragmap/align/main.nf @@ -0,0 +1,78 @@ +process DRAGMAP_ALIGN { + tag "${meta.id}" + label 'process_high' + + conda "${moduleDir}/environment.yml" + // WARN: Do not update this tool to 1.3.0 until https://github.com/Illumina/DRAGMAP/issues/47 is resolved + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container + ? 'https://depot.galaxyproject.org/singularity/mulled-v2-580d344d9d4a496cd403932da8765f9e0187774d:df80ed8d23d0a2c43181a2b3dd1b39f2d00fab5c-0' + : 'quay.io/biocontainers/mulled-v2-580d344d9d4a496cd403932da8765f9e0187774d:df80ed8d23d0a2c43181a2b3dd1b39f2d00fab5c-0'}" + + input: + tuple val(meta), path(reads) + tuple val(meta2), path(hashmap) + tuple val(meta3), path(fasta) + val sort_bam + + output: + tuple val(meta), path("*.sam"), emit: sam, optional: true + tuple val(meta), path("*.bam"), emit: bam, optional: true + tuple val(meta), path("*.cram"), emit: cram, optional: true + tuple val(meta), path("*.crai"), emit: crai, optional: true + tuple val(meta), path("*.csi"), emit: csi, optional: true + tuple val(meta), path('*.log'), emit: log + tuple val("${task.process}"), val('dragmap'), eval("dragen-os --version 2>&1"), emit: versions_dragmap, topic: versions + tuple val("${task.process}"), val('samtools'), eval("samtools version | sed '1!d;s/.* //'"), emit: versions_samtools, topic: versions + tuple val("${task.process}"), val('pigz'), eval("pigz --version 2>&1 | sed 's/pigz //'"), emit: versions_pigz, topic: versions + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def args2 = task.ext.args2 ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + def reads_command = meta.single_end ? "-1 ${reads}" : "-1 ${reads[0]} -2 ${reads[1]}" + def samtools_command = sort_bam ? 'sort' : 'view' + def extension_pattern = /(--output-fmt|-O)+\s+(\S+)/ + def extension_matcher = (args2 =~ extension_pattern) + def extension = extension_matcher.getCount() > 0 ? extension_matcher[0][2].toLowerCase() : "bam" + def reference = fasta && extension == "cram" ? "--reference ${fasta}" : "" + if (!fasta && extension == "cram") { + error("Fasta reference is required for CRAM output") + } + + """ + dragen-os \\ + -r ${hashmap} \\ + ${args} \\ + --num-threads ${task.cpus} \\ + ${reads_command} \\ + 2>| >(tee ${prefix}.dragmap.log >&2) \\ + | samtools ${samtools_command} ${args2} --threads ${task.cpus} ${reference} -o ${prefix}.${extension} - + """ + + stub: + def args2 = task.ext.args2 ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + def extension_pattern = /(--output-fmt|-O)+\s+(\S+)/ + def extension_matcher = (args2 =~ extension_pattern) + def extension = extension_matcher.getCount() > 0 ? extension_matcher[0][2].toLowerCase() : "bam" + if (!fasta && extension == "cram") { + error("Fasta reference is required for CRAM output") + } + + def create_index = "" + if (extension == "cram") { + create_index = "touch ${prefix}.crai" + } + else if (extension == "bam") { + create_index = "touch ${prefix}.csi" + } + + """ + touch ${prefix}.${extension} + ${create_index} + touch ${prefix}.log + """ +} diff --git a/modules/nf-core/dragmap/align/meta.yml b/modules/nf-core/dragmap/align/meta.yml new file mode 100644 index 00000000..bdb7f00a --- /dev/null +++ b/modules/nf-core/dragmap/align/meta.yml @@ -0,0 +1,188 @@ +name: dragmap_align +description: Performs fastq alignment to a reference using DRAGMAP +keywords: + - alignment + - map + - fastq + - bam + - sam +tools: + - dragmap: + description: Dragmap is the Dragen mapper/aligner Open Source Software. + homepage: https://github.com/Illumina/dragmap + documentation: https://github.com/Illumina/dragmap + tool_dev_url: https://github.com/Illumina/dragmap#basic-command-line-usage + licence: + - "GPL v3" + identifier: "" +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - reads: + type: file + description: | + List of input FastQ files of size 1 and 2 for single-end and paired-end data, + respectively. + ontologies: + - edam: http://edamontology.org/format_1930 + - - meta2: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'test', single_end:false ] + - hashmap: + type: file + description: DRAGMAP hash table + pattern: "Directory containing DRAGMAP hash table *.{cmp,.bin,.txt}" + ontologies: [] + - - meta3: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome'] + - fasta: + type: file + description: Genome fasta reference files + pattern: "*.{fa,fasta,fna}" + ontologies: + - edam: http://edamontology.org/format_1929 + - sort_bam: + type: boolean + description: Sort the BAM file +output: + sam: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.sam": + type: file + description: Output SAM file containing read alignments + pattern: "*.{sam}" + ontologies: + - edam: http://edamontology.org/format_2571 + bam: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.bam": + type: file + description: Output BAM file containing read alignments + pattern: "*.{bam}" + ontologies: + - edam: http://edamontology.org/format_2572 + cram: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.cram": + type: file + description: Output CRAM file containing read alignments + pattern: "*.{cram}" + ontologies: + - edam: http://edamontology.org/format_2573 + crai: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.crai": + type: file + description: Index file for CRAM file + pattern: "*.{crai}" + ontologies: [] + csi: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.csi": + type: file + description: Index file for CRAM file + pattern: "*.{csi}" + ontologies: [] + log: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.log": + type: file + description: Log file + pattern: "*.{log}" + ontologies: + - edam: http://edamontology.org/format_3888 + versions_dragmap: + - - ${task.process}: + type: string + description: The name of the process + - dragmap: + type: string + description: The name of the tool + - dragen-os --version 2>&1: + type: eval + description: The expression to obtain the version of the tool + versions_samtools: + - - ${task.process}: + type: string + description: The name of the process + - samtools: + type: string + description: The name of the tool + - samtools version | sed '1!d;s/.* //': + type: eval + description: The expression to obtain the version of the tool + versions_pigz: + - - ${task.process}: + type: string + description: The name of the process + - pigz: + type: string + description: The name of the tool + - pigz --version 2>&1 | sed 's/pigz //': + type: eval + description: The expression to obtain the version of the tool +topics: + versions: + - - ${task.process}: + type: string + description: The name of the process + - dragmap: + type: string + description: The name of the tool + - dragen-os --version 2>&1: + type: eval + description: The expression to obtain the version of the tool + - - ${task.process}: + type: string + description: The name of the process + - samtools: + type: string + description: The name of the tool + - samtools version | sed '1!d;s/.* //': + type: eval + description: The expression to obtain the version of the tool + - - ${task.process}: + type: string + description: The name of the process + - pigz: + type: string + description: The name of the tool + - pigz --version 2>&1 | sed 's/pigz //': + type: eval + description: The expression to obtain the version of the tool +authors: + - "@edmundmiller" +maintainers: + - "@edmundmiller" diff --git a/modules/nf-core/dragmap/align/tests/main.nf.test b/modules/nf-core/dragmap/align/tests/main.nf.test new file mode 100644 index 00000000..5e8b5baa --- /dev/null +++ b/modules/nf-core/dragmap/align/tests/main.nf.test @@ -0,0 +1,279 @@ +nextflow_process { + + name "Test Process DRAGMAP_ALIGN" + script "../main.nf" + process "DRAGMAP_ALIGN" + tag "modules" + tag "modules_nfcore" + tag "dragmap" + tag "dragmap/align" + tag "dragmap/hashtable" + + test("sarscov2 - fastq, hashtable, fasta, false") { + + setup { + run("DRAGMAP_HASHTABLE") { + script "../../hashtable/main.nf" + process { + """ + input[0] = [ + [id:'test'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true) + ] + """ + } + } + } + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:true ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true) + ] + input[1] = DRAGMAP_HASHTABLE.out.hashmap + input[2] = [[id:'test'],file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true)] + input[3] = false //sort + """ + } + } + + then { + assert { process.success } + assertAll ( + { assert snapshot( + file(process.out.bam[0][1]).name, + file(process.out.log[0][1]).readLines().findAll { it.startsWith("decompHash") }, + process.out.findAll { key, val -> key.startsWith("versions") }, + ).match() } + ) + } + + } + + test("sarscov2 - fastq, hashtable, fasta, true") { + + setup { + run("DRAGMAP_HASHTABLE") { + script "../../hashtable/main.nf" + process { + """ + input[0] = [ + [id:'test'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true) + ] + """ + } + } + } + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:true ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true) + ] + input[1] = DRAGMAP_HASHTABLE.out.hashmap + input[2] = [[id:'test'],file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true)] + input[3] = true //sort + """ + } + } + + then { + assert { process.success } + assertAll ( + { assert snapshot( + file(process.out.bam[0][1]).name, + file(process.out.log[0][1]).readLines().findAll { it.startsWith("decompHash") }, + process.out.findAll { key, val -> key.startsWith("versions") }, + ).match() } + ) + } + + } + + test("sarscov2 - [fastq1, fastq2], hashtable, fasta, false") { + + setup { + run("DRAGMAP_HASHTABLE") { + script "../../hashtable/main.nf" + process { + """ + input[0] = [ + [id:'test'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true) + ] + """ + } + } + } + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:false ], // meta map + [ + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) + ] + ] + input[1] = DRAGMAP_HASHTABLE.out.hashmap + input[2] = [[id:'test'],file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true)] + input[3] = false //sort + """ + } + } + + then { + assert { process.success } + assertAll ( + { assert snapshot( + file(process.out.bam[0][1]).name, + file(process.out.log[0][1]).readLines().findAll { it.startsWith("decompHash") }, + process.out.findAll { key, val -> key.startsWith("versions") }, + ).match() } + ) + } + + } + + test("sarscov2 - [fastq1, fastq2], hashtable, fasta, true") { + + setup { + run("DRAGMAP_HASHTABLE") { + script "../../hashtable/main.nf" + process { + """ + input[0] = [ + [id:'test'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true) + ] + """ + } + } + } + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:false ], // meta map + [ + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) + ] + ] + input[1] = DRAGMAP_HASHTABLE.out.hashmap + input[2] = [[id:'test'],file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true)] + input[3] = true //sort + """ + } + } + + then { + assert { process.success } + assertAll ( + { assert snapshot( + file(process.out.bam[0][1]).name, + file(process.out.log[0][1]).readLines().findAll { it.startsWith("decompHash") }, + process.out.findAll { key, val -> key.startsWith("versions") }, + ).match() } + ) + } + + } + + test("homo_sapiens - [fastq1, fastq2], hashtable, fasta, true") { + + setup { + run("DRAGMAP_HASHTABLE") { + script "../../hashtable/main.nf" + process { + """ + input[0] = [ + [id:'test'], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true) + ] + """ + } + } + } + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:false ], // meta map + [ + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_2.fastq.gz', checkIfExists: true) + ] + ] + input[1] = DRAGMAP_HASHTABLE.out.hashmap + input[2] = [[id:'test'],file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true)] + input[3] = true //sort + """ + } + } + + then { + assert { process.success } + assertAll ( + { assert snapshot( + file(process.out.bam[0][1]).name, + file(process.out.log[0][1]).readLines().findAll { it.startsWith("decompHash") }, + process.out.findAll { key, val -> key.startsWith("versions") }, + ).match() } + ) + } + + } + + test("sarscov2 - [fastq1, fastq2], hashtable, fasta, true - stub") { + + options "-stub" + setup { + run("DRAGMAP_HASHTABLE") { + script "../../hashtable/main.nf" + process { + """ + input[0] = [ + [id:'test'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true) + ] + """ + } + } + } + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:false ], // meta map + [ + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) + ] + ] + input[1] = DRAGMAP_HASHTABLE.out.hashmap + input[2] = [[id:'test'],file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true)] + input[3] = true //sort + """ + } + } + + then { + assert { process.success } + assertAll ( + { assert snapshot( + process.out, + ).match() } + ) + } + } +} diff --git a/modules/nf-core/dragmap/align/tests/main.nf.test.snap b/modules/nf-core/dragmap/align/tests/main.nf.test.snap new file mode 100644 index 00000000..4b355a0a --- /dev/null +++ b/modules/nf-core/dragmap/align/tests/main.nf.test.snap @@ -0,0 +1,332 @@ +{ + "sarscov2 - [fastq1, fastq2], hashtable, fasta, false": { + "content": [ + "test.bam", + [ + "decompHashTableCtxInit...", + "decompHashTableHeader...", + "decompHashTableLiterals...", + "decompHashTableExtIndex...", + "decompHashTableAutoHits...", + "decompHashTableSetFlags..." + ], + { + "versions_dragmap": [ + [ + "DRAGMAP_ALIGN", + "dragmap", + "1.2.1" + ] + ], + "versions_pigz": [ + [ + "DRAGMAP_ALIGN", + "pigz", + "2.3.4" + ] + ], + "versions_samtools": [ + [ + "DRAGMAP_ALIGN", + "samtools", + "1.19.2" + ] + ] + } + ], + "timestamp": "2026-02-18T13:37:09.601416", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "homo_sapiens - [fastq1, fastq2], hashtable, fasta, true": { + "content": [ + "test.bam", + [ + "decompHashTableCtxInit...", + "decompHashTableHeader...", + "decompHashTableLiterals...", + "decompHashTableExtIndex...", + "decompHashTableAutoHits...", + "decompHashTableSetFlags..." + ], + { + "versions_dragmap": [ + [ + "DRAGMAP_ALIGN", + "dragmap", + "1.2.1" + ] + ], + "versions_pigz": [ + [ + "DRAGMAP_ALIGN", + "pigz", + "2.3.4" + ] + ], + "versions_samtools": [ + [ + "DRAGMAP_ALIGN", + "samtools", + "1.19.2" + ] + ] + } + ], + "timestamp": "2026-02-18T13:37:59.385197", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "sarscov2 - fastq, hashtable, fasta, true": { + "content": [ + "test.bam", + [ + "decompHashTableCtxInit...", + "decompHashTableHeader...", + "decompHashTableLiterals...", + "decompHashTableExtIndex...", + "decompHashTableAutoHits...", + "decompHashTableSetFlags..." + ], + { + "versions_dragmap": [ + [ + "DRAGMAP_ALIGN", + "dragmap", + "1.2.1" + ] + ], + "versions_pigz": [ + [ + "DRAGMAP_ALIGN", + "pigz", + "2.3.4" + ] + ], + "versions_samtools": [ + [ + "DRAGMAP_ALIGN", + "samtools", + "1.19.2" + ] + ] + } + ], + "timestamp": "2026-02-18T13:37:02.623362", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "sarscov2 - [fastq1, fastq2], hashtable, fasta, true": { + "content": [ + "test.bam", + [ + "decompHashTableCtxInit...", + "decompHashTableHeader...", + "decompHashTableLiterals...", + "decompHashTableExtIndex...", + "decompHashTableAutoHits...", + "decompHashTableSetFlags..." + ], + { + "versions_dragmap": [ + [ + "DRAGMAP_ALIGN", + "dragmap", + "1.2.1" + ] + ], + "versions_pigz": [ + [ + "DRAGMAP_ALIGN", + "pigz", + "2.3.4" + ] + ], + "versions_samtools": [ + [ + "DRAGMAP_ALIGN", + "samtools", + "1.19.2" + ] + ] + } + ], + "timestamp": "2026-02-18T13:37:16.491006", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "sarscov2 - [fastq1, fastq2], hashtable, fasta, true - stub": { + "content": [ + { + "0": [ + + ], + "1": [ + [ + { + "id": "test", + "single_end": false + }, + "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "2": [ + + ], + "3": [ + + ], + "4": [ + [ + { + "id": "test", + "single_end": false + }, + "test.csi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "5": [ + [ + { + "id": "test", + "single_end": false + }, + "test.log:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "6": [ + [ + "DRAGMAP_ALIGN", + "dragmap", + "1.2.1" + ] + ], + "7": [ + [ + "DRAGMAP_ALIGN", + "samtools", + "1.19.2" + ] + ], + "8": [ + [ + "DRAGMAP_ALIGN", + "pigz", + "2.3.4" + ] + ], + "bam": [ + [ + { + "id": "test", + "single_end": false + }, + "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "crai": [ + + ], + "cram": [ + + ], + "csi": [ + [ + { + "id": "test", + "single_end": false + }, + "test.csi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "log": [ + [ + { + "id": "test", + "single_end": false + }, + "test.log:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "sam": [ + + ], + "versions_dragmap": [ + [ + "DRAGMAP_ALIGN", + "dragmap", + "1.2.1" + ] + ], + "versions_pigz": [ + [ + "DRAGMAP_ALIGN", + "pigz", + "2.3.4" + ] + ], + "versions_samtools": [ + [ + "DRAGMAP_ALIGN", + "samtools", + "1.19.2" + ] + ] + } + ], + "timestamp": "2026-02-18T13:38:06.245799", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "sarscov2 - fastq, hashtable, fasta, false": { + "content": [ + "test.bam", + [ + "decompHashTableCtxInit...", + "decompHashTableHeader...", + "decompHashTableLiterals...", + "decompHashTableExtIndex...", + "decompHashTableAutoHits...", + "decompHashTableSetFlags..." + ], + { + "versions_dragmap": [ + [ + "DRAGMAP_ALIGN", + "dragmap", + "1.2.1" + ] + ], + "versions_pigz": [ + [ + "DRAGMAP_ALIGN", + "pigz", + "2.3.4" + ] + ], + "versions_samtools": [ + [ + "DRAGMAP_ALIGN", + "samtools", + "1.19.2" + ] + ] + } + ], + "timestamp": "2026-02-18T13:36:55.869439", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + } +} \ No newline at end of file diff --git a/modules/nf-core/dragmap/hashtable/environment.yml b/modules/nf-core/dragmap/hashtable/environment.yml new file mode 100644 index 00000000..8225f820 --- /dev/null +++ b/modules/nf-core/dragmap/hashtable/environment.yml @@ -0,0 +1,8 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + # WARN: Do not update this tool to 1.3.0 until https://github.com/Illumina/DRAGMAP/issues/47 is resolved + - bioconda::dragmap=1.2.1 diff --git a/modules/nf-core/dragmap/hashtable/main.nf b/modules/nf-core/dragmap/hashtable/main.nf new file mode 100644 index 00000000..ff49b73e --- /dev/null +++ b/modules/nf-core/dragmap/hashtable/main.nf @@ -0,0 +1,37 @@ +process DRAGMAP_HASHTABLE { + tag "${fasta}" + label 'process_high' + + conda "${moduleDir}/environment.yml" + // WARN: Do not update this tool to 1.3.0 until https://github.com/Illumina/DRAGMAP/issues/47 is resolved + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container + ? 'https://depot.galaxyproject.org/singularity/dragmap:1.2.1--h72d16da_1' + : 'quay.io/biocontainers/dragmap:1.2.1--h72d16da_1'}" + + input: + tuple val(meta), path(fasta) + + output: + tuple val(meta), path("dragmap"), emit: hashmap + tuple val("${task.process}"), val('dragmap'), eval("dragen-os --version 2>&1"), emit: versions_dragmap, topic: versions + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + """ + mkdir dragmap + dragen-os \\ + --build-hash-table true \\ + --ht-reference ${fasta} \\ + --output-directory dragmap \\ + ${args} \\ + --ht-num-threads ${task.cpus} + """ + + stub: + """ + mkdir dragmap + """ +} diff --git a/modules/nf-core/dragmap/hashtable/meta.yml b/modules/nf-core/dragmap/hashtable/meta.yml new file mode 100644 index 00000000..5d2e3929 --- /dev/null +++ b/modules/nf-core/dragmap/hashtable/meta.yml @@ -0,0 +1,68 @@ +name: dragmap_hashtable +description: Create DRAGEN hashtable for reference genome +keywords: + - index + - fasta + - genome + - reference +tools: + - dragmap: + description: Dragmap is the Dragen mapper/aligner Open Source Software. + homepage: https://github.com/Illumina/dragmap + documentation: https://github.com/Illumina/dragmap + tool_dev_url: https://github.com/Illumina/dragmap#basic-command-line-usage + licence: + - "GPL v3" + identifier: "" +input: + - - meta: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'test', single_end:false ] + - fasta: + type: file + description: Input genome fasta file + ontologies: + - edam: http://edamontology.org/format_1929 +output: + hashmap: + - - meta: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'test', single_end:false ] + - dragmap: + type: string + description: DRAGMAP hash table + pattern: "*.{cmp,.bin,.txt}" + ontologies: [] + versions_dragmap: + - - ${task.process}: + type: string + description: The name of the process + - dragmap: + type: string + description: DRAGMAP hash table + pattern: "*.{cmp,.bin,.txt}" + ontologies: [] + - dragen-os --version 2>&1: + type: eval + description: The expression to obtain the version of the tool +topics: + versions: + - - ${task.process}: + type: string + description: The name of the process + - dragmap: + type: string + description: DRAGMAP hash table + pattern: "*.{cmp,.bin,.txt}" + ontologies: [] + - dragen-os --version 2>&1: + type: eval + description: The expression to obtain the version of the tool +authors: + - "@edmundmiller" +maintainers: + - "@edmundmiller" diff --git a/modules/nf-core/dragmap/hashtable/tests/main.nf.test b/modules/nf-core/dragmap/hashtable/tests/main.nf.test new file mode 100644 index 00000000..7168d99a --- /dev/null +++ b/modules/nf-core/dragmap/hashtable/tests/main.nf.test @@ -0,0 +1,65 @@ +nextflow_process { + + name "Test Process DRAGMAP_HASHTABLE" + script "../main.nf" + process "DRAGMAP_HASHTABLE" + tag "modules" + tag "modules_nfcore" + tag "dragmap" + tag "dragmap/hashtable" + + test("sarscov2 - fasta") { + + when { + + process { + """ + input[0] = [ + [id:'test'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true) + ] + """ + } + } + + then { + assert { process.success } + assertAll( + { assert snapshot( + file(process.out.hashmap[0][1]).name, + process.out.findAll { key, val -> key.startsWith("versions") }, + ).match() + } + ) + } + } + + test("sarscov2 - fasta - stub") { + + options "-stub" + when { + + process { + """ + input[0] = [ + [id:'test'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true) + ] + """ + } + } + + then { + assert { process.success } + assertAll( + { assert snapshot( + process.out, + process.out.findAll { key, val -> key.startsWith("versions") }, + ).match() } + ) + } + } + + // TODO Add test using alt-masked bed file + // https://github.com/Illumina/dragmap#build-hash-table-using-an-alt-masked-bed-file +} diff --git a/modules/nf-core/dragmap/hashtable/tests/main.nf.test.snap b/modules/nf-core/dragmap/hashtable/tests/main.nf.test.snap new file mode 100644 index 00000000..af7efb41 --- /dev/null +++ b/modules/nf-core/dragmap/hashtable/tests/main.nf.test.snap @@ -0,0 +1,62 @@ +{ + "sarscov2 - fasta - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + [ + + ] + ] + ], + "1": [ + "versions.yml:md5,050c28333b92fac50eec250c28b841d0" + ], + "hashmap": [ + [ + { + "id": "test" + }, + [ + + ] + ] + ], + "versions": [ + "versions.yml:md5,050c28333b92fac50eec250c28b841d0" + ] + }, + { + "DRAGMAP_HASHTABLE": { + "dragmap": "1.2.1" + } + } + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.5" + }, + "timestamp": "2025-04-10T11:34:52.49644133" + }, + "sarscov2 - fasta": { + "content": [ + "dragmap", + [ + "versions.yml:md5,050c28333b92fac50eec250c28b841d0" + ], + { + "DRAGMAP_HASHTABLE": { + "dragmap": "1.2.1" + } + } + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.5" + }, + "timestamp": "2025-04-10T11:34:44.786652653" + } +} \ No newline at end of file diff --git a/modules/nf-core/ensemblvep/download/environment.yml b/modules/nf-core/ensemblvep/download/environment.yml new file mode 100644 index 00000000..3d904bec --- /dev/null +++ b/modules/nf-core/ensemblvep/download/environment.yml @@ -0,0 +1,12 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + # renovate: datasource=conda depName=bioconda/ensembl-vep + - bioconda::ensembl-vep=116.0 + # renovate: datasource=conda depName=bioconda/perl-math-cdf + - bioconda::perl-math-cdf=0.1 + # renovate: datasource=conda depName=bioconda/htslib + - bioconda::htslib=1.23.1 diff --git a/modules/nf-core/ensemblvep/download/main.nf b/modules/nf-core/ensemblvep/download/main.nf new file mode 100644 index 00000000..1f7c19a3 --- /dev/null +++ b/modules/nf-core/ensemblvep/download/main.nf @@ -0,0 +1,50 @@ +process ENSEMBLVEP_DOWNLOAD { + tag "${meta.id}" + label 'process_medium' + + conda "${moduleDir}/environment.yml" + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/11/112b7b57f93b053ccd3f8b2f2207a5faa629fd4ea181af8e1a41a1fbd007e657/data' + : 'community.wave.seqera.io/library/ensembl-vep_perl-math-cdf_htslib:c4edd3fb4a233ae6'}" + + input: + tuple val(meta), val(assembly), val(species), val(cache_version) + val(preflight_check) + + output: + tuple val(meta), path(prefix), emit: cache + tuple val("${task.process}"), val('ensemblvep'), eval("vep --help | sed -n '/ensembl-vep/s/.*: //p'"), topic: versions, emit: versions_ensemblvep + tuple val("${task.process}"), val('perl-math-cdf'), eval("perl -MMath::CDF -e 'print \$Math::CDF::VERSION'"), topic: versions, emit: versions_perlmathcdf + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + prefix = task.ext.prefix ?: 'vep_cache' + def filename = "${species}_vep_${cache_version}_${assembly}.tar.gz" + def checksums_url = "https://ftp.ensembl.org/pub/release-${cache_version}/variation/indexed_vep_cache/CHECKSUMS" + """ + if [ "${preflight_check}" = "true" ]; then + perl -MHTTP::Tiny -e ' + my \$r = HTTP::Tiny->new(timeout => 30)->get("${checksums_url}"); + \$r->{success} or die "Failed to fetch CHECKSUMS (HTTP \$r->{status})\\n"; + \$r->{content} =~ /\\Q${filename}\\E/ or die "${filename} not found in CHECKSUMS\\n"; + print "Pre-flight OK: ${filename} found in CHECKSUMS\\n"; + ' + fi + + vep_install \\ + --CACHEDIR ${prefix} \\ + --SPECIES ${species} \\ + --ASSEMBLY ${assembly} \\ + --CACHE_VERSION ${cache_version} \\ + ${args} + """ + + stub: + prefix = task.ext.prefix ?: 'vep_cache' + """ + mkdir ${prefix} + """ +} diff --git a/modules/nf-core/ensemblvep/download/meta.yml b/modules/nf-core/ensemblvep/download/meta.yml new file mode 100644 index 00000000..73492b48 --- /dev/null +++ b/modules/nf-core/ensemblvep/download/meta.yml @@ -0,0 +1,95 @@ +name: ensemblvep_download +description: Ensembl Variant Effect Predictor (VEP). The cache downloading + options are controlled through `task.ext.args`. +keywords: + - annotation + - cache + - download +tools: + - ensemblvep: + description: | + VEP determines the effect of your variants (SNPs, insertions, deletions, CNVs + or structural variants) on genes, transcripts, and protein sequence, as well as regulatory regions. + homepage: https://www.ensembl.org/info/docs/tools/vep/index.html + documentation: https://www.ensembl.org/info/docs/tools/vep/script/index.html + licence: + - "Apache-2.0" + identifier: "" +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - assembly: + type: string + description: | + Genome assembly + - species: + type: string + description: | + Specie + - cache_version: + type: string + description: | + cache version + - preflight_check: + type: boolean + description: | + Whether to check that the expected cache file is listed in the Ensembl CHECKSUMS file before downloading +output: + cache: + - - meta: + type: file + description: cache + pattern: "*" + ontologies: [] + - prefix: + type: file + description: cache + pattern: "*" + ontologies: [] + versions_ensemblvep: + - - ${task.process}: + type: string + description: The process the versions were collected from + - ensemblvep: + type: string + description: The tool name + - "vep --help | sed -n '/ensembl-vep/s/.*: //p'": + type: eval + description: The command used to generate the version of the tool + versions_perlmathcdf: + - - ${task.process}: + type: string + description: The process the versions were collected from + - perl-math-cdf: + type: string + description: The name of the tool + - perl -MMath::CDF -e 'print \$Math::CDF::VERSION': + type: eval + description: The expression to obtain the version of the tool +topics: + versions: + - - ${task.process}: + type: string + description: The process the versions were collected from + - ensemblvep: + type: string + description: The tool name + - "vep --help | sed -n '/ensembl-vep/s/.*: //p'": + type: eval + description: The command used to generate the version of the tool + - - ${task.process}: + type: string + description: The process the versions were collected from + - perl-math-cdf: + type: string + description: The name of the tool + - perl -MMath::CDF -e 'print \$Math::CDF::VERSION': + type: eval + description: The expression to obtain the version of the tool +authors: + - "@maxulysse" +maintainers: + - "@maxulysse" diff --git a/modules/nf-core/ensemblvep/download/tests/main.nf.test b/modules/nf-core/ensemblvep/download/tests/main.nf.test new file mode 100644 index 00000000..901b45ea --- /dev/null +++ b/modules/nf-core/ensemblvep/download/tests/main.nf.test @@ -0,0 +1,83 @@ +nextflow_process { + + name "Test Process ENSEMBLVEP_DOWNLOAD" + script "../main.nf" + process "ENSEMBLVEP_DOWNLOAD" + config "./nextflow.config" + + tag "modules" + tag "modules_nfcore" + tag "ensemblvep" + tag "ensemblvep/download" + + test("ENSEMBLVEP download cache for 115_WBcel235") { + + when { + process { + """ + input[0] = Channel.of([ + [id:"115_WBcel235"], + params.vep_genome, + params.vep_species, + params.vep_cache_version + ]) + input[1] = true + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) + } + } + + test("ENSEMBLVEP download cache - preflight fails for invalid species") { + + when { + process { + """ + input[0] = Channel.of([ + [id:"invalid_species"], + "GRCh38", + "invalid_species", + params.vep_cache_version + ]) + input[1] = true + """ + } + } + + then { + assert process.failed + } + } + + test("ENSEMBLVEP download cache for 115_WBcel235 - stub") { + + options "-stub" + + when { + process { + """ + input[0] = Channel.of([ + [id:"115_WBcel235"], + params.vep_genome, + params.vep_species, + params.vep_cache_version + ]) + input[1] = true + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) + } + } +} diff --git a/modules/nf-core/ensemblvep/download/tests/main.nf.test.snap b/modules/nf-core/ensemblvep/download/tests/main.nf.test.snap new file mode 100644 index 00000000..7f47772a --- /dev/null +++ b/modules/nf-core/ensemblvep/download/tests/main.nf.test.snap @@ -0,0 +1,195 @@ +{ + "ENSEMBLVEP download cache for 115_WBcel235": { + "content": [ + { + "cache": [ + [ + { + "id": "115_WBcel235" + }, + [ + [ + [ + [ + "1-1000000.gz:md5,f9cb33a3ddbb1b82597b3af3e9643dd3", + "10000001-11000000.gz:md5,71aa93ae6388be95fa5269be60236b95", + "1000001-2000000.gz:md5,956f858010c1346ee042ef0ea522043b", + "11000001-12000000.gz:md5,30274a3b8244e492cdf1f611a04848db", + "12000001-13000000.gz:md5,b28d20155f72c1261ba4bb08bea3d302", + "13000001-14000000.gz:md5,293a59ed7b397c1817d77412e124df53", + "14000001-15000000.gz:md5,5291aeb2805c8823b44562d875c7905e", + "15000001-16000000.gz:md5,7fd86078be5f3a400635b269a02185ea", + "2000001-3000000.gz:md5,7f6241cf8e3c91e1c882f3cc86d2dc3a", + "3000001-4000000.gz:md5,e77dc4834119301bbe19dc2a4a05348a", + "4000001-5000000.gz:md5,ac34c2980fea824b21e04874847904ad", + "5000001-6000000.gz:md5,3dfdb3bcd812de1e2b69cfca89a1c1f9", + "6000001-7000000.gz:md5,8446c31796e1aee447af2e353b3734a1", + "7000001-8000000.gz:md5,f84e88618cf747c774ddb98d971e2615", + "8000001-9000000.gz:md5,3094317bb21e35067424e9ad957dfcbe", + "9000001-10000000.gz:md5,3883799cae1ed356ecb416550a89ebde" + ], + [ + "1-1000000.gz:md5,c2393dd5d120068d496b8789bee91974", + "10000001-11000000.gz:md5,106ab30775ba5fa950f8df7909a163b2", + "1000001-2000000.gz:md5,beeda6a82ca6800093d96bbf2eaa81f9", + "11000001-12000000.gz:md5,27d27c0245dbbb270b2001ca75b03042", + "12000001-13000000.gz:md5,8eea54682f0ef9e1977527999f6bfe29", + "13000001-14000000.gz:md5,5f4581505ebf8c4488bff65b16f125e0", + "14000001-15000000.gz:md5,00e8035d7e179ee51faa7032db090fad", + "15000001-16000000.gz:md5,c8438ec1765eb98cfca60eb2165f4d70", + "2000001-3000000.gz:md5,cf3f572db267b4a8552b37d1c3a78b2d", + "3000001-4000000.gz:md5,ec7df072bf71748c26e25afc2ea353f1", + "4000001-5000000.gz:md5,9dd91cde9d18bae0c884dff7050abaef", + "5000001-6000000.gz:md5,1be8b286a79eebb80ff0684f5c110407", + "6000001-7000000.gz:md5,a0debd5341d3e5ba986225f0f45d01b9", + "7000001-8000000.gz:md5,fc2d82666540059fea44c14569208b14", + "8000001-9000000.gz:md5,0a75c0b27da2c4ae946fdae5e5d83e59", + "9000001-10000000.gz:md5,172900e4145c9a9aa783f01550f4d8a2" + ], + [ + "1-1000000.gz:md5,d1d97f733248a030e650a9bd1e7f41bc", + "10000001-11000000.gz:md5,429d681ffa8ca9dc23c62cdab4ffc42b", + "1000001-2000000.gz:md5,58be924f576c85b462df995b76074c9d", + "11000001-12000000.gz:md5,f789a4312ddd0bd423b3c55f66af782c", + "12000001-13000000.gz:md5,76a0fdd867ca559eaf5e8fe3e0f8ea94", + "13000001-14000000.gz:md5,867d9a3b7b6a720b634180efebf65658", + "2000001-3000000.gz:md5,e93c4b398494843b309abf71b218c14a", + "3000001-4000000.gz:md5,ff5b0d6680207d23490279c5f62ba33b", + "4000001-5000000.gz:md5,8b5e33878c599de252a931205a034446", + "5000001-6000000.gz:md5,25b9f4a4edafb9572c323ca1783dd7c1", + "6000001-7000000.gz:md5,c52c31d11ab225f7c9793f0c82ce72e6", + "7000001-8000000.gz:md5,a894863e34285ca3b042cd0eeed253c6", + "8000001-9000000.gz:md5,bcce1adf098aa44c0e55a2df2d801449", + "9000001-10000000.gz:md5,b27661dc26cd23c6a9c41cc885187b4f" + ], + [ + "1-1000000.gz:md5,70dfe9bedc7a87a063f9b6f2e48b846b", + "10000001-11000000.gz:md5,767a1bd59613ad669cbb835cc11d06ff", + "1000001-2000000.gz:md5,9e1276159b8a073611f048cf6c4a0738", + "11000001-12000000.gz:md5,93dcc27f1185c7af20489ce5796da68e", + "12000001-13000000.gz:md5,0bc55d7b3f7419adcdbf474b7192c5ba", + "13000001-14000000.gz:md5,2a8c5ee78d9d2b462ec889733f311c19", + "14000001-15000000.gz:md5,68e79d710886838294c8de27ea7c1c00", + "15000001-16000000.gz:md5,d975f06bf6f8f1722c29c7b8cce7095b", + "16000001-17000000.gz:md5,bf59b0b7461b4c97520762754a91e41c", + "17000001-18000000.gz:md5,3174d1bff1351ee17f632c6adec54c90", + "2000001-3000000.gz:md5,22ac8f1975b085ed3f5773bc220ff120", + "3000001-4000000.gz:md5,0a8a89f524f7955f3db2847344e688d9", + "4000001-5000000.gz:md5,648d45d681cc4cbe68db4638665122ca", + "5000001-6000000.gz:md5,dfe8c94f45221ed152874083ec0991e2", + "6000001-7000000.gz:md5,e9c705d31a7c1cac9d02c6a018a0d655", + "7000001-8000000.gz:md5,723513cca5842d5c238dc110075ad8dd", + "8000001-9000000.gz:md5,3703d6fbdad1f21a2c1f40c5d8ad5371", + "9000001-10000000.gz:md5,afb3ba977fc7cd18b47bb5fa6fc85832" + ], + [ + "1-1000000.gz:md5,397d664998c2dbfd56c0af94c385f5ee" + ], + [ + "1-1000000.gz:md5,ce88865c73633b2b57e6f3481a21b3f8", + "10000001-11000000.gz:md5,8f1f45979e56451d44a3887321910d30", + "1000001-2000000.gz:md5,c40b987ac5b22a6674055849e24204ad", + "11000001-12000000.gz:md5,4e5a2ba329951bd2e01738886766e777", + "12000001-13000000.gz:md5,0670c5ee8dbf7c5f497a948071f94026", + "13000001-14000000.gz:md5,24d4532d1e9c0839f750f6dc798beacd", + "14000001-15000000.gz:md5,3a3de4c21b35ae9cd349e4641d8023a8", + "15000001-16000000.gz:md5,d60e0088ed511f809d9f2137fe46731c", + "16000001-17000000.gz:md5,2ee41d67e7cc73cf0e1bf8e47c708436", + "17000001-18000000.gz:md5,87304db95265191a4368c51ee7993801", + "18000001-19000000.gz:md5,b943b2b6865fa97a04fac7e17ac7c789", + "19000001-20000000.gz:md5,4d1338b66252cbc28c9991967cc5805e", + "20000001-21000000.gz:md5,a81d47d38d78d30bb4575f7a65c9707e", + "2000001-3000000.gz:md5,2ff7e93b14741df46621a15840fa5276", + "3000001-4000000.gz:md5,1ff84c0fb7dd85b55a1f32954f3bd625", + "4000001-5000000.gz:md5,4079a7728625d842f231d1f664b50264", + "5000001-6000000.gz:md5,399986007f0bc002054aff687bce85fc", + "6000001-7000000.gz:md5,c97f0d1a323011c5eb59d2c09a12634e", + "7000001-8000000.gz:md5,0973af953b9632efa1813d0c1265902d", + "8000001-9000000.gz:md5,1c9695b7857c8494396edbf68e2d8095", + "9000001-10000000.gz:md5,7e3e78052518c97155260eba1975ec41" + ], + [ + "1-1000000.gz:md5,e5b943beee3102d4bbcf931618e4516f", + "10000001-11000000.gz:md5,2258cce59acc40383eba19df4adab977", + "1000001-2000000.gz:md5,48ffa67b4638d76f54feffeaf3ceb919", + "11000001-12000000.gz:md5,810e31cc6ef2995163dc4a249c73f131", + "12000001-13000000.gz:md5,0bf858719d427d5dcff6640dd0126ec0", + "13000001-14000000.gz:md5,f337fe31c4cf04d2b61c8cc4e65b3d31", + "14000001-15000000.gz:md5,51fa13d1ceefd98a6a093a41d565aa08", + "15000001-16000000.gz:md5,eaa3a4f3c8e447a78f482f8ff94ee488", + "16000001-17000000.gz:md5,95d704615bf688dea4fcf8916ea35326", + "17000001-18000000.gz:md5,356290a920138412ac131046246fe606", + "2000001-3000000.gz:md5,b32d23dedc91e0f05047cb3f75ab9679", + "3000001-4000000.gz:md5,304b9eb63522e575fb97a7c18e602c93", + "4000001-5000000.gz:md5,d2fa3e7f01321332dc5a65feef9defc0", + "5000001-6000000.gz:md5,d150eec8b35ccf2e136fdc6e7bd17481", + "6000001-7000000.gz:md5,fde4ba9ba1cbe463b65afd45f64d0809", + "7000001-8000000.gz:md5,40a5fe0f827dc040e851c5769896d4f5", + "8000001-9000000.gz:md5,0112761790ef2e78c5515bb3f9923277", + "9000001-10000000.gz:md5,f2d25d2a55f146875f0e5d51d3108341" + ], + "chr_synonyms.txt:md5,8a7e0941aa4f0e676ab5594f0226b2b5", + "info.txt:md5,33ccb74a030a9a345051628c337cb8af" + ] + ] + ] + ] + ], + "versions_ensemblvep": [ + [ + "ENSEMBLVEP_DOWNLOAD", + "ensemblvep", + "116.0" + ] + ], + "versions_perlmathcdf": [ + [ + "ENSEMBLVEP_DOWNLOAD", + "perl-math-cdf", + "" + ] + ] + } + ], + "timestamp": "2026-06-10T12:12:05.812191", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.2" + } + }, + "ENSEMBLVEP download cache for 115_WBcel235 - stub": { + "content": [ + { + "cache": [ + [ + { + "id": "115_WBcel235" + }, + [ + + ] + ] + ], + "versions_ensemblvep": [ + [ + "ENSEMBLVEP_DOWNLOAD", + "ensemblvep", + "116.0" + ] + ], + "versions_perlmathcdf": [ + [ + "ENSEMBLVEP_DOWNLOAD", + "perl-math-cdf", + "" + ] + ] + } + ], + "timestamp": "2026-06-10T12:12:18.22553", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.2" + } + } +} \ No newline at end of file diff --git a/modules/nf-core/ensemblvep/download/tests/nextflow.config b/modules/nf-core/ensemblvep/download/tests/nextflow.config new file mode 100644 index 00000000..882ef8ee --- /dev/null +++ b/modules/nf-core/ensemblvep/download/tests/nextflow.config @@ -0,0 +1,12 @@ +params { + vep_cache_version = "115" + vep_genome = "WBcel235" + vep_species = "caenorhabditis_elegans" +} + +process { + withName: ENSEMBLVEP_DOWNLOAD { + ext.args = '--AUTO c --NO_BIOPERL --NO_HTSLIB --NO_TEST --NO_UPDATE' + ext.prefix = { "${params.vep_cache_version}_${params.vep_genome}" } + } +} diff --git a/modules/nf-core/ensemblvep/vep/environment.yml b/modules/nf-core/ensemblvep/vep/environment.yml new file mode 100644 index 00000000..3d904bec --- /dev/null +++ b/modules/nf-core/ensemblvep/vep/environment.yml @@ -0,0 +1,12 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + # renovate: datasource=conda depName=bioconda/ensembl-vep + - bioconda::ensembl-vep=116.0 + # renovate: datasource=conda depName=bioconda/perl-math-cdf + - bioconda::perl-math-cdf=0.1 + # renovate: datasource=conda depName=bioconda/htslib + - bioconda::htslib=1.23.1 diff --git a/modules/nf-core/ensemblvep/vep/main.nf b/modules/nf-core/ensemblvep/vep/main.nf new file mode 100644 index 00000000..914bc929 --- /dev/null +++ b/modules/nf-core/ensemblvep/vep/main.nf @@ -0,0 +1,67 @@ +process ENSEMBLVEP_VEP { + tag "${meta.id}" + label 'process_medium' + + conda "${moduleDir}/environment.yml" + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/11/112b7b57f93b053ccd3f8b2f2207a5faa629fd4ea181af8e1a41a1fbd007e657/data' + : 'community.wave.seqera.io/library/ensembl-vep_perl-math-cdf_htslib:c4edd3fb4a233ae6'}" + + input: + tuple val(meta), path(vcf), path(custom_extra_files) + val genome + val species + val cache_version + tuple val(meta2), path(cache) + tuple val(meta3), path(fasta) + path extra_files + + output: + tuple val(meta), path("${prefix}.vcf.gz"), emit: vcf, optional: true + tuple val(meta), path("${prefix}.vcf.gz.tbi"), emit: tbi, optional: true + tuple val(meta), path("${prefix}.tab.gz"), emit: tab, optional: true + tuple val(meta), path("${prefix}.json.gz"), emit: json, optional: true + tuple val(meta), val("${task.process}"), val('ensemblvep'), path("*.html"), topic: multiqc_files, emit: report, optional: true + tuple val("${task.process}"), val('ensemblvep'), eval("vep --help | sed -n '/ensembl-vep/s/.*: //p'"), topic: versions, emit: versions_ensemblvep + tuple val("${task.process}"), val('tabix'), eval("tabix -h 2>&1 | grep -oP 'Version:\\s*\\K[^\\s]+'"), topic: versions, emit: versions_tabix + tuple val("${task.process}"), val('perl-math-cdf'), eval("perl -MMath::CDF -e 'print \\\$Math::CDF::VERSION'"), topic: versions, emit: versions_perlmathcdf + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def args2 = task.ext.args2 ?: '' + def file_extension = args.contains("--vcf") ? 'vcf' : args.contains("--json") ? 'json' : args.contains("--tab") ? 'tab' : 'vcf' + def compress_cmd = args.contains("--compress_output") ? '' : '--compress_output bgzip' + prefix = task.ext.prefix ?: "${meta.id}" + def dir_cache = cache ? "\${PWD}/${cache}" : "/.vep" + def reference = fasta ? "--fasta ${fasta}" : "" + def create_index = file_extension == "vcf" ? "tabix ${args2} ${prefix}.${file_extension}.gz" : "" + """ + vep \\ + -i ${vcf} \\ + -o ${prefix}.${file_extension}.gz \\ + ${args} \\ + ${compress_cmd} \\ + ${reference} \\ + --assembly ${genome} \\ + --species ${species} \\ + --cache \\ + --cache_version ${cache_version} \\ + --dir_cache ${dir_cache} \\ + --fork ${task.cpus} + + ${create_index} + """ + + stub: + prefix = task.ext.prefix ?: "${meta.id}" + def file_extension = args.contains("--vcf") ? 'vcf' : args.contains("--json") ? 'json' : args.contains("--tab") ? 'tab' : 'vcf' + def create_index = file_extension == "vcf" ? "touch ${prefix}.${file_extension}.gz.tbi" : "" + """ + echo "" | gzip > ${prefix}.${file_extension}.gz + ${create_index} + touch ${prefix}_summary.html + """ +} diff --git a/modules/nf-core/ensemblvep/vep/meta.yml b/modules/nf-core/ensemblvep/vep/meta.yml new file mode 100644 index 00000000..daa62526 --- /dev/null +++ b/modules/nf-core/ensemblvep/vep/meta.yml @@ -0,0 +1,220 @@ +name: ensemblvep_vep +description: Ensembl Variant Effect Predictor (VEP). The output-file-format is + controlled through `task.ext.args`. +keywords: + - annotation + - vcf + - json + - tab +tools: + - ensemblvep: + description: | + VEP determines the effect of your variants (SNPs, insertions, deletions, CNVs + or structural variants) on genes, transcripts, and protein sequence, as well as regulatory regions. + homepage: https://www.ensembl.org/info/docs/tools/vep/index.html + documentation: https://www.ensembl.org/info/docs/tools/vep/script/index.html + licence: + - "Apache-2.0" + identifier: "" +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - vcf: + type: file + description: | + vcf to annotate + ontologies: [] + - custom_extra_files: + type: file + description: | + extra sample-specific files to be used with the `--custom` flag to be configured with ext.args + (optional) + ontologies: [] + - genome: + type: string + description: | + which genome to annotate with + - species: + type: string + description: | + which species to annotate with + - cache_version: + type: integer + description: | + which version of the cache to annotate with + - - meta2: + type: map + description: | + Groovy Map containing cache information + e.g. [ id:'test' ] + - cache: + type: file + description: | + path to VEP cache (optional) + ontologies: [] + - - meta3: + type: map + description: | + Groovy Map containing fasta reference information + e.g. [ id:'test' ] + - fasta: + type: file + description: | + reference FASTA file (optional) + pattern: "*.{fasta,fa}" + ontologies: [] + - extra_files: + type: file + description: | + path to file(s) needed for plugins (optional) + ontologies: [] +output: + vcf: + - - meta: + type: map + description: | + Map with sample information + - ${prefix}.vcf.gz: + type: file + description: | + annotated vcf (optional) + pattern: "*.vcf.gz" + ontologies: + - edam: http://edamontology.org/format_3989 + tbi: + - - meta: + type: map + description: | + Map with sample information + - ${prefix}.vcf.gz.tbi: + type: file + description: | + annotated vcf index (optional) + pattern: "*.vcf.gz.tbi" + ontologies: [] + tab: + - - meta: + type: map + description: | + Map with sample information + - ${prefix}.tab.gz: + type: file + description: | + tab file with annotated variants (optional) + pattern: "*.ann.tab.gz" + ontologies: + - edam: http://edamontology.org/format_3989 + json: + - - meta: + type: map + description: | + Map with sample information + - ${prefix}.json.gz: + type: file + description: | + json file with annotated variants (optional) + pattern: "*.ann.json.gz" + ontologies: + - edam: http://edamontology.org/format_3989 + report: + - - meta: + type: map + description: | + Map with sample information + - ${task.process}: + type: string + description: The process + - ensemblvep: + type: string + description: The tool name + - "*.html": + type: file + description: VEP report file + pattern: "*.html" + ontologies: [] + versions_ensemblvep: + - - ${task.process}: + type: string + description: The process + - ensemblvep: + type: string + description: The tool name + - "vep --help | sed -n '/ensembl-vep/s/.*: //p'": + type: eval + description: The command used to generate the version of the tool + versions_tabix: + - - ${task.process}: + type: string + description: The process + - tabix: + type: string + description: The tool name + - tabix -h 2>&1 | grep -oP 'Version:\s*\K[^\s]+': + type: eval + description: The expression to obtain the version of the tool + versions_perlmathcdf: + - - ${task.process}: + type: string + description: The process + - perl-math-cdf: + type: string + description: The tool name + - perl -MMath::CDF -e 'print \\$Math::CDF::VERSION': + type: eval + description: The expression to obtain the version of the tool +topics: + multiqc_files: + - - meta: + type: string + description: | + Map with sample information + - ${task.process}: + type: string + description: The process + - ensemblvep: + type: string + description: The tool name + - "*.html": + type: file + description: VEP report file + pattern: "*.html" + ontologies: [] + versions: + - - ${task.process}: + type: string + description: The process + - ensemblvep: + type: string + description: The tool name + - "vep --help | sed -n '/ensembl-vep/s/.*: //p'": + type: eval + description: The command used to generate the version of the tool + - - ${task.process}: + type: string + description: The process + - tabix: + type: string + description: The tool name + - tabix -h 2>&1 | grep -oP 'Version:\s*\K[^\s]+': + type: eval + description: The expression to obtain the version of the tool + - - ${task.process}: + type: string + description: The process + - perl-math-cdf: + type: string + description: The tool name + - perl -MMath::CDF -e 'print \\$Math::CDF::VERSION': + type: eval + description: The expression to obtain the version of the tool +authors: + - "@maxulysse" + - "@matthdsm" + - "@nvnieuwk" +maintainers: + - "@maxulysse" + - "@matthdsm" + - "@nvnieuwk" diff --git a/modules/nf-core/ensemblvep/vep/tests/main.nf.test b/modules/nf-core/ensemblvep/vep/tests/main.nf.test new file mode 100644 index 00000000..ea6d9acc --- /dev/null +++ b/modules/nf-core/ensemblvep/vep/tests/main.nf.test @@ -0,0 +1,95 @@ +nextflow_process { + + name "Test Process ENSEMBLVEP_VEP" + script "../main.nf" + process "ENSEMBLVEP_VEP" + config "./nextflow.config" + + tag "modules" + tag "modules_nfcore" + tag "ensemblvep" + tag "ensemblvep/vep" + + test("test_ensemblvep_vep_fasta_vcf - stub (not really but linting complains otherwise)") { + config "./vcf.config" + + when { + process { + """ + vep_cache = channel.of([ + [ id:'115_WBcel235' ], + file('s3://annotation-cache/vep_cache/115_WBcel235/') + ]).collect() + + input[0] = channel.of([ + [ id:'test' ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test.vcf', checkIfExists: true), + [] + ]) + input[1] = params.vep_genome + input[2] = params.vep_species + input[3] = params.vep_cache_version + input[4] = vep_cache + input[5] = channel.value([ + [id:"fasta"], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true) + ]) + input[6] = [] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot( + file(process.out.vcf[0][1]).name + ",variantsMD5:" + path(process.out.vcf[0][1]).vcf.variantsMD5, + file(process.out.tbi[0][1]).name, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() } + ) + } + + } + + test("test_ensemblvep_vep_fasta_tab_gz") { + config "./tab.gz.config" + + when { + process { + """ + vep_cache = channel.of([ + [ id:'115_WBcel235' ], + file('s3://annotation-cache/vep_cache/115_WBcel235/') + ]).collect() + + input[0] = channel.of([ + [ id:'test' ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test.vcf', checkIfExists: true), + [] + ]) + input[1] = params.vep_genome + input[2] = params.vep_species + input[3] = params.vep_cache_version + input[4] = vep_cache + input[5] = channel.value([ + [id:"fasta"], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true) + ]) + input[6] = [] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot( + file(process.out.tab[0][1]).name, + process.out.findAll { key, val -> key.startsWith("versions") + }).match() }, + { assert path(process.out.tab[0][1]).linesGzip.contains("## ENSEMBL VARIANT EFFECT PREDICTOR v116.0") } + ) + } + } +} diff --git a/modules/nf-core/ensemblvep/vep/tests/main.nf.test.snap b/modules/nf-core/ensemblvep/vep/tests/main.nf.test.snap new file mode 100644 index 00000000..5d722977 --- /dev/null +++ b/modules/nf-core/ensemblvep/vep/tests/main.nf.test.snap @@ -0,0 +1,69 @@ +{ + "test_ensemblvep_vep_fasta_tab_gz": { + "content": [ + "test.tab.gz", + { + "versions_ensemblvep": [ + [ + "ENSEMBLVEP_VEP", + "ensemblvep", + "116.0" + ] + ], + "versions_perlmathcdf": [ + [ + "ENSEMBLVEP_VEP", + "perl-math-cdf", + "0.1" + ] + ], + "versions_tabix": [ + [ + "ENSEMBLVEP_VEP", + "tabix", + "1.23.1" + ] + ] + } + ], + "timestamp": "2026-06-10T11:55:47.928083", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.2" + } + }, + "test_ensemblvep_vep_fasta_vcf - stub (not really but linting complains otherwise)": { + "content": [ + "test.vcf.gz,variantsMD5:d41d8cd98f00b204e9800998ecf8427e", + "test.vcf.gz.tbi", + { + "versions_ensemblvep": [ + [ + "ENSEMBLVEP_VEP", + "ensemblvep", + "116.0" + ] + ], + "versions_perlmathcdf": [ + [ + "ENSEMBLVEP_VEP", + "perl-math-cdf", + "0.1" + ] + ], + "versions_tabix": [ + [ + "ENSEMBLVEP_VEP", + "tabix", + "1.23.1" + ] + ] + } + ], + "timestamp": "2026-06-10T11:55:16.566537", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.2" + } + } +} \ No newline at end of file diff --git a/modules/nf-core/ensemblvep/vep/tests/nextflow.config b/modules/nf-core/ensemblvep/vep/tests/nextflow.config new file mode 100644 index 00000000..8e68fe24 --- /dev/null +++ b/modules/nf-core/ensemblvep/vep/tests/nextflow.config @@ -0,0 +1,5 @@ +params { + vep_cache_version = "115" + vep_genome = "WBcel235" + vep_species = "caenorhabditis_elegans" +} diff --git a/modules/nf-core/ensemblvep/vep/tests/tab.gz.config b/modules/nf-core/ensemblvep/vep/tests/tab.gz.config new file mode 100644 index 00000000..40eb03e5 --- /dev/null +++ b/modules/nf-core/ensemblvep/vep/tests/tab.gz.config @@ -0,0 +1,5 @@ +process { + withName: ENSEMBLVEP_VEP { + ext.args = '--tab --compress_output bgzip' + } +} diff --git a/modules/nf-core/ensemblvep/vep/tests/vcf.config b/modules/nf-core/ensemblvep/vep/tests/vcf.config new file mode 100644 index 00000000..ad8955a3 --- /dev/null +++ b/modules/nf-core/ensemblvep/vep/tests/vcf.config @@ -0,0 +1,5 @@ +process { + withName: ENSEMBLVEP_VEP { + ext.args = '--vcf' + } +} diff --git a/modules/nf-core/fastp/environment.yml b/modules/nf-core/fastp/environment.yml new file mode 100644 index 00000000..b04ba368 --- /dev/null +++ b/modules/nf-core/fastp/environment.yml @@ -0,0 +1,8 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + # renovate: datasource=conda depName=bioconda/fastp + - bioconda::fastp=1.1.0 diff --git a/modules/nf-core/fastp/main.nf b/modules/nf-core/fastp/main.nf new file mode 100644 index 00000000..7b58e322 --- /dev/null +++ b/modules/nf-core/fastp/main.nf @@ -0,0 +1,104 @@ +process FASTP { + tag "$meta.id" + label 'process_medium' + + conda "${moduleDir}/environment.yml" + container "${ workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container ? + 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/55/556474e164daf5a5e218cd5d497681dcba0645047cf24698f88e3e078eacbd09/data' : + 'community.wave.seqera.io/library/fastp:1.1.0--08aa7c5662a30d57' }" + + input: + tuple val(meta), path(reads), path(adapter_fasta) + val discard_trimmed_pass + val save_trimmed_fail + val save_merged + + output: + tuple val(meta), path('*.fastp.fastq.gz') , optional:true, emit: reads + tuple val(meta), path('*.json') , emit: json + tuple val(meta), path('*.html') , emit: html + tuple val(meta), path('*.log') , emit: log + tuple val(meta), path('*.fail.fastq.gz') , optional:true, emit: reads_fail + tuple val(meta), path('*.merged.fastq.gz'), optional:true, emit: reads_merged + tuple val("${task.process}"), val('fastp'), eval('fastp --version 2>&1 | sed -e "s/fastp //g"'), emit: versions_fastp, topic: versions + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + def adapter_list = adapter_fasta ? "--adapter_fasta ${adapter_fasta}" : "" + def fail_fastq = save_trimmed_fail && meta.single_end ? "--failed_out ${prefix}.fail.fastq.gz" : save_trimmed_fail && !meta.single_end ? "--failed_out ${prefix}.paired.fail.fastq.gz --unpaired1 ${prefix}_R1.fail.fastq.gz --unpaired2 ${prefix}_R2.fail.fastq.gz" : '' + def out_fq1 = discard_trimmed_pass ?: ( meta.single_end ? "--out1 ${prefix}.fastp.fastq.gz" : "--out1 ${prefix}_R1.fastp.fastq.gz" ) + def out_fq2 = discard_trimmed_pass ?: "--out2 ${prefix}_R2.fastp.fastq.gz" + // Added soft-links to original fastqs for consistent naming in MultiQC + // Use single ended for interleaved. Add --interleaved_in in config. + if ( task.ext.args?.contains('--interleaved_in') ) { + """ + [ ! -f ${prefix}.fastq.gz ] && ln -sf $reads ${prefix}.fastq.gz + + fastp \\ + --stdout \\ + --in1 ${prefix}.fastq.gz \\ + --thread $task.cpus \\ + --json ${prefix}.fastp.json \\ + --html ${prefix}.fastp.html \\ + $adapter_list \\ + $fail_fastq \\ + $args \\ + 2>| >(tee ${prefix}.fastp.log >&2) \\ + | gzip -c > ${prefix}.fastp.fastq.gz + """ + } else if (meta.single_end) { + """ + [ ! -f ${prefix}.fastq.gz ] && ln -sf $reads ${prefix}.fastq.gz + + fastp \\ + --in1 ${prefix}.fastq.gz \\ + $out_fq1 \\ + --thread $task.cpus \\ + --json ${prefix}.fastp.json \\ + --html ${prefix}.fastp.html \\ + $adapter_list \\ + $fail_fastq \\ + $args \\ + 2>| >(tee ${prefix}.fastp.log >&2) + """ + } else { + def merge_fastq = save_merged ? "-m --merged_out ${prefix}.merged.fastq.gz" : '' + """ + [ ! -f ${prefix}_R1.fastq.gz ] && ln -sf ${reads[0]} ${prefix}_R1.fastq.gz + [ ! -f ${prefix}_R2.fastq.gz ] && ln -sf ${reads[1]} ${prefix}_R2.fastq.gz + fastp \\ + --in1 ${prefix}_R1.fastq.gz \\ + --in2 ${prefix}_R2.fastq.gz \\ + $out_fq1 \\ + $out_fq2 \\ + --json ${prefix}.fastp.json \\ + --html ${prefix}.fastp.html \\ + $adapter_list \\ + $fail_fastq \\ + $merge_fastq \\ + --thread $task.cpus \\ + --detect_adapter_for_pe \\ + $args \\ + 2>| >(tee ${prefix}.fastp.log >&2) + """ + } + + stub: + def prefix = task.ext.prefix ?: "${meta.id}" + def is_single_output = task.ext.args?.contains('--interleaved_in') || meta.single_end + def touch_reads = (discard_trimmed_pass) ? "" : (is_single_output) ? "echo '' | gzip > ${prefix}.fastp.fastq.gz" : "echo '' | gzip > ${prefix}_R1.fastp.fastq.gz ; echo '' | gzip > ${prefix}_R2.fastp.fastq.gz" + def touch_merged = (!is_single_output && save_merged) ? "echo '' | gzip > ${prefix}.merged.fastq.gz" : "" + def touch_fail_fastq = (!save_trimmed_fail) ? "" : meta.single_end ? "echo '' | gzip > ${prefix}.fail.fastq.gz" : "echo '' | gzip > ${prefix}.paired.fail.fastq.gz ; echo '' | gzip > ${prefix}_R1.fail.fastq.gz ; echo '' | gzip > ${prefix}_R2.fail.fastq.gz" + """ + $touch_reads + $touch_fail_fastq + $touch_merged + touch "${prefix}.fastp.json" + touch "${prefix}.fastp.html" + touch "${prefix}.fastp.log" + """ +} diff --git a/modules/nf-core/fastp/meta.yml b/modules/nf-core/fastp/meta.yml new file mode 100644 index 00000000..a67be395 --- /dev/null +++ b/modules/nf-core/fastp/meta.yml @@ -0,0 +1,144 @@ +name: fastp +description: Perform adapter/quality trimming on sequencing reads +keywords: + - trimming + - quality control + - fastq +tools: + - fastp: + description: | + A tool designed to provide fast all-in-one preprocessing for FastQ files. This tool is developed in C++ with multithreading supported to afford high performance. + documentation: https://github.com/OpenGene/fastp + doi: 10.1093/bioinformatics/bty560 + licence: ["MIT"] + identifier: biotools:fastp +input: + - - meta: + type: map + description: | + Groovy Map containing sample information. Use 'single_end: true' to specify single ended or interleaved FASTQs. Use 'single_end: false' for paired-end reads. + e.g. [ id:'test', single_end:false ] + - reads: + type: file + description: | + List of input FastQ files of size 1 and 2 for single-end and paired-end data, + respectively. If you wish to run interleaved paired-end data, supply as single-end data + but with `--interleaved_in` in your `modules.conf`'s `ext.args` for the module. + ontologies: [] + - adapter_fasta: + type: file + description: File in FASTA format containing possible adapters to remove. + pattern: "*.{fasta,fna,fas,fa}" + ontologies: [] + - discard_trimmed_pass: + type: boolean + description: | + Specify true to not write any reads that pass trimming thresholds. + This can be used to use fastp for the output report only. + - save_trimmed_fail: + type: boolean + description: Specify true to save files that failed to pass trimming thresholds + ending in `*.fail.fastq.gz` + - save_merged: + type: boolean + description: Specify true to save all merged reads to a file ending in `*.merged.fastq.gz` +output: + reads: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.fastp.fastq.gz": + type: file + description: The trimmed/modified/unmerged fastq reads + pattern: "*fastp.fastq.gz" + ontologies: + - edam: http://edamontology.org/format_1930 # FASTQ + - edam: http://edamontology.org/format_3989 # GZIP format + json: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.json": + type: file + description: Results in JSON format + pattern: "*.json" + ontologies: + - edam: http://edamontology.org/format_3464 # JSON + html: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.html": + type: file + description: Results in HTML format + pattern: "*.html" + ontologies: [] + log: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.log": + type: file + description: fastq log file + pattern: "*.log" + ontologies: [] + reads_fail: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.fail.fastq.gz": + type: file + description: Reads the failed the preprocessing + pattern: "*fail.fastq.gz" + ontologies: + - edam: http://edamontology.org/format_1930 # FASTQ + - edam: http://edamontology.org/format_3989 # GZIP format + reads_merged: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.merged.fastq.gz": + type: file + description: Reads that were successfully merged + pattern: "*.{merged.fastq.gz}" + ontologies: [] + versions_fastp: + - - "${task.process}": + type: string + description: The name of the process + - fastp: + type: string + description: The name of the tool + - 'fastp --version 2>&1 | sed -e "s/fastp //g"': + type: eval + description: The expression to obtain the version of the tool +topics: + versions: + - - "${task.process}": + type: string + description: The name of the process + - fastp: + type: string + description: The name of the tool + - 'fastp --version 2>&1 | sed -e "s/fastp //g"': + type: eval + description: The expression to obtain the version of the tool +authors: + - "@drpatelh" + - "@kevinmenden" + - "@eit-maxlcummins" +maintainers: + - "@drpatelh" + - "@kevinmenden" diff --git a/modules/nf-core/fastp/tests/main.nf.test b/modules/nf-core/fastp/tests/main.nf.test new file mode 100644 index 00000000..b7901578 --- /dev/null +++ b/modules/nf-core/fastp/tests/main.nf.test @@ -0,0 +1,661 @@ +nextflow_process { + + name "Test Process FASTP" + script "../main.nf" + process "FASTP" + tag "modules" + tag "modules_nfcore" + tag "fastp" + + test("test_fastp_single_end") { + + when { + + process { + """ + adapter_fasta = [] // empty list for no adapter file! + discard_trimmed_pass = false + save_trimmed_fail = false + save_merged = false + + input[0] = Channel.of([ + [ id:'test', single_end:true ], + [ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true) ], + adapter_fasta + ]) + input[1] = discard_trimmed_pass + input[2] = save_trimmed_fail + input[3] = save_merged + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert path(process.out.html.get(0).get(1)).getText().contains("single end (151 cycles)") }, + { assert path(process.out.log.get(0).get(1)).getText().contains("reads passed filter: 99") }, + { assert snapshot( + process.out.reads, + process.out.reads_fail, + process.out.reads_merged, + process.out.findAll { key, val -> key.startsWith('versions') }).match() + } + ) + } + } + + test("test_fastp_paired_end") { + + when { + + process { + """ + adapter_fasta = [] + discard_trimmed_pass = false + save_trimmed_fail = false + save_merged = false + + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + [ + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) + ], + adapter_fasta + ]) + input[1] = discard_trimmed_pass + input[2] = save_trimmed_fail + input[3] = save_merged + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert path(process.out.html.get(0).get(1)).getText().contains("The input has little adapter percentage (~0.000000%), probably it's trimmed before.") }, + { assert path(process.out.log.get(0).get(1)).getText().contains("Q30 bases: 12281(88.3716%)") }, + { assert snapshot( + process.out.reads, + process.out.reads_fail, + process.out.reads_merged, + process.out.findAll { key, val -> key.startsWith('versions') }).match() } + ) + } + } + + test("fastp test_fastp_interleaved") { + + config './nextflow.interleaved.config' + when { + process { + """ + adapter_fasta = [] + discard_trimmed_pass = false + save_trimmed_fail = false + save_merged = false + + input[0] = Channel.of([ + [ id:'test', single_end:true ], // meta map + [ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_interleaved.fastq.gz', checkIfExists: true) ], + adapter_fasta + ]) + input[1] = discard_trimmed_pass + input[2] = save_trimmed_fail + input[3] = save_merged + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert path(process.out.html.get(0).get(1)).getText().contains("paired end (151 cycles + 151 cycles)") }, + { assert path(process.out.log.get(0).get(1)).getText().contains("reads passed filter: 162") }, + { assert process.out.reads_fail == [] }, + { assert process.out.reads_merged == [] }, + { assert snapshot( + process.out.reads, + process.out.findAll { key, val -> key.startsWith('versions') }).match() } + ) + } + } + + test("test_fastp_single_end_trim_fail") { + + when { + + process { + """ + adapter_fasta = [] + discard_trimmed_pass = false + save_trimmed_fail = true + save_merged = false + + input[0] = Channel.of([ + [ id:'test', single_end:true ], // meta map + [ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true) ], + adapter_fasta + ]) + input[1] = discard_trimmed_pass + input[2] = save_trimmed_fail + input[3] = save_merged + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert path(process.out.html.get(0).get(1)).getText().contains("single end (151 cycles)") }, + { assert path(process.out.log.get(0).get(1)).getText().contains("reads passed filter: 99") }, + { assert snapshot( + process.out.reads, + process.out.reads_fail, + process.out.reads_merged, + process.out.findAll { key, val -> key.startsWith('versions') }).match() } + ) + } + } + + test("test_fastp_paired_end_trim_fail") { + + config './nextflow.save_failed.config' + when { + process { + """ + adapter_fasta = [] + discard_trimmed_pass = false + save_trimmed_fail = true + save_merged = false + + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + [ + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) + ], + adapter_fasta + ]) + input[1] = discard_trimmed_pass + input[2] = save_trimmed_fail + input[3] = save_merged + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert path(process.out.html.get(0).get(1)).getText().contains("The input has little adapter percentage (~0.000000%), probably it's trimmed before.") }, + { assert path(process.out.log.get(0).get(1)).getText().contains("reads passed filter: 162") }, + { assert snapshot( + process.out.reads, + process.out.reads_fail, + process.out.reads_merged, + process.out.findAll { key, val -> key.startsWith('versions') }).match() } + ) + } + } + + test("test_fastp_paired_end_merged") { + + when { + process { + """ + adapter_fasta = [] + discard_trimmed_pass = false + save_trimmed_fail = false + save_merged = true + + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + [ + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) + ], + adapter_fasta + ]) + input[1] = discard_trimmed_pass + input[2] = save_trimmed_fail + input[3] = save_merged + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert path(process.out.html.get(0).get(1)).getText().contains("The input has little adapter percentage (~0.000000%), probably it's trimmed before.") }, + { assert path(process.out.log.get(0).get(1)).getText().contains("total reads: 75") }, + { assert snapshot( + process.out.reads, + process.out.reads_fail, + process.out.reads_merged, + process.out.findAll { key, val -> key.startsWith('versions') }).match() }, + ) + } + } + + test("test_fastp_paired_end_merged_adapterlist") { + + when { + process { + """ + adapter_fasta = file(params.modules_testdata_base_path + 'delete_me/fastp/adapters.fasta', checkIfExists: true) + discard_trimmed_pass = false + save_trimmed_fail = false + save_merged = true + + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + [ + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) + ], + adapter_fasta + ]) + input[1] = false + input[2] = false + input[3] = true + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert path(process.out.html.get(0).get(1)).getText().contains("
") }, + { assert path(process.out.log.get(0).get(1)).getText().contains("total bases: 13683") }, + { assert snapshot( + process.out.reads, + process.out.reads_fail, + process.out.reads_merged, + process.out.findAll { key, val -> key.startsWith('versions') }).match() } + ) + } + } + + test("test_fastp_single_end_qc_only") { + + when { + process { + """ + adapter_fasta = [] + discard_trimmed_pass = true + save_trimmed_fail = false + save_merged = false + + input[0] = Channel.of([ + [ id:'test', single_end:true ], + [ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true) ], + adapter_fasta + ]) + + input[1] = discard_trimmed_pass + input[2] = save_trimmed_fail + input[3] = save_merged + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert path(process.out.html.get(0).get(1)).getText().contains("single end (151 cycles)") }, + { assert path(process.out.log.get(0).get(1)).getText().contains("reads passed filter: 99") }, + { assert snapshot( + process.out.reads, + process.out.reads, + process.out.reads_fail, + process.out.reads_fail, + process.out.reads_merged, + process.out.reads_merged, + process.out.findAll { key, val -> key.startsWith('versions') }).match() } + ) + } + } + + test("test_fastp_paired_end_qc_only") { + + when { + process { + """ + adapter_fasta = [] + discard_trimmed_pass = true + save_trimmed_fail = false + save_merged = false + + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + [ + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) + ], + adapter_fasta + ]) + input[1] = discard_trimmed_pass + input[2] = save_trimmed_fail + input[3] = save_merged + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert path(process.out.html.get(0).get(1)).getText().contains("The input has little adapter percentage (~0.000000%), probably it's trimmed before.") }, + { assert path(process.out.log.get(0).get(1)).getText().contains("Q30 bases: 12281(88.3716%)") }, + { assert snapshot( + process.out.reads, + process.out.reads, + process.out.reads_fail, + process.out.reads_fail, + process.out.reads_merged, + process.out.reads_merged, + process.out.findAll { key, val -> key.startsWith('versions') }).match() } + ) + } + } + + test("test_fastp_single_end - stub") { + + options "-stub" + + when { + + process { + """ + adapter_fasta = [] + discard_trimmed_pass = false + save_trimmed_fail = false + save_merged = false + + input[0] = Channel.of([ + [ id:'test', single_end:true ], + [ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true) ], + adapter_fasta + ]) + input[1] = discard_trimmed_pass + input[2] = save_trimmed_fail + input[3] = save_merged + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("test_fastp_paired_end - stub") { + + options "-stub" + + when { + + process { + """ + adapter_fasta = [] + discard_trimmed_pass = false + save_trimmed_fail = false + save_merged = false + + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + [ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) ], + adapter_fasta + ]) + input[1] = discard_trimmed_pass + input[2] = save_trimmed_fail + input[3] = save_merged + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("fastp - stub test_fastp_interleaved") { + + options "-stub" + + config './nextflow.interleaved.config' + when { + process { + """ + adapter_fasta = [] + discard_trimmed_pass = false + save_trimmed_fail = false + save_merged = false + + input[0] = Channel.of([ + [ id:'test', single_end:true ], // meta map + [ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_interleaved.fastq.gz', checkIfExists: true) ], + adapter_fasta + ]) + input[1] = discard_trimmed_pass + input[2] = save_trimmed_fail + input[3] = save_merged + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("test_fastp_single_end_trim_fail - stub") { + + options "-stub" + + when { + + process { + """ + adapter_fasta = [] + discard_trimmed_pass = false + save_trimmed_fail = true + save_merged = false + + input[0] = Channel.of([ + [ id:'test', single_end:true ], // meta map + [ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true) ], + adapter_fasta + ]) + input[1] = discard_trimmed_pass + input[2] = save_trimmed_fail + input[3] = save_merged + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("test_fastp_paired_end_trim_fail - stub") { + + options "-stub" + + config './nextflow.save_failed.config' + when { + process { + """ + adapter_fasta = [] + discard_trimmed_pass = false + save_trimmed_fail = true + save_merged = false + + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + [ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true)], + adapter_fasta + ]) + input[1] = discard_trimmed_pass + input[2] = save_trimmed_fail + input[3] = save_merged + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("test_fastp_paired_end_merged - stub") { + + options "-stub" + + when { + process { + """ + adapter_fasta = [] + discard_trimmed_pass = false + save_trimmed_fail = false + save_merged = true + + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + [ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) ], + adapter_fasta + ]) + input[1] = discard_trimmed_pass + input[2] = save_trimmed_fail + input[3] = save_merged + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("test_fastp_paired_end_merged_adapterlist - stub") { + + options "-stub" + + when { + process { + """ + adapter_fasta = file(params.modules_testdata_base_path + 'delete_me/fastp/adapters.fasta', checkIfExists: true) + discard_trimmed_pass = false + save_trimmed_fail = false + save_merged = true + + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + [ + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) + ], + adapter_fasta + ]) + input[1] = discard_trimmed_pass + input[2] = save_trimmed_fail + input[3] = save_merged + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("test_fastp_single_end_qc_only - stub") { + + options "-stub" + + when { + process { + """ + adapter_fasta = [] + discard_trimmed_pass = true + save_trimmed_fail = false + save_merged = false + + input[0] = Channel.of([ + [ id:'test', single_end:true ], + [ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true) ], + adapter_fasta + ]) + input[1] = discard_trimmed_pass + input[2] = save_trimmed_fail + input[3] = save_merged + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("test_fastp_paired_end_qc_only - stub") { + + options "-stub" + + when { + process { + """ + adapter_fasta = [] + discard_trimmed_pass = true + save_trimmed_fail = false + save_merged = false + + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + [ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) ], + adapter_fasta + ]) + input[1] = discard_trimmed_pass + input[2] = save_trimmed_fail + input[3] = save_merged + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } +} diff --git a/modules/nf-core/fastp/tests/main.nf.test.snap b/modules/nf-core/fastp/tests/main.nf.test.snap new file mode 100644 index 00000000..ffcdcfe8 --- /dev/null +++ b/modules/nf-core/fastp/tests/main.nf.test.snap @@ -0,0 +1,1376 @@ +{ + "test_fastp_single_end_qc_only - stub": { + "content": [ + { + "0": [ + + ], + "1": [ + [ + { + "id": "test", + "single_end": true + }, + "test.fastp.json:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "2": [ + [ + { + "id": "test", + "single_end": true + }, + "test.fastp.html:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "3": [ + [ + { + "id": "test", + "single_end": true + }, + "test.fastp.log:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "4": [ + + ], + "5": [ + + ], + "6": [ + [ + "FASTP", + "fastp", + "1.1.0" + ] + ], + "html": [ + [ + { + "id": "test", + "single_end": true + }, + "test.fastp.html:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "json": [ + [ + { + "id": "test", + "single_end": true + }, + "test.fastp.json:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "log": [ + [ + { + "id": "test", + "single_end": true + }, + "test.fastp.log:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "reads": [ + + ], + "reads_fail": [ + + ], + "reads_merged": [ + + ], + "versions_fastp": [ + [ + "FASTP", + "fastp", + "1.1.0" + ] + ] + } + ], + "timestamp": "2026-03-08T13:07:47.020865265", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "test_fastp_paired_end": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test_R1.fastp.fastq.gz:md5,67b2bbae47f073e05a97a9c2edce23c7", + "test_R2.fastp.fastq.gz:md5,25cbdca08e2083dbd4f0502de6b62f39" + ] + ] + ], + [ + + ], + [ + + ], + { + "versions_fastp": [ + [ + "FASTP", + "fastp", + "1.1.0" + ] + ] + } + ], + "timestamp": "2026-03-08T13:06:15.241140265", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "test_fastp_paired_end_merged_adapterlist": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test_R1.fastp.fastq.gz:md5,54b726a55e992a869fd3fa778afe1672", + "test_R2.fastp.fastq.gz:md5,29d3b33b869f7b63417b8ff07bb128ba" + ] + ] + ], + [ + + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.merged.fastq.gz:md5,c873bb1ab3fa859dcc47306465e749d5" + ] + ], + { + "versions_fastp": [ + [ + "FASTP", + "fastp", + "1.1.0" + ] + ] + } + ], + "timestamp": "2026-03-08T13:06:46.580863399", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "test_fastp_single_end_qc_only": { + "content": [ + [ + + ], + [ + + ], + [ + + ], + [ + + ], + [ + + ], + [ + + ], + { + "versions_fastp": [ + [ + "FASTP", + "fastp", + "1.1.0" + ] + ] + } + ], + "timestamp": "2026-03-08T13:06:52.472110573", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "test_fastp_paired_end_trim_fail": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test_R1.fastp.fastq.gz:md5,6ff32a64c5188b9a9192be1398c262c7", + "test_R2.fastp.fastq.gz:md5,db0cb7c9977e94ac2b4b446ebd017a8a" + ] + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test.paired.fail.fastq.gz:md5,409b687c734cedd7a1fec14d316e1366", + "test_R1.fail.fastq.gz:md5,4f273cf3159c13f79e8ffae12f5661f6", + "test_R2.fail.fastq.gz:md5,f97b9edefb5649aab661fbc9e71fc995" + ] + ] + ], + [ + + ], + { + "versions_fastp": [ + [ + "FASTP", + "fastp", + "1.1.0" + ] + ] + } + ], + "timestamp": "2026-03-08T13:06:33.495837144", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "fastp - stub test_fastp_interleaved": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": true + }, + "test.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "1": [ + [ + { + "id": "test", + "single_end": true + }, + "test.fastp.json:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "2": [ + [ + { + "id": "test", + "single_end": true + }, + "test.fastp.html:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "3": [ + [ + { + "id": "test", + "single_end": true + }, + "test.fastp.log:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "4": [ + + ], + "5": [ + + ], + "6": [ + [ + "FASTP", + "fastp", + "1.1.0" + ] + ], + "html": [ + [ + { + "id": "test", + "single_end": true + }, + "test.fastp.html:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "json": [ + [ + { + "id": "test", + "single_end": true + }, + "test.fastp.json:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "log": [ + [ + { + "id": "test", + "single_end": true + }, + "test.fastp.log:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "reads": [ + [ + { + "id": "test", + "single_end": true + }, + "test.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "reads_fail": [ + + ], + "reads_merged": [ + + ], + "versions_fastp": [ + [ + "FASTP", + "fastp", + "1.1.0" + ] + ] + } + ], + "timestamp": "2026-03-08T13:07:16.687251228", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "test_fastp_single_end - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": true + }, + "test.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "1": [ + [ + { + "id": "test", + "single_end": true + }, + "test.fastp.json:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "2": [ + [ + { + "id": "test", + "single_end": true + }, + "test.fastp.html:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "3": [ + [ + { + "id": "test", + "single_end": true + }, + "test.fastp.log:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "4": [ + + ], + "5": [ + + ], + "6": [ + [ + "FASTP", + "fastp", + "1.1.0" + ] + ], + "html": [ + [ + { + "id": "test", + "single_end": true + }, + "test.fastp.html:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "json": [ + [ + { + "id": "test", + "single_end": true + }, + "test.fastp.json:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "log": [ + [ + { + "id": "test", + "single_end": true + }, + "test.fastp.log:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "reads": [ + [ + { + "id": "test", + "single_end": true + }, + "test.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "reads_fail": [ + + ], + "reads_merged": [ + + ], + "versions_fastp": [ + [ + "FASTP", + "fastp", + "1.1.0" + ] + ] + } + ], + "timestamp": "2026-03-08T13:07:04.595682977", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "test_fastp_paired_end_merged_adapterlist - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test_R1.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test_R2.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ] + ], + "1": [ + [ + { + "id": "test", + "single_end": false + }, + "test.fastp.json:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "2": [ + [ + { + "id": "test", + "single_end": false + }, + "test.fastp.html:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "3": [ + [ + { + "id": "test", + "single_end": false + }, + "test.fastp.log:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "4": [ + + ], + "5": [ + [ + { + "id": "test", + "single_end": false + }, + "test.merged.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "6": [ + [ + "FASTP", + "fastp", + "1.1.0" + ] + ], + "html": [ + [ + { + "id": "test", + "single_end": false + }, + "test.fastp.html:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "json": [ + [ + { + "id": "test", + "single_end": false + }, + "test.fastp.json:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "log": [ + [ + { + "id": "test", + "single_end": false + }, + "test.fastp.log:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "reads": [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test_R1.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test_R2.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ] + ], + "reads_fail": [ + + ], + "reads_merged": [ + [ + { + "id": "test", + "single_end": false + }, + "test.merged.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "versions_fastp": [ + [ + "FASTP", + "fastp", + "1.1.0" + ] + ] + } + ], + "timestamp": "2026-03-08T13:07:41.250046053", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "test_fastp_paired_end_merged - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test_R1.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test_R2.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ] + ], + "1": [ + [ + { + "id": "test", + "single_end": false + }, + "test.fastp.json:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "2": [ + [ + { + "id": "test", + "single_end": false + }, + "test.fastp.html:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "3": [ + [ + { + "id": "test", + "single_end": false + }, + "test.fastp.log:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "4": [ + + ], + "5": [ + [ + { + "id": "test", + "single_end": false + }, + "test.merged.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "6": [ + [ + "FASTP", + "fastp", + "1.1.0" + ] + ], + "html": [ + [ + { + "id": "test", + "single_end": false + }, + "test.fastp.html:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "json": [ + [ + { + "id": "test", + "single_end": false + }, + "test.fastp.json:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "log": [ + [ + { + "id": "test", + "single_end": false + }, + "test.fastp.log:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "reads": [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test_R1.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test_R2.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ] + ], + "reads_fail": [ + + ], + "reads_merged": [ + [ + { + "id": "test", + "single_end": false + }, + "test.merged.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "versions_fastp": [ + [ + "FASTP", + "fastp", + "1.1.0" + ] + ] + } + ], + "timestamp": "2026-03-08T13:07:34.778759397", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "test_fastp_paired_end_merged": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test_R1.fastp.fastq.gz:md5,54b726a55e992a869fd3fa778afe1672", + "test_R2.fastp.fastq.gz:md5,29d3b33b869f7b63417b8ff07bb128ba" + ] + ] + ], + [ + + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.merged.fastq.gz:md5,c873bb1ab3fa859dcc47306465e749d5" + ] + ], + { + "versions_fastp": [ + [ + "FASTP", + "fastp", + "1.1.0" + ] + ] + } + ], + "timestamp": "2026-03-08T13:06:39.842168047", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "test_fastp_paired_end - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test_R1.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test_R2.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ] + ], + "1": [ + [ + { + "id": "test", + "single_end": false + }, + "test.fastp.json:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "2": [ + [ + { + "id": "test", + "single_end": false + }, + "test.fastp.html:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "3": [ + [ + { + "id": "test", + "single_end": false + }, + "test.fastp.log:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "4": [ + + ], + "5": [ + + ], + "6": [ + [ + "FASTP", + "fastp", + "1.1.0" + ] + ], + "html": [ + [ + { + "id": "test", + "single_end": false + }, + "test.fastp.html:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "json": [ + [ + { + "id": "test", + "single_end": false + }, + "test.fastp.json:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "log": [ + [ + { + "id": "test", + "single_end": false + }, + "test.fastp.log:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "reads": [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test_R1.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test_R2.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ] + ], + "reads_fail": [ + + ], + "reads_merged": [ + + ], + "versions_fastp": [ + [ + "FASTP", + "fastp", + "1.1.0" + ] + ] + } + ], + "timestamp": "2026-03-08T13:07:10.810769812", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "test_fastp_single_end": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true + }, + "test.fastp.fastq.gz:md5,67b2bbae47f073e05a97a9c2edce23c7" + ] + ], + [ + + ], + [ + + ], + { + "versions_fastp": [ + [ + "FASTP", + "fastp", + "1.1.0" + ] + ] + } + ], + "timestamp": "2026-03-08T13:06:08.775224044", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "test_fastp_single_end_trim_fail - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": true + }, + "test.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "1": [ + [ + { + "id": "test", + "single_end": true + }, + "test.fastp.json:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "2": [ + [ + { + "id": "test", + "single_end": true + }, + "test.fastp.html:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "3": [ + [ + { + "id": "test", + "single_end": true + }, + "test.fastp.log:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "4": [ + [ + { + "id": "test", + "single_end": true + }, + "test.fail.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "5": [ + + ], + "6": [ + [ + "FASTP", + "fastp", + "1.1.0" + ] + ], + "html": [ + [ + { + "id": "test", + "single_end": true + }, + "test.fastp.html:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "json": [ + [ + { + "id": "test", + "single_end": true + }, + "test.fastp.json:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "log": [ + [ + { + "id": "test", + "single_end": true + }, + "test.fastp.log:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "reads": [ + [ + { + "id": "test", + "single_end": true + }, + "test.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "reads_fail": [ + [ + { + "id": "test", + "single_end": true + }, + "test.fail.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "reads_merged": [ + + ], + "versions_fastp": [ + [ + "FASTP", + "fastp", + "1.1.0" + ] + ] + } + ], + "timestamp": "2026-03-08T13:07:22.515897105", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "test_fastp_paired_end_trim_fail - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test_R1.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test_R2.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ] + ], + "1": [ + [ + { + "id": "test", + "single_end": false + }, + "test.fastp.json:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "2": [ + [ + { + "id": "test", + "single_end": false + }, + "test.fastp.html:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "3": [ + [ + { + "id": "test", + "single_end": false + }, + "test.fastp.log:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "4": [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test.paired.fail.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test_R1.fail.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test_R2.fail.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ] + ], + "5": [ + + ], + "6": [ + [ + "FASTP", + "fastp", + "1.1.0" + ] + ], + "html": [ + [ + { + "id": "test", + "single_end": false + }, + "test.fastp.html:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "json": [ + [ + { + "id": "test", + "single_end": false + }, + "test.fastp.json:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "log": [ + [ + { + "id": "test", + "single_end": false + }, + "test.fastp.log:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "reads": [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test_R1.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test_R2.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ] + ], + "reads_fail": [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test.paired.fail.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test_R1.fail.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test_R2.fail.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ] + ], + "reads_merged": [ + + ], + "versions_fastp": [ + [ + "FASTP", + "fastp", + "1.1.0" + ] + ] + } + ], + "timestamp": "2026-03-08T13:07:28.669851984", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "fastp test_fastp_interleaved": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true + }, + "test.fastp.fastq.gz:md5,217d62dc13a23e92513a1bd8e1bcea39" + ] + ], + { + "versions_fastp": [ + [ + "FASTP", + "fastp", + "1.1.0" + ] + ] + } + ], + "timestamp": "2026-03-08T13:06:21.378126443", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "test_fastp_single_end_trim_fail": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true + }, + "test.fastp.fastq.gz:md5,67b2bbae47f073e05a97a9c2edce23c7" + ] + ], + [ + [ + { + "id": "test", + "single_end": true + }, + "test.fail.fastq.gz:md5,3e4aaadb66a5b8fc9b881bf39c227abd" + ] + ], + [ + + ], + { + "versions_fastp": [ + [ + "FASTP", + "fastp", + "1.1.0" + ] + ] + } + ], + "timestamp": "2026-03-08T13:06:27.223877742", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "test_fastp_paired_end_qc_only": { + "content": [ + [ + + ], + [ + + ], + [ + + ], + [ + + ], + [ + + ], + [ + + ], + { + "versions_fastp": [ + [ + "FASTP", + "fastp", + "1.1.0" + ] + ] + } + ], + "timestamp": "2026-03-08T13:06:58.764409116", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "test_fastp_paired_end_qc_only - stub": { + "content": [ + { + "0": [ + + ], + "1": [ + [ + { + "id": "test", + "single_end": false + }, + "test.fastp.json:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "2": [ + [ + { + "id": "test", + "single_end": false + }, + "test.fastp.html:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "3": [ + [ + { + "id": "test", + "single_end": false + }, + "test.fastp.log:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "4": [ + + ], + "5": [ + + ], + "6": [ + [ + "FASTP", + "fastp", + "1.1.0" + ] + ], + "html": [ + [ + { + "id": "test", + "single_end": false + }, + "test.fastp.html:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "json": [ + [ + { + "id": "test", + "single_end": false + }, + "test.fastp.json:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "log": [ + [ + { + "id": "test", + "single_end": false + }, + "test.fastp.log:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "reads": [ + + ], + "reads_fail": [ + + ], + "reads_merged": [ + + ], + "versions_fastp": [ + [ + "FASTP", + "fastp", + "1.1.0" + ] + ] + } + ], + "timestamp": "2026-03-08T13:07:53.18211408", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + } +} \ No newline at end of file diff --git a/modules/nf-core/fastp/tests/nextflow.interleaved.config b/modules/nf-core/fastp/tests/nextflow.interleaved.config new file mode 100644 index 00000000..4be8dbd2 --- /dev/null +++ b/modules/nf-core/fastp/tests/nextflow.interleaved.config @@ -0,0 +1,5 @@ +process { + withName: FASTP { + ext.args = "--interleaved_in -e 30" + } +} diff --git a/modules/nf-core/fastp/tests/nextflow.save_failed.config b/modules/nf-core/fastp/tests/nextflow.save_failed.config new file mode 100644 index 00000000..53b61b0c --- /dev/null +++ b/modules/nf-core/fastp/tests/nextflow.save_failed.config @@ -0,0 +1,5 @@ +process { + withName: FASTP { + ext.args = "-e 30" + } +} diff --git a/modules/nf-core/fastqc/.conda-lock/linux_amd64-bd-5cb1a2fa2f18c7c2_1.txt b/modules/nf-core/fastqc/.conda-lock/linux_amd64-bd-5cb1a2fa2f18c7c2_1.txt new file mode 100644 index 00000000..7770ccd5 --- /dev/null +++ b/modules/nf-core/fastqc/.conda-lock/linux_amd64-bd-5cb1a2fa2f18c7c2_1.txt @@ -0,0 +1,822 @@ + +version: 6 +environments: +default: +channels: +- url: https://conda.anaconda.org/conda-forge/ +- url: https://conda.anaconda.org/bioconda/ +- url: https://conda.anaconda.org/bioconda/ +options: +pypi-prerelease-mode: if-necessary-or-explicit +packages: +linux-64: +- conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.15.3-hb03c661_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_9.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-hbd8a1cb_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-he90730b_1.conda +- conda: https://conda.anaconda.org/bioconda/noarch/fastqc-0.12.1-hdfd78af_0.tar.bz2 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.17.1-h27c8c51_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 +- conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/giflib-5.2.2-hd590300_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.14-hecca717_2.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-13.2.1-h6083320_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-h33c6efd_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-hb9d3cd8_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.22.2-ha1258a1_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.18-h0c24ade_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.1.0-hdb68285_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libcups-2.3.3-h7a8fb5f_6.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.25-h17f619e_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h7949ede_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.4-hecca717_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h3435931_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.14.3-ha770c72_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype6-2.14.3-h73754d4_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_18.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_18.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.86.4-h6548e54_1.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_18.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h3b78370_2.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.1.2-hb03c661_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.2-hb03c661_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.55-h421ea60_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_18.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.1-h9d88235_1.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.41.3-h5347b49_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.6.0-hd42ef1d_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.17.0-h8a09558_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/openjdk-25.0.2-ha668962_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.1-h35e630c_1.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.47-haa7fec5_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/perl-5.32.1-7_hd590300_perl5.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_1.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/procps-ng-4.0.6-h18c060e_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-hb9d3cd8_1002.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.2-hb9d3cd8_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.6-he73a12e_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.13-he1eb515_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.12-hb03c661_1.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.5-hb03c661_1.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.7-hb03c661_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxfixes-6.0.2-hb03c661_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.8.2-hb9d3cd8_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrandr-1.5.5-hb03c661_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.12-hb9d3cd8_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxt-1.3.1-hb9d3cd8_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.5-hb9d3cd8_3.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda +packages: +- conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda +build_number: 20 +sha256: 1dd3fffd892081df9726d7eb7e0dea6198962ba775bd88842135a4ddb4deb3c9 +md5: a9f577daf3de00bca7c3c76c0ecbd1de +depends: +- __glibc >=2.17,<3.0.a0 +- libgomp >=7.5.0 +constrains: +- openmp_impl <0.0a0 +license: BSD-3-Clause +license_family: BSD +size: 28948 +timestamp: 1770939786096 +- conda: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.15.3-hb03c661_0.conda +sha256: d88aa7ae766cf584e180996e92fef2aa7d8e0a0a5ab1d4d49c32390c1b5fff31 +md5: dcdc58c15961dbf17a0621312b01f5cb +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +license: LGPL-2.1-or-later +license_family: GPL +size: 584660 +timestamp: 1768327524772 +- conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_9.conda +sha256: 0b75d45f0bba3e95dc693336fa51f40ea28c980131fec438afb7ce6118ed05f6 +md5: d2ffd7602c02f2b316fd921d39876885 +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +license: bzip2-1.0.6 +license_family: BSD +size: 260182 +timestamp: 1771350215188 +- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-hbd8a1cb_0.conda +sha256: 67cc7101b36421c5913a1687ef1b99f85b5d6868da3abbf6ec1a4181e79782fc +md5: 4492fd26db29495f0ba23f146cd5638d +depends: +- __unix +license: ISC +size: 147413 +timestamp: 1772006283803 +- conda: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.4-he90730b_1.conda +sha256: 06525fa0c4e4f56e771a3b986d0fdf0f0fc5a3270830ee47e127a5105bde1b9a +md5: bb6c4808bfa69d6f7f6b07e5846ced37 +depends: +- __glibc >=2.17,<3.0.a0 +- fontconfig >=2.15.0,<3.0a0 +- fonts-conda-ecosystem +- icu >=78.1,<79.0a0 +- libexpat >=2.7.3,<3.0a0 +- libfreetype >=2.14.1 +- libfreetype6 >=2.14.1 +- libgcc >=14 +- libglib >=2.86.3,<3.0a0 +- libpng >=1.6.53,<1.7.0a0 +- libstdcxx >=14 +- libxcb >=1.17.0,<2.0a0 +- libzlib >=1.3.1,<2.0a0 +- pixman >=0.46.4,<1.0a0 +- xorg-libice >=1.1.2,<2.0a0 +- xorg-libsm >=1.2.6,<2.0a0 +- xorg-libx11 >=1.8.12,<2.0a0 +- xorg-libxext >=1.3.6,<2.0a0 +- xorg-libxrender >=0.9.12,<0.10.0a0 +license: LGPL-2.1-only or MPL-1.1 +size: 989514 +timestamp: 1766415934926 +- conda: https://conda.anaconda.org/bioconda/noarch/fastqc-0.12.1-hdfd78af_0.tar.bz2 +sha256: 7cc26225d590540ae95cd24940ff42f2da7479dd4cd22ae9ab9298665d06790c +md5: c9f6a4b12229f7331f79c9a00dd6e240 +depends: +- font-ttf-dejavu-sans-mono +- fontconfig +- openjdk >=8.0.144 +- perl +license: GPL >=3 +size: 11664291 +timestamp: 1677946722445 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 +sha256: 58d7f40d2940dd0a8aa28651239adbf5613254df0f75789919c4e6762054403b +md5: 0c96522c6bdaed4b1566d11387caaf45 +license: BSD-3-Clause +license_family: BSD +size: 397370 +timestamp: 1566932522327 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 +sha256: c52a29fdac682c20d252facc50f01e7c2e7ceac52aa9817aaf0bb83f7559ec5c +md5: 34893075a5c9e55cdafac56607368fc6 +license: OFL-1.1 +license_family: Other +size: 96530 +timestamp: 1620479909603 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 +sha256: 00925c8c055a2275614b4d983e1df637245e19058d79fc7dd1a93b8d9fb4b139 +md5: 4d59c254e01d9cde7957100457e2d5fb +license: OFL-1.1 +license_family: Other +size: 700814 +timestamp: 1620479612257 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda +sha256: 2821ec1dc454bd8b9a31d0ed22a7ce22422c0aef163c59f49dfdf915d0f0ca14 +md5: 49023d73832ef61042f6a237cb2687e7 +license: LicenseRef-Ubuntu-Font-Licence-Version-1.0 +license_family: Other +size: 1620504 +timestamp: 1727511233259 +- conda: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.17.1-h27c8c51_0.conda +sha256: aa4a44dba97151221100a637c7f4bde619567afade9c0265f8e1c8eed8d7bd8c +md5: 867127763fbe935bab59815b6e0b7b5c +depends: +- __glibc >=2.17,<3.0.a0 +- libexpat >=2.7.4,<3.0a0 +- libfreetype >=2.14.1 +- libfreetype6 >=2.14.1 +- libgcc >=14 +- libuuid >=2.41.3,<3.0a0 +- libzlib >=1.3.1,<2.0a0 +license: MIT +license_family: MIT +size: 270705 +timestamp: 1771382710863 +- conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 +sha256: a997f2f1921bb9c9d76e6fa2f6b408b7fa549edd349a77639c9fe7a23ea93e61 +md5: fee5683a3f04bd15cbd8318b096a27ab +depends: +- fonts-conda-forge +license: BSD-3-Clause +license_family: BSD +size: 3667 +timestamp: 1566974674465 +- conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda +sha256: 54eea8469786bc2291cc40bca5f46438d3e062a399e8f53f013b6a9f50e98333 +md5: a7970cd949a077b7cb9696379d338681 +depends: +- font-ttf-ubuntu +- font-ttf-inconsolata +- font-ttf-dejavu-sans-mono +- font-ttf-source-code-pro +license: BSD-3-Clause +license_family: BSD +size: 4059 +timestamp: 1762351264405 +- conda: https://conda.anaconda.org/conda-forge/linux-64/giflib-5.2.2-hd590300_0.conda +sha256: aac402a8298f0c0cc528664249170372ef6b37ac39fdc92b40601a6aed1e32ff +md5: 3bf7b9fd5a7136126e0234db4b87c8b6 +depends: +- libgcc-ng >=12 +license: MIT +license_family: MIT +size: 77248 +timestamp: 1712692454246 +- conda: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.14-hecca717_2.conda +sha256: 25ba37da5c39697a77fce2c9a15e48cf0a84f1464ad2aafbe53d8357a9f6cc8c +md5: 2cd94587f3a401ae05e03a6caf09539d +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +- libstdcxx >=14 +license: LGPL-2.0-or-later +license_family: LGPL +size: 99596 +timestamp: 1755102025473 +- conda: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-13.2.1-h6083320_0.conda +sha256: 477f2c553f72165020d3c56740ba354be916c2f0b76fd9f535e83d698277d5ec +md5: 14470902326beee192e33719a2e8bb7f +depends: +- __glibc >=2.17,<3.0.a0 +- cairo >=1.18.4,<2.0a0 +- graphite2 >=1.3.14,<2.0a0 +- icu >=78.3,<79.0a0 +- libexpat >=2.7.4,<3.0a0 +- libfreetype >=2.14.2 +- libfreetype6 >=2.14.2 +- libgcc >=14 +- libglib >=2.86.4,<3.0a0 +- libstdcxx >=14 +- libzlib >=1.3.2,<2.0a0 +license: MIT +license_family: MIT +size: 2384060 +timestamp: 1774276284520 +- conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-h33c6efd_0.conda +sha256: fbf86c4a59c2ed05bbffb2ba25c7ed94f6185ec30ecb691615d42342baa1a16a +md5: c80d8a3b84358cb967fa81e7075fbc8a +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +- libstdcxx >=14 +license: MIT +license_family: MIT +size: 12723451 +timestamp: 1773822285671 +- conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-hb9d3cd8_0.conda +sha256: 0960d06048a7185d3542d850986d807c6e37ca2e644342dd0c72feefcf26c2a4 +md5: b38117a3c920364aff79f870c984b4a3 +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=13 +license: LGPL-2.1-or-later +size: 134088 +timestamp: 1754905959823 +- conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.22.2-ha1258a1_0.conda +sha256: 3e307628ca3527448dd1cb14ad7bb9d04d1d28c7d4c5f97ba196ae984571dd25 +md5: fb53fb07ce46a575c5d004bbc96032c2 +depends: +- __glibc >=2.17,<3.0.a0 +- keyutils >=1.6.3,<2.0a0 +- libedit >=3.1.20250104,<3.2.0a0 +- libedit >=3.1.20250104,<4.0a0 +- libgcc >=14 +- libstdcxx >=14 +- openssl >=3.5.5,<4.0a0 +license: MIT +license_family: MIT +size: 1386730 +timestamp: 1769769569681 +- conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.18-h0c24ade_0.conda +sha256: 836ec4b895352110335b9fdcfa83a8dcdbe6c5fb7c06c4929130600caea91c0a +md5: 6f2e2c8f58160147c4d1c6f4c14cbac4 +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +- libjpeg-turbo >=3.1.2,<4.0a0 +- libtiff >=4.7.1,<4.8.0a0 +license: MIT +license_family: MIT +size: 249959 +timestamp: 1768184673131 +- conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.1.0-hdb68285_0.conda +sha256: f84cb54782f7e9cea95e810ea8fef186e0652d0fa73d3009914fa2c1262594e1 +md5: a752488c68f2e7c456bcbd8f16eec275 +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +- libstdcxx >=14 +license: Apache-2.0 +license_family: Apache +size: 261513 +timestamp: 1773113328888 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libcups-2.3.3-h7a8fb5f_6.conda +sha256: 205c4f19550f3647832ec44e35e6d93c8c206782bdd620c1d7cf66237580ff9c +md5: 49c553b47ff679a6a1e9fc80b9c5a2d4 +depends: +- __glibc >=2.17,<3.0.a0 +- krb5 >=1.22.2,<1.23.0a0 +- libgcc >=14 +- libstdcxx >=14 +- libzlib >=1.3.1,<2.0a0 +license: Apache-2.0 +license_family: Apache +size: 4518030 +timestamp: 1770902209173 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.25-h17f619e_0.conda +sha256: aa8e8c4be9a2e81610ddf574e05b64ee131fab5e0e3693210c9d6d2fba32c680 +md5: 6c77a605a7a689d17d4819c0f8ac9a00 +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +license: MIT +license_family: MIT +size: 73490 +timestamp: 1761979956660 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h7949ede_0.conda +sha256: d789471216e7aba3c184cd054ed61ce3f6dac6f87a50ec69291b9297f8c18724 +md5: c277e0a4d549b03ac1e9d6cbbe3d017b +depends: +- ncurses +- __glibc >=2.17,<3.0.a0 +- libgcc >=13 +- ncurses >=6.5,<7.0a0 +license: BSD-2-Clause +license_family: BSD +size: 134676 +timestamp: 1738479519902 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.4-hecca717_0.conda +sha256: d78f1d3bea8c031d2f032b760f36676d87929b18146351c4464c66b0869df3f5 +md5: e7f7ce06ec24cfcfb9e36d28cf82ba57 +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +constrains: +- expat 2.7.4.* +license: MIT +license_family: MIT +size: 76798 +timestamp: 1771259418166 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h3435931_0.conda +sha256: 31f19b6a88ce40ebc0d5a992c131f57d919f73c0b92cd1617a5bec83f6e961e6 +md5: a360c33a5abe61c07959e449fa1453eb +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +license: MIT +license_family: MIT +size: 58592 +timestamp: 1769456073053 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.14.3-ha770c72_0.conda +sha256: 38f014a7129e644636e46064ecd6b1945e729c2140e21d75bb476af39e692db2 +md5: e289f3d17880e44b633ba911d57a321b +depends: +- libfreetype6 >=2.14.3 +license: GPL-2.0-only OR FTL +size: 8049 +timestamp: 1774298163029 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype6-2.14.3-h73754d4_0.conda +sha256: 16f020f96da79db1863fcdd8f2b8f4f7d52f177dd4c58601e38e9182e91adf1d +md5: fb16b4b69e3f1dcfe79d80db8fd0c55d +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +- libpng >=1.6.55,<1.7.0a0 +- libzlib >=1.3.2,<2.0a0 +constrains: +- freetype >=2.14.3 +license: GPL-2.0-only OR FTL +size: 384575 +timestamp: 1774298162622 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_18.conda +sha256: faf7d2017b4d718951e3a59d081eb09759152f93038479b768e3d612688f83f5 +md5: 0aa00f03f9e39fb9876085dee11a85d4 +depends: +- __glibc >=2.17,<3.0.a0 +- _openmp_mutex >=4.5 +constrains: +- libgcc-ng ==15.2.0=*_18 +- libgomp 15.2.0 he0feb66_18 +license: GPL-3.0-only WITH GCC-exception-3.1 +license_family: GPL +size: 1041788 +timestamp: 1771378212382 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_18.conda +sha256: e318a711400f536c81123e753d4c797a821021fb38970cebfb3f454126016893 +md5: d5e96b1ed75ca01906b3d2469b4ce493 +depends: +- libgcc 15.2.0 he0feb66_18 +license: GPL-3.0-only WITH GCC-exception-3.1 +license_family: GPL +size: 27526 +timestamp: 1771378224552 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.86.4-h6548e54_1.conda +sha256: a27e44168a1240b15659888ce0d9b938ed4bdb49e9ea68a7c1ff27bcea8b55ce +md5: bb26456332b07f68bf3b7622ed71c0da +depends: +- __glibc >=2.17,<3.0.a0 +- libffi >=3.5.2,<3.6.0a0 +- libgcc >=14 +- libiconv >=1.18,<2.0a0 +- libzlib >=1.3.1,<2.0a0 +- pcre2 >=10.47,<10.48.0a0 +constrains: +- glib 2.86.4 *_1 +license: LGPL-2.1-or-later +size: 4398701 +timestamp: 1771863239578 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_18.conda +sha256: 21337ab58e5e0649d869ab168d4e609b033509de22521de1bfed0c031bfc5110 +md5: 239c5e9546c38a1e884d69effcf4c882 +depends: +- __glibc >=2.17,<3.0.a0 +license: GPL-3.0-only WITH GCC-exception-3.1 +license_family: GPL +size: 603262 +timestamp: 1771378117851 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h3b78370_2.conda +sha256: c467851a7312765447155e071752d7bf9bf44d610a5687e32706f480aad2833f +md5: 915f5995e94f60e9a4826e0b0920ee88 +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +license: LGPL-2.1-only +size: 790176 +timestamp: 1754908768807 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.1.2-hb03c661_0.conda +sha256: cc9aba923eea0af8e30e0f94f2ad7156e2984d80d1e8e7fe6be5a1f257f0eb32 +md5: 8397539e3a0bbd1695584fb4f927485a +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +constrains: +- jpeg <0.0.0a +license: IJG AND BSD-3-Clause AND Zlib +size: 633710 +timestamp: 1762094827865 +- conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.2-hb03c661_0.conda +sha256: 755c55ebab181d678c12e49cced893598f2bab22d582fbbf4d8b83c18be207eb +md5: c7c83eecbb72d88b940c249af56c8b17 +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +constrains: +- xz 5.8.2.* +license: 0BSD +size: 113207 +timestamp: 1768752626120 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.55-h421ea60_0.conda +sha256: 36ade759122cdf0f16e2a2562a19746d96cf9c863ffaa812f2f5071ebbe9c03c +md5: 5f13ffc7d30ffec87864e678df9957b4 +depends: +- libgcc >=14 +- __glibc >=2.17,<3.0.a0 +- libzlib >=1.3.1,<2.0a0 +license: zlib-acknowledgement +size: 317669 +timestamp: 1770691470744 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_18.conda +sha256: 78668020064fdaa27e9ab65cd2997e2c837b564ab26ce3bf0e58a2ce1a525c6e +md5: 1b08cd684f34175e4514474793d44bcb +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc 15.2.0 he0feb66_18 +constrains: +- libstdcxx-ng ==15.2.0=*_18 +license: GPL-3.0-only WITH GCC-exception-3.1 +license_family: GPL +size: 5852330 +timestamp: 1771378262446 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.1-h9d88235_1.conda +sha256: e5f8c38625aa6d567809733ae04bb71c161a42e44a9fa8227abe61fa5c60ebe0 +md5: cd5a90476766d53e901500df9215e927 +depends: +- __glibc >=2.17,<3.0.a0 +- lerc >=4.0.0,<5.0a0 +- libdeflate >=1.25,<1.26.0a0 +- libgcc >=14 +- libjpeg-turbo >=3.1.0,<4.0a0 +- liblzma >=5.8.1,<6.0a0 +- libstdcxx >=14 +- libwebp-base >=1.6.0,<2.0a0 +- libzlib >=1.3.1,<2.0a0 +- zstd >=1.5.7,<1.6.0a0 +license: HPND +size: 435273 +timestamp: 1762022005702 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.41.3-h5347b49_0.conda +sha256: 1a7539cfa7df00714e8943e18de0b06cceef6778e420a5ee3a2a145773758aee +md5: db409b7c1720428638e7c0d509d3e1b5 +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +license: BSD-3-Clause +license_family: BSD +size: 40311 +timestamp: 1766271528534 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.6.0-hd42ef1d_0.conda +sha256: 3aed21ab28eddffdaf7f804f49be7a7d701e8f0e46c856d801270b470820a37b +md5: aea31d2e5b1091feca96fcfe945c3cf9 +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +constrains: +- libwebp 1.6.0 +license: BSD-3-Clause +license_family: BSD +size: 429011 +timestamp: 1752159441324 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.17.0-h8a09558_0.conda +sha256: 666c0c431b23c6cec6e492840b176dde533d48b7e6fb8883f5071223433776aa +md5: 92ed62436b625154323d40d5f2f11dd7 +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=13 +- pthread-stubs +- xorg-libxau >=1.0.11,<2.0a0 +- xorg-libxdmcp +license: MIT +license_family: MIT +size: 395888 +timestamp: 1727278577118 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda +sha256: 6ae68e0b86423ef188196fff6207ed0c8195dd84273cb5623b85aa08033a410c +md5: 5aa797f8787fe7a17d1b0821485b5adc +depends: +- libgcc-ng >=12 +license: LGPL-2.1-or-later +size: 100393 +timestamp: 1702724383534 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda +sha256: 55044c403570f0dc26e6364de4dc5368e5f3fc7ff103e867c487e2b5ab2bcda9 +md5: d87ff7921124eccd67248aa483c23fec +depends: +- __glibc >=2.17,<3.0.a0 +constrains: +- zlib 1.3.2 *_2 +license: Zlib +license_family: Other +size: 63629 +timestamp: 1774072609062 +- conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda +sha256: 3fde293232fa3fca98635e1167de6b7c7fda83caf24b9d6c91ec9eefb4f4d586 +md5: 47e340acb35de30501a76c7c799c41d7 +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=13 +license: X11 AND BSD-3-Clause +size: 891641 +timestamp: 1738195959188 +- conda: https://conda.anaconda.org/conda-forge/linux-64/openjdk-25.0.2-ha668962_0.conda +sha256: 3825a4c84676a8a5cc23b397a2911e4efa4a805daf2af764153bd904e142ec41 +md5: a41092b0177362dbe5eb2a18501e86c0 +depends: +- xorg-libx11 +- xorg-libxext +- xorg-libxi +- xorg-libxrender +- xorg-libxtst +- libstdcxx >=14 +- libgcc >=14 +- __glibc >=2.17,<3.0.a0 +- libfreetype >=2.14.1 +- libfreetype6 >=2.14.1 +- xorg-libxrender >=0.9.12,<0.10.0a0 +- libjpeg-turbo >=3.1.2,<4.0a0 +- giflib >=5.2.2,<5.3.0a0 +- xorg-libxrandr >=1.5.5,<2.0a0 +- harfbuzz >=12.3.2 +- fontconfig >=2.17.1,<3.0a0 +- fonts-conda-ecosystem +- xorg-libxtst >=1.2.5,<2.0a0 +- xorg-libxi >=1.8.2,<2.0a0 +- lcms2 >=2.18,<3.0a0 +- alsa-lib >=1.2.15.3,<1.3.0a0 +- libpng >=1.6.55,<1.7.0a0 +- xorg-libxt >=1.3.1,<2.0a0 +- libzlib >=1.3.1,<2.0a0 +- xorg-libxext >=1.3.7,<2.0a0 +- xorg-libx11 >=1.8.13,<2.0a0 +- libcups >=2.3.3,<2.4.0a0 +license: GPL-2.0-or-later WITH Classpath-exception-2.0 +license_family: GPL +size: 122465031 +timestamp: 1771443671180 +- conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.1-h35e630c_1.conda +sha256: 44c877f8af015332a5d12f5ff0fb20ca32f896526a7d0cdb30c769df1144fb5c +md5: f61eb8cd60ff9057122a3d338b99c00f +depends: +- __glibc >=2.17,<3.0.a0 +- ca-certificates +- libgcc >=14 +license: Apache-2.0 +license_family: Apache +size: 3164551 +timestamp: 1769555830639 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.47-haa7fec5_0.conda +sha256: 5e6f7d161356fefd981948bea5139c5aa0436767751a6930cb1ca801ebb113ff +md5: 7a3bff861a6583f1889021facefc08b1 +depends: +- __glibc >=2.17,<3.0.a0 +- bzip2 >=1.0.8,<2.0a0 +- libgcc >=14 +- libzlib >=1.3.1,<2.0a0 +license: BSD-3-Clause +license_family: BSD +size: 1222481 +timestamp: 1763655398280 +- conda: https://conda.anaconda.org/conda-forge/linux-64/perl-5.32.1-7_hd590300_perl5.conda +build_number: 7 +sha256: 9ec32b6936b0e37bcb0ed34f22ec3116e75b3c0964f9f50ecea5f58734ed6ce9 +md5: f2cfec9406850991f4e3d960cc9e3321 +depends: +- libgcc-ng >=12 +- libxcrypt >=4.4.36 +license: GPL-1.0-or-later OR Artistic-1.0-Perl +size: 13344463 +timestamp: 1703310653947 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.46.4-h54a6638_1.conda +sha256: 43d37bc9ca3b257c5dd7bf76a8426addbdec381f6786ff441dc90b1a49143b6a +md5: c01af13bdc553d1a8fbfff6e8db075f0 +depends: +- libgcc >=14 +- libstdcxx >=14 +- libgcc >=14 +- __glibc >=2.17,<3.0.a0 +license: MIT +license_family: MIT +size: 450960 +timestamp: 1754665235234 +- conda: https://conda.anaconda.org/conda-forge/linux-64/procps-ng-4.0.6-h18c060e_0.conda +sha256: 4ce2e1ee31a6217998f78c31ce7dc0a3e0557d9238b51d49dd20c52d467a126d +md5: f2c23a77b25efcad57d377b34bd84941 +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +- ncurses >=6.5,<7.0a0 +license: GPL-2.0-or-later AND LGPL-2.0-or-later +license_family: GPL +size: 593603 +timestamp: 1769710381284 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-hb9d3cd8_1002.conda +sha256: 9c88f8c64590e9567c6c80823f0328e58d3b1efb0e1c539c0315ceca764e0973 +md5: b3c17d95b5a10c6e64a21fa17573e70e +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=13 +license: MIT +license_family: MIT +size: 8252 +timestamp: 1726802366959 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.2-hb9d3cd8_0.conda +sha256: c12396aabb21244c212e488bbdc4abcdef0b7404b15761d9329f5a4a39113c4b +md5: fb901ff28063514abb6046c9ec2c4a45 +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=13 +license: MIT +license_family: MIT +size: 58628 +timestamp: 1734227592886 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.6-he73a12e_0.conda +sha256: 277841c43a39f738927145930ff963c5ce4c4dacf66637a3d95d802a64173250 +md5: 1c74ff8c35dcadf952a16f752ca5aa49 +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=13 +- libuuid >=2.38.1,<3.0a0 +- xorg-libice >=1.1.2,<2.0a0 +license: MIT +license_family: MIT +size: 27590 +timestamp: 1741896361728 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.13-he1eb515_0.conda +sha256: 516d4060139dbb4de49a4dcdc6317a9353fb39ebd47789c14e6fe52de0deee42 +md5: 861fb6ccbc677bb9a9fb2468430b9c6a +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +- libxcb >=1.17.0,<2.0a0 +license: MIT +license_family: MIT +size: 839652 +timestamp: 1770819209719 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.12-hb03c661_1.conda +sha256: 6bc6ab7a90a5d8ac94c7e300cc10beb0500eeba4b99822768ca2f2ef356f731b +md5: b2895afaf55bf96a8c8282a2e47a5de0 +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +license: MIT +license_family: MIT +size: 15321 +timestamp: 1762976464266 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.5-hb03c661_1.conda +sha256: 25d255fb2eef929d21ff660a0c687d38a6d2ccfbcbf0cc6aa738b12af6e9d142 +md5: 1dafce8548e38671bea82e3f5c6ce22f +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +license: MIT +license_family: MIT +size: 20591 +timestamp: 1762976546182 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.7-hb03c661_0.conda +sha256: 79c60fc6acfd3d713d6340d3b4e296836a0f8c51602327b32794625826bd052f +md5: 34e54f03dfea3e7a2dcf1453a85f1085 +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +- xorg-libx11 >=1.8.12,<2.0a0 +license: MIT +license_family: MIT +size: 50326 +timestamp: 1769445253162 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxfixes-6.0.2-hb03c661_0.conda +sha256: 83c4c99d60b8784a611351220452a0a85b080668188dce5dfa394b723d7b64f4 +md5: ba231da7fccf9ea1e768caf5c7099b84 +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +- xorg-libx11 >=1.8.12,<2.0a0 +license: MIT +license_family: MIT +size: 20071 +timestamp: 1759282564045 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.8.2-hb9d3cd8_0.conda +sha256: 1a724b47d98d7880f26da40e45f01728e7638e6ec69f35a3e11f92acd05f9e7a +md5: 17dcc85db3c7886650b8908b183d6876 +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=13 +- xorg-libx11 >=1.8.10,<2.0a0 +- xorg-libxext >=1.3.6,<2.0a0 +- xorg-libxfixes >=6.0.1,<7.0a0 +license: MIT +license_family: MIT +size: 47179 +timestamp: 1727799254088 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrandr-1.5.5-hb03c661_0.conda +sha256: 80ed047a5cb30632c3dc5804c7716131d767089f65877813d4ae855ee5c9d343 +md5: e192019153591938acf7322b6459d36e +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +- xorg-libx11 >=1.8.12,<2.0a0 +- xorg-libxext >=1.3.6,<2.0a0 +- xorg-libxrender >=0.9.12,<0.10.0a0 +license: MIT +license_family: MIT +size: 30456 +timestamp: 1769445263457 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.12-hb9d3cd8_0.conda +sha256: 044c7b3153c224c6cedd4484dd91b389d2d7fd9c776ad0f4a34f099b3389f4a1 +md5: 96d57aba173e878a2089d5638016dc5e +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=13 +- xorg-libx11 >=1.8.10,<2.0a0 +license: MIT +license_family: MIT +size: 33005 +timestamp: 1734229037766 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxt-1.3.1-hb9d3cd8_0.conda +sha256: a8afba4a55b7b530eb5c8ad89737d60d60bc151a03fbef7a2182461256953f0e +md5: 279b0de5f6ba95457190a1c459a64e31 +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=13 +- xorg-libice >=1.1.1,<2.0a0 +- xorg-libsm >=1.2.4,<2.0a0 +- xorg-libx11 >=1.8.10,<2.0a0 +license: MIT +license_family: MIT +size: 379686 +timestamp: 1731860547604 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.5-hb9d3cd8_3.conda +sha256: 752fdaac5d58ed863bbf685bb6f98092fe1a488ea8ebb7ed7b606ccfce08637a +md5: 7bbe9a0cc0df0ac5f5a8ad6d6a11af2f +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=13 +- xorg-libx11 >=1.8.10,<2.0a0 +- xorg-libxext >=1.3.6,<2.0a0 +- xorg-libxi >=1.7.10,<2.0a0 +license: MIT +license_family: MIT +size: 32808 +timestamp: 1727964811275 +- conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda +sha256: 68f0206ca6e98fea941e5717cec780ed2873ffabc0e1ed34428c061e2c6268c7 +md5: 4a13eeac0b5c8e5b8ab496e6c4ddd829 +depends: +- __glibc >=2.17,<3.0.a0 +- libzlib >=1.3.1,<2.0a0 +license: BSD-3-Clause +license_family: BSD +size: 601375 +timestamp: 1764777111296 diff --git a/modules/nf-core/fastqc/.conda-lock/linux_arm64-bd-e455e32f745abe68_1.txt b/modules/nf-core/fastqc/.conda-lock/linux_arm64-bd-e455e32f745abe68_1.txt new file mode 100644 index 00000000..cdc434ca --- /dev/null +++ b/modules/nf-core/fastqc/.conda-lock/linux_arm64-bd-e455e32f745abe68_1.txt @@ -0,0 +1,769 @@ + +version: 6 +environments: +default: +channels: +- url: https://conda.anaconda.org/conda-forge/ +- url: https://conda.anaconda.org/bioconda/ +- url: https://conda.anaconda.org/bioconda/ +options: +pypi-prerelease-mode: if-necessary-or-explicit +packages: +linux-aarch64: +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-20_gnu.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/alsa-lib-1.2.15.3-he30d5cf_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/bzip2-1.0.8-h4777abc_9.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-hbd8a1cb_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cairo-1.18.4-h0b6afd8_1.conda +- conda: https://conda.anaconda.org/bioconda/noarch/fastqc-0.12.1-hdfd78af_0.tar.bz2 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/fontconfig-2.17.1-hba86a56_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 +- conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/giflib-5.2.2-h31becfc_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/graphite2-1.3.14-hfae3067_2.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/harfbuzz-13.2.1-h1134a53_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-78.3-hcab7f73_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/keyutils-1.6.3-h86ecc28_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/krb5-1.22.2-hfd895c2_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lcms2-2.18-h9d5b58d_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lerc-4.1.0-h52b7260_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcups-2.3.3-h4f2b762_6.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdeflate-1.25-h1af38f5_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libedit-3.1.20250104-pl5321h976ea20_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libexpat-2.7.4-hfae3067_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libffi-3.5.2-h376a255_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype-2.14.3-h8af1aa0_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype6-2.14.3-hdae7a39_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-15.2.0-h8acb6b2_18.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-ng-15.2.0-he9431aa_18.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglib-2.86.4-hf53f6bf_1.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-15.2.0-h8acb6b2_18.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libiconv-1.18-h90929bb_2.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libjpeg-turbo-3.1.2-he30d5cf_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblzma-5.8.2-he30d5cf_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpng-1.6.55-h1abf092_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-15.2.0-hef695bb_18.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libtiff-4.7.1-hdb009f0_1.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.41.3-h1022ec0_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libwebp-base-1.6.0-ha2e29f5_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxcb-1.17.0-h262b8f6_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxcrypt-4.4.36-h31becfc_1.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.2-hdc9db2a_2.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.5-ha32ae93_3.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openjdk-25.0.2-h488f50d_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.6.1-h546c87b_1.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pcre2-10.47-hf841c20_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/perl-5.32.1-7_h31becfc_perl5.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pixman-0.46.4-h7ac5ae9_1.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/procps-ng-4.0.6-h1779866_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pthread-stubs-0.4-h86ecc28_1002.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libice-1.1.2-h86ecc28_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libsm-1.2.6-h0808dbd_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libx11-1.8.13-h63a1b12_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxau-1.0.12-he30d5cf_1.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxdmcp-1.1.5-he30d5cf_1.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxext-1.3.7-he30d5cf_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxfixes-6.0.2-he30d5cf_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxi-1.8.2-h57736b2_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxrandr-1.5.5-he30d5cf_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxrender-0.9.12-h86ecc28_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxt-1.3.1-h57736b2_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxtst-1.2.5-h57736b2_3.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.7-h85ac4a6_6.conda +packages: +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-20_gnu.conda +build_number: 20 +sha256: a2527b1d81792a0ccd2c05850960df119c2b6d8f5fdec97f2db7d25dc23b1068 +md5: 468fd3bb9e1f671d36c2cbc677e56f1d +depends: +- libgomp >=7.5.0 +constrains: +- openmp_impl <0.0a0 +license: BSD-3-Clause +license_family: BSD +size: 28926 +timestamp: 1770939656741 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/alsa-lib-1.2.15.3-he30d5cf_0.conda +sha256: ea2233e2db9908c2e5f29d3ca420a546b4583253f4f70abb5494cdd676866d42 +md5: 4a98cbc4ade694520227402ff8880630 +depends: +- libgcc >=14 +license: LGPL-2.1-or-later +license_family: GPL +size: 615729 +timestamp: 1768327548407 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/bzip2-1.0.8-h4777abc_9.conda +sha256: b3495077889dde6bb370938e7db82be545c73e8589696ad0843a32221520ad4c +md5: 840d8fc0d7b3209be93080bc20e07f2d +depends: +- libgcc >=14 +license: bzip2-1.0.6 +license_family: BSD +size: 192412 +timestamp: 1771350241232 +- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-hbd8a1cb_0.conda +sha256: 67cc7101b36421c5913a1687ef1b99f85b5d6868da3abbf6ec1a4181e79782fc +md5: 4492fd26db29495f0ba23f146cd5638d +depends: +- __unix +license: ISC +size: 147413 +timestamp: 1772006283803 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cairo-1.18.4-h0b6afd8_1.conda +sha256: 675db823f3d6fb6bf747fab3b0170ba99b269a07cf6df1e49fff2f9972be9cd1 +md5: 043c13ed3a18396994be9b4fab6572ad +depends: +- fontconfig >=2.15.0,<3.0a0 +- fonts-conda-ecosystem +- icu >=78.1,<79.0a0 +- libexpat >=2.7.3,<3.0a0 +- libfreetype >=2.14.1 +- libfreetype6 >=2.14.1 +- libgcc >=14 +- libglib >=2.86.3,<3.0a0 +- libpng >=1.6.53,<1.7.0a0 +- libstdcxx >=14 +- libxcb >=1.17.0,<2.0a0 +- libzlib >=1.3.1,<2.0a0 +- pixman >=0.46.4,<1.0a0 +- xorg-libice >=1.1.2,<2.0a0 +- xorg-libsm >=1.2.6,<2.0a0 +- xorg-libx11 >=1.8.12,<2.0a0 +- xorg-libxext >=1.3.6,<2.0a0 +- xorg-libxrender >=0.9.12,<0.10.0a0 +license: LGPL-2.1-only or MPL-1.1 +size: 927045 +timestamp: 1766416003626 +- conda: https://conda.anaconda.org/bioconda/noarch/fastqc-0.12.1-hdfd78af_0.tar.bz2 +sha256: 7cc26225d590540ae95cd24940ff42f2da7479dd4cd22ae9ab9298665d06790c +md5: c9f6a4b12229f7331f79c9a00dd6e240 +depends: +- font-ttf-dejavu-sans-mono +- fontconfig +- openjdk >=8.0.144 +- perl +license: GPL >=3 +size: 11664291 +timestamp: 1677946722445 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 +sha256: 58d7f40d2940dd0a8aa28651239adbf5613254df0f75789919c4e6762054403b +md5: 0c96522c6bdaed4b1566d11387caaf45 +license: BSD-3-Clause +license_family: BSD +size: 397370 +timestamp: 1566932522327 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 +sha256: c52a29fdac682c20d252facc50f01e7c2e7ceac52aa9817aaf0bb83f7559ec5c +md5: 34893075a5c9e55cdafac56607368fc6 +license: OFL-1.1 +license_family: Other +size: 96530 +timestamp: 1620479909603 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 +sha256: 00925c8c055a2275614b4d983e1df637245e19058d79fc7dd1a93b8d9fb4b139 +md5: 4d59c254e01d9cde7957100457e2d5fb +license: OFL-1.1 +license_family: Other +size: 700814 +timestamp: 1620479612257 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda +sha256: 2821ec1dc454bd8b9a31d0ed22a7ce22422c0aef163c59f49dfdf915d0f0ca14 +md5: 49023d73832ef61042f6a237cb2687e7 +license: LicenseRef-Ubuntu-Font-Licence-Version-1.0 +license_family: Other +size: 1620504 +timestamp: 1727511233259 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/fontconfig-2.17.1-hba86a56_0.conda +sha256: 835aff8615dd8d8fff377679710ce81b8a2c47b6404e21a92fb349fda193a15c +md5: 0fed1ff55f4938a65907f3ecf62609db +depends: +- libexpat >=2.7.4,<3.0a0 +- libfreetype >=2.14.1 +- libfreetype6 >=2.14.1 +- libgcc >=14 +- libuuid >=2.41.3,<3.0a0 +- libzlib >=1.3.1,<2.0a0 +license: MIT +license_family: MIT +size: 279044 +timestamp: 1771382728182 +- conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2 +sha256: a997f2f1921bb9c9d76e6fa2f6b408b7fa549edd349a77639c9fe7a23ea93e61 +md5: fee5683a3f04bd15cbd8318b096a27ab +depends: +- fonts-conda-forge +license: BSD-3-Clause +license_family: BSD +size: 3667 +timestamp: 1566974674465 +- conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda +sha256: 54eea8469786bc2291cc40bca5f46438d3e062a399e8f53f013b6a9f50e98333 +md5: a7970cd949a077b7cb9696379d338681 +depends: +- font-ttf-ubuntu +- font-ttf-inconsolata +- font-ttf-dejavu-sans-mono +- font-ttf-source-code-pro +license: BSD-3-Clause +license_family: BSD +size: 4059 +timestamp: 1762351264405 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/giflib-5.2.2-h31becfc_0.conda +sha256: a79dc3bd54c4fb1f249942ee2d5b601a76ecf9614774a4cff9af49adfa458db2 +md5: 2f809afaf0ba1ea4135dce158169efac +depends: +- libgcc-ng >=12 +license: MIT +license_family: MIT +size: 82124 +timestamp: 1712692444545 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/graphite2-1.3.14-hfae3067_2.conda +sha256: c9b1781fe329e0b77c5addd741e58600f50bef39321cae75eba72f2f381374b7 +md5: 4aa540e9541cc9d6581ab23ff2043f13 +depends: +- libgcc >=14 +- libstdcxx >=14 +license: LGPL-2.0-or-later +license_family: LGPL +size: 102400 +timestamp: 1755102000043 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/harfbuzz-13.2.1-h1134a53_0.conda +sha256: e22f485fddaaea3ff4b6cae98e0197b9dccd2ed2770337ad6ff38a92afe04e59 +md5: 05d65a2cf410adc331c9ea61f59f1013 +depends: +- cairo >=1.18.4,<2.0a0 +- graphite2 >=1.3.14,<2.0a0 +- icu >=78.3,<79.0a0 +- libexpat >=2.7.4,<3.0a0 +- libfreetype >=2.14.2 +- libfreetype6 >=2.14.2 +- libgcc >=14 +- libglib >=2.86.4,<3.0a0 +- libstdcxx >=14 +- libzlib >=1.3.2,<2.0a0 +license: MIT +license_family: MIT +size: 2345732 +timestamp: 1774281448329 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-78.3-hcab7f73_0.conda +sha256: 49ba6aed2c6b482bb0ba41078057555d29764299bc947b990708617712ef6406 +md5: 546da38c2fa9efacf203e2ad3f987c59 +depends: +- libgcc >=14 +- libstdcxx >=14 +license: MIT +license_family: MIT +size: 12837286 +timestamp: 1773822650615 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/keyutils-1.6.3-h86ecc28_0.conda +sha256: 5ce830ca274b67de11a7075430a72020c1fb7d486161a82839be15c2b84e9988 +md5: e7df0aab10b9cbb73ab2a467ebfaf8c7 +depends: +- libgcc >=13 +license: LGPL-2.1-or-later +size: 129048 +timestamp: 1754906002667 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/krb5-1.22.2-hfd895c2_0.conda +sha256: b53999d888dda53c506b264e8c02b5f5c8e022c781eda0718f007339e6bc90ba +md5: d9ca108bd680ea86a963104b6b3e95ca +depends: +- keyutils >=1.6.3,<2.0a0 +- libedit >=3.1.20250104,<3.2.0a0 +- libedit >=3.1.20250104,<4.0a0 +- libgcc >=14 +- libstdcxx >=14 +- openssl >=3.5.5,<4.0a0 +license: MIT +license_family: MIT +size: 1517436 +timestamp: 1769773395215 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lcms2-2.18-h9d5b58d_0.conda +sha256: 379ef5e91a587137391a6149755d0e929f1a007d2dcb211318ac670a46c8596f +md5: bb960f01525b5e001608afef9d47b79c +depends: +- libgcc >=14 +- libjpeg-turbo >=3.1.2,<4.0a0 +- libtiff >=4.7.1,<4.8.0a0 +license: MIT +license_family: MIT +size: 293039 +timestamp: 1768184778398 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lerc-4.1.0-h52b7260_0.conda +sha256: 8957fd460c1c132c8031f65fd5f56ec3807fd71b7cab2c5e2b0937b13404ab36 +md5: d13423b06447113a90b5b1366d4da171 +depends: +- libgcc >=14 +- libstdcxx >=14 +license: Apache-2.0 +license_family: Apache +size: 240444 +timestamp: 1773114901155 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcups-2.3.3-h4f2b762_6.conda +sha256: 41b04f995c9f63af8c4065a35931e46cbc2fdd6b9bf7e4c19f90d53cbb2bc8e5 +md5: 67828c963b17db7dc989fe5d509ef04a +depends: +- krb5 >=1.22.2,<1.23.0a0 +- libgcc >=14 +- libstdcxx >=14 +- libzlib >=1.3.1,<2.0a0 +license: Apache-2.0 +license_family: Apache +size: 4553739 +timestamp: 1770903929794 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdeflate-1.25-h1af38f5_0.conda +sha256: 48814b73bd462da6eed2e697e30c060ae16af21e9fbed30d64feaf0aad9da392 +md5: a9138815598fe6b91a1d6782ca657b0c +depends: +- libgcc >=14 +license: MIT +license_family: MIT +size: 71117 +timestamp: 1761979776756 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libedit-3.1.20250104-pl5321h976ea20_0.conda +sha256: c0b27546aa3a23d47919226b3a1635fccdb4f24b94e72e206a751b33f46fd8d6 +md5: fb640d776fc92b682a14e001980825b1 +depends: +- ncurses +- libgcc >=13 +- ncurses >=6.5,<7.0a0 +license: BSD-2-Clause +license_family: BSD +size: 148125 +timestamp: 1738479808948 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libexpat-2.7.4-hfae3067_0.conda +sha256: 995ce3ad96d0f4b5ed6296b051a0d7b6377718f325bc0e792fbb96b0e369dad7 +md5: 57f3b3da02a50a1be2a6fe847515417d +depends: +- libgcc >=14 +constrains: +- expat 2.7.4.* +license: MIT +license_family: MIT +size: 76564 +timestamp: 1771259530958 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libffi-3.5.2-h376a255_0.conda +sha256: 3df4c539449aabc3443bbe8c492c01d401eea894603087fca2917aa4e1c2dea9 +md5: 2f364feefb6a7c00423e80dcb12db62a +depends: +- libgcc >=14 +license: MIT +license_family: MIT +size: 55952 +timestamp: 1769456078358 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype-2.14.3-h8af1aa0_0.conda +sha256: 752e4f66283d7deb4c6fd47d88df644d8daa2aaa825a54f3bf350a625190192a +md5: a229e22d4d8814a07702b0919d8e6701 +depends: +- libfreetype6 >=2.14.3 +license: GPL-2.0-only OR FTL +size: 8125 +timestamp: 1774301094057 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype6-2.14.3-hdae7a39_0.conda +sha256: 8e6b27fe4eec4c2fa7b7769a21973734c8dba1de80086fb0213e58375ac09f4c +md5: b99ed99e42dafb27889483b3098cace7 +depends: +- libgcc >=14 +- libpng >=1.6.55,<1.7.0a0 +- libzlib >=1.3.2,<2.0a0 +constrains: +- freetype >=2.14.3 +license: GPL-2.0-only OR FTL +size: 422941 +timestamp: 1774301093473 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-15.2.0-h8acb6b2_18.conda +sha256: 43df385bedc1cab11993c4369e1f3b04b4ca5d0ea16cba6a0e7f18dbc129fcc9 +md5: 552567ea2b61e3a3035759b2fdb3f9a6 +depends: +- _openmp_mutex >=4.5 +constrains: +- libgcc-ng ==15.2.0=*_18 +- libgomp 15.2.0 h8acb6b2_18 +license: GPL-3.0-only WITH GCC-exception-3.1 +license_family: GPL +size: 622900 +timestamp: 1771378128706 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-ng-15.2.0-he9431aa_18.conda +sha256: 83bb0415f59634dccfa8335d4163d1f6db00a27b36666736f9842b650b92cf2f +md5: 4feebd0fbf61075a1a9c2e9b3936c257 +depends: +- libgcc 15.2.0 h8acb6b2_18 +license: GPL-3.0-only WITH GCC-exception-3.1 +license_family: GPL +size: 27568 +timestamp: 1771378136019 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libglib-2.86.4-hf53f6bf_1.conda +sha256: afc503dbd04a5bf2709aa9d8318a03a8c4edb389f661ff280c3494bfef4341ec +md5: 4ac4372fc4d7f20630a91314cdac8afd +depends: +- libffi >=3.5.2,<3.6.0a0 +- libgcc >=14 +- libiconv >=1.18,<2.0a0 +- libzlib >=1.3.1,<2.0a0 +- pcre2 >=10.47,<10.48.0a0 +constrains: +- glib 2.86.4 *_1 +license: LGPL-2.1-or-later +size: 4512186 +timestamp: 1771863220969 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-15.2.0-h8acb6b2_18.conda +sha256: fc716f11a6a8525e27a5d332ef6a689210b0d2a4dd1133edc0f530659aa9faa6 +md5: 4faa39bf919939602e594253bd673958 +license: GPL-3.0-only WITH GCC-exception-3.1 +license_family: GPL +size: 588060 +timestamp: 1771378040807 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libiconv-1.18-h90929bb_2.conda +sha256: 1473451cd282b48d24515795a595801c9b65b567fe399d7e12d50b2d6cdb04d9 +md5: 5a86bf847b9b926f3a4f203339748d78 +depends: +- libgcc >=14 +license: LGPL-2.1-only +size: 791226 +timestamp: 1754910975665 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libjpeg-turbo-3.1.2-he30d5cf_0.conda +sha256: 84064c7c53a64291a585d7215fe95ec42df74203a5bf7615d33d49a3b0f08bb6 +md5: 5109d7f837a3dfdf5c60f60e311b041f +depends: +- libgcc >=14 +constrains: +- jpeg <0.0.0a +license: IJG AND BSD-3-Clause AND Zlib +size: 691818 +timestamp: 1762094728337 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblzma-5.8.2-he30d5cf_0.conda +sha256: 843c46e20519651a3e357a8928352b16c5b94f4cd3d5481acc48be2e93e8f6a3 +md5: 96944e3c92386a12755b94619bae0b35 +depends: +- libgcc >=14 +constrains: +- xz 5.8.2.* +license: 0BSD +size: 125916 +timestamp: 1768754941722 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpng-1.6.55-h1abf092_0.conda +sha256: c7378c6b79de4d571d00ad1caf0a4c19d43c9c94077a761abb6ead44d891f907 +md5: be4088903b94ea297975689b3c3aeb27 +depends: +- libgcc >=14 +- libzlib >=1.3.1,<2.0a0 +license: zlib-acknowledgement +size: 340156 +timestamp: 1770691477245 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-15.2.0-hef695bb_18.conda +sha256: 31fdb9ffafad106a213192d8319b9f810e05abca9c5436b60e507afb35a6bc40 +md5: f56573d05e3b735cb03efeb64a15f388 +depends: +- libgcc 15.2.0 h8acb6b2_18 +constrains: +- libstdcxx-ng ==15.2.0=*_18 +license: GPL-3.0-only WITH GCC-exception-3.1 +license_family: GPL +size: 5541411 +timestamp: 1771378162499 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libtiff-4.7.1-hdb009f0_1.conda +sha256: 7ff79470db39e803e21b8185bc8f19c460666d5557b1378d1b1e857d929c6b39 +md5: 8c6fd84f9c87ac00636007c6131e457d +depends: +- lerc >=4.0.0,<5.0a0 +- libdeflate >=1.25,<1.26.0a0 +- libgcc >=14 +- libjpeg-turbo >=3.1.0,<4.0a0 +- liblzma >=5.8.1,<6.0a0 +- libstdcxx >=14 +- libwebp-base >=1.6.0,<2.0a0 +- libzlib >=1.3.1,<2.0a0 +- zstd >=1.5.7,<1.6.0a0 +license: HPND +size: 488407 +timestamp: 1762022048105 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.41.3-h1022ec0_0.conda +sha256: c37a8e89b700646f3252608f8368e7eb8e2a44886b92776e57ad7601fc402a11 +md5: cf2861212053d05f27ec49c3784ff8bb +depends: +- libgcc >=14 +license: BSD-3-Clause +license_family: BSD +size: 43453 +timestamp: 1766271546875 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libwebp-base-1.6.0-ha2e29f5_0.conda +sha256: b03700a1f741554e8e5712f9b06dd67e76f5301292958cd3cb1ac8c6fdd9ed25 +md5: 24e92d0942c799db387f5c9d7b81f1af +depends: +- libgcc >=14 +constrains: +- libwebp 1.6.0 +license: BSD-3-Clause +license_family: BSD +size: 359496 +timestamp: 1752160685488 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxcb-1.17.0-h262b8f6_0.conda +sha256: 461cab3d5650ac6db73a367de5c8eca50363966e862dcf60181d693236b1ae7b +md5: cd14ee5cca2464a425b1dbfc24d90db2 +depends: +- libgcc >=13 +- pthread-stubs +- xorg-libxau >=1.0.11,<2.0a0 +- xorg-libxdmcp +license: MIT +license_family: MIT +size: 397493 +timestamp: 1727280745441 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxcrypt-4.4.36-h31becfc_1.conda +sha256: 6b46c397644091b8a26a3048636d10b989b1bf266d4be5e9474bf763f828f41f +md5: b4df5d7d4b63579d081fd3a4cf99740e +depends: +- libgcc-ng >=12 +license: LGPL-2.1-or-later +size: 114269 +timestamp: 1702724369203 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.2-hdc9db2a_2.conda +sha256: eb111e32e5a7313a5bf799c7fb2419051fa2fe7eff74769fac8d5a448b309f7f +md5: 502006882cf5461adced436e410046d1 +constrains: +- zlib 1.3.2 *_2 +license: Zlib +license_family: Other +size: 69833 +timestamp: 1774072605429 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.5-ha32ae93_3.conda +sha256: 91cfb655a68b0353b2833521dc919188db3d8a7f4c64bea2c6a7557b24747468 +md5: 182afabe009dc78d8b73100255ee6868 +depends: +- libgcc >=13 +license: X11 AND BSD-3-Clause +size: 926034 +timestamp: 1738196018799 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openjdk-25.0.2-h488f50d_0.conda +sha256: 6fd2c872b275fa5d42a61a4b6dc28a819cde29f9048adb547363597432e0720e +md5: 27fdd5d67e235c20d23b2d66406497d3 +depends: +- xorg-libx11 +- xorg-libxext +- xorg-libxi +- xorg-libxrender +- xorg-libxtst +- libstdcxx >=14 +- libgcc >=14 +- libzlib >=1.3.1,<2.0a0 +- xorg-libxtst >=1.2.5,<2.0a0 +- libpng >=1.6.55,<1.7.0a0 +- alsa-lib >=1.2.15.3,<1.3.0a0 +- xorg-libx11 >=1.8.13,<2.0a0 +- xorg-libxi >=1.8.2,<2.0a0 +- xorg-libxrandr >=1.5.5,<2.0a0 +- lcms2 >=2.18,<3.0a0 +- xorg-libxrender >=0.9.12,<0.10.0a0 +- libcups >=2.3.3,<2.4.0a0 +- libfreetype >=2.14.1 +- libfreetype6 >=2.14.1 +- harfbuzz >=12.3.2 +- xorg-libxext >=1.3.7,<2.0a0 +- giflib >=5.2.2,<5.3.0a0 +- xorg-libxt >=1.3.1,<2.0a0 +- libjpeg-turbo >=3.1.2,<4.0a0 +- fontconfig >=2.17.1,<3.0a0 +- fonts-conda-ecosystem +license: GPL-2.0-or-later WITH Classpath-exception-2.0 +license_family: GPL +size: 106988620 +timestamp: 1771443741031 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.6.1-h546c87b_1.conda +sha256: 7f8048c0e75b2620254218d72b4ae7f14136f1981c5eb555ef61645a9344505f +md5: 25f5885f11e8b1f075bccf4a2da91c60 +depends: +- ca-certificates +- libgcc >=14 +license: Apache-2.0 +license_family: Apache +size: 3692030 +timestamp: 1769557678657 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pcre2-10.47-hf841c20_0.conda +sha256: 04df2cee95feba440387f33f878e9f655521e69f4be33a0cd637f07d3d81f0f9 +md5: 1a30c42e32ca0ea216bd0bfe6f842f0b +depends: +- bzip2 >=1.0.8,<2.0a0 +- libgcc >=14 +- libzlib >=1.3.1,<2.0a0 +license: BSD-3-Clause +license_family: BSD +size: 1166552 +timestamp: 1763655534263 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/perl-5.32.1-7_h31becfc_perl5.conda +build_number: 7 +sha256: d78296134263b5bf476cad838ded65451e7162db756f9997c5d06b08122572ed +md5: 17d019cb2a6c72073c344e98e40dfd61 +depends: +- libgcc-ng >=12 +- libxcrypt >=4.4.36 +license: GPL-1.0-or-later OR Artistic-1.0-Perl +size: 13338804 +timestamp: 1703310557094 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pixman-0.46.4-h7ac5ae9_1.conda +sha256: e6b0846a998f2263629cfeac7bca73565c35af13251969f45d385db537a514e4 +md5: 1587081d537bd4ae77d1c0635d465ba5 +depends: +- libgcc >=14 +- libstdcxx >=14 +- libgcc >=14 +license: MIT +license_family: MIT +size: 357913 +timestamp: 1754665583353 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/procps-ng-4.0.6-h1779866_0.conda +sha256: e9cbcbc94e151ada3d6dc365380aaaf591f65012c16d9a2abaea4b9b90adc402 +md5: ab7288cc39545556d1bc5e71ab2df9a9 +depends: +- libgcc >=14 +- ncurses >=6.5,<7.0a0 +license: GPL-2.0-or-later AND LGPL-2.0-or-later +license_family: GPL +size: 636733 +timestamp: 1769712412683 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pthread-stubs-0.4-h86ecc28_1002.conda +sha256: 977dfb0cb3935d748521dd80262fe7169ab82920afd38ed14b7fee2ea5ec01ba +md5: bb5a90c93e3bac3d5690acf76b4a6386 +depends: +- libgcc >=13 +license: MIT +license_family: MIT +size: 8342 +timestamp: 1726803319942 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libice-1.1.2-h86ecc28_0.conda +sha256: a2ba1864403c7eb4194dacbfe2777acf3d596feae43aada8d1b478617ce45031 +md5: c8d8ec3e00cd0fd8a231789b91a7c5b7 +depends: +- libgcc >=13 +license: MIT +license_family: MIT +size: 60433 +timestamp: 1734229908988 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libsm-1.2.6-h0808dbd_0.conda +sha256: b86a819cd16f90c01d9d81892155126d01555a20dabd5f3091da59d6309afd0a +md5: 2d1409c50882819cb1af2de82e2b7208 +depends: +- libgcc >=13 +- libuuid >=2.38.1,<3.0a0 +- xorg-libice >=1.1.2,<2.0a0 +license: MIT +license_family: MIT +size: 28701 +timestamp: 1741897678254 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libx11-1.8.13-h63a1b12_0.conda +sha256: cf886160e2ff580d77f7eb8ec1a77c41c2c5b05343e329bc35f0ddf40b8d92ab +md5: 22dd10425ef181e80e130db50675d615 +depends: +- libgcc >=14 +- libxcb >=1.17.0,<2.0a0 +license: MIT +license_family: MIT +size: 869058 +timestamp: 1770819244991 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxau-1.0.12-he30d5cf_1.conda +sha256: e9f6e931feeb2f40e1fdbafe41d3b665f1ab6cb39c5880a1fcf9f79a3f3c84a5 +md5: 1c246e1105000c3660558459e2fd6d43 +depends: +- libgcc >=14 +license: MIT +license_family: MIT +size: 16317 +timestamp: 1762977521691 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxdmcp-1.1.5-he30d5cf_1.conda +sha256: 128d72f36bcc8d2b4cdbec07507542e437c7d67f677b7d77b71ed9eeac7d6df1 +md5: bff06dcde4a707339d66d45d96ceb2e2 +depends: +- libgcc >=14 +license: MIT +license_family: MIT +size: 21039 +timestamp: 1762979038025 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxext-1.3.7-he30d5cf_0.conda +sha256: db2188bc0d844d4e9747bac7f6c1d067e390bd769c5ad897c93f1df759dc5dba +md5: fb42b683034619915863d68dd9df03a3 +depends: +- libgcc >=14 +- xorg-libx11 >=1.8.12,<2.0a0 +license: MIT +license_family: MIT +size: 52409 +timestamp: 1769446753771 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxfixes-6.0.2-he30d5cf_0.conda +sha256: 8cb9c88e25c57e47419e98f04f9ef3154ad96b9f858c88c570c7b91216a64d0e +md5: e8b4056544341daf1d415eaeae7a040c +depends: +- libgcc >=14 +- xorg-libx11 >=1.8.12,<2.0a0 +license: MIT +license_family: MIT +size: 20704 +timestamp: 1759284028146 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxi-1.8.2-h57736b2_0.conda +sha256: 7b587407ecb9ccd2bbaf0fb94c5dbdde4d015346df063e9502dc0ce2b682fb5e +md5: eeee3bdb31c6acde2b81ad1b8c287087 +depends: +- libgcc >=13 +- xorg-libx11 >=1.8.9,<2.0a0 +- xorg-libxext >=1.3.6,<2.0a0 +- xorg-libxfixes >=6.0.1,<7.0a0 +license: MIT +license_family: MIT +size: 48197 +timestamp: 1727801059062 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxrandr-1.5.5-he30d5cf_0.conda +sha256: 9f5196665a8d72f4f119c40dcc4bafeb0b540b102cc7b8b299c2abf599e7919f +md5: 1f64c613f0b8d67e9fb0e165d898fb6b +depends: +- libgcc >=14 +- xorg-libx11 >=1.8.12,<2.0a0 +- xorg-libxext >=1.3.6,<2.0a0 +- xorg-libxrender >=0.9.12,<0.10.0a0 +license: MIT +license_family: MIT +size: 31122 +timestamp: 1769445286951 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxrender-0.9.12-h86ecc28_0.conda +sha256: ffd77ee860c9635a28cfda46163dcfe9224dc6248c62404c544ae6b564a0be1f +md5: ae2c2dd0e2d38d249887727db2af960e +depends: +- libgcc >=13 +- xorg-libx11 >=1.8.10,<2.0a0 +license: MIT +license_family: MIT +size: 33649 +timestamp: 1734229123157 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxt-1.3.1-h57736b2_0.conda +sha256: 7c109792b60720809a580612aba7f8eb2a0bd425b9fc078748a9d6ffc97cbfa8 +md5: a9e4852c8e0b68ee783e7240030b696f +depends: +- libgcc >=13 +- xorg-libice >=1.1.1,<2.0a0 +- xorg-libsm >=1.2.4,<2.0a0 +- xorg-libx11 >=1.8.9,<2.0a0 +license: MIT +license_family: MIT +size: 384752 +timestamp: 1731860572314 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxtst-1.2.5-h57736b2_3.conda +sha256: 6eaffce5a34fc0a16a21ddeaefb597e792a263b1b0c387c1ce46b0a967d558e1 +md5: c05698071b5c8e0da82a282085845860 +depends: +- libgcc >=13 +- xorg-libx11 >=1.8.9,<2.0a0 +- xorg-libxext >=1.3.6,<2.0a0 +- xorg-libxi >=1.7.10,<2.0a0 +license: MIT +license_family: MIT +size: 33786 +timestamp: 1727964907993 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.7-h85ac4a6_6.conda +sha256: 569990cf12e46f9df540275146da567d9c618c1e9c7a0bc9d9cfefadaed20b75 +md5: c3655f82dcea2aa179b291e7099c1fcc +depends: +- libzlib >=1.3.1,<2.0a0 +license: BSD-3-Clause +license_family: BSD +size: 614429 +timestamp: 1764777145593 diff --git a/modules/nf-core/fastqc/main.nf b/modules/nf-core/fastqc/main.nf index 23e16634..10851264 100644 --- a/modules/nf-core/fastqc/main.nf +++ b/modules/nf-core/fastqc/main.nf @@ -1,37 +1,40 @@ process FASTQC { tag "${meta.id}" - label 'process_medium' + label 'process_low' conda "${moduleDir}/environment.yml" - container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/fastqc:0.12.1--hdfd78af_0' : - 'biocontainers/fastqc:0.12.1--hdfd78af_0' }" + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container + ? 'https://depot.galaxyproject.org/singularity/fastqc:0.12.1--hdfd78af_0' + : 'quay.io/biocontainers/fastqc:0.12.1--hdfd78af_0'}" input: - tuple val(meta), path(reads) + tuple val(meta), path(reads, stageAs: '?/*') output: tuple val(meta), path("*.html"), emit: html - tuple val(meta), path("*.zip") , emit: zip - path "versions.yml" , emit: versions + tuple val(meta), path("*.zip"), emit: zip + tuple val("${task.process}"), val('fastqc'), eval('fastqc --version | sed "/FastQC v/!d; s/.*v//"'), emit: versions_fastqc, topic: versions when: task.ext.when == null || task.ext.when script: - def args = task.ext.args ?: '' - def prefix = task.ext.prefix ?: "${meta.id}" + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" // Make list of old name and new name pairs to use for renaming in the bash while loop - def old_new_pairs = reads instanceof Path || reads.size() == 1 ? [[ reads, "${prefix}.${reads.extension}" ]] : reads.withIndex().collect { entry, index -> [ entry, "${prefix}_${index + 1}.${entry.extension}" ] } - def rename_to = old_new_pairs*.join(' ').join(' ') - def renamed_files = old_new_pairs.collect{ _old_name, new_name -> new_name }.join(' ') + def old_new_pairs = reads instanceof Path || reads.size() == 1 ? [[reads, "${prefix}.${reads.extension}"]] : reads.withIndex().collect { entry, index -> [entry, "${prefix}_${index + 1}.${entry.extension}"] } + def rename_to = old_new_pairs*.join(' ').join(' ') + def renamed_files = old_new_pairs.collect { _old_name, new_name -> new_name }.join(' ') // The total amount of allocated RAM by FastQC is equal to the number of threads defined (--threads) time the amount of RAM defined (--memory) // https://github.com/s-andrews/FastQC/blob/1faeea0412093224d7f6a07f777fad60a5650795/fastqc#L211-L222 - // Dividing the task.memory by task.cpu allows to stick to requested amount of RAM in the label - def memory_in_mb = task.memory ? task.memory.toUnit('MB') / task.cpus : null + // Dividing the task.memory by task.cpus allows to stick to requested amount of RAM in the label + def memory_in_mb = task.memory + ? (task.memory.toUnit('MB') / task.cpus).intValue() + : null // FastQC memory value allowed range (100 - 10000) def fastqc_memory = memory_in_mb > 10000 ? 10000 : (memory_in_mb < 100 ? 100 : memory_in_mb) + def fastqc_memory_arg = fastqc_memory ? "--memory ${fastqc_memory}" : '' """ printf "%s %s\\n" ${rename_to} | while read old_name new_name; do @@ -41,13 +44,8 @@ process FASTQC { fastqc \\ ${args} \\ --threads ${task.cpus} \\ - --memory ${fastqc_memory} \\ + ${fastqc_memory_arg} \\ ${renamed_files} - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - fastqc: \$( fastqc --version | sed '/FastQC v/!d; s/.*v//' ) - END_VERSIONS """ stub: @@ -55,10 +53,5 @@ process FASTQC { """ touch ${prefix}.html touch ${prefix}.zip - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - fastqc: \$( fastqc --version | sed '/FastQC v/!d; s/.*v//' ) - END_VERSIONS """ } diff --git a/modules/nf-core/fastqc/meta.yml b/modules/nf-core/fastqc/meta.yml index c8d9d025..2f6cfef6 100644 --- a/modules/nf-core/fastqc/meta.yml +++ b/modules/nf-core/fastqc/meta.yml @@ -53,13 +53,28 @@ output: description: FastQC report archive pattern: "*_{fastqc.zip}" ontologies: [] + versions_fastqc: + - - ${task.process}: + type: string + description: The process the versions were collected from + - fastqc: + type: string + description: The tool name + - fastqc --version | sed "/FastQC v/!d; s/.*v//": + type: eval + description: The expression to obtain the version of the tool + +topics: versions: - - versions.yml: - type: file - description: File containing software versions - pattern: "versions.yml" - ontologies: - - edam: http://edamontology.org/format_3750 # YAML + - - ${task.process}: + type: string + description: The process the versions were collected from + - fastqc: + type: string + description: The tool name + - fastqc --version | sed "/FastQC v/!d; s/.*v//": + type: eval + description: The expression to obtain the version of the tool authors: - "@drpatelh" - "@grst" @@ -70,3 +85,27 @@ maintainers: - "@grst" - "@ewels" - "@FelixKrueger" +containers: + docker: + linux/arm64: + name: community.wave.seqera.io/library/fastqc:0.12.1--e455e32f745abe68 + build_id: bd-e455e32f745abe68_1 + scan_id: sc-f102f736465af88c_1 + linux/amd64: + name: community.wave.seqera.io/library/fastqc:0.12.1--5cb1a2fa2f18c7c2 + build_id: bd-5cb1a2fa2f18c7c2_1 + scan_id: sc-0c0466326b6b77d2_1 + singularity: + linux/amd64: + name: oras://community.wave.seqera.io/library/fastqc:0.12.1--5c4bd442468d75dd + build_id: bd-5c4bd442468d75dd_1 + https: https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/f2/f20b021476d1d87658820f971ebecc1e8cdbde0f338eb0d9cea2b0a8fc54a54b/data + linux/arm64: + name: oras://community.wave.seqera.io/library/fastqc:0.12.1--127a87fc06499035 + build_id: bd-127a87fc06499035_1 + https: https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/46/46daf2dad0169afd2ae047c3e50ed3776259f664bf07e5e06b045dc23449e994/data + conda: + linux/amd64: + lock_file: modules/nf-core/fastqc/.conda-lock/linux_amd64-bd-5cb1a2fa2f18c7c2_1.txt + linux/arm64: + lock_file: modules/nf-core/fastqc/.conda-lock/linux_arm64-bd-e455e32f745abe68_1.txt diff --git a/modules/nf-core/fastqc/tests/main.nf.test b/modules/nf-core/fastqc/tests/main.nf.test index e9d79a07..66c44da9 100644 --- a/modules/nf-core/fastqc/tests/main.nf.test +++ b/modules/nf-core/fastqc/tests/main.nf.test @@ -30,7 +30,7 @@ nextflow_process { { assert process.out.html[0][1] ==~ ".*/test_fastqc.html" }, { assert process.out.zip[0][1] ==~ ".*/test_fastqc.zip" }, { assert path(process.out.html[0][1]).text.contains("File typeConventional base calls") }, - { assert snapshot(process.out.versions).match() } + { assert snapshot(sanitizeOutput(process.out).findAll { key, val -> key != 'html' && key != 'zip' }).match() } ) } } @@ -58,7 +58,7 @@ nextflow_process { { assert process.out.zip[0][1][1] ==~ ".*/test_2_fastqc.zip" }, { assert path(process.out.html[0][1][0]).text.contains("File typeConventional base calls") }, { assert path(process.out.html[0][1][1]).text.contains("File typeConventional base calls") }, - { assert snapshot(process.out.versions).match() } + { assert snapshot(sanitizeOutput(process.out).findAll { key, val -> key != 'html' && key != 'zip' }).match() } ) } } @@ -82,7 +82,7 @@ nextflow_process { { assert process.out.html[0][1] ==~ ".*/test_fastqc.html" }, { assert process.out.zip[0][1] ==~ ".*/test_fastqc.zip" }, { assert path(process.out.html[0][1]).text.contains("File typeConventional base calls") }, - { assert snapshot(process.out.versions).match() } + { assert snapshot(sanitizeOutput(process.out).findAll { key, val -> key != 'html' && key != 'zip' }).match() } ) } } @@ -106,7 +106,7 @@ nextflow_process { { assert process.out.html[0][1] ==~ ".*/test_fastqc.html" }, { assert process.out.zip[0][1] ==~ ".*/test_fastqc.zip" }, { assert path(process.out.html[0][1]).text.contains("File typeConventional base calls") }, - { assert snapshot(process.out.versions).match() } + { assert snapshot(sanitizeOutput(process.out).findAll { key, val -> key != 'html' && key != 'zip' }).match() } ) } } @@ -142,7 +142,7 @@ nextflow_process { { assert path(process.out.html[0][1][1]).text.contains("File typeConventional base calls") }, { assert path(process.out.html[0][1][2]).text.contains("File typeConventional base calls") }, { assert path(process.out.html[0][1][3]).text.contains("File typeConventional base calls") }, - { assert snapshot(process.out.versions).match() } + { assert snapshot(sanitizeOutput(process.out).findAll { key, val -> key != 'html' && key != 'zip' }).match() } ) } } @@ -166,7 +166,7 @@ nextflow_process { { assert process.out.html[0][1] ==~ ".*/mysample_fastqc.html" }, { assert process.out.zip[0][1] ==~ ".*/mysample_fastqc.zip" }, { assert path(process.out.html[0][1]).text.contains("File typeConventional base calls") }, - { assert snapshot(process.out.versions).match() } + { assert snapshot(sanitizeOutput(process.out).findAll { key, val -> key != 'html' && key != 'zip' }).match() } ) } } diff --git a/modules/nf-core/fastqc/tests/main.nf.test.snap b/modules/nf-core/fastqc/tests/main.nf.test.snap index d5db3092..c8ee120f 100644 --- a/modules/nf-core/fastqc/tests/main.nf.test.snap +++ b/modules/nf-core/fastqc/tests/main.nf.test.snap @@ -1,15 +1,21 @@ { "sarscov2 custom_prefix": { "content": [ - [ - "versions.yml:md5,e1cc25ca8af856014824abd842e93978" - ] + { + "versions_fastqc": [ + [ + "FASTQC", + "fastqc", + "0.12.1" + ] + ] + } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.3" + "nf-test": "0.9.2", + "nextflow": "25.10.0" }, - "timestamp": "2024-07-22T11:02:16.374038" + "timestamp": "2025-10-28T16:39:14.518503" }, "sarscov2 single-end [fastq] - stub": { "content": [ @@ -33,7 +39,11 @@ ] ], "2": [ - "versions.yml:md5,e1cc25ca8af856014824abd842e93978" + [ + "FASTQC", + "fastqc", + "0.12.1" + ] ], "html": [ [ @@ -44,8 +54,12 @@ "test.html:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], - "versions": [ - "versions.yml:md5,e1cc25ca8af856014824abd842e93978" + "versions_fastqc": [ + [ + "FASTQC", + "fastqc", + "0.12.1" + ] ], "zip": [ [ @@ -59,10 +73,10 @@ } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.3" + "nf-test": "0.9.2", + "nextflow": "25.10.0" }, - "timestamp": "2024-07-22T11:02:24.993809" + "timestamp": "2025-10-28T16:39:19.309008" }, "sarscov2 custom_prefix - stub": { "content": [ @@ -86,7 +100,11 @@ ] ], "2": [ - "versions.yml:md5,e1cc25ca8af856014824abd842e93978" + [ + "FASTQC", + "fastqc", + "0.12.1" + ] ], "html": [ [ @@ -97,8 +115,12 @@ "mysample.html:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], - "versions": [ - "versions.yml:md5,e1cc25ca8af856014824abd842e93978" + "versions_fastqc": [ + [ + "FASTQC", + "fastqc", + "0.12.1" + ] ], "zip": [ [ @@ -112,58 +134,82 @@ } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.3" + "nf-test": "0.9.2", + "nextflow": "25.10.0" }, - "timestamp": "2024-07-22T11:03:10.93942" + "timestamp": "2025-10-28T16:39:44.94888" }, "sarscov2 interleaved [fastq]": { "content": [ - [ - "versions.yml:md5,e1cc25ca8af856014824abd842e93978" - ] + { + "versions_fastqc": [ + [ + "FASTQC", + "fastqc", + "0.12.1" + ] + ] + } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.3" + "nf-test": "0.9.2", + "nextflow": "25.10.0" }, - "timestamp": "2024-07-22T11:01:42.355718" + "timestamp": "2025-10-28T16:38:45.168496" }, "sarscov2 paired-end [bam]": { "content": [ - [ - "versions.yml:md5,e1cc25ca8af856014824abd842e93978" - ] + { + "versions_fastqc": [ + [ + "FASTQC", + "fastqc", + "0.12.1" + ] + ] + } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.3" + "nf-test": "0.9.2", + "nextflow": "25.10.0" }, - "timestamp": "2024-07-22T11:01:53.276274" + "timestamp": "2025-10-28T16:38:53.268919" }, "sarscov2 multiple [fastq]": { "content": [ - [ - "versions.yml:md5,e1cc25ca8af856014824abd842e93978" - ] + { + "versions_fastqc": [ + [ + "FASTQC", + "fastqc", + "0.12.1" + ] + ] + } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.3" + "nf-test": "0.9.2", + "nextflow": "25.10.0" }, - "timestamp": "2024-07-22T11:02:05.527626" + "timestamp": "2025-10-28T16:39:05.050305" }, "sarscov2 paired-end [fastq]": { "content": [ - [ - "versions.yml:md5,e1cc25ca8af856014824abd842e93978" - ] + { + "versions_fastqc": [ + [ + "FASTQC", + "fastqc", + "0.12.1" + ] + ] + } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.3" + "nf-test": "0.9.2", + "nextflow": "25.10.0" }, - "timestamp": "2024-07-22T11:01:31.188871" + "timestamp": "2025-10-28T16:38:37.2373" }, "sarscov2 paired-end [fastq] - stub": { "content": [ @@ -187,7 +233,11 @@ ] ], "2": [ - "versions.yml:md5,e1cc25ca8af856014824abd842e93978" + [ + "FASTQC", + "fastqc", + "0.12.1" + ] ], "html": [ [ @@ -198,8 +248,12 @@ "test.html:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], - "versions": [ - "versions.yml:md5,e1cc25ca8af856014824abd842e93978" + "versions_fastqc": [ + [ + "FASTQC", + "fastqc", + "0.12.1" + ] ], "zip": [ [ @@ -213,10 +267,10 @@ } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.3" + "nf-test": "0.9.2", + "nextflow": "25.10.0" }, - "timestamp": "2024-07-22T11:02:34.273566" + "timestamp": "2025-10-28T16:39:24.450398" }, "sarscov2 multiple [fastq] - stub": { "content": [ @@ -240,7 +294,11 @@ ] ], "2": [ - "versions.yml:md5,e1cc25ca8af856014824abd842e93978" + [ + "FASTQC", + "fastqc", + "0.12.1" + ] ], "html": [ [ @@ -251,8 +309,12 @@ "test.html:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], - "versions": [ - "versions.yml:md5,e1cc25ca8af856014824abd842e93978" + "versions_fastqc": [ + [ + "FASTQC", + "fastqc", + "0.12.1" + ] ], "zip": [ [ @@ -266,22 +328,28 @@ } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.3" + "nf-test": "0.9.2", + "nextflow": "25.10.0" }, - "timestamp": "2024-07-22T11:03:02.304411" + "timestamp": "2025-10-28T16:39:39.758762" }, "sarscov2 single-end [fastq]": { "content": [ - [ - "versions.yml:md5,e1cc25ca8af856014824abd842e93978" - ] + { + "versions_fastqc": [ + [ + "FASTQC", + "fastqc", + "0.12.1" + ] + ] + } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.3" + "nf-test": "0.9.2", + "nextflow": "25.10.0" }, - "timestamp": "2024-07-22T11:01:19.095607" + "timestamp": "2025-10-28T16:38:29.555068" }, "sarscov2 interleaved [fastq] - stub": { "content": [ @@ -305,7 +373,11 @@ ] ], "2": [ - "versions.yml:md5,e1cc25ca8af856014824abd842e93978" + [ + "FASTQC", + "fastqc", + "0.12.1" + ] ], "html": [ [ @@ -316,8 +388,12 @@ "test.html:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], - "versions": [ - "versions.yml:md5,e1cc25ca8af856014824abd842e93978" + "versions_fastqc": [ + [ + "FASTQC", + "fastqc", + "0.12.1" + ] ], "zip": [ [ @@ -331,10 +407,10 @@ } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.3" + "nf-test": "0.9.2", + "nextflow": "25.10.0" }, - "timestamp": "2024-07-22T11:02:44.640184" + "timestamp": "2025-10-28T16:39:29.193136" }, "sarscov2 paired-end [bam] - stub": { "content": [ @@ -358,7 +434,11 @@ ] ], "2": [ - "versions.yml:md5,e1cc25ca8af856014824abd842e93978" + [ + "FASTQC", + "fastqc", + "0.12.1" + ] ], "html": [ [ @@ -369,8 +449,12 @@ "test.html:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], - "versions": [ - "versions.yml:md5,e1cc25ca8af856014824abd842e93978" + "versions_fastqc": [ + [ + "FASTQC", + "fastqc", + "0.12.1" + ] ], "zip": [ [ @@ -384,9 +468,9 @@ } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.3" + "nf-test": "0.9.2", + "nextflow": "25.10.0" }, - "timestamp": "2024-07-22T11:02:53.550742" + "timestamp": "2025-10-28T16:39:34.144919" } } \ No newline at end of file diff --git a/modules/nf-core/gatk4/applybqsr/environment.yml b/modules/nf-core/gatk4/applybqsr/environment.yml new file mode 100644 index 00000000..67e0eb86 --- /dev/null +++ b/modules/nf-core/gatk4/applybqsr/environment.yml @@ -0,0 +1,10 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + # renovate: datasource=conda depName=bioconda/gatk4 + - bioconda::gatk4=4.6.2.0 + # renovate: datasource=conda depName=bioconda/gcnvkernel + - bioconda::gcnvkernel=0.9 diff --git a/modules/nf-core/gatk4/applybqsr/gatk4-applybqsr.diff b/modules/nf-core/gatk4/applybqsr/gatk4-applybqsr.diff new file mode 100644 index 00000000..b047f145 --- /dev/null +++ b/modules/nf-core/gatk4/applybqsr/gatk4-applybqsr.diff @@ -0,0 +1,39 @@ +Changes in component 'nf-core/gatk4/applybqsr' +'modules/nf-core/gatk4/applybqsr/environment.yml' is unchanged +'modules/nf-core/gatk4/applybqsr/meta.yml' is unchanged +Changes in 'gatk4/applybqsr/main.nf': +--- modules/nf-core/gatk4/applybqsr/main.nf ++++ modules/nf-core/gatk4/applybqsr/main.nf +@@ -9,7 +9,7 @@ + + input: + tuple val(meta), path(input), path(input_index), path(bqsr_table), path(intervals) +- path fasta ++ tuple val(meta2), path(fasta) + path fai + path dict + +@@ -23,7 +23,7 @@ + + script: + def args = task.ext.args ?: '' +- def prefix = task.ext.prefix ?: "${meta.id}.cram" ++ def prefix = task.ext.prefix ?: "${meta.id}" + def interval_command = intervals ? "--intervals $intervals" : "" + + def avail_mem = 3072 +@@ -36,7 +36,7 @@ + gatk --java-options "-Xmx${avail_mem}M -XX:-UsePerfData" \\ + ApplyBQSR \\ + --input $input \\ +- --output ${prefix} \\ ++ --output ${prefix}.${input.getExtension()} \\ + --reference $fasta \\ + --bqsr-recal-file $bqsr_table \\ + $interval_command \\ + +'modules/nf-core/gatk4/applybqsr/tests/main.nf.test.snap' is unchanged +'modules/nf-core/gatk4/applybqsr/tests/nextflow_cram.config' is unchanged +'modules/nf-core/gatk4/applybqsr/tests/nextflow.config' is unchanged +'modules/nf-core/gatk4/applybqsr/tests/main.nf.test' is unchanged +************************************************************ diff --git a/modules/nf-core/gatk4/applybqsr/main.nf b/modules/nf-core/gatk4/applybqsr/main.nf new file mode 100644 index 00000000..4829d563 --- /dev/null +++ b/modules/nf-core/gatk4/applybqsr/main.nf @@ -0,0 +1,62 @@ +process GATK4_APPLYBQSR { + tag "${meta.id}" + label 'process_low' + + conda "${moduleDir}/environment.yml" + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/ce/ced519873646379e287bc28738bdf88e975edd39a92e7bc6a34bccd37153d9d0/data' + : 'community.wave.seqera.io/library/gatk4_gcnvkernel:edb12e4f0bf02cd3'}" + + input: + tuple val(meta), path(input), path(input_index), path(bqsr_table), path(intervals) + path fasta + path fai + path dict + + output: + tuple val(meta), path("${prefix}.bam"), emit: bam, optional: true + tuple val(meta), path("${prefix}*bai"), emit: bai, optional: true + tuple val(meta), path("${prefix}.cram"), emit: cram, optional: true + tuple val("${task.process}"), val('gatk4'), eval("gatk --version | sed -n '/GATK.*v/s/.*v//p'"), topic: versions, emit: versions_gatk4 + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + prefix = task.ext.prefix ?: "${meta.id}" + // suffix can only be bam or cram, cram being the sensible default + def suffix = task.ext.suffix && task.ext.suffix == "bam" ? "bam" : "cram" + def interval_command = intervals ? "--intervals ${intervals}" : "" + + def avail_mem = 3072 + if (!task.memory) { + log.info('[GATK ApplyBQSR] Available memory not known - defaulting to 3GB. Specify process memory requirements to change this.') + } + else { + avail_mem = (task.memory.mega * 0.8).intValue() + } + """ + gatk --java-options "-Xmx${avail_mem}M -XX:-UsePerfData" \\ + ApplyBQSR \\ + --input ${input} \\ + --output ${prefix}.${suffix} \\ + --reference ${fasta} \\ + --bqsr-recal-file ${bqsr_table} \\ + ${interval_command} \\ + --tmp-dir . \\ + ${args} + """ + + stub: + prefix = task.ext.prefix ?: "${meta.id}" + def suffix = task.ext.suffix ?: "cram" + """ + touch ${prefix}.${suffix} + if [[ ${suffix} == cram ]]; then + touch ${prefix}.cram.bai + else + touch ${prefix}.bai + fi + """ +} diff --git a/modules/nf-core/gatk4/applybqsr/meta.yml b/modules/nf-core/gatk4/applybqsr/meta.yml new file mode 100644 index 00000000..3f926ce1 --- /dev/null +++ b/modules/nf-core/gatk4/applybqsr/meta.yml @@ -0,0 +1,119 @@ +name: gatk4_applybqsr +description: Apply base quality score recalibration (BQSR) to a bam file +keywords: + - bam + - base quality score recalibration + - bqsr + - cram + - gatk4 +tools: + - gatk4: + description: | + Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools + with a primary focus on variant discovery and genotyping. Its powerful processing engine + and high-performance computing features make it capable of taking on projects of any size. + homepage: https://gatk.broadinstitute.org/hc/en-us + documentation: https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s + doi: 10.1158/1538-7445.AM2017-3590 + licence: ["Apache-2.0"] + identifier: "" +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - input: + type: file + description: BAM/CRAM file from alignment + pattern: "*.{bam,cram}" + ontologies: [] + - input_index: + type: file + description: BAI/CRAI file from alignment + pattern: "*.{bai,crai}" + ontologies: [] + - bqsr_table: + type: file + description: Recalibration table from gatk4_baserecalibrator + ontologies: [] + - intervals: + type: file + description: Bed file with the genomic regions included in the library (optional) + ontologies: [] + - fasta: + type: file + description: The reference fasta file + pattern: "*.fasta" + ontologies: [] + - fai: + type: file + description: Index of reference fasta file + pattern: "*.fasta.fai" + ontologies: [] + - dict: + type: file + description: GATK sequence dictionary + pattern: "*.dict" + ontologies: [] +output: + bam: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - ${prefix}.bam: + type: file + description: Recalibrated BAM file + pattern: "${prefix}.bam" + ontologies: [] + bai: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - ${prefix}*bai: + type: file + description: Recalibrated BAM index file + pattern: "${prefix}*bai" + ontologies: [] + cram: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - ${prefix}.cram: + type: file + description: Recalibrated CRAM file + pattern: "${prefix}.cram" + ontologies: [] + versions_gatk4: + - - ${task.process}: + type: string + description: The name of the process + - gatk4: + type: string + description: The name of the tool + - gatk --version | sed -n '/GATK.*v/s/.*v//p': + type: eval + description: The expression to obtain the version of the tool +topics: + versions: + - - ${task.process}: + type: string + description: The name of the process + - gatk4: + type: string + description: The name of the tool + - gatk --version | sed -n '/GATK.*v/s/.*v//p': + type: eval + description: The expression to obtain the version of the tool +authors: + - "@yocra3" + - "@FriederikeHanssen" +maintainers: + - "@yocra3" + - "@FriederikeHanssen" diff --git a/modules/nf-core/gatk4/applybqsr/tests/main.nf.test b/modules/nf-core/gatk4/applybqsr/tests/main.nf.test new file mode 100644 index 00000000..c785c055 --- /dev/null +++ b/modules/nf-core/gatk4/applybqsr/tests/main.nf.test @@ -0,0 +1,199 @@ +nextflow_process { + + name "Test Process GATK4_APPLYBQSR" + script "../main.nf" + process "GATK4_APPLYBQSR" + config "./nextflow.config" + + tag "modules" + tag "modules_nfcore" + tag "gatk4" + tag "gatk4/applybqsr" + + test("sarscov2 - bam") { + + when { + params { + module_suffix = "bam" + } + + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/gatk/test.baserecalibrator.table', checkIfExists: true), + [] + ] + input[1] = file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true) + input[2] = file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta.fai', checkIfExists: true) + input[3] = file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.dict', checkIfExists: true) + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(process.out).match() } + ) + } + + } + + test("sarscov2 - bam in, cram out") { + + when { + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/gatk/test.baserecalibrator.table', checkIfExists: true), + [] + ] + input[1] = file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true) + input[2] = file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta.fai', checkIfExists: true) + input[3] = file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.dict', checkIfExists: true) + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot( + file(process.out.cram[0][1]).name, + file(process.out.bai[0][1]).name, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() } + ) + } + + } + + test("sarscov2 - bam - intervals") { + + when { + params { + module_suffix = "bam" + } + + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/gatk/test.baserecalibrator.table', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/bed/test.bed', checkIfExists: true) + ] + input[1] = file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true) + input[2] = file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta.fai', checkIfExists: true) + input[3] = file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.dict', checkIfExists: true) + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(process.out).match() } + ) + } + } + + test("sarscov2 - cram") { + when { + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.sorted.cram', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.sorted.cram.crai', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gatk/test.baserecalibrator.table', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.bed', checkIfExists: true) + ] + input[1] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true) + input[2] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.fai', checkIfExists: true) + input[3] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.dict', checkIfExists: true) + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot( + file(process.out.cram[0][1]).name, + file(process.out.bai[0][1]).name, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() } + ) + } + } + + test("sarscov2 - cram - stub") { + + options "-stub" + + when { + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.sorted.cram', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.sorted.cram.crai', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gatk/test.baserecalibrator.table', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.bed', checkIfExists: true) + ] + input[1] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true) + input[2] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.fai', checkIfExists: true) + input[3] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.dict', checkIfExists: true) + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(process.out).match() } + ) + } + } + + test("sarscov2 - bam - stub") { + + options "-stub" + + when { + params { + module_suffix = "bam" + } + + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/gatk/test.baserecalibrator.table', checkIfExists: true), + [] + ] + input[1] = file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true) + input[2] = file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta.fai', checkIfExists: true) + input[3] = file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.dict', checkIfExists: true) + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(process.out).match() } + ) + } + } +} diff --git a/modules/nf-core/gatk4/applybqsr/tests/main.nf.test.snap b/modules/nf-core/gatk4/applybqsr/tests/main.nf.test.snap new file mode 100644 index 00000000..4d12f3f3 --- /dev/null +++ b/modules/nf-core/gatk4/applybqsr/tests/main.nf.test.snap @@ -0,0 +1,294 @@ +{ + "sarscov2 - bam - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + [ + { + "id": "test" + }, + "test.bai:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "2": [ + + ], + "3": [ + [ + "GATK4_APPLYBQSR", + "gatk4", + "4.6.2.0" + ] + ], + "bai": [ + [ + { + "id": "test" + }, + "test.bai:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "bam": [ + [ + { + "id": "test" + }, + "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "cram": [ + + ], + "versions_gatk4": [ + [ + "GATK4_APPLYBQSR", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2026-01-21T14:23:01.065595148" + }, + "sarscov2 - bam - intervals": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.bam:md5,5b98435fb9d0a4834bf851a6434c61ee" + ] + ], + "1": [ + [ + { + "id": "test" + }, + "test.bai:md5,8b6774d1c87a315150286c3b241a2545" + ] + ], + "2": [ + + ], + "3": [ + [ + "GATK4_APPLYBQSR", + "gatk4", + "4.6.2.0" + ] + ], + "bai": [ + [ + { + "id": "test" + }, + "test.bai:md5,8b6774d1c87a315150286c3b241a2545" + ] + ], + "bam": [ + [ + { + "id": "test" + }, + "test.bam:md5,5b98435fb9d0a4834bf851a6434c61ee" + ] + ], + "cram": [ + + ], + "versions_gatk4": [ + [ + "GATK4_APPLYBQSR", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2026-01-21T14:00:33.289614123" + }, + "sarscov2 - cram": { + "content": [ + "test.cram", + "test.cram.bai", + { + "versions_gatk4": [ + [ + "GATK4_APPLYBQSR", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2026-01-21T14:22:34.863325864" + }, + "sarscov2 - bam in, cram out": { + "content": [ + "test.cram", + "test.cram.bai", + { + "versions_gatk4": [ + [ + "GATK4_APPLYBQSR", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2026-01-21T14:22:02.246692153" + }, + "sarscov2 - cram - stub": { + "content": [ + { + "0": [ + + ], + "1": [ + [ + { + "id": "test" + }, + "test.cram.bai:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "2": [ + [ + { + "id": "test" + }, + "test.cram:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "3": [ + [ + "GATK4_APPLYBQSR", + "gatk4", + "4.6.2.0" + ] + ], + "bai": [ + [ + { + "id": "test" + }, + "test.cram.bai:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "bam": [ + + ], + "cram": [ + [ + { + "id": "test" + }, + "test.cram:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions_gatk4": [ + [ + "GATK4_APPLYBQSR", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2026-01-21T14:22:47.71747024" + }, + "sarscov2 - bam": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.bam:md5,e914eacac4dd6a83f91a679e0522a921" + ] + ], + "1": [ + [ + { + "id": "test" + }, + "test.bai:md5,63e3037e38483efdec495797210196a4" + ] + ], + "2": [ + + ], + "3": [ + [ + "GATK4_APPLYBQSR", + "gatk4", + "4.6.2.0" + ] + ], + "bai": [ + [ + { + "id": "test" + }, + "test.bai:md5,63e3037e38483efdec495797210196a4" + ] + ], + "bam": [ + [ + { + "id": "test" + }, + "test.bam:md5,e914eacac4dd6a83f91a679e0522a921" + ] + ], + "cram": [ + + ], + "versions_gatk4": [ + [ + "GATK4_APPLYBQSR", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2026-01-21T14:00:02.109540594" + } +} \ No newline at end of file diff --git a/modules/nf-core/gatk4/applybqsr/tests/nextflow.config b/modules/nf-core/gatk4/applybqsr/tests/nextflow.config new file mode 100644 index 00000000..cfcb3a41 --- /dev/null +++ b/modules/nf-core/gatk4/applybqsr/tests/nextflow.config @@ -0,0 +1,6 @@ +process { + withName: GATK4_APPLYBQSR { + ext.prefix = { "${meta.id}" } + ext.suffix = { params.module_suffix ?: "" } + } +} diff --git a/modules/nf-core/gatk4/baserecalibrator/environment.yml b/modules/nf-core/gatk4/baserecalibrator/environment.yml new file mode 100644 index 00000000..67e0eb86 --- /dev/null +++ b/modules/nf-core/gatk4/baserecalibrator/environment.yml @@ -0,0 +1,10 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + # renovate: datasource=conda depName=bioconda/gatk4 + - bioconda::gatk4=4.6.2.0 + # renovate: datasource=conda depName=bioconda/gcnvkernel + - bioconda::gcnvkernel=0.9 diff --git a/modules/nf-core/gatk4/baserecalibrator/gatk4-baserecalibrator.diff b/modules/nf-core/gatk4/baserecalibrator/gatk4-baserecalibrator.diff new file mode 100644 index 00000000..fb8b0f1f --- /dev/null +++ b/modules/nf-core/gatk4/baserecalibrator/gatk4-baserecalibrator.diff @@ -0,0 +1,14 @@ +Changes in module 'nf-core/gatk4/baserecalibrator' +--- modules/nf-core/gatk4/baserecalibrator/main.nf ++++ modules/nf-core/gatk4/baserecalibrator/main.nf +@@ -9,7 +9,7 @@ + + input: + tuple val(meta), path(input), path(input_index), path(intervals) +- path fasta ++ tuple val(meta2), path(fasta) + path fai + path dict + path known_sites + +************************************************************ diff --git a/modules/nf-core/gatk4/baserecalibrator/main.nf b/modules/nf-core/gatk4/baserecalibrator/main.nf new file mode 100644 index 00000000..d7c5c65d --- /dev/null +++ b/modules/nf-core/gatk4/baserecalibrator/main.nf @@ -0,0 +1,55 @@ +process GATK4_BASERECALIBRATOR { + tag "${meta.id}" + label 'process_low' + + conda "${moduleDir}/environment.yml" + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/ce/ced519873646379e287bc28738bdf88e975edd39a92e7bc6a34bccd37153d9d0/data' + : 'community.wave.seqera.io/library/gatk4_gcnvkernel:edb12e4f0bf02cd3'}" + + input: + tuple val(meta), path(input), path(input_index), path(intervals) + tuple val(meta2), path(fasta) + tuple val(meta3), path(fai) + tuple val(meta4), path(dict) + tuple val(meta5), path(known_sites) + tuple val(meta6), path(known_sites_tbi) + + output: + tuple val(meta), path("*.table"), emit: table + tuple val("${task.process}"), val('gatk4'), eval("gatk --version | sed -n '/GATK.*v/s/.*v//p'"), topic: versions, emit: versions_gatk4 + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + def interval_command = intervals ? "--intervals ${intervals}" : "" + def sites_command = known_sites.collect { vcf -> "--known-sites ${vcf}" }.join(' ') + + def avail_mem = 3072 + if (!task.memory) { + log.info('[GATK BaseRecalibrator] Available memory not known - defaulting to 3GB. Specify process memory requirements to change this.') + } + else { + avail_mem = (task.memory.mega * 0.8).intValue() + } + """ + gatk --java-options "-Xmx${avail_mem}M -XX:-UsePerfData" \\ + BaseRecalibrator \\ + --input ${input} \\ + --output ${prefix}.table \\ + --reference ${fasta} \\ + ${interval_command} \\ + ${sites_command} \\ + --tmp-dir . \\ + ${args} + """ + + stub: + def prefix = task.ext.prefix ?: "${meta.id}" + """ + touch ${prefix}.table + """ +} diff --git a/modules/nf-core/gatk4/baserecalibrator/meta.yml b/modules/nf-core/gatk4/baserecalibrator/meta.yml new file mode 100644 index 00000000..af531336 --- /dev/null +++ b/modules/nf-core/gatk4/baserecalibrator/meta.yml @@ -0,0 +1,131 @@ +name: gatk4_baserecalibrator +description: Generate recalibration table for Base Quality Score Recalibration (BQSR) +keywords: + - base quality score recalibration + - table + - bqsr + - gatk4 + - sort +tools: + - gatk4: + description: | + Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools + with a primary focus on variant discovery and genotyping. Its powerful processing engine + and high-performance computing features make it capable of taking on projects of any size. + homepage: https://gatk.broadinstitute.org/hc/en-us + documentation: https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s + doi: 10.1158/1538-7445.AM2017-3590 + licence: ["Apache-2.0"] + identifier: "" +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - input: + type: file + description: BAM/CRAM file from alignment + pattern: "*.{bam,cram}" + ontologies: [] + - input_index: + type: file + description: BAI/CRAI file from alignment + pattern: "*.{bai,crai}" + ontologies: [] + - intervals: + type: file + description: Bed file with the genomic regions included in the library (optional) + ontologies: [] + - - meta2: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome'] + - fasta: + type: file + description: The reference fasta file + pattern: "*.fasta" + ontologies: [] + - - meta3: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome'] + - fai: + type: file + description: Index of reference fasta file + pattern: "*.fasta.fai" + ontologies: [] + - - meta4: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome'] + - dict: + type: file + description: GATK sequence dictionary + pattern: "*.dict" + ontologies: [] + - - meta5: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome'] + - known_sites: + type: file + description: VCF files with known sites for indels / snps + pattern: "*.vcf.gz" + ontologies: + - edam: http://edamontology.org/format_3989 # GZIP format + - - meta6: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome'] + - known_sites_tbi: + type: file + description: Tabix index of the known_sites + pattern: "*.vcf.gz.tbi" + ontologies: [] +output: + table: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.table": + type: file + description: Recalibration table from BaseRecalibrator + pattern: "*.{table}" + ontologies: [] + versions_gatk4: + - - ${task.process}: + type: string + description: The name of the process + - gatk4: + type: string + description: The name of the tool + - gatk --version | sed -n '/GATK.*v/s/.*v//p': + type: eval + description: The expression to obtain the version of the tool +topics: + versions: + - - ${task.process}: + type: string + description: The name of the process + - gatk4: + type: string + description: The name of the tool + - gatk --version | sed -n '/GATK.*v/s/.*v//p': + type: eval + description: The expression to obtain the version of the tool +authors: + - "@yocra3" + - "@FriederikeHanssen" + - "@maxulysse" +maintainers: + - "@yocra3" + - "@FriederikeHanssen" + - "@maxulysse" diff --git a/modules/nf-core/gatk4/baserecalibrator/tests/main.nf.test b/modules/nf-core/gatk4/baserecalibrator/tests/main.nf.test new file mode 100644 index 00000000..01674047 --- /dev/null +++ b/modules/nf-core/gatk4/baserecalibrator/tests/main.nf.test @@ -0,0 +1,250 @@ +nextflow_process { + + name "Test Process GATK4_BASERECALIBRATOR" + script "../main.nf" + process "GATK4_BASERECALIBRATOR" + + tag "modules" + tag "modules_nfcore" + tag "gatk4" + tag "gatk4/baserecalibrator" + + test("sarscov2 - bam") { + when { + process { + """ + input[0] = Channel.of([ + [ id:'test' ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai', checkIfExists: true), + [] + ]) + input[1] = Channel.of([[ id:'test' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true)]) + input[2] = Channel.of([[ id:'test' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta.fai', checkIfExists: true)]) + input[3] = Channel.of([[ id:'test' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.dict', checkIfExists: true)]) + input[4] = Channel.of([[ id:'test' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test.vcf.gz', checkIfExists: true)]) + input[5] = Channel.of([[ id:'test' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test.vcf.gz.tbi', checkIfExists: true)]) + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(process.out).match() } + ) + } + } + + test("sarscov2 - bam - intervals") { + when { + process { + """ + input[0] = Channel.of([ + [ id:'test' ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/bed/test.bed', checkIfExists: true) + ]) + input[1] = Channel.of([[ id:'test' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true)]) + input[2] = Channel.of([[ id:'test' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta.fai', checkIfExists: true)]) + input[3] = Channel.of([[ id:'test' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.dict', checkIfExists: true)]) + input[4] = Channel.of([[ id:'test' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test.vcf.gz', checkIfExists: true)]) + input[5] = Channel.of([[ id:'test' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test.vcf.gz.tbi', checkIfExists: true)]) + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(process.out).match() } + ) + } + + } + + test("sarscov2 - bam - multiple sites") { + when { + process { + """ + input[0] = Channel.of([ + [ id:'test' ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai', checkIfExists: true), + [] + ]) + input[1] = Channel.of([[ id:'test' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true)]) + input[2] = Channel.of([[ id:'test' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta.fai', checkIfExists: true)]) + input[3] = Channel.of([[ id:'test' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.dict', checkIfExists: true)]) + input[4] = Channel.of([ + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test.vcf.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test2.vcf.gz', checkIfExists: true) + ]) + input[5] = Channel.of([ + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test.vcf.gz.tbi', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test2.vcf.gz.tbi', checkIfExists: true) + ]) + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(process.out).match() } + ) + } + } + + test("homo_sapiens - cram") { + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.sorted.cram', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.sorted.cram.crai', checkIfExists: true), + [] + ]) + input[1] = Channel.of([[ id:'test' ], file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true)]) + input[2] = Channel.of([[ id:'test' ], file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.fai', checkIfExists: true)]) + input[3] = Channel.of([[ id:'test' ], file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.dict', checkIfExists: true)]) + input[4] = Channel.of([[ id:'test' ], file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/vcf/dbsnp_146.hg38.vcf.gz', checkIfExists: true)]) + input[5] = Channel.of([[ id:'test' ], file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/vcf/dbsnp_146.hg38.vcf.gz.tbi', checkIfExists: true)]) + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(process.out).match() } + ) + } + } + + test("sarscov2 - bam - stub") { + options "-stub" + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test' ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai', checkIfExists: true), + [] + ]) + input[1] = Channel.of([[ id:'test' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true)]) + input[2] = Channel.of([[ id:'test' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta.fai', checkIfExists: true)]) + input[3] = Channel.of([[ id:'test' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.dict', checkIfExists: true)]) + input[4] = Channel.of([[ id:'test' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test.vcf.gz', checkIfExists: true)]) + input[5] = Channel.of([[ id:'test' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test.vcf.gz.tbi', checkIfExists: true)]) + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(process.out).match() } + ) + } + } + + test("sarscov2 - bam - intervals - stub") { + options "-stub" + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test' ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/bed/test.bed', checkIfExists: true) + ]) + input[1] = Channel.of([[ id:'test' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true)]) + input[2] = Channel.of([[ id:'test' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta.fai', checkIfExists: true)]) + input[3] = Channel.of([[ id:'test' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.dict', checkIfExists: true)]) + input[4] = Channel.of([[ id:'test' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test.vcf.gz', checkIfExists: true)]) + input[5] = Channel.of([[ id:'test' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test.vcf.gz.tbi', checkIfExists: true)]) + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(process.out).match() } + ) + } + + } + + test("sarscov2 - bam - multiple sites - stub") { + options "-stub" + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test' ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai', checkIfExists: true), + [] + ]) + input[1] = Channel.of([[ id:'test' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true)]) + input[2] = Channel.of([[ id:'test' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta.fai', checkIfExists: true)]) + input[3] = Channel.of([[ id:'test' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.dict', checkIfExists: true)]) + input[4] = Channel.of([ + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test.vcf.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test2.vcf.gz', checkIfExists: true) + ]) + input[5] = Channel.of([ + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test.vcf.gz.tbi', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test2.vcf.gz.tbi', checkIfExists: true) + ]) + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(process.out).match() } + ) + } + } + + test("homo_sapiens - cram - stub") { + options "-stub" + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.sorted.cram', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.sorted.cram.crai', checkIfExists: true), + [] + ]) + input[1] = Channel.of([[ id:'test' ], file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true)]) + input[2] = Channel.of([[ id:'test' ], file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.fai', checkIfExists: true)]) + input[3] = Channel.of([[ id:'test' ], file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.dict', checkIfExists: true)]) + input[4] = Channel.of([[ id:'test' ], file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/vcf/dbsnp_146.hg38.vcf.gz', checkIfExists: true)]) + input[5] = Channel.of([[ id:'test' ], file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/vcf/dbsnp_146.hg38.vcf.gz.tbi', checkIfExists: true)]) + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(process.out).match() } + ) + } + } +} diff --git a/modules/nf-core/gatk4/baserecalibrator/tests/main.nf.test.snap b/modules/nf-core/gatk4/baserecalibrator/tests/main.nf.test.snap new file mode 100644 index 00000000..3f38dd80 --- /dev/null +++ b/modules/nf-core/gatk4/baserecalibrator/tests/main.nf.test.snap @@ -0,0 +1,330 @@ +{ + "homo_sapiens - cram": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.table:md5,35d89a3811aa31711fc9815b6b80e6ec" + ] + ], + "1": [ + [ + "GATK4_BASERECALIBRATOR", + "gatk4", + "4.6.2.0" + ] + ], + "table": [ + [ + { + "id": "test" + }, + "test.table:md5,35d89a3811aa31711fc9815b6b80e6ec" + ] + ], + "versions_gatk4": [ + [ + "GATK4_BASERECALIBRATOR", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2026-01-21T15:30:03.162339291" + }, + "sarscov2 - bam - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.table:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + [ + "GATK4_BASERECALIBRATOR", + "gatk4", + "4.6.2.0" + ] + ], + "table": [ + [ + { + "id": "test" + }, + "test.table:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions_gatk4": [ + [ + "GATK4_BASERECALIBRATOR", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2026-01-21T15:30:16.189687912" + }, + "sarscov2 - bam - intervals": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.table:md5,9ecb5f00a2229291705addc09c0ec231" + ] + ], + "1": [ + [ + "GATK4_BASERECALIBRATOR", + "gatk4", + "4.6.2.0" + ] + ], + "table": [ + [ + { + "id": "test" + }, + "test.table:md5,9ecb5f00a2229291705addc09c0ec231" + ] + ], + "versions_gatk4": [ + [ + "GATK4_BASERECALIBRATOR", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2026-01-21T15:29:29.326290321" + }, + "sarscov2 - bam - multiple sites": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.table:md5,e2e43abdc0c943c1a54dae816d0b9ea7" + ] + ], + "1": [ + [ + "GATK4_BASERECALIBRATOR", + "gatk4", + "4.6.2.0" + ] + ], + "table": [ + [ + { + "id": "test" + }, + "test.table:md5,e2e43abdc0c943c1a54dae816d0b9ea7" + ] + ], + "versions_gatk4": [ + [ + "GATK4_BASERECALIBRATOR", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2026-01-21T15:29:45.46009485" + }, + "homo_sapiens - cram - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.table:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + [ + "GATK4_BASERECALIBRATOR", + "gatk4", + "4.6.2.0" + ] + ], + "table": [ + [ + { + "id": "test" + }, + "test.table:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions_gatk4": [ + [ + "GATK4_BASERECALIBRATOR", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2026-01-21T15:30:54.713622275" + }, + "sarscov2 - bam": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.table:md5,e2e43abdc0c943c1a54dae816d0b9ea7" + ] + ], + "1": [ + [ + "GATK4_BASERECALIBRATOR", + "gatk4", + "4.6.2.0" + ] + ], + "table": [ + [ + { + "id": "test" + }, + "test.table:md5,e2e43abdc0c943c1a54dae816d0b9ea7" + ] + ], + "versions_gatk4": [ + [ + "GATK4_BASERECALIBRATOR", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2026-01-21T15:29:13.31883295" + }, + "sarscov2 - bam - intervals - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.table:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + [ + "GATK4_BASERECALIBRATOR", + "gatk4", + "4.6.2.0" + ] + ], + "table": [ + [ + { + "id": "test" + }, + "test.table:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions_gatk4": [ + [ + "GATK4_BASERECALIBRATOR", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2026-01-21T15:30:29.349106158" + }, + "sarscov2 - bam - multiple sites - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.table:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + [ + "GATK4_BASERECALIBRATOR", + "gatk4", + "4.6.2.0" + ] + ], + "table": [ + [ + { + "id": "test" + }, + "test.table:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions_gatk4": [ + [ + "GATK4_BASERECALIBRATOR", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2026-01-21T15:30:41.454826856" + } +} \ No newline at end of file diff --git a/modules/nf-core/gatk4/bedtointervallist/environment.yml b/modules/nf-core/gatk4/bedtointervallist/environment.yml new file mode 100644 index 00000000..67e0eb86 --- /dev/null +++ b/modules/nf-core/gatk4/bedtointervallist/environment.yml @@ -0,0 +1,10 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + # renovate: datasource=conda depName=bioconda/gatk4 + - bioconda::gatk4=4.6.2.0 + # renovate: datasource=conda depName=bioconda/gcnvkernel + - bioconda::gcnvkernel=0.9 diff --git a/modules/nf-core/gatk4/bedtointervallist/main.nf b/modules/nf-core/gatk4/bedtointervallist/main.nf new file mode 100644 index 00000000..8a86bf71 --- /dev/null +++ b/modules/nf-core/gatk4/bedtointervallist/main.nf @@ -0,0 +1,47 @@ +process GATK4_BEDTOINTERVALLIST { + tag "${meta.id}" + label 'process_single' + + conda "${moduleDir}/environment.yml" + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/ce/ced519873646379e287bc28738bdf88e975edd39a92e7bc6a34bccd37153d9d0/data' + : 'community.wave.seqera.io/library/gatk4_gcnvkernel:edb12e4f0bf02cd3'}" + + input: + tuple val(meta), path(bed) + tuple val(meta2), path(dict) + + output: + tuple val(meta), path('*.interval_list'), emit: interval_list + tuple val("${task.process}"), val('gatk4'), eval("gatk --version | sed -n '/GATK.*v/s/.*v//p'"), topic: versions, emit: versions_gatk4 + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + + def avail_mem = 3072 + if (!task.memory) { + log.info('[GATK BedToIntervalList] Available memory not known - defaulting to 3GB. Specify process memory requirements to change this.') + } + else { + avail_mem = (task.memory.mega * 0.8).intValue() + } + """ + gatk --java-options "-Xmx${avail_mem}M -XX:-UsePerfData" \\ + BedToIntervalList \\ + --INPUT ${bed} \\ + --OUTPUT ${prefix}.interval_list \\ + --SEQUENCE_DICTIONARY ${dict} \\ + --TMP_DIR . \\ + ${args} + """ + + stub: + def prefix = task.ext.prefix ?: "${meta.id}" + """ + touch ${prefix}.interval_list + """ +} diff --git a/modules/nf-core/gatk4/bedtointervallist/meta.yml b/modules/nf-core/gatk4/bedtointervallist/meta.yml new file mode 100644 index 00000000..a3e2f234 --- /dev/null +++ b/modules/nf-core/gatk4/bedtointervallist/meta.yml @@ -0,0 +1,78 @@ +name: gatk4_bedtointervallist +description: Creates an interval list from a bed file and a reference dict +keywords: + - bed + - bedtointervallist + - gatk4 + - interval list +tools: + - gatk4: + description: | + Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools + with a primary focus on variant discovery and genotyping. Its powerful processing engine + and high-performance computing features make it capable of taking on projects of any size. + homepage: https://gatk.broadinstitute.org/hc/en-us + documentation: https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s + doi: 10.1158/1538-7445.AM2017-3590 + licence: ["Apache-2.0"] + identifier: "" +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test'] + - bed: + type: file + description: Input bed file + pattern: "*.bed" + ontologies: [] + - - meta2: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome' ] + - dict: + type: file + description: Sequence dictionary + pattern: "*.dict" + ontologies: [] +output: + interval_list: + - - meta: + type: file + description: gatk interval list file + pattern: "*.interval_list" + ontologies: [] + - "*.interval_list": + type: file + description: gatk interval list file + pattern: "*.interval_list" + ontologies: [] + versions_gatk4: + - - ${task.process}: + type: string + description: The name of the process + - gatk4: + type: string + description: The name of the tool + - gatk --version | sed -n '/GATK.*v/s/.*v//p': + type: eval + description: The expression to obtain the version of the tool +topics: + versions: + - - ${task.process}: + type: string + description: The name of the process + - gatk4: + type: string + description: The name of the tool + - gatk --version | sed -n '/GATK.*v/s/.*v//p': + type: eval + description: The expression to obtain the version of the tool +authors: + - "@kevinmenden" + - "@ramprasadn" +maintainers: + - "@kevinmenden" + - "@ramprasadn" diff --git a/modules/nf-core/gatk4/bedtointervallist/tests/main.nf.test b/modules/nf-core/gatk4/bedtointervallist/tests/main.nf.test new file mode 100644 index 00000000..8d318e90 --- /dev/null +++ b/modules/nf-core/gatk4/bedtointervallist/tests/main.nf.test @@ -0,0 +1,61 @@ +nextflow_process { + + name "Test Process GATK4_BEDTOINTERVALLIST" + script "../main.nf" + process "GATK4_BEDTOINTERVALLIST" + + tag "modules" + tag "modules_nfcore" + tag "gatk4" + tag "gatk4/bedtointervallist" + + test("test_gatk4_bedtointervallist") { + + when { + process { + """ + input[0] = [ [ id:'test' ], // meta map + [file(params.modules_testdata_base_path + + 'genomics/sarscov2/genome/bed/test.bed', checkIfExists: true) ] + ] + input[1] = [ [ id:'dict' ], // meta map + [file(params.modules_testdata_base_path + + 'genomics/sarscov2/genome/genome.dict', checkIfExists: true) ] + ] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(process.out).match() } + ) + } + } + + test("test_gatk4_bedtointervallist - stub") { + options "-stub" + when { + process { + """ + input[0] = [ [ id:'test' ], // meta map + [file(params.modules_testdata_base_path + + 'genomics/sarscov2/genome/bed/test.bed', checkIfExists: true) ] + ] + input[1] = [ [ id:'dict' ], // meta map + [file(params.modules_testdata_base_path + + 'genomics/sarscov2/genome/genome.dict', checkIfExists: true) ] + ] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(process.out).match() } + ) + } + } +} diff --git a/modules/nf-core/gatk4/bedtointervallist/tests/main.nf.test.snap b/modules/nf-core/gatk4/bedtointervallist/tests/main.nf.test.snap new file mode 100644 index 00000000..55442506 --- /dev/null +++ b/modules/nf-core/gatk4/bedtointervallist/tests/main.nf.test.snap @@ -0,0 +1,84 @@ +{ + "test_gatk4_bedtointervallist - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.interval_list:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + [ + "GATK4_BEDTOINTERVALLIST", + "gatk4", + "4.6.2.0" + ] + ], + "interval_list": [ + [ + { + "id": "test" + }, + "test.interval_list:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions_gatk4": [ + [ + "GATK4_BEDTOINTERVALLIST", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2026-01-22T09:52:55.698969373" + }, + "test_gatk4_bedtointervallist": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.interval_list:md5,e51101c9357fb2d59fd30e370eefa39c" + ] + ], + "1": [ + [ + "GATK4_BEDTOINTERVALLIST", + "gatk4", + "4.6.2.0" + ] + ], + "interval_list": [ + [ + { + "id": "test" + }, + "test.interval_list:md5,e51101c9357fb2d59fd30e370eefa39c" + ] + ], + "versions_gatk4": [ + [ + "GATK4_BEDTOINTERVALLIST", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2026-01-22T09:52:46.629308651" + } +} \ No newline at end of file diff --git a/modules/nf-core/gatk4/calculatecontamination/environment.yml b/modules/nf-core/gatk4/calculatecontamination/environment.yml new file mode 100644 index 00000000..67e0eb86 --- /dev/null +++ b/modules/nf-core/gatk4/calculatecontamination/environment.yml @@ -0,0 +1,10 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + # renovate: datasource=conda depName=bioconda/gatk4 + - bioconda::gatk4=4.6.2.0 + # renovate: datasource=conda depName=bioconda/gcnvkernel + - bioconda::gcnvkernel=0.9 diff --git a/modules/nf-core/gatk4/calculatecontamination/main.nf b/modules/nf-core/gatk4/calculatecontamination/main.nf new file mode 100644 index 00000000..2601a69d --- /dev/null +++ b/modules/nf-core/gatk4/calculatecontamination/main.nf @@ -0,0 +1,49 @@ +process GATK4_CALCULATECONTAMINATION { + tag "${meta.id}" + label 'process_low' + + conda "${moduleDir}/environment.yml" + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/ce/ced519873646379e287bc28738bdf88e975edd39a92e7bc6a34bccd37153d9d0/data' + : 'community.wave.seqera.io/library/gatk4_gcnvkernel:edb12e4f0bf02cd3'}" + + input: + tuple val(meta), path(pileup), path(matched) + + output: + tuple val(meta), path('*.contamination.table'), emit: contamination + tuple val(meta), path('*.segmentation.table'), emit: segmentation, optional: true + tuple val("${task.process}"), val('gatk4'), eval("gatk --version | sed -n '/GATK.*v/s/.*v//p'"), topic: versions, emit: versions_gatk4 + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + def matched_command = matched ? "--matched-normal ${matched}" : '' + + def avail_mem = 3072 + if (!task.memory) { + log.info('[GATK CalculateContamination] Available memory not known - defaulting to 3GB. Specify process memory requirements to change this.') + } + else { + avail_mem = (task.memory.mega * 0.8).intValue() + } + """ + gatk --java-options "-Xmx${avail_mem}M -XX:-UsePerfData" \\ + CalculateContamination \\ + --input ${pileup} \\ + --output ${prefix}.contamination.table \\ + ${matched_command} \\ + --tmp-dir . \\ + ${args} + """ + + stub: + prefix = task.ext.prefix ?: "${meta.id}" + """ + touch ${prefix}.contamination.table + touch ${prefix}.segmentation.table + """ +} diff --git a/modules/nf-core/gatk4/calculatecontamination/meta.yml b/modules/nf-core/gatk4/calculatecontamination/meta.yml new file mode 100644 index 00000000..f07240b5 --- /dev/null +++ b/modules/nf-core/gatk4/calculatecontamination/meta.yml @@ -0,0 +1,90 @@ +name: gatk4_calculatecontamination +description: | + Calculates the fraction of reads from cross-sample contamination based on summary tables from getpileupsummaries. Output to be used with filtermutectcalls. +keywords: + - gatk4 + - calculatecontamination + - cross-samplecontamination + - getpileupsummaries + - filtermutectcalls +tools: + - gatk4: + description: | + Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools + with a primary focus on variant discovery and genotyping. Its powerful processing engine + and high-performance computing features make it capable of taking on projects of any size. + homepage: https://gatk.broadinstitute.org/hc/en-us + documentation: https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s + doi: 10.1158/1538-7445.AM2017-3590 + licence: ["Apache-2.0"] + identifier: "" +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test' ] + - pileup: + type: file + description: File containing the pileups summary table of a tumor sample to + be used to calculate contamination. + pattern: "*.pileups.table" + ontologies: [] + - matched: + type: file + description: File containing the pileups summary table of a normal sample that + matches with the tumor sample specified in pileup argument. This is an optional + input. + pattern: "*.pileups.table" + ontologies: [] +output: + contamination: + - - meta: + type: file + description: File containing the contamination table. + pattern: "*.contamination.table" + ontologies: [] + - "*.contamination.table": + type: file + description: File containing the contamination table. + pattern: "*.contamination.table" + ontologies: [] + segmentation: + - - meta: + type: file + description: File containing the contamination table. + pattern: "*.contamination.table" + ontologies: [] + - "*.segmentation.table": + type: file + description: output table containing segmentation of tumor minor allele fractions + (optional) + pattern: "*.segmentation.table" + ontologies: [] + versions_gatk4: + - - ${task.process}: + type: string + description: The name of the process + - gatk4: + type: string + description: The name of the tool + - gatk --version | sed -n '/GATK.*v/s/.*v//p': + type: eval + description: The expression to obtain the version of the tool +topics: + versions: + - - ${task.process}: + type: string + description: The name of the process + - gatk4: + type: string + description: The name of the tool + - gatk --version | sed -n '/GATK.*v/s/.*v//p': + type: eval + description: The expression to obtain the version of the tool +authors: + - "@GCJMackenzie" + - "@maxulysse" +maintainers: + - "@GCJMackenzie" + - "@maxulysse" diff --git a/modules/nf-core/gatk4/calculatecontamination/tests/main.nf.test b/modules/nf-core/gatk4/calculatecontamination/tests/main.nf.test new file mode 100644 index 00000000..6e4bb5ea --- /dev/null +++ b/modules/nf-core/gatk4/calculatecontamination/tests/main.nf.test @@ -0,0 +1,107 @@ +nextflow_process { + + name "Test Process GATK4_CALCULATECONTAMINATION" + script "../main.nf" + process "GATK4_CALCULATECONTAMINATION" + + tag "modules" + tag "modules_nfcore" + tag "gatk4" + tag "gatk4/calculatecontamination" + + test("human - pileup-table") { + + when { + process { + """ + input[0] = [ [ id:'test' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gatk/test2.pileups.table', checkIfExists: true), + [] ] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot( + file(process.out.contamination.get(0).get(1)).readLines()[0], + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() } + ) + } + } + + test("human - pileup-table - matched-pair") { + + when { + process { + """ + input[0] = [ [ id:'test' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gatk/test2.pileups.table', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gatk/test.pileups.table', checkIfExists: true) + ] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot( + file(process.out.contamination.get(0).get(1)).readLines()[0], + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() } + ) + } + } + + test("human - pileup-table - segmentation") { + + config "./nextflow.config" + + when { + process { + """ + input[0] = [ [ id:'test' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gatk/test2.pileups.table', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gatk/test.pileups.table', checkIfExists: true) + ] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot( + file(process.out.contamination.get(0).get(1)).readLines()[0], + file(process.out.segmentation.get(0).get(1)).readLines()[0], + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() } + ) + } + } + + test("human - pileup-table - stub") { + + options "-stub" + + when { + process { + """ + input[0] = [ [ id:'test' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gatk/test2.pileups.table', checkIfExists: true), + [] ] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(process.out).match() } + ) + } + } +} diff --git a/modules/nf-core/gatk4/calculatecontamination/tests/main.nf.test.snap b/modules/nf-core/gatk4/calculatecontamination/tests/main.nf.test.snap new file mode 100644 index 00000000..33077c56 --- /dev/null +++ b/modules/nf-core/gatk4/calculatecontamination/tests/main.nf.test.snap @@ -0,0 +1,117 @@ +{ + "human - pileup-table": { + "content": [ + "sample\tcontamination\terror", + { + "versions_gatk4": [ + [ + "GATK4_CALCULATECONTAMINATION", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2026-01-21T15:50:57.391538082" + }, + "human - pileup-table - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.contamination.table:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + [ + { + "id": "test" + }, + "test.segmentation.table:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "2": [ + [ + "GATK4_CALCULATECONTAMINATION", + "gatk4", + "4.6.2.0" + ] + ], + "contamination": [ + [ + { + "id": "test" + }, + "test.contamination.table:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "segmentation": [ + [ + { + "id": "test" + }, + "test.segmentation.table:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions_gatk4": [ + [ + "GATK4_CALCULATECONTAMINATION", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2026-01-21T15:51:38.901543934" + }, + "human - pileup-table - matched-pair": { + "content": [ + "sample\tcontamination\terror", + { + "versions_gatk4": [ + [ + "GATK4_CALCULATECONTAMINATION", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2026-01-21T15:51:12.172307513" + }, + "human - pileup-table - segmentation": { + "content": [ + "sample\tcontamination\terror", + "#SAMPLE=tumour", + { + "versions_gatk4": [ + [ + "GATK4_CALCULATECONTAMINATION", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2026-01-21T15:51:27.280277084" + } +} \ No newline at end of file diff --git a/modules/nf-core/gatk4/calculatecontamination/tests/nextflow.config b/modules/nf-core/gatk4/calculatecontamination/tests/nextflow.config new file mode 100644 index 00000000..db836b7f --- /dev/null +++ b/modules/nf-core/gatk4/calculatecontamination/tests/nextflow.config @@ -0,0 +1,5 @@ +process { + withName: GATK4_CALCULATECONTAMINATION { + ext.args = { "--tumor-segmentation ${meta.id}.segmentation.table" } + } +} diff --git a/modules/nf-core/gatk4/createsequencedictionary/environment.yml b/modules/nf-core/gatk4/createsequencedictionary/environment.yml new file mode 100644 index 00000000..67e0eb86 --- /dev/null +++ b/modules/nf-core/gatk4/createsequencedictionary/environment.yml @@ -0,0 +1,10 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + # renovate: datasource=conda depName=bioconda/gatk4 + - bioconda::gatk4=4.6.2.0 + # renovate: datasource=conda depName=bioconda/gcnvkernel + - bioconda::gcnvkernel=0.9 diff --git a/modules/nf-core/gatk4/createsequencedictionary/main.nf b/modules/nf-core/gatk4/createsequencedictionary/main.nf new file mode 100644 index 00000000..98ad30ce --- /dev/null +++ b/modules/nf-core/gatk4/createsequencedictionary/main.nf @@ -0,0 +1,43 @@ +process GATK4_CREATESEQUENCEDICTIONARY { + tag "${fasta}" + label 'process_single' + + conda "${moduleDir}/environment.yml" + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/ce/ced519873646379e287bc28738bdf88e975edd39a92e7bc6a34bccd37153d9d0/data' + : 'community.wave.seqera.io/library/gatk4_gcnvkernel:edb12e4f0bf02cd3'}" + + input: + tuple val(meta), path(fasta) + + output: + tuple val(meta), path('*.dict'), emit: dict + tuple val("${task.process}"), val('gatk4'), eval("gatk --version | sed -n '/GATK.*v/s/.*v//p'"), topic: versions, emit: versions_gatk4 + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + + def avail_mem = 6144 + if (!task.memory) { + log.info('[GATK CreateSequenceDictionary] Available memory not known - defaulting to 6GB. Specify process memory requirements to change this.') + } + else { + avail_mem = (task.memory.mega * 0.8).intValue() + } + """ + gatk --java-options "-Xmx${avail_mem}M -XX:-UsePerfData" \\ + CreateSequenceDictionary \\ + --REFERENCE ${fasta} \\ + --URI ${fasta} \\ + --TMP_DIR . \\ + ${args} + """ + + stub: + """ + touch ${fasta.baseName}.dict + """ +} diff --git a/modules/nf-core/gatk4/createsequencedictionary/meta.yml b/modules/nf-core/gatk4/createsequencedictionary/meta.yml new file mode 100644 index 00000000..5fdfcc20 --- /dev/null +++ b/modules/nf-core/gatk4/createsequencedictionary/meta.yml @@ -0,0 +1,68 @@ +name: gatk4_createsequencedictionary +description: Creates a sequence dictionary for a reference sequence +keywords: + - createsequencedictionary + - dictionary + - fasta + - gatk4 +tools: + - gatk: + description: | + Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools + with a primary focus on variant discovery and genotyping. Its powerful processing engine + and high-performance computing features make it capable of taking on projects of any size. + homepage: https://gatk.broadinstitute.org/hc/en-us + documentation: https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s + doi: 10.1158/1538-7445.AM2017-3590 + licence: ["Apache-2.0"] + identifier: "" +input: + - - meta: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome' ] + - fasta: + type: file + description: Input fasta file + pattern: "*.{fasta,fa}" + ontologies: [] +output: + dict: + - - meta: + type: file + description: gatk dictionary file + pattern: "*.{dict}" + ontologies: [] + - "*.dict": + type: file + description: gatk dictionary file + pattern: "*.{dict}" + ontologies: [] + versions_gatk4: + - - ${task.process}: + type: string + description: The name of the process + - gatk4: + type: string + description: The name of the tool + - gatk --version | sed -n '/GATK.*v/s/.*v//p': + type: eval + description: The expression to obtain the version of the tool +topics: + versions: + - - ${task.process}: + type: string + description: The name of the process + - gatk4: + type: string + description: The name of the tool + - gatk --version | sed -n '/GATK.*v/s/.*v//p': + type: eval + description: The expression to obtain the version of the tool +authors: + - "@maxulysse" + - "@ramprasadn" +maintainers: + - "@maxulysse" + - "@ramprasadn" diff --git a/modules/nf-core/gatk4/createsequencedictionary/tests/main.nf.test b/modules/nf-core/gatk4/createsequencedictionary/tests/main.nf.test new file mode 100644 index 00000000..076eb0d8 --- /dev/null +++ b/modules/nf-core/gatk4/createsequencedictionary/tests/main.nf.test @@ -0,0 +1,53 @@ +nextflow_process { + + name "Test Process GATK4_CREATESEQUENCEDICTIONARY" + script "../main.nf" + process "GATK4_CREATESEQUENCEDICTIONARY" + + tag "modules" + tag "modules_nfcore" + tag "gatk4" + tag "gatk4/createsequencedictionary" + + test("sarscov2 - fasta") { + + when { + process { + """ + input[0] = [ [ id:'test' ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true) + ] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(process.out).match() } + ) + } + } + + test("sarscov2 - fasta - stub") { + + options "-stub" + + when { + process { + """ + input[0] = [ [ id:'test' ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true) + ] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(process.out).match() } + ) + } + } +} diff --git a/modules/nf-core/gatk4/createsequencedictionary/tests/main.nf.test.snap b/modules/nf-core/gatk4/createsequencedictionary/tests/main.nf.test.snap new file mode 100644 index 00000000..357cd58e --- /dev/null +++ b/modules/nf-core/gatk4/createsequencedictionary/tests/main.nf.test.snap @@ -0,0 +1,84 @@ +{ + "sarscov2 - fasta - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "genome.dict:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + [ + "GATK4_CREATESEQUENCEDICTIONARY", + "gatk4", + "4.6.2.0" + ] + ], + "dict": [ + [ + { + "id": "test" + }, + "genome.dict:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions_gatk4": [ + [ + "GATK4_CREATESEQUENCEDICTIONARY", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2026-01-21T16:01:50.146061464" + }, + "sarscov2 - fasta": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "genome.dict:md5,7362679f176e0f52add03c08f457f646" + ] + ], + "1": [ + [ + "GATK4_CREATESEQUENCEDICTIONARY", + "gatk4", + "4.6.2.0" + ] + ], + "dict": [ + [ + { + "id": "test" + }, + "genome.dict:md5,7362679f176e0f52add03c08f457f646" + ] + ], + "versions_gatk4": [ + [ + "GATK4_CREATESEQUENCEDICTIONARY", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2026-01-21T16:01:38.694508582" + } +} \ No newline at end of file diff --git a/modules/nf-core/gatk4/filtermutectcalls/environment.yml b/modules/nf-core/gatk4/filtermutectcalls/environment.yml new file mode 100644 index 00000000..67e0eb86 --- /dev/null +++ b/modules/nf-core/gatk4/filtermutectcalls/environment.yml @@ -0,0 +1,10 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + # renovate: datasource=conda depName=bioconda/gatk4 + - bioconda::gatk4=4.6.2.0 + # renovate: datasource=conda depName=bioconda/gcnvkernel + - bioconda::gcnvkernel=0.9 diff --git a/modules/nf-core/gatk4/filtermutectcalls/main.nf b/modules/nf-core/gatk4/filtermutectcalls/main.nf new file mode 100644 index 00000000..726a6e55 --- /dev/null +++ b/modules/nf-core/gatk4/filtermutectcalls/main.nf @@ -0,0 +1,62 @@ +process GATK4_FILTERMUTECTCALLS { + tag "${meta.id}" + label 'process_low' + + conda "${moduleDir}/environment.yml" + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/ce/ced519873646379e287bc28738bdf88e975edd39a92e7bc6a34bccd37153d9d0/data' + : 'community.wave.seqera.io/library/gatk4_gcnvkernel:edb12e4f0bf02cd3'}" + + input: + tuple val(meta), path(vcf), path(vcf_tbi), path(stats), path(orientationbias), path(segmentation), path(table), val(estimate) + tuple val(meta2), path(fasta) + tuple val(meta3), path(fai) + tuple val(meta4), path(dict) + + output: + tuple val(meta), path("*.vcf.gz"), emit: vcf + tuple val(meta), path("*.vcf.gz.tbi"), emit: tbi + tuple val(meta), path("*.filteringStats.tsv"), emit: stats + tuple val("${task.process}"), val('gatk4'), eval("gatk --version | sed -n '/GATK.*v/s/.*v//p'"), topic: versions, emit: versions_gatk4 + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + + def orientationbias_command = orientationbias ? orientationbias.collect { orientationbias_ -> "--orientation-bias-artifact-priors ${orientationbias_}" }.join(' ') : '' + def segmentation_command = segmentation ? segmentation.collect { segmentation_ -> "--tumor-segmentation ${segmentation_}" }.join(' ') : '' + def estimate_command = estimate ? " --contamination-estimate ${estimate} " : '' + def table_command = table ? table.collect { table_ -> "--contamination-table ${table_}" }.join(' ') : '' + + def avail_mem = 3072 + if (!task.memory) { + log.info('[GATK FilterMutectCalls] Available memory not known - defaulting to 3GB. Specify process memory requirements to change this.') + } + else { + avail_mem = (task.memory.mega * 0.8).intValue() + } + """ + gatk --java-options "-Xmx${avail_mem}M -XX:-UsePerfData" \\ + FilterMutectCalls \\ + --variant ${vcf} \\ + --output ${prefix}.vcf.gz \\ + --reference ${fasta} \\ + ${orientationbias_command} \\ + ${segmentation_command} \\ + ${estimate_command} \\ + ${table_command} \\ + --tmp-dir . \\ + ${args} + """ + + stub: + def prefix = task.ext.prefix ?: "${meta.id}" + """ + echo "" | gzip > ${prefix}.vcf.gz + touch ${prefix}.vcf.gz.tbi + touch ${prefix}.vcf.gz.filteringStats.tsv + """ +} diff --git a/modules/nf-core/gatk4/filtermutectcalls/meta.yml b/modules/nf-core/gatk4/filtermutectcalls/meta.yml new file mode 100644 index 00000000..eb3e9baf --- /dev/null +++ b/modules/nf-core/gatk4/filtermutectcalls/meta.yml @@ -0,0 +1,161 @@ +name: gatk4_filtermutectcalls +description: | + Filters the raw output of mutect2, can optionally use outputs of calculatecontamination and learnreadorientationmodel to improve filtering. +keywords: + - filtermutectcalls + - filter + - gatk4 + - mutect2 + - vcf +tools: + - gatk4: + description: | + Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools + with a primary focus on variant discovery and genotyping. Its powerful processing engine + and high-performance computing features make it capable of taking on projects of any size. + homepage: https://gatk.broadinstitute.org/hc/en-us + documentation: https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s + doi: 10.1158/1538-7445.AM2017-3590 + identifier: "" +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test' ] + - vcf: + type: file + description: compressed vcf file of mutect2calls + pattern: "*.vcf.gz" + ontologies: + - edam: http://edamontology.org/format_3989 # GZIP format + - vcf_tbi: + type: file + description: Tabix index of vcf file + pattern: "*vcf.gz.tbi" + ontologies: [] + - stats: + type: file + description: Stats file that pairs with output vcf file + pattern: "*vcf.gz.stats" + ontologies: [] + - orientationbias: + type: file + description: files containing artifact priors for input vcf. Optional input. + pattern: "*.artifact-prior.tar.gz" + ontologies: + - edam: http://edamontology.org/format_3989 # GZIP format + - segmentation: + type: file + description: tables containing segmentation information for input vcf. Optional + input. + pattern: "*.segmentation.table" + ontologies: [] + - table: + type: file + description: table(s) containing contamination data for input vcf. Optional + input, takes priority over estimate. + pattern: "*.contamination.table" + ontologies: [] + - estimate: + type: float + description: estimation of contamination value as a double. Optional input, + will only be used if table is not specified. + - - meta2: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome' ] + - fasta: + type: file + description: The reference fasta file + pattern: "*.fasta" + ontologies: [] + - - meta3: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome' ] + - fai: + type: file + description: Index of reference fasta file + pattern: "*.fasta.fai" + ontologies: [] + - - meta4: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome' ] + - dict: + type: file + description: GATK sequence dictionary + pattern: "*.dict" + ontologies: [] +output: + vcf: + - - meta: + type: file + description: file containing filtered mutect2 calls. + pattern: "*.vcf.gz" + ontologies: + - edam: http://edamontology.org/format_3989 # GZIP format + - "*.vcf.gz": + type: file + description: file containing filtered mutect2 calls. + pattern: "*.vcf.gz" + ontologies: + - edam: http://edamontology.org/format_3989 # GZIP format + tbi: + - - meta: + type: file + description: file containing filtered mutect2 calls. + pattern: "*.vcf.gz" + ontologies: + - edam: http://edamontology.org/format_3989 # GZIP format + - "*.vcf.gz.tbi": + type: file + description: tbi file that pairs with vcf. + pattern: "*.vcf.gz.tbi" + ontologies: [] + stats: + - - meta: + type: file + description: file containing filtered mutect2 calls. + pattern: "*.vcf.gz" + ontologies: + - edam: http://edamontology.org/format_3989 # GZIP format + - "*.filteringStats.tsv": + type: file + description: file containing statistics of the filtermutectcalls run. + pattern: "*.filteringStats.tsv" + ontologies: + - edam: http://edamontology.org/format_3475 # TSV + versions_gatk4: + - - ${task.process}: + type: string + description: The name of the process + - gatk4: + type: string + description: The name of the tool + - gatk --version | sed -n '/GATK.*v/s/.*v//p': + type: eval + description: The expression to obtain the version of the tool +topics: + versions: + - - ${task.process}: + type: string + description: The name of the process + - gatk4: + type: string + description: The name of the tool + - gatk --version | sed -n '/GATK.*v/s/.*v//p': + type: eval + description: The expression to obtain the version of the tool +authors: + - "@GCJMackenzie" + - "@maxulysse" + - "@ramprasadn" +maintainers: + - "@GCJMackenzie" + - "@maxulysse" + - "@ramprasadn" diff --git a/modules/nf-core/gatk4/filtermutectcalls/tests/main.nf.test b/modules/nf-core/gatk4/filtermutectcalls/tests/main.nf.test new file mode 100644 index 00000000..64007fc1 --- /dev/null +++ b/modules/nf-core/gatk4/filtermutectcalls/tests/main.nf.test @@ -0,0 +1,178 @@ +nextflow_process { + + name "Test Process GATK4_FILTERMUTECTCALLS" + script "../main.nf" + process "GATK4_FILTERMUTECTCALLS" + config "./nextflow.config" + + tag "modules" + tag "modules_nfcore" + tag "gatk4" + tag "gatk4/filtermutectcalls" + + test("human - vcf - base") { + + when { + process { + """ + input[0] = [ + [ id:'test'], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gatk/paired_mutect2_calls/test_test2_paired_mutect2_calls.vcf.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gatk/paired_mutect2_calls/test_test2_paired_mutect2_calls.vcf.gz.tbi', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gatk/paired_mutect2_calls/test_test2_paired_mutect2_calls.vcf.gz.stats', checkIfExists: true), + [], + [], + [], + [] + ] + + input[1] = [ [ id:'genome' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta', checkIfExists: true) + ] + input[2] = [ [ id:'genome' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta.fai', checkIfExists: true) + ] + input[3] = [ [ id:'genome' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.dict', checkIfExists: true) + ] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot( + process.out.findAll { key, val -> key.startsWith("versions") }, + path(process.out.vcf[0][1]).vcf.variantsMD5, + path(process.out.tbi[0][1]).linesGzip.toString().contains("TBI"), + file(process.out.stats[0][1]).readLines()[0] + ).match() } + ) + } + + } + + test("human - vcf - with-files") { + + when { + process { + """ + input[0] = [ + [ id:'test'], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gatk/paired_mutect2_calls/test_test2_paired_mutect2_calls.vcf.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gatk/paired_mutect2_calls/test_test2_paired_mutect2_calls.vcf.gz.tbi', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gatk/paired_mutect2_calls/test_test2_paired_mutect2_calls.vcf.gz.stats', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gatk/test_test2_paired_mutect2_calls.artifact-prior.tar.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gatk/test_test2_paired.segmentation.table', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gatk/test_test2_paired.contamination.table', checkIfExists: true), + [] + ] + + input[1] = [ [ id:'genome' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta', checkIfExists: true) + ] + input[2] = [ [ id:'genome' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta.fai', checkIfExists: true) + ] + input[3] = [ [ id:'genome' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.dict', checkIfExists: true) + ] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot( + process.out.findAll { key, val -> key.startsWith("versions") }, + path(process.out.vcf[0][1]).vcf.variantsMD5, + path(process.out.tbi[0][1]).linesGzip.toString().contains("TBI"), + file(process.out.stats[0][1]).readLines()[0..5] + ).match() } + ) + } + } + + test("human - vcf - use-val") { + + when { + process { + """ + input[0] = [ + [ id:'test'], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gatk/paired_mutect2_calls/test_test2_paired_mutect2_calls.vcf.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gatk/paired_mutect2_calls/test_test2_paired_mutect2_calls.vcf.gz.tbi', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gatk/paired_mutect2_calls/test_test2_paired_mutect2_calls.vcf.gz.stats', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gatk/test_test2_paired_mutect2_calls.artifact-prior.tar.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gatk/test_test2_paired.segmentation.table', checkIfExists: true), + [], + '20.0' + ] + + input[1] = [ [ id:'genome' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta', checkIfExists: true) + ] + input[2] = [ [ id:'genome' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta.fai', checkIfExists: true) + ] + input[3] = [ [ id:'genome' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.dict', checkIfExists: true) + ] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot( + process.out.findAll { key, val -> key.startsWith("versions") }, + path(process.out.vcf[0][1]).vcf.variantsMD5, + path(process.out.tbi[0][1]).linesGzip.toString().contains("TBI"), + file(process.out.stats[0][1]).readLines()[0] + ).match() } + ) + } + } + + test("human - vcf - stub") { + + options "-stub" + + when { + process { + """ + input[0] = [ + [ id:'test'], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gatk/paired_mutect2_calls/test_test2_paired_mutect2_calls.vcf.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gatk/paired_mutect2_calls/test_test2_paired_mutect2_calls.vcf.gz.tbi', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gatk/paired_mutect2_calls/test_test2_paired_mutect2_calls.vcf.gz.stats', checkIfExists: true), + [], + [], + [], + [] + ] + + input[1] = [ [ id:'genome' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta', checkIfExists: true) + ] + input[2] = [ [ id:'genome' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta.fai', checkIfExists: true) + ] + input[3] = [ [ id:'genome' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.dict', checkIfExists: true) + ] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } +} diff --git a/modules/nf-core/gatk4/filtermutectcalls/tests/main.nf.test.snap b/modules/nf-core/gatk4/filtermutectcalls/tests/main.nf.test.snap new file mode 100644 index 00000000..dee66a03 --- /dev/null +++ b/modules/nf-core/gatk4/filtermutectcalls/tests/main.nf.test.snap @@ -0,0 +1,145 @@ +{ + "human - vcf - use-val": { + "content": [ + { + "versions_gatk4": [ + [ + "GATK4_FILTERMUTECTCALLS", + "gatk4", + "4.6.2.0" + ] + ] + }, + "4f8cfebe28e5fd097a7bfc2e556983d3", + true, + "#Ln prior of deletion of length 10=-20.72326583694641" + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-05T14:24:16.387135961" + }, + "human - vcf - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.filtered.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "1": [ + [ + { + "id": "test" + }, + "test.filtered.vcf.gz.tbi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "2": [ + [ + { + "id": "test" + }, + "test.filtered.vcf.gz.filteringStats.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "3": [ + [ + "GATK4_FILTERMUTECTCALLS", + "gatk4", + "4.6.2.0" + ] + ], + "stats": [ + [ + { + "id": "test" + }, + "test.filtered.vcf.gz.filteringStats.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "tbi": [ + [ + { + "id": "test" + }, + "test.filtered.vcf.gz.tbi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "vcf": [ + [ + { + "id": "test" + }, + "test.filtered.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "versions_gatk4": [ + [ + "GATK4_FILTERMUTECTCALLS", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-05T12:44:42.986778135" + }, + "human - vcf - with-files": { + "content": [ + { + "versions_gatk4": [ + [ + "GATK4_FILTERMUTECTCALLS", + "gatk4", + "4.6.2.0" + ] + ] + }, + "54e439a79e4b6956a7f2c5b0730c9918", + true, + [ + "#Ln prior of deletion of length 10=-20.72326583694641", + "#Ln prior of deletion of length 9=-20.72326583694641", + "#Ln prior of deletion of length 8=-20.72326583694641", + "#Ln prior of deletion of length 7=-20.72326583694641", + "#Ln prior of deletion of length 6=-20.72326583694641", + "#Ln prior of deletion of length 5=-20.72326583694641" + ] + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-05T14:24:03.785317232" + }, + "human - vcf - base": { + "content": [ + { + "versions_gatk4": [ + [ + "GATK4_FILTERMUTECTCALLS", + "gatk4", + "4.6.2.0" + ] + ] + }, + "5352aa0f3ea986008a2652eba7c0fdba", + true, + "#Ln prior of deletion of length 10=-20.72326583694641" + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-05T14:22:02.165177275" + } +} \ No newline at end of file diff --git a/modules/nf-core/gatk4/filtermutectcalls/tests/nextflow.config b/modules/nf-core/gatk4/filtermutectcalls/tests/nextflow.config new file mode 100644 index 00000000..12fa58fb --- /dev/null +++ b/modules/nf-core/gatk4/filtermutectcalls/tests/nextflow.config @@ -0,0 +1,5 @@ +process { + withName: GATK4_FILTERMUTECTCALLS { + ext.prefix = { "${meta.id}.filtered" } + } +} diff --git a/modules/nf-core/gatk4/gatherbqsrreports/environment.yml b/modules/nf-core/gatk4/gatherbqsrreports/environment.yml new file mode 100644 index 00000000..67e0eb86 --- /dev/null +++ b/modules/nf-core/gatk4/gatherbqsrreports/environment.yml @@ -0,0 +1,10 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + # renovate: datasource=conda depName=bioconda/gatk4 + - bioconda::gatk4=4.6.2.0 + # renovate: datasource=conda depName=bioconda/gcnvkernel + - bioconda::gcnvkernel=0.9 diff --git a/modules/nf-core/gatk4/gatherbqsrreports/main.nf b/modules/nf-core/gatk4/gatherbqsrreports/main.nf new file mode 100644 index 00000000..5e4fe4f7 --- /dev/null +++ b/modules/nf-core/gatk4/gatherbqsrreports/main.nf @@ -0,0 +1,46 @@ +process GATK4_GATHERBQSRREPORTS { + tag "${meta.id}" + label 'process_single' + + conda "${moduleDir}/environment.yml" + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/ce/ced519873646379e287bc28738bdf88e975edd39a92e7bc6a34bccd37153d9d0/data' + : 'community.wave.seqera.io/library/gatk4_gcnvkernel:edb12e4f0bf02cd3'}" + + input: + tuple val(meta), path(table) + + output: + tuple val(meta), path("*.table"), emit: table + tuple val("${task.process}"), val('gatk4'), eval("gatk --version | sed -n '/GATK.*v/s/.*v//p'"), topic: versions, emit: versions_gatk4 + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + def input_list = table.collect { table_ -> "--input ${table_}" }.join(' ') + + def avail_mem = 3072 + if (!task.memory) { + log.info('[GATK GatherBQSRReports] Available memory not known - defaulting to 3GB. Specify process memory requirements to change this.') + } + else { + avail_mem = (task.memory.mega * 0.8).intValue() + } + """ + gatk --java-options "-Xmx${avail_mem}M -XX:-UsePerfData" \\ + GatherBQSRReports \\ + ${input_list} \\ + --output ${prefix}.table \\ + --tmp-dir . \\ + ${args} + """ + + stub: + def prefix = task.ext.prefix ?: "${meta.id}" + """ + touch ${prefix}.table + """ +} diff --git a/modules/nf-core/gatk4/gatherbqsrreports/meta.yml b/modules/nf-core/gatk4/gatherbqsrreports/meta.yml new file mode 100644 index 00000000..94af5bdd --- /dev/null +++ b/modules/nf-core/gatk4/gatherbqsrreports/meta.yml @@ -0,0 +1,64 @@ +name: gatk4_gatherbqsrreports +description: Gathers scattered BQSR recalibration reports into a single file +keywords: + - base quality score recalibration + - bqsr + - gatherbqsrreports + - gatk4 +tools: + - gatk4: + description: Genome Analysis Toolkit (GATK4) + homepage: https://gatk.broadinstitute.org/hc/en-us + documentation: https://gatk.broadinstitute.org/hc/en-us + tool_dev_url: https://github.com/broadinstitute/gatk + doi: "10.1158/1538-7445.AM2017-3590" + licence: ["BSD-3-clause"] + identifier: "" +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - table: + type: file + description: File(s) containing BQSR table(s) + pattern: "*.table" + ontologies: [] +output: + table: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.table": + type: file + description: File containing joined BQSR table + pattern: "*.table" + ontologies: [] + versions_gatk4: + - - ${task.process}: + type: string + description: The name of the process + - gatk4: + type: string + description: The name of the tool + - gatk --version | sed -n '/GATK.*v/s/.*v//p': + type: eval + description: The expression to obtain the version of the tool +topics: + versions: + - - ${task.process}: + type: string + description: The name of the process + - gatk4: + type: string + description: The name of the tool + - gatk --version | sed -n '/GATK.*v/s/.*v//p': + type: eval + description: The expression to obtain the version of the tool +authors: + - "@FriederikeHanssen" +maintainers: + - "@FriederikeHanssen" diff --git a/modules/nf-core/gatk4/gatherbqsrreports/tests/main.nf.test b/modules/nf-core/gatk4/gatherbqsrreports/tests/main.nf.test new file mode 100644 index 00000000..2fdb07c6 --- /dev/null +++ b/modules/nf-core/gatk4/gatherbqsrreports/tests/main.nf.test @@ -0,0 +1,57 @@ + +nextflow_process { + + name "Test Process GATK4_GATHERBQSRREPORTS" + script "../main.nf" + process "GATK4_GATHERBQSRREPORTS" + + tag "modules" + tag "modules_nfcore" + tag "gatk4" + tag "gatk4/gatherbqsrreports" + + test("test-gatk4-gatherbqsrreports") { + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gatk/test.baserecalibrator.table', checkIfExists: true) + ] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(process.out).match() } + ) + } + } + + test("test-gatk4-gatherbqsrreports-multiple") { + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:false ], // meta map + [ + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gatk/test.baserecalibrator.table', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gatk/test2.baserecalibrator.table', checkIfExists: true) + ] + ] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(process.out).match() } + ) + } + } +} diff --git a/modules/nf-core/gatk4/gatherbqsrreports/tests/main.nf.test.snap b/modules/nf-core/gatk4/gatherbqsrreports/tests/main.nf.test.snap new file mode 100644 index 00000000..83ab5631 --- /dev/null +++ b/modules/nf-core/gatk4/gatherbqsrreports/tests/main.nf.test.snap @@ -0,0 +1,88 @@ +{ + "test-gatk4-gatherbqsrreports-multiple": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + "test.table:md5,0c1257eececf95db8ca378272d0f21f9" + ] + ], + "1": [ + [ + "GATK4_GATHERBQSRREPORTS", + "gatk4", + "4.6.2.0" + ] + ], + "table": [ + [ + { + "id": "test", + "single_end": false + }, + "test.table:md5,0c1257eececf95db8ca378272d0f21f9" + ] + ], + "versions_gatk4": [ + [ + "GATK4_GATHERBQSRREPORTS", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-05T15:45:20.139694486" + }, + "test-gatk4-gatherbqsrreports": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + "test.table:md5,9603b69fdc3b5090de2e0dd78bfcc4bf" + ] + ], + "1": [ + [ + "GATK4_GATHERBQSRREPORTS", + "gatk4", + "4.6.2.0" + ] + ], + "table": [ + [ + { + "id": "test", + "single_end": false + }, + "test.table:md5,9603b69fdc3b5090de2e0dd78bfcc4bf" + ] + ], + "versions_gatk4": [ + [ + "GATK4_GATHERBQSRREPORTS", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-05T15:45:12.139801174" + } +} \ No newline at end of file diff --git a/modules/nf-core/gatk4/gatherpileupsummaries/environment.yml b/modules/nf-core/gatk4/gatherpileupsummaries/environment.yml new file mode 100644 index 00000000..67e0eb86 --- /dev/null +++ b/modules/nf-core/gatk4/gatherpileupsummaries/environment.yml @@ -0,0 +1,10 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + # renovate: datasource=conda depName=bioconda/gatk4 + - bioconda::gatk4=4.6.2.0 + # renovate: datasource=conda depName=bioconda/gcnvkernel + - bioconda::gcnvkernel=0.9 diff --git a/modules/nf-core/gatk4/gatherpileupsummaries/main.nf b/modules/nf-core/gatk4/gatherpileupsummaries/main.nf new file mode 100644 index 00000000..8f7c704e --- /dev/null +++ b/modules/nf-core/gatk4/gatherpileupsummaries/main.nf @@ -0,0 +1,48 @@ +process GATK4_GATHERPILEUPSUMMARIES { + tag "${meta.id}" + label 'process_low' + + conda "${moduleDir}/environment.yml" + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/ce/ced519873646379e287bc28738bdf88e975edd39a92e7bc6a34bccd37153d9d0/data' + : 'community.wave.seqera.io/library/gatk4_gcnvkernel:edb12e4f0bf02cd3'}" + + input: + tuple val(meta), path(pileup) + path dict + + output: + tuple val(meta), path("*.pileups.table"), emit: table + tuple val("${task.process}"), val('gatk4'), eval("gatk --version | sed -n '/GATK.*v/s/.*v//p'"), topic: versions, emit: versions_gatk4 + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + def input_list = pileup.collect { pileup_ -> "--I ${pileup_}" }.join(' ') + + def avail_mem = 3072 + if (!task.memory) { + log.info('[GATK GatherPileupSummaries] Available memory not known - defaulting to 3GB. Specify process memory requirements to change this.') + } + else { + avail_mem = (task.memory.mega * 0.8).intValue() + } + """ + gatk --java-options "-Xmx${avail_mem}M -XX:-UsePerfData" \\ + GatherPileupSummaries \\ + ${input_list} \\ + --O ${prefix}.pileups.table \\ + --sequence-dictionary ${dict} \\ + --tmp-dir . \\ + ${args} + """ + + stub: + def prefix = task.ext.prefix ?: "${meta.id}" + """ + touch ${prefix}.pileups.table + """ +} diff --git a/modules/nf-core/gatk4/gatherpileupsummaries/meta.yml b/modules/nf-core/gatk4/gatherpileupsummaries/meta.yml new file mode 100644 index 00000000..2d2b2a80 --- /dev/null +++ b/modules/nf-core/gatk4/gatherpileupsummaries/meta.yml @@ -0,0 +1,69 @@ +name: gatk4_gatherpileupsummaries +description: write your description here +keywords: + - gatk4 + - mpileup + - sort +tools: + - gatk4: + description: Genome Analysis Toolkit (GATK4) + homepage: https://gatk.broadinstitute.org/hc/en-us + documentation: https://gatk.broadinstitute.org/hc/en-us + tool_dev_url: https://github.com/broadinstitute/gatk + doi: "10.1158/1538-7445.AM2017-3590" + licence: ["BSD-3-clause"] + identifier: "" +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - pileup: + type: file + description: Pileup files from gatk4/getpileupsummaries + pattern: "*.pileups.table" + ontologies: [] + - dict: + type: file + description: dictionary + ontologies: [] +output: + table: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.pileups.table": + type: file + description: pileup summaries table file + pattern: "*.pileups.table" + ontologies: [] + versions_gatk4: + - - ${task.process}: + type: string + description: The name of the process + - gatk4: + type: string + description: The name of the tool + - gatk --version | sed -n '/GATK.*v/s/.*v//p': + type: eval + description: The expression to obtain the version of the tool +topics: + versions: + - - ${task.process}: + type: string + description: The name of the process + - gatk4: + type: string + description: The name of the tool + - gatk --version | sed -n '/GATK.*v/s/.*v//p': + type: eval + description: The expression to obtain the version of the tool +authors: + - "@FriederikeHanssen" + - "@maxulysse" +maintainers: + - "@FriederikeHanssen" + - "@maxulysse" diff --git a/modules/nf-core/gatk4/gatherpileupsummaries/tests/main.nf.test b/modules/nf-core/gatk4/gatherpileupsummaries/tests/main.nf.test new file mode 100644 index 00000000..2a301d07 --- /dev/null +++ b/modules/nf-core/gatk4/gatherpileupsummaries/tests/main.nf.test @@ -0,0 +1,59 @@ + +nextflow_process { + + name "Test Process GATK4_GATHERPILEUPSUMMARIES" + script "../main.nf" + process "GATK4_GATHERPILEUPSUMMARIES" + config "./nextflow.config" + + tag "modules" + tag "modules_nfcore" + tag "gatk4" + tag "gatk4/gatherpileupsummaries" + + test("test-gatk4-gatherpileupsummaries") { + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:false ], // meta map + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gatk/test.pileups.table', checkIfExists: true) ] + ] + input[1] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.dict', checkIfExists: true) + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(process.out).match() } + ) + } + } + + test("test-gatk4-gatherpileupsummaries - stub") { + + options "-stub" + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:false ], // meta map + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gatk/test.pileups.table', checkIfExists: true) ] + ] + input[1] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.dict', checkIfExists: true) + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(process.out).match() } + ) + } + } +} diff --git a/modules/nf-core/gatk4/gatherpileupsummaries/tests/main.nf.test.snap b/modules/nf-core/gatk4/gatherpileupsummaries/tests/main.nf.test.snap new file mode 100644 index 00000000..b8bf2fc3 --- /dev/null +++ b/modules/nf-core/gatk4/gatherpileupsummaries/tests/main.nf.test.snap @@ -0,0 +1,88 @@ +{ + "test-gatk4-gatherpileupsummaries - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + "test.out.pileups.table:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + [ + "GATK4_GATHERPILEUPSUMMARIES", + "gatk4", + "4.6.2.0" + ] + ], + "table": [ + [ + { + "id": "test", + "single_end": false + }, + "test.out.pileups.table:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions_gatk4": [ + [ + "GATK4_GATHERPILEUPSUMMARIES", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-05T15:45:32.783737342" + }, + "test-gatk4-gatherpileupsummaries": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + "test.out.pileups.table:md5,8e0ca6f66e112bd2f7ec1d31a2d62469" + ] + ], + "1": [ + [ + "GATK4_GATHERPILEUPSUMMARIES", + "gatk4", + "4.6.2.0" + ] + ], + "table": [ + [ + { + "id": "test", + "single_end": false + }, + "test.out.pileups.table:md5,8e0ca6f66e112bd2f7ec1d31a2d62469" + ] + ], + "versions_gatk4": [ + [ + "GATK4_GATHERPILEUPSUMMARIES", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-05T15:45:27.088871077" + } +} \ No newline at end of file diff --git a/modules/nf-core/gatk4/gatherpileupsummaries/tests/nextflow.config b/modules/nf-core/gatk4/gatherpileupsummaries/tests/nextflow.config new file mode 100644 index 00000000..2b49a6fa --- /dev/null +++ b/modules/nf-core/gatk4/gatherpileupsummaries/tests/nextflow.config @@ -0,0 +1,5 @@ +process { + withName: 'GATK4_GATHERPILEUPSUMMARIES' { + ext.prefix = { "${meta.id}.out" } + } +} diff --git a/modules/nf-core/gatk4/getpileupsummaries/environment.yml b/modules/nf-core/gatk4/getpileupsummaries/environment.yml new file mode 100644 index 00000000..67e0eb86 --- /dev/null +++ b/modules/nf-core/gatk4/getpileupsummaries/environment.yml @@ -0,0 +1,10 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + # renovate: datasource=conda depName=bioconda/gatk4 + - bioconda::gatk4=4.6.2.0 + # renovate: datasource=conda depName=bioconda/gcnvkernel + - bioconda::gcnvkernel=0.9 diff --git a/modules/nf-core/gatk4/getpileupsummaries/main.nf b/modules/nf-core/gatk4/getpileupsummaries/main.nf new file mode 100644 index 00000000..c7f6d330 --- /dev/null +++ b/modules/nf-core/gatk4/getpileupsummaries/main.nf @@ -0,0 +1,55 @@ +process GATK4_GETPILEUPSUMMARIES { + tag "${meta.id}" + label 'process_low' + + conda "${moduleDir}/environment.yml" + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/ce/ced519873646379e287bc28738bdf88e975edd39a92e7bc6a34bccd37153d9d0/data' + : 'community.wave.seqera.io/library/gatk4_gcnvkernel:edb12e4f0bf02cd3'}" + + input: + tuple val(meta), path(input), path(index), path(intervals) + tuple val(meta2), path(fasta) + tuple val(meta3), path(fai) + tuple val(meta4), path(dict) + path variants + path variants_tbi + + output: + tuple val(meta), path('*.pileups.table'), emit: table + tuple val("${task.process}"), val('gatk4'), eval("gatk --version | sed -n '/GATK.*v/s/.*v//p'"), topic: versions, emit: versions_gatk4 + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + def interval_command = intervals ? "--intervals ${intervals}" : "--intervals ${variants}" + def reference_command = fasta ? "--reference ${fasta}" : '' + + def avail_mem = 3072 + if (!task.memory) { + log.info('[GATK GetPileupSummaries] Available memory not known - defaulting to 3GB. Specify process memory requirements to change this.') + } + else { + avail_mem = (task.memory.mega * 0.8).intValue() + } + """ + gatk --java-options "-Xmx${avail_mem}M -XX:-UsePerfData" \\ + GetPileupSummaries \\ + --input ${input} \\ + --variant ${variants} \\ + --output ${prefix}.pileups.table \\ + ${reference_command} \\ + ${interval_command} \\ + --tmp-dir . \\ + ${args} + """ + + stub: + def prefix = task.ext.prefix ?: "${meta.id}" + """ + touch ${prefix}.pileups.table + """ +} diff --git a/modules/nf-core/gatk4/getpileupsummaries/meta.yml b/modules/nf-core/gatk4/getpileupsummaries/meta.yml new file mode 100644 index 00000000..04113b11 --- /dev/null +++ b/modules/nf-core/gatk4/getpileupsummaries/meta.yml @@ -0,0 +1,120 @@ +name: gatk4_getpileupsummaries +description: | + Summarizes counts of reads that support reference, alternate and other alleles for given sites. Results can be used with CalculateContamination. Requires a common germline variant sites file, such as from gnomAD. +keywords: + - gatk4 + - germlinevariantsites + - getpileupsumaries + - readcountssummary +tools: + - gatk4: + description: | + Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools + with a primary focus on variant discovery and genotyping. Its powerful processing engine + and high-performance computing features make it capable of taking on projects of any size. + homepage: https://gatk.broadinstitute.org/hc/en-us + documentation: https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s + doi: 10.1158/1538-7445.AM2017-3590 + licence: ["Apache-2.0"] + identifier: "" +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test' ] + - input: + type: file + description: BAM/CRAM file to be summarised. + pattern: "*.{bam,cram}" + ontologies: [] + - index: + type: file + description: Index file for the input BAM/CRAM file. + pattern: "*.{bam.bai,cram.crai}" + ontologies: [] + - intervals: + type: file + description: File containing specified sites to be used for the summary. If + this option is not specified, variants file is used instead automatically. + pattern: "*.interval_list" + ontologies: [] + - - meta2: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome' ] + - fasta: + type: file + description: The reference fasta file + pattern: "*.fasta" + ontologies: [] + - - meta3: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome' ] + - fai: + type: file + description: Index of reference fasta file + pattern: "*.fasta.fai" + ontologies: [] + - - meta4: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome' ] + - dict: + type: file + description: GATK sequence dictionary + pattern: "*.dict" + ontologies: [] + - variants: + type: file + description: Population vcf of germline sequencing, containing allele fractions. + Is also used as sites file if no separate sites file is specified. + pattern: "*.vcf.gz" + ontologies: + - edam: http://edamontology.org/format_3989 # GZIP format + - variants_tbi: + type: file + description: Index file for the germline resource. + pattern: "*.vcf.gz.tbi" + ontologies: [] +output: + table: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test' ] + - "*.pileups.table": + type: file + description: Table containing read counts for each site. + pattern: "*.pileups.table" + ontologies: [] + versions_gatk4: + - - ${task.process}: + type: string + description: The name of the process + - gatk4: + type: string + description: The name of the tool + - gatk --version | sed -n '/GATK.*v/s/.*v//p': + type: eval + description: The expression to obtain the version of the tool +topics: + versions: + - - ${task.process}: + type: string + description: The name of the process + - gatk4: + type: string + description: The name of the tool + - gatk --version | sed -n '/GATK.*v/s/.*v//p': + type: eval + description: The expression to obtain the version of the tool +authors: + - "@GCJMackenzie" +maintainers: + - "@GCJMackenzie" diff --git a/modules/nf-core/gatk4/getpileupsummaries/tests/main.nf.test b/modules/nf-core/gatk4/getpileupsummaries/tests/main.nf.test new file mode 100644 index 00000000..27351bc4 --- /dev/null +++ b/modules/nf-core/gatk4/getpileupsummaries/tests/main.nf.test @@ -0,0 +1,100 @@ +nextflow_process { + + name "Test Process GATK4_GETPILEUPSUMMARIES" + script "../main.nf" + process "GATK4_GETPILEUPSUMMARIES" + + tag "modules" + tag "modules_nfcore" + tag "gatk4" + tag "gatk4/getpileupsummaries" + + test("human - bam") { + + when { + process { + """ + input[0] = [ [ id:'test' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.recalibrated.sorted.bam', checkIfExists: true) , + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.recalibrated.sorted.bam.bai', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.interval_list', checkIfExists: true) + ] + input[1] = [[],[]] // fasta + input[2] = [[],[]] // fai + input[3] = [[],[]] // dict + input[4] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/germlineresources/gnomAD.r2.1.1.vcf.gz', checkIfExists: true) + input[5] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/germlineresources/gnomAD.r2.1.1.vcf.gz.tbi', checkIfExists: true) + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(process.out).match() } + ) + } + } + + test("human - cram") { + + when { + process { + """ + input[0] = [ [ id:'test' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.recalibrated.sorted.cram', checkIfExists: true) , + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.recalibrated.sorted.cram.crai', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.interval_list', checkIfExists: true) + ] + input[1] = [ [ id:'genome' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta', checkIfExists: true) + ] + input[2] = [ [ id:'genome' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta.fai', checkIfExists: true) + ] + input[3] = [ [ id:'genome' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.dict', checkIfExists: true) + ] + input[4] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/germlineresources/gnomAD.r2.1.1.vcf.gz', checkIfExists: true) + input[5] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/germlineresources/gnomAD.r2.1.1.vcf.gz.tbi', checkIfExists: true) + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(process.out).match() } + ) + } + } + + test("human - bam - stub") { + + options "-stub" + + when { + process { + """ + input[0] = [ [ id:'test' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.recalibrated.sorted.bam', checkIfExists: true) , + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.recalibrated.sorted.bam.bai', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.interval_list', checkIfExists: true) + ] + input[1] = [[],[]] // fasta + input[2] = [[],[]] // fai + input[3] = [[],[]] // dict + input[4] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/germlineresources/gnomAD.r2.1.1.vcf.gz', checkIfExists: true) + input[5] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/germlineresources/gnomAD.r2.1.1.vcf.gz.tbi', checkIfExists: true) + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(process.out).match() } + ) + } + } +} diff --git a/modules/nf-core/gatk4/getpileupsummaries/tests/main.nf.test.snap b/modules/nf-core/gatk4/getpileupsummaries/tests/main.nf.test.snap new file mode 100644 index 00000000..8c5c61ec --- /dev/null +++ b/modules/nf-core/gatk4/getpileupsummaries/tests/main.nf.test.snap @@ -0,0 +1,125 @@ +{ + "human - bam - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.pileups.table:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + [ + "GATK4_GETPILEUPSUMMARIES", + "gatk4", + "4.6.2.0" + ] + ], + "table": [ + [ + { + "id": "test" + }, + "test.pileups.table:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions_gatk4": [ + [ + "GATK4_GETPILEUPSUMMARIES", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-05T12:53:49.568746566" + }, + "human - bam": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.pileups.table:md5,2d7ce4a54df6b9249e12d60737a67dac" + ] + ], + "1": [ + [ + "GATK4_GETPILEUPSUMMARIES", + "gatk4", + "4.6.2.0" + ] + ], + "table": [ + [ + { + "id": "test" + }, + "test.pileups.table:md5,2d7ce4a54df6b9249e12d60737a67dac" + ] + ], + "versions_gatk4": [ + [ + "GATK4_GETPILEUPSUMMARIES", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-05T12:53:07.424914004" + }, + "human - cram": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.pileups.table:md5,2d7ce4a54df6b9249e12d60737a67dac" + ] + ], + "1": [ + [ + "GATK4_GETPILEUPSUMMARIES", + "gatk4", + "4.6.2.0" + ] + ], + "table": [ + [ + { + "id": "test" + }, + "test.pileups.table:md5,2d7ce4a54df6b9249e12d60737a67dac" + ] + ], + "versions_gatk4": [ + [ + "GATK4_GETPILEUPSUMMARIES", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-05T12:53:33.800648892" + } +} \ No newline at end of file diff --git a/modules/nf-core/gatk4/haplotypecaller/meta.yml b/modules/nf-core/gatk4/haplotypecaller/meta.yml new file mode 100644 index 00000000..48193d91 --- /dev/null +++ b/modules/nf-core/gatk4/haplotypecaller/meta.yml @@ -0,0 +1,79 @@ +name: gatk4_haplotypecaller +description: Call germline SNPs and indels via local re-assembly of haplotypes +keywords: + - gatk4 + - haplotypecaller + - haplotype +tools: + - gatk4: + description: | + Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools + with a primary focus on variant discovery and genotyping. Its powerful processing engine + and high-performance computing features make it capable of taking on projects of any size. + homepage: https://gatk.broadinstitute.org/hc/en-us + documentation: https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s + doi: 10.1158/1538-7445.AM2017-3590 + licence: ["Apache-2.0"] + +input: + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - input: + type: file + description: BAM/CRAM file from alignment + pattern: "*.{bam,cram}" + - input_index: + type: file + description: BAI/CRAI file from alignment + pattern: "*.{bai,crai}" + - intervals: + type: file + description: Bed file with the genomic regions included in the library (optional) + - dragstr_model: + type: file + description: Text file containing the DragSTR model of the used BAM/CRAM file (optional) + pattern: "*.txt" + - fasta: + type: file + description: The reference fasta file + pattern: "*.fasta" + - fai: + type: file + description: Index of reference fasta file + pattern: "fasta.fai" + - dict: + type: file + description: GATK sequence dictionary + pattern: "*.dict" + - dbsnp: + type: file + description: VCF file containing known sites (optional) + - dbsnp_tbi: + type: file + description: VCF index of dbsnp (optional) + +output: + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - versions: + type: file + description: File containing software versions + pattern: "versions.yml" + - vcf: + type: file + description: Compressed VCF file + pattern: "*.vcf.gz" + - tbi: + type: file + description: Index of VCF file + pattern: "*.vcf.gz.tbi" + +authors: + - "@suzannejin" + - "@FriederikeHanssen" diff --git a/modules/nf-core/gatk4/indexfeaturefile/environment.yml b/modules/nf-core/gatk4/indexfeaturefile/environment.yml new file mode 100644 index 00000000..67e0eb86 --- /dev/null +++ b/modules/nf-core/gatk4/indexfeaturefile/environment.yml @@ -0,0 +1,10 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + # renovate: datasource=conda depName=bioconda/gatk4 + - bioconda::gatk4=4.6.2.0 + # renovate: datasource=conda depName=bioconda/gcnvkernel + - bioconda::gcnvkernel=0.9 diff --git a/modules/nf-core/gatk4/indexfeaturefile/main.nf b/modules/nf-core/gatk4/indexfeaturefile/main.nf new file mode 100644 index 00000000..1ca8616c --- /dev/null +++ b/modules/nf-core/gatk4/indexfeaturefile/main.nf @@ -0,0 +1,43 @@ +process GATK4_INDEXFEATUREFILE { + tag "${meta.id}" + label 'process_low' + + conda "${moduleDir}/environment.yml" + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/ce/ced519873646379e287bc28738bdf88e975edd39a92e7bc6a34bccd37153d9d0/data' + : 'community.wave.seqera.io/library/gatk4_gcnvkernel:edb12e4f0bf02cd3'}" + + input: + tuple val(meta), path(feature_file) + + output: + tuple val(meta), path("*.{tbi,idx}"), emit: index + tuple val("${task.process}"), val('gatk4'), eval("gatk --version | sed -n '/GATK.*v/s/.*v//p'"), topic: versions, emit: versions_gatk4 + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + + def avail_mem = 3072 + if (!task.memory) { + log.info('[GATK IndexFeatureFile] Available memory not known - defaulting to 3GB. Specify process memory requirements to change this.') + } + else { + avail_mem = (task.memory.mega * 0.8).intValue() + } + """ + gatk --java-options "-Xmx${avail_mem}M -XX:-UsePerfData" \\ + IndexFeatureFile \\ + --input ${feature_file} \\ + --tmp-dir . \\ + ${args} + """ + + stub: + """ + touch ${feature_file}.tbi + touch ${feature_file}.idx + """ +} diff --git a/modules/nf-core/gatk4/indexfeaturefile/meta.yml b/modules/nf-core/gatk4/indexfeaturefile/meta.yml new file mode 100644 index 00000000..87b3b632 --- /dev/null +++ b/modules/nf-core/gatk4/indexfeaturefile/meta.yml @@ -0,0 +1,64 @@ +name: gatk4_indexfeaturefile +description: Creates an index for a feature file, e.g. VCF or BED file. +keywords: + - feature + - gatk4 + - index + - indexfeaturefile +tools: + - gatk4: + description: Genome Analysis Toolkit (GATK4) + homepage: https://gatk.broadinstitute.org/hc/en-us + documentation: https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s + tool_dev_url: https://github.com/broadinstitute/gatk + doi: "10.1158/1538-7445.AM2017-3590" + licence: ["BSD-3-clause"] + identifier: "" +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - feature_file: + type: file + description: VCF/BED file + pattern: "*.{vcf,vcf.gz,bed,bed.gz}" + ontologies: [] +output: + index: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.{tbi,idx}": + type: file + description: Index for VCF/BED file + pattern: "*.{tbi,idx}" + ontologies: [] + versions_gatk4: + - - ${task.process}: + type: string + description: The name of the process + - gatk4: + type: string + description: The name of the tool + - gatk --version | sed -n '/GATK.*v/s/.*v//p': + type: eval + description: The expression to obtain the version of the tool +topics: + versions: + - - ${task.process}: + type: string + description: The name of the process + - gatk4: + type: string + description: The name of the tool + - gatk --version | sed -n '/GATK.*v/s/.*v//p': + type: eval + description: The expression to obtain the version of the tool +authors: + - "@santiagorevale" +maintainers: + - "@santiagorevale" diff --git a/modules/nf-core/gatk4/indexfeaturefile/tests/main.nf.test b/modules/nf-core/gatk4/indexfeaturefile/tests/main.nf.test new file mode 100644 index 00000000..53847d24 --- /dev/null +++ b/modules/nf-core/gatk4/indexfeaturefile/tests/main.nf.test @@ -0,0 +1,102 @@ +// nf-core modules test gatk4/indexfeaturefile +nextflow_process { + + name "Test Process GATK4_INDEXFEATUREFILE" + script "../main.nf" + process "GATK4_INDEXFEATUREFILE" + + tag "modules" + tag "modules_nfcore" + tag "gatk4" + tag "gatk4/indexfeaturefile" + + test("test_gatk4_indexfeaturefile_bed") { + + when { + process { + """ + input[0] = [ + [ id:'test' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.bed', checkIfExists: true) + ] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot( + file(process.out.index[0][1]).name, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() }, + ) + } + } + + test("test_gatk4_indexfeaturefile_bed_gz") { + + when { + process { + """ + input[0] = [ + [ id:'test' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.bed.gz', checkIfExists: true) + ] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(process.out).match() }, + ) + } + } + + test("test_gatk4_indexfeaturefile_vcf") { + + when { + process { + """ + input[0] = [ + [ id:'test' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gvcf/test.genome.vcf', checkIfExists: true) + ] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot( + file(process.out.index[0][1]).name, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() }, + ) + } + } + + test("test_gatk4_indexfeaturefile_vcf_gz") { + + when { + process { + """ + input[0] = [ + [ id:'test' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gvcf/test.genome.vcf.gz', checkIfExists: true) + ] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(process.out).match() }, + ) + } + } +} diff --git a/modules/nf-core/gatk4/indexfeaturefile/tests/main.nf.test.snap b/modules/nf-core/gatk4/indexfeaturefile/tests/main.nf.test.snap new file mode 100644 index 00000000..e070d606 --- /dev/null +++ b/modules/nf-core/gatk4/indexfeaturefile/tests/main.nf.test.snap @@ -0,0 +1,122 @@ +{ + "test_gatk4_indexfeaturefile_vcf": { + "content": [ + "test.genome.vcf.idx", + { + "versions_gatk4": [ + [ + "GATK4_INDEXFEATUREFILE", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-05T16:29:55.703954252" + }, + "test_gatk4_indexfeaturefile_bed_gz": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "genome.bed.gz.tbi:md5,4bc51e2351a6e83f20e13be75861f941" + ] + ], + "1": [ + [ + "GATK4_INDEXFEATUREFILE", + "gatk4", + "4.6.2.0" + ] + ], + "index": [ + [ + { + "id": "test" + }, + "genome.bed.gz.tbi:md5,4bc51e2351a6e83f20e13be75861f941" + ] + ], + "versions_gatk4": [ + [ + "GATK4_INDEXFEATUREFILE", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-05T16:29:47.992267902" + }, + "test_gatk4_indexfeaturefile_vcf_gz": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.genome.vcf.gz.tbi:md5,fedd68eaddf8d31257853d9da8325bd3" + ] + ], + "1": [ + [ + "GATK4_INDEXFEATUREFILE", + "gatk4", + "4.6.2.0" + ] + ], + "index": [ + [ + { + "id": "test" + }, + "test.genome.vcf.gz.tbi:md5,fedd68eaddf8d31257853d9da8325bd3" + ] + ], + "versions_gatk4": [ + [ + "GATK4_INDEXFEATUREFILE", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-05T16:30:02.644854301" + }, + "test_gatk4_indexfeaturefile_bed": { + "content": [ + "genome.bed.idx", + { + "versions_gatk4": [ + [ + "GATK4_INDEXFEATUREFILE", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-05T16:30:51.259372358" + } +} \ No newline at end of file diff --git a/modules/nf-core/gatk4/intervallisttobed/environment.yml b/modules/nf-core/gatk4/intervallisttobed/environment.yml new file mode 100644 index 00000000..67e0eb86 --- /dev/null +++ b/modules/nf-core/gatk4/intervallisttobed/environment.yml @@ -0,0 +1,10 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + # renovate: datasource=conda depName=bioconda/gatk4 + - bioconda::gatk4=4.6.2.0 + # renovate: datasource=conda depName=bioconda/gcnvkernel + - bioconda::gcnvkernel=0.9 diff --git a/modules/nf-core/gatk4/intervallisttobed/main.nf b/modules/nf-core/gatk4/intervallisttobed/main.nf new file mode 100644 index 00000000..94330b06 --- /dev/null +++ b/modules/nf-core/gatk4/intervallisttobed/main.nf @@ -0,0 +1,46 @@ +process GATK4_INTERVALLISTTOBED { + tag "${meta.id}" + label 'process_low' + + conda "${moduleDir}/environment.yml" + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/ce/ced519873646379e287bc28738bdf88e975edd39a92e7bc6a34bccd37153d9d0/data' + : 'community.wave.seqera.io/library/gatk4_gcnvkernel:edb12e4f0bf02cd3'}" + + input: + tuple val(meta), path(intervals) + + output: + tuple val(meta), path("${prefix}.bed"), emit: bed + tuple val("${task.process}"), val('gatk4'), eval("gatk --version | sed -n '/GATK.*v/s/.*v//p'"), topic: versions, emit: versions_gatk4 + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + prefix = task.ext.prefix ?: "${meta.id}" + + def avail_mem = 3072 + if (!task.memory) { + log.info('[GATK IntervalListToBed] Available memory not known - defaulting to 3GB. Specify process memory requirements to change this.') + } + else { + avail_mem = (task.memory.mega * 0.8).intValue() + } + """ + gatk --java-options "-Xmx${avail_mem}M -XX:-UsePerfData" \\ + IntervalListToBed \\ + --INPUT ${intervals} \\ + --OUTPUT ${prefix}.bed \\ + --TMP_DIR . \\ + ${args} + """ + + stub: + prefix = task.ext.prefix ?: "${meta.id}" + + """ + touch ${prefix}.bed + """ +} diff --git a/modules/nf-core/gatk4/intervallisttobed/meta.yml b/modules/nf-core/gatk4/intervallisttobed/meta.yml new file mode 100644 index 00000000..316f66bf --- /dev/null +++ b/modules/nf-core/gatk4/intervallisttobed/meta.yml @@ -0,0 +1,64 @@ +name: gatk4_intervallisttobed +description: Converts an Picard IntervalList file to a BED file. +keywords: + - bed + - conversion + - gatk4 + - interval +tools: + - gatk4: + description: Genome Analysis Toolkit (GATK4) + homepage: https://gatk.broadinstitute.org/hc/en-us + documentation: https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s + tool_dev_url: https://github.com/broadinstitute/gatk + doi: "10.1158/1538-7445.AM2017-3590" + licence: ["BSD-3-clause"] + identifier: "" +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - intervals: + type: file + description: IntervalList file + ontologies: [] +output: + bed: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - ${prefix}.bed: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + pattern: "${prefix}.bed" + versions_gatk4: + - - ${task.process}: + type: string + description: The name of the process + - gatk4: + type: string + description: The name of the tool + - gatk --version | sed -n '/GATK.*v/s/.*v//p': + type: eval + description: The expression to obtain the version of the tool +topics: + versions: + - - ${task.process}: + type: string + description: The name of the process + - gatk4: + type: string + description: The name of the tool + - gatk --version | sed -n '/GATK.*v/s/.*v//p': + type: eval + description: The expression to obtain the version of the tool +authors: + - "@FriederikeHanssen" +maintainers: + - "@FriederikeHanssen" diff --git a/modules/nf-core/gatk4/intervallisttobed/tests/main.nf.test b/modules/nf-core/gatk4/intervallisttobed/tests/main.nf.test new file mode 100644 index 00000000..72469402 --- /dev/null +++ b/modules/nf-core/gatk4/intervallisttobed/tests/main.nf.test @@ -0,0 +1,55 @@ +nextflow_process { + + name "Test Process GATK4_INTERVALLISTTOBED" + script "../main.nf" + process "GATK4_INTERVALLISTTOBED" + + tag "modules" + tag "modules_nfcore" + tag "gatk4" + tag "gatk4/intervallisttobed" + + test("homo sapiens - bed") { + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + "genomics/homo_sapiens/genome/chr21/sequence/genome.interval_list", checkIfExists: true) + ] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(process.out).match() } + ) + } + } + + test("homo sapiens - bed - stub") { + + options "-stub" + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + "genomics/homo_sapiens/genome/chr21/sequence/genome.interval_list", checkIfExists: true) + ] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(process.out).match() } + ) + } + } +} diff --git a/modules/nf-core/gatk4/intervallisttobed/tests/main.nf.test.snap b/modules/nf-core/gatk4/intervallisttobed/tests/main.nf.test.snap new file mode 100644 index 00000000..bc0874ac --- /dev/null +++ b/modules/nf-core/gatk4/intervallisttobed/tests/main.nf.test.snap @@ -0,0 +1,88 @@ +{ + "homo sapiens - bed": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + "test.bed:md5,9046675d01199fbbee79f2bc1c5dce52" + ] + ], + "1": [ + [ + "GATK4_INTERVALLISTTOBED", + "gatk4", + "4.6.2.0" + ] + ], + "bed": [ + [ + { + "id": "test", + "single_end": false + }, + "test.bed:md5,9046675d01199fbbee79f2bc1c5dce52" + ] + ], + "versions_gatk4": [ + [ + "GATK4_INTERVALLISTTOBED", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-05T16:30:09.558209121" + }, + "homo sapiens - bed - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + "test.bed:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + [ + "GATK4_INTERVALLISTTOBED", + "gatk4", + "4.6.2.0" + ] + ], + "bed": [ + [ + { + "id": "test", + "single_end": false + }, + "test.bed:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions_gatk4": [ + [ + "GATK4_INTERVALLISTTOBED", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-05T16:30:15.587715737" + } +} \ No newline at end of file diff --git a/modules/nf-core/gatk4/learnreadorientationmodel/environment.yml b/modules/nf-core/gatk4/learnreadorientationmodel/environment.yml new file mode 100644 index 00000000..67e0eb86 --- /dev/null +++ b/modules/nf-core/gatk4/learnreadorientationmodel/environment.yml @@ -0,0 +1,10 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + # renovate: datasource=conda depName=bioconda/gatk4 + - bioconda::gatk4=4.6.2.0 + # renovate: datasource=conda depName=bioconda/gcnvkernel + - bioconda::gcnvkernel=0.9 diff --git a/modules/nf-core/gatk4/learnreadorientationmodel/main.nf b/modules/nf-core/gatk4/learnreadorientationmodel/main.nf new file mode 100644 index 00000000..500da547 --- /dev/null +++ b/modules/nf-core/gatk4/learnreadorientationmodel/main.nf @@ -0,0 +1,46 @@ +process GATK4_LEARNREADORIENTATIONMODEL { + tag "${meta.id}" + label 'process_low' + + conda "${moduleDir}/environment.yml" + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/ce/ced519873646379e287bc28738bdf88e975edd39a92e7bc6a34bccd37153d9d0/data' + : 'community.wave.seqera.io/library/gatk4_gcnvkernel:edb12e4f0bf02cd3'}" + + input: + tuple val(meta), path(f1r2) + + output: + tuple val(meta), path("*.tar.gz"), emit: artifactprior + tuple val("${task.process}"), val('gatk4'), eval("gatk --version | sed -n '/GATK.*v/s/.*v//p'"), topic: versions, emit: versions_gatk4 + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + def input_list = f1r2.collect { f1r2_ -> "--input ${f1r2_}" }.join(' ') + + def avail_mem = 3072 + if (!task.memory) { + log.info('[GATK LearnReadOrientationModel] Available memory not known - defaulting to 3GB. Specify process memory requirements to change this.') + } + else { + avail_mem = (task.memory.mega * 0.8).intValue() + } + """ + gatk --java-options "-Xmx${avail_mem}M -XX:-UsePerfData" \\ + LearnReadOrientationModel \\ + ${input_list} \\ + --output ${prefix}.tar.gz \\ + --tmp-dir . \\ + ${args} + """ + + stub: + def prefix = task.ext.prefix ?: "${meta.id}" + """ + echo "" | gzip > ${prefix}.tar.gz + """ +} diff --git a/modules/nf-core/gatk4/learnreadorientationmodel/meta.yml b/modules/nf-core/gatk4/learnreadorientationmodel/meta.yml new file mode 100644 index 00000000..cf14f02a --- /dev/null +++ b/modules/nf-core/gatk4/learnreadorientationmodel/meta.yml @@ -0,0 +1,68 @@ +name: gatk4_learnreadorientationmodel +description: | + Uses f1r2 counts collected during mutect2 to Learn the prior probability of read orientation artifacts +keywords: + - gatk4 + - learnreadorientationmodel + - mutect2 + - readorientationartifacts +tools: + - gatk4: + description: | + Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools + with a primary focus on variant discovery and genotyping. Its powerful processing engine + and high-performance computing features make it capable of taking on projects of any size. + homepage: https://gatk.broadinstitute.org/hc/en-us + documentation: https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s + doi: 10.1158/1538-7445.AM2017-3590 + licence: ["Apache-2.0"] + identifier: "" +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test' ] + - f1r2: + type: list + description: list of f1r2 files to be used as input. + pattern: "*.f1r2.tar.gz" +output: + artifactprior: + - - meta: + type: file + description: file containing artifact-priors to be used by filtermutectcalls + pattern: "*.tar.gz" + ontologies: + - edam: http://edamontology.org/format_3989 # GZIP format + - "*.tar.gz": + type: file + description: file containing artifact-priors to be used by filtermutectcalls + pattern: "*.tar.gz" + ontologies: + - edam: http://edamontology.org/format_3989 # GZIP format + versions_gatk4: + - - ${task.process}: + type: string + description: The name of the process + - gatk4: + type: string + description: The name of the tool + - gatk --version | sed -n '/GATK.*v/s/.*v//p': + type: eval + description: The expression to obtain the version of the tool +topics: + versions: + - - ${task.process}: + type: string + description: The name of the process + - gatk4: + type: string + description: The name of the tool + - gatk --version | sed -n '/GATK.*v/s/.*v//p': + type: eval + description: The expression to obtain the version of the tool +authors: + - "@GCJMackenzie" +maintainers: + - "@GCJMackenzie" diff --git a/modules/nf-core/gatk4/learnreadorientationmodel/tests/main.nf.test b/modules/nf-core/gatk4/learnreadorientationmodel/tests/main.nf.test new file mode 100644 index 00000000..6e686648 --- /dev/null +++ b/modules/nf-core/gatk4/learnreadorientationmodel/tests/main.nf.test @@ -0,0 +1,56 @@ + +nextflow_process { + + name "Test Process GATK4_LEARNREADORIENTATIONMODEL" + script "../main.nf" + process "GATK4_LEARNREADORIENTATIONMODEL" + config "./nextflow.config" + + tag "modules" + tag "modules_nfcore" + tag "gatk4" + tag "gatk4/learnreadorientationmodel" + + test("test-gatk4-learnreadorientationmodel") { + + when { + process { + """ + input[0] = [ [ id:'test' ], // meta map + [file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gatk/paired_mutect2_calls/test_test2_paired_mutect2_calls.f1r2.tar.gz', checkIfExists: true)] ] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot( + path(process.out.artifactprior[0][1]).linesGzip[3..7], + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() } + ) + } + } + + test("test-gatk4-learnreadorientationmodel - stub") { + + options "-stub" + + when { + process { + """ + input[0] = [ [ id:'test' ], // meta map + [file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gatk/paired_mutect2_calls/test_test2_paired_mutect2_calls.f1r2.tar.gz', checkIfExists: true)] ] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(process.out).match() } + ) + } + } +} diff --git a/modules/nf-core/gatk4/learnreadorientationmodel/tests/main.nf.test.snap b/modules/nf-core/gatk4/learnreadorientationmodel/tests/main.nf.test.snap new file mode 100644 index 00000000..6e429221 --- /dev/null +++ b/modules/nf-core/gatk4/learnreadorientationmodel/tests/main.nf.test.snap @@ -0,0 +1,68 @@ +{ + "test-gatk4-learnreadorientationmodel - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.artifact-prior.tar.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "1": [ + [ + "GATK4_LEARNREADORIENTATIONMODEL", + "gatk4", + "4.6.2.0" + ] + ], + "artifactprior": [ + [ + { + "id": "test" + }, + "test.artifact-prior.tar.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "versions_gatk4": [ + [ + "GATK4_LEARNREADORIENTATIONMODEL", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-05T16:31:54.993712955" + }, + "test-gatk4-learnreadorientationmodel": { + "content": [ + [ + "CTT\tAAG\t2.7114986684474486E-6\t3.2076972826656866E-5\t2.6085822355549755E-6\t0.0\t2.6371799896540086E-6\t3.3869355267901446E-6\t2.6085822355549755E-6\t0.0\t0.9995881552107633\t4.6590850211691583E-5\t2.8848017683240004E-4\t3.0744010710100574E-5\t38334\t116", + "GTT\tAAC\t0.1\t0.1\t0.1\t0.0\t0.1\t0.1\t0.1\t0.0\t0.1\t0.1\t0.1\t0.1\t0\t0", + "TAT\tATA\t0.0\t5.548307163536064E-6\t5.144357865084592E-6\t6.205892051757818E-6\t0.0\t5.907388162200423E-6\t5.176730417709638E-6\t6.083872804985981E-6\t0.9924019419831304\t3.946972069386949E-5\t0.007516612822150651\t7.908925559851714E-6\t19439\t95", + "AAA\tTTT\t0.0\t1.7634470563520664E-6\t2.8327478284981175E-6\t1.8084237600021914E-6\t0.0\t1.7692606885284446E-6\t2.263339968296726E-6\t1.8660094002474611E-6\t0.9990845693211764\t1.8004690536795885E-5\t8.701192700921183E-4\t1.5003489492700572E-5\t56708\t130", + "CAA\tTTG\t0.0\t3.4445551925564533E-6\t3.435193155024585E-6\t5.139879646597498E-6\t0.0\t3.4674461103560476E-6\t3.428570449688764E-6\t6.343168047383713E-6\t0.9945238954147358\t1.3629167993931722E-4\t0.0052793454402581125\t3.5208652465150646E-5\t29263\t197" + ], + { + "versions_gatk4": [ + [ + "GATK4_LEARNREADORIENTATIONMODEL", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-05T16:31:48.54818199" + } +} \ No newline at end of file diff --git a/modules/nf-core/gatk4/learnreadorientationmodel/tests/nextflow.config b/modules/nf-core/gatk4/learnreadorientationmodel/tests/nextflow.config new file mode 100644 index 00000000..79e4f67d --- /dev/null +++ b/modules/nf-core/gatk4/learnreadorientationmodel/tests/nextflow.config @@ -0,0 +1,5 @@ +process { + withName: GATK4_LEARNREADORIENTATIONMODEL { + ext.prefix = { "${meta.id}.artifact-prior" } + } +} diff --git a/modules/nf-core/gatk4/markduplicates/environment.yml b/modules/nf-core/gatk4/markduplicates/environment.yml new file mode 100644 index 00000000..4a13c613 --- /dev/null +++ b/modules/nf-core/gatk4/markduplicates/environment.yml @@ -0,0 +1,15 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda + +dependencies: + # renovate: datasource=conda depName=bioconda/gatk4 + - bioconda::gatk4=4.6.2.0 + # renovate: datasource=conda depName=bioconda/gcnvkernel + - bioconda::gcnvkernel=0.9 + # do not update - later htslib versions not compatible with gcnvkernel + - bioconda::htslib=1.21 + # do not update - later samtools versions not compatible with gcnvkernel + - bioconda::samtools=1.21 diff --git a/modules/nf-core/gatk4/markduplicates/main.nf b/modules/nf-core/gatk4/markduplicates/main.nf new file mode 100644 index 00000000..6fd44ea2 --- /dev/null +++ b/modules/nf-core/gatk4/markduplicates/main.nf @@ -0,0 +1,75 @@ +process GATK4_MARKDUPLICATES { + tag "${meta.id}" + label 'process_low' + + conda "${moduleDir}/environment.yml" + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/e3/e3d753d93f57969fe76b8628a8dfcd23ef44bccd08c4ced7089c1f94bf47c89f/data' + : 'community.wave.seqera.io/library/gatk4_gcnvkernel_htslib_samtools:d3becb6465454c35'}" + + input: + tuple val(meta), path(bam) + path fasta + path fasta_fai + + output: + tuple val(meta), path("*cram"), emit: cram, optional: true + tuple val(meta), path("*bam"), emit: bam, optional: true + tuple val(meta), path("*.crai"), emit: crai, optional: true + tuple val(meta), path("*.bai"), emit: bai, optional: true + tuple val(meta), path("*.metrics"), emit: metrics + tuple val("${task.process}"), val('gatk4'), eval("gatk --version | sed -n '/GATK.*v/s/.*v//p'"), topic: versions, emit: versions_gatk4 + tuple val("${task.process}"), val('samtools'), eval("samtools version | sed '1!d;s/.* //'"), topic: versions, emit: versions_samtools + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + prefix = task.ext.prefix ?: "${meta.id}.bam" + + // If the extension is CRAM, then change it to BAM + prefix_bam = prefix.tokenize('.')[-1] == 'cram' ? "${prefix.substring(0, prefix.lastIndexOf('.'))}.bam" : prefix + + def input_list = bam.collect { bam_ -> "--INPUT ${bam_}" }.join(' ') + def reference = fasta ? "--REFERENCE_SEQUENCE ${fasta}" : "" + + def avail_mem = 3072 + if (!task.memory) { + log.info('[GATK MarkDuplicates] Available memory not known - defaulting to 3GB. Specify process memory requirements to change this.') + } + else { + avail_mem = (task.memory.mega * 0.8).intValue() + } + + // Using samtools and not Markduplicates to compress to CRAM speeds up computation: + // https://medium.com/@acarroll.dna/looking-at-trade-offs-in-compression-levels-for-genomics-tools-eec2834e8b94 + """ + gatk --java-options "-Xmx${avail_mem}M -XX:-UsePerfData" \\ + MarkDuplicates \\ + ${input_list} \\ + --OUTPUT ${prefix_bam} \\ + --METRICS_FILE ${prefix}.metrics \\ + --TMP_DIR . \\ + ${reference} \\ + ${args} + + # If cram files are wished as output, the run samtools for conversion + if [[ ${prefix} == *.cram ]]; then + samtools view -Ch -T ${fasta} -o ${prefix} ${prefix_bam} + rm ${prefix_bam} + samtools index ${prefix} + fi + """ + + stub: + prefix = task.ext.prefix ?: "${meta.id}.bam" + prefix_no_suffix = task.ext.prefix ? prefix.tokenize('.')[0] : "${meta.id}" + """ + touch ${prefix_no_suffix}.bam + touch ${prefix_no_suffix}.cram + touch ${prefix_no_suffix}.cram.crai + touch ${prefix_no_suffix}.bai + touch ${prefix}.metrics + """ +} diff --git a/modules/nf-core/gatk4/markduplicates/meta.yml b/modules/nf-core/gatk4/markduplicates/meta.yml new file mode 100644 index 00000000..33dbc1a3 --- /dev/null +++ b/modules/nf-core/gatk4/markduplicates/meta.yml @@ -0,0 +1,149 @@ +name: gatk4_markduplicates +description: This tool locates and tags duplicate reads in a BAM or SAM file, + where duplicate reads are defined as originating from a single fragment of + DNA. +keywords: + - bam + - gatk4 + - markduplicates + - sort +tools: + - gatk4: + description: Developed in the Data Sciences Platform at the Broad Institute, + the toolkit offers a wide variety of tools with a primary focus on variant + discovery and genotyping. Its powerful processing engine and + high-performance computing features make it capable of taking on projects + of any size. + homepage: https://gatk.broadinstitute.org/hc/en-us + documentation: https://gatk.broadinstitute.org/hc/en-us/articles/360037052812-MarkDuplicates-Picard- + tool_dev_url: https://github.com/broadinstitute/gatk + doi: 10.1158/1538-7445.AM2017-3590 + licence: ["MIT"] + identifier: "" +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - bam: + type: file + description: Sorted BAM file + pattern: "*.{bam}" + ontologies: [] + - fasta: + type: file + description: Fasta file + pattern: "*.{fasta}" + ontologies: [] + - fasta_fai: + type: file + description: Fasta index file + pattern: "*.{fai}" + ontologies: [] +output: + cram: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*cram": + type: file + description: Marked duplicates CRAM file + pattern: "*.{cram}" + ontologies: [] + bam: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*bam": + type: file + description: Marked duplicates BAM file + pattern: "*.{bam}" + ontologies: [] + crai: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.crai": + type: file + description: CRAM index file + pattern: "*.{cram.crai}" + ontologies: [] + bai: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.bai": + type: file + description: BAM index file + pattern: "*.{bam.bai}" + ontologies: [] + metrics: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.metrics": + type: file + description: Duplicate metrics file generated by GATK + pattern: "*.{metrics.txt}" + ontologies: [] + versions_gatk4: + - - ${task.process}: + type: string + description: The name of the process + - gatk4: + type: string + description: The name of the tool + - gatk --version | sed -n '/GATK.*v/s/.*v//p': + type: eval + description: The expression to obtain the version of the tool + versions_samtools: + - - ${task.process}: + type: string + description: The name of the process + - samtools: + type: string + description: The name of the tool + - samtools version | sed '1!d;s/.* //': + type: eval + description: The expression to obtain the version of the tool + +topics: + versions: + - - ${task.process}: + type: string + description: The name of the process + - gatk4: + type: string + description: The name of the tool + - gatk --version | sed -n '/GATK.*v/s/.*v//p': + type: eval + description: The expression to obtain the version of the tool + - - ${task.process}: + type: string + description: The name of the process + - samtools: + type: string + description: The name of the tool + - samtools version | sed '1!d;s/.* //': + type: eval + description: The expression to obtain the version of the tool + +authors: + - "@ajodeh-juma" + - "@FriederikeHanssen" + - "@maxulysse" +maintainers: + - "@ajodeh-juma" + - "@FriederikeHanssen" + - "@maxulysse" diff --git a/modules/nf-core/gatk4/markduplicates/tests/bam.config b/modules/nf-core/gatk4/markduplicates/tests/bam.config new file mode 100644 index 00000000..0bbfbac3 --- /dev/null +++ b/modules/nf-core/gatk4/markduplicates/tests/bam.config @@ -0,0 +1,8 @@ +process { + + withName: GATK4_MARKDUPLICATES { + ext.args = '--CREATE_INDEX true' + ext.prefix = { "${meta.id}.bam" } + } + +} diff --git a/modules/nf-core/gatk4/markduplicates/tests/cram.config b/modules/nf-core/gatk4/markduplicates/tests/cram.config new file mode 100644 index 00000000..04a9b074 --- /dev/null +++ b/modules/nf-core/gatk4/markduplicates/tests/cram.config @@ -0,0 +1,8 @@ +process { + + withName: GATK4_MARKDUPLICATES { + ext.args = '--CREATE_INDEX true' + ext.prefix = { "${meta.id}.cram" } + } + +} diff --git a/modules/nf-core/gatk4/markduplicates/tests/main.nf.test b/modules/nf-core/gatk4/markduplicates/tests/main.nf.test new file mode 100644 index 00000000..bbf66394 --- /dev/null +++ b/modules/nf-core/gatk4/markduplicates/tests/main.nf.test @@ -0,0 +1,128 @@ +nextflow_process { + + name "Test Process GATK4_MARKDUPLICATES" + script "../main.nf" + process "GATK4_MARKDUPLICATES" + + tag "modules" + tag "modules_nfcore" + tag "gatk4" + tag "gatk4/markduplicates" + + test("sarscov2 - bam") { + config "./bam.config" + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:false ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true) + ] + input[1] = [] + input[2] = [] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot( + process.out.bam, + process.out.bai, + file(process.out.metrics[0][1]).name, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() } + ) + } + } + + test("homo_sapiens - multiple bam") { + config "./bam.config" + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:false ], + [ + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test2.paired_end.sorted.bam', checkIfExists: true) + ] + ] + input[1] = [] + input[2] = [] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot( + process.out.bam, + process.out.bai, + file(process.out.metrics[0][1]).name, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() } + ) + } + } + + test("homo_sapiens - multiple cram") { + config "./cram.config" + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:false ], // meta map + [ + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test2.paired_end.sorted.bam', checkIfExists: true) + ] + ] + input[1] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true) + input[2] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.fai', checkIfExists: true) + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot( + file(process.out.cram[0][1]).name, + file(process.out.crai[0][1]).name, + file(process.out.metrics[0][1]).name, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() } + ) + } + } + + test("stub") { + config "./bam.config" + options "-stub" + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:false ], + [] + ] + input[1] = [] + input[2] = [] + """ + } + } + + then { + assertAll( + { assert process.success } + ) + } + } +} diff --git a/modules/nf-core/gatk4/markduplicates/tests/main.nf.test.snap b/modules/nf-core/gatk4/markduplicates/tests/main.nf.test.snap new file mode 100644 index 00000000..0a491327 --- /dev/null +++ b/modules/nf-core/gatk4/markduplicates/tests/main.nf.test.snap @@ -0,0 +1,118 @@ +{ + "sarscov2 - bam": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.bam:md5,a9994ba43be93769a06d4814e95928cd" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.bai:md5,fd1c3cc02f4e223d32eedeed842b86c7" + ] + ], + "test.bam.metrics", + { + "versions_gatk4": [ + [ + "GATK4_MARKDUPLICATES", + "gatk4", + "4.6.2.0" + ] + ], + "versions_samtools": [ + [ + "GATK4_MARKDUPLICATES", + "samtools", + "1.21" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-05T16:39:06.851947547" + }, + "homo_sapiens - multiple bam": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.bam:md5,6fee419d69f55f53b5a0d0334a5f9615" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.bai:md5,2b1603773979ad06f4dbcbaa90e93e8c" + ] + ], + "test.bam.metrics", + { + "versions_gatk4": [ + [ + "GATK4_MARKDUPLICATES", + "gatk4", + "4.6.2.0" + ] + ], + "versions_samtools": [ + [ + "GATK4_MARKDUPLICATES", + "samtools", + "1.21" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-05T16:39:14.928475242" + }, + "homo_sapiens - multiple cram": { + "content": [ + "test.cram", + "test.cram.crai", + "test.cram.metrics", + { + "versions_gatk4": [ + [ + "GATK4_MARKDUPLICATES", + "gatk4", + "4.6.2.0" + ] + ], + "versions_samtools": [ + [ + "GATK4_MARKDUPLICATES", + "samtools", + "1.21" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-05T16:39:23.543842929" + } +} \ No newline at end of file diff --git a/modules/nf-core/gatk4/mergemutectstats/environment.yml b/modules/nf-core/gatk4/mergemutectstats/environment.yml new file mode 100644 index 00000000..67e0eb86 --- /dev/null +++ b/modules/nf-core/gatk4/mergemutectstats/environment.yml @@ -0,0 +1,10 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + # renovate: datasource=conda depName=bioconda/gatk4 + - bioconda::gatk4=4.6.2.0 + # renovate: datasource=conda depName=bioconda/gcnvkernel + - bioconda::gcnvkernel=0.9 diff --git a/modules/nf-core/gatk4/mergemutectstats/main.nf b/modules/nf-core/gatk4/mergemutectstats/main.nf new file mode 100644 index 00000000..a1da0358 --- /dev/null +++ b/modules/nf-core/gatk4/mergemutectstats/main.nf @@ -0,0 +1,46 @@ +process GATK4_MERGEMUTECTSTATS { + tag "${meta.id}" + label 'process_low' + + conda "${moduleDir}/environment.yml" + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/ce/ced519873646379e287bc28738bdf88e975edd39a92e7bc6a34bccd37153d9d0/data' + : 'community.wave.seqera.io/library/gatk4_gcnvkernel:edb12e4f0bf02cd3'}" + + input: + tuple val(meta), path(stats) + + output: + tuple val(meta), path("*.vcf.gz.stats"), emit: stats + tuple val("${task.process}"), val('gatk4'), eval("gatk --version | sed -n '/GATK.*v/s/.*v//p'"), topic: versions, emit: versions_gatk4 + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + def input_list = stats.collect { stats_ -> "--stats ${stats_}" }.join(' ') + + def avail_mem = 3072 + if (!task.memory) { + log.info('[GATK MergeMutectStats] Available memory not known - defaulting to 3GB. Specify process memory requirements to change this.') + } + else { + avail_mem = (task.memory.mega * 0.8).intValue() + } + """ + gatk --java-options "-Xmx${avail_mem}M -XX:-UsePerfData" \\ + MergeMutectStats \\ + ${input_list} \\ + --output ${prefix}.vcf.gz.stats \\ + --tmp-dir . \\ + ${args} + """ + + stub: + def prefix = task.ext.prefix ?: "${meta.id}" + """ + touch ${prefix}.vcf.gz.stats + """ +} diff --git a/modules/nf-core/gatk4/mergemutectstats/meta.yml b/modules/nf-core/gatk4/mergemutectstats/meta.yml new file mode 100644 index 00000000..fc941347 --- /dev/null +++ b/modules/nf-core/gatk4/mergemutectstats/meta.yml @@ -0,0 +1,64 @@ +name: gatk4_mergemutectstats +description: Merges mutect2 stats generated on different intervals/regions +keywords: + - gatk4 + - merge + - mutect2 + - mutectstats +tools: + - gatk4: + description: Genome Analysis Toolkit (GATK4) + homepage: https://gatk.broadinstitute.org/hc/en-us + documentation: https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s + tool_dev_url: https://github.com/broadinstitute/gatk + doi: "10.1158/1538-7445.AM2017-3590" + licence: ["BSD-3-clause"] + identifier: "" +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - stats: + type: file + description: Stats file + pattern: "*.{stats}" + ontologies: [] +output: + stats: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.vcf.gz.stats": + type: file + description: Stats file + pattern: "*.vcf.gz.stats" + ontologies: [] + versions_gatk4: + - - ${task.process}: + type: string + description: The name of the process + - gatk4: + type: string + description: The name of the tool + - gatk --version | sed -n '/GATK.*v/s/.*v//p': + type: eval + description: The expression to obtain the version of the tool +topics: + versions: + - - ${task.process}: + type: string + description: The name of the process + - gatk4: + type: string + description: The name of the tool + - gatk --version | sed -n '/GATK.*v/s/.*v//p': + type: eval + description: The expression to obtain the version of the tool +authors: + - "@FriederikeHanssen" +maintainers: + - "@FriederikeHanssen" diff --git a/modules/nf-core/gatk4/mergemutectstats/tests/main.nf.test b/modules/nf-core/gatk4/mergemutectstats/tests/main.nf.test new file mode 100644 index 00000000..3cbef337 --- /dev/null +++ b/modules/nf-core/gatk4/mergemutectstats/tests/main.nf.test @@ -0,0 +1,56 @@ +nextflow_process { + + name "Test Process GATK4_MERGEMUTECTSTATS" + script "../main.nf" + process "GATK4_MERGEMUTECTSTATS" + + tag "modules" + tag "modules_nfcore" + tag "gatk4" + tag "gatk4/mergemutectstats" + + test("human - stats, tsv") { + + when { + process { + """ + input[0] = [ [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gatk/paired_mutect2_calls/test_test2_paired_mutect2_calls.vcf.gz.stats', checkIfExists: true) + ] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot( + file(process.out.stats.get(0).get(1)).readLines()[0], + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() } + ) + } + } + + test("human - stats,tsv - stub") { + + options "-stub" + + when { + process { + """ + input[0] = [ [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gatk/paired_mutect2_calls/test_test2_paired_mutect2_calls.vcf.gz.stats', checkIfExists: true) + ] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(process.out).match() } + ) + } + } +} diff --git a/modules/nf-core/gatk4/mergemutectstats/tests/main.nf.test.snap b/modules/nf-core/gatk4/mergemutectstats/tests/main.nf.test.snap new file mode 100644 index 00000000..79c5417a --- /dev/null +++ b/modules/nf-core/gatk4/mergemutectstats/tests/main.nf.test.snap @@ -0,0 +1,64 @@ +{ + "human - stats,tsv - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + "test.vcf.gz.stats:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + [ + "GATK4_MERGEMUTECTSTATS", + "gatk4", + "4.6.2.0" + ] + ], + "stats": [ + [ + { + "id": "test", + "single_end": false + }, + "test.vcf.gz.stats:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions_gatk4": [ + [ + "GATK4_MERGEMUTECTSTATS", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-05T16:39:55.220699622" + }, + "human - stats, tsv": { + "content": [ + "statistic\tvalue", + { + "versions_gatk4": [ + [ + "GATK4_MERGEMUTECTSTATS", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-05T16:39:49.550861622" + } +} \ No newline at end of file diff --git a/modules/nf-core/gatk4/mergevcfs/environment.yml b/modules/nf-core/gatk4/mergevcfs/environment.yml new file mode 100644 index 00000000..67e0eb86 --- /dev/null +++ b/modules/nf-core/gatk4/mergevcfs/environment.yml @@ -0,0 +1,10 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + # renovate: datasource=conda depName=bioconda/gatk4 + - bioconda::gatk4=4.6.2.0 + # renovate: datasource=conda depName=bioconda/gcnvkernel + - bioconda::gcnvkernel=0.9 diff --git a/modules/nf-core/gatk4/mergevcfs/main.nf b/modules/nf-core/gatk4/mergevcfs/main.nf new file mode 100644 index 00000000..d7837d2f --- /dev/null +++ b/modules/nf-core/gatk4/mergevcfs/main.nf @@ -0,0 +1,51 @@ +process GATK4_MERGEVCFS { + tag "${meta.id}" + label 'process_low' + + conda "${moduleDir}/environment.yml" + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/ce/ced519873646379e287bc28738bdf88e975edd39a92e7bc6a34bccd37153d9d0/data' + : 'community.wave.seqera.io/library/gatk4_gcnvkernel:edb12e4f0bf02cd3'}" + + input: + tuple val(meta), path(vcf) + tuple val(meta2), path(dict) + + output: + tuple val(meta), path('*.vcf.gz'), emit: vcf + tuple val(meta), path("*.tbi"), emit: tbi + tuple val("${task.process}"), val('gatk4'), eval("gatk --version | sed -n '/GATK.*v/s/.*v//p'"), topic: versions, emit: versions_gatk4 + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + def input_list = vcf.collect { vcf_ -> "--INPUT ${vcf_}" }.join(' ') + def reference_command = dict ? "--SEQUENCE_DICTIONARY ${dict}" : "" + + def avail_mem = 3072 + if (!task.memory) { + log.info('[GATK MergeVcfs] Available memory not known - defaulting to 3GB. Specify process memory requirements to change this.') + } + else { + avail_mem = (task.memory.mega * 0.8).intValue() + } + """ + gatk --java-options "-Xmx${avail_mem}M -XX:-UsePerfData" \\ + MergeVcfs \\ + ${input_list} \\ + --OUTPUT ${prefix}.vcf.gz \\ + ${reference_command} \\ + --TMP_DIR . \\ + ${args} + """ + + stub: + def prefix = task.ext.prefix ?: "${meta.id}" + """ + echo "" | gzip > ${prefix}.vcf.gz + touch ${prefix}.vcf.gz.tbi + """ +} diff --git a/modules/nf-core/gatk4/mergevcfs/meta.yml b/modules/nf-core/gatk4/mergevcfs/meta.yml new file mode 100644 index 00000000..146eaf89 --- /dev/null +++ b/modules/nf-core/gatk4/mergevcfs/meta.yml @@ -0,0 +1,88 @@ +name: gatk4_mergevcfs +description: Merges several vcf files +keywords: + - gatk4 + - merge + - vcf +tools: + - gatk4: + description: | + Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools + with a primary focus on variant discovery and genotyping. Its powerful processing engine + and high-performance computing features make it capable of taking on projects of any size. + homepage: https://gatk.broadinstitute.org/hc/en-us + documentation: https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s + doi: 10.1158/1538-7445.AM2017-3590 + licence: ["Apache-2.0"] + identifier: "" +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test'] + - vcf: + type: list + description: Two or more VCF files + pattern: "*.{vcf,vcf.gz}" + - - meta2: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome'] + - dict: + type: file + description: Optional Sequence Dictionary as input + pattern: "*.dict" + ontologies: [] +output: + vcf: + - - meta: + type: file + description: merged vcf file + pattern: "*.vcf.gz" + ontologies: + - edam: http://edamontology.org/format_3989 # GZIP format + - "*.vcf.gz": + type: file + description: merged vcf file + pattern: "*.vcf.gz" + ontologies: + - edam: http://edamontology.org/format_3989 # GZIP format + tbi: + - - meta: + type: file + description: merged vcf file + pattern: "*.vcf.gz" + ontologies: + - edam: http://edamontology.org/format_3989 # GZIP format + - "*.tbi": + type: file + description: index files for the merged vcf files + pattern: "*.tbi" + ontologies: [] + versions_gatk4: + - - ${task.process}: + type: string + description: The name of the process + - gatk4: + type: string + description: The name of the tool + - gatk --version | sed -n '/GATK.*v/s/.*v//p': + type: eval + description: The expression to obtain the version of the tool +topics: + versions: + - - ${task.process}: + type: string + description: The name of the process + - gatk4: + type: string + description: The name of the tool + - gatk --version | sed -n '/GATK.*v/s/.*v//p': + type: eval + description: The expression to obtain the version of the tool +authors: + - "@kevinmenden" +maintainers: + - "@kevinmenden" diff --git a/modules/nf-core/gatk4/mergevcfs/tests/main.nf.test b/modules/nf-core/gatk4/mergevcfs/tests/main.nf.test new file mode 100644 index 00000000..fd9972b0 --- /dev/null +++ b/modules/nf-core/gatk4/mergevcfs/tests/main.nf.test @@ -0,0 +1,80 @@ +nextflow_process { + + name "Test Process GATK4_MERGEVCFS" + script "../main.nf" + process "GATK4_MERGEVCFS" + + tag "modules" + tag "modules_nfcore" + tag "gatk4" + tag "gatk4/mergevcfs" + + test("test_gatk4_mergevcfs") { + when { + process { + """ + input[0] = [ [ id:'test' ], [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/vcf/dbsnp_146.hg38.vcf.gz', checkIfExists: true), file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/vcf/gnomAD.r2.1.1.vcf.gz', checkIfExists: true) ]] + input[1] = [ [], file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.dict', checkIfExists: true)] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot( + file(process.out.vcf[0][1]).name, + file(process.out.tbi[0][1]).name, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() }, + ) + } + } + + test("test_gatk4_mergevcfs_no_dict") { + when { + process { + """ + input[0] = [ [ id:'test' ], [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/vcf/dbsnp_146.hg38.vcf.gz', checkIfExists: true), file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/vcf/gnomAD.r2.1.1.vcf.gz', checkIfExists: true) ]] + input[1] = [ [],[]] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot( + file(process.out.vcf[0][1]).name, + file(process.out.tbi[0][1]).name, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() }, + ) + } + } + + test("test_gatk4_mergevcfs_no_dict_stub") { + + options "-stub" + + when { + process { + """ + input[0] = [ [ id:'test' ], [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/vcf/dbsnp_146.hg38.vcf.gz', checkIfExists: true), file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/vcf/gnomAD.r2.1.1.vcf.gz', checkIfExists: true) ]] + input[1] = [ [],[]] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot( + file(process.out.vcf[0][1]).name, + file(process.out.tbi[0][1]).name, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() }, + ) + } + } +} diff --git a/modules/nf-core/gatk4/mergevcfs/tests/main.nf.test.snap b/modules/nf-core/gatk4/mergevcfs/tests/main.nf.test.snap new file mode 100644 index 00000000..38e55550 --- /dev/null +++ b/modules/nf-core/gatk4/mergevcfs/tests/main.nf.test.snap @@ -0,0 +1,62 @@ +{ + "test_gatk4_mergevcfs_no_dict_stub": { + "content": [ + "test.vcf.gz", + "test.vcf.gz.tbi", + { + "versions_gatk4": [ + [ + "GATK4_MERGEVCFS", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-05T16:40:17.349813218" + }, + "test_gatk4_mergevcfs": { + "content": [ + "test.vcf.gz", + "test.vcf.gz.tbi", + { + "versions_gatk4": [ + [ + "GATK4_MERGEVCFS", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-05T16:40:03.274024419" + }, + "test_gatk4_mergevcfs_no_dict": { + "content": [ + "test.vcf.gz", + "test.vcf.gz.tbi", + { + "versions_gatk4": [ + [ + "GATK4_MERGEVCFS", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-05T16:40:10.948156303" + } +} \ No newline at end of file diff --git a/modules/nf-core/gatk4/mutect2/environment.yml b/modules/nf-core/gatk4/mutect2/environment.yml new file mode 100644 index 00000000..67e0eb86 --- /dev/null +++ b/modules/nf-core/gatk4/mutect2/environment.yml @@ -0,0 +1,10 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + # renovate: datasource=conda depName=bioconda/gatk4 + - bioconda::gatk4=4.6.2.0 + # renovate: datasource=conda depName=bioconda/gcnvkernel + - bioconda::gcnvkernel=0.9 diff --git a/modules/nf-core/gatk4/mutect2/main.nf b/modules/nf-core/gatk4/mutect2/main.nf new file mode 100644 index 00000000..2ad8dba7 --- /dev/null +++ b/modules/nf-core/gatk4/mutect2/main.nf @@ -0,0 +1,70 @@ +process GATK4_MUTECT2 { + tag "${meta.id}" + label 'process_low' + + conda "${moduleDir}/environment.yml" + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/ce/ced519873646379e287bc28738bdf88e975edd39a92e7bc6a34bccd37153d9d0/data' + : 'community.wave.seqera.io/library/gatk4_gcnvkernel:edb12e4f0bf02cd3'}" + + input: + tuple val(meta), path(input), path(input_index), path(intervals) + tuple val(meta2), path(fasta) + tuple val(meta3), path(fai), path(gzi) + tuple val(meta4), path(dict) + path alleles + path alleles_tbi + path germline_resource + path germline_resource_tbi + path panel_of_normals + path panel_of_normals_tbi + + output: + tuple val(meta), path("${prefix}.vcf.gz"), emit: vcf + tuple val(meta), path("${prefix}.vcf.gz.stats"), emit: stats + tuple val(meta), path("${prefix}.vcf.gz.tbi"), emit: tbi + tuple val(meta), path("${prefix}.f1r2.tar.gz"), emit: f1r2, optional: true + tuple val("${task.process}"), val('gatk4'), eval("gatk --version | sed -n '/GATK.*v/s/.*v//p'"), topic: versions, emit: versions_gatk4 + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + prefix = task.ext.prefix ?: "${meta.id}" + def inputs = input.collect { vcf_ -> "--input ${vcf_}" }.join(" ") + def interval_command = intervals ? "--intervals ${intervals}" : "" + def pon_command = panel_of_normals ? "--panel-of-normals ${panel_of_normals}" : "" + def gr_command = germline_resource ? "--germline-resource ${germline_resource}" : "" + def a_command = alleles ? "--alleles ${alleles}" : "" + + def avail_mem = 3072 + if (!task.memory) { + log.info('[GATK Mutect2] Available memory not known - defaulting to 3GB. Specify process memory requirements to change this.') + } + else { + avail_mem = (task.memory.mega * 0.8).intValue() + } + """ + gatk --java-options "-Xmx${avail_mem}M -XX:-UsePerfData" \\ + Mutect2 \\ + ${inputs} \\ + --output ${prefix}.vcf.gz \\ + --reference ${fasta} \\ + ${pon_command} \\ + ${gr_command} \\ + ${a_command} \\ + ${interval_command} \\ + --tmp-dir . \\ + ${args} + """ + + stub: + prefix = task.ext.prefix ?: "${meta.id}" + """ + echo "" | gzip > ${prefix}.vcf.gz + touch ${prefix}.vcf.gz.tbi + touch ${prefix}.vcf.gz.stats + echo "" | gzip > ${prefix}.f1r2.tar.gz + """ +} diff --git a/modules/nf-core/gatk4/mutect2/meta.yml b/modules/nf-core/gatk4/mutect2/meta.yml new file mode 100644 index 00000000..cbcae282 --- /dev/null +++ b/modules/nf-core/gatk4/mutect2/meta.yml @@ -0,0 +1,175 @@ +name: gatk4_mutect2 +description: Call somatic SNVs and indels via local assembly of haplotypes. +keywords: + - gatk4 + - haplotype + - indels + - mutect2 + - snvs + - somatic +tools: + - gatk4: + description: | + Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools + with a primary focus on variant discovery and genotyping. Its powerful processing engine + and high-performance computing features make it capable of taking on projects of any size. + homepage: https://gatk.broadinstitute.org/hc/en-us + documentation: https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s + doi: 10.1158/1538-7445.AM2017-3590 + licence: ["Apache-2.0"] + identifier: "" +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test'] + - input: + type: list + description: list of BAM files, also able to take CRAM as an input + pattern: "*.{bam/cram}" + - input_index: + type: list + description: list of BAM file indexes, also able to take CRAM indexes as an + input + pattern: "*.{bam.bai/cram.crai}" + - intervals: + type: file + description: Specify region the tools is run on. + pattern: ".{bed,interval_list}" + ontologies: [] + - - meta2: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome' ] + - fasta: + type: file + description: The reference fasta file + pattern: "*.{fasta,fasta.gz}" + ontologies: [] + - - meta3: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome' ] + - fai: + type: file + description: Index of reference fasta file + pattern: "*.{fasta.fai,fasta.fai.gz}" + ontologies: [] + - gzi: + type: file + description: Index of bgzipped reference fasta file + pattern: "*.fasta.gz.gzi" + ontologies: [] + - - meta4: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome' ] + - dict: + type: file + description: GATK sequence dictionary + pattern: "*.dict" + ontologies: [] + - alleles: + type: file + description: vcf file to be used to force-call alleles. + pattern: "*.vcf.gz" + ontologies: + - edam: http://edamontology.org/format_3989 # GZIP format + - alleles_tbi: + type: file + description: Index file for alleles to be force-called. + pattern: "*.vcf.gz.tbi" + ontologies: [] + - germline_resource: + type: file + description: Population vcf of germline sequencing, containing allele fractions. + pattern: "*.vcf.gz" + ontologies: + - edam: http://edamontology.org/format_3989 # GZIP format + - germline_resource_tbi: + type: file + description: Index file for the germline resource. + pattern: "*.vcf.gz.tbi" + ontologies: [] + - panel_of_normals: + type: file + description: vcf file to be used as a panel of normals. + pattern: "*.vcf.gz" + ontologies: + - edam: http://edamontology.org/format_3989 # GZIP format + - panel_of_normals_tbi: + type: file + description: Index for the panel of normals. + pattern: "*.vcf.gz.tbi" + ontologies: [] +output: + vcf: + - - meta: + type: map + description: A Groovy map containing sample information + - "${prefix}.vcf.gz": + type: file + description: compressed vcf file + pattern: "${prefix}.vcf.gz" + ontologies: + - edam: http://edamontology.org/format_3989 # GZIP format + tbi: + - - meta: + type: map + description: A Groovy map containing sample information + - "${prefix}.vcf.gz.tbi": + type: file + description: Index of vcf file + pattern: "${prefix}.vcf.gz.tbi" + ontologies: [] + stats: + - - meta: + type: map + description: A Groovy map containing sample information + - "${prefix}.vcf.gz.stats": + type: file + description: Stats file that pairs with output vcf file + pattern: "${prefix}.vcf.gz.stats" + ontologies: [] + f1r2: + - - meta: + type: map + description: A Groovy map containing sample information + - "${prefix}.f1r2.tar.gz": + type: file + description: file containing information to be passed to LearnReadOrientationModel + (only outputted when tumor_normal_pair mode is run) + pattern: "${prefix}.f1r2.tar.gz" + ontologies: + - edam: http://edamontology.org/format_3989 # GZIP format + versions_gatk4: + - - ${task.process}: + type: string + description: The name of the process + - gatk4: + type: string + description: The name of the tool + - gatk --version | sed -n '/GATK.*v/s/.*v//p': + type: eval + description: The expression to obtain the version of the tool +topics: + versions: + - - ${task.process}: + type: string + description: The name of the process + - gatk4: + type: string + description: The name of the tool + - gatk --version | sed -n '/GATK.*v/s/.*v//p': + type: eval + description: The expression to obtain the version of the tool +authors: + - "@GCJMackenzie" + - "@ramprasadn" +maintainers: + - "@GCJMackenzie" + - "@ramprasadn" diff --git a/modules/nf-core/gatk4/mutect2/tests/main.nf.test b/modules/nf-core/gatk4/mutect2/tests/main.nf.test new file mode 100644 index 00000000..9e7b0fe7 --- /dev/null +++ b/modules/nf-core/gatk4/mutect2/tests/main.nf.test @@ -0,0 +1,542 @@ +nextflow_process { + + name "Test Process GATK4_MUTECT2" + script "../main.nf" + process "GATK4_MUTECT2" + + tag "modules" + tag "modules_nfcore" + tag "gatk4" + tag "gatk4/mutect2" + config "./nextflow.config" + + test("human - bam - tumor_normal_pair") { + when { + params { + module_args = "--normal-sample normal" + } + process { + """ + input[0] = [ + [ + id:'test', + normal_id:'normal', + tumor_id:'tumour' + ], + [ + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.recalibrated.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test2.paired_end.recalibrated.sorted.bam', checkIfExists: true) + ], + [ + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.recalibrated.sorted.bam.bai', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test2.paired_end.recalibrated.sorted.bam.bai', checkIfExists: true) + ], + [] + ] + input[1] = [ + [ id:'genome' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta', checkIfExists: true) + ] + input[2] = [ + [ id:'genome' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta.fai', checkIfExists: true)], + [] + ] + input[3] = [ + [ id:'genome' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.dict', checkIfExists: true) + ] + input[4] = [] + input[5] = [] + input[6] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/germlineresources/gnomAD.r2.1.1.vcf.gz', checkIfExists: true) + input[7] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/germlineresources/gnomAD.r2.1.1.vcf.gz.tbi', checkIfExists: true) + input[8] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/germlineresources/mills_and_1000G.indels.hg38.vcf.gz', checkIfExists: true) + input[9] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/germlineresources/mills_and_1000G.indels.hg38.vcf.gz.tbi', checkIfExists: true) + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot( + path(process.out.vcf.get(0).get(1)).vcf.variantsMD5, + process.out.tbi.collect { file(it[1]).getName() }, + process.out.stats, + process.out.f1r2, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() } + ) + } + } + + test("human - bam - tumor_normal_pair_f1r2") { + + when { + params { + module_args = "--normal-sample normal --f1r2-tar-gz test.f1r2.tar.gz" + } + process { + """ + input[0] = [ + [ + id:'test', + normal_id:'normal', + tumor_id:'tumour' + ], + [ + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.recalibrated.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test2.paired_end.recalibrated.sorted.bam', checkIfExists: true) + ], + [ + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.recalibrated.sorted.bam.bai', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test2.paired_end.recalibrated.sorted.bam.bai', checkIfExists: true) + ], + [] + ] + input[1] = [ + [ id:'genome' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta', checkIfExists: true) + ] + input[2] = [ + [ id:'genome' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta.fai', checkIfExists: true)], + [] + ] + input[3] = [ + [ id:'genome' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.dict', checkIfExists: true) + ] + input[4] = [] + input[5] = [] + input[6] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/germlineresources/gnomAD.r2.1.1.vcf.gz', checkIfExists: true) + input[7] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/germlineresources/gnomAD.r2.1.1.vcf.gz.tbi', checkIfExists: true) + input[8] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/germlineresources/mills_and_1000G.indels.hg38.vcf.gz', checkIfExists: true) + input[9] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/germlineresources/mills_and_1000G.indels.hg38.vcf.gz.tbi', checkIfExists: true) + """ + } + } + then { + assert process.success + assertAll( + { assert snapshot( + path(process.out.vcf.get(0).get(1)).vcf.variantsMD5, + process.out.tbi.collect { file(it[1]).getName() }, + process.out.stats, + process.out.f1r2.collect { file(it[1]).getName() }, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() } + ) + } + } + + test("human - bam - tumor_only"){ + when { + params { + module_args = '' + } + process { + """ + input[0] = [ + [ id:'test'], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test2.paired_end.recalibrated.sorted.bam', checkIfExists: true)], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test2.paired_end.recalibrated.sorted.bam.bai', checkIfExists: true)], + [] + ] + input[1] = [ + [ id:'genome' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta', checkIfExists: true) + ] + input[2] = [ + [ id:'genome' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta.fai', checkIfExists: true)], + [] + ] + input[3] = [ + [ id:'genome' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.dict', checkIfExists: true) + ] + input[4] = [] + input[5] = [] + input[6] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/germlineresources/gnomAD.r2.1.1.vcf.gz', checkIfExists: true) + input[7] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/germlineresources/gnomAD.r2.1.1.vcf.gz.tbi', checkIfExists: true) + input[8] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/germlineresources/mills_and_1000G.indels.hg38.vcf.gz', checkIfExists: true) + input[9] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/germlineresources/mills_and_1000G.indels.hg38.vcf.gz.tbi', checkIfExists: true) + """ + } + } + then { + assert process.success + assertAll( + { assert snapshot( + path(process.out.vcf.get(0).get(1)).vcf.variantsMD5, + process.out.tbi.collect { file(it[1]).getName() }, + process.out.stats, + process.out.f1r2, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() } + ) + } + } + + test("human - cram"){ + when { + params { + module_args = '' + } + process{ + """ + input[0] = [ + [ id:'test'], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test2.paired_end.recalibrated.sorted.cram', checkIfExists: true)], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test2.paired_end.recalibrated.sorted.cram.crai', checkIfExists: true)], + [] + ] + input[1] = [ + [ id:'genome' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta', checkIfExists: true) + ] + input[2] = [ + [ id:'genome' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta.fai', checkIfExists: true)], + [] + ] + input[3] = [ + [ id:'genome' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.dict', checkIfExists: true) + ] + input[4] = [] + input[5] = [] + input[6] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/germlineresources/gnomAD.r2.1.1.vcf.gz', checkIfExists: true) + input[7] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/germlineresources/gnomAD.r2.1.1.vcf.gz.tbi', checkIfExists: true) + input[8] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/germlineresources/mills_and_1000G.indels.hg38.vcf.gz', checkIfExists: true) + input[9] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/germlineresources/mills_and_1000G.indels.hg38.vcf.gz.tbi', checkIfExists: true) + """ + } + } + then { + assert process.success + assertAll( + { assert snapshot( + path(process.out.vcf.get(0).get(1)).vcf.variantsMD5, + process.out.tbi.collect { file(it[1]).getName() }, + process.out.stats, + process.out.f1r2, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() } + ) + } + } + + test("human - bam - generate_pon") { + when { + params { + module_args = '' + } + process { + """ + input[0] = [ + [ id:'test'], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.recalibrated.sorted.bam', checkIfExists: true)], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.recalibrated.sorted.bam.bai', checkIfExists: true)], + [] + ] + input[1] = [ + [ id:'genome' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta', checkIfExists: true) + ] + input[2] = [ + [ id:'genome' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta.fai', checkIfExists: true)], + [] + ] + input[3] = [ + [ id:'genome' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.dict', checkIfExists: true) + ] + input[4] = [] + input[5] = [] + input[6] = [] + input[7] = [] + input[8] = [] + input[9] = [] + """ + } + } + then { + assert process.success + assertAll( + { assert snapshot( + path(process.out.vcf.get(0).get(1)).vcf.variantsMD5, + process.out.tbi.collect { file(it[1]).getName() }, + process.out.stats, + process.out.f1r2, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() } + ) + } + } + + test("mitochondria - bam"){ + when { + params { + module_args = "--mitochondria-mode" + } + process { + """ + input[0] = [ + [ id:'test'], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/mitochon_standin.recalibrated.sorted.bam', checkIfExists: true)], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/mitochon_standin.recalibrated.sorted.bam.bai', checkIfExists: true)], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.bed', checkIfExists: true)] + ] + input[1] = [ + [ id:'genome' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true) + ] + input[2] = [ + [ id:'genome' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.fai', checkIfExists: true)], + [] + ] + input[3] = [ + [ id:'genome' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.dict', checkIfExists: true) + ] + input[4] = [] + input[5] = [] + input[6] = [] + input[7] = [] + input[8] = [] + input[9] = [] + """ + } + } + then { + assert process.success + assertAll( + { assert snapshot( + path(process.out.vcf.get(0).get(1)).vcf.variantsMD5, + process.out.tbi.collect { file(it[1]).getName() }, + process.out.stats, + process.out.f1r2, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() } + ) + } + } + + test("mitochondria - bam - gz_ref"){ + when { + params { + module_args = "--mitochondria-mode" + } + process { + """ + input[0] = [ + [ id:'test'], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/mitochon_standin.recalibrated.sorted.bam', checkIfExists: true)], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/mitochon_standin.recalibrated.sorted.bam.bai', checkIfExists: true)], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.bed', checkIfExists: true)] + ] + input[1] = [ + [ id:'genome' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.gz', checkIfExists: true) + ] + input[2] = [ + [ id:'genome' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.gz.fai', checkIfExists: true)], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.gz.gzi', checkIfExists: true)] + ] + input[3] = [ + [ id:'genome' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.dict', checkIfExists: true) + ] + input[4] = [] + input[5] = [] + input[6] = [] + input[7] = [] + input[8] = [] + input[9] = [] + """ + } + } + then { + assert process.success + assertAll( + { assert snapshot( + path(process.out.vcf.get(0).get(1)).vcf.variantsMD5, + process.out.tbi.collect { file(it[1]).getName() }, + process.out.stats, + process.out.f1r2, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() } + ) + } + } + + test("human - bam - tumor_normal_pair_f1r2 - stub"){ + + options "-stub" + + when { + params { + module_args = '' + } + process { + """ + input[0] = [ + [ + id:'test', + normal_id:'normal', + tumor_id:'tumour' + ], + [ + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.recalibrated.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test2.paired_end.recalibrated.sorted.bam', checkIfExists: true) + ], + [ + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.recalibrated.sorted.bam.bai', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test2.paired_end.recalibrated.sorted.bam.bai', checkIfExists: true) + ], + [] + ] + input[1] = [ + [ id:'genome' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta', checkIfExists: true) + ] + input[2] = [ + [ id:'genome' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta.fai', checkIfExists: true)], + [] + ] + input[3] = [ + [ id:'genome' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.dict', checkIfExists: true) + ] + input[4] = [] + input[5] = [] + input[6] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/germlineresources/gnomAD.r2.1.1.vcf.gz', checkIfExists: true) + input[7] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/germlineresources/gnomAD.r2.1.1.vcf.gz.tbi', checkIfExists: true) + input[8] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/germlineresources/mills_and_1000G.indels.hg38.vcf.gz', checkIfExists: true) + input[9] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/germlineresources/mills_and_1000G.indels.hg38.vcf.gz.tbi', checkIfExists: true) + """ + } + } + then { + assert process.success + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) + } + } + + test("human - bam - tumor_normal_pair - force_call") { + when { + params { + module_args = "" + } + process { + """ + input[0] = [ + [ + id:'test', + normal_id:'normal', + tumor_id:'tumour' + ], + [ + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.recalibrated.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test2.paired_end.recalibrated.sorted.bam', checkIfExists: true) + ], + [ + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.recalibrated.sorted.bam.bai', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test2.paired_end.recalibrated.sorted.bam.bai', checkIfExists: true) + ], + [] + ] + input[1] = [ + [ id:'genome' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta', checkIfExists: true) + ] + input[2] = [ + [ id:'genome' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta.fai', checkIfExists: true)], + [] + ] + input[3] = [ + [ id:'genome' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.dict', checkIfExists: true) + ] + input[4] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/germlineresources/axiom_exome_plus.genotypes.all_populations.poly.hg38.vcf.gz', checkIfExists: true) + input[5] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/germlineresources/axiom_exome_plus.genotypes.all_populations.poly.hg38.vcf.gz.tbi', checkIfExists: true) + input[6] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/germlineresources/gnomAD.r2.1.1.vcf.gz', checkIfExists: true) + input[7] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/germlineresources/gnomAD.r2.1.1.vcf.gz.tbi', checkIfExists: true) + input[8] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/germlineresources/mills_and_1000G.indels.hg38.vcf.gz', checkIfExists: true) + input[9] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/germlineresources/mills_and_1000G.indels.hg38.vcf.gz.tbi', checkIfExists: true) + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot( + path(process.out.vcf.get(0).get(1)).vcf.variantsMD5, + process.out.tbi.collect { file(it[1]).getName() }, + process.out.stats, + process.out.f1r2, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() } + ) + } + } + + test("human - bam - tumor_only - force_call"){ + when { + params { + module_args = '' + } + process { + """ + input[0] = [ + [ id:'test'], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test2.paired_end.recalibrated.sorted.bam', checkIfExists: true)], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test2.paired_end.recalibrated.sorted.bam.bai', checkIfExists: true)], + [] + ] + input[1] = [ + [ id:'genome' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta', checkIfExists: true) + ] + input[2] = [ + [ id:'genome' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta.fai', checkIfExists: true)], + [] + ] + input[3] = [ + [ id:'genome' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.dict', checkIfExists: true) + ] + input[4] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/germlineresources/axiom_exome_plus.genotypes.all_populations.poly.hg38.vcf.gz', checkIfExists: true) + input[5] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/germlineresources/axiom_exome_plus.genotypes.all_populations.poly.hg38.vcf.gz.tbi', checkIfExists: true) + input[6] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/germlineresources/gnomAD.r2.1.1.vcf.gz', checkIfExists: true) + input[7] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/germlineresources/gnomAD.r2.1.1.vcf.gz.tbi', checkIfExists: true) + input[8] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/germlineresources/mills_and_1000G.indels.hg38.vcf.gz', checkIfExists: true) + input[9] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/germlineresources/mills_and_1000G.indels.hg38.vcf.gz.tbi', checkIfExists: true) + """ + } + } + then { + assert process.success + assertAll( + { assert snapshot( + path(process.out.vcf.get(0).get(1)).vcf.variantsMD5, + process.out.tbi.collect { file(it[1]).getName() }, + process.out.stats, + process.out.f1r2, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() } + ) + } + } +} diff --git a/modules/nf-core/gatk4/mutect2/tests/main.nf.test.snap b/modules/nf-core/gatk4/mutect2/tests/main.nf.test.snap new file mode 100644 index 00000000..ad34ad82 --- /dev/null +++ b/modules/nf-core/gatk4/mutect2/tests/main.nf.test.snap @@ -0,0 +1,363 @@ +{ + "human - bam - generate_pon": { + "content": [ + "876aa6be01c0c8fc71ad8e99ed842240", + [ + "test.vcf.gz.tbi" + ], + [ + [ + { + "id": "test" + }, + "test.vcf.gz.stats:md5,b569ce66bbffe9588b3d221e821023ee" + ] + ], + [ + + ], + { + "versions_gatk4": [ + [ + "GATK4_MUTECT2", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "timestamp": "2026-02-05T16:54:59.699672374", + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + } + }, + "human - bam - tumor_only - force_call": { + "content": [ + "9c2928d0e751262c048ac162b9223e4e", + [ + "test.vcf.gz.tbi" + ], + [ + [ + { + "id": "test" + }, + "test.vcf.gz.stats:md5,2398263886ecb546c8055af4fbad6040" + ] + ], + [ + + ], + { + "versions_gatk4": [ + [ + "GATK4_MUTECT2", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "timestamp": "2026-02-05T17:02:15.006936591", + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + } + }, + "human - bam - tumor_normal_pair": { + "content": [ + "7418ed45a029394253817a5eb7149334", + [ + "test.vcf.gz.tbi" + ], + [ + [ + { + "id": "test", + "normal_id": "normal", + "tumor_id": "tumour" + }, + "test.vcf.gz.stats:md5,17d2091015d04cbd4a26b7a67dc659e6" + ] + ], + [ + + ], + { + "versions_gatk4": [ + [ + "GATK4_MUTECT2", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "timestamp": "2026-02-05T16:44:25.776848294", + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + } + }, + "human - cram": { + "content": [ + "1b65f1a163b517944bf2e4b74230e035", + [ + "test.vcf.gz.tbi" + ], + [ + [ + { + "id": "test" + }, + "test.vcf.gz.stats:md5,55ed641e16089afb33cdbc478e202d3d" + ] + ], + [ + + ], + { + "versions_gatk4": [ + [ + "GATK4_MUTECT2", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "timestamp": "2026-02-05T16:52:48.795368727", + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + } + }, + "mitochondria - bam": { + "content": [ + "ea70f79e33805a2c0b47b32a48a8d26f", + [ + "test.vcf.gz.tbi" + ], + [ + [ + { + "id": "test" + }, + "test.vcf.gz.stats:md5,fc6ea14ca2da346babe78161beea28c9" + ] + ], + [ + + ], + { + "versions_gatk4": [ + [ + "GATK4_MUTECT2", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "timestamp": "2026-02-05T16:55:10.945977864", + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + } + }, + "human - bam - tumor_only": { + "content": [ + "1b65f1a163b517944bf2e4b74230e035", + [ + "test.vcf.gz.tbi" + ], + [ + [ + { + "id": "test" + }, + "test.vcf.gz.stats:md5,55ed641e16089afb33cdbc478e202d3d" + ] + ], + [ + + ], + { + "versions_gatk4": [ + [ + "GATK4_MUTECT2", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "timestamp": "2026-02-05T16:50:29.074224171", + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + } + }, + "mitochondria - bam - gz_ref": { + "content": [ + "ea70f79e33805a2c0b47b32a48a8d26f", + [ + "test.vcf.gz.tbi" + ], + [ + [ + { + "id": "test" + }, + "test.vcf.gz.stats:md5,fc6ea14ca2da346babe78161beea28c9" + ] + ], + [ + + ], + { + "versions_gatk4": [ + [ + "GATK4_MUTECT2", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "timestamp": "2026-02-05T16:55:22.160325012", + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + } + }, + "human - bam - tumor_normal_pair - force_call": { + "content": [ + "63c4ff01a8316f4243b6b12b06ded74e", + [ + "test.vcf.gz.tbi" + ], + [ + [ + { + "id": "test", + "normal_id": "normal", + "tumor_id": "tumour" + }, + "test.vcf.gz.stats:md5,81390058f99b80db30c89020aa9fc546" + ] + ], + [ + + ], + { + "versions_gatk4": [ + [ + "GATK4_MUTECT2", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "timestamp": "2026-02-05T16:59:14.299303803", + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + } + }, + "human - bam - tumor_normal_pair_f1r2 - stub": { + "content": [ + { + "f1r2": [ + [ + { + "id": "test", + "normal_id": "normal", + "tumor_id": "tumour" + }, + "test.f1r2.tar.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "stats": [ + [ + { + "id": "test", + "normal_id": "normal", + "tumor_id": "tumour" + }, + "test.vcf.gz.stats:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "tbi": [ + [ + { + "id": "test", + "normal_id": "normal", + "tumor_id": "tumour" + }, + "test.vcf.gz.tbi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "vcf": [ + [ + { + "id": "test", + "normal_id": "normal", + "tumor_id": "tumour" + }, + "test.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "versions_gatk4": [ + [ + "GATK4_MUTECT2", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "timestamp": "2026-05-19T12:54:29.932873196", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.1" + } + }, + "human - bam - tumor_normal_pair_f1r2": { + "content": [ + "7418ed45a029394253817a5eb7149334", + [ + "test.vcf.gz.tbi" + ], + [ + [ + { + "id": "test", + "normal_id": "normal", + "tumor_id": "tumour" + }, + "test.vcf.gz.stats:md5,17d2091015d04cbd4a26b7a67dc659e6" + ] + ], + [ + "test.f1r2.tar.gz" + ], + { + "versions_gatk4": [ + [ + "GATK4_MUTECT2", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "timestamp": "2026-02-05T16:47:43.194989668", + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + } + } +} \ No newline at end of file diff --git a/modules/nf-core/gatk4/mutect2/tests/nextflow.config b/modules/nf-core/gatk4/mutect2/tests/nextflow.config new file mode 100644 index 00000000..08e94285 --- /dev/null +++ b/modules/nf-core/gatk4/mutect2/tests/nextflow.config @@ -0,0 +1,5 @@ +process { + withName: GATK4_MUTECT2 { + ext.args = params.module_args + } +} diff --git a/modules/nf-core/gatk4/splitncigarreads/environment.yml b/modules/nf-core/gatk4/splitncigarreads/environment.yml new file mode 100644 index 00000000..631aaf7b --- /dev/null +++ b/modules/nf-core/gatk4/splitncigarreads/environment.yml @@ -0,0 +1,12 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + # renovate: datasource=conda depName=bioconda/gatk4 + - bioconda::gatk4=4.6.2.0 + # renovate: datasource=conda depName=bioconda/gcnvkernel + - bioconda::gcnvkernel=0.9 + # Required for optional BAM -> CRAM conversion and indexing when ext.prefix ends with .cram + - bioconda::samtools=1.21 diff --git a/modules/nf-core/gatk4/splitncigarreads/gatk4-splitncigarreads.diff b/modules/nf-core/gatk4/splitncigarreads/gatk4-splitncigarreads.diff new file mode 100644 index 00000000..e6b9aa34 --- /dev/null +++ b/modules/nf-core/gatk4/splitncigarreads/gatk4-splitncigarreads.diff @@ -0,0 +1,88 @@ +Changes in component 'nf-core/gatk4/splitncigarreads' +'modules/nf-core/gatk4/splitncigarreads/meta.yml' is unchanged +Changes in 'gatk4/splitncigarreads/environment.yml': +--- modules/nf-core/gatk4/splitncigarreads/environment.yml ++++ modules/nf-core/gatk4/splitncigarreads/environment.yml +@@ -8,3 +8,5 @@ + - bioconda::gatk4=4.6.2.0 + # renovate: datasource=conda depName=bioconda/gcnvkernel + - bioconda::gcnvkernel=0.9 ++ # Required for optional BAM -> CRAM conversion and indexing when ext.prefix ends with .cram ++ - bioconda::samtools=1.21 + +Changes in 'gatk4/splitncigarreads/main.nf': +--- modules/nf-core/gatk4/splitncigarreads/main.nf ++++ modules/nf-core/gatk4/splitncigarreads/main.nf +@@ -4,8 +4,8 @@ + + conda "${moduleDir}/environment.yml" + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container +- ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/ce/ced519873646379e287bc28738bdf88e975edd39a92e7bc6a34bccd37153d9d0/data' +- : 'community.wave.seqera.io/library/gatk4_gcnvkernel:edb12e4f0bf02cd3'}" ++ ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/e5/e504069ef3553bf305398ca756c54efc9679bd59d6975ee0514cc6a9d5388114/data' ++ : 'community.wave.seqera.io/library/gatk4_gcnvkernel_samtools:26ea948db2151b79'}" + + input: + tuple val(meta), path(bam), path(bai), path(intervals) +@@ -14,15 +14,20 @@ + tuple val(meta4), path(dict) + + output: +- tuple val(meta), path('*.bam'), emit: bam ++ tuple val(meta), path('*.cram'), emit: cram, optional: true ++ tuple val(meta), path('*.bam'), emit: bam, optional: true ++ tuple val(meta), path('*.crai'), emit: crai, optional: true ++ tuple val(meta), path('*.bai'), emit: bai, optional: true + tuple val("${task.process}"), val('gatk4'), eval("gatk --version | sed -n '/GATK.*v/s/.*v//p'"), topic: versions, emit: versions_gatk4 ++ tuple val("${task.process}"), val('samtools'), eval("samtools version | sed '1!d;s/.* //'"), topic: versions, emit: versions_samtools + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' +- def prefix = task.ext.prefix ?: "${meta.id}" ++ def prefix = task.ext.prefix ?: "${meta.id}.bam" ++ def prefix_bam = prefix.tokenize('.')[-1] == 'cram' ? "${prefix.substring(0, prefix.lastIndexOf('.'))}.bam" : prefix + def interval_command = intervals ? "--intervals ${intervals}" : "" + + def avail_mem = 3072 +@@ -36,17 +41,31 @@ + gatk --java-options "-Xmx${avail_mem}M -XX:-UsePerfData" \\ + SplitNCigarReads \\ + --input ${bam} \\ +- --output ${prefix}.bam \\ ++ --output ${prefix_bam} \\ + --reference ${fasta} \\ + ${interval_command} \\ + --tmp-dir . \\ + ${args} ++ ++ if [[ ${prefix} == *.cram ]]; then ++ samtools view -Ch -T ${fasta} -o ${prefix} ${prefix_bam} ++ rm ${prefix_bam} ++ samtools index ${prefix} ++ fi + """ + + stub: +- def prefix = task.ext.prefix ?: "${meta.id}" ++ def prefix = task.ext.prefix ?: "${meta.id}.bam" ++ def prefix_bam = prefix.tokenize('.')[-1] == 'cram' ? "${prefix.substring(0, prefix.lastIndexOf('.'))}.bam" : prefix + + """ +- touch ${prefix}.bam ++ touch ${prefix_bam} ++ if [[ ${prefix} == *.cram ]]; then ++ touch ${prefix} ++ touch ${prefix}.crai ++ rm ${prefix_bam} ++ else ++ touch ${prefix}.bai ++ fi + """ + } + +'modules/nf-core/gatk4/splitncigarreads/tests/main.nf.test' is unchanged +'modules/nf-core/gatk4/splitncigarreads/tests/main.nf.test.snap' is unchanged +************************************************************ diff --git a/modules/nf-core/gatk4/splitncigarreads/main.nf b/modules/nf-core/gatk4/splitncigarreads/main.nf new file mode 100644 index 00000000..6dcdb7a4 --- /dev/null +++ b/modules/nf-core/gatk4/splitncigarreads/main.nf @@ -0,0 +1,71 @@ +process GATK4_SPLITNCIGARREADS { + tag "${meta.id}" + label 'process_single' + + conda "${moduleDir}/environment.yml" + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/e5/e504069ef3553bf305398ca756c54efc9679bd59d6975ee0514cc6a9d5388114/data' + : 'community.wave.seqera.io/library/gatk4_gcnvkernel_samtools:26ea948db2151b79'}" + + input: + tuple val(meta), path(bam), path(bai), path(intervals) + tuple val(meta2), path(fasta) + tuple val(meta3), path(fai) + tuple val(meta4), path(dict) + + output: + tuple val(meta), path('*.cram'), emit: cram, optional: true + tuple val(meta), path('*.bam'), emit: bam, optional: true + tuple val(meta), path('*.crai'), emit: crai, optional: true + tuple val(meta), path('*.bai'), emit: bai, optional: true + tuple val("${task.process}"), val('gatk4'), eval("gatk --version | sed -n '/GATK.*v/s/.*v//p'"), topic: versions, emit: versions_gatk4 + tuple val("${task.process}"), val('samtools'), eval("samtools version | sed '1!d;s/.* //'"), topic: versions, emit: versions_samtools + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}.bam" + def prefix_bam = prefix.tokenize('.')[-1] == 'cram' ? "${prefix.substring(0, prefix.lastIndexOf('.'))}.bam" : prefix + def interval_command = intervals ? "--intervals ${intervals}" : "" + + def avail_mem = 3072 + if (!task.memory) { + log.info('[GATK SplitNCigarReads] Available memory not known - defaulting to 3GB. Specify process memory requirements to change this.') + } + else { + avail_mem = (task.memory.mega * 0.8).intValue() + } + """ + gatk --java-options "-Xmx${avail_mem}M -XX:-UsePerfData" \\ + SplitNCigarReads \\ + --input ${bam} \\ + --output ${prefix_bam} \\ + --reference ${fasta} \\ + ${interval_command} \\ + --tmp-dir . \\ + ${args} + + if [[ ${prefix} == *.cram ]]; then + samtools view -Ch -T ${fasta} -o ${prefix} ${prefix_bam} + rm ${prefix_bam} + samtools index ${prefix} + fi + """ + + stub: + def prefix = task.ext.prefix ?: "${meta.id}.bam" + def prefix_bam = prefix.tokenize('.')[-1] == 'cram' ? "${prefix.substring(0, prefix.lastIndexOf('.'))}.bam" : prefix + + """ + touch ${prefix_bam} + if [[ ${prefix} == *.cram ]]; then + touch ${prefix} + touch ${prefix}.crai + rm ${prefix_bam} + else + touch ${prefix}.bai + fi + """ +} diff --git a/modules/nf-core/gatk4/splitncigarreads/meta.yml b/modules/nf-core/gatk4/splitncigarreads/meta.yml new file mode 100644 index 00000000..8260903e --- /dev/null +++ b/modules/nf-core/gatk4/splitncigarreads/meta.yml @@ -0,0 +1,102 @@ +name: gatk4_splitncigarreads +description: Splits reads that contain Ns in their cigar string +keywords: + - gatk4 + - merge + - vcf +tools: + - gatk4: + description: | + Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools + with a primary focus on variant discovery and genotyping. Its powerful processing engine + and high-performance computing features make it capable of taking on projects of any size. + homepage: https://gatk.broadinstitute.org/hc/en-us + documentation: https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s + doi: 10.1158/1538-7445.AM2017-3590 + licence: ["Apache-2.0"] + identifier: "" +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test'] + - bam: + type: list + description: BAM/SAM/CRAM file containing reads + pattern: "*.{bam,sam,cram}" + - bai: + type: list + description: BAI/SAI/CRAI index file (optional) + pattern: "*.{bai,sai,crai}" + - intervals: + type: file + description: Bed file with the genomic regions included in the library (optional) + ontologies: [] + - - meta2: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'reference' ] + - fasta: + type: file + description: The reference fasta file + pattern: "*.fasta" + ontologies: [] + - - meta3: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'reference' ] + - fai: + type: file + description: Index of reference fasta file + pattern: "*.fasta.fai" + ontologies: [] + - - meta4: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'reference' ] + - dict: + type: file + description: GATK sequence dictionary + pattern: "*.dict" + ontologies: [] +output: + bam: + - - meta: + type: file + description: Output file with split reads (BAM/SAM/CRAM) + pattern: "*.{bam,sam,cram}" + ontologies: [] + - "*.bam": + type: file + description: Output file with split reads (BAM/SAM/CRAM) + pattern: "*.{bam,sam,cram}" + ontologies: [] + versions_gatk4: + - - ${task.process}: + type: string + description: The name of the process + - gatk4: + type: string + description: The name of the tool + - gatk --version | sed -n '/GATK.*v/s/.*v//p': + type: eval + description: The expression to obtain the version of the tool +topics: + versions: + - - ${task.process}: + type: string + description: The name of the process + - gatk4: + type: string + description: The name of the tool + - gatk --version | sed -n '/GATK.*v/s/.*v//p': + type: eval + description: The expression to obtain the version of the tool +authors: + - "@kevinmenden" +maintainers: + - "@kevinmenden" diff --git a/modules/nf-core/gatk4/splitncigarreads/tests/main.nf.test b/modules/nf-core/gatk4/splitncigarreads/tests/main.nf.test new file mode 100644 index 00000000..09f431e5 --- /dev/null +++ b/modules/nf-core/gatk4/splitncigarreads/tests/main.nf.test @@ -0,0 +1,88 @@ +nextflow_process { + + name "Test Process GATK4_SPLITNCIGARREADS" + script "../main.nf" + process "GATK4_SPLITNCIGARREADS" + + tag "modules" + tag "modules_nfcore" + tag "gatk4" + tag "gatk4/splitncigarreads" + + test("test_gatk4_splitncigarreads") { + + when { + process { + """ + input[0] = [ [ id:'test' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai', checkIfExists: true), []] + input[1] = [ [ id:'reference' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true) ] + input[2] = [ [ id:'reference' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta.fai', checkIfExists: true) ] + input[3] = [ [ id:'reference' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.dict', checkIfExists: true) ] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot( + file(process.out.bam[0][1]).name, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() + } + ) + } + } + + test("test_gatk4_splitncigarreads_intervals") { + + when { + process { + """ + input[0] = [ [ id:'test' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai', checkIfExists: true), file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/bed/test.bed', checkIfExists: true)] + input[1] = [ [ id:'reference' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true) ] + input[2] = [ [ id:'reference' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta.fai', checkIfExists: true) ] + input[3] = [ [ id:'reference' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.dict', checkIfExists: true) ] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot( + file(process.out.bam[0][1]).name, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() + } + ) + } + } + + test("test_gatk4_splitncigarreads_stub") { + + options "-stub" + + when { + process { + """ + input[0] = [ [ id:'test' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.bam', checkIfExists: true), [], []] + input[1] = [ [ id:'reference' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true) ] + input[2] = [ [ id:'reference' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta.fai', checkIfExists: true) ] + input[3] = [ [ id:'reference' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.dict', checkIfExists: true) ] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot( + file(process.out.bam[0][1]).name, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() + } + ) + } + } +} diff --git a/modules/nf-core/gatk4/splitncigarreads/tests/main.nf.test.snap b/modules/nf-core/gatk4/splitncigarreads/tests/main.nf.test.snap new file mode 100644 index 00000000..22811920 --- /dev/null +++ b/modules/nf-core/gatk4/splitncigarreads/tests/main.nf.test.snap @@ -0,0 +1,59 @@ +{ + "test_gatk4_splitncigarreads_intervals": { + "content": [ + "test.bam", + { + "versions_gatk4": [ + [ + "GATK4_SPLITNCIGARREADS", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-05T18:01:00.303332906" + }, + "test_gatk4_splitncigarreads_stub": { + "content": [ + "test.bam", + { + "versions_gatk4": [ + [ + "GATK4_SPLITNCIGARREADS", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-05T18:01:06.852378451" + }, + "test_gatk4_splitncigarreads": { + "content": [ + "test.bam", + { + "versions_gatk4": [ + [ + "GATK4_SPLITNCIGARREADS", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-05T18:00:52.006171566" + } +} \ No newline at end of file diff --git a/modules/nf-core/gatk4/variantfiltration/environment.yml b/modules/nf-core/gatk4/variantfiltration/environment.yml new file mode 100644 index 00000000..67e0eb86 --- /dev/null +++ b/modules/nf-core/gatk4/variantfiltration/environment.yml @@ -0,0 +1,10 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + # renovate: datasource=conda depName=bioconda/gatk4 + - bioconda::gatk4=4.6.2.0 + # renovate: datasource=conda depName=bioconda/gcnvkernel + - bioconda::gcnvkernel=0.9 diff --git a/modules/nf-core/gatk4/variantfiltration/main.nf b/modules/nf-core/gatk4/variantfiltration/main.nf new file mode 100644 index 00000000..58283b12 --- /dev/null +++ b/modules/nf-core/gatk4/variantfiltration/main.nf @@ -0,0 +1,64 @@ +process GATK4_VARIANTFILTRATION { + tag "${meta.id}" + label 'process_single' + + conda "${moduleDir}/environment.yml" + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/ce/ced519873646379e287bc28738bdf88e975edd39a92e7bc6a34bccd37153d9d0/data' + : 'community.wave.seqera.io/library/gatk4_gcnvkernel:edb12e4f0bf02cd3'}" + + input: + tuple val(meta), path(vcf), path(tbi) + tuple val(meta2), path(fasta) + tuple val(meta3), path(fai) + tuple val(meta4), path(dict) + tuple val(meta5), path(gzi) + + output: + tuple val(meta), path("*.vcf.gz"), emit: vcf + tuple val(meta), path("*.tbi"), emit: tbi + tuple val("${task.process}"), val('gatk4'), eval("gatk --version | sed -n '/GATK.*v/s/.*v//p'"), topic: versions, emit: versions_gatk4 + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + + // Infer .dict file name that gatk expects, even if ends in .fasta.gz + def dict_name = fasta.getBaseName() + if (dict_name ==~ /^.*\.(fasta|fna|fa)$/) { + dict_name = dict_name.replaceAll(/\.(fasta|fna|fa)$/, "") + } + dict_name = "${dict_name}.dict" + + def avail_mem = 3072 + if (!task.memory) { + log.info('[GATK VariantFiltration] Available memory not known - defaulting to 3GB. Specify process memory requirements to change this.') + } + else { + avail_mem = (task.memory.mega * 0.8).intValue() + } + """ + # Make sure the .dict file is named correctly + if [[ ${dict_name} != ${dict} ]]; then + ln -s ${dict} ${dict_name} + fi + + gatk --java-options "-Xmx${avail_mem}M -XX:-UsePerfData" \\ + VariantFiltration \\ + --variant ${vcf} \\ + --output ${prefix}.vcf.gz \\ + --reference ${fasta} \\ + --tmp-dir . \\ + ${args} + """ + + stub: + def prefix = task.ext.prefix ?: "${meta.id}" + """ + echo "" | gzip > ${prefix}.vcf.gz + touch ${prefix}.vcf.gz.tbi + """ +} diff --git a/modules/nf-core/gatk4/variantfiltration/meta.yml b/modules/nf-core/gatk4/variantfiltration/meta.yml new file mode 100644 index 00000000..4177a706 --- /dev/null +++ b/modules/nf-core/gatk4/variantfiltration/meta.yml @@ -0,0 +1,126 @@ +name: gatk4_variantfiltration +description: Filter variants +keywords: + - filter + - gatk4 + - variantfiltration + - vcf +tools: + - gatk4: + description: | + Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools + with a primary focus on variant discovery and genotyping. Its powerful processing engine + and high-performance computing features make it capable of taking on projects of any size. + homepage: https://gatk.broadinstitute.org/hc/en-us + documentation: https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s + doi: 10.1158/1538-7445.AM2017-3590 + licence: ["Apache-2.0"] + identifier: "" +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test'] + - vcf: + type: list + description: List of VCF(.gz) files + pattern: "*.{vcf,vcf.gz}" + - tbi: + type: list + description: List of VCF file indexes + pattern: "*.{tbi}" + - - meta2: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome' ] + - fasta: + type: file + description: Fasta file of reference genome + pattern: "*.fasta" + ontologies: [] + - - meta3: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome' ] + - fai: + type: file + description: Index of fasta file + pattern: "*.fasta.fai" + ontologies: [] + - - meta4: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome' ] + - dict: + type: file + description: Sequence dictionary of fastea file + pattern: "*.dict" + ontologies: [] + - - meta5: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome' ] + - gzi: + type: file + description: Genome index file only needed when the genome file was compressed + with the BGZF algorithm. + pattern: "*.gzi" + ontologies: [] +output: + vcf: + - - meta: + type: file + description: Compressed VCF file + pattern: "*.vcf.gz" + ontologies: + - edam: http://edamontology.org/format_3989 # GZIP format + - "*.vcf.gz": + type: file + description: Compressed VCF file + pattern: "*.vcf.gz" + ontologies: + - edam: http://edamontology.org/format_3989 # GZIP format + tbi: + - - meta: + type: file + description: Compressed VCF file + pattern: "*.vcf.gz" + ontologies: + - edam: http://edamontology.org/format_3989 # GZIP format + - "*.tbi": + type: file + description: Index of VCF file + pattern: "*.vcf.gz.tbi" + ontologies: [] + versions_gatk4: + - - ${task.process}: + type: string + description: The name of the process + - gatk4: + type: string + description: The name of the tool + - gatk --version | sed -n '/GATK.*v/s/.*v//p': + type: eval + description: The expression to obtain the version of the tool +topics: + versions: + - - ${task.process}: + type: string + description: The name of the process + - gatk4: + type: string + description: The name of the tool + - gatk --version | sed -n '/GATK.*v/s/.*v//p': + type: eval + description: The expression to obtain the version of the tool +authors: + - "@kevinmenden" + - "@ramprasadn" +maintainers: + - "@kevinmenden" + - "@ramprasadn" diff --git a/modules/nf-core/gatk4/variantfiltration/tests/main.nf.test b/modules/nf-core/gatk4/variantfiltration/tests/main.nf.test new file mode 100644 index 00000000..cbb647c4 --- /dev/null +++ b/modules/nf-core/gatk4/variantfiltration/tests/main.nf.test @@ -0,0 +1,137 @@ +nextflow_process { + + name "Test Process GATK4_VARIANTFILTRATION" + script "../main.nf" + process "GATK4_VARIANTFILTRATION" + + tag "modules" + tag "modules_nfcore" + tag "gatk4" + tag "gatk4/variantfiltration" + + test("gatk4_variantfiltration - human - vcf - fasta") { + + when { + process { + """ + input[0] = [ + [ id:'test' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gvcf/test.genome.vcf', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gvcf/test.genome.vcf.idx', checkIfExists: true) + ] + input[1] = [ + [ id:'genome' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true) + ] + input[2] = [ + [ id:'genome' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.fai', checkIfExists: true) + ] + input[3] = [ + [ id:'genome' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.dict', checkIfExists: true) + ] + input[4] = [ + [ id:'genome' ], // meta map + [] + ] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot( + path(process.out.vcf[0][1]).vcf.variantsMD5, + file(process.out.tbi[0][1]).name, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() } + ) + } + } + + test("gatk4_variantfiltration - human - vcf - fasta.gz") { + + when { + process { + """ + input[0] = [ + [ id:'test' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gvcf/test.genome.vcf', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gvcf/test.genome.vcf.idx', checkIfExists: true) + ] + input[1] = [ + [ id:'genome' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.gz', checkIfExists: true) + ] + input[2] = [ + [ id:'genome' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.gz.fai', checkIfExists: true) + ] + input[3] = [ + [ id:'genome' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.dict', checkIfExists: true) + ] + input[4] = [ + [ id:'genome' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.gz.gzi', checkIfExists: true) + ] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot( + path(process.out.vcf[0][1]).vcf.variantsMD5, + file(process.out.tbi[0][1]).name, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() } + ) + } + } + + test("gatk4_variantfiltration - human - vcf.gz - fasta") { + + when { + process { + """ + input[0] = [ + [ id:'test' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gvcf/test.genome.vcf.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gvcf/test.genome.vcf.gz.tbi', checkIfExists: true) + ] + input[1] = [ + [ id:'genome' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true) + ] + input[2] = [ + [ id:'genome' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.fai', checkIfExists: true) + ] + input[3] = [ + [ id:'genome' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.dict', checkIfExists: true) + ] + input[4] = [ + [ id:'genome' ], // meta map + [] + ] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot( + path(process.out.vcf[0][1]).vcf.variantsMD5, + file(process.out.tbi[0][1]).name, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() } + ) + } + } +} diff --git a/modules/nf-core/gatk4/variantfiltration/tests/main.nf.test.snap b/modules/nf-core/gatk4/variantfiltration/tests/main.nf.test.snap new file mode 100644 index 00000000..e1a3c785 --- /dev/null +++ b/modules/nf-core/gatk4/variantfiltration/tests/main.nf.test.snap @@ -0,0 +1,62 @@ +{ + "gatk4_variantfiltration - human - vcf - fasta.gz": { + "content": [ + "cf0477cc14953b16caacbf5be507b88", + "test.vcf.gz.tbi", + { + "versions_gatk4": [ + [ + "GATK4_VARIANTFILTRATION", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-05T18:03:01.467326216" + }, + "gatk4_variantfiltration - human - vcf.gz - fasta": { + "content": [ + "cf0477cc14953b16caacbf5be507b88", + "test.vcf.gz.tbi", + { + "versions_gatk4": [ + [ + "GATK4_VARIANTFILTRATION", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-05T18:03:09.049097033" + }, + "gatk4_variantfiltration - human - vcf - fasta": { + "content": [ + "cf0477cc14953b16caacbf5be507b88", + "test.vcf.gz.tbi", + { + "versions_gatk4": [ + [ + "GATK4_VARIANTFILTRATION", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-05T18:02:52.913618285" + } +} \ No newline at end of file diff --git a/modules/nf-core/gatk4/variantrecalibrator/environment.yml b/modules/nf-core/gatk4/variantrecalibrator/environment.yml new file mode 100644 index 00000000..67e0eb86 --- /dev/null +++ b/modules/nf-core/gatk4/variantrecalibrator/environment.yml @@ -0,0 +1,10 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + # renovate: datasource=conda depName=bioconda/gatk4 + - bioconda::gatk4=4.6.2.0 + # renovate: datasource=conda depName=bioconda/gcnvkernel + - bioconda::gcnvkernel=0.9 diff --git a/modules/nf-core/gatk4/variantrecalibrator/main.nf b/modules/nf-core/gatk4/variantrecalibrator/main.nf new file mode 100644 index 00000000..385d7ba2 --- /dev/null +++ b/modules/nf-core/gatk4/variantrecalibrator/main.nf @@ -0,0 +1,62 @@ +process GATK4_VARIANTRECALIBRATOR { + tag "${meta.id}" + label 'process_low' + + conda "${moduleDir}/environment.yml" + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/ce/ced519873646379e287bc28738bdf88e975edd39a92e7bc6a34bccd37153d9d0/data' + : 'community.wave.seqera.io/library/gatk4_gcnvkernel:edb12e4f0bf02cd3'}" + + input: + tuple val(meta), path(vcf), path(tbi) + path resource_vcf + path resource_tbi + val labels + path fasta + path fai + path dict + + output: + tuple val(meta), path("*.recal"), emit: recal + tuple val(meta), path("*.idx"), emit: idx + tuple val(meta), path("*.tranches"), emit: tranches + tuple val(meta), path("*plots.R"), emit: plots, optional: true + tuple val("${task.process}"), val('gatk4'), eval("gatk --version | sed -n '/GATK.*v/s/.*v//p'"), topic: versions, emit: versions_gatk4 + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + def reference_command = fasta ? "--reference ${fasta} " : '' + def labels_command = labels.join(' ') + + def avail_mem = 3072 + if (!task.memory) { + log.info('[GATK VariantRecalibrator] Available memory not known - defaulting to 3GB. Specify process memory requirements to change this.') + } + else { + avail_mem = (task.memory.mega * 0.8).intValue() + } + """ + gatk --java-options "-Xmx${avail_mem}M -XX:-UsePerfData" \\ + VariantRecalibrator \\ + --variant ${vcf} \\ + --output ${prefix}.recal \\ + --tranches-file ${prefix}.tranches \\ + ${reference_command} \\ + --tmp-dir . \\ + ${labels_command} \\ + ${args} + """ + + stub: + prefix = task.ext.prefix ?: "${meta.id}" + """ + touch ${prefix}.recal + touch ${prefix}.idx + touch ${prefix}.tranches + touch ${prefix}plots.R + """ +} diff --git a/modules/nf-core/gatk4/variantrecalibrator/meta.yml b/modules/nf-core/gatk4/variantrecalibrator/meta.yml new file mode 100644 index 00000000..275e3a4f --- /dev/null +++ b/modules/nf-core/gatk4/variantrecalibrator/meta.yml @@ -0,0 +1,145 @@ +name: gatk4_variantrecalibrator +description: | + Build a recalibration model to score variant quality for filtering purposes. + It is highly recommended to follow GATK best practices when using this module, + the gaussian mixture model requires a large number of samples to be used for the + tool to produce optimal results. For example, 30 samples for exome data. For more details see + https://gatk.broadinstitute.org/hc/en-us/articles/4402736812443-Which-training-sets-arguments-should-I-use-for-running-VQSR- +keywords: + - gatk4 + - recalibration model + - variantrecalibrator +tools: + - gatk4: + description: | + Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools + with a primary focus on variant discovery and genotyping. Its powerful processing engine + and high-performance computing features make it capable of taking on projects of any size. + homepage: https://gatk.broadinstitute.org/hc/en-us + documentation: https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s + doi: 10.1158/1538-7445.AM2017-3590 + identifier: "" +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test' ] + - vcf: + type: file + description: input vcf file containing the variants to be recalibrated + pattern: "*.vcf.gz" + ontologies: + - edam: http://edamontology.org/format_3989 # GZIP format + - tbi: + type: file + description: tbi file matching with -vcf + pattern: "*.vcf.gz.tbi" + ontologies: [] + - resource_vcf: + type: file + description: all resource vcf files that are used with the corresponding '--resource' + label + pattern: "*.vcf.gz" + ontologies: + - edam: http://edamontology.org/format_3989 # GZIP format + - resource_tbi: + type: file + description: all resource tbi files that are used with the corresponding '--resource' + label + pattern: "*.vcf.gz.tbi" + ontologies: [] + - labels: + type: string + description: necessary arguments for GATK VariantRecalibrator. Specified to directly + match the resources provided. More information can be found at + https://gatk.broadinstitute.org/hc/en-us/articles/5358906115227-VariantRecalibrator + - fasta: + type: file + description: The reference fasta file + pattern: "*.fasta" + ontologies: [] + - fai: + type: file + description: Index of reference fasta file + pattern: "fasta.fai" + ontologies: [] + - dict: + type: file + description: GATK sequence dictionary + pattern: "*.dict" + ontologies: [] +output: + recal: + - - meta: + type: file + description: Output recal file used by ApplyVQSR + pattern: "*.recal" + ontologies: [] + - "*.recal": + type: file + description: Output recal file used by ApplyVQSR + pattern: "*.recal" + ontologies: [] + idx: + - - meta: + type: file + description: Output recal file used by ApplyVQSR + pattern: "*.recal" + ontologies: [] + - "*.idx": + type: file + description: Index file for the recal output file + pattern: "*.idx" + ontologies: [] + tranches: + - - meta: + type: file + description: Output recal file used by ApplyVQSR + pattern: "*.recal" + ontologies: [] + - "*.tranches": + type: file + description: Output tranches file used by ApplyVQSR + pattern: "*.tranches" + ontologies: [] + plots: + - - meta: + type: file + description: Output recal file used by ApplyVQSR + pattern: "*.recal" + ontologies: [] + - "*plots.R": + type: file + description: Optional output rscript file to aid in visualization of the input + data and learned model. + pattern: "*plots.R" + ontologies: + - edam: http://edamontology.org/format_3999 # R script + versions_gatk4: + - - ${task.process}: + type: string + description: The name of the process + - gatk4: + type: string + description: The name of the tool + - gatk --version | sed -n '/GATK.*v/s/.*v//p': + type: eval + description: The expression to obtain the version of the tool +topics: + versions: + - - ${task.process}: + type: string + description: The name of the process + - gatk4: + type: string + description: The name of the tool + - gatk --version | sed -n '/GATK.*v/s/.*v//p': + type: eval + description: The expression to obtain the version of the tool +authors: + - "@GCJMackenzie" + - "@nickhsmith" +maintainers: + - "@GCJMackenzie" + - "@nickhsmith" diff --git a/modules/nf-core/gatk4/variantrecalibrator/tests/AS.config b/modules/nf-core/gatk4/variantrecalibrator/tests/AS.config new file mode 100644 index 00000000..eadb336e --- /dev/null +++ b/modules/nf-core/gatk4/variantrecalibrator/tests/AS.config @@ -0,0 +1,7 @@ +process { + + publishDir = { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" } + withName: GATK4_VARIANTRECALIBRATOR { + ext.args = '-mode SNP -an QD -an MQ -an FS -AS' + } +} diff --git a/modules/nf-core/gatk4/variantrecalibrator/tests/main.nf.test b/modules/nf-core/gatk4/variantrecalibrator/tests/main.nf.test new file mode 100644 index 00000000..ca8566b0 --- /dev/null +++ b/modules/nf-core/gatk4/variantrecalibrator/tests/main.nf.test @@ -0,0 +1,163 @@ +nextflow_process { + + name "Test Process GATK4_VARIANTRECALIBRATOR" + script "../main.nf" + process "GATK4_VARIANTRECALIBRATOR" + + tag "modules" + tag "modules_nfcore" + tag "gatk4" + tag "gatk4/variantrecalibrator" + + test("homo sapiens - vcf - allele specificity") { + config "./AS.config" + when { + process { + """ + input_vcf = [ [ id:'test' ], // meta map + file(params.modules_testdata_base_path + "genomics/homo_sapiens/illumina/gatk/haplotypecaller_calls/test2_haplotc.ann.vcf.gz", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/homo_sapiens/illumina/gatk/haplotypecaller_calls/test2_haplotc.ann.vcf.gz.tbi", checkIfExists: true) + ] + + resources_vcf = [ + file(params.modules_testdata_base_path + "genomics/homo_sapiens/genome/chr21/germlineresources/hapmap_3.3.hg38.vcf.gz", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/homo_sapiens/genome/chr21/germlineresources/1000G_omni2.5.hg38.vcf.gz", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/homo_sapiens/genome/chr21/germlineresources/1000G_phase1.snps.hg38.vcf.gz", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/homo_sapiens/genome/chr21/germlineresources/dbsnp_138.hg38.vcf.gz", checkIfExists: true) + ] + resources_tbi = [ + file(params.modules_testdata_base_path + "genomics/homo_sapiens/genome/chr21/germlineresources/hapmap_3.3.hg38.vcf.gz.tbi", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/homo_sapiens/genome/chr21/germlineresources/1000G_omni2.5.hg38.vcf.gz.tbi", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/homo_sapiens/genome/chr21/germlineresources/1000G_phase1.snps.hg38.vcf.gz.tbi", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/homo_sapiens/genome/chr21/germlineresources/dbsnp_138.hg38.vcf.gz.tbi", checkIfExists: true) + ] + labels = [ + '--resource:hapmap,known=false,training=true,truth=true,prior=15.0 hapmap_3.3.hg38.vcf.gz', + '--resource:omni,known=false,training=true,truth=false,prior=12.0 1000G_omni2.5.hg38.vcf.gz', + '--resource:1000G,known=false,training=true,truth=false,prior=10.0 1000G_phase1.snps.hg38.vcf.gz', + '--resource:dbsnp,known=true,training=false,truth=false,prior=2.0 dbsnp_138.hg38.vcf.gz' + ] + + fasta = file(params.modules_testdata_base_path + "genomics/homo_sapiens/genome/chr21/sequence/genome.fasta", checkIfExists: true) + fai = file(params.modules_testdata_base_path + "genomics/homo_sapiens/genome/chr21/sequence/genome.fasta.fai", checkIfExists: true) + dict = file(params.modules_testdata_base_path + "genomics/homo_sapiens/genome/chr21/sequence/genome.dict", checkIfExists: true) + + input = [input_vcf, resources_vcf, resources_tbi, labels, fasta, fai, dict] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot( + file(process.out.recal[0][1]).name, + file(process.out.idx[0][1]).name, + process.out.tranches, + process.out.plots, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() } + ) + } + } + + test("homo sapiens - vcf - no allele specificity") { + config "./noAS.config" + when { + process { + """ + input_vcf = [ [ id:'test' ], // meta map + file(params.modules_testdata_base_path + "genomics/homo_sapiens/illumina/gatk/haplotypecaller_calls/test2_haplotc.ann.vcf.gz", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/homo_sapiens/illumina/gatk/haplotypecaller_calls/test2_haplotc.ann.vcf.gz.tbi", checkIfExists: true) + ] + + resources_vcf = [ + file(params.modules_testdata_base_path + "genomics/homo_sapiens/genome/chr21/germlineresources/hapmap_3.3.hg38.vcf.gz", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/homo_sapiens/genome/chr21/germlineresources/1000G_omni2.5.hg38.vcf.gz", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/homo_sapiens/genome/chr21/germlineresources/1000G_phase1.snps.hg38.vcf.gz", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/homo_sapiens/genome/chr21/germlineresources/dbsnp_138.hg38.vcf.gz", checkIfExists: true) + ] + resources_tbi = [ + file(params.modules_testdata_base_path + "genomics/homo_sapiens/genome/chr21/germlineresources/hapmap_3.3.hg38.vcf.gz.tbi", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/homo_sapiens/genome/chr21/germlineresources/1000G_omni2.5.hg38.vcf.gz.tbi", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/homo_sapiens/genome/chr21/germlineresources/1000G_phase1.snps.hg38.vcf.gz.tbi", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/homo_sapiens/genome/chr21/germlineresources/dbsnp_138.hg38.vcf.gz.tbi", checkIfExists: true) + ] + labels = [ + '--resource:hapmap,known=false,training=true,truth=true,prior=15.0 hapmap_3.3.hg38.vcf.gz', + '--resource:omni,known=false,training=true,truth=false,prior=12.0 1000G_omni2.5.hg38.vcf.gz', + '--resource:1000G,known=false,training=true,truth=false,prior=10.0 1000G_phase1.snps.hg38.vcf.gz', + '--resource:dbsnp,known=true,training=false,truth=false,prior=2.0 dbsnp_138.hg38.vcf.gz' + ] + + fasta = file(params.modules_testdata_base_path + "genomics/homo_sapiens/genome/chr21/sequence/genome.fasta", checkIfExists: true) + fai = file(params.modules_testdata_base_path + "genomics/homo_sapiens/genome/chr21/sequence/genome.fasta.fai", checkIfExists: true) + dict = file(params.modules_testdata_base_path + "genomics/homo_sapiens/genome/chr21/sequence/genome.dict", checkIfExists: true) + + input = [input_vcf, resources_vcf, resources_tbi, labels, fasta, fai, dict] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot( + file(process.out.recal[0][1]).name, + file(process.out.idx[0][1]).name, + process.out.tranches, + process.out.plots, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() } + ) + } + } + + test("homo sapiens - vcf - stub") { + + options "-stub" + + when { + process { + """ + input_vcf = [ [ id:'test' ], // meta map + file(params.modules_testdata_base_path + "genomics/homo_sapiens/illumina/gatk/haplotypecaller_calls/test2_haplotc.ann.vcf.gz", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/homo_sapiens/illumina/gatk/haplotypecaller_calls/test2_haplotc.ann.vcf.gz.tbi", checkIfExists: true) + ] + + resources_vcf = [ + file(params.modules_testdata_base_path + "genomics/homo_sapiens/genome/chr21/germlineresources/hapmap_3.3.hg38.vcf.gz", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/homo_sapiens/genome/chr21/germlineresources/1000G_omni2.5.hg38.vcf.gz", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/homo_sapiens/genome/chr21/germlineresources/1000G_phase1.snps.hg38.vcf.gz", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/homo_sapiens/genome/chr21/germlineresources/dbsnp_138.hg38.vcf.gz", checkIfExists: true) + ] + resources_tbi = [ + file(params.modules_testdata_base_path + "genomics/homo_sapiens/genome/chr21/germlineresources/hapmap_3.3.hg38.vcf.gz.tbi", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/homo_sapiens/genome/chr21/germlineresources/1000G_omni2.5.hg38.vcf.gz.tbi", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/homo_sapiens/genome/chr21/germlineresources/1000G_phase1.snps.hg38.vcf.gz.tbi", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/homo_sapiens/genome/chr21/germlineresources/dbsnp_138.hg38.vcf.gz.tbi", checkIfExists: true) + ] + labels = [ + '--resource:hapmap,known=false,training=true,truth=true,prior=15.0 hapmap_3.3.hg38.vcf.gz', + '--resource:omni,known=false,training=true,truth=false,prior=12.0 1000G_omni2.5.hg38.vcf.gz', + '--resource:1000G,known=false,training=true,truth=false,prior=10.0 1000G_phase1.snps.hg38.vcf.gz', + '--resource:dbsnp,known=true,training=false,truth=false,prior=2.0 dbsnp_138.hg38.vcf.gz' + ] + + fasta = file(params.modules_testdata_base_path + "genomics/homo_sapiens/genome/chr21/sequence/genome.fasta", checkIfExists: true) + fai = file(params.modules_testdata_base_path + "genomics/homo_sapiens/genome/chr21/sequence/genome.fasta.fai", checkIfExists: true) + dict = file(params.modules_testdata_base_path + "genomics/homo_sapiens/genome/chr21/sequence/genome.dict", checkIfExists: true) + + input = [input_vcf, resources_vcf, resources_tbi, labels, fasta, fai, dict] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(process.out).match() } + ) + } + } +} diff --git a/modules/nf-core/gatk4/variantrecalibrator/tests/main.nf.test.snap b/modules/nf-core/gatk4/variantrecalibrator/tests/main.nf.test.snap new file mode 100644 index 00000000..3b633439 --- /dev/null +++ b/modules/nf-core/gatk4/variantrecalibrator/tests/main.nf.test.snap @@ -0,0 +1,153 @@ +{ + "homo sapiens - vcf - allele specificity": { + "content": [ + "test.recal", + "test.recal.idx", + [ + [ + { + "id": "test" + }, + "test.tranches:md5,ad52fa69325c758f458a30ee5b43d6b5" + ] + ], + [ + + ], + { + "versions_gatk4": [ + [ + "GATK4_VARIANTRECALIBRATOR", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-05T18:03:30.499371008" + }, + "homo sapiens - vcf - no allele specificity": { + "content": [ + "test.recal", + "test.recal.idx", + [ + [ + { + "id": "test" + }, + "test.tranches:md5,c029e52fd63a893e1154cc9144a19eeb" + ] + ], + [ + + ], + { + "versions_gatk4": [ + [ + "GATK4_VARIANTRECALIBRATOR", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-05T18:03:48.659044961" + }, + "homo sapiens - vcf - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.recal:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + [ + { + "id": "test" + }, + "test.idx:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "2": [ + [ + { + "id": "test" + }, + "test.tranches:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "3": [ + [ + { + "id": "test" + }, + "testplots.R:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "4": [ + [ + "GATK4_VARIANTRECALIBRATOR", + "gatk4", + "4.6.2.0" + ] + ], + "idx": [ + [ + { + "id": "test" + }, + "test.idx:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "plots": [ + [ + { + "id": "test" + }, + "testplots.R:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "recal": [ + [ + { + "id": "test" + }, + "test.recal:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "tranches": [ + [ + { + "id": "test" + }, + "test.tranches:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions_gatk4": [ + [ + "GATK4_VARIANTRECALIBRATOR", + "gatk4", + "4.6.2.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-05T18:04:03.882350118" + } +} \ No newline at end of file diff --git a/modules/nf-core/gatk4/variantrecalibrator/tests/noAS.config b/modules/nf-core/gatk4/variantrecalibrator/tests/noAS.config new file mode 100644 index 00000000..69efa09e --- /dev/null +++ b/modules/nf-core/gatk4/variantrecalibrator/tests/noAS.config @@ -0,0 +1,8 @@ +process { + + publishDir = { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" } + + withName: GATK4_VARIANTRECALIBRATOR { + ext.args = '-mode SNP -an QD -an MQ -an FS -an SOR' + } +} diff --git a/modules/nf-core/gffread/environment.yml b/modules/nf-core/gffread/environment.yml new file mode 100644 index 00000000..46c5faec --- /dev/null +++ b/modules/nf-core/gffread/environment.yml @@ -0,0 +1,7 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + - bioconda::gffread=0.12.7 diff --git a/modules/nf-core/gffread/main.nf b/modules/nf-core/gffread/main.nf new file mode 100644 index 00000000..00e4ab92 --- /dev/null +++ b/modules/nf-core/gffread/main.nf @@ -0,0 +1,51 @@ +process GFFREAD { + tag "$meta.id" + label 'process_low' + + conda "${moduleDir}/environment.yml" + container "${ workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/gffread:0.12.7--hdcf5f25_4' : + 'quay.io/biocontainers/gffread:0.12.7--hdcf5f25_4' }" + + input: + tuple val(meta), path(gff) + path fasta + + output: + tuple val(meta), path("*.gtf") , emit: gtf , optional: true + tuple val(meta), path("*.gff3") , emit: gffread_gff , optional: true + tuple val(meta), path("*.fasta"), emit: gffread_fasta , optional: true + tuple val(meta), path("*.bed") , emit: bed , optional: true + tuple val("${task.process}"), val('gffread'), eval('gffread --version 2>&1'), topic: versions, emit: versions_gffread + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + def extension = args.contains("--bed") ? 'bed' : ( args.contains("-T") ? 'gtf' : ( ( ['-w', '-x', '-y' ].any { flag -> args.contains(flag) } ) ? 'fasta' : 'gff3' ) ) + def fasta_arg = fasta ? "-g $fasta" : '' + def output_name = "${prefix}.${extension}" + def output = extension == "fasta" ? "$output_name" : "-o $output_name" + def args_sorted = args.replaceAll(/(.*)(-[wxy])(.*)/) { _all, pre, param, post -> "$pre $post $param" }.trim() + // args_sorted = Move '-w', '-x', and '-y' to the end of the args string as gffread expects the file name after these parameters + if ( "$output_name" in [ "$gff", "$fasta" ] ) error "Input and output names are the same, use \"task.ext.prefix\" to disambiguate!" + """ + gffread \\ + $gff \\ + $fasta_arg \\ + $args_sorted \\ + $output + """ + + stub: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + def extension = args.contains("--bed") ? 'bed' : ( args.contains("-T") ? 'gtf' : ( ( ['-w', '-x', '-y' ].any { flag -> args.contains(flag) } ) ? 'fasta' : 'gff3' ) ) + def output_name = "${prefix}.${extension}" + if ( "$output_name" in [ "$gff", "$fasta" ] ) error "Input and output names are the same, use \"task.ext.prefix\" to disambiguate!" + """ + touch $output_name + """ +} diff --git a/modules/nf-core/gffread/meta.yml b/modules/nf-core/gffread/meta.yml new file mode 100644 index 00000000..52276cb9 --- /dev/null +++ b/modules/nf-core/gffread/meta.yml @@ -0,0 +1,110 @@ +name: gffread +description: Validate, filter, convert and perform various other operations on GFF + files +keywords: + - gff + - conversion + - validation +tools: + - gffread: + description: GFF/GTF utility providing format conversions, region filtering, FASTA + sequence extraction and more. + homepage: http://ccb.jhu.edu/software/stringtie/gff.shtml#gffread + documentation: http://ccb.jhu.edu/software/stringtie/gff.shtml#gffread + tool_dev_url: https://github.com/gpertea/gffread + doi: 10.12688/f1000research.23297.1 + licence: ["MIT"] + identifier: biotools:gffread +input: + - - meta: + type: map + description: | + Groovy Map containing meta data + e.g. [ id:'test' ] + - gff: + type: file + description: A reference file in either the GFF3, GFF2 or GTF format. + pattern: "*.{gff, gtf}" + ontologies: [] + - fasta: + type: file + description: A multi-fasta file with the genomic sequences + pattern: "*.{fasta,fa,faa,fas,fsa}" + ontologies: [] +output: + gtf: + - - meta: + type: map + description: | + Groovy Map containing meta data + e.g. [ id:'test' ] + - "*.gtf": + type: file + description: GTF file resulting from the conversion of the GFF input file + if '-T' argument is present + pattern: "*.{gtf}" + ontologies: [] + gffread_gff: + - - meta: + type: map + description: | + Groovy Map containing meta data + e.g. [ id:'test' ] + - "*.gff3": + type: file + description: GFF3 file resulting from the conversion of the GFF input file + if '-T' argument is absent + pattern: "*.gff3" + ontologies: [] + gffread_fasta: + - - meta: + type: map + description: | + Groovy Map containing meta data + e.g. [ id:'test' ] + - "*.fasta": + type: file + description: Fasta file produced when either of '-w', '-x', '-y' parameters + is present + pattern: "*.fasta" + ontologies: [] + bed: + - - meta: + type: map + description: | + Groovy Map containing meta data + e.g. [ id:'test' ] + - "*.bed": + type: file + description: BED file resulting from the conversion of the GFF input file + when the '--bed' argument is present + pattern: "*.bed" + ontologies: [] + versions_gffread: + - - ${task.process}: + type: string + description: The process the versions were collected from + - gffread: + type: string + description: The tool name + - gffread --version 2>&1: + type: eval + description: The expression to obtain the version of the tool + +topics: + versions: + - - ${task.process}: + type: string + description: The process the versions were collected from + - gffread: + type: string + description: The tool name + - gffread --version 2>&1: + type: eval + description: The expression to obtain the version of the tool + +authors: + - "@edmundmiller" +maintainers: + - "@edmundmiller" + - "@gallvp" diff --git a/modules/nf-core/gffread/tests/main.nf.test b/modules/nf-core/gffread/tests/main.nf.test new file mode 100644 index 00000000..b3aab183 --- /dev/null +++ b/modules/nf-core/gffread/tests/main.nf.test @@ -0,0 +1,275 @@ +nextflow_process { + + name "Test Process GFFREAD" + script "../main.nf" + process "GFFREAD" + + tag "gffread" + tag "modules_nfcore" + tag "modules" + + test("sarscov2-gff3-gtf") { + + config "./nextflow.config" + + when { + params { + outdir = "$outputDir" + } + process { + """ + input[0] = [ + [id: 'test'], + file(params.modules_testdata_base_path + "genomics/sarscov2/genome/genome.gff3", checkIfExists: true) + ] + input[1] = [] + + """ + } + } + + then { + assertAll ( + { assert process.success }, + { assert snapshot(process.out).match() }, + { assert process.out.gffread_gff == [] }, + { assert process.out.gffread_fasta == [] } + ) + } + + } + + test("sarscov2-gff3-gtf-stub") { + + options '-stub' + config "./nextflow.config" + + when { + params { + outdir = "$outputDir" + } + process { + """ + input[0] = [ + [id: 'test'], + file(params.modules_testdata_base_path + "genomics/sarscov2/genome/genome.gff3", checkIfExists: true) + ] + input[1] = [] + """ + } + } + + then { + assertAll ( + { assert process.success }, + { assert snapshot(process.out).match() }, + { assert process.out.gffread_gff == [] }, + { assert process.out.gffread_fasta == [] } + ) + } + + } + + test("sarscov2-gff3-gff3") { + + config "./nextflow-gff3.config" + + when { + params { + outdir = "$outputDir" + } + process { + """ + input[0] = [ + [id: 'test'], + file(params.modules_testdata_base_path + "genomics/sarscov2/genome/genome.gff3", checkIfExists: true) + ] + input[1] = [] + """ + } + } + + then { + assertAll ( + { assert process.success }, + { assert snapshot(process.out).match() }, + { assert process.out.gtf == [] }, + { assert process.out.gffread_fasta == [] } + ) + } + + } + + test("sarscov2-gff3-gff3-stub") { + + options '-stub' + config "./nextflow-gff3.config" + + when { + params { + outdir = "$outputDir" + } + process { + """ + input[0] = [ + [id: 'test'], + file(params.modules_testdata_base_path + "genomics/sarscov2/genome/genome.gff3", checkIfExists: true) + ] + input[1] = [] + """ + } + } + + then { + assertAll ( + { assert process.success }, + { assert snapshot(process.out).match() }, + { assert process.out.gtf == [] }, + { assert process.out.gffread_fasta == [] } + ) + } + + } + + test("sarscov2-gff3-fasta") { + + config "./nextflow-fasta.config" + + when { + params { + outdir = "$outputDir" + } + process { + """ + input[0] = [ + [id: 'test'], + file(params.modules_testdata_base_path + "genomics/sarscov2/genome/genome.gff3", checkIfExists: true) + ] + input[1] = file(params.modules_testdata_base_path + "genomics/sarscov2/genome/genome.fasta", checkIfExists: true) + """ + } + } + + then { + assertAll ( + { assert process.success }, + { assert snapshot(process.out).match() }, + { assert process.out.gtf == [] }, + { assert process.out.gffread_gff == [] } + ) + } + + } + + test("sarscov2-gff3-fasta-stub") { + + options '-stub' + config "./nextflow-fasta.config" + + when { + params { + outdir = "$outputDir" + } + process { + """ + input[0] = [ + [id: 'test'], + file(params.modules_testdata_base_path + "genomics/sarscov2/genome/genome.gff3", checkIfExists: true) + ] + input[1] = file(params.modules_testdata_base_path + "genomics/sarscov2/genome/genome.fasta", checkIfExists: true) + """ + } + } + + then { + assertAll ( + { assert process.success }, + { assert snapshot(process.out).match() }, + { assert process.out.gtf == [] }, + { assert process.out.gffread_gff == [] } + ) + } + + } + + test("sarscov2-gff3-bed") { + + config "./nextflow-bed.config" + + when { + process { + """ + input[0] = [ + [id: 'test'], + file(params.modules_testdata_base_path + "genomics/sarscov2/genome/genome.gff3", checkIfExists: true) + ] + input[1] = [] + """ + } + } + + then { + assertAll ( + { assert process.success }, + { assert snapshot(sanitizeOutput(process.out)).match() } + ) + } + + } + + test("sarscov2-gff3-bed-stub") { + + options '-stub' + config "./nextflow-bed.config" + + when { + process { + """ + input[0] = [ + [id: 'test'], + file(params.modules_testdata_base_path + "genomics/sarscov2/genome/genome.gff3", checkIfExists: true) + ] + input[1] = [] + """ + } + } + + then { + assertAll ( + { assert process.success }, + { assert snapshot(sanitizeOutput(process.out)).match() } + ) + } + + } + + test("sarscov2-gff3-fasta-fail-catch") { + + options '-stub' + config "./nextflow-fasta.config" + + when { + params { + outdir = "$outputDir" + } + process { + """ + input[0] = [ + [id: 'genome'], + file(params.modules_testdata_base_path + "genomics/sarscov2/genome/genome.gff3", checkIfExists: true) + ] + input[1] = file(params.modules_testdata_base_path + "genomics/sarscov2/genome/genome.fasta", checkIfExists: true) + """ + } + } + + then { + assertAll ( + { assert ! process.success }, + { assert process.stdout.toString().contains("Input and output names are the same") } + ) + } + + } + +} diff --git a/modules/nf-core/gffread/tests/main.nf.test.snap b/modules/nf-core/gffread/tests/main.nf.test.snap new file mode 100644 index 00000000..f010c196 --- /dev/null +++ b/modules/nf-core/gffread/tests/main.nf.test.snap @@ -0,0 +1,426 @@ +{ + "sarscov2-gff3-gtf": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.gtf:md5,1ea0ae98d3388e0576407dc4a24ef428" + ] + ], + "1": [ + + ], + "2": [ + + ], + "3": [ + + ], + "4": [ + [ + "GFFREAD", + "gffread", + "0.12.7" + ] + ], + "bed": [ + + ], + "gffread_fasta": [ + + ], + "gffread_gff": [ + + ], + "gtf": [ + [ + { + "id": "test" + }, + "test.gtf:md5,1ea0ae98d3388e0576407dc4a24ef428" + ] + ], + "versions_gffread": [ + [ + "GFFREAD", + "gffread", + "0.12.7" + ] + ] + } + ], + "timestamp": "2026-04-24T10:22:41.259965105", + "meta": { + "nf-test": "0.9.5", + "nextflow": "25.10.4" + } + }, + "sarscov2-gff3-gff3": { + "content": [ + { + "0": [ + + ], + "1": [ + [ + { + "id": "test" + }, + "test.gff3:md5,c4e5da6267c6bee5899a2c204ae1ad91" + ] + ], + "2": [ + + ], + "3": [ + + ], + "4": [ + [ + "GFFREAD", + "gffread", + "0.12.7" + ] + ], + "bed": [ + + ], + "gffread_fasta": [ + + ], + "gffread_gff": [ + [ + { + "id": "test" + }, + "test.gff3:md5,c4e5da6267c6bee5899a2c204ae1ad91" + ] + ], + "gtf": [ + + ], + "versions_gffread": [ + [ + "GFFREAD", + "gffread", + "0.12.7" + ] + ] + } + ], + "timestamp": "2026-04-24T10:22:51.897172513", + "meta": { + "nf-test": "0.9.5", + "nextflow": "25.10.4" + } + }, + "sarscov2-gff3-gtf-stub": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.gtf:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + + ], + "2": [ + + ], + "3": [ + + ], + "4": [ + [ + "GFFREAD", + "gffread", + "0.12.7" + ] + ], + "bed": [ + + ], + "gffread_fasta": [ + + ], + "gffread_gff": [ + + ], + "gtf": [ + [ + { + "id": "test" + }, + "test.gtf:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions_gffread": [ + [ + "GFFREAD", + "gffread", + "0.12.7" + ] + ] + } + ], + "timestamp": "2026-04-24T10:22:46.582356403", + "meta": { + "nf-test": "0.9.5", + "nextflow": "25.10.4" + } + }, + "sarscov2-gff3-bed": { + "content": [ + { + "bed": [ + [ + { + "id": "test" + }, + "test.bed:md5,96fd7117a706e7c2ccbe062beb635172" + ] + ], + "gffread_fasta": [ + + ], + "gffread_gff": [ + + ], + "gtf": [ + + ], + "versions_gffread": [ + [ + "GFFREAD", + "gffread", + "0.12.7" + ] + ] + } + ], + "timestamp": "2026-04-24T10:23:13.476804733", + "meta": { + "nf-test": "0.9.5", + "nextflow": "25.10.4" + } + }, + "sarscov2-gff3-bed-stub": { + "content": [ + { + "bed": [ + [ + { + "id": "test" + }, + "test.bed:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "gffread_fasta": [ + + ], + "gffread_gff": [ + + ], + "gtf": [ + + ], + "versions_gffread": [ + [ + "GFFREAD", + "gffread", + "0.12.7" + ] + ] + } + ], + "timestamp": "2026-04-24T10:23:18.831655873", + "meta": { + "nf-test": "0.9.5", + "nextflow": "25.10.4" + } + }, + "sarscov2-gff3-fasta-stub": { + "content": [ + { + "0": [ + + ], + "1": [ + + ], + "2": [ + [ + { + "id": "test" + }, + "test.fasta:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "3": [ + + ], + "4": [ + [ + "GFFREAD", + "gffread", + "0.12.7" + ] + ], + "bed": [ + + ], + "gffread_fasta": [ + [ + { + "id": "test" + }, + "test.fasta:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "gffread_gff": [ + + ], + "gtf": [ + + ], + "versions_gffread": [ + [ + "GFFREAD", + "gffread", + "0.12.7" + ] + ] + } + ], + "timestamp": "2026-04-24T10:23:08.064865029", + "meta": { + "nf-test": "0.9.5", + "nextflow": "25.10.4" + } + }, + "sarscov2-gff3-gff3-stub": { + "content": [ + { + "0": [ + + ], + "1": [ + [ + { + "id": "test" + }, + "test.gff3:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "2": [ + + ], + "3": [ + + ], + "4": [ + [ + "GFFREAD", + "gffread", + "0.12.7" + ] + ], + "bed": [ + + ], + "gffread_fasta": [ + + ], + "gffread_gff": [ + [ + { + "id": "test" + }, + "test.gff3:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "gtf": [ + + ], + "versions_gffread": [ + [ + "GFFREAD", + "gffread", + "0.12.7" + ] + ] + } + ], + "timestamp": "2026-04-24T10:22:57.33529754", + "meta": { + "nf-test": "0.9.5", + "nextflow": "25.10.4" + } + }, + "sarscov2-gff3-fasta": { + "content": [ + { + "0": [ + + ], + "1": [ + + ], + "2": [ + [ + { + "id": "test" + }, + "test.fasta:md5,5f8108fb51739a0588ccf0a251de919a" + ] + ], + "3": [ + + ], + "4": [ + [ + "GFFREAD", + "gffread", + "0.12.7" + ] + ], + "bed": [ + + ], + "gffread_fasta": [ + [ + { + "id": "test" + }, + "test.fasta:md5,5f8108fb51739a0588ccf0a251de919a" + ] + ], + "gffread_gff": [ + + ], + "gtf": [ + + ], + "versions_gffread": [ + [ + "GFFREAD", + "gffread", + "0.12.7" + ] + ] + } + ], + "timestamp": "2026-04-24T10:23:02.723479313", + "meta": { + "nf-test": "0.9.5", + "nextflow": "25.10.4" + } + } +} \ No newline at end of file diff --git a/modules/nf-core/gffread/tests/nextflow-bed.config b/modules/nf-core/gffread/tests/nextflow-bed.config new file mode 100644 index 00000000..e6406899 --- /dev/null +++ b/modules/nf-core/gffread/tests/nextflow-bed.config @@ -0,0 +1,5 @@ +process { + withName: GFFREAD { + ext.args = '--bed' + } +} diff --git a/modules/nf-core/gffread/tests/nextflow-fasta.config b/modules/nf-core/gffread/tests/nextflow-fasta.config new file mode 100644 index 00000000..ac6cb148 --- /dev/null +++ b/modules/nf-core/gffread/tests/nextflow-fasta.config @@ -0,0 +1,5 @@ +process { + withName: GFFREAD { + ext.args = '-w -S' + } +} diff --git a/modules/nf-core/gffread/tests/nextflow-gff3.config b/modules/nf-core/gffread/tests/nextflow-gff3.config new file mode 100644 index 00000000..afe0830e --- /dev/null +++ b/modules/nf-core/gffread/tests/nextflow-gff3.config @@ -0,0 +1,5 @@ +process { + withName: GFFREAD { + ext.args = '' + } +} diff --git a/modules/nf-core/gffread/tests/nextflow.config b/modules/nf-core/gffread/tests/nextflow.config new file mode 100644 index 00000000..74b25094 --- /dev/null +++ b/modules/nf-core/gffread/tests/nextflow.config @@ -0,0 +1,5 @@ +process { + withName: GFFREAD { + ext.args = '-T' + } +} diff --git a/modules/nf-core/gunzip/environment.yml b/modules/nf-core/gunzip/environment.yml new file mode 100644 index 00000000..9b926b1f --- /dev/null +++ b/modules/nf-core/gunzip/environment.yml @@ -0,0 +1,12 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + - conda-forge::coreutils=9.5 + - conda-forge::grep=3.11 + - conda-forge::gzip=1.13 + - conda-forge::lbzip2=2.5 + - conda-forge::sed=4.8 + - conda-forge::tar=1.34 diff --git a/modules/nf-core/gunzip/main.nf b/modules/nf-core/gunzip/main.nf new file mode 100644 index 00000000..6edffc59 --- /dev/null +++ b/modules/nf-core/gunzip/main.nf @@ -0,0 +1,47 @@ +process GUNZIP { + tag "${archive}" + label 'process_single' + + conda "${moduleDir}/environment.yml" + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/52/52ccce28d2ab928ab862e25aae26314d69c8e38bd41ca9431c67ef05221348aa/data' + : 'community.wave.seqera.io/library/coreutils_grep_gzip_lbzip2_pruned:838ba80435a629f8'}" + + input: + tuple val(meta), path(archive) + + output: + tuple val(meta), path("${gunzip}"), emit: gunzip + tuple val("${task.process}"), val('gunzip'), eval('gunzip --version 2>&1 | head -1 | sed "s/^.*(gzip) //; s/ Copyright.*//"'), topic: versions, emit: versions_gunzip + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def nameWithoutGz = archive.extension == 'gz' ? archive.baseName : archive.name + def extension = file(nameWithoutGz).extension + def name = file(nameWithoutGz).baseName + def prefix = task.ext.prefix ?: name + gunzip = prefix + ".${extension}" + """ + # Not calling gunzip itself because it creates files + # with the original group ownership rather than the + # default one for that user / the work directory + gzip \\ + -cd \\ + ${args} \\ + ${archive} \\ + > ${gunzip} + """ + + stub: + def nameWithoutGz = archive.extension == 'gz' ? archive.baseName : archive.name + def extension = file(nameWithoutGz).extension + def name = file(nameWithoutGz).baseName + def prefix = task.ext.prefix ?: name + gunzip = prefix + ".${extension}" + """ + touch ${gunzip} + """ +} diff --git a/modules/nf-core/gunzip/meta.yml b/modules/nf-core/gunzip/meta.yml new file mode 100644 index 00000000..bba6b3ba --- /dev/null +++ b/modules/nf-core/gunzip/meta.yml @@ -0,0 +1,68 @@ +name: gunzip +description: Compresses and decompresses files. +keywords: + - gunzip + - compression + - decompression +tools: + - gunzip: + description: | + gzip is a file format and a software application used for file compression and decompression. + documentation: https://www.gnu.org/software/gzip/manual/gzip.html + licence: ["GPL-3.0-or-later"] + identifier: "" +input: + - - meta: + type: map + description: | + Optional groovy Map containing meta information + e.g. [ id:'test', single_end:false ] + - archive: + type: file + description: File to be compressed/uncompressed + pattern: "*.*" + ontologies: [] +output: + gunzip: + - - meta: + type: file + description: Compressed/uncompressed file + pattern: "*.*" + ontologies: [] + - ${gunzip}: + type: file + description: Compressed/uncompressed file + pattern: "*.*" + ontologies: [] + versions_gunzip: + - - ${task.process}: + type: string + description: The process the versions were collected from + - gunzip: + type: string + description: The tool name + - gunzip --version 2>&1 | head -1 | sed "s/^.*(gzip) //; s/ Copyright.*//": + type: eval + description: The expression to obtain the version of the tool + +topics: + versions: + - - ${task.process}: + type: string + description: The process the versions were collected from + - gunzip: + type: string + description: The tool name + - gunzip --version 2>&1 | head -1 | sed "s/^.*(gzip) //; s/ Copyright.*//": + type: eval + description: The expression to obtain the version of the tool + +authors: + - "@joseespinosa" + - "@drpatelh" + - "@jfy133" +maintainers: + - "@joseespinosa" + - "@drpatelh" + - "@jfy133" + - "@gallvp" diff --git a/modules/nf-core/gunzip/tests/main.nf.test b/modules/nf-core/gunzip/tests/main.nf.test new file mode 100644 index 00000000..33cb75ae --- /dev/null +++ b/modules/nf-core/gunzip/tests/main.nf.test @@ -0,0 +1,175 @@ +nextflow_process { + + name "Test Process GUNZIP" + script "../main.nf" + process "GUNZIP" + tag "gunzip" + tag "modules_nfcore" + tag "modules" + + test("Should run without failures") { + + when { + params { + outdir = "$outputDir" + } + process { + """ + input[0] = Channel.of([ + [], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true) + ] + ) + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + + } + + test("Should run without failures - prefix") { + + config './nextflow.config' + + when { + params { + outdir = "$outputDir" + } + process { + """ + input[0] = Channel.of([ + [ id: 'test' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true) + ] + ) + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + + } + + test("Should run without failures - stub") { + + options '-stub' + + when { + params { + outdir = "$outputDir" + } + process { + """ + input[0] = Channel.of([ + [], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true) + ] + ) + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + + } + + test("Should decompress file with extension appearing multiple times in filename") { + + when { + params { + outdir = "$outputDir" + } + process { + """ + input[0] = Channel.of([ + [], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true).copyTo('test.fa.v1.fa.gz') + ] + ) + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert file(process.out.gunzip[0][1]).name == 'test.fa.v1.fa' } + ) + } + + } + + test("Should decompress file with extension appearing multiple times in filename - prefix") { + + config './nextflow.config' + + when { + params { + outdir = "$outputDir" + } + process { + """ + input[0] = Channel.of([ + [ id: 'test' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true).copyTo('test.fa.v1.fa.gz') + ] + ) + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + + } + + test("Should run without failures - prefix - stub") { + + options '-stub' + config './nextflow.config' + + when { + params { + outdir = "$outputDir" + } + process { + """ + input[0] = Channel.of([ + [ id: 'test' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true) + ] + ) + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + + } + +} diff --git a/modules/nf-core/gunzip/tests/main.nf.test.snap b/modules/nf-core/gunzip/tests/main.nf.test.snap new file mode 100644 index 00000000..980e95a2 --- /dev/null +++ b/modules/nf-core/gunzip/tests/main.nf.test.snap @@ -0,0 +1,207 @@ +{ + "Should decompress file with extension appearing multiple times in filename - prefix": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.xyz.fa:md5,4161df271f9bfcd25d5845a1e220dbec" + ] + ], + "1": [ + [ + "GUNZIP", + "gunzip", + "1.13" + ] + ], + "gunzip": [ + [ + { + "id": "test" + }, + "test.xyz.fa:md5,4161df271f9bfcd25d5845a1e220dbec" + ] + ], + "versions_gunzip": [ + [ + "GUNZIP", + "gunzip", + "1.13" + ] + ] + } + ], + "timestamp": "2026-04-15T15:20:52.59447", + "meta": { + "nf-test": "0.9.5", + "nextflow": "25.10.4" + } + }, + "Should run without failures - prefix - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.xyz.fastq:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + [ + "GUNZIP", + "gunzip", + "1.13" + ] + ], + "gunzip": [ + [ + { + "id": "test" + }, + "test.xyz.fastq:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions_gunzip": [ + [ + "GUNZIP", + "gunzip", + "1.13" + ] + ] + } + ], + "timestamp": "2026-01-19T17:21:56.633550769", + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + } + }, + "Should run without failures - stub": { + "content": [ + { + "0": [ + [ + [ + + ], + "test_1.fastq:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + [ + "GUNZIP", + "gunzip", + "1.13" + ] + ], + "gunzip": [ + [ + [ + + ], + "test_1.fastq:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions_gunzip": [ + [ + "GUNZIP", + "gunzip", + "1.13" + ] + ] + } + ], + "timestamp": "2026-01-19T17:21:51.435621199", + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + } + }, + "Should run without failures": { + "content": [ + { + "0": [ + [ + [ + + ], + "test_1.fastq:md5,4161df271f9bfcd25d5845a1e220dbec" + ] + ], + "1": [ + [ + "GUNZIP", + "gunzip", + "1.13" + ] + ], + "gunzip": [ + [ + [ + + ], + "test_1.fastq:md5,4161df271f9bfcd25d5845a1e220dbec" + ] + ], + "versions_gunzip": [ + [ + "GUNZIP", + "gunzip", + "1.13" + ] + ] + } + ], + "timestamp": "2026-01-19T17:21:40.613975821", + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + } + }, + "Should run without failures - prefix": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.xyz.fastq:md5,4161df271f9bfcd25d5845a1e220dbec" + ] + ], + "1": [ + [ + "GUNZIP", + "gunzip", + "1.13" + ] + ], + "gunzip": [ + [ + { + "id": "test" + }, + "test.xyz.fastq:md5,4161df271f9bfcd25d5845a1e220dbec" + ] + ], + "versions_gunzip": [ + [ + "GUNZIP", + "gunzip", + "1.13" + ] + ] + } + ], + "timestamp": "2026-01-19T17:21:46.086880414", + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + } + } +} \ No newline at end of file diff --git a/modules/nf-core/gunzip/tests/nextflow.config b/modules/nf-core/gunzip/tests/nextflow.config new file mode 100644 index 00000000..dec77642 --- /dev/null +++ b/modules/nf-core/gunzip/tests/nextflow.config @@ -0,0 +1,5 @@ +process { + withName: GUNZIP { + ext.prefix = { "${meta.id}.xyz" } + } +} diff --git a/modules/nf-core/hisat2/align/environment.yml b/modules/nf-core/hisat2/align/environment.yml new file mode 100644 index 00000000..30fe4956 --- /dev/null +++ b/modules/nf-core/hisat2/align/environment.yml @@ -0,0 +1,8 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + - bioconda::hisat2=2.2.2 + - bioconda::samtools=1.23 diff --git a/modules/nf-core/hisat2/align/main.nf b/modules/nf-core/hisat2/align/main.nf new file mode 100644 index 00000000..316e71b3 --- /dev/null +++ b/modules/nf-core/hisat2/align/main.nf @@ -0,0 +1,92 @@ +process HISAT2_ALIGN { + tag "$meta.id" + label 'process_high' + + conda "${moduleDir}/environment.yml" + container "${ workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container ? + 'oras://community.wave.seqera.io/library/hisat2_samtools:5a258fe6e30b2c20' : + 'community.wave.seqera.io/library/hisat2_samtools:6ca0ef72b662d5c8' }" + + input: + tuple val(meta), path(reads) + tuple val(meta2), path(index) + tuple val(meta3), path(splicesites) + val save_unaligned + + output: + tuple val(meta), path("*.bam") , emit: bam + tuple val(meta), path("*.log") , emit: summary + tuple val(meta), path("*fastq.gz"), optional:true, emit: fastq + tuple val("${task.process}"), val('hisat2'), eval("hisat2 --version | sed -n '1s/.*version //p'"), emit: versions_hisat2, topic: versions + tuple val("${task.process}"), val('samtools'), eval("samtools --version | sed -n '1s/samtools //p'"), emit: versions_samtools, topic: versions + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + + def strandedness = '' + if (meta.strandedness == 'forward') { + strandedness = meta.single_end ? '--rna-strandness F' : '--rna-strandness FR' + } else if (meta.strandedness == 'reverse') { + strandedness = meta.single_end ? '--rna-strandness R' : '--rna-strandness RF' + } + ss = "$splicesites" ? "--known-splicesite-infile $splicesites" : '' + def rg = args.contains("--rg-id") ? "" : "--rg-id ${prefix} --rg SM:${prefix}" + if (meta.single_end) { + def unaligned = save_unaligned ? "--un-gz ${prefix}.unmapped.fastq.gz" : '' + """ + INDEX=`find -L ./ -name "*.1.ht2*" | sed 's/\\.1.ht2.*\$//'` + hisat2 \\ + -x \$INDEX \\ + -U $reads \\ + $strandedness \\ + $ss \\ + --summary-file ${prefix}.hisat2.summary.log \\ + --threads $task.cpus \\ + $rg \\ + $unaligned \\ + $args \\ + | samtools view -bS -F 4 -F 256 - > ${prefix}.bam + """ + } else { + def unaligned = save_unaligned ? "--un-conc-gz ${prefix}.unmapped.fastq.gz" : '' + """ + INDEX=`find -L ./ -name "*.1.ht2*" | sed 's/\\.1.ht2.*\$//'` + hisat2 \\ + -x \$INDEX \\ + -1 ${reads[0]} \\ + -2 ${reads[1]} \\ + $strandedness \\ + $ss \\ + --summary-file ${prefix}.hisat2.summary.log \\ + --threads $task.cpus \\ + $rg \\ + $unaligned \\ + --no-mixed \\ + --no-discordant \\ + $args \\ + | samtools view -bS -F 4 -F 8 -F 256 - > ${prefix}.bam + + if [ -f ${prefix}.unmapped.fastq.1.gz ]; then + mv ${prefix}.unmapped.fastq.1.gz ${prefix}.unmapped_1.fastq.gz + fi + if [ -f ${prefix}.unmapped.fastq.2.gz ]; then + mv ${prefix}.unmapped.fastq.2.gz ${prefix}.unmapped_2.fastq.gz + fi + """ + } + + stub: + def prefix = task.ext.prefix ?: "${meta.id}" + def unaligned = save_unaligned ? "echo '' | gzip > ${prefix}.unmapped_1.fastq.gz \n echo '' | gzip > ${prefix}.unmapped_2.fastq.gz" : '' + """ + ${unaligned} + + touch ${prefix}.hisat2.summary.log + touch ${prefix}.bam + """ + +} diff --git a/modules/nf-core/hisat2/align/meta.yml b/modules/nf-core/hisat2/align/meta.yml new file mode 100644 index 00000000..c0fc3b4c --- /dev/null +++ b/modules/nf-core/hisat2/align/meta.yml @@ -0,0 +1,136 @@ +name: hisat2_align +description: Align RNA-Seq reads to a reference with HISAT2 +keywords: + - align + - fasta + - genome + - reference +tools: + - hisat2: + description: HISAT2 is a fast and sensitive alignment program for mapping next-generation + sequencing reads (both DNA and RNA) to a population of human genomes as well + as to a single reference genome. + homepage: https://daehwankimlab.github.io/hisat2/ + documentation: https://daehwankimlab.github.io/hisat2/manual/ + doi: "10.1038/s41587-019-0201-4" + licence: ["MIT"] + identifier: biotools:hisat2 +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - reads: + type: file + description: | + List of input FastQ files of size 1 and 2 for single-end and paired-end data, + respectively. + ontologies: [] + - - meta2: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome' ] + - index: + type: file + description: HISAT2 genome index file + pattern: "*.ht2" + ontologies: [] + - - meta3: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome' ] + - splicesites: + type: file + description: Splices sites in gtf file + pattern: "*.{txt}" + ontologies: [] + - save_unaligned: + type: boolean + description: Save unaligned reads to FastQ files +output: + bam: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.bam": + type: file + description: Output BAM file containing read alignments + pattern: "*.{bam}" + ontologies: [] + summary: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.log": + type: file + description: Alignment log + pattern: "*.log" + ontologies: [] + fastq: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*fastq.gz": + type: file + description: Output FastQ file + pattern: "*fastq.gz" + ontologies: + - edam: http://edamontology.org/format_3989 # GZIP format + versions_hisat2: + - - ${task.process}: + type: string + description: The name of the process + - hisat2: + type: string + description: The name of the tool + - "hisat2 --version | sed -n '1s/.*version //p'": + type: eval + description: The expression to obtain the version of the tool + versions_samtools: + - - ${task.process}: + type: string + description: The name of the process + - samtools: + type: string + description: The name of the tool + - "samtools --version | sed -n '1s/samtools //p'": + type: eval + description: The expression to obtain the version of the tool + +topics: + versions: + - - ${task.process}: + type: string + description: The name of the process + - hisat2: + type: string + description: The name of the tool + - "hisat2 --version | sed -n '1s/.*version //p'": + type: eval + description: The expression to obtain the version of the tool + - - ${task.process}: + type: string + description: The name of the process + - samtools: + type: string + description: The name of the tool + - "samtools --version | sed -n '1s/samtools //p'": + type: eval + description: The expression to obtain the version of the tool + +authors: + - "@ntoda03" + - "@ramprasadn" + - "@srisarya" +maintainers: + - "@ntoda03" + - "@ramprasadn" diff --git a/modules/nf-core/hisat2/align/tests/main.nf.test b/modules/nf-core/hisat2/align/tests/main.nf.test new file mode 100644 index 00000000..f7650bff --- /dev/null +++ b/modules/nf-core/hisat2/align/tests/main.nf.test @@ -0,0 +1,428 @@ +nextflow_process { + + name "Test Process HISAT2_ALIGN" + script "../main.nf" + process "HISAT2_ALIGN" + tag "modules" + tag "modules_nfcore" + tag "hisat2" + tag "hisat2/align" + tag "hisat2/build" + tag "hisat2/extractsplicesites" + + test("Single-End") { + + setup { + run("HISAT2_EXTRACTSPLICESITES") { + script "../../extractsplicesites/main.nf" + process { + """ + input[0] = Channel.of([ + [id:'genome'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.gtf', checkIfExists: true) + ]) + """ + } + } + + run("HISAT2_BUILD") { + script "../../build/main.nf" + process { + """ + input[0] = Channel.of([ + [id:'genome'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true) + ]) + input[1] = Channel.of([ [id:'genome'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.gtf', checkIfExists: true) + ]) + input[2] = HISAT2_EXTRACTSPLICESITES.out.txt + """ + } + } + } + + when { + params { + outdir = "$outputDir" + } + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:true ], // meta map + [ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true)] + ]) + input[1] = HISAT2_BUILD.out.index + input[2] = HISAT2_EXTRACTSPLICESITES.out.txt + input[3] = false + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out.summary).match("se_summary") }, + { assert snapshot(process.out.fastq).match("se_fastq") }, + { assert snapshot(process.out.findAll { key, val -> key.startsWith('versions') }).match("se_versions") } + ) + } + } + + test("Single-End - stub") { + options "-stub" + + setup { + run("HISAT2_EXTRACTSPLICESITES") { + script "../../extractsplicesites/main.nf" + process { + """ + input[0] = Channel.of([ + [id:'genome'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.gtf', checkIfExists: true) + ]) + """ + } + } + + run("HISAT2_BUILD") { + script "../../build/main.nf" + process { + """ + input[0] = Channel.of([ + [id:'genome'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true) + ]) + input[1] = Channel.of([ [id:'genome'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.gtf', checkIfExists: true) + ]) + input[2] = HISAT2_EXTRACTSPLICESITES.out.txt + """ + } + } + } + + when { + params { + outdir = "$outputDir" + } + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:true ], // meta map + [ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true)] + ]) + input[1] = HISAT2_BUILD.out.index + input[2] = HISAT2_EXTRACTSPLICESITES.out.txt + input[3] = false + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("Paired-End") { + + setup { + run("HISAT2_EXTRACTSPLICESITES") { + script "../../extractsplicesites/main.nf" + process { + """ + input[0] = Channel.of([ + [id:'genome'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.gtf', checkIfExists: true) + ]) + """ + } + } + + run("HISAT2_BUILD") { + script "../../build/main.nf" + process { + """ + input[0] = Channel.of([ + [id:'genome'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true) + ]) + input[1] = Channel.of([ [id:'genome'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.gtf', checkIfExists: true) + ]) + input[2] = HISAT2_EXTRACTSPLICESITES.out.txt + """ + } + } + } + + when { + params { + outdir = "$outputDir" + } + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + [ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) ] + ]) + input[1] = HISAT2_BUILD.out.index + input[2] = HISAT2_EXTRACTSPLICESITES.out.txt + input[3] = false + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out.summary).match("pe_summary") }, + { assert snapshot(process.out.fastq).match("pe_fastq") }, + { assert snapshot(process.out.findAll { key, val -> key.startsWith('versions') }).match("pe_versions") } + ) + } + } + + test("Paired-End - stub") { + options "-stub" + + setup { + run("HISAT2_EXTRACTSPLICESITES") { + script "../../extractsplicesites/main.nf" + process { + """ + input[0] = Channel.of([ + [id:'genome'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.gtf', checkIfExists: true) + ]) + """ + } + } + + run("HISAT2_BUILD") { + script "../../build/main.nf" + process { + """ + input[0] = Channel.of([ + [id:'genome'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true) + ]) + input[1] = Channel.of([ [id:'genome'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.gtf', checkIfExists: true) + ]) + input[2] = HISAT2_EXTRACTSPLICESITES.out.txt + """ + } + } + } + + when { + params { + outdir = "$outputDir" + } + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + [ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) ] + ]) + input[1] = HISAT2_BUILD.out.index + input[2] = HISAT2_EXTRACTSPLICESITES.out.txt + input[3] = false + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("Single-End No Splice Sites") { + + setup { + run("HISAT2_BUILD") { + script "../../build/main.nf" + process { + """ + input[0] = Channel.of([ + [id:'genome'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true) + ]) + input[1] = [[:],[]] + input[2] = [[:],[]] + """ + } + } + } + + when { + params { + outdir = "$outputDir" + } + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:true ], // meta map + [ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true) ] + ]) + input[1] = HISAT2_BUILD.out.index + input[2] = [[:],[]] + input[3] = false + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out.summary).match("se_no_ss_summary") }, + { assert snapshot(process.out.fastq).match("se_no_ss_fastq") }, + { assert snapshot(process.out.findAll { key, val -> key.startsWith('versions') }).match("se_no_ss_versions") } + ) + } + } + + test("Single-End No Splice Sites - stub") { + options "-stub" + + setup { + run("HISAT2_BUILD") { + script "../../build/main.nf" + process { + """ + input[0] = Channel.of([ + [id:'genome'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true) + ]) + input[1] = [[:],[]] + input[2] = [[:],[]] + """ + } + } + } + + when { + params { + outdir = "$outputDir" + } + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:true ], // meta map + [ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true) ] + ]) + input[1] = HISAT2_BUILD.out.index + input[2] = [[:],[]] + input[3] = false + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("Paired-End No Splice Sites") { + + setup { + run("HISAT2_BUILD") { + script "../../build/main.nf" + process { + """ + input[0] = Channel.of([ + [id:'genome'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true) + ]) + input[1] = [[:],[]] + input[2] = [[:],[]] + """ + } + } + } + + when { + params { + outdir = "$outputDir" + } + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + [ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) ] + ]) + input[1] = HISAT2_BUILD.out.index + input[2] = [[:],[]] + input[3] = false + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out.summary).match("pe_no_ss_summary") }, + { assert snapshot(process.out.fastq).match("pe_no_ss_fastq") }, + { assert snapshot(process.out.findAll { key, val -> key.startsWith('versions') }).match("pe_no_ss_versions") } + ) + } + } + + test("Paired-End No Splice Sites - stub") { + options "-stub" + + setup { + run("HISAT2_BUILD") { + script "../../build/main.nf" + process { + """ + input[0] = Channel.of([ + [id:'genome'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true) + ]) + input[1] = [[:],[]] + input[2] = [[:],[]] + """ + } + } + } + + when { + params { + outdir = "$outputDir" + } + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + [ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) ] + ]) + input[1] = HISAT2_BUILD.out.index + input[2] = [[:],[]] + input[3] = false + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } +} diff --git a/modules/nf-core/hisat2/align/tests/main.nf.test.snap b/modules/nf-core/hisat2/align/tests/main.nf.test.snap new file mode 100644 index 00000000..bd247f1f --- /dev/null +++ b/modules/nf-core/hisat2/align/tests/main.nf.test.snap @@ -0,0 +1,546 @@ +{ + "se_versions": { + "content": [ + { + "versions_hisat2": [ + [ + "HISAT2_ALIGN", + "hisat2", + "2.2.2" + ] + ], + "versions_samtools": [ + [ + "HISAT2_ALIGN", + "samtools", + "1.23" + ] + ] + } + ], + "timestamp": "2026-03-13T15:46:33.550842202", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "Paired-End - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + [ + { + "id": "test", + "single_end": false + }, + "test.hisat2.summary.log:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "2": [ + + ], + "3": [ + [ + "HISAT2_ALIGN", + "hisat2", + "2.2.2" + ] + ], + "4": [ + [ + "HISAT2_ALIGN", + "samtools", + "1.23" + ] + ], + "bam": [ + [ + { + "id": "test", + "single_end": false + }, + "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "fastq": [ + + ], + "summary": [ + [ + { + "id": "test", + "single_end": false + }, + "test.hisat2.summary.log:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions_hisat2": [ + [ + "HISAT2_ALIGN", + "hisat2", + "2.2.2" + ] + ], + "versions_samtools": [ + [ + "HISAT2_ALIGN", + "samtools", + "1.23" + ] + ] + } + ], + "timestamp": "2026-03-13T15:47:18.603866683", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "Single-End - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": true + }, + "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + [ + { + "id": "test", + "single_end": true + }, + "test.hisat2.summary.log:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "2": [ + + ], + "3": [ + [ + "HISAT2_ALIGN", + "hisat2", + "2.2.2" + ] + ], + "4": [ + [ + "HISAT2_ALIGN", + "samtools", + "1.23" + ] + ], + "bam": [ + [ + { + "id": "test", + "single_end": true + }, + "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "fastq": [ + + ], + "summary": [ + [ + { + "id": "test", + "single_end": true + }, + "test.hisat2.summary.log:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions_hisat2": [ + [ + "HISAT2_ALIGN", + "hisat2", + "2.2.2" + ] + ], + "versions_samtools": [ + [ + "HISAT2_ALIGN", + "samtools", + "1.23" + ] + ] + } + ], + "timestamp": "2026-03-13T15:46:44.09007817", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "pe_no_ss_versions": { + "content": [ + { + "versions_hisat2": [ + [ + "HISAT2_ALIGN", + "hisat2", + "2.2.2" + ] + ], + "versions_samtools": [ + [ + "HISAT2_ALIGN", + "samtools", + "1.23" + ] + ] + } + ], + "timestamp": "2026-03-13T15:47:53.950878277", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "Paired-End No Splice Sites - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + [ + { + "id": "test", + "single_end": false + }, + "test.hisat2.summary.log:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "2": [ + + ], + "3": [ + [ + "HISAT2_ALIGN", + "hisat2", + "2.2.2" + ] + ], + "4": [ + [ + "HISAT2_ALIGN", + "samtools", + "1.23" + ] + ], + "bam": [ + [ + { + "id": "test", + "single_end": false + }, + "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "fastq": [ + + ], + "summary": [ + [ + { + "id": "test", + "single_end": false + }, + "test.hisat2.summary.log:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions_hisat2": [ + [ + "HISAT2_ALIGN", + "hisat2", + "2.2.2" + ] + ], + "versions_samtools": [ + [ + "HISAT2_ALIGN", + "samtools", + "1.23" + ] + ] + } + ], + "timestamp": "2026-03-13T15:48:03.442827528", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "pe_no_ss_summary": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.hisat2.summary.log:md5,9839b31db795958cc4b70711a3414e9c" + ] + ] + ], + "timestamp": "2026-03-13T15:47:53.92948134", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "pe_no_ss_fastq": { + "content": [ + [ + + ] + ], + "timestamp": "2026-03-13T15:47:53.940770797", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "se_summary": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true + }, + "test.hisat2.summary.log:md5,7b8a9e61b7646da1089b041333c41a87" + ] + ] + ], + "timestamp": "2026-03-13T15:46:33.518315625", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "pe_summary": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.hisat2.summary.log:md5,9839b31db795958cc4b70711a3414e9c" + ] + ] + ], + "timestamp": "2026-03-13T15:47:03.319643777", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "pe_fastq": { + "content": [ + [ + + ] + ], + "timestamp": "2026-03-13T15:47:03.327964773", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "se_fastq": { + "content": [ + [ + + ] + ], + "timestamp": "2026-03-13T15:46:33.534325587", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "se_no_ss_summary": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true + }, + "test.hisat2.summary.log:md5,7b8a9e61b7646da1089b041333c41a87" + ] + ] + ], + "timestamp": "2026-03-13T15:47:31.370347321", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "se_no_ss_versions": { + "content": [ + { + "versions_hisat2": [ + [ + "HISAT2_ALIGN", + "hisat2", + "2.2.2" + ] + ], + "versions_samtools": [ + [ + "HISAT2_ALIGN", + "samtools", + "1.23" + ] + ] + } + ], + "timestamp": "2026-03-13T15:47:31.389700341", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "se_no_ss_fastq": { + "content": [ + [ + + ] + ], + "timestamp": "2026-03-13T15:47:31.379867468", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "Single-End No Splice Sites - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": true + }, + "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + [ + { + "id": "test", + "single_end": true + }, + "test.hisat2.summary.log:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "2": [ + + ], + "3": [ + [ + "HISAT2_ALIGN", + "hisat2", + "2.2.2" + ] + ], + "4": [ + [ + "HISAT2_ALIGN", + "samtools", + "1.23" + ] + ], + "bam": [ + [ + { + "id": "test", + "single_end": true + }, + "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "fastq": [ + + ], + "summary": [ + [ + { + "id": "test", + "single_end": true + }, + "test.hisat2.summary.log:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions_hisat2": [ + [ + "HISAT2_ALIGN", + "hisat2", + "2.2.2" + ] + ], + "versions_samtools": [ + [ + "HISAT2_ALIGN", + "samtools", + "1.23" + ] + ] + } + ], + "timestamp": "2026-03-13T15:47:41.185805317", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "pe_versions": { + "content": [ + { + "versions_hisat2": [ + [ + "HISAT2_ALIGN", + "hisat2", + "2.2.2" + ] + ], + "versions_samtools": [ + [ + "HISAT2_ALIGN", + "samtools", + "1.23" + ] + ] + } + ], + "timestamp": "2026-03-13T15:47:03.336541869", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + } +} \ No newline at end of file diff --git a/modules/nf-core/hisat2/build/environment.yml b/modules/nf-core/hisat2/build/environment.yml new file mode 100644 index 00000000..eda17e00 --- /dev/null +++ b/modules/nf-core/hisat2/build/environment.yml @@ -0,0 +1,7 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + - bioconda::hisat2=2.2.2 diff --git a/modules/nf-core/hisat2/build/hisat2-build.diff b/modules/nf-core/hisat2/build/hisat2-build.diff new file mode 100644 index 00000000..eac606dd --- /dev/null +++ b/modules/nf-core/hisat2/build/hisat2-build.diff @@ -0,0 +1,14 @@ +Changes in module 'nf-core/hisat2/build' +--- modules/nf-core/hisat2/build/meta.yml ++++ modules/nf-core/hisat2/build/meta.yml +@@ -8,7 +8,7 @@ + - reference + tools: + - hisat2: +- description: HISAT2 is a fast and sensitive alignment program for mapping next-generation sequencing reads (both DNA and RNA) to a population of human genomes as well as to a single reference genome. ++ description: HISAT2 is a fast and sensitive alignment program for bam_align next-generation sequencing reads (both DNA and RNA) to a population of human genomes as well as to a single reference genome. + homepage: https://daehwankimlab.github.io/hisat2/ + documentation: https://daehwankimlab.github.io/hisat2/manual/ + doi: "10.1038/s41587-019-0201-4" + +************************************************************ diff --git a/modules/nf-core/hisat2/build/main.nf b/modules/nf-core/hisat2/build/main.nf new file mode 100644 index 00000000..85ba3e84 --- /dev/null +++ b/modules/nf-core/hisat2/build/main.nf @@ -0,0 +1,62 @@ +process HISAT2_BUILD { + tag "${fasta}" + label 'process_high' + + conda "${moduleDir}/environment.yml" + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/hisat2:2.2.2--h503566f_0' : + 'quay.io/biocontainers/hisat2:2.2.2--h503566f_0'}" + + input: + tuple val(meta), path(fasta) + tuple val(meta2), path(gtf) + tuple val(meta3), path(splicesites) + + output: + tuple val(meta), path("hisat2"), emit: index + tuple val("${task.process}"), val('hisat2'), eval("hisat2 --version | sed -n 's/.*version \\([^ ]*\\).*/\\1/p'"), emit: versions_hisat2, topic: versions + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + + if (!task.memory) { + error "[HISAT2 index build] No memory specified for process. Please configure memory for 'process_high' label." + } + def avail_mem = task.memory.toGiga() + def hisat2_build_memory = params.hisat2_build_memory ? (params.hisat2_build_memory as MemoryUnit).toGiga() : Integer.MAX_VALUE + + def ss = '' + def exon = '' + def extract_exons = '' + + if (avail_mem >= hisat2_build_memory) { + log.info("[HISAT2 index build] ${avail_mem} GB available, using splice sites and exons to build HISAT2 index") + extract_exons = gtf ? "hisat2_extract_exons.py ${gtf} > ${gtf.baseName}.exons.txt" : "" + ss = splicesites ? "--ss ${splicesites}" : "" + exon = gtf ? "--exon ${gtf.baseName}.exons.txt" : "" + } + else { + log.info("[HISAT2 index build] Only ${avail_mem} GB available (< ${hisat2_build_memory} GB threshold), so NOT using splice sites and exons to build HISAT2 index.") + log.info("[HISAT2 index build] Increase memory allocation or lower --hisat2_build_memory to enable splice-aware indexing.") + } + + """ + mkdir hisat2 + ${extract_exons} + hisat2-build \\ + -p ${task.cpus} \\ + ${ss} \\ + ${exon} \\ + ${args} \\ + ${fasta} \\ + hisat2/${fasta.baseName} + """ + + stub: + """ + mkdir hisat2 + """ +} diff --git a/modules/nf-core/hisat2/build/meta.yml b/modules/nf-core/hisat2/build/meta.yml new file mode 100644 index 00000000..03c2b395 --- /dev/null +++ b/modules/nf-core/hisat2/build/meta.yml @@ -0,0 +1,89 @@ +name: hisat2_build +description: Builds HISAT2 index for reference genome +keywords: + - build + - index + - fasta + - genome + - reference +tools: + - hisat2: + description: HISAT2 is a fast and sensitive alignment program for mapping next-generation + sequencing reads (both DNA and RNA) to a population of human genomes as well + as to a single reference genome. + homepage: https://daehwankimlab.github.io/hisat2/ + documentation: https://daehwankimlab.github.io/hisat2/manual/ + doi: "10.1038/s41587-019-0201-4" + licence: ["MIT"] + identifier: biotools:hisat2 +input: + - - meta: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome' ] + - fasta: + type: file + description: Reference fasta file + pattern: "*.{fa,fasta,fna}" + ontologies: [] + - - meta2: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome' ] + - gtf: + type: file + description: Reference gtf annotation file + pattern: "*.{gtf}" + ontologies: [] + - - meta3: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome' ] + - splicesites: + type: file + description: Splices sites in gtf file + pattern: "*.{txt}" + ontologies: [] +output: + index: + - - meta: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome' ] + - hisat2: + type: file + description: HISAT2 genome index file + pattern: "*.ht2" + ontologies: [] + versions_hisat2: + - - ${task.process}: + type: string + description: The name of the process + - hisat2: + type: string + description: The name of the tool + - "hisat2 --version | sed -n 's/.*version \\([^ ]*\\).*/\\1/p'": + type: eval + description: The expression to obtain the version of the tool + +topics: + versions: + - - ${task.process}: + type: string + description: The name of the process + - hisat2: + type: string + description: The name of the tool + - "hisat2 --version | sed -n 's/.*version \\([^ ]*\\).*/\\1/p'": + type: eval + description: The expression to obtain the version of the tool + +authors: + - "@ntoda03" + - "@srisarya" +maintainers: + - "@ntoda03" diff --git a/modules/nf-core/hisat2/build/tests/main.nf.test b/modules/nf-core/hisat2/build/tests/main.nf.test new file mode 100644 index 00000000..9bee5f67 --- /dev/null +++ b/modules/nf-core/hisat2/build/tests/main.nf.test @@ -0,0 +1,104 @@ +nextflow_process { + + name "Test Process HISAT2_BUILD" + script "../main.nf" + process "HISAT2_BUILD" + tag "modules" + tag "modules_nfcore" + tag "hisat2" + tag "hisat2/build" + tag "hisat2/extractsplicesites" + + test("Should run without failures") { + + setup { + run("HISAT2_EXTRACTSPLICESITES") { + script "../../extractsplicesites/main.nf" + process { + """ + input[0] = Channel.of([ + [id:'genome'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.gtf', checkIfExists: true) + ]) + """ + } + } + } + + when { + params { + outdir = "$outputDir" + } + process { + """ + input[0] = Channel.of([ + [id:'genome'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true) + ]) + input[1] = Channel.of([ [id:'genome'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.gtf', checkIfExists: true) + ]) + input[2] = HISAT2_EXTRACTSPLICESITES.out.txt + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot( + process.out.index.collect { it.collect { it instanceof Map ? it : file(it).name } }, + process.out.findAll { key, val -> key.startsWith('versions') } + ).match() } + ) + } + } + + test("Should run without failures - stub") { + + options "-stub" + + setup { + run("HISAT2_EXTRACTSPLICESITES") { + script "../../extractsplicesites/main.nf" + process { + """ + input[0] = Channel.of([ + [id:'genome'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.gtf', checkIfExists: true) + ]) + """ + } + } + } + + when { + params { + outdir = "$outputDir" + } + + process { + """ + input[0] = Channel.of([ + [id:'genome'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true) + ]) + input[1] = Channel.of([ [id:'genome'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.gtf', checkIfExists: true) + ]) + input[2] = HISAT2_EXTRACTSPLICESITES.out.txt + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot( + process.out.index.collect { it.collect { it instanceof Map ? it : file(it).name } }, + process.out.findAll { key, val -> key.startsWith('versions') } + ).match() } + ) + } + } +} diff --git a/modules/nf-core/hisat2/build/tests/main.nf.test.snap b/modules/nf-core/hisat2/build/tests/main.nf.test.snap new file mode 100644 index 00000000..31a51b6f --- /dev/null +++ b/modules/nf-core/hisat2/build/tests/main.nf.test.snap @@ -0,0 +1,54 @@ +{ + "Should run without failures - stub": { + "content": [ + [ + [ + { + "id": "genome" + }, + "hisat2" + ] + ], + { + "versions_hisat2": [ + [ + "HISAT2_BUILD", + "hisat2", + "2.2.2" + ] + ] + } + ], + "timestamp": "2026-03-13T15:48:27.662525629", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "Should run without failures": { + "content": [ + [ + [ + { + "id": "genome" + }, + "hisat2" + ] + ], + { + "versions_hisat2": [ + [ + "HISAT2_BUILD", + "hisat2", + "2.2.2" + ] + ] + } + ], + "timestamp": "2026-03-13T15:48:14.776471034", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + } +} \ No newline at end of file diff --git a/modules/nf-core/hisat2/extractsplicesites/environment.yml b/modules/nf-core/hisat2/extractsplicesites/environment.yml new file mode 100644 index 00000000..cbf12ead --- /dev/null +++ b/modules/nf-core/hisat2/extractsplicesites/environment.yml @@ -0,0 +1,8 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + - bioconda::hisat2=2.2.1 + - bioconda::samtools=1.20 diff --git a/modules/nf-core/hisat2/extractsplicesites/hisat2-extractsplicesites.diff b/modules/nf-core/hisat2/extractsplicesites/hisat2-extractsplicesites.diff new file mode 100644 index 00000000..3c48f251 --- /dev/null +++ b/modules/nf-core/hisat2/extractsplicesites/hisat2-extractsplicesites.diff @@ -0,0 +1,14 @@ +Changes in module 'nf-core/hisat2/extractsplicesites' +--- modules/nf-core/hisat2/extractsplicesites/meta.yml ++++ modules/nf-core/hisat2/extractsplicesites/meta.yml +@@ -8,7 +8,7 @@ + + tools: + - hisat2: +- description: HISAT2 is a fast and sensitive alignment program for mapping next-generation sequencing reads (both DNA and RNA) to a population of human genomes as well as to a single reference genome. ++ description: HISAT2 is a fast and sensitive alignment program for bam_align next-generation sequencing reads (both DNA and RNA) to a population of human genomes as well as to a single reference genome. + homepage: https://daehwankimlab.github.io/hisat2/ + documentation: https://daehwankimlab.github.io/hisat2/manual/ + doi: "10.1038/s41587-019-0201-4" + +************************************************************ diff --git a/modules/nf-core/hisat2/extractsplicesites/main.nf b/modules/nf-core/hisat2/extractsplicesites/main.nf new file mode 100644 index 00000000..36c754d2 --- /dev/null +++ b/modules/nf-core/hisat2/extractsplicesites/main.nf @@ -0,0 +1,33 @@ +process HISAT2_EXTRACTSPLICESITES { + tag "$gtf" + label 'process_medium' + + conda "${moduleDir}/environment.yml" + container "${ workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container ? + 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/d2/d2ec9b73c6b92e99334c6500b1b622edaac316315ac1708f0b425df3131d0a83/data' : + 'community.wave.seqera.io/library/hisat2_samtools:6be64e12472a7b75' }" + + input: + tuple val(meta), path(gtf) + + output: + tuple val(meta), path("*.splice_sites.txt"), emit: txt + tuple val("${task.process}"), val('hisat2'), eval('hisat2 --version | grep -o "version [^ ]*" | cut -d " " -f 2'), topic: versions, emit: versions_hisat2 + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + """ + hisat2_extract_splice_sites.py \\ + $args \\ + $gtf \\ + > ${gtf.baseName}.splice_sites.txt + """ + + stub: + """ + touch ${gtf.baseName}.splice_sites.txt + """ +} diff --git a/modules/nf-core/hisat2/extractsplicesites/meta.yml b/modules/nf-core/hisat2/extractsplicesites/meta.yml new file mode 100644 index 00000000..c13cc5b9 --- /dev/null +++ b/modules/nf-core/hisat2/extractsplicesites/meta.yml @@ -0,0 +1,69 @@ +name: hisat2_extractsplicesites +description: Extracts splicing sites from a gtf files +keywords: + - splicing + - gtf + - genome + - reference +tools: + - hisat2: + description: HISAT2 is a fast and sensitive alignment program for mapping next-generation + sequencing reads (both DNA and RNA) to a population of human genomes as well + as to a single reference genome. + homepage: https://daehwankimlab.github.io/hisat2/ + documentation: https://daehwankimlab.github.io/hisat2/manual/ + doi: "10.1038/s41587-019-0201-4" + licence: ["MIT"] + identifier: biotools:hisat2 +input: + - - meta: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome' ] + - gtf: + type: file + description: Reference gtf annotation file + pattern: "*.{gtf}" + ontologies: [] +output: + txt: + - - meta: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome' ] + - "*.splice_sites.txt": + type: file + description: Splice sites in txt file + pattern: "*.txt" + ontologies: [] + versions_hisat2: + - - ${task.process}: + type: string + description: The process the versions were collected from + - hisat2: + type: string + description: The tool name + - hisat2 --version | grep -o "version [^ ]*" | cut -d " " -f 2: + type: eval + description: The expression to obtain the version of the tool + +topics: + versions: + - - ${task.process}: + type: string + description: The process the versions were collected from + - hisat2: + type: string + description: The tool name + - hisat2 --version | grep -o "version [^ ]*" | cut -d " " -f 2: + type: eval + description: The expression to obtain the version of the tool + +authors: + - "@ntoda03" + - "@ramprasadn" +maintainers: + - "@ntoda03" + - "@ramprasadn" diff --git a/modules/nf-core/hisat2/extractsplicesites/tests/main.nf.test b/modules/nf-core/hisat2/extractsplicesites/tests/main.nf.test new file mode 100644 index 00000000..a827a0fc --- /dev/null +++ b/modules/nf-core/hisat2/extractsplicesites/tests/main.nf.test @@ -0,0 +1,61 @@ +nextflow_process { + + name "Test Process HISAT2_EXTRACTSPLICESITES" + script "../main.nf" + process "HISAT2_EXTRACTSPLICESITES" + tag "modules" + tag "modules_nfcore" + tag "hisat2" + tag "hisat2/extractsplicesites" + + test("Should run without failures") { + + when { + params { + outdir = "$outputDir" + } + process { + """ + input[0] = Channel.of([ + [id:'genome'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.gtf', checkIfExists: true) + ]) + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert path("${process.out.txt[0][1]}").exists() }, + { assert snapshot(process.out.findAll { key, val -> key.startsWith("versions") }).match() } + ) + } + } + + test("test - stub") { + + options "-stub" + + when { + params { + outdir = "$outputDir" + } + process { + """ + input[0] = Channel.of([ + [id:'genome'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.gtf', checkIfExists: true) + ]) + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } +} diff --git a/modules/nf-core/hisat2/extractsplicesites/tests/main.nf.test.snap b/modules/nf-core/hisat2/extractsplicesites/tests/main.nf.test.snap new file mode 100644 index 00000000..341c3202 --- /dev/null +++ b/modules/nf-core/hisat2/extractsplicesites/tests/main.nf.test.snap @@ -0,0 +1,61 @@ +{ + "test - stub": { + "content": [ + { + "0": [ + [ + { + "id": "genome" + }, + "genome.splice_sites.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + [ + "HISAT2_EXTRACTSPLICESITES", + "hisat2", + "2.2.1" + ] + ], + "txt": [ + [ + { + "id": "genome" + }, + "genome.splice_sites.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions_hisat2": [ + [ + "HISAT2_EXTRACTSPLICESITES", + "hisat2", + "2.2.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2026-01-19T13:53:18.228211649" + }, + "Should run without failures": { + "content": [ + { + "versions_hisat2": [ + [ + "HISAT2_EXTRACTSPLICESITES", + "hisat2", + "2.2.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2026-01-19T13:53:12.997365366" + } +} \ No newline at end of file diff --git a/modules/nf-core/htslib/bgziptabix/environment.yml b/modules/nf-core/htslib/bgziptabix/environment.yml new file mode 100644 index 00000000..57360122 --- /dev/null +++ b/modules/nf-core/htslib/bgziptabix/environment.yml @@ -0,0 +1,8 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + - bioconda::htslib=1.23.1 + - conda-forge::xz=5.8.3 diff --git a/modules/nf-core/htslib/bgziptabix/main.nf b/modules/nf-core/htslib/bgziptabix/main.nf new file mode 100644 index 00000000..68bdbb86 --- /dev/null +++ b/modules/nf-core/htslib/bgziptabix/main.nf @@ -0,0 +1,88 @@ +process HTSLIB_BGZIPTABIX { + tag "${meta.id}" + label 'process_low' + + conda "${moduleDir}/environment.yml" + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/33/33a1f2c7f36ec58339e41cbea096d121f606918778a91cfbef944b40ba7ce48b/data' + : 'community.wave.seqera.io/library/htslib_xz:49c8c84af5c4b3b9'}" + + input: + tuple val(meta), path(infile), path(infile_tbi), path(regions) + val action + val make_index + val out_ext + + output: + tuple val(meta), path("${outfile}"), emit: output + tuple val(meta), path("${outfile}.{tbi,csi}"), emit: index, optional: true + // all htslib tools have the same version, we use bgzip + tuple val("${task.process}"), val('htslib'), eval("bgzip --version | sed '1! d; s/bgzip (htslib) //'"), topic: versions, emit: versions_htslib + tuple val("${task.process}"), val('xz'), eval("xz --version | sed '1! d; s/xz (XZ Utils) //'"), topic: versions, emit: versions_xz + + when: + task.ext.when == null || task.ext.when + + script: + def allowed_actions = ["compress", "decompress"] + if (action !in allowed_actions) { + error("htslib/bgziptabix: Invalid action: ${action}. Allowed actions are: ${allowed_actions.join(', ')}") + } + + if (action == "decompress" && make_index) { + log.warn("htslib/bgziptabix: Cannot create index when decompressing. Ignoring make_index option.") + } + + def args = task.ext.args ?: '' + def args2 = task.ext.args2 ?: '' + prefix = task.ext.prefix ?: "${meta.id}" + outfile = action == "compress" ? (out_ext ? "${prefix}.${out_ext}.gz" : "${prefix}.gz") : (out_ext ? "${prefix}.${out_ext}" : "${prefix}") + + def compress_cmd = action == "compress" ? "bgzip -c ${args} -@ ${task.cpus}" : "cat" + def bgzip_cmd = action == "compress" ? "[ '\$(basename ${infile})' != '\$(basename ${outfile})' ] && ln -s ${infile} ${outfile}" : "bgzip -c -d ${args} -@ ${task.cpus} ${infile} > ${outfile}" + + def regions_arg = regions ? "-R ${regions}" : "" + def tabix_cmd = (make_index && !infile_tbi) ? "tabix -@ ${task.cpus} ${regions_arg} ${args2} -f ${outfile}" : "" + def link_tabix_cmd = make_index && infile_tbi ? "ln -s ${infile_tbi} ${outfile}.${infile_tbi.extension}" : "" + def uncompressed_cmd = action == "compress" ? "${compress_cmd} ${infile} > ${outfile}" : (infile.getName() == outfile ? "" : "ln -s ${infile} ${outfile}") + """ + ${link_tabix_cmd} + + FILE_TYPE=\$(htsfile ${infile}) + + case "\$FILE_TYPE" in + *BGZF-compressed*) + ${bgzip_cmd} ;; + *gzip-compressed*) + [ "\$(basename ${infile})" == "\$(basename ${outfile})" ] && echo "Input and output names cannot be the same" && exit 1 + bgzip -d -c -@ ${task.cpus} ${infile} | ${compress_cmd} > ${outfile} ;; + *bzip2-compressed*) + bzcat ${infile} | ${compress_cmd} > ${outfile} ;; + *XZ-compressed*) + xzcat ${infile} | ${compress_cmd} > ${outfile} ;; + *) + ${uncompressed_cmd} ;; + esac + + ${tabix_cmd} + """ + + stub: + def args = task.ext.args ?: '' + def args2 = task.ext.args2 ?: '' + prefix = task.ext.prefix ?: "${meta.id}" + outfile = action == "compress" ? (out_ext ? "${prefix}.${out_ext}.gz" : "${prefix}.gz") : (out_ext ? "${prefix}.${out_ext}" : "${prefix}") + + def touch_cmd = action == "compress" ? "echo | bgzip -c" : "echo" + def index_fmt = args2.contains('-C') ? 'csi' : 'tbi' + def tabix_cmd = make_index ? "touch ${outfile}.${index_fmt}" : "" + def link_tabix_cmd = make_index && infile_tbi ? "ln -s ${infile_tbi} ${outfile}.${infile_tbi.extension}" : "" + """ + echo ${args} + + ${touch_cmd} > ${outfile} + + ${tabix_cmd} + ${link_tabix_cmd} + """ +} diff --git a/modules/nf-core/htslib/bgziptabix/meta.yml b/modules/nf-core/htslib/bgziptabix/meta.yml new file mode 100644 index 00000000..4cdefd0e --- /dev/null +++ b/modules/nf-core/htslib/bgziptabix/meta.yml @@ -0,0 +1,125 @@ +name: "htslib_bgziptabix" +description: "Multi-purpose module to compress, decompress and index files using bgzip + and tabix." +keywords: + - compress + - decompress + - index + - bgzip + - tabix + - gzip + - bzip + - xz +tools: + - "htslib": + description: "C library for high-throughput sequencing data formats." + homepage: "http://www.htslib.org/" + documentation: "http://www.htslib.org/doc/" + tool_dev_url: "https://github.com/samtools/htslib" + doi: "10.1093/gigascience/giab007" + licence: + - "MIT" + identifier: biotools:htslib +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'sample1' ] + - infile: + type: file + description: Input file to compress or decompress + pattern: "*" + ontologies: [] + - infile_tbi: + type: file + description: Optional tabix index for the input file. + pattern: "*.{tbi,csi}" + ontologies: + - edam: http://edamontology.org/format_3616 # tabix + - regions: + type: file + description: Optional file of regions to extract (BED or chr:start-end format). + Only used when creating an index for the output file. + pattern: "*.{bed,txt,tsv}" + ontologies: + - edam: http://edamontology.org/format_3475 # TSV + - edam: http://edamontology.org/format_3003 # BED + - action: + type: string + description: Action to perform, either `compress` or `decompress` + - make_index: + type: boolean + description: Whether to create a tabix index for the output file; only used + if `action` is `compress` + - out_ext: + type: string + description: Output file extension without `.gz` suffix (for example `vcf`) +output: + output: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'sample1' ] + - ${outfile}: + type: file + description: Compressed or decompressed output file + pattern: "*" + ontologies: [] + index: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'sample1' ] + - ${outfile}.{tbi,csi}: + type: file + description: Tabix index file for the compressed output file + pattern: "*.{tbi,csi}" + ontologies: + - edam: http://edamontology.org/format_3616 # tabix + versions_htslib: + - - ${task.process}: + type: string + description: The name of the process + - htslib: + type: string + description: The name of the tool + - bgzip --version | sed '1! d; s/bgzip (htslib) //': + type: eval + description: The expression to obtain the version of the tool + versions_xz: + - - ${task.process}: + type: string + description: The name of the process + - xz: + type: string + description: The name of the tool + - xz --version | sed '1! d; s/xz (XZ Utils) //': + type: eval + description: The expression to obtain the version of the tool +topics: + versions: + - - ${task.process}: + type: string + description: The name of the process + - htslib: + type: string + description: The name of the tool + - bgzip --version | sed '1! d; s/bgzip (htslib) //': + type: eval + description: The expression to obtain the version of the tool + - - ${task.process}: + type: string + description: The name of the process + - xz: + type: string + description: The name of the tool + - xz --version | sed '1! d; s/xz (XZ Utils) //': + type: eval + description: The expression to obtain the version of the tool +authors: + - "@itrujnara" +maintainers: + - "@itrujnara" diff --git a/modules/nf-core/htslib/bgziptabix/tests/main.nf.test b/modules/nf-core/htslib/bgziptabix/tests/main.nf.test new file mode 100644 index 00000000..a7346506 --- /dev/null +++ b/modules/nf-core/htslib/bgziptabix/tests/main.nf.test @@ -0,0 +1,435 @@ +nextflow_process { + + name "Test Process HTSLIB_BGZIPTABIX" + script "../main.nf" + process "HTSLIB_BGZIPTABIX" + + tag "modules" + tag "modules_nfcore" + tag "htslib" + tag "htslib/bgziptabix" + + test("sarscov2 - vcf - decompress") { + + when { + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test.vcf', checkIfExists: true), + [], + [] + ] + input[1] = 'decompress' // action + input[2] = false // make_index + input[3] = 'vcf' // out_ext + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() }, + { assert process.out.output.get(0).get(1).endsWith('.vcf') }, + { assert process.out.index.size() == 0 } + ) + } + + } + + test("sarscov2 - vcf - compress - index") { + + when { + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test.vcf', checkIfExists: true), + [], + [] + ] + input[1] = 'compress' // action + input[2] = true // make_index + input[3] = 'vcf' // out_ext + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() }, + { assert process.out.output.get(0).get(1).endsWith('.vcf.gz') }, + { assert process.out.index.get(0).get(1).endsWith('.vcf.gz.tbi') } + ) + } + + } + + test("sarscov2 - vcf + regions - compress - index") { + when { + process { + """ + input[0] = [ + [ id:'example' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test.vcf.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test.vcf.gz.tbi', checkIfExists: true), + file('https://raw.githubusercontent.com/luisas/test-datasets/refs/heads/add-bedgraph-subset-illumina/data/genomics/sarscov2/illumina/bed/test.bed', checkIfExists: true) + ] + input[1] = 'compress' // action + input[2] = true // make_index + input[3] = 'vcf' // out_ext + """ + } + } + + then { + assertAll ( + { assert process.success }, + { assert snapshot( + sanitizeOutput(process.out), + path(process.out.output[0][1]).vcf.getVariantsMD5(), + ).match() } + ) + } + } + + test("sarscov2 - bgzip - decompress") { + + when { + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test.vcf.gz', checkIfExists: true), + [], + [] + ] + input[1] = 'decompress' // action + input[2] = false // make_index + input[3] = 'vcf' // out_ext + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() }, + { assert process.out.output.get(0).get(1).endsWith('.vcf') }, + { assert process.out.index.size() == 0 } + ) + } + } + + test("sarscov2 - bgzip - compress - no index") { + + when { + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test.vcf.gz', checkIfExists: true), + [], + [] + ] + input[1] = 'compress' // action + input[2] = false // make_index + input[3] = 'vcf' // out_ext + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() }, + { assert process.out.output.get(0).get(1).endsWith('.vcf.gz') }, + { assert process.out.index.size() == 0 } + ) + } + + } + + test("sarscov2 - gzip - decompress") { + + when { + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true), + [], + [] + ] + input[1] = 'decompress' // action + input[2] = false // make_index + input[3] = 'fastq' // out_ext + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() }, + { assert process.out.output.get(0).get(1).endsWith('.fastq') }, + { assert process.out.index.size() == 0 } + ) + } + } + + test("sarscov2 - gzip - (re)compress - no index") { + + when { + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true), + [], + [] + ] + input[1] = 'compress' // action + input[2] = false // make_index + input[3] = 'fastq' // out_ext + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() }, + { assert process.out.output.get(0).get(1).endsWith('.fastq.gz') }, + { assert process.out.index.size() == 0 } + ) + } + } + + test("sarscov2 - gzip - name clash") { + + when { + process { + """ + input[0] = [ + [ id:'test_1' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true), + [], + [] + ] + input[1] = 'compress' // action + input[2] = false // make_index + input[3] = 'fastq' // out_ext + """ + } + } + + then { + assert process.failed + assertAll( + { assert process.errorReport.contains("Input and output names cannot be the same") } + ) + } + } + + test("metagenome - bz2 - decompress") { + + when { + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/prokaryotes/metagenome/rgi/card-data.tar.bz2', checkIfExists: true), + [], + [] + ] + input[1] = 'decompress' // action + input[2] = false // make_index + input[3] = 'tar' // out_ext + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() }, + { assert process.out.output.get(0).get(1).endsWith('.tar') }, + { assert process.out.index.size() == 0 } + ) + } + } + + test("metagenome - bz2 - (re)compress - no index") { + + when { + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/prokaryotes/metagenome/rgi/card-data.tar.bz2', checkIfExists: true), + [], + [] + ] + input[1] = 'compress' // action + input[2] = false // make_index + input[3] = 'tar' // out_ext + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() }, + { assert process.out.output.get(0).get(1).endsWith('.tar.gz') }, + { assert process.out.index.size() == 0 } + ) + } + } + + test("metagenome - xz - decompress") { + + when { + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/prokaryotes/metagenome/taxonomy/misc/taxa_sqlite.xz', checkIfExists: true), + [], + [] + ] + input[1] = 'decompress' // action + input[2] = false // make_index + input[3] = '' // out_ext + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot( + process.out, + process.out.findAll { key, val -> key.startsWith('versions') } + ).match() }, + { assert process.out.output.get(0).get(1).endsWith('test') }, + { assert process.out.index.size() == 0 } + ) + } + } + + test("metagenome - xz - (re)compress - no index") { + + when { + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/prokaryotes/metagenome/taxonomy/misc/taxa_sqlite.xz', checkIfExists: true), + [], + [] + ] + input[1] = 'compress' // action + input[2] = false // make_index + input[3] = '' // out_ext + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() }, + { assert process.out.output.get(0).get(1).endsWith('.gz') }, + { assert process.out.index.size() == 0 } + ) + } + } + + test("sarscov2 - vcf - compress - index - stub") { + + options "-stub" + + when { + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test.vcf', checkIfExists: true), + [], + [] + ] + input[1] = 'compress' // action + input[2] = true // make_index + input[3] = 'vcf' // out_ext + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) + } + + } + + test("sarscov2 - vcf - decompress - stub") { + + options "-stub" + + when { + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test.vcf.gz', checkIfExists: true), + [], + [] + ] + input[1] = 'decompress' // action + input[2] = false // make_index + input[3] = 'vcf' // out_ext + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) + } + + } + + test("illegal action") { + + when { + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test.vcf', checkIfExists: true), + [], + [] + ] + input[1] = 'invalid_action' // action + input[2] = true // make_index + input[3] = 'vcf' // out_ext + """ + } + } + + then { + assert process.failed + assert process.errorReport.contains("Invalid action: invalid_action. Allowed actions are: compress, decompress") + } + + } + +} diff --git a/modules/nf-core/htslib/bgziptabix/tests/main.nf.test.snap b/modules/nf-core/htslib/bgziptabix/tests/main.nf.test.snap new file mode 100644 index 00000000..52cfc906 --- /dev/null +++ b/modules/nf-core/htslib/bgziptabix/tests/main.nf.test.snap @@ -0,0 +1,574 @@ +{ + "sarscov2 - gzip - (re)compress - no index": { + "content": [ + { + "index": [ + + ], + "output": [ + [ + { + "id": "test" + }, + "test.fastq.gz:md5,4161df271f9bfcd25d5845a1e220dbec" + ] + ], + "versions_htslib": [ + [ + "HTSLIB_BGZIPTABIX", + "htslib", + "1.23.1" + ] + ], + "versions_xz": [ + [ + "HTSLIB_BGZIPTABIX", + "xz", + "5.8.3" + ] + ] + } + ], + "timestamp": "2026-05-19T10:21:33.710007592", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } + }, + "metagenome - xz - (re)compress - no index": { + "content": [ + { + "index": [ + + ], + "output": [ + [ + { + "id": "test" + }, + "test.gz:md5,b8d852a2b1ee52ed64d83046dcdb9de2" + ] + ], + "versions_htslib": [ + [ + "HTSLIB_BGZIPTABIX", + "htslib", + "1.23.1" + ] + ], + "versions_xz": [ + [ + "HTSLIB_BGZIPTABIX", + "xz", + "5.8.3" + ] + ] + } + ], + "timestamp": "2026-05-19T10:22:42.445692755", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } + }, + "metagenome - bz2 - decompress": { + "content": [ + { + "index": [ + + ], + "output": [ + [ + { + "id": "test" + }, + "test.tar:md5,39e9e71fd16cfd09ceca12cd46e6abce" + ] + ], + "versions_htslib": [ + [ + "HTSLIB_BGZIPTABIX", + "htslib", + "1.23.1" + ] + ], + "versions_xz": [ + [ + "HTSLIB_BGZIPTABIX", + "xz", + "5.8.3" + ] + ] + } + ], + "timestamp": "2026-05-19T10:21:48.804507455", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } + }, + "sarscov2 - vcf - decompress - stub": { + "content": [ + { + "index": [ + + ], + "output": [ + [ + { + "id": "test" + }, + "test.vcf:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "versions_htslib": [ + [ + "HTSLIB_BGZIPTABIX", + "htslib", + "1.23.1" + ] + ], + "versions_xz": [ + [ + "HTSLIB_BGZIPTABIX", + "xz", + "5.8.3" + ] + ] + } + ], + "timestamp": "2026-05-19T10:23:14.567213835", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } + }, + "sarscov2 - gzip - decompress": { + "content": [ + { + "index": [ + + ], + "output": [ + [ + { + "id": "test" + }, + "test.fastq:md5,4161df271f9bfcd25d5845a1e220dbec" + ] + ], + "versions_htslib": [ + [ + "HTSLIB_BGZIPTABIX", + "htslib", + "1.23.1" + ] + ], + "versions_xz": [ + [ + "HTSLIB_BGZIPTABIX", + "xz", + "5.8.3" + ] + ] + } + ], + "timestamp": "2026-05-19T10:21:27.607706101", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } + }, + "sarscov2 - vcf - compress - index - stub": { + "content": [ + { + "index": [ + [ + { + "id": "test" + }, + "test.vcf.gz.tbi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "output": [ + [ + { + "id": "test" + }, + "test.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "versions_htslib": [ + [ + "HTSLIB_BGZIPTABIX", + "htslib", + "1.23.1" + ] + ], + "versions_xz": [ + [ + "HTSLIB_BGZIPTABIX", + "xz", + "5.8.3" + ] + ] + } + ], + "timestamp": "2026-05-19T10:22:57.854824265", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } + }, + "sarscov2 - vcf - decompress": { + "content": [ + { + "index": [ + + ], + "output": [ + [ + { + "id": "test" + }, + "test.vcf:md5,8e722884ffb75155212a3fc053918766" + ] + ], + "versions_htslib": [ + [ + "HTSLIB_BGZIPTABIX", + "htslib", + "1.23.1" + ] + ], + "versions_xz": [ + [ + "HTSLIB_BGZIPTABIX", + "xz", + "5.8.3" + ] + ] + } + ], + "timestamp": "2026-05-19T10:20:56.277612816", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } + }, + "metagenome - bz2 - (re)compress - no index": { + "content": [ + { + "index": [ + + ], + "output": [ + [ + { + "id": "test" + }, + "test.tar.gz:md5,39e9e71fd16cfd09ceca12cd46e6abce" + ] + ], + "versions_htslib": [ + [ + "HTSLIB_BGZIPTABIX", + "htslib", + "1.23.1" + ] + ], + "versions_xz": [ + [ + "HTSLIB_BGZIPTABIX", + "xz", + "5.8.3" + ] + ] + } + ], + "timestamp": "2026-05-19T10:21:57.137689117", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } + }, + "sarscov2 - vcf - compress - index": { + "content": [ + { + "index": [ + [ + { + "id": "test" + }, + "test.vcf.gz.tbi:md5,7f005943c935f2b55ba3f9d4802aa09f" + ] + ], + "output": [ + [ + { + "id": "test" + }, + "test.vcf.gz:md5,8e722884ffb75155212a3fc053918766" + ] + ], + "versions_htslib": [ + [ + "HTSLIB_BGZIPTABIX", + "htslib", + "1.23.1" + ] + ], + "versions_xz": [ + [ + "HTSLIB_BGZIPTABIX", + "xz", + "5.8.3" + ] + ] + } + ], + "timestamp": "2026-05-19T10:21:02.256241871", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } + }, + "metagenome - xz - decompress": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test:md5,b8d852a2b1ee52ed64d83046dcdb9de2" + ] + ], + "1": [ + + ], + "2": [ + [ + "HTSLIB_BGZIPTABIX", + "htslib", + "1.23.1" + ] + ], + "3": [ + [ + "HTSLIB_BGZIPTABIX", + "xz", + "5.8.3" + ] + ], + "index": [ + + ], + "output": [ + [ + { + "id": "test" + }, + "test:md5,b8d852a2b1ee52ed64d83046dcdb9de2" + ] + ], + "versions_htslib": [ + [ + "HTSLIB_BGZIPTABIX", + "htslib", + "1.23.1" + ] + ], + "versions_xz": [ + [ + "HTSLIB_BGZIPTABIX", + "xz", + "5.8.3" + ] + ] + }, + { + "versions_htslib": [ + [ + "HTSLIB_BGZIPTABIX", + "htslib", + "1.23.1" + ] + ], + "versions_xz": [ + [ + "HTSLIB_BGZIPTABIX", + "xz", + "5.8.3" + ] + ] + } + ], + "timestamp": "2026-05-12T11:31:30.587093278", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } + }, + "sarscov2 - vcf - compress - no index - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "1": [ + + ], + "2": [ + [ + "HTSLIB_BGZIPTABIX", + "htslib", + "1.23.1" + ] + ], + "index": [ + + ], + "output": [ + [ + { + "id": "test" + }, + "test.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "versions_htslib": [ + [ + "HTSLIB_BGZIPTABIX", + "htslib", + "1.23.1" + ] + ] + } + ], + "timestamp": "2026-05-06T15:27:48.766118732", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } + }, + "sarscov2 - bgzip - compress - no index": { + "content": [ + { + "index": [ + + ], + "output": [ + [ + { + "id": "test" + }, + "test.vcf.gz:md5,8e722884ffb75155212a3fc053918766" + ] + ], + "versions_htslib": [ + [ + "HTSLIB_BGZIPTABIX", + "htslib", + "1.23.1" + ] + ], + "versions_xz": [ + [ + "HTSLIB_BGZIPTABIX", + "xz", + "5.8.3" + ] + ] + } + ], + "timestamp": "2026-05-19T10:21:21.172365408", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } + }, + "sarscov2 - vcf + regions - compress - index": { + "content": [ + { + "index": [ + [ + { + "id": "example" + }, + "example.vcf.gz.tbi:md5,d22e5b84e4fcd18792179f72e6da702e" + ] + ], + "output": [ + [ + { + "id": "example" + }, + "example.vcf.gz:md5,8e722884ffb75155212a3fc053918766" + ] + ], + "versions_htslib": [ + [ + "HTSLIB_BGZIPTABIX", + "htslib", + "1.23.1" + ] + ], + "versions_xz": [ + [ + "HTSLIB_BGZIPTABIX", + "xz", + "5.8.3" + ] + ] + }, + "bc7bf3ee9e8430e064c539eb81e59bf9" + ], + "timestamp": "2026-05-19T10:34:19.00293386", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } + }, + "sarscov2 - bgzip - decompress": { + "content": [ + { + "index": [ + + ], + "output": [ + [ + { + "id": "test" + }, + "test.vcf:md5,8e722884ffb75155212a3fc053918766" + ] + ], + "versions_htslib": [ + [ + "HTSLIB_BGZIPTABIX", + "htslib", + "1.23.1" + ] + ], + "versions_xz": [ + [ + "HTSLIB_BGZIPTABIX", + "xz", + "5.8.3" + ] + ] + } + ], + "timestamp": "2026-05-19T10:21:14.663326257", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } + } +} \ No newline at end of file diff --git a/modules/nf-core/manta/somatic/environment.yml b/modules/nf-core/manta/somatic/environment.yml new file mode 100644 index 00000000..697c36d1 --- /dev/null +++ b/modules/nf-core/manta/somatic/environment.yml @@ -0,0 +1,8 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + - bioconda::manta=1.6.0 + - conda-forge::python=2.7.15 diff --git a/modules/nf-core/manta/somatic/main.nf b/modules/nf-core/manta/somatic/main.nf new file mode 100644 index 00000000..f2bb4d2f --- /dev/null +++ b/modules/nf-core/manta/somatic/main.nf @@ -0,0 +1,78 @@ +process MANTA_SOMATIC { + tag "$meta.id" + label 'process_medium' + label 'error_retry' + + conda "${moduleDir}/environment.yml" + container "${ workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container ? + 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/f6/f696c93e6209e33ac0d15f1ecfa799bc67329eec07b0569e065ea8b220b53953/data' : + 'community.wave.seqera.io/library/manta_python:0eb71149179b3920' }" + + input: + tuple val(meta), path(input_normal), path(input_index_normal), path(input_tumor), path(input_index_tumor), path(target_bed), path(target_bed_tbi) + tuple val(meta2), path(fasta) + tuple val(meta3), path(fai) + path(config) + + output: + tuple val(meta), path("*.candidate_small_indels.vcf.gz") , emit: candidate_small_indels_vcf + tuple val(meta), path("*.candidate_small_indels.vcf.gz.tbi") , emit: candidate_small_indels_vcf_tbi + tuple val(meta), path("*.candidate_sv.vcf.gz") , emit: candidate_sv_vcf + tuple val(meta), path("*.candidate_sv.vcf.gz.tbi") , emit: candidate_sv_vcf_tbi + tuple val(meta), path("*.diploid_sv.vcf.gz") , emit: diploid_sv_vcf + tuple val(meta), path("*.diploid_sv.vcf.gz.tbi") , emit: diploid_sv_vcf_tbi + tuple val(meta), path("*.somatic_sv.vcf.gz") , emit: somatic_sv_vcf + tuple val(meta), path("*.somatic_sv.vcf.gz.tbi") , emit: somatic_sv_vcf_tbi + tuple val("${task.process}"), val("manta"), eval("configManta.py --version"), topic: versions, emit: versions_manta + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + def options_manta = target_bed ? "--callRegions $target_bed" : "" + def config_option = config ? "--config ${config}" : "" + """ + configManta.py \\ + --tumorBam $input_tumor \\ + --normalBam $input_normal \\ + --reference $fasta \\ + ${config_option} \\ + --runDir manta \\ + $options_manta \\ + $args + + python manta/runWorkflow.py -m local -j $task.cpus + + mv manta/results/variants/candidateSmallIndels.vcf.gz \\ + ${prefix}.candidate_small_indels.vcf.gz + mv manta/results/variants/candidateSmallIndels.vcf.gz.tbi \\ + ${prefix}.candidate_small_indels.vcf.gz.tbi + mv manta/results/variants/candidateSV.vcf.gz \\ + ${prefix}.candidate_sv.vcf.gz + mv manta/results/variants/candidateSV.vcf.gz.tbi \\ + ${prefix}.candidate_sv.vcf.gz.tbi + mv manta/results/variants/diploidSV.vcf.gz \\ + ${prefix}.diploid_sv.vcf.gz + mv manta/results/variants/diploidSV.vcf.gz.tbi \\ + ${prefix}.diploid_sv.vcf.gz.tbi + mv manta/results/variants/somaticSV.vcf.gz \\ + ${prefix}.somatic_sv.vcf.gz + mv manta/results/variants/somaticSV.vcf.gz.tbi \\ + ${prefix}.somatic_sv.vcf.gz.tbi + """ + + stub: + def prefix = task.ext.prefix ?: "${meta.id}" + """ + echo "" | gzip > ${prefix}.candidate_small_indels.vcf.gz + touch ${prefix}.candidate_small_indels.vcf.gz.tbi + echo "" | gzip > ${prefix}.candidate_sv.vcf.gz + touch ${prefix}.candidate_sv.vcf.gz.tbi + echo "" | gzip > ${prefix}.diploid_sv.vcf.gz + touch ${prefix}.diploid_sv.vcf.gz.tbi + echo "" | gzip > ${prefix}.somatic_sv.vcf.gz + touch ${prefix}.somatic_sv.vcf.gz.tbi + """ +} diff --git a/modules/nf-core/manta/somatic/meta.yml b/modules/nf-core/manta/somatic/meta.yml new file mode 100644 index 00000000..048c1342 --- /dev/null +++ b/modules/nf-core/manta/somatic/meta.yml @@ -0,0 +1,200 @@ +name: manta_somatic +description: Manta calls structural variants (SVs) and indels from mapped paired-end + sequencing reads. It is optimized for analysis of germline variation in small sets + of individuals and somatic variation in tumor/normal sample pairs. +keywords: + - somatic + - wgs + - wxs + - panel + - vcf + - structural variants + - small indels +tools: + - manta: + description: Structural variant and indel caller for mapped sequencing data + homepage: https://github.com/Illumina/manta + documentation: https://github.com/Illumina/manta/blob/v1.6.0/docs/userGuide/README.md + tool_dev_url: https://github.com/Illumina/manta + doi: "10.1093/bioinformatics/btv710" + licence: ["GPL v3"] + identifier: biotools:manta_sv +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - input_normal: + type: file + description: BAM/CRAM/SAM file + pattern: "*.{bam,cram,sam}" + ontologies: [] + - input_index_normal: + type: file + description: BAM/CRAM/SAM index file + pattern: "*.{bai,crai,sai}" + ontologies: [] + - input_tumor: + type: file + description: BAM/CRAM/SAM file + pattern: "*.{bam,cram,sam}" + ontologies: [] + - input_index_tumor: + type: file + description: BAM/CRAM/SAM index file + pattern: "*.{bai,crai,sai}" + ontologies: [] + - target_bed: + type: file + description: BED file containing target regions for variant calling + pattern: "*.{bed}" + ontologies: [] + - target_bed_tbi: + type: file + description: Index for BED file containing target regions for variant calling + pattern: "*.{bed.tbi}" + ontologies: [] + - - meta2: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome' ] + - fasta: + type: file + description: Genome reference FASTA file + pattern: "*.{fa,fasta}" + ontologies: [] + - - meta3: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome' ] + - fai: + type: file + description: Genome reference FASTA index file + pattern: "*.{fa.fai,fasta.fai}" + ontologies: [] + - config: + type: file + description: Manta configuration file + pattern: "*.{ini,conf,config}" + ontologies: [] +output: + candidate_small_indels_vcf: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.candidate_small_indels.vcf.gz": + type: file + description: Gzipped VCF file containing variants + pattern: "*.{vcf.gz}" + ontologies: [] + candidate_small_indels_vcf_tbi: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.candidate_small_indels.vcf.gz.tbi": + type: file + description: Index for gzipped VCF file containing variants + pattern: "*.{vcf.gz.tbi}" + ontologies: [] + candidate_sv_vcf: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.candidate_sv.vcf.gz": + type: file + description: Gzipped VCF file containing variants + pattern: "*.{vcf.gz}" + ontologies: [] + candidate_sv_vcf_tbi: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.candidate_sv.vcf.gz.tbi": + type: file + description: Index for gzipped VCF file containing variants + pattern: "*.{vcf.gz.tbi}" + ontologies: [] + diploid_sv_vcf: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.diploid_sv.vcf.gz": + type: file + description: Gzipped VCF file containing variants + pattern: "*.{vcf.gz}" + ontologies: [] + diploid_sv_vcf_tbi: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.diploid_sv.vcf.gz.tbi": + type: file + description: Index for gzipped VCF file containing variants + pattern: "*.{vcf.gz.tbi}" + ontologies: [] + somatic_sv_vcf: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.somatic_sv.vcf.gz": + type: file + description: Gzipped VCF file containing variants + pattern: "*.{vcf.gz}" + ontologies: [] + somatic_sv_vcf_tbi: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.somatic_sv.vcf.gz.tbi": + type: file + description: Index for gzipped VCF file containing variants + pattern: "*.{vcf.gz.tbi}" + ontologies: [] + versions_manta: + - - ${task.process}: + type: string + description: The name of the process + - manta: + type: string + description: The name of the tool + - configManta.py --version: + type: eval + description: The expression to obtain the version of the tool + +topics: + versions: + - - ${task.process}: + type: string + description: The name of the process + - manta: + type: string + description: The name of the tool + - configManta.py --version: + type: eval + description: The expression to obtain the version of the tool + +authors: + - "@FriederikeHanssen" + - "@nvnieuwk" +maintainers: + - "@FriederikeHanssen" + - "@nvnieuwk" diff --git a/modules/nf-core/manta/somatic/tests/main.nf.test b/modules/nf-core/manta/somatic/tests/main.nf.test new file mode 100644 index 00000000..e9ebbd2e --- /dev/null +++ b/modules/nf-core/manta/somatic/tests/main.nf.test @@ -0,0 +1,125 @@ +nextflow_process { + + name "Test Process MANTA_SOMATIC" + script "../main.nf" + process "MANTA_SOMATIC" + + tag "modules" + tag "modules_nfcore" + tag "manta" + tag "manta/somatic" + + test("human - cram") { + + when { + process { + """ + input[0] = [ [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.recalibrated.sorted.cram', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.recalibrated.sorted.cram.crai', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test2.paired_end.recalibrated.sorted.cram', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test2.paired_end.recalibrated.sorted.cram.crai', checkIfExists: true), + [], [] + ] + input[1] = [ [id:'genome'], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta', checkIfExists: true) + ] + input[2] = [ [id:'genome'], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta.fai', checkIfExists: true) + ] + input[3] = Channel.of("[manta]", "enableRemoteReadRetrievalForInsertionsInGermlineCallingModes = 0") + .collectFile(name:"manta_options.ini", newLine:true) + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot ( + path(process.out.candidate_small_indels_vcf.get(0).get(1)).linesGzip.contains("##fileformat=VCFv4.1"), + path(process.out.candidate_sv_vcf.get(0).get(1)).linesGzip.contains("##fileformat=VCFv4.1"), + path(process.out.diploid_sv_vcf.get(0).get(1)).linesGzip.contains("##fileformat=VCFv4.1"), + path(process.out.somatic_sv_vcf.get(0).get(1)).linesGzip.contains("##fileformat=VCFv4.1"), + process.out.findAll { key, val -> key.startsWith("versions_") } + ).match() } + ) + } + + } + + test("human - cram - bed") { + + when { + process { + """ + input[0] = [ [ id:'bed_test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.recalibrated.sorted.cram', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.recalibrated.sorted.cram.crai', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test2.paired_end.recalibrated.sorted.cram', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test2.paired_end.recalibrated.sorted.cram.crai', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/multi_intervals.bed.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/multi_intervals.bed.gz.tbi', checkIfExists: true) + ] + input[1] = [ [id:'genome'], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta', checkIfExists: true) + ] + input[2] = [ [id:'genome'], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta.fai', checkIfExists: true) + ] + input[3] = [] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot ( + path(process.out.candidate_small_indels_vcf.get(0).get(1)).linesGzip.contains("##fileformat=VCFv4.1"), + path(process.out.candidate_sv_vcf.get(0).get(1)).linesGzip.contains("##fileformat=VCFv4.1"), + path(process.out.diploid_sv_vcf.get(0).get(1)).linesGzip.contains("##fileformat=VCFv4.1"), + path(process.out.somatic_sv_vcf.get(0).get(1)).linesGzip.contains("##fileformat=VCFv4.1"), + process.out.findAll { key, val -> key.startsWith("versions_") } + ).match() } + ) + } + + } + + test("human - cram - stub") { + + options "-stub" + + when { + process { + """ + input[0] = [ [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.recalibrated.sorted.cram', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.recalibrated.sorted.cram.crai', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test2.paired_end.recalibrated.sorted.cram', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test2.paired_end.recalibrated.sorted.cram.crai', checkIfExists: true), + [], [] + ] + input[1] = [ [id:'genome'], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta', checkIfExists: true) + ] + input[2] = [ [id:'genome'], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta.fai', checkIfExists: true) + ] + input[3] = Channel.of("[manta]", "enableRemoteReadRetrievalForInsertionsInGermlineCallingModes = 0") + .collectFile(name:"manta_options.ini", newLine:true) + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + + } + +} diff --git a/modules/nf-core/manta/somatic/tests/main.nf.test.snap b/modules/nf-core/manta/somatic/tests/main.nf.test.snap new file mode 100644 index 00000000..405851e9 --- /dev/null +++ b/modules/nf-core/manta/somatic/tests/main.nf.test.snap @@ -0,0 +1,215 @@ +{ + "human - cram - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + "test.candidate_small_indels.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "1": [ + [ + { + "id": "test", + "single_end": false + }, + "test.candidate_small_indels.vcf.gz.tbi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "2": [ + [ + { + "id": "test", + "single_end": false + }, + "test.candidate_sv.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "3": [ + [ + { + "id": "test", + "single_end": false + }, + "test.candidate_sv.vcf.gz.tbi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "4": [ + [ + { + "id": "test", + "single_end": false + }, + "test.diploid_sv.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "5": [ + [ + { + "id": "test", + "single_end": false + }, + "test.diploid_sv.vcf.gz.tbi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "6": [ + [ + { + "id": "test", + "single_end": false + }, + "test.somatic_sv.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "7": [ + [ + { + "id": "test", + "single_end": false + }, + "test.somatic_sv.vcf.gz.tbi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "8": [ + [ + "MANTA_SOMATIC", + "manta", + "1.6.0" + ] + ], + "candidate_small_indels_vcf": [ + [ + { + "id": "test", + "single_end": false + }, + "test.candidate_small_indels.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "candidate_small_indels_vcf_tbi": [ + [ + { + "id": "test", + "single_end": false + }, + "test.candidate_small_indels.vcf.gz.tbi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "candidate_sv_vcf": [ + [ + { + "id": "test", + "single_end": false + }, + "test.candidate_sv.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "candidate_sv_vcf_tbi": [ + [ + { + "id": "test", + "single_end": false + }, + "test.candidate_sv.vcf.gz.tbi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "diploid_sv_vcf": [ + [ + { + "id": "test", + "single_end": false + }, + "test.diploid_sv.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "diploid_sv_vcf_tbi": [ + [ + { + "id": "test", + "single_end": false + }, + "test.diploid_sv.vcf.gz.tbi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "somatic_sv_vcf": [ + [ + { + "id": "test", + "single_end": false + }, + "test.somatic_sv.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "somatic_sv_vcf_tbi": [ + [ + { + "id": "test", + "single_end": false + }, + "test.somatic_sv.vcf.gz.tbi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions_manta": [ + [ + "MANTA_SOMATIC", + "manta", + "1.6.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "25.04.6" + }, + "timestamp": "2025-12-11T17:08:29.704950028" + }, + "human - cram": { + "content": [ + true, + true, + true, + true, + { + "versions_manta": [ + [ + "MANTA_SOMATIC", + "manta", + "1.6.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "25.04.6" + }, + "timestamp": "2025-12-11T17:07:29.811639047" + }, + "human - cram - bed": { + "content": [ + true, + true, + true, + true, + { + "versions_manta": [ + [ + "MANTA_SOMATIC", + "manta", + "1.6.0" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "25.04.6" + }, + "timestamp": "2025-12-11T17:08:05.522774668" + } +} \ No newline at end of file diff --git a/modules/nf-core/mosdepth/environment.yml b/modules/nf-core/mosdepth/environment.yml new file mode 100644 index 00000000..1462ab34 --- /dev/null +++ b/modules/nf-core/mosdepth/environment.yml @@ -0,0 +1,12 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + # renovate: datasource=conda depName=bioconda/htslib + - bioconda::htslib=1.23.1 + # renovate: datasource=conda depName=bioconda/mosdepth + - bioconda::mosdepth=0.3.14 + # renovate: datasource=conda depName=conda-forge/gzip + - conda-forge::gzip=1.14 diff --git a/modules/nf-core/mosdepth/main.nf b/modules/nf-core/mosdepth/main.nf new file mode 100644 index 00000000..ef82be0a --- /dev/null +++ b/modules/nf-core/mosdepth/main.nf @@ -0,0 +1,84 @@ +process MOSDEPTH { + tag "$meta.id" + label 'process_medium' + + conda "${moduleDir}/environment.yml" + container "${ workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container ? + 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/a3/a3dc5ea2ce788c24079d24d1721ed28086874152c43b5e7dde3f638dcf64336a/data' : + 'community.wave.seqera.io/library/htslib_mosdepth_gzip:4108dd38be84e40a'}" + + input: + tuple val(meta), path(bam), path(bai), path(bed) + tuple val(meta2), path(fasta) + val(quantize_labels) + + output: + tuple val(meta), path('*.global.dist.txt') , emit: global_txt + tuple val(meta), path('*.summary.txt') , emit: summary_txt + tuple val(meta), path('*.region.dist.txt') , optional:true, emit: regions_txt + tuple val(meta), path('*.per-base.d4') , optional:true, emit: per_base_d4 + tuple val(meta), path('*.per-base.bed.gz') , optional:true, emit: per_base_bed + tuple val(meta), path('*.per-base.bed.gz.csi') , optional:true, emit: per_base_csi + tuple val(meta), path('*.regions.bed.gz') , optional:true, emit: regions_bed + tuple val(meta), path('*.regions.bed.gz.csi') , optional:true, emit: regions_csi + tuple val(meta), path('*.quantized.bed.gz') , optional:true, emit: quantized_bed + tuple val(meta), path('*.quantized.bed.gz.csi') , optional:true, emit: quantized_csi + tuple val(meta), path('*.thresholds.bed.gz') , optional:true, emit: thresholds_bed + tuple val(meta), path('*.thresholds.bed.gz.csi'), optional:true, emit: thresholds_csi + tuple val("${task.process}"), val('mosdepth'), eval("mosdepth --version | sed 's/mosdepth //g'"), topic: versions, emit: versions_mosdepth + tuple val("${task.process}"), val('gzip'), eval("gzip -V 2>&1 | sed 's/gzip \\([0-9.]*\\).*/\\1/;q'"), topic: versions, emit: versions_gzip + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + def reference = fasta ? "--fasta ${fasta}" : "" + def interval = bed ? "--by ${bed}" : "" + def quantize_env_vars = [] + if (quantize_labels instanceof List && quantize_labels.size() > 0) { + quantize_labels.eachWithIndex { label, index -> + quantize_env_vars << "MOSDEPTH_Q${index}=${label}" + } + } + if (bed && (args.contains("--by") || args.contains("-b "))) { + error "'--by' can only be specified once when running mosdepth! Either remove input BED file definition or remove '--by' from 'ext.args' definition" + } + if (args.contains("--thresholds") && !(bed || args.contains("--by") || args.contains("-b "))) { + error "'--thresholds' can only be specified in conjunction with '--by' or an input bed file" + } + + """ + ${quantize_env_vars.join(" ")} mosdepth \\ + --threads $task.cpus \\ + $interval \\ + $reference \\ + $args \\ + $prefix \\ + $bam + """ + + stub: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + if (bed && (args.contains("--by") || args.contains("-b "))) { + error "'--by' can only be specified once when running mosdepth! Either remove input BED file definition or remove '--by' from 'ext.args' definition" + } + if (args.contains("--thresholds") && !(bed || args.contains("--by") || args.contains("-b "))) { + error "'--thresholds' can only be specified in conjunction with '--by' or an input bed file" + } + """ + touch ${prefix}.global.dist.txt + touch ${prefix}.region.dist.txt + touch ${prefix}.summary.txt + touch ${prefix}.per-base.d4 + echo "" | gzip > ${prefix}.per-base.bed.gz + touch ${prefix}.per-base.bed.gz.csi + echo "" | gzip > ${prefix}.regions.bed.gz + touch ${prefix}.regions.bed.gz.csi + echo "" | gzip > ${prefix}.quantized.bed.gz + touch ${prefix}.quantized.bed.gz.csi + echo "" | gzip > ${prefix}.thresholds.bed.gz + touch ${prefix}.thresholds.bed.gz.csi + """ +} diff --git a/modules/nf-core/mosdepth/meta.yml b/modules/nf-core/mosdepth/meta.yml new file mode 100644 index 00000000..36097fca --- /dev/null +++ b/modules/nf-core/mosdepth/meta.yml @@ -0,0 +1,237 @@ +name: mosdepth +description: Calculates genome-wide sequencing coverage. +keywords: + - mosdepth + - bam + - cram + - coverage +tools: + - mosdepth: + description: | + Fast BAM/CRAM depth calculation for WGS, exome, or targeted sequencing. + documentation: https://github.com/brentp/mosdepth + doi: 10.1093/bioinformatics/btx699 + licence: + - "MIT" + identifier: biotools:mosdepth +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - bam: + type: file + description: Input BAM/CRAM file + pattern: "*.{bam,cram}" + ontologies: [] + - bai: + type: file + description: Index for BAM/CRAM file + pattern: "*.{bai,crai}" + ontologies: [] + - bed: + type: file + description: BED file with intersected intervals + pattern: "*.{bed}" + ontologies: [] + - - meta2: + type: map + description: | + Groovy Map containing bed information + e.g. [ id:'test' ] + - fasta: + type: file + description: Reference genome FASTA file + pattern: "*.{fa,fasta}" + ontologies: [] + - quantize_labels: + type: list + description: | + List of labels for quantized coverage bins, e.g. [ "NO_COVERAGE", "LOW_COVERAGE", "MEDIUM_COVERAGE", "HIGH_COVERAGE" ] + The first value will be assigned to the `MOSDEPTH_Q0` environment variable, the second to `MOSDEPTH_Q1`, and so on. + These can then be used in the `--quantize` option of mosdepth to assign labels to quantized coverage bins. +output: + global_txt: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.global.dist.txt": + type: file + description: Text file with global cumulative coverage distribution + pattern: "*.{global.dist.txt}" + ontologies: [] + summary_txt: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.summary.txt": + type: file + description: Text file with summary mean depths per chromosome and + regions + pattern: "*.{summary.txt}" + ontologies: [] + regions_txt: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.region.dist.txt": + type: file + description: Text file with region cumulative coverage distribution + pattern: "*.{region.dist.txt}" + ontologies: [] + per_base_d4: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.per-base.d4": + type: file + description: D4 file with per-base coverage + pattern: "*.{per-base.d4}" + ontologies: [] + per_base_bed: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.per-base.bed.gz": + type: file + description: BED file with per-base coverage + pattern: "*.{per-base.bed.gz}" + ontologies: [] + per_base_csi: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.per-base.bed.gz.csi": + type: file + description: Index file for BED file with per-base coverage + pattern: "*.{per-base.bed.gz.csi}" + ontologies: [] + regions_bed: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.regions.bed.gz": + type: file + description: BED file with per-region coverage + pattern: "*.{regions.bed.gz}" + ontologies: [] + regions_csi: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.regions.bed.gz.csi": + type: file + description: Index file for BED file with per-region coverage + pattern: "*.{regions.bed.gz.csi}" + ontologies: [] + quantized_bed: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.quantized.bed.gz": + type: file + description: BED file with binned coverage + pattern: "*.{quantized.bed.gz}" + ontologies: [] + quantized_csi: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.quantized.bed.gz.csi": + type: file + description: Index file for BED file with binned coverage + pattern: "*.{quantized.bed.gz.csi}" + ontologies: [] + thresholds_bed: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.thresholds.bed.gz": + type: file + description: BED file with the number of bases in each region that are + covered at or above each threshold + pattern: "*.{thresholds.bed.gz}" + ontologies: [] + thresholds_csi: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.thresholds.bed.gz.csi": + type: file + description: Index file for BED file with threshold coverage + pattern: "*.{thresholds.bed.gz.csi}" + ontologies: [] + versions_mosdepth: + - - ${task.process}: + type: string + description: The process the versions were collected from + - mosdepth: + type: string + description: The tool name + - mosdepth --version | sed 's/mosdepth //g': + type: eval + description: The command used to generate the version of the tool + versions_gzip: + - - ${task.process}: + type: string + description: The process the versions were collected from + - gzip: + type: string + description: The name of the tool + - gzip -V 2>&1 | sed 's/gzip \([0-9.]*\).*/\1/;q': + type: eval + description: The expression to obtain the version of the tool +topics: + versions: + - - ${task.process}: + type: string + description: The process the versions were collected from + - mosdepth: + type: string + description: The tool name + - mosdepth --version | sed 's/mosdepth //g': + type: eval + description: The command used to generate the version of the tool + - - ${task.process}: + type: string + description: The process the versions were collected from + - gzip: + type: string + description: The name of the tool + - gzip -V 2>&1 | sed 's/gzip \([0-9.]*\).*/\1/;q': + type: eval + description: The expression to obtain the version of the tool +authors: + - "@joseespinosa" + - "@drpatelh" + - "@ramprasadn" + - "@matthdsm" +maintainers: + - "@joseespinosa" + - "@ramprasadn" + - "@matthdsm" diff --git a/modules/nf-core/mosdepth/tests/main.nf.test b/modules/nf-core/mosdepth/tests/main.nf.test new file mode 100644 index 00000000..27573680 --- /dev/null +++ b/modules/nf-core/mosdepth/tests/main.nf.test @@ -0,0 +1,277 @@ +nextflow_process { + + name "Test Process MOSDEPTH" + script "../main.nf" + process "MOSDEPTH" + + tag "modules" + tag "modules_nfcore" + tag "mosdepth" + config "./nextflow.config" + + test("homo_sapiens - bam, bai, []") { + + when { + params { + module_args = "" + } + process { + """ + input[0] = [ + [ id:'test', single_end:true ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.sorted.bam.bai', checkIfExists: true), + [] + ] + input[1] = [[],[]] + input[2] = [] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(process.out).match()} + ) + } + + } + + test("homo_sapiens - bam, bai, bed") { + + when { + params { + module_args = "" + } + process { + """ + input[0] = [ + [ id:'test', single_end:true ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.sorted.bam.bai', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.bed', checkIfExists: true) + ] + input[1] = [[],[]] + input[2] = [] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(process.out).match()} + ) + } + + } + + test("homo_sapiens - cram, crai, []") { + + when { + params { + module_args = "" + } + process { + """ + input[0] = [ + [ id:'test', single_end:true ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.sorted.cram', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.sorted.cram.crai', checkIfExists: true), + [] + ] + input[1] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true) + ] + input[2] = [] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(process.out).match()} + ) + } + + } + + test("homo_sapiens - cram, crai, bed") { + + when { + params { + module_args = "" + } + process { + """ + input[0] = [ + [ id:'test', single_end:true ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.sorted.cram', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.sorted.cram.crai', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.bed', checkIfExists: true) + ] + input[1] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true) + ] + input[2] = [] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(process.out).match()} + ) + } + + } + + test("homo_sapiens - bam, bai, [] - window") { + + when { + params { + module_args = "--by 100" + } + process { + """ + input[0] = [ + [ id:'test', single_end:true ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.sorted.bam.bai', checkIfExists: true), + [] + ] + input[1] = [[],[]] + input[2] = [] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(process.out).match()} + ) + } + + } + + test("homo_sapiens - bam, bai, [] - quantized") { + + when { + params { + module_args = "--quantize 0:1:4:100:200" + } + process { + """ + input[0] = [ + [ id:'test', single_end:true ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.sorted.bam.bai', checkIfExists: true), + [] + ] + input[1] = [[],[]] + input[2] = ['NO_COVERAGE', 'LOW_COVERAGE', 'MEDIUM_COVERAGE', 'HIGH_COVERAGE'] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(process.out).match()} + ) + } + + } + + test("homo_sapiens - bam, bai, bed - thresholds") { + + when { + params { + module_args = "--thresholds 1,10,20,30" + } + process { + """ + input[0] = [ + [ id:'test', single_end:true ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.sorted.bam.bai', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.bed', checkIfExists: true) + ] + input[1] = [[],[]] + input[2] = [] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(process.out).match()} + ) + } + + } + + test("homo_sapiens - bam, bai, bed - fail") { + + when { + params { + module_args = "--by 100" + } + process { + """ + input[0] = [ + [ id:'test', single_end:true ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.sorted.bam.bai', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.bed', checkIfExists: true) + ] + input[1] = [[],[]] + input[2] = [] + """ + } + } + + then { + assert process.failed + } + + } + + test("homo_sapiens - bam, bai, [] - stub") { + + options "-stub" + when { + params { + module_args = "" + } + process { + """ + input[0] = [ + [ id:'test', single_end:true ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.sorted.bam.bai', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.bed', checkIfExists: true) + ] + input[1] = [[],[]] + input[2] = [] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(process.out).match()} + ) + } + + } + +} diff --git a/modules/nf-core/mosdepth/tests/main.nf.test.snap b/modules/nf-core/mosdepth/tests/main.nf.test.snap new file mode 100644 index 00000000..7d89f0be --- /dev/null +++ b/modules/nf-core/mosdepth/tests/main.nf.test.snap @@ -0,0 +1,1562 @@ +{ + "homo_sapiens - bam, bai, [] - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": true + }, + "test.global.dist.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + [ + { + "id": "test", + "single_end": true + }, + "test.summary.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "10": [ + [ + { + "id": "test", + "single_end": true + }, + "test.thresholds.bed.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "11": [ + [ + { + "id": "test", + "single_end": true + }, + "test.thresholds.bed.gz.csi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "12": [ + [ + "MOSDEPTH", + "mosdepth", + "0.3.14" + ] + ], + "13": [ + [ + "MOSDEPTH", + "gzip", + "1.14" + ] + ], + "2": [ + [ + { + "id": "test", + "single_end": true + }, + "test.region.dist.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "3": [ + [ + { + "id": "test", + "single_end": true + }, + "test.per-base.d4:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "4": [ + [ + { + "id": "test", + "single_end": true + }, + "test.per-base.bed.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "5": [ + [ + { + "id": "test", + "single_end": true + }, + "test.per-base.bed.gz.csi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "6": [ + [ + { + "id": "test", + "single_end": true + }, + "test.regions.bed.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "7": [ + [ + { + "id": "test", + "single_end": true + }, + "test.regions.bed.gz.csi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "8": [ + [ + { + "id": "test", + "single_end": true + }, + "test.quantized.bed.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "9": [ + [ + { + "id": "test", + "single_end": true + }, + "test.quantized.bed.gz.csi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "global_txt": [ + [ + { + "id": "test", + "single_end": true + }, + "test.global.dist.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "per_base_bed": [ + [ + { + "id": "test", + "single_end": true + }, + "test.per-base.bed.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "per_base_csi": [ + [ + { + "id": "test", + "single_end": true + }, + "test.per-base.bed.gz.csi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "per_base_d4": [ + [ + { + "id": "test", + "single_end": true + }, + "test.per-base.d4:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "quantized_bed": [ + [ + { + "id": "test", + "single_end": true + }, + "test.quantized.bed.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "quantized_csi": [ + [ + { + "id": "test", + "single_end": true + }, + "test.quantized.bed.gz.csi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "regions_bed": [ + [ + { + "id": "test", + "single_end": true + }, + "test.regions.bed.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "regions_csi": [ + [ + { + "id": "test", + "single_end": true + }, + "test.regions.bed.gz.csi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "regions_txt": [ + [ + { + "id": "test", + "single_end": true + }, + "test.region.dist.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "summary_txt": [ + [ + { + "id": "test", + "single_end": true + }, + "test.summary.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "thresholds_bed": [ + [ + { + "id": "test", + "single_end": true + }, + "test.thresholds.bed.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "thresholds_csi": [ + [ + { + "id": "test", + "single_end": true + }, + "test.thresholds.bed.gz.csi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions_gzip": [ + [ + "MOSDEPTH", + "gzip", + "1.14" + ] + ], + "versions_mosdepth": [ + [ + "MOSDEPTH", + "mosdepth", + "0.3.14" + ] + ] + } + ], + "timestamp": "2026-04-28T16:21:32.6884639", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "homo_sapiens - cram, crai, bed": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": true + }, + "test.mosdepth.global.dist.txt:md5,e82e90c7d508a135b5a8a7cd6933452e" + ] + ], + "1": [ + [ + { + "id": "test", + "single_end": true + }, + "test.mosdepth.summary.txt:md5,96c037f769974b904beb53edc4f56d82" + ] + ], + "10": [ + + ], + "11": [ + + ], + "12": [ + [ + "MOSDEPTH", + "mosdepth", + "0.3.14" + ] + ], + "13": [ + [ + "MOSDEPTH", + "gzip", + "1.14" + ] + ], + "2": [ + [ + { + "id": "test", + "single_end": true + }, + "test.mosdepth.region.dist.txt:md5,e82e90c7d508a135b5a8a7cd6933452e" + ] + ], + "3": [ + + ], + "4": [ + [ + { + "id": "test", + "single_end": true + }, + "test.per-base.bed.gz:md5,da6db0fb375a3053a89db8c935eebbaa" + ] + ], + "5": [ + [ + { + "id": "test", + "single_end": true + }, + "test.per-base.bed.gz.csi:md5,524a822fc4863b450fda9e0f99ccdf04" + ] + ], + "6": [ + [ + { + "id": "test", + "single_end": true + }, + "test.regions.bed.gz:md5,9ded0397623fda26a6a3514d6a0e2a2c" + ] + ], + "7": [ + [ + { + "id": "test", + "single_end": true + }, + "test.regions.bed.gz.csi:md5,e0045e73eb8e8c2b88544f0bc346e002" + ] + ], + "8": [ + + ], + "9": [ + + ], + "global_txt": [ + [ + { + "id": "test", + "single_end": true + }, + "test.mosdepth.global.dist.txt:md5,e82e90c7d508a135b5a8a7cd6933452e" + ] + ], + "per_base_bed": [ + [ + { + "id": "test", + "single_end": true + }, + "test.per-base.bed.gz:md5,da6db0fb375a3053a89db8c935eebbaa" + ] + ], + "per_base_csi": [ + [ + { + "id": "test", + "single_end": true + }, + "test.per-base.bed.gz.csi:md5,524a822fc4863b450fda9e0f99ccdf04" + ] + ], + "per_base_d4": [ + + ], + "quantized_bed": [ + + ], + "quantized_csi": [ + + ], + "regions_bed": [ + [ + { + "id": "test", + "single_end": true + }, + "test.regions.bed.gz:md5,9ded0397623fda26a6a3514d6a0e2a2c" + ] + ], + "regions_csi": [ + [ + { + "id": "test", + "single_end": true + }, + "test.regions.bed.gz.csi:md5,e0045e73eb8e8c2b88544f0bc346e002" + ] + ], + "regions_txt": [ + [ + { + "id": "test", + "single_end": true + }, + "test.mosdepth.region.dist.txt:md5,e82e90c7d508a135b5a8a7cd6933452e" + ] + ], + "summary_txt": [ + [ + { + "id": "test", + "single_end": true + }, + "test.mosdepth.summary.txt:md5,96c037f769974b904beb53edc4f56d82" + ] + ], + "thresholds_bed": [ + + ], + "thresholds_csi": [ + + ], + "versions_gzip": [ + [ + "MOSDEPTH", + "gzip", + "1.14" + ] + ], + "versions_mosdepth": [ + [ + "MOSDEPTH", + "mosdepth", + "0.3.14" + ] + ] + } + ], + "timestamp": "2026-04-28T16:21:04.254064193", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "homo_sapiens - bam, bai, [] - quantized": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": true + }, + "test.mosdepth.global.dist.txt:md5,e82e90c7d508a135b5a8a7cd6933452e" + ] + ], + "1": [ + [ + { + "id": "test", + "single_end": true + }, + "test.mosdepth.summary.txt:md5,4f0d231060cbde4efdd673863bd2fb59" + ] + ], + "10": [ + + ], + "11": [ + + ], + "12": [ + [ + "MOSDEPTH", + "mosdepth", + "0.3.14" + ] + ], + "13": [ + [ + "MOSDEPTH", + "gzip", + "1.14" + ] + ], + "2": [ + + ], + "3": [ + + ], + "4": [ + [ + { + "id": "test", + "single_end": true + }, + "test.per-base.bed.gz:md5,da6db0fb375a3053a89db8c935eebbaa" + ] + ], + "5": [ + [ + { + "id": "test", + "single_end": true + }, + "test.per-base.bed.gz.csi:md5,524a822fc4863b450fda9e0f99ccdf04" + ] + ], + "6": [ + + ], + "7": [ + + ], + "8": [ + [ + { + "id": "test", + "single_end": true + }, + "test.quantized.bed.gz:md5,02fcfd09862c63b717e519abb4897e2e" + ] + ], + "9": [ + [ + { + "id": "test", + "single_end": true + }, + "test.quantized.bed.gz.csi:md5,59bb21dd686bf095ea8ef75bfbe2c85c" + ] + ], + "global_txt": [ + [ + { + "id": "test", + "single_end": true + }, + "test.mosdepth.global.dist.txt:md5,e82e90c7d508a135b5a8a7cd6933452e" + ] + ], + "per_base_bed": [ + [ + { + "id": "test", + "single_end": true + }, + "test.per-base.bed.gz:md5,da6db0fb375a3053a89db8c935eebbaa" + ] + ], + "per_base_csi": [ + [ + { + "id": "test", + "single_end": true + }, + "test.per-base.bed.gz.csi:md5,524a822fc4863b450fda9e0f99ccdf04" + ] + ], + "per_base_d4": [ + + ], + "quantized_bed": [ + [ + { + "id": "test", + "single_end": true + }, + "test.quantized.bed.gz:md5,02fcfd09862c63b717e519abb4897e2e" + ] + ], + "quantized_csi": [ + [ + { + "id": "test", + "single_end": true + }, + "test.quantized.bed.gz.csi:md5,59bb21dd686bf095ea8ef75bfbe2c85c" + ] + ], + "regions_bed": [ + + ], + "regions_csi": [ + + ], + "regions_txt": [ + + ], + "summary_txt": [ + [ + { + "id": "test", + "single_end": true + }, + "test.mosdepth.summary.txt:md5,4f0d231060cbde4efdd673863bd2fb59" + ] + ], + "thresholds_bed": [ + + ], + "thresholds_csi": [ + + ], + "versions_gzip": [ + [ + "MOSDEPTH", + "gzip", + "1.14" + ] + ], + "versions_mosdepth": [ + [ + "MOSDEPTH", + "mosdepth", + "0.3.14" + ] + ] + } + ], + "timestamp": "2026-04-28T16:21:15.811323229", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "homo_sapiens - bam, bai, bed": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": true + }, + "test.mosdepth.global.dist.txt:md5,e82e90c7d508a135b5a8a7cd6933452e" + ] + ], + "1": [ + [ + { + "id": "test", + "single_end": true + }, + "test.mosdepth.summary.txt:md5,96c037f769974b904beb53edc4f56d82" + ] + ], + "10": [ + + ], + "11": [ + + ], + "12": [ + [ + "MOSDEPTH", + "mosdepth", + "0.3.14" + ] + ], + "13": [ + [ + "MOSDEPTH", + "gzip", + "1.14" + ] + ], + "2": [ + [ + { + "id": "test", + "single_end": true + }, + "test.mosdepth.region.dist.txt:md5,e82e90c7d508a135b5a8a7cd6933452e" + ] + ], + "3": [ + + ], + "4": [ + [ + { + "id": "test", + "single_end": true + }, + "test.per-base.bed.gz:md5,da6db0fb375a3053a89db8c935eebbaa" + ] + ], + "5": [ + [ + { + "id": "test", + "single_end": true + }, + "test.per-base.bed.gz.csi:md5,524a822fc4863b450fda9e0f99ccdf04" + ] + ], + "6": [ + [ + { + "id": "test", + "single_end": true + }, + "test.regions.bed.gz:md5,9ded0397623fda26a6a3514d6a0e2a2c" + ] + ], + "7": [ + [ + { + "id": "test", + "single_end": true + }, + "test.regions.bed.gz.csi:md5,e0045e73eb8e8c2b88544f0bc346e002" + ] + ], + "8": [ + + ], + "9": [ + + ], + "global_txt": [ + [ + { + "id": "test", + "single_end": true + }, + "test.mosdepth.global.dist.txt:md5,e82e90c7d508a135b5a8a7cd6933452e" + ] + ], + "per_base_bed": [ + [ + { + "id": "test", + "single_end": true + }, + "test.per-base.bed.gz:md5,da6db0fb375a3053a89db8c935eebbaa" + ] + ], + "per_base_csi": [ + [ + { + "id": "test", + "single_end": true + }, + "test.per-base.bed.gz.csi:md5,524a822fc4863b450fda9e0f99ccdf04" + ] + ], + "per_base_d4": [ + + ], + "quantized_bed": [ + + ], + "quantized_csi": [ + + ], + "regions_bed": [ + [ + { + "id": "test", + "single_end": true + }, + "test.regions.bed.gz:md5,9ded0397623fda26a6a3514d6a0e2a2c" + ] + ], + "regions_csi": [ + [ + { + "id": "test", + "single_end": true + }, + "test.regions.bed.gz.csi:md5,e0045e73eb8e8c2b88544f0bc346e002" + ] + ], + "regions_txt": [ + [ + { + "id": "test", + "single_end": true + }, + "test.mosdepth.region.dist.txt:md5,e82e90c7d508a135b5a8a7cd6933452e" + ] + ], + "summary_txt": [ + [ + { + "id": "test", + "single_end": true + }, + "test.mosdepth.summary.txt:md5,96c037f769974b904beb53edc4f56d82" + ] + ], + "thresholds_bed": [ + + ], + "thresholds_csi": [ + + ], + "versions_gzip": [ + [ + "MOSDEPTH", + "gzip", + "1.14" + ] + ], + "versions_mosdepth": [ + [ + "MOSDEPTH", + "mosdepth", + "0.3.14" + ] + ] + } + ], + "timestamp": "2026-04-28T16:20:50.674770475", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "homo_sapiens - bam, bai, [] - window": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": true + }, + "test.mosdepth.global.dist.txt:md5,e82e90c7d508a135b5a8a7cd6933452e" + ] + ], + "1": [ + [ + { + "id": "test", + "single_end": true + }, + "test.mosdepth.summary.txt:md5,96c037f769974b904beb53edc4f56d82" + ] + ], + "10": [ + + ], + "11": [ + + ], + "12": [ + [ + "MOSDEPTH", + "mosdepth", + "0.3.14" + ] + ], + "13": [ + [ + "MOSDEPTH", + "gzip", + "1.14" + ] + ], + "2": [ + [ + { + "id": "test", + "single_end": true + }, + "test.mosdepth.region.dist.txt:md5,0b6ea9f0da1228252d9aef2d3b6f7f76" + ] + ], + "3": [ + + ], + "4": [ + [ + { + "id": "test", + "single_end": true + }, + "test.per-base.bed.gz:md5,da6db0fb375a3053a89db8c935eebbaa" + ] + ], + "5": [ + [ + { + "id": "test", + "single_end": true + }, + "test.per-base.bed.gz.csi:md5,524a822fc4863b450fda9e0f99ccdf04" + ] + ], + "6": [ + [ + { + "id": "test", + "single_end": true + }, + "test.regions.bed.gz:md5,34f48d16fcdd61e44d812e29e02c77b8" + ] + ], + "7": [ + [ + { + "id": "test", + "single_end": true + }, + "test.regions.bed.gz.csi:md5,fb57a83d60532cb601d274fb53854bea" + ] + ], + "8": [ + + ], + "9": [ + + ], + "global_txt": [ + [ + { + "id": "test", + "single_end": true + }, + "test.mosdepth.global.dist.txt:md5,e82e90c7d508a135b5a8a7cd6933452e" + ] + ], + "per_base_bed": [ + [ + { + "id": "test", + "single_end": true + }, + "test.per-base.bed.gz:md5,da6db0fb375a3053a89db8c935eebbaa" + ] + ], + "per_base_csi": [ + [ + { + "id": "test", + "single_end": true + }, + "test.per-base.bed.gz.csi:md5,524a822fc4863b450fda9e0f99ccdf04" + ] + ], + "per_base_d4": [ + + ], + "quantized_bed": [ + + ], + "quantized_csi": [ + + ], + "regions_bed": [ + [ + { + "id": "test", + "single_end": true + }, + "test.regions.bed.gz:md5,34f48d16fcdd61e44d812e29e02c77b8" + ] + ], + "regions_csi": [ + [ + { + "id": "test", + "single_end": true + }, + "test.regions.bed.gz.csi:md5,fb57a83d60532cb601d274fb53854bea" + ] + ], + "regions_txt": [ + [ + { + "id": "test", + "single_end": true + }, + "test.mosdepth.region.dist.txt:md5,0b6ea9f0da1228252d9aef2d3b6f7f76" + ] + ], + "summary_txt": [ + [ + { + "id": "test", + "single_end": true + }, + "test.mosdepth.summary.txt:md5,96c037f769974b904beb53edc4f56d82" + ] + ], + "thresholds_bed": [ + + ], + "thresholds_csi": [ + + ], + "versions_gzip": [ + [ + "MOSDEPTH", + "gzip", + "1.14" + ] + ], + "versions_mosdepth": [ + [ + "MOSDEPTH", + "mosdepth", + "0.3.14" + ] + ] + } + ], + "timestamp": "2026-04-28T16:21:10.058663002", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "homo_sapiens - bam, bai, []": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": true + }, + "test.mosdepth.global.dist.txt:md5,e82e90c7d508a135b5a8a7cd6933452e" + ] + ], + "1": [ + [ + { + "id": "test", + "single_end": true + }, + "test.mosdepth.summary.txt:md5,4f0d231060cbde4efdd673863bd2fb59" + ] + ], + "10": [ + + ], + "11": [ + + ], + "12": [ + [ + "MOSDEPTH", + "mosdepth", + "0.3.14" + ] + ], + "13": [ + [ + "MOSDEPTH", + "gzip", + "1.14" + ] + ], + "2": [ + + ], + "3": [ + + ], + "4": [ + [ + { + "id": "test", + "single_end": true + }, + "test.per-base.bed.gz:md5,da6db0fb375a3053a89db8c935eebbaa" + ] + ], + "5": [ + [ + { + "id": "test", + "single_end": true + }, + "test.per-base.bed.gz.csi:md5,524a822fc4863b450fda9e0f99ccdf04" + ] + ], + "6": [ + + ], + "7": [ + + ], + "8": [ + + ], + "9": [ + + ], + "global_txt": [ + [ + { + "id": "test", + "single_end": true + }, + "test.mosdepth.global.dist.txt:md5,e82e90c7d508a135b5a8a7cd6933452e" + ] + ], + "per_base_bed": [ + [ + { + "id": "test", + "single_end": true + }, + "test.per-base.bed.gz:md5,da6db0fb375a3053a89db8c935eebbaa" + ] + ], + "per_base_csi": [ + [ + { + "id": "test", + "single_end": true + }, + "test.per-base.bed.gz.csi:md5,524a822fc4863b450fda9e0f99ccdf04" + ] + ], + "per_base_d4": [ + + ], + "quantized_bed": [ + + ], + "quantized_csi": [ + + ], + "regions_bed": [ + + ], + "regions_csi": [ + + ], + "regions_txt": [ + + ], + "summary_txt": [ + [ + { + "id": "test", + "single_end": true + }, + "test.mosdepth.summary.txt:md5,4f0d231060cbde4efdd673863bd2fb59" + ] + ], + "thresholds_bed": [ + + ], + "thresholds_csi": [ + + ], + "versions_gzip": [ + [ + "MOSDEPTH", + "gzip", + "1.14" + ] + ], + "versions_mosdepth": [ + [ + "MOSDEPTH", + "mosdepth", + "0.3.14" + ] + ] + } + ], + "timestamp": "2026-04-28T16:20:44.067692046", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "homo_sapiens - cram, crai, []": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": true + }, + "test.mosdepth.global.dist.txt:md5,e82e90c7d508a135b5a8a7cd6933452e" + ] + ], + "1": [ + [ + { + "id": "test", + "single_end": true + }, + "test.mosdepth.summary.txt:md5,4f0d231060cbde4efdd673863bd2fb59" + ] + ], + "10": [ + + ], + "11": [ + + ], + "12": [ + [ + "MOSDEPTH", + "mosdepth", + "0.3.14" + ] + ], + "13": [ + [ + "MOSDEPTH", + "gzip", + "1.14" + ] + ], + "2": [ + + ], + "3": [ + + ], + "4": [ + [ + { + "id": "test", + "single_end": true + }, + "test.per-base.bed.gz:md5,da6db0fb375a3053a89db8c935eebbaa" + ] + ], + "5": [ + [ + { + "id": "test", + "single_end": true + }, + "test.per-base.bed.gz.csi:md5,524a822fc4863b450fda9e0f99ccdf04" + ] + ], + "6": [ + + ], + "7": [ + + ], + "8": [ + + ], + "9": [ + + ], + "global_txt": [ + [ + { + "id": "test", + "single_end": true + }, + "test.mosdepth.global.dist.txt:md5,e82e90c7d508a135b5a8a7cd6933452e" + ] + ], + "per_base_bed": [ + [ + { + "id": "test", + "single_end": true + }, + "test.per-base.bed.gz:md5,da6db0fb375a3053a89db8c935eebbaa" + ] + ], + "per_base_csi": [ + [ + { + "id": "test", + "single_end": true + }, + "test.per-base.bed.gz.csi:md5,524a822fc4863b450fda9e0f99ccdf04" + ] + ], + "per_base_d4": [ + + ], + "quantized_bed": [ + + ], + "quantized_csi": [ + + ], + "regions_bed": [ + + ], + "regions_csi": [ + + ], + "regions_txt": [ + + ], + "summary_txt": [ + [ + { + "id": "test", + "single_end": true + }, + "test.mosdepth.summary.txt:md5,4f0d231060cbde4efdd673863bd2fb59" + ] + ], + "thresholds_bed": [ + + ], + "thresholds_csi": [ + + ], + "versions_gzip": [ + [ + "MOSDEPTH", + "gzip", + "1.14" + ] + ], + "versions_mosdepth": [ + [ + "MOSDEPTH", + "mosdepth", + "0.3.14" + ] + ] + } + ], + "timestamp": "2026-04-28T16:20:57.800996078", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "homo_sapiens - bam, bai, bed - thresholds": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": true + }, + "test.mosdepth.global.dist.txt:md5,e82e90c7d508a135b5a8a7cd6933452e" + ] + ], + "1": [ + [ + { + "id": "test", + "single_end": true + }, + "test.mosdepth.summary.txt:md5,96c037f769974b904beb53edc4f56d82" + ] + ], + "10": [ + [ + { + "id": "test", + "single_end": true + }, + "test.thresholds.bed.gz:md5,fe70ae728cd10726c42a2bcd44adfc9d" + ] + ], + "11": [ + [ + { + "id": "test", + "single_end": true + }, + "test.thresholds.bed.gz.csi:md5,5e0a68f8a0f2044ae36a7f50abfa291d" + ] + ], + "12": [ + [ + "MOSDEPTH", + "mosdepth", + "0.3.14" + ] + ], + "13": [ + [ + "MOSDEPTH", + "gzip", + "1.14" + ] + ], + "2": [ + [ + { + "id": "test", + "single_end": true + }, + "test.mosdepth.region.dist.txt:md5,e82e90c7d508a135b5a8a7cd6933452e" + ] + ], + "3": [ + + ], + "4": [ + [ + { + "id": "test", + "single_end": true + }, + "test.per-base.bed.gz:md5,da6db0fb375a3053a89db8c935eebbaa" + ] + ], + "5": [ + [ + { + "id": "test", + "single_end": true + }, + "test.per-base.bed.gz.csi:md5,524a822fc4863b450fda9e0f99ccdf04" + ] + ], + "6": [ + [ + { + "id": "test", + "single_end": true + }, + "test.regions.bed.gz:md5,9ded0397623fda26a6a3514d6a0e2a2c" + ] + ], + "7": [ + [ + { + "id": "test", + "single_end": true + }, + "test.regions.bed.gz.csi:md5,e0045e73eb8e8c2b88544f0bc346e002" + ] + ], + "8": [ + + ], + "9": [ + + ], + "global_txt": [ + [ + { + "id": "test", + "single_end": true + }, + "test.mosdepth.global.dist.txt:md5,e82e90c7d508a135b5a8a7cd6933452e" + ] + ], + "per_base_bed": [ + [ + { + "id": "test", + "single_end": true + }, + "test.per-base.bed.gz:md5,da6db0fb375a3053a89db8c935eebbaa" + ] + ], + "per_base_csi": [ + [ + { + "id": "test", + "single_end": true + }, + "test.per-base.bed.gz.csi:md5,524a822fc4863b450fda9e0f99ccdf04" + ] + ], + "per_base_d4": [ + + ], + "quantized_bed": [ + + ], + "quantized_csi": [ + + ], + "regions_bed": [ + [ + { + "id": "test", + "single_end": true + }, + "test.regions.bed.gz:md5,9ded0397623fda26a6a3514d6a0e2a2c" + ] + ], + "regions_csi": [ + [ + { + "id": "test", + "single_end": true + }, + "test.regions.bed.gz.csi:md5,e0045e73eb8e8c2b88544f0bc346e002" + ] + ], + "regions_txt": [ + [ + { + "id": "test", + "single_end": true + }, + "test.mosdepth.region.dist.txt:md5,e82e90c7d508a135b5a8a7cd6933452e" + ] + ], + "summary_txt": [ + [ + { + "id": "test", + "single_end": true + }, + "test.mosdepth.summary.txt:md5,96c037f769974b904beb53edc4f56d82" + ] + ], + "thresholds_bed": [ + [ + { + "id": "test", + "single_end": true + }, + "test.thresholds.bed.gz:md5,fe70ae728cd10726c42a2bcd44adfc9d" + ] + ], + "thresholds_csi": [ + [ + { + "id": "test", + "single_end": true + }, + "test.thresholds.bed.gz.csi:md5,5e0a68f8a0f2044ae36a7f50abfa291d" + ] + ], + "versions_gzip": [ + [ + "MOSDEPTH", + "gzip", + "1.14" + ] + ], + "versions_mosdepth": [ + [ + "MOSDEPTH", + "mosdepth", + "0.3.14" + ] + ] + } + ], + "timestamp": "2026-04-28T16:21:21.687826049", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + } +} \ No newline at end of file diff --git a/modules/nf-core/mosdepth/tests/nextflow.config b/modules/nf-core/mosdepth/tests/nextflow.config new file mode 100644 index 00000000..b21c05b5 --- /dev/null +++ b/modules/nf-core/mosdepth/tests/nextflow.config @@ -0,0 +1,5 @@ +process { + withName: "MOSDEPTH" { + ext.args = params.module_args + } +} diff --git a/modules/nf-core/multiqc/.conda-lock/linux_amd64-bd-c17fb751507e9dfc_1.txt b/modules/nf-core/multiqc/.conda-lock/linux_amd64-bd-c17fb751507e9dfc_1.txt new file mode 100644 index 00000000..2a91c22d --- /dev/null +++ b/modules/nf-core/multiqc/.conda-lock/linux_amd64-bd-c17fb751507e9dfc_1.txt @@ -0,0 +1,1526 @@ + +version: 6 +environments: +default: +channels: +- url: https://conda.anaconda.org/conda-forge/ +- url: https://conda.anaconda.org/bioconda/ +- url: https://conda.anaconda.org/bioconda/ +options: +pypi-prerelease-mode: if-necessary-or-explicit +packages: +linux-64: +- conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.7.0-pyhd8ed1ab_1.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/backports.zstd-1.5.0-py314h680f03e_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py314h3de4e8d_1.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_9.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.5.20-hbd8a1cb_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.5.20-pyhd8ed1ab_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.7-pyhd8ed1ab_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/click-8.4.0-pyhc90fa1f_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/coloredlogs-15.0.1-pyhd8ed1ab_4.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/colormath-3.0.0-pyhd8ed1ab_4.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.5-py314hd8ed1ab_100.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/expat-2.8.1-hecca717_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.18.0-h27c8c51_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.1.0-pyhd8ed1ab_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/humanfriendly-10.0-pyh707e725_8.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/humanize-4.15.0-pyhd8ed1ab_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.15-pyhcf101f3_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.26.0-pyhcf101f3_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.9.1-pyhcf101f3_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/kaleido-core-0.2.1-h3644ca4_0.tar.bz2 +- conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.19.1-h0c24ade_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.45.1-default_hbd61a6d_102.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.1.0-hdb68285_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-7_h4a7cf45_openblas.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-7_h0358290_openblas.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.25-h17f619e_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.1-hecca717_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h3435931_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.14.3-ha770c72_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype6-2.14.3-h73754d4_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_19.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_19.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.2.0-h69a702a_19.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.2.0-h68bc16d_19.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_19.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.1.4.1-hb03c661_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-7_h47877c9_openblas.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_1.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.33-pthreads_h94d23a6_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.58-h421ea60_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.1-h0c1763c_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_19.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.1-h9d88235_1.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.1-h5347b49_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.6.0-hd42ef1d_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.17.0-h8a09558_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/markdown-3.10.2-pyhcf101f3_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.2.0-pyhd8ed1ab_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.3-py314h67df5f8_1.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/mathjax-2.7.7-ha770c72_3.tar.bz2 +- conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda +- conda: https://conda.anaconda.org/bioconda/noarch/multiqc-1.35-pyhdfd78af_1.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.21.2-pyhcf101f3_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/natsort-8.4.0-pyhcf101f3_2.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/nspr-4.38-h29cc59b_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/nss-3.118-h445c969_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.4.6-py314h2b28147_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.4-h55fea9a_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.2-h35e630c_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-12.2.0-py314h8ec4b1a_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/plotly-6.6.0-pyhd8ed1ab_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/polars-1.41.0-pyh58ad624_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/polars-runtime-32-1.41.0-py310h49dadd8_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/polars-runtime-compat-1.41.0-py310hcbd6021_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/procps-ng-4.0.6-h18c060e_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-hb9d3cd8_1002.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/pyaml-env-1.2.2-pyhd8ed1ab_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.13.4-pyhcf101f3_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.46.4-py314h2e6c369_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.5-habeac84_100_cp314.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/python-dotenv-1.2.2-pyhcf101f3_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.14.5-h4df99d1_100.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/python-kaleido-0.2.1-pyhd8ed1ab_0.tar.bz2 +- conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.3-py314h67df5f8_1.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.37.0-pyhcf101f3_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/regex-2026.5.9-py314h5bd0f2a_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.34.2-pyhcf101f3_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/rich-15.0.0-pyhcf101f3_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/rich-click-1.9.7-pyh8f84b5b_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-0.30.0-py314h2e6c369_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/spectra-0.0.11-pyhd8ed1ab_2.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.53.1-hbc0de68_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/tiktoken-0.12.0-py314h67fec18_3.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h366c992_103.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.67.3-pyh8f84b5b_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/typeguard-4.5.2-pyhcf101f3_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.15.0-h396c80c_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/typing-inspection-0.4.2-pyhcf101f3_2.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.7.0-pyhd8ed1ab_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.12-hb03c661_1.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.5-hb03c661_1.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h280c20c_3.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/zlib-ng-2.3.3-hceb46e0_1.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda +packages: +- conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda +build_number: 20 +sha256: 1dd3fffd892081df9726d7eb7e0dea6198962ba775bd88842135a4ddb4deb3c9 +md5: a9f577daf3de00bca7c3c76c0ecbd1de +depends: +- __glibc >=2.17,<3.0.a0 +- libgomp >=7.5.0 +constrains: +- openmp_impl <0.0a0 +license: BSD-3-Clause +license_family: BSD +size: 28948 +timestamp: 1770939786096 +- conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda +sha256: a3967b937b9abf0f2a99f3173fa4630293979bd1644709d89580e7c62a544661 +md5: aaa2a381ccc56eac91d63b6c1240312f +depends: +- cpython +- python-gil +license: MIT +license_family: MIT +size: 8191 +timestamp: 1744137672556 +- conda: https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.7.0-pyhd8ed1ab_1.conda +sha256: e0ea1ba78fbb64f17062601edda82097fcf815012cf52bb704150a2668110d48 +md5: 2934f256a8acfe48f6ebb4fce6cde29c +depends: +- python >=3.9 +- typing-extensions >=4.0.0 +license: MIT +license_family: MIT +size: 18074 +timestamp: 1733247158254 +- conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda +sha256: 1b6124230bb4e571b1b9401537ecff575b7b109cc3a21ee019f65e083b8399ab +md5: c6b0543676ecb1fb2d7643941fe375f2 +depends: +- python >=3.10 +- python +license: MIT +license_family: MIT +size: 64927 +timestamp: 1773935801332 +- conda: https://conda.anaconda.org/conda-forge/noarch/backports.zstd-1.5.0-py314h680f03e_0.conda +noarch: generic +sha256: a1c97297e867776760489537bc5ae36fa83a154be30e3b79385a39ca4cb058fe +md5: 1133126d840e75287d83947be3fc3e71 +depends: +- python >=3.14 +license: BSD-3-Clause AND MIT AND EPL-2.0 +size: 7533 +timestamp: 1778594057496 +- conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py314h3de4e8d_1.conda +sha256: 3ad3500bff54a781c29f16ce1b288b36606e2189d0b0ef2f67036554f47f12b0 +md5: 8910d2c46f7e7b519129f486e0fe927a +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +- libstdcxx >=14 +- python >=3.14,<3.15.0a0 +- python_abi 3.14.* *_cp314 +constrains: +- libbrotlicommon 1.2.0 hb03c661_1 +license: MIT +license_family: MIT +size: 367376 +timestamp: 1764017265553 +- conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_9.conda +sha256: 0b75d45f0bba3e95dc693336fa51f40ea28c980131fec438afb7ce6118ed05f6 +md5: d2ffd7602c02f2b316fd921d39876885 +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +license: bzip2-1.0.6 +license_family: BSD +size: 260182 +timestamp: 1771350215188 +- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.5.20-hbd8a1cb_0.conda +sha256: 9812a303a1395e1dafbd92e5bc8a1ff6013bcbba0a09c7f03a8d23e43560aa9b +md5: 489b8e97e666c93f68fdb35c3c9b957f +depends: +- __unix +license: ISC +size: 129868 +timestamp: 1779289852439 +- conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.5.20-pyhd8ed1ab_0.conda +sha256: 645655a3510e38e625da136595f3f16f2130c3263630cc3bc8f60f619ddbe490 +md5: 9fefff2f745ea1cc2ef15211a20c054a +depends: +- python >=3.10 +license: ISC +size: 134201 +timestamp: 1779285131141 +- conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.7-pyhd8ed1ab_0.conda +sha256: 3f9483d62ce24ecd063f8a5a714448445dc8d9e201147c46699fc0033e824457 +md5: a9167b9571f3baa9d448faa2139d1089 +depends: +- python >=3.10 +license: MIT +license_family: MIT +size: 58872 +timestamp: 1775127203018 +- conda: https://conda.anaconda.org/conda-forge/noarch/click-8.4.0-pyhc90fa1f_0.conda +sha256: 99ab8ef815c4520cce3a7482c2513f377c14348206857661d84c76a55e030f97 +md5: 003767c47f1f0a474c4de268b57839c3 +depends: +- __unix +- python +- python >=3.10 +license: BSD-3-Clause +license_family: BSD +size: 104631 +timestamp: 1779108494556 +- conda: https://conda.anaconda.org/conda-forge/noarch/coloredlogs-15.0.1-pyhd8ed1ab_4.conda +sha256: 8021c76eeadbdd5784b881b165242db9449783e12ce26d6234060026fd6a8680 +md5: b866ff7007b934d564961066c8195983 +depends: +- humanfriendly >=9.1 +- python >=3.9 +license: MIT +license_family: MIT +size: 43758 +timestamp: 1733928076798 +- conda: https://conda.anaconda.org/conda-forge/noarch/colormath-3.0.0-pyhd8ed1ab_4.conda +sha256: 59c9e29800b483b390467f90e82b0da3a4fbf0612efe1c90813fca232780e160 +md5: 071cf7b0ce333c81718b054066c15102 +depends: +- networkx >=2.0 +- numpy +- python >=3.9 +license: BSD-3-Clause +license_family: BSD +size: 39326 +timestamp: 1735759976140 +- conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.5-py314hd8ed1ab_100.conda +noarch: generic +sha256: 777882d2685f368417f31bbe1b28f73687fc6c8f6a5768bda20ffeefa6b07f5b +md5: a749029ce5d0632a913db19d17f944ab +depends: +- python >=3.14,<3.15.0a0 +- python_abi * *_cp314 +license: Python-2.0 +size: 50212 +timestamp: 1779236682725 +- conda: https://conda.anaconda.org/conda-forge/linux-64/expat-2.8.1-hecca717_0.conda +sha256: 29a10599d56d93bd750914888ebe6822d47722070762b4647b34d12df9f4476e +md5: d0757fd84af06f065eba49d39af6c546 +depends: +- __glibc >=2.17,<3.0.a0 +- libexpat 2.8.1 hecca717_0 +- libgcc >=14 +license: MIT +license_family: MIT +size: 148238 +timestamp: 1779278694477 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 +sha256: 58d7f40d2940dd0a8aa28651239adbf5613254df0f75789919c4e6762054403b +md5: 0c96522c6bdaed4b1566d11387caaf45 +license: BSD-3-Clause +license_family: BSD +size: 397370 +timestamp: 1566932522327 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 +sha256: c52a29fdac682c20d252facc50f01e7c2e7ceac52aa9817aaf0bb83f7559ec5c +md5: 34893075a5c9e55cdafac56607368fc6 +license: OFL-1.1 +license_family: Other +size: 96530 +timestamp: 1620479909603 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 +sha256: 00925c8c055a2275614b4d983e1df637245e19058d79fc7dd1a93b8d9fb4b139 +md5: 4d59c254e01d9cde7957100457e2d5fb +license: OFL-1.1 +license_family: Other +size: 700814 +timestamp: 1620479612257 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda +sha256: 2821ec1dc454bd8b9a31d0ed22a7ce22422c0aef163c59f49dfdf915d0f0ca14 +md5: 49023d73832ef61042f6a237cb2687e7 +license: LicenseRef-Ubuntu-Font-Licence-Version-1.0 +license_family: Other +size: 1620504 +timestamp: 1727511233259 +- conda: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.18.0-h27c8c51_0.conda +sha256: e798086d8a65d55dc4c51f5746705639c9a5f2eeb0b8fc50e6152cfc0d69a4e8 +md5: 06965b2f9854d0b15e0443ee81fe83dc +depends: +- __glibc >=2.17,<3.0.a0 +- libexpat >=2.8.1,<3.0a0 +- libfreetype >=2.14.3 +- libfreetype6 >=2.14.3 +- libgcc >=14 +- libuuid >=2.42.1,<3.0a0 +- libzlib >=1.3.2,<2.0a0 +license: MIT +license_family: MIT +size: 280882 +timestamp: 1779421631622 +- conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda +sha256: 54eea8469786bc2291cc40bca5f46438d3e062a399e8f53f013b6a9f50e98333 +md5: a7970cd949a077b7cb9696379d338681 +depends: +- font-ttf-ubuntu +- font-ttf-inconsolata +- font-ttf-dejavu-sans-mono +- font-ttf-source-code-pro +license: BSD-3-Clause +license_family: BSD +size: 4059 +timestamp: 1762351264405 +- conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda +sha256: 84c64443368f84b600bfecc529a1194a3b14c3656ee2e832d15a20e0329b6da3 +md5: 164fc43f0b53b6e3a7bc7dce5e4f1dc9 +depends: +- python >=3.10 +- hyperframe >=6.1,<7 +- hpack >=4.1,<5 +- python +license: MIT +license_family: MIT +size: 95967 +timestamp: 1756364871835 +- conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.1.0-pyhd8ed1ab_0.conda +sha256: 6ad78a180576c706aabeb5b4c8ceb97c0cb25f1e112d76495bff23e3779948ba +md5: 0a802cb9888dd14eeefc611f05c40b6e +depends: +- python >=3.9 +license: MIT +license_family: MIT +size: 30731 +timestamp: 1737618390337 +- conda: https://conda.anaconda.org/conda-forge/noarch/humanfriendly-10.0-pyh707e725_8.conda +sha256: fa2071da7fab758c669e78227e6094f6b3608228740808a6de5d6bce83d9e52d +md5: 7fe569c10905402ed47024fc481bb371 +depends: +- __unix +- python >=3.9 +license: MIT +license_family: MIT +size: 73563 +timestamp: 1733928021866 +- conda: https://conda.anaconda.org/conda-forge/noarch/humanize-4.15.0-pyhd8ed1ab_0.conda +sha256: 6c4343b376d0b12a4c75ab992640970d36c933cad1fd924f6a1181fa91710e80 +md5: daddf757c3ecd6067b9af1df1f25d89e +depends: +- python >=3.10 +license: MIT +license_family: MIT +size: 67994 +timestamp: 1766267728652 +- conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda +sha256: 77af6f5fe8b62ca07d09ac60127a30d9069fdc3c68d6b256754d0ffb1f7779f8 +md5: 8e6923fc12f1fe8f8c4e5c9f343256ac +depends: +- python >=3.9 +license: MIT +license_family: MIT +size: 17397 +timestamp: 1737618427549 +- conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.15-pyhcf101f3_0.conda +sha256: 3d25f9f6f7ab3e1ce6429fc8c8aae0335cf446692e715068488536d220cc43de +md5: 1b9083b7f00609605d1483dbc6071a81 +depends: +- python >=3.10 +- python +license: BSD-3-Clause +license_family: BSD +size: 62642 +timestamp: 1779294335905 +- conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda +sha256: 43e2a5497cad1598ff88a3e69f69bc88b7b8f141fa63c60eab5db296317318b8 +md5: ffc17e785d64e12fc311af9184221839 +depends: +- python >=3.10 +- zipp >=3.20 +- python +license: Apache-2.0 +size: 34766 +timestamp: 1779714582554 +- conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda +sha256: fc9ca7348a4f25fed2079f2153ecdcf5f9cf2a0bc36c4172420ca09e1849df7b +md5: 04558c96691bed63104678757beb4f8d +depends: +- markupsafe >=2.0 +- python >=3.10 +- python +license: BSD-3-Clause +license_family: BSD +size: 120685 +timestamp: 1764517220861 +- conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.26.0-pyhcf101f3_0.conda +sha256: db973a37d75db8e19b5f44bbbdaead0c68dde745407f281e2a7fe4db74ec51d7 +md5: ada41c863af263cc4c5fcbaff7c3e4dc +depends: +- attrs >=22.2.0 +- jsonschema-specifications >=2023.3.6 +- python >=3.10 +- referencing >=0.28.4 +- rpds-py >=0.25.0 +- python +license: MIT +license_family: MIT +size: 82356 +timestamp: 1767839954256 +- conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.9.1-pyhcf101f3_0.conda +sha256: 0a4f3b132f0faca10c89fdf3b60e15abb62ded6fa80aebfc007d05965192aa04 +md5: 439cd0f567d697b20a8f45cb70a1005a +depends: +- python >=3.10 +- referencing >=0.31.0 +- python +license: MIT +license_family: MIT +size: 19236 +timestamp: 1757335715225 +- conda: https://conda.anaconda.org/conda-forge/linux-64/kaleido-core-0.2.1-h3644ca4_0.tar.bz2 +sha256: 7f243680ca03eba7457b7a48f93a9440ba8181a8eac20a3eb5ef165ab6c96664 +md5: b3723b235b0758abaae8c82ce4d80146 +depends: +- __glibc >=2.17,<3.0.a0 +- expat >=2.2.10,<3.0.0a0 +- fontconfig +- fonts-conda-forge +- libgcc-ng >=9.3.0 +- mathjax 2.7.* +- nspr >=4.29,<5.0a0 +- nss >=3.62,<4.0a0 +- sqlite >=3.34.0,<4.0a0 +license: MIT +license_family: MIT +size: 62099926 +timestamp: 1615199463039 +- conda: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.19.1-h0c24ade_0.conda +sha256: eb89c6c39f2f6a93db55723dbb2f6bba8c8e63e6312bf1abf13e6e9ff45849c8 +md5: f92f984b558e6e6204014b16d212b271 +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +- libjpeg-turbo >=3.1.4.1,<4.0a0 +- libtiff >=4.7.1,<4.8.0a0 +license: MIT +license_family: MIT +size: 251086 +timestamp: 1778079286384 +- conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.45.1-default_hbd61a6d_102.conda +sha256: 3d584956604909ff5df353767f3a2a2f60e07d070b328d109f30ac40cd62df6c +md5: 18335a698559cdbcd86150a48bf54ba6 +depends: +- __glibc >=2.17,<3.0.a0 +- zstd >=1.5.7,<1.6.0a0 +constrains: +- binutils_impl_linux-64 2.45.1 +license: GPL-3.0-only +license_family: GPL +size: 728002 +timestamp: 1774197446916 +- conda: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.1.0-hdb68285_0.conda +sha256: f84cb54782f7e9cea95e810ea8fef186e0652d0fa73d3009914fa2c1262594e1 +md5: a752488c68f2e7c456bcbd8f16eec275 +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +- libstdcxx >=14 +license: Apache-2.0 +license_family: Apache +size: 261513 +timestamp: 1773113328888 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-7_h4a7cf45_openblas.conda +build_number: 7 +sha256: 081c850f99bc355821fac9c6e3727d40b3f8ce3beb50a5437cf03726b611ff39 +md5: 955b44e8b00b7f7ef4ce0130cef12394 +depends: +- libopenblas >=0.3.33,<0.3.34.0a0 +- libopenblas >=0.3.33,<1.0a0 +constrains: +- libcblas 3.11.0 7*_openblas +- blas 2.307 openblas +- liblapack 3.11.0 7*_openblas +- liblapacke 3.11.0 7*_openblas +- mkl <2027 +license: BSD-3-Clause +license_family: BSD +size: 18716 +timestamp: 1778489854108 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-7_h0358290_openblas.conda +build_number: 7 +sha256: 956ae0bb1ec8b0c3663d75b151aceb0521b54e513bf97f621a035f9c87037970 +md5: 0675639dc24cb0032f199e7ff68e4633 +depends: +- libblas 3.11.0 7_h4a7cf45_openblas +constrains: +- liblapacke 3.11.0 7*_openblas +- blas 2.307 openblas +- liblapack 3.11.0 7*_openblas +license: BSD-3-Clause +license_family: BSD +size: 18675 +timestamp: 1778489861559 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.25-h17f619e_0.conda +sha256: aa8e8c4be9a2e81610ddf574e05b64ee131fab5e0e3693210c9d6d2fba32c680 +md5: 6c77a605a7a689d17d4819c0f8ac9a00 +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +license: MIT +license_family: MIT +size: 73490 +timestamp: 1761979956660 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.1-hecca717_0.conda +sha256: 363018b25fdb5534c79783d912bd4b685a3547f4fc5996357ad548899b0ee8e7 +md5: 93764a5ca80616e9c10106cdaec92f74 +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +constrains: +- expat 2.8.1.* +license: MIT +license_family: MIT +size: 77294 +timestamp: 1779278686680 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h3435931_0.conda +sha256: 31f19b6a88ce40ebc0d5a992c131f57d919f73c0b92cd1617a5bec83f6e961e6 +md5: a360c33a5abe61c07959e449fa1453eb +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +license: MIT +license_family: MIT +size: 58592 +timestamp: 1769456073053 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.14.3-ha770c72_0.conda +sha256: 38f014a7129e644636e46064ecd6b1945e729c2140e21d75bb476af39e692db2 +md5: e289f3d17880e44b633ba911d57a321b +depends: +- libfreetype6 >=2.14.3 +license: GPL-2.0-only OR FTL +size: 8049 +timestamp: 1774298163029 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libfreetype6-2.14.3-h73754d4_0.conda +sha256: 16f020f96da79db1863fcdd8f2b8f4f7d52f177dd4c58601e38e9182e91adf1d +md5: fb16b4b69e3f1dcfe79d80db8fd0c55d +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +- libpng >=1.6.55,<1.7.0a0 +- libzlib >=1.3.2,<2.0a0 +constrains: +- freetype >=2.14.3 +license: GPL-2.0-only OR FTL +size: 384575 +timestamp: 1774298162622 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_19.conda +sha256: 8e0a3b5e41272e5678499b5dfc4cddb673f9e935de01eb0767ce857001229f46 +md5: 57736f29cc2b0ec0b6c2952d3f101b6a +depends: +- __glibc >=2.17,<3.0.a0 +- _openmp_mutex >=4.5 +constrains: +- libgcc-ng ==15.2.0=*_19 +- libgomp 15.2.0 he0feb66_19 +license: GPL-3.0-only WITH GCC-exception-3.1 +license_family: GPL +size: 1041084 +timestamp: 1778269013026 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_19.conda +sha256: 9dcf54adfaa5e861123c2da4f2f0451a685464ea7e5a41ad91cf67b31d658d98 +md5: 331ee9b72b9dff570d56b1302c5ab37d +depends: +- libgcc 15.2.0 he0feb66_19 +license: GPL-3.0-only WITH GCC-exception-3.1 +license_family: GPL +size: 27694 +timestamp: 1778269016987 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.2.0-h69a702a_19.conda +sha256: 561a42758ef25b9ce308c4e2cf56daee4f06138385a17e29a492cd928e00be6f +md5: 42bf7eca1a951735fa06c0e3c0d5c8e6 +depends: +- libgfortran5 15.2.0 h68bc16d_19 +constrains: +- libgfortran-ng ==15.2.0=*_19 +license: GPL-3.0-only WITH GCC-exception-3.1 +license_family: GPL +size: 27655 +timestamp: 1778269042954 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.2.0-h68bc16d_19.conda +sha256: 057978bb69fea29ed715a9b98adf71015c31baecc4aeb2bfc20d4fd5d83579d4 +md5: 85072b0ad177c966294f129b7c04a2d5 +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=15.2.0 +constrains: +- libgfortran 15.2.0 +license: GPL-3.0-only WITH GCC-exception-3.1 +license_family: GPL +size: 2483673 +timestamp: 1778269025089 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_19.conda +sha256: 5abe4ab9d93f6c9757d654f1969ae2267d4505315c1f2f8fe705fd60af084f1b +md5: faac990cb7aedc7f3a2224f2c9b0c26c +depends: +- __glibc >=2.17,<3.0.a0 +license: GPL-3.0-only WITH GCC-exception-3.1 +license_family: GPL +size: 603817 +timestamp: 1778268942614 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.1.4.1-hb03c661_0.conda +sha256: 10056646c28115b174de81a44e23e3a0a3b95b5347d2e6c45cc6d49d35294256 +md5: 6178c6f2fb254558238ef4e6c56fb782 +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +constrains: +- jpeg <0.0.0a +license: IJG AND BSD-3-Clause AND Zlib +size: 633831 +timestamp: 1775962768273 +- conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-7_h47877c9_openblas.conda +build_number: 7 +sha256: 96962084921f197c9ad13fb7f8b324f2351d50ff3d8d962148751ad532f54a01 +md5: 6569b4f273740e25dc0dc7e3232c2a6c +depends: +- libblas 3.11.0 7_h4a7cf45_openblas +constrains: +- liblapacke 3.11.0 7*_openblas +- libcblas 3.11.0 7*_openblas +- blas 2.307 openblas +license: BSD-3-Clause +license_family: BSD +size: 18694 +timestamp: 1778489869038 +- conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_0.conda +sha256: ec30e52a3c1bf7d0425380a189d209a52baa03f22fb66dd3eb587acaa765bd6d +md5: b88d90cad08e6bc8ad540cb310a761fb +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +constrains: +- xz 5.8.3.* +license: 0BSD +size: 113478 +timestamp: 1775825492909 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_1.conda +sha256: fe171ed5cf5959993d43ff72de7596e8ac2853e9021dec0344e583734f1e0843 +md5: 2c21e66f50753a083cbe6b80f38268fa +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +license: BSD-2-Clause +license_family: BSD +size: 92400 +timestamp: 1769482286018 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.33-pthreads_h94d23a6_0.conda +sha256: 3d9aa85648e5e18a6d66db98b8c4317cc426721ad7a220aa86330d1ccedc8903 +md5: 2d3278b721e40468295ca755c3b84070 +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +- libgfortran +- libgfortran5 >=14.3.0 +constrains: +- openblas >=0.3.33,<0.3.34.0a0 +license: BSD-3-Clause +license_family: BSD +size: 5931919 +timestamp: 1776993658641 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.58-h421ea60_0.conda +sha256: 377cfe037f3eeb3b1bf3ad333f724a64d32f315ee1958581fc671891d63d3f89 +md5: eba48a68a1a2b9d3c0d9511548db85db +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +- libzlib >=1.3.2,<2.0a0 +license: zlib-acknowledgement +size: 317729 +timestamp: 1776315175087 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.1-h0c1763c_0.conda +sha256: 54cdcd3214313b62c2a8ee277e6f42150d9b748264c1b70d958bf735e420ef8d +md5: 7dc38adcbf71e6b38748e919e16e0dce +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +- libzlib >=1.3.2,<2.0a0 +license: blessing +size: 954962 +timestamp: 1777986471789 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_19.conda +sha256: dff1058c76ec6b8759e41cefa2508162d00e4a5e6721aa68ec3fd10094e702dc +md5: 5794b3bdc38177caf969dabd3af08549 +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc 15.2.0 he0feb66_19 +constrains: +- libstdcxx-ng ==15.2.0=*_19 +license: GPL-3.0-only WITH GCC-exception-3.1 +license_family: GPL +size: 5852044 +timestamp: 1778269036376 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.1-h9d88235_1.conda +sha256: e5f8c38625aa6d567809733ae04bb71c161a42e44a9fa8227abe61fa5c60ebe0 +md5: cd5a90476766d53e901500df9215e927 +depends: +- __glibc >=2.17,<3.0.a0 +- lerc >=4.0.0,<5.0a0 +- libdeflate >=1.25,<1.26.0a0 +- libgcc >=14 +- libjpeg-turbo >=3.1.0,<4.0a0 +- liblzma >=5.8.1,<6.0a0 +- libstdcxx >=14 +- libwebp-base >=1.6.0,<2.0a0 +- libzlib >=1.3.1,<2.0a0 +- zstd >=1.5.7,<1.6.0a0 +license: HPND +size: 435273 +timestamp: 1762022005702 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.1-h5347b49_0.conda +sha256: 3f0edf1280e2f6684a986f821eaa3e123d2694a00b31b96ca0d4a4c12c129231 +md5: 7d0a66598195ef00b6efc55aefc7453b +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +license: BSD-3-Clause +license_family: BSD +size: 40163 +timestamp: 1779118517630 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.6.0-hd42ef1d_0.conda +sha256: 3aed21ab28eddffdaf7f804f49be7a7d701e8f0e46c856d801270b470820a37b +md5: aea31d2e5b1091feca96fcfe945c3cf9 +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +constrains: +- libwebp 1.6.0 +license: BSD-3-Clause +license_family: BSD +size: 429011 +timestamp: 1752159441324 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.17.0-h8a09558_0.conda +sha256: 666c0c431b23c6cec6e492840b176dde533d48b7e6fb8883f5071223433776aa +md5: 92ed62436b625154323d40d5f2f11dd7 +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=13 +- pthread-stubs +- xorg-libxau >=1.0.11,<2.0a0 +- xorg-libxdmcp +license: MIT +license_family: MIT +size: 395888 +timestamp: 1727278577118 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda +sha256: 55044c403570f0dc26e6364de4dc5368e5f3fc7ff103e867c487e2b5ab2bcda9 +md5: d87ff7921124eccd67248aa483c23fec +depends: +- __glibc >=2.17,<3.0.a0 +constrains: +- zlib 1.3.2 *_2 +license: Zlib +license_family: Other +size: 63629 +timestamp: 1774072609062 +- conda: https://conda.anaconda.org/conda-forge/noarch/markdown-3.10.2-pyhcf101f3_0.conda +sha256: 20e0892592a3e7c683e3d66df704a9425d731486a97c34fc56af4da1106b2b6b +md5: ba0a9221ce1063f31692c07370d062f3 +depends: +- importlib-metadata >=4.4 +- python >=3.10 +- python +license: BSD-3-Clause +license_family: BSD +size: 85893 +timestamp: 1770694658918 +- conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.2.0-pyhd8ed1ab_0.conda +sha256: 0c4c35376fe920714390d46e4b8d31c876d65f18e1655899e0763ec25f2a902f +md5: 6d03368f2b2b0a5fb6839df53b2eb5e0 +depends: +- mdurl >=0.1,<1 +- python >=3.10 +license: MIT +license_family: MIT +size: 69017 +timestamp: 1778169663339 +- conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.3-py314h67df5f8_1.conda +sha256: c279be85b59a62d5c52f5dd9a4cd43ebd08933809a8416c22c3131595607d4cf +md5: 9a17c4307d23318476d7fbf0fedc0cde +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +- python >=3.14,<3.15.0a0 +- python_abi 3.14.* *_cp314 +constrains: +- jinja2 >=3.0.0 +license: BSD-3-Clause +license_family: BSD +size: 27424 +timestamp: 1772445227915 +- conda: https://conda.anaconda.org/conda-forge/linux-64/mathjax-2.7.7-ha770c72_3.tar.bz2 +sha256: 02fef69bde69db264a12f21386612262f545b6e3e68d8f1ccec19f3eaae58edf +md5: 86e69bd82c2a2c6fd29f5ab7e02b3691 +license: Apache-2.0 +license_family: Apache +size: 22281629 +timestamp: 1662784498331 +- conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda +sha256: 78c1bbe1723449c52b7a9df1af2ee5f005209f67e40b6e1d3c7619127c43b1c7 +md5: 592132998493b3ff25fd7479396e8351 +depends: +- python >=3.9 +license: MIT +license_family: MIT +size: 14465 +timestamp: 1733255681319 +- conda: https://conda.anaconda.org/bioconda/noarch/multiqc-1.35-pyhdfd78af_1.conda +sha256: e86033aa55a9e915e2d0957e770bdb81e3feb26a227d1adb17f9d6c528da6a71 +md5: cdb20309681ba3ce8f52c110e214d4f3 +depends: +- click +- coloredlogs +- humanize +- importlib-metadata +- jinja2 >=3.0.0 +- jsonschema +- markdown +- natsort +- numpy +- packaging +- pillow >=10.2.0 +- plotly >=5.18 +- polars >=1.34.0 +- polars-runtime-compat >=1.34.0 +- pyaml-env +- pydantic >=2.7.1 +- python >=3.9,!=3.14.1 +- python-dotenv +- python-kaleido 0.2.1 +- pyyaml >=4 +- requests +- rich >=10 +- rich-click +- spectra >=0.0.10 +- tiktoken +- tqdm +- typeguard >=4 +license: GPL-3.0-or-later +license_family: GPL3 +size: 4282188 +timestamp: 1779465338806 +- conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.21.2-pyhcf101f3_0.conda +sha256: 70f43d62450927d51673eecd8823e14f5b3cfebdb43cda1d502eba97162bab42 +md5: 6687827c332121727ce383919e1ec8c2 +depends: +- python >=3.10 +- python +license: MIT +license_family: MIT +size: 284323 +timestamp: 1778929680962 +- conda: https://conda.anaconda.org/conda-forge/noarch/natsort-8.4.0-pyhcf101f3_2.conda +sha256: aeb1548eb72e4f198e72f19d242fb695b35add2ac7b2c00e0d83687052867680 +md5: e941e85e273121222580723010bd4fa2 +depends: +- python >=3.9 +- python +license: MIT +license_family: MIT +size: 39262 +timestamp: 1770905275632 +- conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_0.conda +sha256: fc89f74bbe362fb29fa3c037697a89bec140b346a2469a90f7936d1d7ea4d8a3 +md5: fc21868a1a5aacc937e7a18747acb8a5 +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +license: X11 AND BSD-3-Clause +size: 918956 +timestamp: 1777422145199 +- conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda +sha256: f6a82172afc50e54741f6f84527ef10424326611503c64e359e25a19a8e4c1c6 +md5: a2c1eeadae7a309daed9d62c96012a2b +depends: +- python >=3.11 +- python +constrains: +- numpy >=1.25 +- scipy >=1.11.2 +- matplotlib-base >=3.8 +- pandas >=2.0 +license: BSD-3-Clause +license_family: BSD +size: 1587439 +timestamp: 1765215107045 +- conda: https://conda.anaconda.org/conda-forge/linux-64/nspr-4.38-h29cc59b_0.conda +sha256: e3664264bd936c357523b55c71ed5a30263c6ba278d726a75b1eb112e6fb0b64 +md5: e235d5566c9cc8970eb2798dd4ecf62f +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +- libstdcxx >=14 +license: MPL-2.0 +license_family: MOZILLA +size: 228588 +timestamp: 1762348634537 +- conda: https://conda.anaconda.org/conda-forge/linux-64/nss-3.118-h445c969_0.conda +sha256: 44dd98ffeac859d84a6dcba79a2096193a42fc10b29b28a5115687a680dd6aea +md5: 567fbeed956c200c1db5782a424e58ee +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +- libsqlite >=3.51.0,<4.0a0 +- libstdcxx >=14 +- libzlib >=1.3.1,<2.0a0 +- nspr >=4.38,<5.0a0 +license: MPL-2.0 +license_family: MOZILLA +size: 2057773 +timestamp: 1763485556350 +- conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.4.6-py314h2b28147_0.conda +sha256: bc61ae892973751a6b0e6ecea57ed6d7053224bddcb007165d6ceb1d7344ad47 +md5: f49b5f950379e0b97c35ca97682f7c6a +depends: +- python +- libstdcxx >=14 +- libgcc >=14 +- __glibc >=2.17,<3.0.a0 +- liblapack >=3.9.0,<4.0a0 +- python_abi 3.14.* *_cp314 +- libblas >=3.9.0,<4.0a0 +- libcblas >=3.9.0,<4.0a0 +constrains: +- numpy-base <0a0 +license: BSD-3-Clause +license_family: BSD +size: 8928909 +timestamp: 1779169198391 +- conda: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.4-h55fea9a_0.conda +sha256: 3900f9f2dbbf4129cf3ad6acf4e4b6f7101390b53843591c53b00f034343bc4d +md5: 11b3379b191f63139e29c0d19dee24cd +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +- libpng >=1.6.50,<1.7.0a0 +- libstdcxx >=14 +- libtiff >=4.7.1,<4.8.0a0 +- libzlib >=1.3.1,<2.0a0 +license: BSD-2-Clause +license_family: BSD +size: 355400 +timestamp: 1758489294972 +- conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.2-h35e630c_0.conda +sha256: c0ef482280e38c71a08ad6d71448194b719630345b0c9c60744a2010e8a8e0cb +md5: da1b85b6a87e141f5140bb9924cecab0 +depends: +- __glibc >=2.17,<3.0.a0 +- ca-certificates +- libgcc >=14 +license: Apache-2.0 +license_family: Apache +size: 3167099 +timestamp: 1775587756857 +- conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda +sha256: 3906abfb6511a3bb309e39b9b1b7bc38f50a723971de2395489fd1f379255890 +md5: 4c06a92e74452cfa53623a81592e8934 +depends: +- python >=3.8 +- python +license: Apache-2.0 +license_family: APACHE +size: 91574 +timestamp: 1777103621679 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pillow-12.2.0-py314h8ec4b1a_0.conda +sha256: 123d8a7c16c88658b4f29e9f115a047598c941708dade74fbaff373a32dbec5e +md5: 76c4757c0ec9d11f969e8eb44899307b +depends: +- python +- libgcc >=14 +- __glibc >=2.17,<3.0.a0 +- libtiff >=4.7.1,<4.8.0a0 +- openjpeg >=2.5.4,<3.0a0 +- libxcb >=1.17.0,<2.0a0 +- libwebp-base >=1.6.0,<2.0a0 +- zlib-ng >=2.3.3,<2.4.0a0 +- libjpeg-turbo >=3.1.2,<4.0a0 +- python_abi 3.14.* *_cp314 +- libfreetype >=2.14.3 +- libfreetype6 >=2.14.3 +- lcms2 >=2.18,<3.0a0 +- tk >=8.6.13,<8.7.0a0 +license: HPND +size: 1082797 +timestamp: 1775060059882 +- conda: https://conda.anaconda.org/conda-forge/noarch/plotly-6.6.0-pyhd8ed1ab_0.conda +sha256: c418d325359fc7a0074cea7f081ef1bce26e114d2da8a0154c5d27ecc87a08e7 +md5: 3e9427ee186846052e81fadde8ebe96a +depends: +- narwhals >=1.15.1 +- packaging +- python >=3.10 +constrains: +- ipywidgets >=7.6 +license: MIT +license_family: MIT +size: 5251872 +timestamp: 1772628857717 +- conda: https://conda.anaconda.org/conda-forge/noarch/polars-1.41.0-pyh58ad624_0.conda +sha256: 70fc56877c4a095ee658d61924d8019768fbae4a48437058d181fc94b0a7c4d8 +md5: 25a883fed9f1f3f21ff317a3e7c92ac4 +depends: +- polars-runtime-32 ==1.41.0 +- python >=3.10 +- python +constrains: +- numpy >=1.16.0 +- pyarrow >=7.0.0 +- fastexcel >=0.9 +- openpyxl >=3.0.0 +- xlsx2csv >=0.8.0 +- connectorx >=0.3.2 +- deltalake >=1.0.0 +- pyiceberg >=0.7.1 +- altair >=5.4.0 +- great_tables >=0.8.0 +- polars-runtime-32 ==1.41.0 +- polars-runtime-64 ==1.41.0 +- polars-runtime-compat ==1.41.0 +license: MIT +size: 539656 +timestamp: 1779630790562 +- conda: https://conda.anaconda.org/conda-forge/linux-64/polars-runtime-32-1.41.0-py310h49dadd8_0.conda +noarch: python +sha256: e51ee3fe5259f2e115b2f78f8fbe3554e419c7c82b0c110878e12a5ff95ce3ab +md5: 7682765a1588e5ac887c99736d297c93 +depends: +- python +- __glibc >=2.17,<3.0.a0 +- libstdcxx >=14 +- libgcc >=14 +- _python_abi3_support 1.* +- cpython >=3.10 +constrains: +- __glibc >=2.17 +license: MIT +size: 42578921 +timestamp: 1779630790562 +- conda: https://conda.anaconda.org/conda-forge/linux-64/polars-runtime-compat-1.41.0-py310hcbd6021_0.conda +noarch: python +sha256: 29c3831c92394af11d9f7d04882dda9479ffbb76a3d36ba155d52159d67805fa +md5: cb0b620c9914a07a9022cb8b183ea9ee +depends: +- python +- libstdcxx >=14 +- libgcc >=14 +- __glibc >=2.17,<3.0.a0 +- _python_abi3_support 1.* +- cpython >=3.10 +constrains: +- __glibc >=2.17 +license: MIT +size: 41864944 +timestamp: 1779630722548 +- conda: https://conda.anaconda.org/conda-forge/linux-64/procps-ng-4.0.6-h18c060e_0.conda +sha256: 4ce2e1ee31a6217998f78c31ce7dc0a3e0557d9238b51d49dd20c52d467a126d +md5: f2c23a77b25efcad57d377b34bd84941 +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +- ncurses >=6.5,<7.0a0 +license: GPL-2.0-or-later AND LGPL-2.0-or-later +license_family: GPL +size: 593603 +timestamp: 1769710381284 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-hb9d3cd8_1002.conda +sha256: 9c88f8c64590e9567c6c80823f0328e58d3b1efb0e1c539c0315ceca764e0973 +md5: b3c17d95b5a10c6e64a21fa17573e70e +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=13 +license: MIT +license_family: MIT +size: 8252 +timestamp: 1726802366959 +- conda: https://conda.anaconda.org/conda-forge/noarch/pyaml-env-1.2.2-pyhd8ed1ab_0.conda +sha256: 58994e0d2ea8584cb399546e6f6896d771995e6121d1a7b6a2c9948388358932 +md5: e17be1016bcc3516827b836cd3e4d9dc +depends: +- python >=3.9 +- pyyaml >=5.0,<=7.0 +license: MIT +license_family: MIT +size: 14645 +timestamp: 1736766960536 +- conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.13.4-pyhcf101f3_0.conda +sha256: 69700e31165df070e9716315e042196aa92525dae5deb5107785847ab9f4189f +md5: 729843edafc0899b3348bd3f19525b9d +depends: +- typing-inspection >=0.4.2 +- typing_extensions >=4.14.1 +- python >=3.10 +- annotated-types >=0.6.0 +- pydantic-core ==2.46.4 +- python +license: MIT +license_family: MIT +size: 346511 +timestamp: 1778103405862 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.46.4-py314h2e6c369_0.conda +sha256: 802e216c39f1359aed60823b6e11d8ccd812b0ae1c81ae5ac1c81f99446409ab +md5: 0c96993dbeadf3a277cf757b9f1c9412 +depends: +- python +- typing-extensions >=4.6.0,!=4.7.0 +- libgcc >=14 +- __glibc >=2.17,<3.0.a0 +- python_abi 3.14.* *_cp314 +constrains: +- __glibc >=2.17 +license: MIT +license_family: MIT +size: 1895020 +timestamp: 1778084229247 +- conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda +sha256: cf70b2f5ad9ae472b71235e5c8a736c9316df3705746de419b59d442e8348e86 +md5: 16c18772b340887160c79a6acc022db0 +depends: +- python >=3.10 +license: BSD-2-Clause +license_family: BSD +size: 893031 +timestamp: 1774796815820 +- conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda +sha256: ba3b032fa52709ce0d9fd388f63d330a026754587a2f461117cac9ab73d8d0d8 +md5: 461219d1a5bd61342293efa2c0c90eac +depends: +- __unix +- python >=3.9 +license: BSD-3-Clause +license_family: BSD +size: 21085 +timestamp: 1733217331982 +- conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.5-habeac84_100_cp314.conda +build_number: 100 +sha256: 55eed9bf2a3f6e90311276f0834737fe7c2d9ec3e5e2e557507858df4c7521e6 +md5: da92e59ff92f2d5ede4f612af20f583f +depends: +- __glibc >=2.17,<3.0.a0 +- bzip2 >=1.0.8,<2.0a0 +- ld_impl_linux-64 >=2.36.1 +- libexpat >=2.8.0,<3.0a0 +- libffi >=3.5.2,<3.6.0a0 +- libgcc >=14 +- liblzma >=5.8.3,<6.0a0 +- libmpdec >=4.0.0,<5.0a0 +- libsqlite >=3.53.1,<4.0a0 +- libuuid >=2.42.1,<3.0a0 +- libzlib >=1.3.2,<2.0a0 +- ncurses >=6.6,<7.0a0 +- openssl >=3.5.6,<4.0a0 +- python_abi 3.14.* *_cp314 +- readline >=8.3,<9.0a0 +- tk >=8.6.13,<8.7.0a0 +- tzdata +- zstd >=1.5.7,<1.6.0a0 +license: Python-2.0 +size: 36745188 +timestamp: 1779236923603 +python_site_packages_path: lib/python3.14/site-packages +- conda: https://conda.anaconda.org/conda-forge/noarch/python-dotenv-1.2.2-pyhcf101f3_0.conda +sha256: 74e417a768f59f02a242c25e7db0aa796627b5bc8c818863b57786072aeb85e5 +md5: 130584ad9f3a513cdd71b1fdc1244e9c +depends: +- python >=3.10 +license: BSD-3-Clause +license_family: BSD +size: 27848 +timestamp: 1772388605021 +- conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.14.5-h4df99d1_100.conda +sha256: 41dd7da285d71d519257fa7dacb1cae060d5ebfaa5f92cba5994899d2978e943 +md5: 41954747ba952ec4b01e16c2c9e8d8ff +depends: +- cpython 3.14.5.* +- python_abi * *_cp314 +license: Python-2.0 +size: 50212 +timestamp: 1779236703009 +- conda: https://conda.anaconda.org/conda-forge/noarch/python-kaleido-0.2.1-pyhd8ed1ab_0.tar.bz2 +sha256: e17bf63a30aec33432f1ead86e15e9febde9fc40a7f869c0e766be8d2db44170 +md5: 310259a5b03ff02289d7705f39e2b1d2 +depends: +- kaleido-core 0.2.1.* +- python >=3.5 +license: MIT +license_family: MIT +size: 18320 +timestamp: 1615204747600 +- conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda +build_number: 8 +sha256: ad6d2e9ac39751cc0529dd1566a26751a0bf2542adb0c232533d32e176e21db5 +md5: 0539938c55b6b1a59b560e843ad864a4 +constrains: +- python 3.14.* *_cp314 +license: BSD-3-Clause +license_family: BSD +size: 6989 +timestamp: 1752805904792 +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.3-py314h67df5f8_1.conda +sha256: b318fb070c7a1f89980ef124b80a0b5ccf3928143708a85e0053cde0169c699d +md5: 2035f68f96be30dc60a5dfd7452c7941 +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +- python >=3.14,<3.15.0a0 +- python_abi 3.14.* *_cp314 +- yaml >=0.2.5,<0.3.0a0 +license: MIT +license_family: MIT +size: 202391 +timestamp: 1770223462836 +- conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda +sha256: 12ffde5a6f958e285aa22c191ca01bbd3d6e710aa852e00618fa6ddc59149002 +md5: d7d95fc8287ea7bf33e0e7116d2b95ec +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +- ncurses >=6.5,<7.0a0 +license: GPL-3.0-only +license_family: GPL +size: 345073 +timestamp: 1765813471974 +- conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.37.0-pyhcf101f3_0.conda +sha256: 0577eedfb347ff94d0f2fa6c052c502989b028216996b45c7f21236f25864414 +md5: 870293df500ca7e18bedefa5838a22ab +depends: +- attrs >=22.2.0 +- python >=3.10 +- rpds-py >=0.7.0 +- typing_extensions >=4.4.0 +- python +license: MIT +license_family: MIT +size: 51788 +timestamp: 1760379115194 +- conda: https://conda.anaconda.org/conda-forge/linux-64/regex-2026.5.9-py314h5bd0f2a_0.conda +sha256: c7a4aca4977c15c82d053b06cbc676460974c1b25757cfeea8a9a2497ac911f8 +md5: 9dd235b6ac69a0198080dac39f9891aa +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +- python >=3.14,<3.15.0a0 +- python_abi 3.14.* *_cp314 +license: Apache-2.0 AND CNRI-Python +license_family: PSF +size: 413611 +timestamp: 1778374155646 +- conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.34.2-pyhcf101f3_0.conda +sha256: 1715246b19c9f85ee022933b4845f2fc14ac9184981b7b7d9b728bec8e9588da +md5: 4a85203c1d80c1059086ae860836ffb9 +depends: +- python >=3.10 +- certifi >=2023.5.7 +- charset-normalizer >=2,<4 +- idna >=2.5,<4 +- urllib3 >=1.26,<3 +- python +constrains: +- chardet >=3.0.2,<8 +license: Apache-2.0 +license_family: APACHE +size: 68709 +timestamp: 1778851103479 +- conda: https://conda.anaconda.org/conda-forge/noarch/rich-15.0.0-pyhcf101f3_0.conda +sha256: 3d6ba2c0fcdac3196ba2f0615b4104e532525ffa1335b50a2878be5ff488814a +md5: 0242025a3c804966bf71aa04eee82f66 +depends: +- markdown-it-py >=2.2.0 +- pygments >=2.13.0,<3.0.0 +- python >=3.10 +- typing_extensions >=4.0.0,<5.0.0 +- python +license: MIT +license_family: MIT +size: 208577 +timestamp: 1775991661559 +- conda: https://conda.anaconda.org/conda-forge/noarch/rich-click-1.9.7-pyh8f84b5b_0.conda +sha256: aa3fcb167321bae51998de2e94d199109c9024f25a5a063cb1c28d8f1af33436 +md5: 0c20a8ebcddb24a45da89d5e917e6cb9 +depends: +- python >=3.10 +- rich >=12 +- click >=8 +- typing-extensions >=4 +- __unix +- python +license: MIT +license_family: MIT +size: 64356 +timestamp: 1769850479089 +- conda: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-0.30.0-py314h2e6c369_0.conda +sha256: e53b0cbf3b324eaa03ca1fe1a688fdf4ab42cea9c25270b0a7307d8aaaa4f446 +md5: c1c368b5437b0d1a68f372ccf01cb133 +depends: +- python +- libgcc >=14 +- __glibc >=2.17,<3.0.a0 +- python_abi 3.14.* *_cp314 +constrains: +- __glibc >=2.17 +license: MIT +license_family: MIT +size: 376121 +timestamp: 1764543122774 +- conda: https://conda.anaconda.org/conda-forge/noarch/spectra-0.0.11-pyhd8ed1ab_2.conda +sha256: 7c65782d2511738e62c70462e89d65da4fa54d5a7e47c46667bcd27a59f81876 +md5: 472239e4eb7b5a84bb96b3ed7e3a596a +depends: +- colormath >=3.0.0 +- python >=3.9 +license: MIT +license_family: MIT +size: 22284 +timestamp: 1735770589188 +- conda: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.53.1-hbc0de68_0.conda +sha256: d167fa92781bcdcd3b9aaa6bb1cd50c5b108f6190c170098a118b5cf5df2f881 +md5: 8e0b8654ead18e50af552e54b5a08a61 +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +- libsqlite 3.53.1 h0c1763c_0 +- libzlib >=1.3.2,<2.0a0 +- ncurses >=6.6,<7.0a0 +- readline >=8.3,<9.0a0 +license: blessing +size: 205399 +timestamp: 1777986477546 +- conda: https://conda.anaconda.org/conda-forge/linux-64/tiktoken-0.12.0-py314h67fec18_3.conda +sha256: 7e395d67fd249d901beb1ae269057763c0d8c3ee5f7a348694bdb16d158a37d9 +md5: d705f9d8a1185a2b01cced191177a028 +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +- libstdcxx >=14 +- python >=3.14,<3.15.0a0 +- python_abi 3.14.* *_cp314 +- regex >=2022.1.18 +- requests >=2.26.0 +constrains: +- __glibc >=2.17 +license: MIT +license_family: MIT +size: 939648 +timestamp: 1764028306357 +- conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h366c992_103.conda +sha256: cafeec44494f842ffeca27e9c8b0c27ed714f93ac77ddadc6aaf726b5554ebac +md5: cffd3bdd58090148f4cfcd831f4b26ab +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +- libzlib >=1.3.1,<2.0a0 +constrains: +- xorg-libx11 >=1.8.12,<2.0a0 +license: TCL +license_family: BSD +size: 3301196 +timestamp: 1769460227866 +- conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.67.3-pyh8f84b5b_0.conda +sha256: 9ef8e47cf00e4d6dcc114eb32a1504cc18206300572ef14d76634ba29dfe1eb6 +md5: e5ce43272193b38c2e9037446c1d9206 +depends: +- python >=3.10 +- __unix +- python +license: MPL-2.0 and MIT +size: 94132 +timestamp: 1770153424136 +- conda: https://conda.anaconda.org/conda-forge/noarch/typeguard-4.5.2-pyhcf101f3_0.conda +sha256: 59d7851d32fddb5b510272e6557aa982edeb927d349648dac27f5bf01d18bb26 +md5: 4460f039b7dedf15f7df086446ca75ae +depends: +- typing_extensions >=4.14.0 +- python >=3.10 +- importlib-metadata >=3.6 +- python +constrains: +- pytest >=7 +license: MIT +license_family: MIT +size: 38297 +timestamp: 1778779291237 +- conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.15.0-h396c80c_0.conda +sha256: 7c2df5721c742c2a47b2c8f960e718c930031663ac1174da67c1ed5999f7938c +md5: edd329d7d3a4ab45dcf905899a7a6115 +depends: +- typing_extensions ==4.15.0 pyhcf101f3_0 +license: PSF-2.0 +license_family: PSF +size: 91383 +timestamp: 1756220668932 +- conda: https://conda.anaconda.org/conda-forge/noarch/typing-inspection-0.4.2-pyhcf101f3_2.conda +sha256: 8b90d2f19f9458b8c58a55e1fcdc1d90c1603a847a47654d8a454549413ba60a +md5: 53f5409c5cfd6c5a66417d68e3f0a864 +depends: +- python >=3.10 +- typing_extensions >=4.12.0 +- python +license: MIT +license_family: MIT +size: 20935 +timestamp: 1777105465795 +- conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda +sha256: 032271135bca55aeb156cee361c81350c6f3fb203f57d024d7e5a1fc9ef18731 +md5: 0caa1af407ecff61170c9437a808404d +depends: +- python >=3.10 +- python +license: PSF-2.0 +license_family: PSF +size: 51692 +timestamp: 1756220668932 +- conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda +sha256: 1d30098909076af33a35017eed6f2953af1c769e273a0626a04722ac4acaba3c +md5: ad659d0a2b3e47e38d829aa8cad2d610 +license: LicenseRef-Public-Domain +size: 119135 +timestamp: 1767016325805 +- conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.7.0-pyhd8ed1ab_0.conda +sha256: feff959a816f7988a0893201aa9727bbb7ee1e9cec2c4f0428269b489eb93fb4 +md5: cbb88288f74dbe6ada1c6c7d0a97223e +depends: +- backports.zstd >=1.0.0 +- brotli-python >=1.2.0 +- h2 >=4,<5 +- pysocks >=1.5.6,<2.0,!=1.5.7 +- python >=3.10 +license: MIT +license_family: MIT +size: 103560 +timestamp: 1778188657149 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.12-hb03c661_1.conda +sha256: 6bc6ab7a90a5d8ac94c7e300cc10beb0500eeba4b99822768ca2f2ef356f731b +md5: b2895afaf55bf96a8c8282a2e47a5de0 +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +license: MIT +license_family: MIT +size: 15321 +timestamp: 1762976464266 +- conda: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.5-hb03c661_1.conda +sha256: 25d255fb2eef929d21ff660a0c687d38a6d2ccfbcbf0cc6aa738b12af6e9d142 +md5: 1dafce8548e38671bea82e3f5c6ce22f +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +license: MIT +license_family: MIT +size: 20591 +timestamp: 1762976546182 +- conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h280c20c_3.conda +sha256: 6d9ea2f731e284e9316d95fa61869fe7bbba33df7929f82693c121022810f4ad +md5: a77f85f77be52ff59391544bfe73390a +depends: +- libgcc >=14 +- __glibc >=2.17,<3.0.a0 +license: MIT +license_family: MIT +size: 85189 +timestamp: 1753484064210 +- conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda +sha256: 210bd31c22bb88f5e2a167df24c95bb5f152b2ada7502f9b8c49d1f5366db423 +md5: ba3dcdc8584155c97c648ae9c044b7a3 +depends: +- python >=3.10 +- python +license: MIT +license_family: MIT +size: 24190 +timestamp: 1779159948016 +- conda: https://conda.anaconda.org/conda-forge/linux-64/zlib-ng-2.3.3-hceb46e0_1.conda +sha256: ea4e50c465d70236408cb0bfe0115609fd14db1adcd8bd30d8918e0291f8a75f +md5: 2aadb0d17215603a82a2a6b0afd9a4cb +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +- libstdcxx >=14 +license: Zlib +license_family: Other +size: 122618 +timestamp: 1770167931827 +- conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda +sha256: 68f0206ca6e98fea941e5717cec780ed2873ffabc0e1ed34428c061e2c6268c7 +md5: 4a13eeac0b5c8e5b8ab496e6c4ddd829 +depends: +- __glibc >=2.17,<3.0.a0 +- libzlib >=1.3.1,<2.0a0 +license: BSD-3-Clause +license_family: BSD +size: 601375 +timestamp: 1764777111296 diff --git a/modules/nf-core/multiqc/.conda-lock/linux_arm64-bd-5c84a5000a226ab5_1.txt b/modules/nf-core/multiqc/.conda-lock/linux_arm64-bd-5c84a5000a226ab5_1.txt new file mode 100644 index 00000000..3d5b93db --- /dev/null +++ b/modules/nf-core/multiqc/.conda-lock/linux_arm64-bd-5c84a5000a226ab5_1.txt @@ -0,0 +1,1476 @@ + +version: 6 +environments: +default: +channels: +- url: https://conda.anaconda.org/conda-forge/ +- url: https://conda.anaconda.org/bioconda/ +- url: https://conda.anaconda.org/bioconda/ +options: +pypi-prerelease-mode: if-necessary-or-explicit +packages: +linux-aarch64: +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-20_gnu.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.7.0-pyhd8ed1ab_1.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/backports.zstd-1.5.0-py314h680f03e_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/brotli-python-1.2.0-py314h352cb57_1.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/bzip2-1.0.8-h4777abc_9.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.5.20-hbd8a1cb_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.5.20-pyhd8ed1ab_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.7-pyhd8ed1ab_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/click-8.4.0-pyhc90fa1f_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/coloredlogs-15.0.1-pyhd8ed1ab_4.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/colormath-3.0.0-pyhd8ed1ab_4.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.5-py314hd8ed1ab_100.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/expat-2.8.1-hfae3067_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/fontconfig-2.18.0-hba86a56_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.1.0-pyhd8ed1ab_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/humanfriendly-10.0-pyh707e725_8.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/humanize-4.15.0-pyhd8ed1ab_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.15-pyhcf101f3_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.26.0-pyhcf101f3_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.9.1-pyhcf101f3_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/kaleido-core-0.2.1-he5a581e_0.tar.bz2 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lcms2-2.19.1-h9d5b58d_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.45.1-default_h1979696_102.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lerc-4.1.0-h52b7260_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libblas-3.11.0-7_haddc8a3_openblas.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcblas-3.11.0-7_hd72aa62_openblas.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdeflate-1.25-h1af38f5_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libexpat-2.8.1-hfae3067_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libffi-3.5.2-h376a255_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype-2.14.3-h8af1aa0_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype6-2.14.3-hdae7a39_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-15.2.0-h8acb6b2_19.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-ng-15.2.0-he9431aa_19.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran-15.2.0-he9431aa_19.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran5-15.2.0-h1b7bec0_19.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-15.2.0-h8acb6b2_19.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libjpeg-turbo-3.1.4.1-he30d5cf_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblapack-3.11.0-7_h88aeb00_openblas.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblzma-5.8.3-he30d5cf_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libmpdec-4.0.0-he30d5cf_1.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenblas-0.3.33-pthreads_h9d3fd7e_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpng-1.6.58-h1abf092_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.53.1-h022381a_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-15.2.0-hef695bb_19.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libtiff-4.7.1-hdb009f0_1.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.42.1-h1022ec0_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libwebp-base-1.6.0-ha2e29f5_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxcb-1.17.0-h262b8f6_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.2-hdc9db2a_2.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/markdown-3.10.2-pyhcf101f3_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.2.0-pyhd8ed1ab_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/markupsafe-3.0.3-py314hb76de3f_1.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/mathjax-2.7.7-h8af1aa0_3.tar.bz2 +- conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda +- conda: https://conda.anaconda.org/bioconda/noarch/multiqc-1.35-pyhdfd78af_1.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.21.2-pyhcf101f3_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/natsort-8.4.0-pyhcf101f3_2.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.6-hf8d1292_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/nspr-4.38-h3ad9384_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/nss-3.118-h544fa81_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/numpy-2.4.6-py314he1698a1_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openjpeg-2.5.4-h5da879a_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.6.2-h546c87b_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pillow-12.2.0-py314hac3e5ec_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/plotly-6.6.0-pyhd8ed1ab_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/polars-1.41.0-pyh58ad624_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/polars-runtime-32-1.41.0-py310h32c7c23_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/polars-runtime-compat-1.41.0-py310hc0e61be_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/procps-ng-4.0.6-h1779866_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pthread-stubs-0.4-h86ecc28_1002.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/pyaml-env-1.2.2-pyhd8ed1ab_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.13.4-pyhcf101f3_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pydantic-core-2.46.4-py314h451b6cc_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.14.5-hfd9ac0a_100_cp314.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/python-dotenv-1.2.2-pyhcf101f3_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.14.5-h4df99d1_100.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/python-kaleido-0.2.1-pyhd8ed1ab_0.tar.bz2 +- conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pyyaml-6.0.3-py314h807365f_1.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/readline-8.3-hb682ff5_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.37.0-pyhcf101f3_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/regex-2026.5.9-py314h51f160d_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.34.2-pyhcf101f3_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/rich-15.0.0-pyhcf101f3_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/rich-click-1.9.7-pyh8f84b5b_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/rpds-py-0.30.0-py314h02b7a91_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/spectra-0.0.11-pyhd8ed1ab_2.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sqlite-3.53.1-he8854b5_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tiktoken-0.12.0-py314h6a36e60_3.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tk-8.6.13-noxft_h0dc03b3_103.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.67.3-pyh8f84b5b_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/typeguard-4.5.2-pyhcf101f3_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.15.0-h396c80c_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/typing-inspection-0.4.2-pyhcf101f3_2.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.7.0-pyhd8ed1ab_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxau-1.0.12-he30d5cf_1.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxdmcp-1.1.5-he30d5cf_1.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/yaml-0.2.5-h80f16a2_3.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zlib-ng-2.3.3-ha7cb516_1.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.7-h85ac4a6_6.conda +packages: +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-20_gnu.conda +build_number: 20 +sha256: a2527b1d81792a0ccd2c05850960df119c2b6d8f5fdec97f2db7d25dc23b1068 +md5: 468fd3bb9e1f671d36c2cbc677e56f1d +depends: +- libgomp >=7.5.0 +constrains: +- openmp_impl <0.0a0 +license: BSD-3-Clause +license_family: BSD +size: 28926 +timestamp: 1770939656741 +- conda: https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda +sha256: a3967b937b9abf0f2a99f3173fa4630293979bd1644709d89580e7c62a544661 +md5: aaa2a381ccc56eac91d63b6c1240312f +depends: +- cpython +- python-gil +license: MIT +license_family: MIT +size: 8191 +timestamp: 1744137672556 +- conda: https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.7.0-pyhd8ed1ab_1.conda +sha256: e0ea1ba78fbb64f17062601edda82097fcf815012cf52bb704150a2668110d48 +md5: 2934f256a8acfe48f6ebb4fce6cde29c +depends: +- python >=3.9 +- typing-extensions >=4.0.0 +license: MIT +license_family: MIT +size: 18074 +timestamp: 1733247158254 +- conda: https://conda.anaconda.org/conda-forge/noarch/attrs-26.1.0-pyhcf101f3_0.conda +sha256: 1b6124230bb4e571b1b9401537ecff575b7b109cc3a21ee019f65e083b8399ab +md5: c6b0543676ecb1fb2d7643941fe375f2 +depends: +- python >=3.10 +- python +license: MIT +license_family: MIT +size: 64927 +timestamp: 1773935801332 +- conda: https://conda.anaconda.org/conda-forge/noarch/backports.zstd-1.5.0-py314h680f03e_0.conda +noarch: generic +sha256: a1c97297e867776760489537bc5ae36fa83a154be30e3b79385a39ca4cb058fe +md5: 1133126d840e75287d83947be3fc3e71 +depends: +- python >=3.14 +license: BSD-3-Clause AND MIT AND EPL-2.0 +size: 7533 +timestamp: 1778594057496 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/brotli-python-1.2.0-py314h352cb57_1.conda +sha256: 5a5b0cdcd7ed89c6a8fb830924967f6314a2b71944bc1ebc2c105781ba97aa75 +md5: a1b5c571a0923a205d663d8678df4792 +depends: +- libgcc >=14 +- libstdcxx >=14 +- python >=3.14,<3.15.0a0 +- python >=3.14,<3.15.0a0 *_cp314 +- python_abi 3.14.* *_cp314 +constrains: +- libbrotlicommon 1.2.0 he30d5cf_1 +license: MIT +license_family: MIT +size: 373193 +timestamp: 1764017486851 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/bzip2-1.0.8-h4777abc_9.conda +sha256: b3495077889dde6bb370938e7db82be545c73e8589696ad0843a32221520ad4c +md5: 840d8fc0d7b3209be93080bc20e07f2d +depends: +- libgcc >=14 +license: bzip2-1.0.6 +license_family: BSD +size: 192412 +timestamp: 1771350241232 +- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.5.20-hbd8a1cb_0.conda +sha256: 9812a303a1395e1dafbd92e5bc8a1ff6013bcbba0a09c7f03a8d23e43560aa9b +md5: 489b8e97e666c93f68fdb35c3c9b957f +depends: +- __unix +license: ISC +size: 129868 +timestamp: 1779289852439 +- conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.5.20-pyhd8ed1ab_0.conda +sha256: 645655a3510e38e625da136595f3f16f2130c3263630cc3bc8f60f619ddbe490 +md5: 9fefff2f745ea1cc2ef15211a20c054a +depends: +- python >=3.10 +license: ISC +size: 134201 +timestamp: 1779285131141 +- conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.7-pyhd8ed1ab_0.conda +sha256: 3f9483d62ce24ecd063f8a5a714448445dc8d9e201147c46699fc0033e824457 +md5: a9167b9571f3baa9d448faa2139d1089 +depends: +- python >=3.10 +license: MIT +license_family: MIT +size: 58872 +timestamp: 1775127203018 +- conda: https://conda.anaconda.org/conda-forge/noarch/click-8.4.0-pyhc90fa1f_0.conda +sha256: 99ab8ef815c4520cce3a7482c2513f377c14348206857661d84c76a55e030f97 +md5: 003767c47f1f0a474c4de268b57839c3 +depends: +- __unix +- python +- python >=3.10 +license: BSD-3-Clause +license_family: BSD +size: 104631 +timestamp: 1779108494556 +- conda: https://conda.anaconda.org/conda-forge/noarch/coloredlogs-15.0.1-pyhd8ed1ab_4.conda +sha256: 8021c76eeadbdd5784b881b165242db9449783e12ce26d6234060026fd6a8680 +md5: b866ff7007b934d564961066c8195983 +depends: +- humanfriendly >=9.1 +- python >=3.9 +license: MIT +license_family: MIT +size: 43758 +timestamp: 1733928076798 +- conda: https://conda.anaconda.org/conda-forge/noarch/colormath-3.0.0-pyhd8ed1ab_4.conda +sha256: 59c9e29800b483b390467f90e82b0da3a4fbf0612efe1c90813fca232780e160 +md5: 071cf7b0ce333c81718b054066c15102 +depends: +- networkx >=2.0 +- numpy +- python >=3.9 +license: BSD-3-Clause +license_family: BSD +size: 39326 +timestamp: 1735759976140 +- conda: https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.5-py314hd8ed1ab_100.conda +noarch: generic +sha256: 777882d2685f368417f31bbe1b28f73687fc6c8f6a5768bda20ffeefa6b07f5b +md5: a749029ce5d0632a913db19d17f944ab +depends: +- python >=3.14,<3.15.0a0 +- python_abi * *_cp314 +license: Python-2.0 +size: 50212 +timestamp: 1779236682725 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/expat-2.8.1-hfae3067_0.conda +sha256: a9cd5eb1700e11cc39acc36630a2d72a4e317943bd7c5695cd8804419f04ff42 +md5: 89f0247b3cea528d8ad1a6664a313153 +depends: +- libexpat 2.8.1 hfae3067_0 +- libgcc >=14 +license: MIT +license_family: MIT +size: 140114 +timestamp: 1779278679081 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2 +sha256: 58d7f40d2940dd0a8aa28651239adbf5613254df0f75789919c4e6762054403b +md5: 0c96522c6bdaed4b1566d11387caaf45 +license: BSD-3-Clause +license_family: BSD +size: 397370 +timestamp: 1566932522327 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2 +sha256: c52a29fdac682c20d252facc50f01e7c2e7ceac52aa9817aaf0bb83f7559ec5c +md5: 34893075a5c9e55cdafac56607368fc6 +license: OFL-1.1 +license_family: Other +size: 96530 +timestamp: 1620479909603 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2 +sha256: 00925c8c055a2275614b4d983e1df637245e19058d79fc7dd1a93b8d9fb4b139 +md5: 4d59c254e01d9cde7957100457e2d5fb +license: OFL-1.1 +license_family: Other +size: 700814 +timestamp: 1620479612257 +- conda: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_3.conda +sha256: 2821ec1dc454bd8b9a31d0ed22a7ce22422c0aef163c59f49dfdf915d0f0ca14 +md5: 49023d73832ef61042f6a237cb2687e7 +license: LicenseRef-Ubuntu-Font-Licence-Version-1.0 +license_family: Other +size: 1620504 +timestamp: 1727511233259 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/fontconfig-2.18.0-hba86a56_0.conda +sha256: 1805f4ab3d9e1734a5a17abccc2cb0fdade51d4d5f29bdc410600ea0115ec050 +md5: b660d59a9d0fb3297327418624acaec3 +depends: +- libexpat >=2.8.1,<3.0a0 +- libfreetype >=2.14.3 +- libfreetype6 >=2.14.3 +- libgcc >=14 +- libuuid >=2.42.1,<3.0a0 +- libzlib >=1.3.2,<2.0a0 +license: MIT +license_family: MIT +size: 293348 +timestamp: 1779421661332 +- conda: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-hc364b38_1.conda +sha256: 54eea8469786bc2291cc40bca5f46438d3e062a399e8f53f013b6a9f50e98333 +md5: a7970cd949a077b7cb9696379d338681 +depends: +- font-ttf-ubuntu +- font-ttf-inconsolata +- font-ttf-dejavu-sans-mono +- font-ttf-source-code-pro +license: BSD-3-Clause +license_family: BSD +size: 4059 +timestamp: 1762351264405 +- conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda +sha256: 84c64443368f84b600bfecc529a1194a3b14c3656ee2e832d15a20e0329b6da3 +md5: 164fc43f0b53b6e3a7bc7dce5e4f1dc9 +depends: +- python >=3.10 +- hyperframe >=6.1,<7 +- hpack >=4.1,<5 +- python +license: MIT +license_family: MIT +size: 95967 +timestamp: 1756364871835 +- conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.1.0-pyhd8ed1ab_0.conda +sha256: 6ad78a180576c706aabeb5b4c8ceb97c0cb25f1e112d76495bff23e3779948ba +md5: 0a802cb9888dd14eeefc611f05c40b6e +depends: +- python >=3.9 +license: MIT +license_family: MIT +size: 30731 +timestamp: 1737618390337 +- conda: https://conda.anaconda.org/conda-forge/noarch/humanfriendly-10.0-pyh707e725_8.conda +sha256: fa2071da7fab758c669e78227e6094f6b3608228740808a6de5d6bce83d9e52d +md5: 7fe569c10905402ed47024fc481bb371 +depends: +- __unix +- python >=3.9 +license: MIT +license_family: MIT +size: 73563 +timestamp: 1733928021866 +- conda: https://conda.anaconda.org/conda-forge/noarch/humanize-4.15.0-pyhd8ed1ab_0.conda +sha256: 6c4343b376d0b12a4c75ab992640970d36c933cad1fd924f6a1181fa91710e80 +md5: daddf757c3ecd6067b9af1df1f25d89e +depends: +- python >=3.10 +license: MIT +license_family: MIT +size: 67994 +timestamp: 1766267728652 +- conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda +sha256: 77af6f5fe8b62ca07d09ac60127a30d9069fdc3c68d6b256754d0ffb1f7779f8 +md5: 8e6923fc12f1fe8f8c4e5c9f343256ac +depends: +- python >=3.9 +license: MIT +license_family: MIT +size: 17397 +timestamp: 1737618427549 +- conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.15-pyhcf101f3_0.conda +sha256: 3d25f9f6f7ab3e1ce6429fc8c8aae0335cf446692e715068488536d220cc43de +md5: 1b9083b7f00609605d1483dbc6071a81 +depends: +- python >=3.10 +- python +license: BSD-3-Clause +license_family: BSD +size: 62642 +timestamp: 1779294335905 +- conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-9.0.0-pyhcf101f3_0.conda +sha256: 43e2a5497cad1598ff88a3e69f69bc88b7b8f141fa63c60eab5db296317318b8 +md5: ffc17e785d64e12fc311af9184221839 +depends: +- python >=3.10 +- zipp >=3.20 +- python +license: Apache-2.0 +size: 34766 +timestamp: 1779714582554 +- conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda +sha256: fc9ca7348a4f25fed2079f2153ecdcf5f9cf2a0bc36c4172420ca09e1849df7b +md5: 04558c96691bed63104678757beb4f8d +depends: +- markupsafe >=2.0 +- python >=3.10 +- python +license: BSD-3-Clause +license_family: BSD +size: 120685 +timestamp: 1764517220861 +- conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.26.0-pyhcf101f3_0.conda +sha256: db973a37d75db8e19b5f44bbbdaead0c68dde745407f281e2a7fe4db74ec51d7 +md5: ada41c863af263cc4c5fcbaff7c3e4dc +depends: +- attrs >=22.2.0 +- jsonschema-specifications >=2023.3.6 +- python >=3.10 +- referencing >=0.28.4 +- rpds-py >=0.25.0 +- python +license: MIT +license_family: MIT +size: 82356 +timestamp: 1767839954256 +- conda: https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.9.1-pyhcf101f3_0.conda +sha256: 0a4f3b132f0faca10c89fdf3b60e15abb62ded6fa80aebfc007d05965192aa04 +md5: 439cd0f567d697b20a8f45cb70a1005a +depends: +- python >=3.10 +- referencing >=0.31.0 +- python +license: MIT +license_family: MIT +size: 19236 +timestamp: 1757335715225 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/kaleido-core-0.2.1-he5a581e_0.tar.bz2 +sha256: d3c7f4797566e6f983d16c2a87063a18e4b2d819a66230190a21584d70042755 +md5: 4f0d284f5d11e04277b552eb1c172c7f +depends: +- __glibc >=2.17,<3.0.a0 +- expat >=2.2.10,<3.0.0a0 +- fontconfig +- fonts-conda-forge +- libgcc-ng >=9.3.0 +- mathjax 2.7.* +- nspr >=4.29,<5.0a0 +- nss >=3.62,<4.0a0 +- sqlite >=3.34.0,<4.0a0 +license: MIT +license_family: MIT +size: 65750397 +timestamp: 1615199465742 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lcms2-2.19.1-h9d5b58d_0.conda +sha256: 1e5f68e4b36a0e1a278c6dc026bc3d7775518a15832cbc9d7fc1c0e4c47784b1 +md5: b1f8bee3c53a6d2c103fb4a1ae44f5c4 +depends: +- libgcc >=14 +- libjpeg-turbo >=3.1.4.1,<4.0a0 +- libtiff >=4.7.1,<4.8.0a0 +license: MIT +license_family: MIT +size: 296899 +timestamp: 1778079402392 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.45.1-default_h1979696_102.conda +sha256: 7abd913d81a9bf00abb699e8987966baa2065f5132e37e815f92d90fc6bba530 +md5: a21644fc4a83da26452a718dc9468d5f +depends: +- zstd >=1.5.7,<1.6.0a0 +constrains: +- binutils_impl_linux-aarch64 2.45.1 +license: GPL-3.0-only +license_family: GPL +size: 875596 +timestamp: 1774197520746 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/lerc-4.1.0-h52b7260_0.conda +sha256: 8957fd460c1c132c8031f65fd5f56ec3807fd71b7cab2c5e2b0937b13404ab36 +md5: d13423b06447113a90b5b1366d4da171 +depends: +- libgcc >=14 +- libstdcxx >=14 +license: Apache-2.0 +license_family: Apache +size: 240444 +timestamp: 1773114901155 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libblas-3.11.0-7_haddc8a3_openblas.conda +build_number: 7 +sha256: f27ba323c2f1e1731b5e880fe520f178f55047f25be94f77e649605b2343c066 +md5: e8d07b777f6ff1fab69665336561910b +depends: +- libopenblas >=0.3.33,<0.3.34.0a0 +- libopenblas >=0.3.33,<1.0a0 +constrains: +- liblapack 3.11.0 7*_openblas +- libcblas 3.11.0 7*_openblas +- mkl <2027 +- blas 2.307 openblas +- liblapacke 3.11.0 7*_openblas +license: BSD-3-Clause +license_family: BSD +size: 18696 +timestamp: 1778489796402 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcblas-3.11.0-7_hd72aa62_openblas.conda +build_number: 7 +sha256: c8f0192362966df0828419f042d6f94c079e5df00ad6bd05b5e84c12b42f8cc7 +md5: 90ac57b82c055faa9be25031864b7d8f +depends: +- libblas 3.11.0 7_haddc8a3_openblas +constrains: +- liblapack 3.11.0 7*_openblas +- blas 2.307 openblas +- liblapacke 3.11.0 7*_openblas +license: BSD-3-Clause +license_family: BSD +size: 18664 +timestamp: 1778489802790 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdeflate-1.25-h1af38f5_0.conda +sha256: 48814b73bd462da6eed2e697e30c060ae16af21e9fbed30d64feaf0aad9da392 +md5: a9138815598fe6b91a1d6782ca657b0c +depends: +- libgcc >=14 +license: MIT +license_family: MIT +size: 71117 +timestamp: 1761979776756 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libexpat-2.8.1-hfae3067_0.conda +sha256: 1fc392b997c6ee2bd3226a7cd870d0edbcbb367e25f9f18dd4a7025fced6efc0 +md5: 513dd884361dfb8a554298ed69b58823 +depends: +- libgcc >=14 +constrains: +- expat 2.8.1.* +license: MIT +license_family: MIT +size: 77140 +timestamp: 1779278671302 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libffi-3.5.2-h376a255_0.conda +sha256: 3df4c539449aabc3443bbe8c492c01d401eea894603087fca2917aa4e1c2dea9 +md5: 2f364feefb6a7c00423e80dcb12db62a +depends: +- libgcc >=14 +license: MIT +license_family: MIT +size: 55952 +timestamp: 1769456078358 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype-2.14.3-h8af1aa0_0.conda +sha256: 752e4f66283d7deb4c6fd47d88df644d8daa2aaa825a54f3bf350a625190192a +md5: a229e22d4d8814a07702b0919d8e6701 +depends: +- libfreetype6 >=2.14.3 +license: GPL-2.0-only OR FTL +size: 8125 +timestamp: 1774301094057 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libfreetype6-2.14.3-hdae7a39_0.conda +sha256: 8e6b27fe4eec4c2fa7b7769a21973734c8dba1de80086fb0213e58375ac09f4c +md5: b99ed99e42dafb27889483b3098cace7 +depends: +- libgcc >=14 +- libpng >=1.6.55,<1.7.0a0 +- libzlib >=1.3.2,<2.0a0 +constrains: +- freetype >=2.14.3 +license: GPL-2.0-only OR FTL +size: 422941 +timestamp: 1774301093473 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-15.2.0-h8acb6b2_19.conda +sha256: 4592b096e553f67799ae70d4b6167eeda3ec74587d68c7aecbf4e7b1df136681 +md5: f35b3f52d0a2ec4ffe3c89ba135cdb9a +depends: +- _openmp_mutex >=4.5 +constrains: +- libgomp 15.2.0 h8acb6b2_19 +- libgcc-ng ==15.2.0=*_19 +license: GPL-3.0-only WITH GCC-exception-3.1 +license_family: GPL +size: 622462 +timestamp: 1778268755949 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-ng-15.2.0-he9431aa_19.conda +sha256: 1137f93f477f56199ded24117430045a0c02cbe8b10031beac3b9ad2138539d3 +md5: 770cf892e5530f43e63cadc673e85653 +depends: +- libgcc 15.2.0 h8acb6b2_19 +license: GPL-3.0-only WITH GCC-exception-3.1 +license_family: GPL +size: 27738 +timestamp: 1778268759211 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran-15.2.0-he9431aa_19.conda +sha256: e5ad94be72634233510b33ba792a3339921bd468f0b8bc6961ea05eded251d9b +md5: c7a5b5decf969ead5ecada83654164cf +depends: +- libgfortran5 15.2.0 h1b7bec0_19 +constrains: +- libgfortran-ng ==15.2.0=*_19 +license: GPL-3.0-only WITH GCC-exception-3.1 +license_family: GPL +size: 27728 +timestamp: 1778268784621 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgfortran5-15.2.0-h1b7bec0_19.conda +sha256: af8e9bdcaa77f133a8ee4c1ef57ef564d9c45aa262abf9f5ef9b50eb99d96407 +md5: 779dbb494de6d3d6477cab52eb34285a +depends: +- libgcc >=15.2.0 +constrains: +- libgfortran 15.2.0 +license: GPL-3.0-only WITH GCC-exception-3.1 +license_family: GPL +size: 1487244 +timestamp: 1778268767295 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-15.2.0-h8acb6b2_19.conda +sha256: 2370ef0ffcbae5bede3c4bf136add4abc257245eb91f724c99bb4a43116c5a83 +md5: c5e8a379c4a2ec2aea4ba22758c001d9 +license: GPL-3.0-only WITH GCC-exception-3.1 +license_family: GPL +size: 587387 +timestamp: 1778268674393 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libjpeg-turbo-3.1.4.1-he30d5cf_0.conda +sha256: e97ec2af5f09f8f6ea8ecd550055c95ae80fae22015fcfadaa94eafe025c9ccc +md5: a85ba48648f6868016f2741fd9170250 +depends: +- libgcc >=14 +constrains: +- jpeg <0.0.0a +license: IJG AND BSD-3-Clause AND Zlib +size: 693143 +timestamp: 1775962625956 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblapack-3.11.0-7_h88aeb00_openblas.conda +build_number: 7 +sha256: 20b38a0156200ac65f597bf0a93914c565435f2cc58b1042581854231a99ac35 +md5: 5899cbd743cc74fd655c1ed2af7120f3 +depends: +- libblas 3.11.0 7_haddc8a3_openblas +constrains: +- libcblas 3.11.0 7*_openblas +- blas 2.307 openblas +- liblapacke 3.11.0 7*_openblas +license: BSD-3-Clause +license_family: BSD +size: 18685 +timestamp: 1778489809140 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblzma-5.8.3-he30d5cf_0.conda +sha256: d61962b9cd54c3554361550203c64d5b65b71e3058a285b66e4b04b9769f0a5c +md5: 76298a9e6d71ee6e832a8d0d7373b261 +depends: +- libgcc >=14 +constrains: +- xz 5.8.3.* +license: 0BSD +size: 126102 +timestamp: 1775828008518 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libmpdec-4.0.0-he30d5cf_1.conda +sha256: 57c0dd12d506e84541c4e877898bd2a59cca141df493d34036f18b2751e0a453 +md5: 7b9813e885482e3ccb1fa212b86d7fd0 +depends: +- libgcc >=14 +license: BSD-2-Clause +license_family: BSD +size: 114056 +timestamp: 1769482343003 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libopenblas-0.3.33-pthreads_h9d3fd7e_0.conda +sha256: b018ecfb05e75a8eea3f21f6b5c5c2a54b5178bdcf19e2e2df2735740214a8c8 +md5: 58a66cd95e9692f08abe89f55a6f3f12 +depends: +- libgcc >=14 +- libgfortran +- libgfortran5 >=14.3.0 +constrains: +- openblas >=0.3.33,<0.3.34.0a0 +license: BSD-3-Clause +license_family: BSD +size: 5121336 +timestamp: 1776993423004 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpng-1.6.58-h1abf092_0.conda +sha256: 483eaa53da40a6a3e558709d9f7b1ca388735364ae21a1ba58cf942514649c92 +md5: f51503ac45a4888bce71af9027a2ecc9 +depends: +- libgcc >=14 +- libzlib >=1.3.2,<2.0a0 +license: zlib-acknowledgement +size: 341202 +timestamp: 1776315188425 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.53.1-h022381a_0.conda +sha256: ad03b7d8e4d08001f0df88ee7a56108bb35bae4795a42b9a04cc1abfa822bd07 +md5: 2ec1119217d8f0d086e9a62f3cb0e5ea +depends: +- libgcc >=14 +- libzlib >=1.3.2,<2.0a0 +license: blessing +size: 955361 +timestamp: 1777986487553 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-15.2.0-hef695bb_19.conda +sha256: 1dadc45e599f510dd5f97141dddcdbb9844d9f1430c1f3a38075cf1c58f87b4e +md5: 543fbc8d71f2a0baf04cf88ce96cb8bb +depends: +- libgcc 15.2.0 h8acb6b2_19 +constrains: +- libstdcxx-ng ==15.2.0=*_19 +license: GPL-3.0-only WITH GCC-exception-3.1 +license_family: GPL +size: 5546559 +timestamp: 1778268777463 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libtiff-4.7.1-hdb009f0_1.conda +sha256: 7ff79470db39e803e21b8185bc8f19c460666d5557b1378d1b1e857d929c6b39 +md5: 8c6fd84f9c87ac00636007c6131e457d +depends: +- lerc >=4.0.0,<5.0a0 +- libdeflate >=1.25,<1.26.0a0 +- libgcc >=14 +- libjpeg-turbo >=3.1.0,<4.0a0 +- liblzma >=5.8.1,<6.0a0 +- libstdcxx >=14 +- libwebp-base >=1.6.0,<2.0a0 +- libzlib >=1.3.1,<2.0a0 +- zstd >=1.5.7,<1.6.0a0 +license: HPND +size: 488407 +timestamp: 1762022048105 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.42.1-h1022ec0_0.conda +sha256: 1628839b062e98b2192857d4da8496ac9ac6b0dbb77aa040c34efc9192c440ee +md5: 0f42f9fedd2a32d798de95a7f65c456f +depends: +- libgcc >=14 +license: BSD-3-Clause +license_family: BSD +size: 43453 +timestamp: 1779118526838 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libwebp-base-1.6.0-ha2e29f5_0.conda +sha256: b03700a1f741554e8e5712f9b06dd67e76f5301292958cd3cb1ac8c6fdd9ed25 +md5: 24e92d0942c799db387f5c9d7b81f1af +depends: +- libgcc >=14 +constrains: +- libwebp 1.6.0 +license: BSD-3-Clause +license_family: BSD +size: 359496 +timestamp: 1752160685488 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libxcb-1.17.0-h262b8f6_0.conda +sha256: 461cab3d5650ac6db73a367de5c8eca50363966e862dcf60181d693236b1ae7b +md5: cd14ee5cca2464a425b1dbfc24d90db2 +depends: +- libgcc >=13 +- pthread-stubs +- xorg-libxau >=1.0.11,<2.0a0 +- xorg-libxdmcp +license: MIT +license_family: MIT +size: 397493 +timestamp: 1727280745441 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.2-hdc9db2a_2.conda +sha256: eb111e32e5a7313a5bf799c7fb2419051fa2fe7eff74769fac8d5a448b309f7f +md5: 502006882cf5461adced436e410046d1 +constrains: +- zlib 1.3.2 *_2 +license: Zlib +license_family: Other +size: 69833 +timestamp: 1774072605429 +- conda: https://conda.anaconda.org/conda-forge/noarch/markdown-3.10.2-pyhcf101f3_0.conda +sha256: 20e0892592a3e7c683e3d66df704a9425d731486a97c34fc56af4da1106b2b6b +md5: ba0a9221ce1063f31692c07370d062f3 +depends: +- importlib-metadata >=4.4 +- python >=3.10 +- python +license: BSD-3-Clause +license_family: BSD +size: 85893 +timestamp: 1770694658918 +- conda: https://conda.anaconda.org/conda-forge/noarch/markdown-it-py-4.2.0-pyhd8ed1ab_0.conda +sha256: 0c4c35376fe920714390d46e4b8d31c876d65f18e1655899e0763ec25f2a902f +md5: 6d03368f2b2b0a5fb6839df53b2eb5e0 +depends: +- mdurl >=0.1,<1 +- python >=3.10 +license: MIT +license_family: MIT +size: 69017 +timestamp: 1778169663339 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/markupsafe-3.0.3-py314hb76de3f_1.conda +sha256: 383c188496d13a55658c06e61e7d4cdff2c9f9d5a0648769fca8250bece7e0ef +md5: e5de3c36dd548b35ff2a8aa49208dcb3 +depends: +- libgcc >=14 +- python >=3.14,<3.15.0a0 +- python_abi 3.14.* *_cp314 +constrains: +- jinja2 >=3.0.0 +license: BSD-3-Clause +license_family: BSD +size: 27913 +timestamp: 1772446407659 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/mathjax-2.7.7-h8af1aa0_3.tar.bz2 +sha256: 8fd4c79d6eda3d4cba73783114305a53a154ada4d1e334d4e02cb3521429599b +md5: 7b08314a6867a9d5648a1c3265e9eb8e +license: Apache-2.0 +license_family: Apache +size: 22257008 +timestamp: 1662784555011 +- conda: https://conda.anaconda.org/conda-forge/noarch/mdurl-0.1.2-pyhd8ed1ab_1.conda +sha256: 78c1bbe1723449c52b7a9df1af2ee5f005209f67e40b6e1d3c7619127c43b1c7 +md5: 592132998493b3ff25fd7479396e8351 +depends: +- python >=3.9 +license: MIT +license_family: MIT +size: 14465 +timestamp: 1733255681319 +- conda: https://conda.anaconda.org/bioconda/noarch/multiqc-1.35-pyhdfd78af_1.conda +sha256: e86033aa55a9e915e2d0957e770bdb81e3feb26a227d1adb17f9d6c528da6a71 +md5: cdb20309681ba3ce8f52c110e214d4f3 +depends: +- click +- coloredlogs +- humanize +- importlib-metadata +- jinja2 >=3.0.0 +- jsonschema +- markdown +- natsort +- numpy +- packaging +- pillow >=10.2.0 +- plotly >=5.18 +- polars >=1.34.0 +- polars-runtime-compat >=1.34.0 +- pyaml-env +- pydantic >=2.7.1 +- python >=3.9,!=3.14.1 +- python-dotenv +- python-kaleido 0.2.1 +- pyyaml >=4 +- requests +- rich >=10 +- rich-click +- spectra >=0.0.10 +- tiktoken +- tqdm +- typeguard >=4 +license: GPL-3.0-or-later +license_family: GPL3 +size: 4282188 +timestamp: 1779465338806 +- conda: https://conda.anaconda.org/conda-forge/noarch/narwhals-2.21.2-pyhcf101f3_0.conda +sha256: 70f43d62450927d51673eecd8823e14f5b3cfebdb43cda1d502eba97162bab42 +md5: 6687827c332121727ce383919e1ec8c2 +depends: +- python >=3.10 +- python +license: MIT +license_family: MIT +size: 284323 +timestamp: 1778929680962 +- conda: https://conda.anaconda.org/conda-forge/noarch/natsort-8.4.0-pyhcf101f3_2.conda +sha256: aeb1548eb72e4f198e72f19d242fb695b35add2ac7b2c00e0d83687052867680 +md5: e941e85e273121222580723010bd4fa2 +depends: +- python >=3.9 +- python +license: MIT +license_family: MIT +size: 39262 +timestamp: 1770905275632 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.6-hf8d1292_0.conda +sha256: 369db85c5cd8d99dde364ce70725d76511d9c8199e5b820c740414091bf5bcca +md5: b2a43456aa56fe80c2477a5094899eff +depends: +- libgcc >=14 +license: X11 AND BSD-3-Clause +size: 960036 +timestamp: 1777422174534 +- conda: https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda +sha256: f6a82172afc50e54741f6f84527ef10424326611503c64e359e25a19a8e4c1c6 +md5: a2c1eeadae7a309daed9d62c96012a2b +depends: +- python >=3.11 +- python +constrains: +- numpy >=1.25 +- scipy >=1.11.2 +- matplotlib-base >=3.8 +- pandas >=2.0 +license: BSD-3-Clause +license_family: BSD +size: 1587439 +timestamp: 1765215107045 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/nspr-4.38-h3ad9384_0.conda +sha256: 78a06e89285fef242e272998b292c1e621e3ee3dd4fba62ec014e503c7ec118f +md5: 6dd4f07147774bf720075a210f8026b9 +depends: +- libgcc >=14 +- libstdcxx >=14 +license: MPL-2.0 +license_family: MOZILLA +size: 235140 +timestamp: 1762350120355 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/nss-3.118-h544fa81_0.conda +sha256: 48942696889367ffd448f8dccfc080fb7e130b9938a4a3b6b20ef8e6af856463 +md5: 4540f9570d12db2150f42ba036154552 +depends: +- libgcc >=14 +- libsqlite >=3.51.0,<4.0a0 +- libstdcxx >=14 +- libzlib >=1.3.1,<2.0a0 +- nspr >=4.38,<5.0a0 +license: MPL-2.0 +license_family: MOZILLA +size: 2061869 +timestamp: 1763490303490 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/numpy-2.4.6-py314he1698a1_0.conda +sha256: 04af718b911f8a3a0095481c7e283aa081a175fe626eccbc2c5644bcb2aba9a1 +md5: 8b173772deea177b45d2a133b509b3f7 +depends: +- python +- libstdcxx >=14 +- libgcc >=14 +- python_abi 3.14.* *_cp314 +- libblas >=3.9.0,<4.0a0 +- liblapack >=3.9.0,<4.0a0 +- libcblas >=3.9.0,<4.0a0 +constrains: +- numpy-base <0a0 +license: BSD-3-Clause +license_family: BSD +size: 8002900 +timestamp: 1779169206742 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openjpeg-2.5.4-h5da879a_0.conda +sha256: bd1bc8bdde5e6c5cbac42d462b939694e40b59be6d0698f668515908640c77b8 +md5: cea962410e327262346d48d01f05936c +depends: +- libgcc >=14 +- libpng >=1.6.50,<1.7.0a0 +- libstdcxx >=14 +- libtiff >=4.7.1,<4.8.0a0 +- libzlib >=1.3.1,<2.0a0 +license: BSD-2-Clause +license_family: BSD +size: 392636 +timestamp: 1758489353577 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.6.2-h546c87b_0.conda +sha256: 348cb74c1530ac241215d047ef65d134cf797af935c97a68655319362b7e6a01 +md5: 3b129669089e4d6a5c6871dbb4669b99 +depends: +- ca-certificates +- libgcc >=14 +license: Apache-2.0 +license_family: Apache +size: 3706406 +timestamp: 1775589602258 +- conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.2-pyhc364b38_0.conda +sha256: 3906abfb6511a3bb309e39b9b1b7bc38f50a723971de2395489fd1f379255890 +md5: 4c06a92e74452cfa53623a81592e8934 +depends: +- python >=3.8 +- python +license: Apache-2.0 +license_family: APACHE +size: 91574 +timestamp: 1777103621679 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pillow-12.2.0-py314hac3e5ec_0.conda +sha256: 96b26c2657275ffe84ab510edf0865e21999d791485d12794edd4a71b837beb6 +md5: 87d58d103b47c4a8567b3d7666647684 +depends: +- python +- libgcc >=14 +- python 3.14.* *_cp314 +- openjpeg >=2.5.4,<3.0a0 +- libxcb >=1.17.0,<2.0a0 +- libwebp-base >=1.6.0,<2.0a0 +- zlib-ng >=2.3.3,<2.4.0a0 +- python_abi 3.14.* *_cp314 +- lcms2 >=2.18,<3.0a0 +- tk >=8.6.13,<8.7.0a0 +- libtiff >=4.7.1,<4.8.0a0 +- libjpeg-turbo >=3.1.2,<4.0a0 +- libfreetype >=2.14.3 +- libfreetype6 >=2.14.3 +license: HPND +size: 1062080 +timestamp: 1775060067775 +- conda: https://conda.anaconda.org/conda-forge/noarch/plotly-6.6.0-pyhd8ed1ab_0.conda +sha256: c418d325359fc7a0074cea7f081ef1bce26e114d2da8a0154c5d27ecc87a08e7 +md5: 3e9427ee186846052e81fadde8ebe96a +depends: +- narwhals >=1.15.1 +- packaging +- python >=3.10 +constrains: +- ipywidgets >=7.6 +license: MIT +license_family: MIT +size: 5251872 +timestamp: 1772628857717 +- conda: https://conda.anaconda.org/conda-forge/noarch/polars-1.41.0-pyh58ad624_0.conda +sha256: 70fc56877c4a095ee658d61924d8019768fbae4a48437058d181fc94b0a7c4d8 +md5: 25a883fed9f1f3f21ff317a3e7c92ac4 +depends: +- polars-runtime-32 ==1.41.0 +- python >=3.10 +- python +constrains: +- numpy >=1.16.0 +- pyarrow >=7.0.0 +- fastexcel >=0.9 +- openpyxl >=3.0.0 +- xlsx2csv >=0.8.0 +- connectorx >=0.3.2 +- deltalake >=1.0.0 +- pyiceberg >=0.7.1 +- altair >=5.4.0 +- great_tables >=0.8.0 +- polars-runtime-32 ==1.41.0 +- polars-runtime-64 ==1.41.0 +- polars-runtime-compat ==1.41.0 +license: MIT +size: 539656 +timestamp: 1779630790562 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/polars-runtime-32-1.41.0-py310h32c7c23_0.conda +noarch: python +sha256: d903b774ec09189e164207328aac157eee82fed8cc5c9ace46aeb5d1c15cb5b3 +md5: 8c08c506ed1ea8ce0ca37af5e918c58d +depends: +- python +- libgcc >=14 +- libstdcxx >=14 +- _python_abi3_support 1.* +- cpython >=3.10 +constrains: +- __glibc >=2.17 +license: MIT +size: 38704429 +timestamp: 1779630794932 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/polars-runtime-compat-1.41.0-py310hc0e61be_0.conda +noarch: python +sha256: 101696adff43a654146376c62ef9611bf7946b95fa46f604fe247d77eefc6267 +md5: 65b73e4260677ee5162bdbb252e28e06 +depends: +- python +- libstdcxx >=14 +- libgcc >=14 +- _python_abi3_support 1.* +- cpython >=3.10 +constrains: +- __glibc >=2.17 +license: MIT +size: 38651498 +timestamp: 1779630714016 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/procps-ng-4.0.6-h1779866_0.conda +sha256: e9cbcbc94e151ada3d6dc365380aaaf591f65012c16d9a2abaea4b9b90adc402 +md5: ab7288cc39545556d1bc5e71ab2df9a9 +depends: +- libgcc >=14 +- ncurses >=6.5,<7.0a0 +license: GPL-2.0-or-later AND LGPL-2.0-or-later +license_family: GPL +size: 636733 +timestamp: 1769712412683 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pthread-stubs-0.4-h86ecc28_1002.conda +sha256: 977dfb0cb3935d748521dd80262fe7169ab82920afd38ed14b7fee2ea5ec01ba +md5: bb5a90c93e3bac3d5690acf76b4a6386 +depends: +- libgcc >=13 +license: MIT +license_family: MIT +size: 8342 +timestamp: 1726803319942 +- conda: https://conda.anaconda.org/conda-forge/noarch/pyaml-env-1.2.2-pyhd8ed1ab_0.conda +sha256: 58994e0d2ea8584cb399546e6f6896d771995e6121d1a7b6a2c9948388358932 +md5: e17be1016bcc3516827b836cd3e4d9dc +depends: +- python >=3.9 +- pyyaml >=5.0,<=7.0 +license: MIT +license_family: MIT +size: 14645 +timestamp: 1736766960536 +- conda: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.13.4-pyhcf101f3_0.conda +sha256: 69700e31165df070e9716315e042196aa92525dae5deb5107785847ab9f4189f +md5: 729843edafc0899b3348bd3f19525b9d +depends: +- typing-inspection >=0.4.2 +- typing_extensions >=4.14.1 +- python >=3.10 +- annotated-types >=0.6.0 +- pydantic-core ==2.46.4 +- python +license: MIT +license_family: MIT +size: 346511 +timestamp: 1778103405862 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pydantic-core-2.46.4-py314h451b6cc_0.conda +sha256: 1a7c6b18e404c13c4d959888ecb48a9ed9de0e41be2872932b83a35278088df0 +md5: 9c3ace6aba6df14b943256095ac1281e +depends: +- python +- typing-extensions >=4.6.0,!=4.7.0 +- libgcc >=14 +- python 3.14.* *_cp314 +- python_abi 3.14.* *_cp314 +constrains: +- __glibc >=2.17 +license: MIT +license_family: MIT +size: 1780773 +timestamp: 1778084251775 +- conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda +sha256: cf70b2f5ad9ae472b71235e5c8a736c9316df3705746de419b59d442e8348e86 +md5: 16c18772b340887160c79a6acc022db0 +depends: +- python >=3.10 +license: BSD-2-Clause +license_family: BSD +size: 893031 +timestamp: 1774796815820 +- conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda +sha256: ba3b032fa52709ce0d9fd388f63d330a026754587a2f461117cac9ab73d8d0d8 +md5: 461219d1a5bd61342293efa2c0c90eac +depends: +- __unix +- python >=3.9 +license: BSD-3-Clause +license_family: BSD +size: 21085 +timestamp: 1733217331982 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.14.5-hfd9ac0a_100_cp314.conda +build_number: 100 +sha256: d37bad5447365346166c72950ea8f49689aa49cecc1b0623d00458427627b8df +md5: d956e09feb806f5974675ce92ad81d45 +depends: +- bzip2 >=1.0.8,<2.0a0 +- ld_impl_linux-aarch64 >=2.36.1 +- libexpat >=2.8.0,<3.0a0 +- libffi >=3.5.2,<3.6.0a0 +- libgcc >=14 +- liblzma >=5.8.3,<6.0a0 +- libmpdec >=4.0.0,<5.0a0 +- libsqlite >=3.53.1,<4.0a0 +- libuuid >=2.42.1,<3.0a0 +- libzlib >=1.3.2,<2.0a0 +- ncurses >=6.6,<7.0a0 +- openssl >=3.5.6,<4.0a0 +- python_abi 3.14.* *_cp314 +- readline >=8.3,<9.0a0 +- tk >=8.6.13,<8.7.0a0 +- tzdata +- zstd >=1.5.7,<1.6.0a0 +license: Python-2.0 +size: 37510439 +timestamp: 1779236267040 +python_site_packages_path: lib/python3.14/site-packages +- conda: https://conda.anaconda.org/conda-forge/noarch/python-dotenv-1.2.2-pyhcf101f3_0.conda +sha256: 74e417a768f59f02a242c25e7db0aa796627b5bc8c818863b57786072aeb85e5 +md5: 130584ad9f3a513cdd71b1fdc1244e9c +depends: +- python >=3.10 +license: BSD-3-Clause +license_family: BSD +size: 27848 +timestamp: 1772388605021 +- conda: https://conda.anaconda.org/conda-forge/noarch/python-gil-3.14.5-h4df99d1_100.conda +sha256: 41dd7da285d71d519257fa7dacb1cae060d5ebfaa5f92cba5994899d2978e943 +md5: 41954747ba952ec4b01e16c2c9e8d8ff +depends: +- cpython 3.14.5.* +- python_abi * *_cp314 +license: Python-2.0 +size: 50212 +timestamp: 1779236703009 +- conda: https://conda.anaconda.org/conda-forge/noarch/python-kaleido-0.2.1-pyhd8ed1ab_0.tar.bz2 +sha256: e17bf63a30aec33432f1ead86e15e9febde9fc40a7f869c0e766be8d2db44170 +md5: 310259a5b03ff02289d7705f39e2b1d2 +depends: +- kaleido-core 0.2.1.* +- python >=3.5 +license: MIT +license_family: MIT +size: 18320 +timestamp: 1615204747600 +- conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda +build_number: 8 +sha256: ad6d2e9ac39751cc0529dd1566a26751a0bf2542adb0c232533d32e176e21db5 +md5: 0539938c55b6b1a59b560e843ad864a4 +constrains: +- python 3.14.* *_cp314 +license: BSD-3-Clause +license_family: BSD +size: 6989 +timestamp: 1752805904792 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pyyaml-6.0.3-py314h807365f_1.conda +sha256: 496b5e65dfdd0aaaaa5de0dcaaf3bceea00fcb4398acf152f89e567c82ec1046 +md5: 9ae2c92975118058bd720e9ba2bb7c58 +depends: +- libgcc >=14 +- python >=3.14,<3.15.0a0 +- python >=3.14,<3.15.0a0 *_cp314 +- python_abi 3.14.* *_cp314 +- yaml >=0.2.5,<0.3.0a0 +license: MIT +license_family: MIT +size: 195678 +timestamp: 1770223441816 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/readline-8.3-hb682ff5_0.conda +sha256: fe695f9d215e9a2e3dd0ca7f56435ab4df24f5504b83865e3d295df36e88d216 +md5: 3d49cad61f829f4f0e0611547a9cda12 +depends: +- libgcc >=14 +- ncurses >=6.5,<7.0a0 +license: GPL-3.0-only +license_family: GPL +size: 357597 +timestamp: 1765815673644 +- conda: https://conda.anaconda.org/conda-forge/noarch/referencing-0.37.0-pyhcf101f3_0.conda +sha256: 0577eedfb347ff94d0f2fa6c052c502989b028216996b45c7f21236f25864414 +md5: 870293df500ca7e18bedefa5838a22ab +depends: +- attrs >=22.2.0 +- python >=3.10 +- rpds-py >=0.7.0 +- typing_extensions >=4.4.0 +- python +license: MIT +license_family: MIT +size: 51788 +timestamp: 1760379115194 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/regex-2026.5.9-py314h51f160d_0.conda +sha256: 05ef55f09f31eabd0a205f6b065e13fc746675f41924620977692ef0ffe5aad8 +md5: 34ed7bc9febeca70f55b757ca09c354d +depends: +- libgcc >=14 +- python >=3.14,<3.15.0a0 +- python >=3.14,<3.15.0a0 *_cp314 +- python_abi 3.14.* *_cp314 +license: Apache-2.0 AND CNRI-Python +license_family: PSF +size: 409780 +timestamp: 1778374195988 +- conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.34.2-pyhcf101f3_0.conda +sha256: 1715246b19c9f85ee022933b4845f2fc14ac9184981b7b7d9b728bec8e9588da +md5: 4a85203c1d80c1059086ae860836ffb9 +depends: +- python >=3.10 +- certifi >=2023.5.7 +- charset-normalizer >=2,<4 +- idna >=2.5,<4 +- urllib3 >=1.26,<3 +- python +constrains: +- chardet >=3.0.2,<8 +license: Apache-2.0 +license_family: APACHE +size: 68709 +timestamp: 1778851103479 +- conda: https://conda.anaconda.org/conda-forge/noarch/rich-15.0.0-pyhcf101f3_0.conda +sha256: 3d6ba2c0fcdac3196ba2f0615b4104e532525ffa1335b50a2878be5ff488814a +md5: 0242025a3c804966bf71aa04eee82f66 +depends: +- markdown-it-py >=2.2.0 +- pygments >=2.13.0,<3.0.0 +- python >=3.10 +- typing_extensions >=4.0.0,<5.0.0 +- python +license: MIT +license_family: MIT +size: 208577 +timestamp: 1775991661559 +- conda: https://conda.anaconda.org/conda-forge/noarch/rich-click-1.9.7-pyh8f84b5b_0.conda +sha256: aa3fcb167321bae51998de2e94d199109c9024f25a5a063cb1c28d8f1af33436 +md5: 0c20a8ebcddb24a45da89d5e917e6cb9 +depends: +- python >=3.10 +- rich >=12 +- click >=8 +- typing-extensions >=4 +- __unix +- python +license: MIT +license_family: MIT +size: 64356 +timestamp: 1769850479089 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/rpds-py-0.30.0-py314h02b7a91_0.conda +sha256: a587240f16eac7c6a80f9585cef679cd1cb9a287b8dfcdd36dcef1f7e7db15dc +md5: e7f6ed9e60043bb5cbcc527764897f0d +depends: +- python +- libgcc >=14 +- python_abi 3.14.* *_cp314 +constrains: +- __glibc >=2.17 +license: MIT +license_family: MIT +size: 376332 +timestamp: 1764543345455 +- conda: https://conda.anaconda.org/conda-forge/noarch/spectra-0.0.11-pyhd8ed1ab_2.conda +sha256: 7c65782d2511738e62c70462e89d65da4fa54d5a7e47c46667bcd27a59f81876 +md5: 472239e4eb7b5a84bb96b3ed7e3a596a +depends: +- colormath >=3.0.0 +- python >=3.9 +license: MIT +license_family: MIT +size: 22284 +timestamp: 1735770589188 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/sqlite-3.53.1-he8854b5_0.conda +sha256: 27467e4bfb0681546f149718c33b806fec078185fbaa6a4d17d440bc8f56185c +md5: 46009bdca2315a99e0a3a7d0ba1af3b9 +depends: +- libgcc >=14 +- libsqlite 3.53.1 h022381a_0 +- libzlib >=1.3.2,<2.0a0 +- ncurses >=6.6,<7.0a0 +- readline >=8.3,<9.0a0 +license: blessing +size: 209964 +timestamp: 1777986493350 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tiktoken-0.12.0-py314h6a36e60_3.conda +sha256: c1da41c79262b27efa168407cfecc47b20270e5fc071a8307f95a2c85fb94170 +md5: 55bf7b559202236157b14323b40f19e6 +depends: +- libgcc >=14 +- libstdcxx >=14 +- python >=3.14,<3.15.0a0 +- python_abi 3.14.* *_cp314 +- regex >=2022.1.18 +- requests >=2.26.0 +constrains: +- __glibc >=2.17 +license: MIT +license_family: MIT +size: 914402 +timestamp: 1764030357702 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tk-8.6.13-noxft_h0dc03b3_103.conda +sha256: e25c314b52764219f842b41aea2c98a059f06437392268f09b03561e4f6e5309 +md5: 7fc6affb9b01e567d2ef1d05b84aa6ed +depends: +- libgcc >=14 +- libzlib >=1.3.1,<2.0a0 +constrains: +- xorg-libx11 >=1.8.12,<2.0a0 +license: TCL +license_family: BSD +size: 3368666 +timestamp: 1769464148928 +- conda: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.67.3-pyh8f84b5b_0.conda +sha256: 9ef8e47cf00e4d6dcc114eb32a1504cc18206300572ef14d76634ba29dfe1eb6 +md5: e5ce43272193b38c2e9037446c1d9206 +depends: +- python >=3.10 +- __unix +- python +license: MPL-2.0 and MIT +size: 94132 +timestamp: 1770153424136 +- conda: https://conda.anaconda.org/conda-forge/noarch/typeguard-4.5.2-pyhcf101f3_0.conda +sha256: 59d7851d32fddb5b510272e6557aa982edeb927d349648dac27f5bf01d18bb26 +md5: 4460f039b7dedf15f7df086446ca75ae +depends: +- typing_extensions >=4.14.0 +- python >=3.10 +- importlib-metadata >=3.6 +- python +constrains: +- pytest >=7 +license: MIT +license_family: MIT +size: 38297 +timestamp: 1778779291237 +- conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.15.0-h396c80c_0.conda +sha256: 7c2df5721c742c2a47b2c8f960e718c930031663ac1174da67c1ed5999f7938c +md5: edd329d7d3a4ab45dcf905899a7a6115 +depends: +- typing_extensions ==4.15.0 pyhcf101f3_0 +license: PSF-2.0 +license_family: PSF +size: 91383 +timestamp: 1756220668932 +- conda: https://conda.anaconda.org/conda-forge/noarch/typing-inspection-0.4.2-pyhcf101f3_2.conda +sha256: 8b90d2f19f9458b8c58a55e1fcdc1d90c1603a847a47654d8a454549413ba60a +md5: 53f5409c5cfd6c5a66417d68e3f0a864 +depends: +- python >=3.10 +- typing_extensions >=4.12.0 +- python +license: MIT +license_family: MIT +size: 20935 +timestamp: 1777105465795 +- conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda +sha256: 032271135bca55aeb156cee361c81350c6f3fb203f57d024d7e5a1fc9ef18731 +md5: 0caa1af407ecff61170c9437a808404d +depends: +- python >=3.10 +- python +license: PSF-2.0 +license_family: PSF +size: 51692 +timestamp: 1756220668932 +- conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda +sha256: 1d30098909076af33a35017eed6f2953af1c769e273a0626a04722ac4acaba3c +md5: ad659d0a2b3e47e38d829aa8cad2d610 +license: LicenseRef-Public-Domain +size: 119135 +timestamp: 1767016325805 +- conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.7.0-pyhd8ed1ab_0.conda +sha256: feff959a816f7988a0893201aa9727bbb7ee1e9cec2c4f0428269b489eb93fb4 +md5: cbb88288f74dbe6ada1c6c7d0a97223e +depends: +- backports.zstd >=1.0.0 +- brotli-python >=1.2.0 +- h2 >=4,<5 +- pysocks >=1.5.6,<2.0,!=1.5.7 +- python >=3.10 +license: MIT +license_family: MIT +size: 103560 +timestamp: 1778188657149 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxau-1.0.12-he30d5cf_1.conda +sha256: e9f6e931feeb2f40e1fdbafe41d3b665f1ab6cb39c5880a1fcf9f79a3f3c84a5 +md5: 1c246e1105000c3660558459e2fd6d43 +depends: +- libgcc >=14 +license: MIT +license_family: MIT +size: 16317 +timestamp: 1762977521691 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/xorg-libxdmcp-1.1.5-he30d5cf_1.conda +sha256: 128d72f36bcc8d2b4cdbec07507542e437c7d67f677b7d77b71ed9eeac7d6df1 +md5: bff06dcde4a707339d66d45d96ceb2e2 +depends: +- libgcc >=14 +license: MIT +license_family: MIT +size: 21039 +timestamp: 1762979038025 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/yaml-0.2.5-h80f16a2_3.conda +sha256: 66265e943f32ce02396ad214e27cb35f5b0490b3bd4f064446390f9d67fa5d88 +md5: 032d8030e4a24fe1f72c74423a46fb88 +depends: +- libgcc >=14 +license: MIT +license_family: MIT +size: 88088 +timestamp: 1753484092643 +- conda: https://conda.anaconda.org/conda-forge/noarch/zipp-4.1.0-pyhcf101f3_0.conda +sha256: 210bd31c22bb88f5e2a167df24c95bb5f152b2ada7502f9b8c49d1f5366db423 +md5: ba3dcdc8584155c97c648ae9c044b7a3 +depends: +- python >=3.10 +- python +license: MIT +license_family: MIT +size: 24190 +timestamp: 1779159948016 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zlib-ng-2.3.3-ha7cb516_1.conda +sha256: 638a3a41a4fbfed52d3c60c8ef5a3693b3f12a5b1a3f58fa29f5698d0a0702e2 +md5: f731af71c723065d91b4c01bb822641b +depends: +- libgcc >=14 +- libstdcxx >=14 +license: Zlib +license_family: Other +size: 121046 +timestamp: 1770167944449 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.7-h85ac4a6_6.conda +sha256: 569990cf12e46f9df540275146da567d9c618c1e9c7a0bc9d9cfefadaed20b75 +md5: c3655f82dcea2aa179b291e7099c1fcc +depends: +- libzlib >=1.3.1,<2.0a0 +license: BSD-3-Clause +license_family: BSD +size: 614429 +timestamp: 1764777145593 diff --git a/modules/nf-core/multiqc/environment.yml b/modules/nf-core/multiqc/environment.yml index d02016a0..7a970e2b 100644 --- a/modules/nf-core/multiqc/environment.yml +++ b/modules/nf-core/multiqc/environment.yml @@ -4,4 +4,4 @@ channels: - conda-forge - bioconda dependencies: - - bioconda::multiqc=1.32 + - bioconda::multiqc=1.35 diff --git a/modules/nf-core/multiqc/main.nf b/modules/nf-core/multiqc/main.nf index c1158fb0..c4bc715e 100644 --- a/modules/nf-core/multiqc/main.nf +++ b/modules/nf-core/multiqc/main.nf @@ -1,24 +1,21 @@ process MULTIQC { + tag "${meta.id}" label 'process_single' conda "${moduleDir}/environment.yml" - container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8c/8c6c120d559d7ee04c7442b61ad7cf5a9e8970be5feefb37d68eeaa60c1034eb/data' : - 'community.wave.seqera.io/library/multiqc:1.32--d58f60e4deb769bf' }" + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/c8/c8e346f4f6080eadf1253505e6ff09ef004454fc18e8d672006fd7b222cc412e/data' + : 'community.wave.seqera.io/library/multiqc:1.35--c17fb751507e9dfc'}" input: - path multiqc_files, stageAs: "?/*" - path(multiqc_config) - path(extra_multiqc_config) - path(multiqc_logo) - path(replace_names) - path(sample_names) + tuple val(meta), path(multiqc_files, stageAs: "?/*"), path(multiqc_config, stageAs: "?/*"), path(multiqc_logo), path(replace_names), path(sample_names) output: - path "*multiqc_report.html", emit: report - path "*_data" , emit: data - path "*_plots" , optional:true, emit: plots - path "versions.yml" , emit: versions + tuple val(meta), path("*.html"), emit: report + tuple val(meta), path("*_data"), emit: data + tuple val(meta), path("*_plots"), emit: plots, optional: true + // MultiQC should not push its versions to the `versions` topic. Its input depends on the versions topic to be resolved thus outputting to the topic will let the pipeline hang forever + tuple val("${task.process}"), val('multiqc'), eval('multiqc --version | sed "s/.* //g"'), emit: versions when: task.ext.when == null || task.ext.when @@ -26,38 +23,28 @@ process MULTIQC { script: def args = task.ext.args ?: '' def prefix = task.ext.prefix ? "--filename ${task.ext.prefix}.html" : '' - def config = multiqc_config ? "--config $multiqc_config" : '' - def extra_config = extra_multiqc_config ? "--config $extra_multiqc_config" : '' + def config = multiqc_config ? multiqc_config instanceof List ? "--config ${multiqc_config.join(' --config ')}" : "--config ${multiqc_config}" : "" def logo = multiqc_logo ? "--cl-config 'custom_logo: \"${multiqc_logo}\"'" : '' def replace = replace_names ? "--replace-names ${replace_names}" : '' def samples = sample_names ? "--sample-names ${sample_names}" : '' """ multiqc \\ --force \\ - $args \\ - $config \\ - $prefix \\ - $extra_config \\ - $logo \\ - $replace \\ - $samples \\ + ${args} \\ + ${config} \\ + ${prefix} \\ + ${logo} \\ + ${replace} \\ + ${samples} \\ . - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - multiqc: \$( multiqc --version | sed -e "s/multiqc, version //g" ) - END_VERSIONS """ stub: """ mkdir multiqc_data + touch multiqc_data/.stub mkdir multiqc_plots + touch multiqc_plots/.stub touch multiqc_report.html - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - multiqc: \$( multiqc --version | sed -e "s/multiqc, version //g" ) - END_VERSIONS """ } diff --git a/modules/nf-core/multiqc/meta.yml b/modules/nf-core/multiqc/meta.yml index ce30eb73..27ce18d8 100644 --- a/modules/nf-core/multiqc/meta.yml +++ b/modules/nf-core/multiqc/meta.yml @@ -1,6 +1,6 @@ name: multiqc -description: Aggregate results from bioinformatics analyses across many samples into - a single report +description: Aggregate results from bioinformatics analyses across many samples + into a single report keywords: - QC - bioinformatics tools @@ -12,74 +12,91 @@ tools: It's a general use tool, perfect for summarising the output from numerous bioinformatics tools. homepage: https://multiqc.info/ documentation: https://multiqc.info/docs/ - licence: ["GPL-3.0-or-later"] + licence: + - "GPL-3.0-or-later" identifier: biotools:multiqc input: - - multiqc_files: - type: file - description: | - List of reports / files recognised by MultiQC, for example the html and zip output of FastQC - ontologies: [] - - multiqc_config: - type: file - description: Optional config yml for MultiQC - pattern: "*.{yml,yaml}" - ontologies: - - edam: http://edamontology.org/format_3750 # YAML - - extra_multiqc_config: - type: file - description: Second optional config yml for MultiQC. Will override common sections - in multiqc_config. - pattern: "*.{yml,yaml}" - ontologies: - - edam: http://edamontology.org/format_3750 # YAML - - multiqc_logo: - type: file - description: Optional logo file for MultiQC - pattern: "*.{png}" - ontologies: [] - - replace_names: - type: file - description: | - Optional two-column sample renaming file. First column a set of - patterns, second column a set of corresponding replacements. Passed via - MultiQC's `--replace-names` option. - pattern: "*.{tsv}" - ontologies: - - edam: http://edamontology.org/format_3475 # TSV - - sample_names: - type: file - description: | - Optional TSV file with headers, passed to the MultiQC --sample_names - argument. - pattern: "*.{tsv}" - ontologies: - - edam: http://edamontology.org/format_3475 # TSV -output: - report: - - "*multiqc_report.html": + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'sample1', single_end:false ] + - multiqc_files: type: file - description: MultiQC report file - pattern: "multiqc_report.html" + description: | + List of reports / files recognised by MultiQC, for example the html and zip output of FastQC ontologies: [] - data: - - "*_data": - type: directory - description: MultiQC data dir - pattern: "multiqc_data" - plots: - - "*_plots": + - multiqc_config: + type: file + description: Optional config yml for MultiQC + pattern: "*.{yml,yaml}" + ontologies: + - edam: http://edamontology.org/format_3750 + - multiqc_logo: type: file - description: Plots created by MultiQC - pattern: "*_data" + description: Optional logo file for MultiQC + pattern: "*.{png}" ontologies: [] - versions: - - versions.yml: + - replace_names: + type: file + description: | + Optional two-column sample renaming file. First column a set of + patterns, second column a set of corresponding replacements. Passed via + MultiQC's `--replace-names` option. + pattern: "*.{tsv}" + ontologies: + - edam: http://edamontology.org/format_3475 + - sample_names: type: file - description: File containing software versions - pattern: "versions.yml" + description: | + Optional TSV file with headers, passed to the MultiQC --sample_names + argument. + pattern: "*.{tsv}" ontologies: - - edam: http://edamontology.org/format_3750 # YAML + - edam: http://edamontology.org/format_3475 +output: + report: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'sample1', single_end:false ] + - "*.html": + type: file + description: MultiQC report file + pattern: ".html" + ontologies: [] + data: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'sample1', single_end:false ] + - "*_data": + type: directory + description: MultiQC data dir + pattern: "multiqc_data" + plots: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'sample1', single_end:false ] + - "*_plots": + type: file + description: Plots created by MultiQC + pattern: "*_plots" + ontologies: [] + versions: + - - ${task.process}: + type: string + description: The process the versions were collected from + - multiqc: + type: string + description: The tool name + - multiqc --version | sed "s/.* //g": + type: eval + description: The expression to obtain the version of the tool authors: - "@abhi18av" - "@bunop" @@ -90,3 +107,27 @@ maintainers: - "@bunop" - "@drpatelh" - "@jfy133" +containers: + conda: + linux/amd64: + lock_file: modules/nf-core/multiqc/.conda-lock/linux_amd64-bd-c17fb751507e9dfc_1.txt + linux/arm64: + lock_file: modules/nf-core/multiqc/.conda-lock/linux_arm64-bd-5c84a5000a226ab5_1.txt + docker: + linux/amd64: + name: community.wave.seqera.io/library/multiqc:1.35--c17fb751507e9dfc + build_id: bd-c17fb751507e9dfc_1 + scan_id: sc-3b1b3932f9846892_1 + linux/arm64: + name: community.wave.seqera.io/library/multiqc:1.35--5c84a5000a226ab5 + build_id: bd-5c84a5000a226ab5_1 + scan_id: sc-0d39df41e9737bbd_1 + singularity: + linux/amd64: + name: oras://community.wave.seqera.io/library/multiqc:1.35--c680f2aea25ccec2 + build_id: bd-c680f2aea25ccec2_1 + https: https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/c8/c8e346f4f6080eadf1253505e6ff09ef004454fc18e8d672006fd7b222cc412e/data + linux/arm64: + name: oras://community.wave.seqera.io/library/multiqc:1.35--c0468833d65b2f81 + build_id: bd-c0468833d65b2f81_1 + https: https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/e4/e48aa28aebc881254a499b24c3e1ce77b8df1b85a5432699ed6f72eb17ac7fb5/data diff --git a/modules/nf-core/multiqc/tests/custom_prefix.config b/modules/nf-core/multiqc/tests/custom_prefix.config new file mode 100644 index 00000000..b30b1358 --- /dev/null +++ b/modules/nf-core/multiqc/tests/custom_prefix.config @@ -0,0 +1,5 @@ +process { + withName: 'MULTIQC' { + ext.prefix = "custom_prefix" + } +} diff --git a/modules/nf-core/multiqc/tests/main.nf.test b/modules/nf-core/multiqc/tests/main.nf.test index 33316a7d..4cbdb95d 100644 --- a/modules/nf-core/multiqc/tests/main.nf.test +++ b/modules/nf-core/multiqc/tests/main.nf.test @@ -15,25 +15,84 @@ nextflow_process { when { process { """ - input[0] = Channel.of(file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastqc/test_fastqc.zip', checkIfExists: true)) - input[1] = [] - input[2] = [] - input[3] = [] - input[4] = [] - input[5] = [] + input[0] = channel.of([ + [ id: 'FASTQC' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastqc/test_fastqc.zip', checkIfExists: true), + [], + [], + [], + [] + ]) """ } } then { - assertAll( - { assert process.success }, - { assert process.out.report[0] ==~ ".*/multiqc_report.html" }, - { assert process.out.data[0] ==~ ".*/multiqc_data" }, - { assert snapshot(process.out.versions).match("multiqc_versions_single") } - ) + assert process.success + assert snapshot( + sanitizeOutput(process.out).collectEntries { key, val -> + if (key == "data") { + return [key, val.collect { [path(it[1]).list().collect { file(it.toString()).name }] }] + } + else if (key == "plots") { + return [key, val.collect { [ + "pdf", + path("${it[1]}/pdf").list().collect { file(it.toString()).name }, + "png", + path("${it[1]}/png").list().collect { file(it.toString()).name }, + "svg", + path("${it[1]}/svg").list().collect { file(it.toString()).name }] }] + } + else if (key == "report") { + return [key, file(val[0][1].toString()).name] + } + return [key, val] + } + ).match() + } + } + + test("sarscov2 single-end [fastqc] - custom prefix") { + config "./custom_prefix.config" + + when { + process { + """ + input[0] = channel.of([ + [ id: 'FASTQC' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastqc/test_fastqc.zip', checkIfExists: true), + [], + [], + [], + [] + ]) + """ + } } + then { + assert process.success + assert snapshot( + sanitizeOutput(process.out).collectEntries { key, val -> + if (key == "data") { + return [key, val.collect { [path(it[1]).list().collect { file(it.toString()).name }] }] + } + else if (key == "plots") { + return [key, val.collect { [ + "pdf", + path("${it[1]}/pdf").list().collect { file(it.toString()).name }, + "png", + path("${it[1]}/png").list().collect { file(it.toString()).name }, + "svg", + path("${it[1]}/svg").list().collect { file(it.toString()).name }] }] + } + else if (key == "report") { + return [key, file(val[0][1].toString()).name] + } + return [key, val] + } + ).match() + } } test("sarscov2 single-end [fastqc] [config]") { @@ -41,23 +100,85 @@ nextflow_process { when { process { """ - input[0] = Channel.of(file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastqc/test_fastqc.zip', checkIfExists: true)) - input[1] = Channel.of(file("https://github.com/nf-core/tools/raw/dev/nf_core/pipeline-template/assets/multiqc_config.yml", checkIfExists: true)) - input[2] = [] - input[3] = [] - input[4] = [] - input[5] = [] + input[0] = channel.of([ + [ id: 'FASTQC' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastqc/test_fastqc.zip', checkIfExists: true), + file("https://raw.githubusercontent.com/nf-core/seqinspector/1.0.0/assets/multiqc_config.yml", checkIfExists: true), + [], + [], + [] + ]) """ } } then { - assertAll( - { assert process.success }, - { assert process.out.report[0] ==~ ".*/multiqc_report.html" }, - { assert process.out.data[0] ==~ ".*/multiqc_data" }, - { assert snapshot(process.out.versions).match("multiqc_versions_config") } - ) + assert process.success + assert snapshot( + sanitizeOutput(process.out).collectEntries { key, val -> + if (key == "data") { + return [key, val.collect { [path(it[1]).list().collect { file(it.toString()).name }] }] + } + else if (key == "plots") { + return [key, val.collect { [ + "pdf", + path("${it[1]}/pdf").list().collect { file(it.toString()).name }, + "png", + path("${it[1]}/png").list().collect { file(it.toString()).name }, + "svg", + path("${it[1]}/svg").list().collect { file(it.toString()).name }] }] + } + else if (key == "report") { + return [key, file(val[0][1].toString()).name] + } + return [key, val] + } + ).match() + } + } + + test("sarscov2 single-end [fastqc] [multiple configs]") { + + when { + process { + """ + input[0] = channel.of([ + [ id: 'FASTQC' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastqc/test_fastqc.zip', checkIfExists: true), + [ + file("https://raw.githubusercontent.com/nf-core/seqinspector/1.0.0/assets/multiqc_config.yml", checkIfExists: true), + file("https://raw.githubusercontent.com/nf-core/seqinspector/1.0.0/assets/multiqc_config.yml", checkIfExists: true) + ], + [], + [], + [] + ]) + """ + } + } + + then { + assert process.success + assert snapshot( + sanitizeOutput(process.out).collectEntries { key, val -> + if (key == "data") { + return [key, val.collect { [path(it[1]).list().collect { file(it.toString()).name }] }] + } + else if (key == "plots") { + return [key, val.collect { [ + "pdf", + path("${it[1]}/pdf").list().collect { file(it.toString()).name }, + "png", + path("${it[1]}/png").list().collect { file(it.toString()).name }, + "svg", + path("${it[1]}/svg").list().collect { file(it.toString()).name }] }] + } + else if (key == "report") { + return [key, file(val[0][1].toString()).name] + } + return [key, val] + } + ).match() } } @@ -68,25 +189,23 @@ nextflow_process { when { process { """ - input[0] = Channel.of(file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastqc/test_fastqc.zip', checkIfExists: true)) - input[1] = [] - input[2] = [] - input[3] = [] - input[4] = [] - input[5] = [] + input[0] = channel.of([ + [ id: 'FASTQC' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastqc/test_fastqc.zip', checkIfExists: true), + [], + [], + [], + [] + ]) """ } } then { + assert process.success assertAll( - { assert process.success }, - { assert snapshot(process.out.report.collect { file(it).getName() } + - process.out.data.collect { file(it).getName() } + - process.out.plots.collect { file(it).getName() } + - process.out.versions ).match("multiqc_stub") } + { assert snapshot(sanitizeOutput(process.out)).match() } ) } - } } diff --git a/modules/nf-core/multiqc/tests/main.nf.test.snap b/modules/nf-core/multiqc/tests/main.nf.test.snap index a88bafd6..44899216 100644 --- a/modules/nf-core/multiqc/tests/main.nf.test.snap +++ b/modules/nf-core/multiqc/tests/main.nf.test.snap @@ -1,41 +1,422 @@ { - "multiqc_versions_single": { + "sarscov2 single-end [fastqc] [multiple configs]": { "content": [ - [ - "versions.yml:md5,737bb2c7cad54ffc2ec020791dc48b8f" - ] + { + "data": [ + [ + [ + "fastqc-status-check-heatmap.txt", + "fastqc_overrepresented_sequences_plot.txt", + "fastqc_per_base_n_content_plot.txt", + "fastqc_per_base_sequence_quality_plot.txt", + "fastqc_per_sequence_gc_content_plot_Counts.txt", + "fastqc_per_sequence_gc_content_plot_Percentages.txt", + "fastqc_per_sequence_quality_scores_plot.txt", + "fastqc_sequence_counts_plot.txt", + "fastqc_sequence_duplication_levels_plot.txt", + "fastqc_sequence_length_distribution_plot.txt", + "fastqc_top_overrepresented_sequences_table.txt", + "llms-full.txt", + "multiqc.log", + "multiqc.parquet", + "multiqc_citations.txt", + "multiqc_data.json", + "multiqc_fastqc.txt", + "multiqc_general_stats.txt", + "multiqc_sources.txt" + ] + ] + ], + "plots": [ + [ + "pdf", + [ + "fastqc-status-check-heatmap.pdf", + "fastqc_overrepresented_sequences_plot.pdf", + "fastqc_per_base_n_content_plot.pdf", + "fastqc_per_base_sequence_quality_plot.pdf", + "fastqc_per_sequence_gc_content_plot_Counts.pdf", + "fastqc_per_sequence_gc_content_plot_Percentages.pdf", + "fastqc_per_sequence_quality_scores_plot.pdf", + "fastqc_sequence_counts_plot-cnt.pdf", + "fastqc_sequence_counts_plot-pct.pdf", + "fastqc_sequence_duplication_levels_plot.pdf", + "fastqc_sequence_length_distribution_plot.pdf", + "fastqc_top_overrepresented_sequences_table.pdf" + ], + "png", + [ + "fastqc-status-check-heatmap.png", + "fastqc_overrepresented_sequences_plot.png", + "fastqc_per_base_n_content_plot.png", + "fastqc_per_base_sequence_quality_plot.png", + "fastqc_per_sequence_gc_content_plot_Counts.png", + "fastqc_per_sequence_gc_content_plot_Percentages.png", + "fastqc_per_sequence_quality_scores_plot.png", + "fastqc_sequence_counts_plot-cnt.png", + "fastqc_sequence_counts_plot-pct.png", + "fastqc_sequence_duplication_levels_plot.png", + "fastqc_sequence_length_distribution_plot.png", + "fastqc_top_overrepresented_sequences_table.png" + ], + "svg", + [ + "fastqc-status-check-heatmap.svg", + "fastqc_overrepresented_sequences_plot.svg", + "fastqc_per_base_n_content_plot.svg", + "fastqc_per_base_sequence_quality_plot.svg", + "fastqc_per_sequence_gc_content_plot_Counts.svg", + "fastqc_per_sequence_gc_content_plot_Percentages.svg", + "fastqc_per_sequence_quality_scores_plot.svg", + "fastqc_sequence_counts_plot-cnt.svg", + "fastqc_sequence_counts_plot-pct.svg", + "fastqc_sequence_duplication_levels_plot.svg", + "fastqc_sequence_length_distribution_plot.svg", + "fastqc_top_overrepresented_sequences_table.svg" + ] + ] + ], + "report": "multiqc_report.html", + "versions": [ + [ + "MULTIQC", + "multiqc", + "1.35" + ] + ] + } ], + "timestamp": "2026-03-17T16:15:42.577775492", "meta": { - "nf-test": "0.9.3", - "nextflow": "24.10.4" - }, - "timestamp": "2025-10-27T13:33:24.356715" + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } }, - "multiqc_stub": { + "sarscov2 single-end [fastqc]": { "content": [ - [ - "multiqc_report.html", - "multiqc_data", - "multiqc_plots", - "versions.yml:md5,737bb2c7cad54ffc2ec020791dc48b8f" - ] + { + "data": [ + [ + [ + "fastqc-status-check-heatmap.txt", + "fastqc_overrepresented_sequences_plot.txt", + "fastqc_per_base_n_content_plot.txt", + "fastqc_per_base_sequence_quality_plot.txt", + "fastqc_per_sequence_gc_content_plot_Counts.txt", + "fastqc_per_sequence_gc_content_plot_Percentages.txt", + "fastqc_per_sequence_quality_scores_plot.txt", + "fastqc_sequence_counts_plot.txt", + "fastqc_sequence_duplication_levels_plot.txt", + "fastqc_sequence_length_distribution_plot.txt", + "fastqc_top_overrepresented_sequences_table.txt", + "llms-full.txt", + "multiqc.log", + "multiqc.parquet", + "multiqc_citations.txt", + "multiqc_data.json", + "multiqc_fastqc.txt", + "multiqc_general_stats.txt", + "multiqc_software_versions.txt", + "multiqc_sources.txt" + ] + ] + ], + "plots": [ + [ + "pdf", + [ + "fastqc-status-check-heatmap.pdf", + "fastqc_overrepresented_sequences_plot.pdf", + "fastqc_per_base_n_content_plot.pdf", + "fastqc_per_base_sequence_quality_plot.pdf", + "fastqc_per_sequence_gc_content_plot_Counts.pdf", + "fastqc_per_sequence_gc_content_plot_Percentages.pdf", + "fastqc_per_sequence_quality_scores_plot.pdf", + "fastqc_sequence_counts_plot-cnt.pdf", + "fastqc_sequence_counts_plot-pct.pdf", + "fastqc_sequence_duplication_levels_plot.pdf", + "fastqc_sequence_length_distribution_plot.pdf", + "fastqc_top_overrepresented_sequences_table.pdf" + ], + "png", + [ + "fastqc-status-check-heatmap.png", + "fastqc_overrepresented_sequences_plot.png", + "fastqc_per_base_n_content_plot.png", + "fastqc_per_base_sequence_quality_plot.png", + "fastqc_per_sequence_gc_content_plot_Counts.png", + "fastqc_per_sequence_gc_content_plot_Percentages.png", + "fastqc_per_sequence_quality_scores_plot.png", + "fastqc_sequence_counts_plot-cnt.png", + "fastqc_sequence_counts_plot-pct.png", + "fastqc_sequence_duplication_levels_plot.png", + "fastqc_sequence_length_distribution_plot.png", + "fastqc_top_overrepresented_sequences_table.png" + ], + "svg", + [ + "fastqc-status-check-heatmap.svg", + "fastqc_overrepresented_sequences_plot.svg", + "fastqc_per_base_n_content_plot.svg", + "fastqc_per_base_sequence_quality_plot.svg", + "fastqc_per_sequence_gc_content_plot_Counts.svg", + "fastqc_per_sequence_gc_content_plot_Percentages.svg", + "fastqc_per_sequence_quality_scores_plot.svg", + "fastqc_sequence_counts_plot-cnt.svg", + "fastqc_sequence_counts_plot-pct.svg", + "fastqc_sequence_duplication_levels_plot.svg", + "fastqc_sequence_length_distribution_plot.svg", + "fastqc_top_overrepresented_sequences_table.svg" + ] + ] + ], + "report": "multiqc_report.html", + "versions": [ + [ + "MULTIQC", + "multiqc", + "1.35" + ] + ] + } ], + "timestamp": "2026-03-17T16:21:17.072841555", "meta": { - "nf-test": "0.9.3", - "nextflow": "24.10.4" - }, - "timestamp": "2025-10-27T13:34:11.103619" + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } }, - "multiqc_versions_config": { + "sarscov2 single-end [fastqc] - stub": { "content": [ - [ - "versions.yml:md5,737bb2c7cad54ffc2ec020791dc48b8f" - ] + { + "data": [ + [ + { + "id": "FASTQC" + }, + [ + ".stub:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "plots": [ + [ + { + "id": "FASTQC" + }, + [ + ".stub:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "report": [ + [ + { + "id": "FASTQC" + }, + "multiqc_report.html:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions": [ + [ + "MULTIQC", + "multiqc", + "1.35" + ] + ] + } ], + "timestamp": "2026-02-26T15:14:39.789193051", "meta": { - "nf-test": "0.9.3", - "nextflow": "24.10.4" - }, - "timestamp": "2025-10-27T13:34:04.615233" + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "sarscov2 single-end [fastqc] [config]": { + "content": [ + { + "data": [ + [ + [ + "fastqc-status-check-heatmap.txt", + "fastqc_overrepresented_sequences_plot.txt", + "fastqc_per_base_n_content_plot.txt", + "fastqc_per_base_sequence_quality_plot.txt", + "fastqc_per_sequence_gc_content_plot_Counts.txt", + "fastqc_per_sequence_gc_content_plot_Percentages.txt", + "fastqc_per_sequence_quality_scores_plot.txt", + "fastqc_sequence_counts_plot.txt", + "fastqc_sequence_duplication_levels_plot.txt", + "fastqc_sequence_length_distribution_plot.txt", + "fastqc_top_overrepresented_sequences_table.txt", + "llms-full.txt", + "multiqc.log", + "multiqc.parquet", + "multiqc_citations.txt", + "multiqc_data.json", + "multiqc_fastqc.txt", + "multiqc_general_stats.txt", + "multiqc_sources.txt" + ] + ] + ], + "plots": [ + [ + "pdf", + [ + "fastqc-status-check-heatmap.pdf", + "fastqc_overrepresented_sequences_plot.pdf", + "fastqc_per_base_n_content_plot.pdf", + "fastqc_per_base_sequence_quality_plot.pdf", + "fastqc_per_sequence_gc_content_plot_Counts.pdf", + "fastqc_per_sequence_gc_content_plot_Percentages.pdf", + "fastqc_per_sequence_quality_scores_plot.pdf", + "fastqc_sequence_counts_plot-cnt.pdf", + "fastqc_sequence_counts_plot-pct.pdf", + "fastqc_sequence_duplication_levels_plot.pdf", + "fastqc_sequence_length_distribution_plot.pdf", + "fastqc_top_overrepresented_sequences_table.pdf" + ], + "png", + [ + "fastqc-status-check-heatmap.png", + "fastqc_overrepresented_sequences_plot.png", + "fastqc_per_base_n_content_plot.png", + "fastqc_per_base_sequence_quality_plot.png", + "fastqc_per_sequence_gc_content_plot_Counts.png", + "fastqc_per_sequence_gc_content_plot_Percentages.png", + "fastqc_per_sequence_quality_scores_plot.png", + "fastqc_sequence_counts_plot-cnt.png", + "fastqc_sequence_counts_plot-pct.png", + "fastqc_sequence_duplication_levels_plot.png", + "fastqc_sequence_length_distribution_plot.png", + "fastqc_top_overrepresented_sequences_table.png" + ], + "svg", + [ + "fastqc-status-check-heatmap.svg", + "fastqc_overrepresented_sequences_plot.svg", + "fastqc_per_base_n_content_plot.svg", + "fastqc_per_base_sequence_quality_plot.svg", + "fastqc_per_sequence_gc_content_plot_Counts.svg", + "fastqc_per_sequence_gc_content_plot_Percentages.svg", + "fastqc_per_sequence_quality_scores_plot.svg", + "fastqc_sequence_counts_plot-cnt.svg", + "fastqc_sequence_counts_plot-pct.svg", + "fastqc_sequence_duplication_levels_plot.svg", + "fastqc_sequence_length_distribution_plot.svg", + "fastqc_top_overrepresented_sequences_table.svg" + ] + ] + ], + "report": "multiqc_report.html", + "versions": [ + [ + "MULTIQC", + "multiqc", + "1.35" + ] + ] + } + ], + "timestamp": "2026-03-17T16:15:30.372239611", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "sarscov2 single-end [fastqc] - custom prefix": { + "content": [ + { + "data": [ + [ + [ + "fastqc-status-check-heatmap.txt", + "fastqc_overrepresented_sequences_plot.txt", + "fastqc_per_base_n_content_plot.txt", + "fastqc_per_base_sequence_quality_plot.txt", + "fastqc_per_sequence_gc_content_plot_Counts.txt", + "fastqc_per_sequence_gc_content_plot_Percentages.txt", + "fastqc_per_sequence_quality_scores_plot.txt", + "fastqc_sequence_counts_plot.txt", + "fastqc_sequence_duplication_levels_plot.txt", + "fastqc_sequence_length_distribution_plot.txt", + "fastqc_top_overrepresented_sequences_table.txt", + "llms-full.txt", + "multiqc.log", + "multiqc.parquet", + "multiqc_citations.txt", + "multiqc_data.json", + "multiqc_fastqc.txt", + "multiqc_general_stats.txt", + "multiqc_software_versions.txt", + "multiqc_sources.txt" + ] + ] + ], + "plots": [ + [ + "pdf", + [ + "fastqc-status-check-heatmap.pdf", + "fastqc_overrepresented_sequences_plot.pdf", + "fastqc_per_base_n_content_plot.pdf", + "fastqc_per_base_sequence_quality_plot.pdf", + "fastqc_per_sequence_gc_content_plot_Counts.pdf", + "fastqc_per_sequence_gc_content_plot_Percentages.pdf", + "fastqc_per_sequence_quality_scores_plot.pdf", + "fastqc_sequence_counts_plot-cnt.pdf", + "fastqc_sequence_counts_plot-pct.pdf", + "fastqc_sequence_duplication_levels_plot.pdf", + "fastqc_sequence_length_distribution_plot.pdf", + "fastqc_top_overrepresented_sequences_table.pdf" + ], + "png", + [ + "fastqc-status-check-heatmap.png", + "fastqc_overrepresented_sequences_plot.png", + "fastqc_per_base_n_content_plot.png", + "fastqc_per_base_sequence_quality_plot.png", + "fastqc_per_sequence_gc_content_plot_Counts.png", + "fastqc_per_sequence_gc_content_plot_Percentages.png", + "fastqc_per_sequence_quality_scores_plot.png", + "fastqc_sequence_counts_plot-cnt.png", + "fastqc_sequence_counts_plot-pct.png", + "fastqc_sequence_duplication_levels_plot.png", + "fastqc_sequence_length_distribution_plot.png", + "fastqc_top_overrepresented_sequences_table.png" + ], + "svg", + [ + "fastqc-status-check-heatmap.svg", + "fastqc_overrepresented_sequences_plot.svg", + "fastqc_per_base_n_content_plot.svg", + "fastqc_per_base_sequence_quality_plot.svg", + "fastqc_per_sequence_gc_content_plot_Counts.svg", + "fastqc_per_sequence_gc_content_plot_Percentages.svg", + "fastqc_per_sequence_quality_scores_plot.svg", + "fastqc_sequence_counts_plot-cnt.svg", + "fastqc_sequence_counts_plot-pct.svg", + "fastqc_sequence_duplication_levels_plot.svg", + "fastqc_sequence_length_distribution_plot.svg", + "fastqc_top_overrepresented_sequences_table.svg" + ] + ] + ], + "report": "custom_prefix.html", + "versions": [ + [ + "MULTIQC", + "multiqc", + "1.35" + ] + ] + } + ], + "timestamp": "2026-03-17T16:15:18.189023981", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } } } \ No newline at end of file diff --git a/modules/nf-core/multiqc/tests/nextflow.config b/modules/nf-core/multiqc/tests/nextflow.config index c537a6a3..374dfef2 100644 --- a/modules/nf-core/multiqc/tests/nextflow.config +++ b/modules/nf-core/multiqc/tests/nextflow.config @@ -1,5 +1,6 @@ process { withName: 'MULTIQC' { ext.prefix = null + ext.args = '-p' } } diff --git a/modules/nf-core/picard/filtersamreads/environment.yml b/modules/nf-core/picard/filtersamreads/environment.yml new file mode 100644 index 00000000..b4ac4fe0 --- /dev/null +++ b/modules/nf-core/picard/filtersamreads/environment.yml @@ -0,0 +1,8 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + # renovate: datasource=conda depName=bioconda/picard + - bioconda::picard=3.4.0 diff --git a/modules/nf-core/picard/filtersamreads/main.nf b/modules/nf-core/picard/filtersamreads/main.nf new file mode 100644 index 00000000..2be4df2c --- /dev/null +++ b/modules/nf-core/picard/filtersamreads/main.nf @@ -0,0 +1,64 @@ +process PICARD_FILTERSAMREADS { + tag "${meta.id}" + label 'process_low' + + conda "${moduleDir}/environment.yml" + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/08/0861295baa7c01fc593a9da94e82b44a729dcaf8da92be8e565da109aa549b25/data' + : 'community.wave.seqera.io/library/picard:3.4.0--e9963040df0a9bf6'}" + + input: + tuple val(meta), path(bam), path(readlist) + tuple val(meta2), path(fasta) + val filter + + output: + tuple val(meta), path("*.bam"), emit: bam + tuple val(meta), path("*.bai"), emit: bai, optional: true + tuple val("${task.process}"), val('picard'), eval("picard FilterSamReads --version 2>&1 | sed -n 's/.*Version://p'"), topic: versions, emit: versions_picard + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + def avail_mem = 3072 + if (!task.memory) { + log.info('[Picard FilterSamReads] Available memory not known - defaulting to 3GB. Specify process memory requirements to change this.') + } + else { + avail_mem = (task.memory.mega * 0.8).intValue() + } + + if ("${bam}" == "${prefix}.bam") { + error("Input and output names are the same, use \"task.ext.prefix\" to disambiguate!") + } + + def fasta_command = fasta ? "--REFERENCE_SEQUENCE ${fasta}" : "" + def read_list_command = filter.endsWith('ReadList') ? "--READ_LIST_FILE ${readlist}" : "" + """ + picard \\ + -Xmx${avail_mem}M \\ + FilterSamReads \\ + ${fasta_command} \\ + --INPUT ${bam} \\ + --OUTPUT ${prefix}.bam \\ + --FILTER ${filter} \\ + ${read_list_command} \\ + ${args} + """ + + stub: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + if ("${bam}" == "${prefix}.bam") { + error("Input and output names are the same, use \"task.ext.prefix\" to disambiguate!") + } + def index_command = args.contains('--CREATE_INDEX true') ? "touch ${prefix}.bai" : "" + """ + echo ${args} + touch ${prefix}.bam + ${index_command} + """ +} diff --git a/modules/nf-core/picard/filtersamreads/meta.yml b/modules/nf-core/picard/filtersamreads/meta.yml new file mode 100644 index 00000000..6016d715 --- /dev/null +++ b/modules/nf-core/picard/filtersamreads/meta.yml @@ -0,0 +1,98 @@ +name: picard_filtersamreads +description: Filters SAM/BAM files to include/exclude either aligned/unaligned + reads or based on a read list +keywords: + - bam + - filter + - picard + - sam +tools: + - picard: + description: | + A set of command line tools (in Java) for manipulating high-throughput sequencing (HTS) + data and formats such as SAM/BAM/CRAM and VCF. + homepage: https://broadinstitute.github.io/picard/ + documentation: https://broadinstitute.github.io/picard/ + tool_dev_url: https://github.com/broadinstitute/picard + licence: + - "MIT" + identifier: biotools:picard_tools +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - bam: + type: file + description: List of BAM files. If filtering without read list must be + sorted by queryname with picard sortsam + pattern: "*.{bam}" + ontologies: [] + - readlist: + type: file + description: Optional text file containing reads IDs to include or exclude + ontologies: [] + - - meta2: + type: map + description: | + Groovy Map containing genome information + e.g. [ id:'fasta' ] + - fasta: + type: file + description: FASTA reference file + pattern: "*.{fasta,fa}" + ontologies: + - edam: http://edamontology.org/format_1929 # FASTA + - filter: + type: string + description: Picard filter type + pattern: "includeAligned|excludeAligned|includeReadList|excludeReadList" +output: + bam: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.bam": + type: file + description: Filtered BAM file + pattern: "*.{bam}" + ontologies: [] + bai: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.bai": + type: file + description: Filtered BAM file index + pattern: "*.{bai}" + ontologies: [] + versions_picard: + - - ${task.process}: + type: string + description: The process the versions were collected from + - picard: + type: string + description: The tool name + - picard FilterSamReads --version 2>&1 | sed -n 's/.*Version://p': + type: eval + description: The command used to generate the version of the tool +topics: + versions: + - - ${task.process}: + type: string + description: The process the versions were collected from + - picard: + type: string + description: The tool name + - picard FilterSamReads --version 2>&1 | sed -n 's/.*Version://p': + type: eval + description: The command used to generate the version of the tool +authors: + - "@jfy133" +maintainers: + - "@jfy133" diff --git a/modules/nf-core/picard/filtersamreads/tests/main.nf.test b/modules/nf-core/picard/filtersamreads/tests/main.nf.test new file mode 100644 index 00000000..f6952140 --- /dev/null +++ b/modules/nf-core/picard/filtersamreads/tests/main.nf.test @@ -0,0 +1,176 @@ +nextflow_process { + + name "Test Process PICARD_FILTERSAMREADS" + script "../main.nf" + process "PICARD_FILTERSAMREADS" + config "./nextflow.config" + + tag "modules" + tag "modules_nfcore" + tag "picard" + tag "picard/filtersamreads" + tag "picard/sortsam" + + setup { + run("PICARD_SORTSAM") { + script "../../../picard/sortsam/main.nf" + process { + """ + input[0] = [ + [ id:'test', single_end:false, strandedness:'forward' ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.single_end.sorted.bam', checkIfExists: true) + ] + input[1] = 'queryname' + """ + } + } + } + + test("sarscov2 - bam") { + + when { + process { + """ + input[0] = PICARD_SORTSAM.out.bam.map{[ it[0], it[1], [] ]} + input[1] = [[:], []] + input[2] = 'includeAligned' + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot( + process.out.bam.collect { meta, reads -> file(reads).name + ',readsmd5:' + bam(reads).getReadsMD5()}, + process.out.bai.collect { meta, index -> file(index).name}, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() } + ) + } + } + + test("sarscov2 - stub") { + options "-stub" + when { + process { + """ + input[0] = PICARD_SORTSAM.out.bam.map{[ it[0], it[1], [] ]} + input[1] = [[:], []] + input[2] = 'includeAligned' + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(sanitizeOutput(process.out)).match() } + ) + } + } + + test("sarscov2 - bam - readlist") { + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:false, strandedness:'forward' ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.single_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/picard/test.single_end.bam.readlist.txt', checkIfExists: true) + ] + input[1] = [[:], []] + input[2] = 'includeReadList' + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot( + process.out.bam.collect { meta, reads -> file(reads).name + ',readsmd5:' + bam(reads).getReadsMD5()}, + process.out.bai.collect { meta, index -> file(index).name}, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() } + ) + } + } + + test("sarscov2 - bam - readlist - stub") { + options "-stub" + when { + process { + """ + input[0] = [ + [ id:'test', single_end:false, strandedness:'forward' ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.single_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/picard/test.single_end.bam.readlist.txt', checkIfExists: true) + ] + input[1] = [[:], []] + input[2] = 'includeReadList' + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(sanitizeOutput(process.out)).match() } + ) + } + } + + test("sarscov2 - bam - readlist - fasta") { + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:false, strandedness:'forward' ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.single_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/picard/test.single_end.bam.readlist.txt', checkIfExists: true) + ] + input[1] = [[id:'genome'], file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true)] + input[2] = 'includeReadList' + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot( + process.out.bam.collect { meta, reads -> file(reads).name + ',readsmd5:' + bam(reads).getReadsMD5()}, + process.out.bai.collect { meta, index -> file(index).name}, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() } + ) + } + } + + test("sarscov2 - bam - readlist - fasta - stub") { + options "-stub" + when { + process { + """ + input[0] = [ + [ id:'test', single_end:false, strandedness:'forward' ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.single_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/picard/test.single_end.bam.readlist.txt', checkIfExists: true) + ] + input[1] = [[id:'genome'], file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true)] + input[2] = 'includeReadList' + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(sanitizeOutput(process.out)).match() } + ) + } + } +} diff --git a/modules/nf-core/picard/filtersamreads/tests/main.nf.test.snap b/modules/nf-core/picard/filtersamreads/tests/main.nf.test.snap new file mode 100644 index 00000000..4f17e87b --- /dev/null +++ b/modules/nf-core/picard/filtersamreads/tests/main.nf.test.snap @@ -0,0 +1,188 @@ +{ + "sarscov2 - bam - readlist - stub": { + "content": [ + { + "bai": [ + [ + { + "id": "test", + "single_end": false, + "strandedness": "forward" + }, + "test.filtered.bai:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "bam": [ + [ + { + "id": "test", + "single_end": false, + "strandedness": "forward" + }, + "test.filtered.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions_picard": [ + [ + "PICARD_FILTERSAMREADS", + "picard", + "3.4.0" + ] + ] + } + ], + "timestamp": "2026-06-22T16:01:06.848535268", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } + }, + "sarscov2 - stub": { + "content": [ + { + "bai": [ + [ + { + "id": "test", + "single_end": false, + "strandedness": "forward" + }, + "test.filtered.bai:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "bam": [ + [ + { + "id": "test", + "single_end": false, + "strandedness": "forward" + }, + "test.filtered.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions_picard": [ + [ + "PICARD_FILTERSAMREADS", + "picard", + "3.4.0" + ] + ] + } + ], + "timestamp": "2026-06-22T16:00:52.327718721", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } + }, + "sarscov2 - bam - readlist - fasta - stub": { + "content": [ + { + "bai": [ + [ + { + "id": "test", + "single_end": false, + "strandedness": "forward" + }, + "test.filtered.bai:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "bam": [ + [ + { + "id": "test", + "single_end": false, + "strandedness": "forward" + }, + "test.filtered.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions_picard": [ + [ + "PICARD_FILTERSAMREADS", + "picard", + "3.4.0" + ] + ] + } + ], + "timestamp": "2026-06-22T16:01:21.02594553", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } + }, + "sarscov2 - bam - readlist - fasta": { + "content": [ + [ + "test.filtered.bam,readsmd5:3c2a0fcd376bd70060073cb361fe91c1" + ], + [ + "test.filtered.bai" + ], + { + "versions_picard": [ + [ + "PICARD_FILTERSAMREADS", + "picard", + "3.4.0" + ] + ] + } + ], + "timestamp": "2026-06-22T15:59:26.563713599", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } + }, + "sarscov2 - bam - readlist": { + "content": [ + [ + "test.filtered.bam,readsmd5:3c2a0fcd376bd70060073cb361fe91c1" + ], + [ + "test.filtered.bai" + ], + { + "versions_picard": [ + [ + "PICARD_FILTERSAMREADS", + "picard", + "3.4.0" + ] + ] + } + ], + "timestamp": "2026-06-22T15:59:11.705080712", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } + }, + "sarscov2 - bam": { + "content": [ + [ + "test.filtered.bam,readsmd5:b9847fed94d2b7286e18caaa099658ce" + ], + [ + + ], + { + "versions_picard": [ + [ + "PICARD_FILTERSAMREADS", + "picard", + "3.4.0" + ] + ] + } + ], + "timestamp": "2026-06-22T15:54:32.309814076", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } + } +} \ No newline at end of file diff --git a/modules/nf-core/picard/filtersamreads/tests/nextflow.config b/modules/nf-core/picard/filtersamreads/tests/nextflow.config new file mode 100644 index 00000000..8ddd3d27 --- /dev/null +++ b/modules/nf-core/picard/filtersamreads/tests/nextflow.config @@ -0,0 +1,9 @@ +process { + withName: PICARD_SORTSAM { + ext.prefix = { "${meta.id}.sorted" } + } + withName: PICARD_FILTERSAMREADS { + ext.prefix = { "${meta.id}.filtered" } + ext.args = { "--CREATE_INDEX true" } + } +} diff --git a/modules/nf-core/samblaster/environment.yml b/modules/nf-core/samblaster/environment.yml new file mode 100644 index 00000000..a24590a5 --- /dev/null +++ b/modules/nf-core/samblaster/environment.yml @@ -0,0 +1,10 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda + +dependencies: + - bioconda::htslib=1.19.1 + - bioconda::samblaster=0.1.26 + - bioconda::samtools=1.19.2 diff --git a/modules/nf-core/samblaster/main.nf b/modules/nf-core/samblaster/main.nf new file mode 100644 index 00000000..cf392071 --- /dev/null +++ b/modules/nf-core/samblaster/main.nf @@ -0,0 +1,50 @@ +process SAMBLASTER { + tag "$meta.id" + label 'process_low' + + conda "${moduleDir}/environment.yml" + container "${ workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/mulled-v2-19fa9f1a5c3966b63a24166365e81da35738c5ab:60ebac4ad9c6530c0d7bf6844f52ec6916e1e0b1-0' : + 'quay.io/biocontainers/mulled-v2-19fa9f1a5c3966b63a24166365e81da35738c5ab:60ebac4ad9c6530c0d7bf6844f52ec6916e1e0b1-0' }" + + input: + tuple val(meta), path(bam) + + output: + tuple val(meta), path("*.bam"), emit: bam + path "versions.yml" , emit: versions + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def args2 = task.ext.args2 ?: '' + def args3 = task.ext.args3 ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + if( "$bam" == "${prefix}.bam" ) error "Input and output names are the same, use \"task.ext.prefix\" to disambiguate!" + """ + samtools view -h $args2 $bam | \\ + samblaster $args | \\ + samtools view $args3 -Sb - >${prefix}.bam + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + samblaster: \$( samblaster -h 2>&1 | head -n 1 | sed 's/^samblaster: Version //' ) + samtools: \$(echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//') + END_VERSIONS + """ + + stub: + def prefix = task.ext.prefix ?: "${meta.id}" + if( "$bam" == "${prefix}.bam" ) error "Input and output names are the same, use \"task.ext.prefix\" to disambiguate!" + """ + touch "${prefix}.bam" + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + samblaster: \$( samblaster -h 2>&1 | head -n 1 | sed 's/^samblaster: Version //' ) + samtools: \$(echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//') + END_VERSIONS + """ +} diff --git a/modules/nf-core/samblaster/meta.yml b/modules/nf-core/samblaster/meta.yml new file mode 100644 index 00000000..48fc89aa --- /dev/null +++ b/modules/nf-core/samblaster/meta.yml @@ -0,0 +1,61 @@ +name: samblaster +description: | + This module combines samtools and samblaster in order to use + samblaster capability to filter or tag SAM files, with the advantage + of maintaining both input and output in BAM format. + Samblaster input must contain a sequence header: for this reason it has been piped + with the "samtools view -h" command. + Additional desired arguments for samtools can be passed using: + options.args2 for the input bam file + options.args3 for the output bam file +keywords: + - sort + - duplicate marking + - bam +tools: + - samblaster: + description: | + samblaster is a fast and flexible program for marking duplicates in read-id grouped paired-end SAM files. + It can also optionally output discordant read pairs and/or split read mappings to separate SAM files, + and/or unmapped/clipped reads to a separate FASTQ file. + By default, samblaster reads SAM input from stdin and writes SAM to stdout. + documentation: https://github.com/GregoryFaust/samblaster + tool_dev_url: https://github.com/GregoryFaust/samblaster + doi: "10.1093/bioinformatics/btu314" + licence: ["MIT"] + identifier: biotools:samblaster +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - bam: + type: file + description: BAM file + pattern: "*.bam" + ontologies: [] +output: + bam: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.bam": + type: file + description: Tagged or filtered BAM file + pattern: "*.bam" + ontologies: [] + versions: + - versions.yml: + type: file + description: File containing software versions + pattern: "versions.yml" + ontologies: + - edam: http://edamontology.org/format_3750 # YAML +authors: + - "@lescai" +maintainers: + - "@lescai" + - "@gallvp" diff --git a/modules/nf-core/samblaster/tests/main.nf.test b/modules/nf-core/samblaster/tests/main.nf.test new file mode 100644 index 00000000..20d505bb --- /dev/null +++ b/modules/nf-core/samblaster/tests/main.nf.test @@ -0,0 +1,62 @@ +nextflow_process { + + name "Test Process SAMBLASTER" + script "../main.nf" + process "SAMBLASTER" + + tag "modules" + tag "modules_nfcore" + tag "samblaster" + + test("homo_sapiens-test_paired_end_umi_unsorted_bam") { + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/umi/test.paired_end.umi_unsorted.bam', checkIfExists: true) + ] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot( + bam(process.out.bam[0][1]).getHeaderMD5(), + bam(process.out.bam[0][1]).getReadsMD5(), + process.out.versions + ).match() + } + ) + } + + } + + test("stub") { + + options "-stub" + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/umi/test.paired_end.umi_unsorted.bam', checkIfExists: true) + ] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + + } + +} diff --git a/modules/nf-core/samblaster/tests/main.nf.test.snap b/modules/nf-core/samblaster/tests/main.nf.test.snap new file mode 100644 index 00000000..1a1481a1 --- /dev/null +++ b/modules/nf-core/samblaster/tests/main.nf.test.snap @@ -0,0 +1,51 @@ +{ + "stub": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + "versions.yml:md5,8a70467f2dfc2e0d8e81787223d2fc77" + ], + "bam": [ + [ + { + "id": "test", + "single_end": false + }, + "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions": [ + "versions.yml:md5,8a70467f2dfc2e0d8e81787223d2fc77" + ] + } + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-26T14:04:42.510824" + }, + "homo_sapiens-test_paired_end_umi_unsorted_bam": { + "content": [ + "e21efac7a4734b9b16f7210901cf02af", + "c1b74864f32583faf7d9bcd82217ff4c", + [ + "versions.yml:md5,8a70467f2dfc2e0d8e81787223d2fc77" + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.3" + }, + "timestamp": "2024-07-29T20:15:04.264504" + } +} \ No newline at end of file diff --git a/modules/nf-core/samblaster/tests/nextflow.config b/modules/nf-core/samblaster/tests/nextflow.config new file mode 100644 index 00000000..605e74eb --- /dev/null +++ b/modules/nf-core/samblaster/tests/nextflow.config @@ -0,0 +1,6 @@ +process { + withName: SAMBLASTER { + ext.args = '-M --addMateTags' + ext.prefix = { "${meta.id}.processed" } + } +} diff --git a/modules/nf-core/samtools/bam2fq/environment.yml b/modules/nf-core/samtools/bam2fq/environment.yml new file mode 100644 index 00000000..946bb362 --- /dev/null +++ b/modules/nf-core/samtools/bam2fq/environment.yml @@ -0,0 +1,10 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + # renovate: datasource=conda depName=bioconda/htslib + - bioconda::htslib=1.23.1 + # renovate: datasource=conda depName=bioconda/samtools + - bioconda::samtools=1.23.1 diff --git a/modules/nf-core/samtools/bam2fq/main.nf b/modules/nf-core/samtools/bam2fq/main.nf new file mode 100644 index 00000000..bbbe3560 --- /dev/null +++ b/modules/nf-core/samtools/bam2fq/main.nf @@ -0,0 +1,66 @@ +process SAMTOOLS_BAM2FQ { + tag "${meta.id}" + label 'process_low' + + conda "${moduleDir}/environment.yml" + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8c/8c5d2818c8b9f58e1fba77ce219fdaf32087ae53e857c4a496402978af26e78c/data' + : 'community.wave.seqera.io/library/htslib_samtools:1.23.1--5b6bb4ede7e612e5'}" + + input: + tuple val(meta), path(inputbam) + val split + + output: + tuple val(meta), path("*.fq.gz"), emit: reads + tuple val("${task.process}"), val('samtools'), eval("samtools version | sed '1!d;s/.* //'"), topic: versions, emit: versions_samtools + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + + if (split) { + """ + samtools \\ + bam2fq \\ + ${args} \\ + -@ ${task.cpus} \\ + -1 ${prefix}_1.fq.gz \\ + -2 ${prefix}_2.fq.gz \\ + -0 ${prefix}_other.fq.gz \\ + -s ${prefix}_singleton.fq.gz \\ + ${inputbam} + """ + } + else { + """ + samtools \\ + bam2fq \\ + ${args} \\ + -@ ${task.cpus} \\ + ${inputbam} | gzip --no-name > ${prefix}_interleaved.fq.gz + """ + } + + stub: + + def create_cmd = "echo | gzip >" + def prefix = task.ext.prefix ?: "${meta.id}" + + if (split) { + """ + ${create_cmd} ${prefix}_1.fq.gz + ${create_cmd} ${prefix}_2.fq.gz + ${create_cmd} ${prefix}_other.fq.gz + ${create_cmd} ${prefix}_singleton.fq.gz + """ + } + else { + """ + ${create_cmd} ${prefix}_interleaved.fq.gz + """ + } +} diff --git a/modules/nf-core/samtools/bam2fq/meta.yml b/modules/nf-core/samtools/bam2fq/meta.yml new file mode 100644 index 00000000..5da41f37 --- /dev/null +++ b/modules/nf-core/samtools/bam2fq/meta.yml @@ -0,0 +1,75 @@ +name: samtools_bam2fq +description: | + The module uses bam2fq method from samtools to + convert a SAM, BAM or CRAM file to FASTQ format +keywords: + - bam2fq + - samtools + - fastq +tools: + - samtools: + description: Tools for dealing with SAM, BAM and CRAM files + documentation: http://www.htslib.org/doc/1.1/samtools.html + licence: + - "MIT" + identifier: biotools:samtools +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - inputbam: + type: file + description: BAM/CRAM/SAM file + pattern: "*.{bam,cram,sam}" + ontologies: [] + - split: + type: boolean + description: | + TRUE/FALSE value to indicate if reads should be separated into + /1, /2 and if present other, or singleton. + Note: choosing TRUE will generate 4 different files. + Choosing FALSE will produce a single file, which will be interleaved in case + the input contains paired reads. +output: + reads: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.fq.gz": + type: file + description: | + FASTQ files, which will be either a group of 4 files (read_1, read_2, other and singleton) + or a single interleaved .fq.gz file if the user chooses not to split the reads. + pattern: "*.fq.gz" + ontologies: + - edam: http://edamontology.org/format_3989 + versions_samtools: + - - ${task.process}: + type: string + description: The name of the process + - samtools: + type: string + description: The name of the tool + - samtools version | sed '1!d;s/.* //': + type: eval + description: The expression to obtain the version of the tool +topics: + versions: + - - ${task.process}: + type: string + description: The name of the process + - samtools: + type: string + description: The name of the tool + - samtools version | sed '1!d;s/.* //': + type: eval + description: The expression to obtain the version of the tool +authors: + - "@lescai" +maintainers: + - "@lescai" + - "@matthdsm" diff --git a/modules/nf-core/samtools/bam2fq/tests/main.nf.test b/modules/nf-core/samtools/bam2fq/tests/main.nf.test new file mode 100644 index 00000000..80f74c4a --- /dev/null +++ b/modules/nf-core/samtools/bam2fq/tests/main.nf.test @@ -0,0 +1,117 @@ +nextflow_process { + + name "Test Process SAMTOOLS_BAM2FQ" + script "../main.nf" + process "SAMTOOLS_BAM2FQ" + + tag "modules" + tag "modules_nfcore" + tag "samtools" + tag "samtools/bam2fq" + + config "./nextflow.config" + + test("bam") { + + when { + process { + """ + split = false + + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/umi/test.paired_end.umi_converted.bam', checkIfExists: true) + ] + input[1] = split + """ + } + } + + then { + assert process.success + assert snapshot(process.out).match() + } + + } + + test("bam_split") { + + when { + process { + """ + split = true + + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/umi/test.paired_end.umi_converted.bam', checkIfExists: true) + ] + input[1] = split + """ + } + } + + then { + assert process.success + assert snapshot( + process.out.reads.collect{ + meta, read_gz -> + [ meta, read_gz.collect{ read_file -> + if (read_file ==~ /.*(other|singleton)\.fq\.gz$/) { + return file(read_file).name + } else { + return read_file + } + }] + }, + process.out.versions_samtools + ).match() + } + } + + test("bam -- stub") { + options "-stub" + + when { + process { + """ + split = false + + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/umi/test.paired_end.umi_converted.bam', checkIfExists: true) + ] + input[1] = split + """ + } + } + + then { + assert process.success + assert snapshot(process.out).match() + } + + } + + test("bam_split -- stub") { + options "-stub" + + when { + process { + """ + split = true + + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/umi/test.paired_end.umi_converted.bam', checkIfExists: true) + ] + input[1] = split + """ + } + } + + then { + assert process.success + assert snapshot(process.out).match() + } + } +} diff --git a/modules/nf-core/samtools/bam2fq/tests/main.nf.test.snap b/modules/nf-core/samtools/bam2fq/tests/main.nf.test.snap new file mode 100644 index 00000000..745114fd --- /dev/null +++ b/modules/nf-core/samtools/bam2fq/tests/main.nf.test.snap @@ -0,0 +1,164 @@ +{ + "bam -- stub": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test_interleaved.fq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "1": [ + [ + "SAMTOOLS_BAM2FQ", + "samtools", + "1.23.1" + ] + ], + "reads": [ + [ + { + "id": "test" + }, + "test_interleaved.fq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "versions_samtools": [ + [ + "SAMTOOLS_BAM2FQ", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T08:53:04.038367" + }, + "bam_split": { + "content": [ + [ + [ + { + "id": "test" + }, + [ + "test_1.fq.gz:md5,2e4f2a6f06308e4b3eb8004b4044c949", + "test_2.fq.gz:md5,bd81294b4907edab904d9692d79096f1", + "test_other.fq.gz", + "test_singleton.fq.gz" + ] + ] + ], + [ + [ + "SAMTOOLS_BAM2FQ", + "samtools", + "1.23.1" + ] + ] + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T08:52:57.34354" + }, + "bam": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test_interleaved.fq.gz:md5,d733e66d29a4b366bf9df8c42f845256" + ] + ], + "1": [ + [ + "SAMTOOLS_BAM2FQ", + "samtools", + "1.23.1" + ] + ], + "reads": [ + [ + { + "id": "test" + }, + "test_interleaved.fq.gz:md5,d733e66d29a4b366bf9df8c42f845256" + ] + ], + "versions_samtools": [ + [ + "SAMTOOLS_BAM2FQ", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T08:52:52.372133" + }, + "bam_split -- stub": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + [ + "test_1.fq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test_2.fq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test_other.fq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test_singleton.fq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ] + ], + "1": [ + [ + "SAMTOOLS_BAM2FQ", + "samtools", + "1.23.1" + ] + ], + "reads": [ + [ + { + "id": "test" + }, + [ + "test_1.fq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test_2.fq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test_other.fq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test_singleton.fq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ] + ], + "versions_samtools": [ + [ + "SAMTOOLS_BAM2FQ", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T08:53:09.129553" + } +} \ No newline at end of file diff --git a/modules/nf-core/samtools/bam2fq/tests/nextflow.config b/modules/nf-core/samtools/bam2fq/tests/nextflow.config new file mode 100644 index 00000000..e920c35f --- /dev/null +++ b/modules/nf-core/samtools/bam2fq/tests/nextflow.config @@ -0,0 +1,3 @@ +process { + ext.args = '-T RX' +} diff --git a/modules/nf-core/samtools/collatefastq/environment.yml b/modules/nf-core/samtools/collatefastq/environment.yml new file mode 100644 index 00000000..946bb362 --- /dev/null +++ b/modules/nf-core/samtools/collatefastq/environment.yml @@ -0,0 +1,10 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + # renovate: datasource=conda depName=bioconda/htslib + - bioconda::htslib=1.23.1 + # renovate: datasource=conda depName=bioconda/samtools + - bioconda::samtools=1.23.1 diff --git a/modules/nf-core/samtools/collatefastq/main.nf b/modules/nf-core/samtools/collatefastq/main.nf new file mode 100644 index 00000000..5be0b173 --- /dev/null +++ b/modules/nf-core/samtools/collatefastq/main.nf @@ -0,0 +1,68 @@ +process SAMTOOLS_COLLATEFASTQ { + tag "${meta.id}" + label 'process_low' + + conda "${moduleDir}/environment.yml" + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8c/8c5d2818c8b9f58e1fba77ce219fdaf32087ae53e857c4a496402978af26e78c/data' + : 'community.wave.seqera.io/library/htslib_samtools:1.23.1--5b6bb4ede7e612e5'}" + + input: + tuple val(meta), path(input) + tuple val(meta2), path(fasta), path(fai) + val interleave + + output: + tuple val(meta), path("*_{1,2}.fq.gz"), emit: fastq, optional: true + tuple val(meta), path("*_interleaved.fq"), emit: fastq_interleaved, optional: true + tuple val(meta), path("*_other.fq.gz"), emit: fastq_other + tuple val(meta), path("*_singleton.fq.gz"), emit: fastq_singleton, optional: true + tuple val("${task.process}"), val('samtools'), eval("samtools version | sed '1!d;s/.* //'"), topic: versions, emit: versions_samtools + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def args2 = task.ext.args2 ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + def reference = fasta ? "--reference ${fasta}" : "" + def output = interleave && !meta.single_end + ? "> ${prefix}_interleaved.fq" + : meta.single_end + ? "-1 ${prefix}_1.fq.gz -s ${prefix}_singleton.fq.gz" + : "-1 ${prefix}_1.fq.gz -2 ${prefix}_2.fq.gz -s ${prefix}_singleton.fq.gz" + + """ + samtools collate \\ + ${args} \\ + --threads ${task.cpus} \\ + ${reference} \\ + -O \\ + ${input} \\ + . | + + samtools fastq \\ + ${args2} \\ + --threads ${task.cpus} \\ + ${reference} \\ + -0 ${prefix}_other.fq.gz \\ + ${output} + """ + + stub: + def prefix = task.ext.prefix ?: "${meta.id}" + def empty = "echo '' | gzip " + def singletoncommand = "${empty}> ${prefix}_singleton.fq.gz" + def interleavecommand = interleave && !meta.single_end ? "${empty}> ${prefix}_interleaved.fq.gz" : "" + def output1command = !interleave ? "${empty}> ${prefix}_1.fq.gz" : "" + def output2command = !interleave && !meta.single_end ? "${empty}> ${prefix}_2.fq.gz" : "" + + """ + ${output1command} + ${output2command} + ${interleavecommand} + ${singletoncommand} + ${empty}> ${prefix}_other.fq.gz + """ +} diff --git a/modules/nf-core/samtools/collatefastq/meta.yml b/modules/nf-core/samtools/collatefastq/meta.yml new file mode 100644 index 00000000..0086c9f9 --- /dev/null +++ b/modules/nf-core/samtools/collatefastq/meta.yml @@ -0,0 +1,127 @@ +name: samtools_collatefastq +description: | + The module uses collate and then fastq methods from samtools to + convert a SAM, BAM or CRAM file to FASTQ format +keywords: + - bam2fq + - samtools + - fastq +tools: + - samtools: + description: Tools for dealing with SAM, BAM and CRAM files + homepage: "http://www.htslib.org" + documentation: "https://www.htslib.org/doc/samtools.html" + tool_dev_url: "https://github.com/samtools/samtools" + doi: "10.1093/bioinformatics/btp352" + licence: ["MIT"] + identifier: biotools:samtools + +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - input: + type: file + description: BAM/CRAM/SAM file + pattern: "*.{bam,cram,sam}" + ontologies: [] + - - meta2: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome' ] + - fasta: + type: file + description: Reference genome file + pattern: "*.{fa,fasta}" + ontologies: [] + - fai: + type: file + description: Reference genome index file + pattern: "*.fai" + ontologies: [] + - interleave: + type: boolean + description: | + If true, the output is a single interleaved paired-end FASTQ + If false, the output split paired-end FASTQ + default: false +output: + fastq: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*_{1,2}.fq.gz": + type: file + description: | + R1 and R2 FASTQ files + pattern: "*_{1,2}.fq.gz" + ontologies: [] + fastq_interleaved: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*_interleaved.fq": + type: file + description: | + Interleaved paired end FASTQ files + pattern: "*_interleaved.fq.gz" + ontologies: + - edam: http://edamontology.org/format_3989 # GZIP format + fastq_other: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*_other.fq.gz": + type: file + description: | + FASTQ files with reads where the READ1 and READ2 FLAG bits set are either both set or both unset. + pattern: "*_other.fq.gz" + ontologies: + - edam: http://edamontology.org/format_3989 # GZIP format + fastq_singleton: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*_singleton.fq.gz": + type: file + description: | + FASTQ files with singleton reads. + pattern: "*_singleton.fq.gz" + ontologies: + - edam: http://edamontology.org/format_3989 # GZIP format + versions_samtools: + - - ${task.process}: + type: string + description: The name of the process + - samtools: + type: string + description: The name of the tool + - samtools version | sed '1!d;s/.* //': + type: eval + description: The expression to obtain the version of the tool +topics: + versions: + - - ${task.process}: + type: string + description: The name of the process + - samtools: + type: string + description: The name of the tool + - samtools version | sed '1!d;s/.* //': + type: eval + description: The expression to obtain the version of the tool +authors: + - "@lescai" + - "@maxulysse" + - "@matthdsm" diff --git a/modules/nf-core/samtools/collatefastq/tests/main.nf.test b/modules/nf-core/samtools/collatefastq/tests/main.nf.test new file mode 100644 index 00000000..5153e5ed --- /dev/null +++ b/modules/nf-core/samtools/collatefastq/tests/main.nf.test @@ -0,0 +1,230 @@ +nextflow_process { + + name "Test Process SAMTOOLS_COLLATEFASTQ" + script "../main.nf" + process "SAMTOOLS_COLLATEFASTQ" + + tag "modules" + tag "modules_nfcore" + tag "samtools" + tag "samtools/collatefastq" + + test("human - bam - paired_end") { + + when { + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true) + ] + input[1] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true), + [] + ] + input[2] = false + """ + } + } + + then { + assert process.success + assert snapshot( + process.out.fastq, + ["versions_samtools": process.out.versions_samtools] + ).match() + } + + } + + test("human - bam - single_end") { + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:true ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.single_end.bam', checkIfExists: true) + ] + input[1] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true), + [] + ] + input[2] = false + """ + } + } + + then { + assert process.success + assert snapshot( + process.out.fastq_other, + ["versions_samtools": process.out.versions_samtools] + ).match() + } + + } + + test("human - cram") { + + when { + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.sorted.cram', checkIfExists: true) + ] + input[1] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true), + [] + ] + input[2] = false + """ + } + } + + then { + assert process.success + assert snapshot( + process.out.fastq, + ["versions_samtools": process.out.versions_samtools] + ).match() + } + + } + + test("human - bam - paired_end - interleaved") { + + when { + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true) + ] + input[1] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true), + [] + ] + input[2] = true + """ + } + } + + then { + assert process.success + assert snapshot( + process.out.fastq_interleaved, + process.out.fastq_singleton, + process.out.fastq, + ["versions_samtools": process.out.versions_samtools] + ).match() + } + + } + + test("human - bam - paired_end -stub") { + options "-stub" + when { + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true) + ] + input[1] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true), + [] + ] + input[2] = false + """ + } + } + + then { + assert snapshot(sanitizeOutput(process.out)).match() + } + + } + + test("human - bam - single_end - stub") { + options "-stub" + when { + process { + """ + input[0] = [ + [ id:'test', single_end:true ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.single_end.bam', checkIfExists: true) + ] + input[1] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true), + [] + ] + input[2] = false + """ + } + } + + then { + assert snapshot(sanitizeOutput(process.out)).match() + } + + } + + test("human - cram - stub") { + options "-stub" + when { + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.sorted.cram', checkIfExists: true) + ] + input[1] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true), + [] + ] + input[2] = false + """ + } + } + + then { + assert snapshot(sanitizeOutput(process.out)).match() + } + + } + + test("human - bam - paired_end - interleaved - stub") { + options "-stub" + when { + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true) + ] + input[1] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true), + [] + ] + input[2] = true + """ + } + } + + then { + assert snapshot(sanitizeOutput(process.out)).match() + } + + } + +} diff --git a/modules/nf-core/samtools/collatefastq/tests/main.nf.test.snap b/modules/nf-core/samtools/collatefastq/tests/main.nf.test.snap new file mode 100644 index 00000000..f775f26a --- /dev/null +++ b/modules/nf-core/samtools/collatefastq/tests/main.nf.test.snap @@ -0,0 +1,303 @@ +{ + "human - bam - paired_end - interleaved - stub": { + "content": [ + { + "fastq": [ + + ], + "fastq_interleaved": [ + + ], + "fastq_other": [ + [ + { + "id": "test" + }, + "test_other.fq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "fastq_singleton": [ + [ + { + "id": "test" + }, + "test_singleton.fq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "versions_samtools": [ + [ + "SAMTOOLS_COLLATEFASTQ", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T08:55:27.294329" + }, + "human - bam - single_end": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true + }, + "test_other.fq.gz:md5,a6c101a06b5c9d5f8b91c0acd4ac5045" + ] + ], + { + "versions_samtools": [ + [ + "SAMTOOLS_COLLATEFASTQ", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T08:54:47.779837" + }, + "human - bam - paired_end -stub": { + "content": [ + { + "fastq": [ + [ + { + "id": "test" + }, + [ + "test_1.fq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test_2.fq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ] + ], + "fastq_interleaved": [ + + ], + "fastq_other": [ + [ + { + "id": "test" + }, + "test_other.fq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "fastq_singleton": [ + [ + { + "id": "test" + }, + "test_singleton.fq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "versions_samtools": [ + [ + "SAMTOOLS_COLLATEFASTQ", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T08:55:10.508565" + }, + "human - cram - stub": { + "content": [ + { + "fastq": [ + [ + { + "id": "test" + }, + [ + "test_1.fq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test_2.fq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ] + ], + "fastq_interleaved": [ + + ], + "fastq_other": [ + [ + { + "id": "test" + }, + "test_other.fq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "fastq_singleton": [ + [ + { + "id": "test" + }, + "test_singleton.fq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "versions_samtools": [ + [ + "SAMTOOLS_COLLATEFASTQ", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T08:55:21.735541" + }, + "human - cram": { + "content": [ + [ + [ + { + "id": "test" + }, + [ + "test_1.fq.gz:md5,1cf671980643af6c1148ae5e8e94e350", + "test_2.fq.gz:md5,38c1e9829115f9025f95435c5a4373d3" + ] + ] + ], + { + "versions_samtools": [ + [ + "SAMTOOLS_COLLATEFASTQ", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T08:54:57.148418" + }, + "human - bam - paired_end - interleaved": { + "content": [ + [ + [ + { + "id": "test" + }, + "test_interleaved.fq:md5,4f2b93d492f0442fa89b02532c9b3530" + ] + ], + [ + + ], + [ + + ], + { + "versions_samtools": [ + [ + "SAMTOOLS_COLLATEFASTQ", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T08:55:04.696205" + }, + "human - bam - single_end - stub": { + "content": [ + { + "fastq": [ + [ + { + "id": "test", + "single_end": true + }, + "test_1.fq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "fastq_interleaved": [ + + ], + "fastq_other": [ + [ + { + "id": "test", + "single_end": true + }, + "test_other.fq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "fastq_singleton": [ + [ + { + "id": "test", + "single_end": true + }, + "test_singleton.fq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "versions_samtools": [ + [ + "SAMTOOLS_COLLATEFASTQ", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T08:55:16.10727" + }, + "human - bam - paired_end": { + "content": [ + [ + [ + { + "id": "test" + }, + [ + "test_1.fq.gz:md5,1cf671980643af6c1148ae5e8e94e350", + "test_2.fq.gz:md5,38c1e9829115f9025f95435c5a4373d3" + ] + ] + ], + { + "versions_samtools": [ + [ + "SAMTOOLS_COLLATEFASTQ", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T08:54:40.873388" + } +} \ No newline at end of file diff --git a/modules/nf-core/samtools/convert/environment.yml b/modules/nf-core/samtools/convert/environment.yml new file mode 100644 index 00000000..946bb362 --- /dev/null +++ b/modules/nf-core/samtools/convert/environment.yml @@ -0,0 +1,10 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + # renovate: datasource=conda depName=bioconda/htslib + - bioconda::htslib=1.23.1 + # renovate: datasource=conda depName=bioconda/samtools + - bioconda::samtools=1.23.1 diff --git a/modules/nf-core/samtools/convert/main.nf b/modules/nf-core/samtools/convert/main.nf new file mode 100644 index 00000000..492986db --- /dev/null +++ b/modules/nf-core/samtools/convert/main.nf @@ -0,0 +1,49 @@ +process SAMTOOLS_CONVERT { + tag "${meta.id}" + label 'process_low' + + conda "${moduleDir}/environment.yml" + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8c/8c5d2818c8b9f58e1fba77ce219fdaf32087ae53e857c4a496402978af26e78c/data' + : 'community.wave.seqera.io/library/htslib_samtools:1.23.1--5b6bb4ede7e612e5'}" + + input: + tuple val(meta), path(input), path(index) + tuple val(meta2), path(fasta), path(fai) + + output: + tuple val(meta), path("*.bam"), emit: bam, optional: true + tuple val(meta), path("*.cram"), emit: cram, optional: true + tuple val(meta), path("*.bai"), emit: bai, optional: true + tuple val(meta), path("*.crai"), emit: crai, optional: true + tuple val("${task.process}"), val('samtools'), eval("samtools version | sed '1!d;s/.* //'"), topic: versions, emit: versions_samtools + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + def output_extension = input.getExtension() == "bam" ? "cram" : "bam" + + """ + samtools view \\ + --threads ${task.cpus} \\ + --reference ${fasta} \\ + ${args} \\ + ${input} \\ + -o ${prefix}.${output_extension} + + samtools index -@${task.cpus} ${prefix}.${output_extension} + """ + + stub: + def prefix = task.ext.prefix ?: "${meta.id}" + def output_extension = input.getExtension() == "bam" ? "cram" : "bam" + def index_extension = output_extension == "bam" ? "bai" : "crai" + + """ + touch ${prefix}.${output_extension} + touch ${prefix}.${output_extension}.${index_extension} + """ +} diff --git a/modules/nf-core/samtools/convert/meta.yml b/modules/nf-core/samtools/convert/meta.yml new file mode 100644 index 00000000..286f812f --- /dev/null +++ b/modules/nf-core/samtools/convert/meta.yml @@ -0,0 +1,122 @@ +name: samtools_convert +description: convert and then index CRAM -> BAM or BAM -> CRAM file +keywords: + - view + - index + - bam + - cram +tools: + - samtools: + description: | + SAMtools is a set of utilities for interacting with and post-processing + short DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li. + These files are generated as output by short read aligners like BWA. + homepage: http://www.htslib.org/ + documentation: http://www.htslib.org/doc/samtools.html + doi: 10.1093/bioinformatics/btp352 + licence: ["MIT"] + identifier: biotools:samtools +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - input: + type: file + description: BAM/CRAM file + pattern: "*.{bam,cram}" + ontologies: [] + - index: + type: file + description: BAM/CRAM index file + pattern: "*.{bai,crai}" + ontologies: [] + - - meta2: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - fasta: + type: file + description: Reference file to create the CRAM file + pattern: "*.{fasta,fa}" + ontologies: [] + - fai: + type: file + description: Reference index file to create the CRAM file + pattern: "*.{fai}" + ontologies: [] +output: + bam: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.bam": + type: file + description: filtered/converted BAM file + pattern: "*{.bam}" + ontologies: [] + cram: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.cram": + type: file + description: filtered/converted CRAM file + pattern: "*{cram}" + ontologies: [] + bai: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.bai": + type: file + description: filtered/converted BAM index + pattern: "*{.bai}" + ontologies: [] + crai: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.crai": + type: file + description: filtered/converted CRAM index + pattern: "*{.crai}" + ontologies: [] + versions_samtools: + - - ${task.process}: + type: string + description: The name of the process + - samtools: + type: string + description: The name of the tool + - samtools version | sed '1!d;s/.* //': + type: eval + description: The expression to obtain the version of the tool +topics: + versions: + - - ${task.process}: + type: string + description: The name of the process + - samtools: + type: string + description: The name of the tool + - samtools version | sed '1!d;s/.* //': + type: eval + description: The expression to obtain the version of the tool +authors: + - "@FriederikeHanssen" + - "@maxulysse" +maintainers: + - "@FriederikeHanssen" + - "@maxulysse" + - "@matthdsm" diff --git a/modules/nf-core/samtools/convert/tests/main.nf.test b/modules/nf-core/samtools/convert/tests/main.nf.test new file mode 100644 index 00000000..638caabe --- /dev/null +++ b/modules/nf-core/samtools/convert/tests/main.nf.test @@ -0,0 +1,96 @@ +nextflow_process { + + name "Test Process SAMTOOLS_CONVERT" + script "../main.nf" + process "SAMTOOLS_CONVERT" + + tag "modules" + tag "modules_nfcore" + tag "samtools" + tag "samtools/convert" + + test("sarscov2 - [bam, bai], [fasta, fai]") { + + when { + process { + """ + input[0] = [ + [id: 'test'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai', checkIfExists: true) + ] + input[1] = [ + [ id:'fasta' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta.fai', checkIfExists: true) + ] + """ + } + } + + then { + assert process.success + assert snapshot( + process.out.cram.collect{ meta, cram_file -> [ meta, file(cram_file).name] }, + process.out.crai.collect{ meta, crai_file -> [ meta, file(crai_file).name] }, + ["versions_samtools": process.out.versions_samtools] + ).match() + } + } + + test("homo_sapiens - [cram, crai], [fasta, fai]") { + + when { + process { + """ + input[0] = [ + [id: 'test'], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.sorted.cram', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.sorted.cram.crai', checkIfExists: true) + ] + input[1] = [ + [ id:'fasta' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.fai', checkIfExists: true) + ] + """ + } + } + + then { + assert process.success + assert snapshot( + process.out.bam.collect{ meta, bam_file -> [ meta, file(bam_file).name, bam(bam_file).getReadsMD5()] }, + process.out.bai.collect{ meta, bai_file -> [ meta, file(bai_file).name] }, + ["versions_samtools": process.out.versions_samtools] + ).match() + } + } + + test("sarscov2 - [bam, bai], [fasta, fai] - stub") { + + options "-stub" + + when { + process { + """ + input[0] = [ + [id: 'test'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai', checkIfExists: true) + ] + input[1] = [ + [ id:'fasta' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta.fai', checkIfExists: true) + ] + """ + } + } + + then { + assert process.success + assert snapshot(sanitizeOutput(process.out)).match() + } + } +} diff --git a/modules/nf-core/samtools/convert/tests/main.nf.test.snap b/modules/nf-core/samtools/convert/tests/main.nf.test.snap new file mode 100644 index 00000000..0f535753 --- /dev/null +++ b/modules/nf-core/samtools/convert/tests/main.nf.test.snap @@ -0,0 +1,111 @@ +{ + "sarscov2 - [bam, bai], [fasta, fai]": { + "content": [ + [ + [ + { + "id": "test" + }, + "test.cram" + ] + ], + [ + [ + { + "id": "test" + }, + "test.cram.crai" + ] + ], + { + "versions_samtools": [ + [ + "SAMTOOLS_CONVERT", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T08:55:56.895841" + }, + "homo_sapiens - [cram, crai], [fasta, fai]": { + "content": [ + [ + [ + { + "id": "test" + }, + "test.bam", + "2f11e4fe3390b8ad0a1852616fd1da04" + ] + ], + [ + [ + { + "id": "test" + }, + "test.bam.bai" + ] + ], + { + "versions_samtools": [ + [ + "SAMTOOLS_CONVERT", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T08:56:03.056799" + }, + "sarscov2 - [bam, bai], [fasta, fai] - stub": { + "content": [ + { + "bai": [ + + ], + "bam": [ + + ], + "crai": [ + [ + { + "id": "test" + }, + "test.cram.crai:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "cram": [ + [ + { + "id": "test" + }, + "test.cram:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions_samtools": [ + [ + "SAMTOOLS_CONVERT", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T08:56:09.165934" + } +} \ No newline at end of file diff --git a/modules/nf-core/samtools/faidx/environment.yml b/modules/nf-core/samtools/faidx/environment.yml new file mode 100644 index 00000000..946bb362 --- /dev/null +++ b/modules/nf-core/samtools/faidx/environment.yml @@ -0,0 +1,10 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + # renovate: datasource=conda depName=bioconda/htslib + - bioconda::htslib=1.23.1 + # renovate: datasource=conda depName=bioconda/samtools + - bioconda::samtools=1.23.1 diff --git a/modules/nf-core/samtools/faidx/main.nf b/modules/nf-core/samtools/faidx/main.nf new file mode 100644 index 00000000..175a53a8 --- /dev/null +++ b/modules/nf-core/samtools/faidx/main.nf @@ -0,0 +1,49 @@ +process SAMTOOLS_FAIDX { + tag "${fasta}" + label 'process_single' + + conda "${moduleDir}/environment.yml" + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8c/8c5d2818c8b9f58e1fba77ce219fdaf32087ae53e857c4a496402978af26e78c/data' + : 'community.wave.seqera.io/library/htslib_samtools:1.23.1--5b6bb4ede7e612e5'}" + + input: + tuple val(meta), path(fasta), path(fai) + val get_sizes + + output: + tuple val(meta), path("*.{fa,fasta}"), emit: fa, optional: true + tuple val(meta), path("*.sizes"), emit: sizes, optional: true + tuple val(meta), path("*.fai"), emit: fai, optional: true + tuple val(meta), path("*.gzi"), emit: gzi, optional: true + tuple val("${task.process}"), val('samtools'), eval("samtools version | sed '1!d;s/.* //'"), topic: versions, emit: versions_samtools + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def get_sizes_command = get_sizes ? "cut -f 1,2 ${fasta}.fai > ${fasta}.sizes" : '' + """ + samtools \\ + faidx \\ + ${fasta} \\ + ${args} + + ${get_sizes_command} + """ + + stub: + def match = (task.ext.args =~ /-o(?:utput)?\s(.*)\s?/).findAll() + def fastacmd = match[0] ? "touch ${match[0][1]}" : '' + def get_sizes_command = get_sizes ? "touch ${fasta}.sizes" : '' + """ + ${fastacmd} + touch ${fasta}.fai + if [[ "${fasta.extension}" == "gz" ]]; then + touch ${fasta}.gzi + fi + + ${get_sizes_command} + """ +} diff --git a/modules/nf-core/samtools/faidx/meta.yml b/modules/nf-core/samtools/faidx/meta.yml new file mode 100644 index 00000000..529f7a26 --- /dev/null +++ b/modules/nf-core/samtools/faidx/meta.yml @@ -0,0 +1,113 @@ +name: samtools_faidx +description: Index FASTA file, and optionally generate a file of chromosome + sizes +keywords: + - index + - fasta + - faidx + - chromosome +tools: + - samtools: + description: | + SAMtools is a set of utilities for interacting with and post-processing + short DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li. + These files are generated as output by short read aligners like BWA. + homepage: http://www.htslib.org/ + documentation: http://www.htslib.org/doc/samtools.html + doi: 10.1093/bioinformatics/btp352 + licence: + - "MIT" + identifier: biotools:samtools +input: + - - meta: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'test' ] + - fasta: + type: file + description: FASTA file + pattern: "*.{fa,fasta}" + ontologies: [] + - fai: + type: file + description: FASTA index file + pattern: "*.{fai}" + ontologies: [] + - get_sizes: + type: boolean + description: use cut to get the sizes of the index (true) or not (false) +output: + fa: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.{fa,fasta}": + type: file + description: FASTA file + pattern: "*.{fa}" + ontologies: [] + sizes: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.sizes": + type: file + description: File containing chromosome lengths + pattern: "*.{sizes}" + ontologies: [] + fai: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.fai": + type: file + description: FASTA index file + pattern: "*.{fai}" + ontologies: [] + gzi: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.gzi": + type: file + description: Optional gzip index file for compressed inputs + pattern: "*.gzi" + ontologies: [] + versions_samtools: + - - ${task.process}: + type: string + description: The process the versions were collected from + - samtools: + type: string + description: The tool name + - "samtools version | sed '1!d;s/.* //'": + type: eval + description: The command used to generate the version of the tool +topics: + versions: + - - ${task.process}: + type: string + description: The process the versions were collected from + - samtools: + type: string + description: The tool name + - "samtools version | sed '1!d;s/.* //'": + type: eval + description: The command used to generate the version of the tool +authors: + - "@drpatelh" + - "@ewels" + - "@phue" +maintainers: + - "@maxulysse" + - "@phue" + - "@matthdsm" diff --git a/modules/nf-core/samtools/faidx/tests/main.nf.test b/modules/nf-core/samtools/faidx/tests/main.nf.test new file mode 100644 index 00000000..9a86db86 --- /dev/null +++ b/modules/nf-core/samtools/faidx/tests/main.nf.test @@ -0,0 +1,253 @@ +nextflow_process { + + name "Test Process SAMTOOLS_FAIDX" + script "../main.nf" + process "SAMTOOLS_FAIDX" + + tag "modules" + tag "modules_nfcore" + tag "samtools" + tag "samtools/faidx" + config "./nextflow.config" + + test("test_samtools_faidx") { + + when { + params { + module_args = '' + } + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true), + [] + ] + input[1] = false + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match()} + ) + } + } + + test("test_samtools_faidx_bgzip") { + + when { + params { + module_args = '' + } + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta.gz', checkIfExists: true), + [] + ] + input[1] = false + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match()} + ) + } + } + + test("test_samtools_faidx_fasta") { + + when { + params { + module_args = 'MT192765.1 -o extract.fa' + } + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta.fai', checkIfExists: true) + ] + input[1] = false + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match()} + ) + } + } + + test("test_samtools_faidx_stub_fasta") { + + options "-stub" + when { + params { + module_args = '-o extract.fa' + } + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta.fai', checkIfExists: true) + ] + input[1] = false + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match()} + ) + } + } + + test("test_samtools_faidx_stub_fai") { + + options "-stub" + when { + params { + module_args = '' + } + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true), + [] + ] + input[1] = false + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match()} + ) + } + } + + test("test_samtools_faidx_get_sizes") { + + when { + params { + module_args = '' + } + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true), + [] + ] + input[1] = true + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match()} + ) + } + } + + test("test_samtools_faidx_get_sizes_bgzip") { + + when { + params { + module_args = '' + } + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta.gz', checkIfExists: true), + [] + ] + input[1] = true + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match()} + ) + } + } + + test("test_samtools_faidx_get_sizes - stub") { + + options "-stub" + + when { + params { + module_args = '' + } + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true), + [] + ] + input[1] = true + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match()} + ) + } + } + + test("test_samtools_faidx_get_sizes_bgzip - stub") { + + options "-stub" + + when { + params { + module_args = '' + } + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta.gz', checkIfExists: true), + [] + ] + input[1] = true + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match()} + ) + } + } + +} diff --git a/modules/nf-core/samtools/faidx/tests/main.nf.test.snap b/modules/nf-core/samtools/faidx/tests/main.nf.test.snap new file mode 100644 index 00000000..e879d962 --- /dev/null +++ b/modules/nf-core/samtools/faidx/tests/main.nf.test.snap @@ -0,0 +1,352 @@ +{ + "test_samtools_faidx": { + "content": [ + { + "fa": [ + + ], + "fai": [ + [ + { + "id": "test" + }, + "genome.fasta.fai:md5,9da2a56e2853dc8c0b86a9e7229c9fe5" + ] + ], + "gzi": [ + + ], + "sizes": [ + + ], + "versions_samtools": [ + [ + "SAMTOOLS_FAIDX", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T08:57:29.747964" + }, + "test_samtools_faidx_get_sizes_bgzip - stub": { + "content": [ + { + "fa": [ + + ], + "fai": [ + [ + { + "id": "test" + }, + "genome.fasta.gz.fai:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "gzi": [ + [ + { + "id": "test" + }, + "genome.fasta.gz.gzi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "sizes": [ + [ + { + "id": "test" + }, + "genome.fasta.gz.sizes:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions_samtools": [ + [ + "SAMTOOLS_FAIDX", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T08:58:10.04235" + }, + "test_samtools_faidx_get_sizes": { + "content": [ + { + "fa": [ + + ], + "fai": [ + [ + { + "id": "test" + }, + "genome.fasta.fai:md5,9da2a56e2853dc8c0b86a9e7229c9fe5" + ] + ], + "gzi": [ + + ], + "sizes": [ + [ + { + "id": "test" + }, + "genome.fasta.sizes:md5,a57c401f27ae5133823fb09fb21c8a3c" + ] + ], + "versions_samtools": [ + [ + "SAMTOOLS_FAIDX", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T08:57:55.552612" + }, + "test_samtools_faidx_bgzip": { + "content": [ + { + "fa": [ + + ], + "fai": [ + [ + { + "id": "test" + }, + "genome.fasta.gz.fai:md5,9da2a56e2853dc8c0b86a9e7229c9fe5" + ] + ], + "gzi": [ + [ + { + "id": "test" + }, + "genome.fasta.gz.gzi:md5,7dea362b3fac8e00956a4952a3d4f474" + ] + ], + "sizes": [ + + ], + "versions_samtools": [ + [ + "SAMTOOLS_FAIDX", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T08:57:34.346045" + }, + "test_samtools_faidx_fasta": { + "content": [ + { + "fa": [ + [ + { + "id": "test" + }, + "extract.fa:md5,6a0774a0ad937ba0bfd2ac7457d90f36" + ] + ], + "fai": [ + + ], + "gzi": [ + + ], + "sizes": [ + + ], + "versions_samtools": [ + [ + "SAMTOOLS_FAIDX", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T08:57:39.136814" + }, + "test_samtools_faidx_get_sizes - stub": { + "content": [ + { + "fa": [ + + ], + "fai": [ + [ + { + "id": "test" + }, + "genome.fasta.fai:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "gzi": [ + + ], + "sizes": [ + [ + { + "id": "test" + }, + "genome.fasta.sizes:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions_samtools": [ + [ + "SAMTOOLS_FAIDX", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T08:58:05.200994" + }, + "test_samtools_faidx_stub_fasta": { + "content": [ + { + "fa": [ + [ + { + "id": "test" + }, + "extract.fa:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "fai": [ + + ], + "gzi": [ + + ], + "sizes": [ + + ], + "versions_samtools": [ + [ + "SAMTOOLS_FAIDX", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T08:57:44.105654" + }, + "test_samtools_faidx_stub_fai": { + "content": [ + { + "fa": [ + + ], + "fai": [ + [ + { + "id": "test" + }, + "genome.fasta.fai:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "gzi": [ + + ], + "sizes": [ + + ], + "versions_samtools": [ + [ + "SAMTOOLS_FAIDX", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T08:57:50.839162" + }, + "test_samtools_faidx_get_sizes_bgzip": { + "content": [ + { + "fa": [ + + ], + "fai": [ + [ + { + "id": "test" + }, + "genome.fasta.gz.fai:md5,9da2a56e2853dc8c0b86a9e7229c9fe5" + ] + ], + "gzi": [ + [ + { + "id": "test" + }, + "genome.fasta.gz.gzi:md5,7dea362b3fac8e00956a4952a3d4f474" + ] + ], + "sizes": [ + [ + { + "id": "test" + }, + "genome.fasta.gz.sizes:md5,a57c401f27ae5133823fb09fb21c8a3c" + ] + ], + "versions_samtools": [ + [ + "SAMTOOLS_FAIDX", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T08:58:00.460031" + } +} \ No newline at end of file diff --git a/modules/nf-core/samtools/faidx/tests/nextflow.config b/modules/nf-core/samtools/faidx/tests/nextflow.config new file mode 100644 index 00000000..b3c4d0cb --- /dev/null +++ b/modules/nf-core/samtools/faidx/tests/nextflow.config @@ -0,0 +1,6 @@ +process { + + withName: SAMTOOLS_FAIDX { + ext.args = params.module_args + } +} diff --git a/modules/nf-core/samtools/flagstat/environment.yml b/modules/nf-core/samtools/flagstat/environment.yml new file mode 100644 index 00000000..946bb362 --- /dev/null +++ b/modules/nf-core/samtools/flagstat/environment.yml @@ -0,0 +1,10 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + # renovate: datasource=conda depName=bioconda/htslib + - bioconda::htslib=1.23.1 + # renovate: datasource=conda depName=bioconda/samtools + - bioconda::samtools=1.23.1 diff --git a/modules/nf-core/samtools/flagstat/main.nf b/modules/nf-core/samtools/flagstat/main.nf new file mode 100644 index 00000000..2d9588b9 --- /dev/null +++ b/modules/nf-core/samtools/flagstat/main.nf @@ -0,0 +1,47 @@ +process SAMTOOLS_FLAGSTAT { + tag "${meta.id}" + label 'process_single' + + conda "${moduleDir}/environment.yml" + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8c/8c5d2818c8b9f58e1fba77ce219fdaf32087ae53e857c4a496402978af26e78c/data' + : 'community.wave.seqera.io/library/htslib_samtools:1.23.1--5b6bb4ede7e612e5'}" + + input: + tuple val(meta), path(bam), path(bai) + + output: + tuple val(meta), path("*.flagstat"), emit: flagstat + tuple val("${task.process}"), val('samtools'), eval("samtools version | sed '1!d;s/.* //'"), emit: versions_samtools, topic: versions + + when: + task.ext.when == null || task.ext.when + + script: + def prefix = task.ext.prefix ?: "${meta.id}" + """ + samtools \\ + flagstat \\ + --threads ${task.cpus} \\ + ${bam} \\ + > ${prefix}.flagstat + """ + + stub: + def prefix = task.ext.prefix ?: "${meta.id}" + """ + cat <<-END_FLAGSTAT > ${prefix}.flagstat + 1000000 + 0 in total (QC-passed reads + QC-failed reads) + 0 + 0 secondary + 0 + 0 supplementary + 0 + 0 duplicates + 900000 + 0 mapped (90.00% : N/A) + 1000000 + 0 paired in sequencing + 500000 + 0 read1 + 500000 + 0 read2 + 800000 + 0 properly paired (80.00% : N/A) + 850000 + 0 with mate mapped to a different chr + 50000 + 0 with mate mapped to a different chr (mapQ>=5) + END_FLAGSTAT + """ +} diff --git a/modules/nf-core/samtools/flagstat/meta.yml b/modules/nf-core/samtools/flagstat/meta.yml new file mode 100644 index 00000000..f658acdd --- /dev/null +++ b/modules/nf-core/samtools/flagstat/meta.yml @@ -0,0 +1,76 @@ +name: samtools_flagstat +description: Counts the number of alignments in a BAM/CRAM/SAM file for each + FLAG type +keywords: + - stats + - mapping + - counts + - bam + - sam + - cram +tools: + - samtools: + description: | + SAMtools is a set of utilities for interacting with and post-processing + short DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li. + These files are generated as output by short read aligners like BWA. + homepage: http://www.htslib.org/ + documentation: http://www.htslib.org/doc/samtools.html + doi: 10.1093/bioinformatics/btp352 + licence: + - "MIT" + identifier: biotools:samtools +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - bam: + type: file + description: BAM/CRAM/SAM file + pattern: "*.{bam,cram,sam}" + ontologies: [] + - bai: + type: file + description: Index for BAM/CRAM/SAM file + pattern: "*.{bai,crai,sai}" + ontologies: [] +output: + flagstat: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.flagstat": + type: file + description: File containing samtools flagstat output + pattern: "*.{flagstat}" + ontologies: [] + versions_samtools: + - - ${task.process}: + type: string + description: The name of the process + - samtools: + type: string + description: The name of the tool + - samtools version | sed '1!d;s/.* //': + type: eval + description: The expression to obtain the version of the tool +topics: + versions: + - - ${task.process}: + type: string + description: The name of the process + - samtools: + type: string + description: The name of the tool + - samtools version | sed '1!d;s/.* //': + type: eval + description: The expression to obtain the version of the tool +authors: + - "@drpatelh" +maintainers: + - "@drpatelh" + - "@matthdsm" diff --git a/modules/nf-core/samtools/flagstat/samtools-flagstat.diff b/modules/nf-core/samtools/flagstat/samtools-flagstat.diff new file mode 100644 index 00000000..84aa38e8 --- /dev/null +++ b/modules/nf-core/samtools/flagstat/samtools-flagstat.diff @@ -0,0 +1,14 @@ +Changes in module 'nf-core/samtools/flagstat' +--- modules/nf-core/samtools/flagstat/meta.yml ++++ modules/nf-core/samtools/flagstat/meta.yml +@@ -2,7 +2,7 @@ + description: Counts the number of alignments in a BAM/CRAM/SAM file for each FLAG type + keywords: + - stats +- - mapping ++ - bam_align + - counts + - bam + - sam + +************************************************************ diff --git a/modules/nf-core/samtools/flagstat/tests/main.nf.test b/modules/nf-core/samtools/flagstat/tests/main.nf.test new file mode 100644 index 00000000..3b648a37 --- /dev/null +++ b/modules/nf-core/samtools/flagstat/tests/main.nf.test @@ -0,0 +1,56 @@ +nextflow_process { + + name "Test Process SAMTOOLS_FLAGSTAT" + script "../main.nf" + process "SAMTOOLS_FLAGSTAT" + tag "modules" + tag "modules_nfcore" + tag "samtools" + tag "samtools/flagstat" + + test("BAM") { + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai', checkIfExists: true) + ]) + """ + } + } + + then { + assertAll ( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("BAM - stub") { + + options "-stub" + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai', checkIfExists: true) + ]) + """ + } + } + + then { + assertAll ( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } +} diff --git a/modules/nf-core/samtools/flagstat/tests/main.nf.test.snap b/modules/nf-core/samtools/flagstat/tests/main.nf.test.snap new file mode 100644 index 00000000..b110c47c --- /dev/null +++ b/modules/nf-core/samtools/flagstat/tests/main.nf.test.snap @@ -0,0 +1,88 @@ +{ + "BAM - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + "test.flagstat:md5,67394650dbae96d1a4fcc70484822159" + ] + ], + "1": [ + [ + "SAMTOOLS_FLAGSTAT", + "samtools", + "1.23.1" + ] + ], + "flagstat": [ + [ + { + "id": "test", + "single_end": false + }, + "test.flagstat:md5,67394650dbae96d1a4fcc70484822159" + ] + ], + "versions_samtools": [ + [ + "SAMTOOLS_FLAGSTAT", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T08:59:26.188788" + }, + "BAM": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + "test.flagstat:md5,4f7ffd1e6a5e85524d443209ac97d783" + ] + ], + "1": [ + [ + "SAMTOOLS_FLAGSTAT", + "samtools", + "1.23.1" + ] + ], + "flagstat": [ + [ + { + "id": "test", + "single_end": false + }, + "test.flagstat:md5,4f7ffd1e6a5e85524d443209ac97d783" + ] + ], + "versions_samtools": [ + [ + "SAMTOOLS_FLAGSTAT", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T08:59:20.212002" + } +} \ No newline at end of file diff --git a/modules/nf-core/samtools/idxstats/environment.yml b/modules/nf-core/samtools/idxstats/environment.yml new file mode 100644 index 00000000..946bb362 --- /dev/null +++ b/modules/nf-core/samtools/idxstats/environment.yml @@ -0,0 +1,10 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + # renovate: datasource=conda depName=bioconda/htslib + - bioconda::htslib=1.23.1 + # renovate: datasource=conda depName=bioconda/samtools + - bioconda::samtools=1.23.1 diff --git a/modules/nf-core/samtools/idxstats/main.nf b/modules/nf-core/samtools/idxstats/main.nf new file mode 100644 index 00000000..4d74768a --- /dev/null +++ b/modules/nf-core/samtools/idxstats/main.nf @@ -0,0 +1,38 @@ +process SAMTOOLS_IDXSTATS { + tag "${meta.id}" + label 'process_single' + + conda "${moduleDir}/environment.yml" + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8c/8c5d2818c8b9f58e1fba77ce219fdaf32087ae53e857c4a496402978af26e78c/data' + : 'community.wave.seqera.io/library/htslib_samtools:1.23.1--5b6bb4ede7e612e5'}" + + input: + tuple val(meta), path(bam), path(bai) + + output: + tuple val(meta), path("*.idxstats"), emit: idxstats + tuple val("${task.process}"), val('samtools'), eval("samtools version | sed '1!d;s/.* //'"), emit: versions_samtools, topic: versions + + when: + task.ext.when == null || task.ext.when + + script: + def prefix = task.ext.prefix ?: "${meta.id}" + + """ + # Note: --threads value represents *additional* CPUs to allocate (total CPUs = 1 + --threads). + samtools \\ + idxstats \\ + --threads ${task.cpus - 1} \\ + ${bam} \\ + > ${prefix}.idxstats + """ + + stub: + def prefix = task.ext.prefix ?: "${meta.id}" + + """ + touch ${prefix}.idxstats + """ +} diff --git a/modules/nf-core/samtools/idxstats/meta.yml b/modules/nf-core/samtools/idxstats/meta.yml new file mode 100644 index 00000000..f6be83fd --- /dev/null +++ b/modules/nf-core/samtools/idxstats/meta.yml @@ -0,0 +1,76 @@ +name: samtools_idxstats +description: Reports alignment summary statistics for a BAM/CRAM/SAM file +keywords: + - stats + - bam_align + - counts + - chromosome + - bam + - sam + - cram +tools: + - samtools: + description: | + SAMtools is a set of utilities for interacting with and post-processing + short DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li. + These files are generated as output by short read aligners like BWA. + homepage: http://www.htslib.org/ + documentation: http://www.htslib.org/doc/samtools.html + doi: 10.1093/bioinformatics/btp352 + licence: + - "MIT" + identifier: biotools:samtools +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - bam: + type: file + description: BAM/CRAM/SAM file + pattern: "*.{bam,cram,sam}" + ontologies: [] + - bai: + type: file + description: Index for BAM/CRAM/SAM file + pattern: "*.{bai,crai,sai}" + ontologies: [] +output: + idxstats: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.idxstats": + type: file + description: File containing samtools idxstats output + pattern: "*.{idxstats}" + ontologies: [] + versions_samtools: + - - ${task.process}: + type: string + description: The name of the process + - samtools: + type: string + description: The name of the tool + - samtools version | sed '1!d;s/.* //': + type: eval + description: The expression to obtain the version of the tool +topics: + versions: + - - ${task.process}: + type: string + description: The name of the process + - samtools: + type: string + description: The name of the tool + - samtools version | sed '1!d;s/.* //': + type: eval + description: The expression to obtain the version of the tool +authors: + - "@drpatelh" +maintainers: + - "@drpatelh" + - "@matthdsm" diff --git a/modules/nf-core/samtools/idxstats/samtools-idxstats.diff b/modules/nf-core/samtools/idxstats/samtools-idxstats.diff new file mode 100644 index 00000000..329264df --- /dev/null +++ b/modules/nf-core/samtools/idxstats/samtools-idxstats.diff @@ -0,0 +1,19 @@ +Changes in component 'nf-core/samtools/idxstats' +'modules/nf-core/samtools/idxstats/environment.yml' is unchanged +Changes in 'samtools/idxstats/meta.yml': +--- modules/nf-core/samtools/idxstats/meta.yml ++++ modules/nf-core/samtools/idxstats/meta.yml +@@ -2,7 +2,7 @@ + description: Reports alignment summary statistics for a BAM/CRAM/SAM file + keywords: + - stats +- - mapping ++ - bam_align + - counts + - chromosome + - bam + +'modules/nf-core/samtools/idxstats/main.nf' is unchanged +'modules/nf-core/samtools/idxstats/tests/main.nf.test.snap' is unchanged +'modules/nf-core/samtools/idxstats/tests/main.nf.test' is unchanged +************************************************************ diff --git a/modules/nf-core/samtools/idxstats/tests/main.nf.test b/modules/nf-core/samtools/idxstats/tests/main.nf.test new file mode 100644 index 00000000..c990cd55 --- /dev/null +++ b/modules/nf-core/samtools/idxstats/tests/main.nf.test @@ -0,0 +1,59 @@ +nextflow_process { + + name "Test Process SAMTOOLS_IDXSTATS" + script "../main.nf" + process "SAMTOOLS_IDXSTATS" + tag "modules" + tag "modules_nfcore" + tag "samtools" + tag "samtools/idxstats" + + test("bam") { + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai', checkIfExists: true) + ]) + """ + } + } + + then { + assertAll ( + { assert process.success }, + { assert snapshot( + process.out.idxstats, + process.out.findAll { key, val -> key.startsWith('versions') } + ).match() } + ) + } + } + + test("bam - stub") { + options "-stub" + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai', checkIfExists: true) + ]) + """ + } + } + + then { + assertAll ( + { assert process.success }, + { assert snapshot( + process.out.idxstats, + process.out.findAll { key, val -> key.startsWith('versions') } + ).match() } + ) + } + }} diff --git a/modules/nf-core/samtools/idxstats/tests/main.nf.test.snap b/modules/nf-core/samtools/idxstats/tests/main.nf.test.snap new file mode 100644 index 00000000..7bcde2fd --- /dev/null +++ b/modules/nf-core/samtools/idxstats/tests/main.nf.test.snap @@ -0,0 +1,56 @@ +{ + "bam - stub": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.idxstats:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + { + "versions_samtools": [ + [ + "SAMTOOLS_IDXSTATS", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T08:59:41.877526" + }, + "bam": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.idxstats:md5,df60a8c8d6621100d05178c93fb053a2" + ] + ], + { + "versions_samtools": [ + [ + "SAMTOOLS_IDXSTATS", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T08:59:34.725514" + } +} \ No newline at end of file diff --git a/modules/nf-core/samtools/index/environment.yml b/modules/nf-core/samtools/index/environment.yml new file mode 100644 index 00000000..946bb362 --- /dev/null +++ b/modules/nf-core/samtools/index/environment.yml @@ -0,0 +1,10 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + # renovate: datasource=conda depName=bioconda/htslib + - bioconda::htslib=1.23.1 + # renovate: datasource=conda depName=bioconda/samtools + - bioconda::samtools=1.23.1 diff --git a/modules/nf-core/samtools/index/main.nf b/modules/nf-core/samtools/index/main.nf new file mode 100644 index 00000000..5b5756b1 --- /dev/null +++ b/modules/nf-core/samtools/index/main.nf @@ -0,0 +1,38 @@ +process SAMTOOLS_INDEX { + tag "${meta.id}" + label 'process_low' + + conda "${moduleDir}/environment.yml" + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8c/8c5d2818c8b9f58e1fba77ce219fdaf32087ae53e857c4a496402978af26e78c/data' + : 'community.wave.seqera.io/library/htslib_samtools:1.23.1--5b6bb4ede7e612e5'}" + + input: + tuple val(meta), path(input) + + output: + tuple val(meta), path("*.{bai,csi,crai}"), emit: index + tuple val("${task.process}"), val('samtools'), eval("samtools version | sed '1!d;s/.* //'"), emit: versions_samtools, topic: versions + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + """ + samtools \\ + index \\ + -@ ${task.cpus} \\ + ${args} \\ + ${input} + """ + + stub: + def args = task.ext.args ?: '' + def extension = file(input).getExtension() == 'cram' + ? "crai" + : args.contains("-c") ? "csi" : "bai" + """ + touch ${input}.${extension} + """ +} diff --git a/modules/nf-core/samtools/index/meta.yml b/modules/nf-core/samtools/index/meta.yml new file mode 100644 index 00000000..d4938bcd --- /dev/null +++ b/modules/nf-core/samtools/index/meta.yml @@ -0,0 +1,70 @@ +name: samtools_index +description: Index SAM/BAM/CRAM file +keywords: + - index + - bam + - sam + - cram +tools: + - samtools: + description: | + SAMtools is a set of utilities for interacting with and post-processing + short DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li. + These files are generated as output by short read aligners like BWA. + homepage: http://www.htslib.org/ + documentation: http://www.htslib.org/doc/samtools.html + doi: 10.1093/bioinformatics/btp352 + licence: + - "MIT" + identifier: biotools:samtools +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - input: + type: file + description: input file + ontologies: [] +output: + index: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.{bai,csi,crai}": + type: file + description: BAM/CRAM/SAM index file + pattern: "*.{bai,csi,crai}" + ontologies: [] + versions_samtools: + - - ${task.process}: + type: string + description: The name of the process + - samtools: + type: string + description: The name of the tool + - samtools version | sed '1!d;s/.* //': + type: eval + description: The expression to obtain the version of the tool +topics: + versions: + - - ${task.process}: + type: string + description: The name of the process + - samtools: + type: string + description: The name of the tool + - samtools version | sed '1!d;s/.* //': + type: eval + description: The expression to obtain the version of the tool +authors: + - "@drpatelh" + - "@ewels" + - "@maxulysse" +maintainers: + - "@ewels" + - "@maxulysse" + - "@matthdsm" diff --git a/modules/nf-core/samtools/index/tests/csi.nextflow.config b/modules/nf-core/samtools/index/tests/csi.nextflow.config new file mode 100644 index 00000000..4af6d82c --- /dev/null +++ b/modules/nf-core/samtools/index/tests/csi.nextflow.config @@ -0,0 +1,6 @@ +process { + + withName: SAMTOOLS_INDEX { + ext.args = '-c' + } +} diff --git a/modules/nf-core/samtools/index/tests/main.nf.test b/modules/nf-core/samtools/index/tests/main.nf.test new file mode 100644 index 00000000..f9d39222 --- /dev/null +++ b/modules/nf-core/samtools/index/tests/main.nf.test @@ -0,0 +1,155 @@ +nextflow_process { + + name "Test Process SAMTOOLS_INDEX" + script "../main.nf" + process "SAMTOOLS_INDEX" + tag "modules" + tag "modules_nfcore" + tag "samtools" + tag "samtools/index" + + test("bai") { + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true) + ]) + """ + } + } + + then { + assertAll ( + { assert process.success }, + { assert snapshot( + process.out.index, + process.out.findAll { key, val -> key.startsWith('versions') } + ).match() } + ) + } + } + + test("crai") { + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.recalibrated.sorted.cram', checkIfExists: true) + ]) + """ + } + } + + then { + assertAll ( + { assert process.success }, + { assert snapshot( + process.out.index, + process.out.findAll { key, val -> key.startsWith('versions') } + ).match() } + ) + } + } + + test("csi") { + config "./csi.nextflow.config" + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true) + ]) + """ + } + } + + then { + assertAll ( + { assert process.success }, + { assert snapshot( + file(process.out.index[0][1]).name, + process.out.findAll { key, val -> key.startsWith('versions') } + ).match() } + ) + } + } + + test("bai - stub") { + options "-stub" + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true) + ]) + """ + } + } + + then { + assertAll ( + { assert process.success }, + { assert snapshot( + process.out.index, + process.out.findAll { key, val -> key.startsWith('versions') } + ).match() } + ) + } + } + + test("crai - stub") { + options "-stub" + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.recalibrated.sorted.cram', checkIfExists: true) + ]) + """ + } + } + + then { + assertAll ( + { assert process.success }, + { assert snapshot( + process.out.index, + process.out.findAll { key, val -> key.startsWith('versions') } + ).match() } + ) + } + } + + test("csi - stub") { + options "-stub" + config "./csi.nextflow.config" + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true) + ]) + """ + } + } + + then { + assertAll ( + { assert process.success }, + { assert snapshot( + process.out.index, + process.out.findAll { key, val -> key.startsWith('versions') } + ).match() } + ) + } + } +} diff --git a/modules/nf-core/samtools/index/tests/main.nf.test.snap b/modules/nf-core/samtools/index/tests/main.nf.test.snap new file mode 100644 index 00000000..337dec77 --- /dev/null +++ b/modules/nf-core/samtools/index/tests/main.nf.test.snap @@ -0,0 +1,156 @@ +{ + "csi - stub": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.paired_end.sorted.bam.csi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + { + "versions_samtools": [ + [ + "SAMTOOLS_INDEX", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T09:00:39.171613" + }, + "crai - stub": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.paired_end.recalibrated.sorted.cram.crai:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + { + "versions_samtools": [ + [ + "SAMTOOLS_INDEX", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T09:00:32.838795" + }, + "bai - stub": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.paired_end.sorted.bam.bai:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + { + "versions_samtools": [ + [ + "SAMTOOLS_INDEX", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T09:00:25.255379" + }, + "csi": { + "content": [ + "test.paired_end.sorted.bam.csi", + { + "versions_samtools": [ + [ + "SAMTOOLS_INDEX", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T09:00:18.414839" + }, + "crai": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.paired_end.recalibrated.sorted.cram.crai:md5,14bc3bd5c89cacc8f4541f9062429029" + ] + ], + { + "versions_samtools": [ + [ + "SAMTOOLS_INDEX", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T09:00:13.571297" + }, + "bai": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.paired_end.sorted.bam.bai:md5,704c10dd1326482448ca3073fdebc2f4" + ] + ], + { + "versions_samtools": [ + [ + "SAMTOOLS_INDEX", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T09:00:06.767362" + } +} \ No newline at end of file diff --git a/modules/nf-core/samtools/merge/environment.yml b/modules/nf-core/samtools/merge/environment.yml new file mode 100644 index 00000000..946bb362 --- /dev/null +++ b/modules/nf-core/samtools/merge/environment.yml @@ -0,0 +1,10 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + # renovate: datasource=conda depName=bioconda/htslib + - bioconda::htslib=1.23.1 + # renovate: datasource=conda depName=bioconda/samtools + - bioconda::samtools=1.23.1 diff --git a/modules/nf-core/samtools/merge/main.nf b/modules/nf-core/samtools/merge/main.nf new file mode 100644 index 00000000..abb56f9f --- /dev/null +++ b/modules/nf-core/samtools/merge/main.nf @@ -0,0 +1,49 @@ +process SAMTOOLS_MERGE { + tag "${meta.id}" + label 'process_low' + + conda "${moduleDir}/environment.yml" + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8c/8c5d2818c8b9f58e1fba77ce219fdaf32087ae53e857c4a496402978af26e78c/data' + : 'community.wave.seqera.io/library/htslib_samtools:1.23.1--5b6bb4ede7e612e5'}" + + input: + tuple val(meta), path(input_files, stageAs: "?/*"), path(index_files, stageAs: "?/*") + tuple val(meta2), path(fasta), path(fai), path(gzi) + + output: + tuple val(meta), path("${prefix}.bam"), optional: true, emit: bam + tuple val(meta), path("${prefix}.cram"), optional: true, emit: cram + tuple val(meta), path("*.{bai,crai,csi}"), optional: true, emit: index + tuple val("${task.process}"), val('samtools'), eval("samtools version | sed '1!d;s/.* //'"), topic: versions, emit: versions_samtools + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + prefix = task.ext.prefix ?: "${meta.id}" + def file_type = input_files instanceof List ? input_files[0].getExtension() : input_files.getExtension() + def reference = fasta ? "--reference ${fasta}" : "" + """ + # Note: --threads value represents *additional* CPUs to allocate (total CPUs = 1 + --threads). + samtools \\ + merge \\ + --threads ${task.cpus - 1} \\ + ${args} \\ + ${reference} \\ + ${prefix}.${file_type} \\ + ${input_files} + """ + + stub: + def args = task.ext.args ?: '' + prefix = task.ext.suffix ? "${meta.id}${task.ext.suffix}" : "${meta.id}" + def file_type = input_files instanceof List ? input_files[0].getExtension() : input_files.getExtension() + def index_type = file_type == "bam" ? "csi" : "crai" + def index = args.contains("--write-index") ? "touch ${prefix}.${index_type}" : "" + """ + touch ${prefix}.${file_type} + ${index} + """ +} diff --git a/modules/nf-core/samtools/merge/meta.yml b/modules/nf-core/samtools/merge/meta.yml new file mode 100644 index 00000000..66e582e8 --- /dev/null +++ b/modules/nf-core/samtools/merge/meta.yml @@ -0,0 +1,122 @@ +name: samtools_merge +description: Merge BAM or CRAM file +keywords: + - merge + - bam + - sam + - cram +tools: + - samtools: + description: | + SAMtools is a set of utilities for interacting with and post-processing + short DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li. + These files are generated as output by short read aligners like BWA. + homepage: http://www.htslib.org/ + documentation: http://www.htslib.org/doc/samtools.html + doi: 10.1093/bioinformatics/btp352 + licence: ["MIT"] + identifier: biotools:samtools +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - input_files: + type: file + description: BAM/CRAM file + pattern: "*.{bam,cram,sam}" + ontologies: [] + - index_files: + type: file + description: BAI/CRAI/CSI index file + pattern: "*.{bai,crai,csi}" + ontologies: [] + - - meta2: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome' ] + - fasta: + type: file + description: Reference file the CRAM was created with (optional) + pattern: "*.{fasta,fa}" + ontologies: [] + - fai: + type: file + description: Index of the reference file the CRAM was created with (optional) + pattern: "*.fai" + ontologies: [] + - gzi: + type: file + description: Index of the compressed reference file the CRAM was created with + (optional) + pattern: "*.gzi" + ontologies: [] +output: + bam: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - ${prefix}.bam: + type: file + description: BAM file + pattern: "*.{bam}" + ontologies: [] + cram: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - ${prefix}.cram: + type: file + description: CRAM file + pattern: "*.{cram}" + ontologies: [] + index: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.{bai,crai,csi}": + type: file + description: BAM index file (optional) + pattern: "*.{bai,crai,csi}" + ontologies: [] + versions_samtools: + - - ${task.process}: + type: string + description: The process the versions were collected from + - samtools: + type: string + description: The tool name + - "samtools version | sed '1!d;s/.* //'": + type: string + description: The command used to generate the version of the tool + +topics: + versions: + - - ${task.process}: + type: string + description: The process the versions were collected from + - samtools: + type: string + description: The tool name + - "samtools version | sed '1!d;s/.* //'": + type: string + description: The command used to generate the version of the tool +authors: + - "@yuukiiwa" + - "@maxulysse" + - "@FriederikeHanssen" + - "@ramprasadn" +maintainers: + - "@yuukiiwa" + - "@maxulysse" + - "@FriederikeHanssen" + - "@ramprasadn" + - "@matthdsm" diff --git a/modules/nf-core/samtools/merge/tests/main.nf.test b/modules/nf-core/samtools/merge/tests/main.nf.test new file mode 100644 index 00000000..b3caf864 --- /dev/null +++ b/modules/nf-core/samtools/merge/tests/main.nf.test @@ -0,0 +1,219 @@ +nextflow_process { + + name "Test Process SAMTOOLS_MERGE" + script "../main.nf" + process "SAMTOOLS_MERGE" + + tag "modules" + tag "modules_nfcore" + tag "samtools" + tag "samtools/merge" + config "./nextflow.config" + + test("bams") { + + when { + params { + module_args = '--write-index' + } + process { + """ + input[0] = [ + [ id:'test'], + [ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.methylated.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.single_end.sorted.bam', checkIfExists: true) ], + [] + ] + input[1] = [[],[],[],[]] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot( + bam(process.out.bam[0][1]).getReadsMD5(), + file(process.out.index[0][1]).name, + process.out.cram, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() + } + ) + } + } + + test("crams_fastq") { + + when { + params { + module_args = '--write-index --output-fmt cram,version=3.0' + } + process { + """ + input[0] = [ + [ id:'test' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.sorted.cram', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test2.paired_end.sorted.cram', checkIfExists: true) ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.sorted.cram.crai', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test2.paired_end.sorted.cram.crai', checkIfExists: true) ] + ] + input[1] = [ + [ id:'genome' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.fai', checkIfExists: true), + [] + ] + """ + } + } + + then { + def fasta = 'https://raw.githubusercontent.com/nf-core/test-datasets/refs/heads/modules/data/genomics/homo_sapiens/genome/genome.fasta' + assert process.success + assertAll( + { assert snapshot( + cram(process.out.cram[0][1], fasta).getReadsMD5(), + process.out.bam, + file(process.out.index[0][1]).name, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() + } + ) + } + } + + test("crams_fastq_gz") { + + when { + params { + module_args = '--write-index' + } + process { + """ + input[0] = [ + [ id:'test' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.sorted.cram', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test2.paired_end.sorted.cram', checkIfExists: true) ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.sorted.cram.crai', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test2.paired_end.sorted.cram.crai', checkIfExists: true) ] + ] + input[1] = [ + [ id:'genome' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.gz.fai', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.gz.gzi', checkIfExists: true) + ] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot( + //nft-bam doesn't like the fasta.gz + file(process.out.cram[0][1]).name, + process.out.bam, + file(process.out.index[0][1]).name, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() + } + ) + } + } + + test("bam") { + + when { + params { + module_args = '' + } + process { + """ + input[0] = [ + [ id:'test' ], + [ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.methylated.sorted.bam', checkIfExists: true) ], + [ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.methylated.sorted.bam.bai', checkIfExists: true) ] + ] + input[1] = [[],[],[],[]] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot( + bam(process.out.bam[0][1]).getReadsMD5(), + process.out.index, + process.out.cram, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() + } + ) + } + } + + test("bams - stub") { + + options "-stub" + + when { + params { + module_args = '' + } + process { + """ + input[0] = [ + [ id:'test' ], + [ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.methylated.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.single_end.sorted.bam', checkIfExists: true) ], + [] + ] + input[1] = [[],[],[],[]] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(process.out).match()} + ) + } + } + + test("bams_no_index - stub") { + + options "-stub" + + when { + params { + module_args = '' + } + process { + """ + input[0] = [ + [ id:'test'], + [ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.methylated.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.single_end.sorted.bam', checkIfExists: true) ], + [] + ] + input[1] = [[],[],[],[]] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(process.out).match()} + ) + } + } + +} diff --git a/modules/nf-core/samtools/merge/tests/main.nf.test.snap b/modules/nf-core/samtools/merge/tests/main.nf.test.snap new file mode 100644 index 00000000..77ed449d --- /dev/null +++ b/modules/nf-core/samtools/merge/tests/main.nf.test.snap @@ -0,0 +1,202 @@ +{ + "bams_no_index - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + + ], + "2": [ + + ], + "3": [ + [ + "SAMTOOLS_MERGE", + "samtools", + "1.23.1" + ] + ], + "bam": [ + [ + { + "id": "test" + }, + "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "cram": [ + + ], + "index": [ + + ], + "versions_samtools": [ + [ + "SAMTOOLS_MERGE", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T09:01:31.816184" + }, + "crams_fastq": { + "content": [ + "c4525b95f05075208347295e6a1fb232", + [ + + ], + "test.cram.crai", + { + "versions_samtools": [ + [ + "SAMTOOLS_MERGE", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T09:01:05.719443" + }, + "bams - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + + ], + "2": [ + + ], + "3": [ + [ + "SAMTOOLS_MERGE", + "samtools", + "1.23.1" + ] + ], + "bam": [ + [ + { + "id": "test" + }, + "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "cram": [ + + ], + "index": [ + + ], + "versions_samtools": [ + [ + "SAMTOOLS_MERGE", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T09:01:24.795562" + }, + "bams": { + "content": [ + "47c9f174d8c8afc1a13c75ee4b5e5d43", + "test.bam.csi", + [ + + ], + { + "versions_samtools": [ + [ + "SAMTOOLS_MERGE", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T09:00:59.536803" + }, + "crams_fastq_gz": { + "content": [ + "test.cram", + [ + + ], + "test.cram.crai", + { + "versions_samtools": [ + [ + "SAMTOOLS_MERGE", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T09:01:11.614088" + }, + "bam": { + "content": [ + "8da8fc1099a955e3ceb198665350e766", + [ + + ], + [ + + ], + { + "versions_samtools": [ + [ + "SAMTOOLS_MERGE", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T09:01:17.736424" + } +} \ No newline at end of file diff --git a/modules/nf-core/samtools/merge/tests/nextflow.config b/modules/nf-core/samtools/merge/tests/nextflow.config new file mode 100644 index 00000000..5e29c673 --- /dev/null +++ b/modules/nf-core/samtools/merge/tests/nextflow.config @@ -0,0 +1,5 @@ +process { + withName: SAMTOOLS_MERGE { + ext.args = params.module_args + } +} diff --git a/modules/nf-core/samtools/mpileup/environment.yml b/modules/nf-core/samtools/mpileup/environment.yml new file mode 100644 index 00000000..946bb362 --- /dev/null +++ b/modules/nf-core/samtools/mpileup/environment.yml @@ -0,0 +1,10 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + # renovate: datasource=conda depName=bioconda/htslib + - bioconda::htslib=1.23.1 + # renovate: datasource=conda depName=bioconda/samtools + - bioconda::samtools=1.23.1 diff --git a/modules/nf-core/samtools/mpileup/main.nf b/modules/nf-core/samtools/mpileup/main.nf new file mode 100644 index 00000000..debfd1eb --- /dev/null +++ b/modules/nf-core/samtools/mpileup/main.nf @@ -0,0 +1,41 @@ +process SAMTOOLS_MPILEUP { + tag "${meta.id}" + label 'process_single' + + conda "${moduleDir}/environment.yml" + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8c/8c5d2818c8b9f58e1fba77ce219fdaf32087ae53e857c4a496402978af26e78c/data' + : 'community.wave.seqera.io/library/htslib_samtools:1.23.1--5b6bb4ede7e612e5'}" + + input: + tuple val(meta), path(input), path(index), path(intervals) + tuple val(meta2), path(fasta), path(fai) + + output: + tuple val(meta), path("*.mpileup.gz"), emit: mpileup + tuple val("${task.process}"), val('samtools'), eval("samtools version | sed '1!d;s/.* //'"), emit: versions_samtools, topic: versions + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + def fasta_cmd = fasta ? "--fasta-ref ${fasta}" : "" + def intervals_cmd = intervals ? "-l ${intervals}" : "" + """ + samtools mpileup \\ + ${fasta_cmd} \\ + --output ${prefix}.mpileup \\ + ${args} \\ + ${intervals_cmd} \\ + ${input} + bgzip ${prefix}.mpileup + """ + + stub: + def prefix = task.ext.prefix ?: "${meta.id}" + """ + echo | gzip > ${prefix}.mpileup.gz + """ +} diff --git a/modules/nf-core/samtools/mpileup/meta.yml b/modules/nf-core/samtools/mpileup/meta.yml new file mode 100644 index 00000000..a52a0ec0 --- /dev/null +++ b/modules/nf-core/samtools/mpileup/meta.yml @@ -0,0 +1,97 @@ +name: samtools_mpileup +description: Generate text pileup output for one or multiple BAM files. Each + input file produces a separate group of pileup columns in the output. +keywords: + - mpileup + - bam + - sam + - cram +tools: + - samtools: + description: | + SAMtools is a set of utilities for interacting with and post-processing + short DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li. + These files are generated as output by short read aligners like BWA. + homepage: http://www.htslib.org/ + documentation: http://www.htslib.org/doc/samtools.html + doi: 10.1093/bioinformatics/btp352 + licence: ["MIT"] + identifier: biotools:samtools +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test' ] + - input: + type: file + description: BAM/CRAM/SAM file + pattern: "*.{bam,cram,sam}" + ontologies: [] + - index: + type: file + description: CSI/BAI/CRAI file. Optional. Only required when using the + '-r' parameter. + pattern: "*.{bai,crai,csi}" + ontologies: [] + - intervals: + type: file + description: Interval FILE. Optional. + pattern: "*.bed" + ontologies: [] + - - meta2: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'test' ] + - fasta: + type: file + description: FASTA reference file. Optional. + pattern: "*.{fasta,fa,fna}" + ontologies: [] + - fai: + type: file + description: FAI file. Optional. Only required (recommended) when using the + '-f' parameter. + pattern: "*.{fai}" + ontologies: [] +output: + mpileup: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.mpileup.gz": + type: file + description: mpileup file + pattern: "*.{mpileup}" + ontologies: [] + versions_samtools: + - - ${task.process}: + type: string + description: The process the versions were collected from + - samtools: + type: string + description: The tool name + - "samtools version | sed '1!d;s/.* //'": + type: string + description: The command used to generate the version of the tool +topics: + versions: + - - ${task.process}: + type: string + description: The process the versions were collected from + - samtools: + type: string + description: The tool name + - "samtools version | sed '1!d;s/.* //'": + type: string + description: The command used to generate the version of the tool +authors: + - "@drpatelh" + - "@joseespinosa" +maintainers: + - "@joseespinosa" + - "@krannich479" + - "@matthdsm" diff --git a/modules/nf-core/samtools/mpileup/tests/main.nf.test b/modules/nf-core/samtools/mpileup/tests/main.nf.test new file mode 100644 index 00000000..53dcd09f --- /dev/null +++ b/modules/nf-core/samtools/mpileup/tests/main.nf.test @@ -0,0 +1,117 @@ +nextflow_process { + + name "Test Process SAMTOOLS_MPILEUP" + script "../main.nf" + process "SAMTOOLS_MPILEUP" + + tag "modules" + tag "modules_nfcore" + tag "samtools" + tag "samtools/mpileup" + + test("bam - no fasta") { + + when { + process { + """ + input[0] = [ + [ id:'test'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + [], + [] + ] + input[1] = [[],[],[]] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(process.out).match()} + ) + } + } + + test("bam - fasta") { + + when { + process { + """ + input[0] = [ + [ id:'test'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + [], + [] + ] + input[1] = [ + [ id: 'fasta'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta.fai', checkIfExists: true) + ] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(process.out).match()} + ) + } + } + + test("bam - region - bai") { + config "./nextflow.config" + + when { + params { + module_args = "-r MT192765.1" + module_prefix = "test" + } + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai', checkIfExists: true), + [] + ] + input[1] = [[],[],[]] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(process.out).match()} + ) + } + } + + test("bam - stub") { + options '-stub' + when { + process { + """ + input[0] = [ + [ id:'test'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + [], + [] + ] + input[1] = [[],[],[]] + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot(process.out).match()} + ) + } + } + +} diff --git a/modules/nf-core/samtools/mpileup/tests/main.nf.test.snap b/modules/nf-core/samtools/mpileup/tests/main.nf.test.snap new file mode 100644 index 00000000..0709c0d6 --- /dev/null +++ b/modules/nf-core/samtools/mpileup/tests/main.nf.test.snap @@ -0,0 +1,166 @@ +{ + "bam - no fasta": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.mpileup.gz:md5,72340047c1feda82fa632d1762080bd8" + ] + ], + "1": [ + [ + "SAMTOOLS_MPILEUP", + "samtools", + "1.23.1" + ] + ], + "mpileup": [ + [ + { + "id": "test" + }, + "test.mpileup.gz:md5,72340047c1feda82fa632d1762080bd8" + ] + ], + "versions_samtools": [ + [ + "SAMTOOLS_MPILEUP", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T09:01:37.080385" + }, + "bam - region - bai": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.mpileup.gz:md5,72340047c1feda82fa632d1762080bd8" + ] + ], + "1": [ + [ + "SAMTOOLS_MPILEUP", + "samtools", + "1.23.1" + ] + ], + "mpileup": [ + [ + { + "id": "test" + }, + "test.mpileup.gz:md5,72340047c1feda82fa632d1762080bd8" + ] + ], + "versions_samtools": [ + [ + "SAMTOOLS_MPILEUP", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T09:01:47.94984" + }, + "bam - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.mpileup.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "1": [ + [ + "SAMTOOLS_MPILEUP", + "samtools", + "1.23.1" + ] + ], + "mpileup": [ + [ + { + "id": "test" + }, + "test.mpileup.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "versions_samtools": [ + [ + "SAMTOOLS_MPILEUP", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T09:01:54.924441" + }, + "bam - fasta": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.mpileup.gz:md5,958e6bead4103d72026f80153b6b5150" + ] + ], + "1": [ + [ + "SAMTOOLS_MPILEUP", + "samtools", + "1.23.1" + ] + ], + "mpileup": [ + [ + { + "id": "test" + }, + "test.mpileup.gz:md5,958e6bead4103d72026f80153b6b5150" + ] + ], + "versions_samtools": [ + [ + "SAMTOOLS_MPILEUP", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T09:01:42.689773" + } +} \ No newline at end of file diff --git a/modules/nf-core/samtools/mpileup/tests/nextflow.config b/modules/nf-core/samtools/mpileup/tests/nextflow.config new file mode 100644 index 00000000..c4bbdb86 --- /dev/null +++ b/modules/nf-core/samtools/mpileup/tests/nextflow.config @@ -0,0 +1,6 @@ +process { + withName: SAMTOOLS_MPILEUP { + ext.args = params.module_args + ext.prefix = params.module_prefix + } +} diff --git a/modules/nf-core/samtools/sort/environment.yml b/modules/nf-core/samtools/sort/environment.yml new file mode 100644 index 00000000..946bb362 --- /dev/null +++ b/modules/nf-core/samtools/sort/environment.yml @@ -0,0 +1,10 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + # renovate: datasource=conda depName=bioconda/htslib + - bioconda::htslib=1.23.1 + # renovate: datasource=conda depName=bioconda/samtools + - bioconda::samtools=1.23.1 diff --git a/modules/nf-core/samtools/sort/main.nf b/modules/nf-core/samtools/sort/main.nf new file mode 100644 index 00000000..e75ce915 --- /dev/null +++ b/modules/nf-core/samtools/sort/main.nf @@ -0,0 +1,97 @@ +process SAMTOOLS_SORT { + tag "${meta.id}" + label 'process_medium' + + conda "${moduleDir}/environment.yml" + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8c/8c5d2818c8b9f58e1fba77ce219fdaf32087ae53e857c4a496402978af26e78c/data' + : 'community.wave.seqera.io/library/htslib_samtools:1.23.1--5b6bb4ede7e612e5'}" + + input: + tuple val(meta), path(bam) + tuple val(meta2), path(fasta), path(fai) + val index_format + + output: + tuple val(meta), path("${prefix}.bam"), emit: bam, optional: true + tuple val(meta), path("${prefix}.cram"), emit: cram, optional: true + tuple val(meta), path("${prefix}.sam"), emit: sam, optional: true + tuple val(meta), path("${prefix}.${extension}.{crai,csi,bai}"), emit: index, optional: true + tuple val("${task.process}"), val('samtools'), eval("samtools version | sed '1!d;s/.* //'"), topic: versions, emit: versions_samtools + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + prefix = task.ext.prefix ?: "${meta.id}" + extension = args.contains("--output-fmt sam") + ? "sam" + : args.contains("--output-fmt cram") + ? "cram" + : "bam" + def reference = fasta ? "--reference ${fasta}" : "" + //setting default values + def write_index = "" + def output_file = "${prefix}.${extension}" + + // Update if index is requested + if (index_format != '' && index_format) { + write_index = "--write-index" + output_file = "${prefix}.${extension}##idx##${prefix}.${extension}.${index_format}" + } + def is_sam = (bam instanceof List ? bam[0] : bam).name.endsWith('.sam') + if (index_format) { + if (!index_format.matches('bai|csi|crai')) { + error("Index format not one of bai, csi, crai.") + } + else if (extension == "sam") { + error("Indexing not compatible with SAM output") + } + } + if ("${bam}" == "${prefix}.bam") { + error("Input and output names are the same, use \"task.ext.prefix\" to disambiguate!") + } + if ("${bam}" == "${prefix}.bam") { + error("Input and output names are the same, use \"task.ext.prefix\" to disambiguate!") + } + + def input_source = is_sam ? "${bam}" : "-" + def pre_command = is_sam ? "" : "samtools cat ${bam} | " + + """ + ${pre_command}samtools sort \\ + ${args} \\ + -T ${prefix} \\ + --threads ${task.cpus} \\ + ${reference} \\ + -o ${output_file} \\ + ${write_index} \\ + ${input_source} + """ + + stub: + def args = task.ext.args ?: '' + prefix = task.ext.prefix ?: "${meta.id}" + extension = args.contains("--output-fmt sam") + ? "sam" + : args.contains("--output-fmt cram") + ? "cram" + : "bam" + + if (index_format) { + if (!index_format.matches('bai|csi|crai')) { + error("Index format not one of bai, csi, crai.") + } + else if (extension == "sam") { + error("Indexing not compatible with SAM output") + } + } + + index = index_format ? "touch ${prefix}.${extension}.${index_format}" : "" + + """ + touch ${prefix}.${extension} + ${index} + """ +} diff --git a/modules/nf-core/samtools/sort/meta.yml b/modules/nf-core/samtools/sort/meta.yml new file mode 100644 index 00000000..0447a95e --- /dev/null +++ b/modules/nf-core/samtools/sort/meta.yml @@ -0,0 +1,126 @@ +name: samtools_sort +description: Sort SAM/BAM/CRAM file +keywords: + - sort + - bam + - sam + - cram +tools: + - samtools: + description: | + SAMtools is a set of utilities for interacting with and post-processing + short DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li. + These files are generated as output by short read aligners like BWA. + homepage: http://www.htslib.org/ + documentation: http://www.htslib.org/doc/samtools.html + doi: 10.1093/bioinformatics/btp352 + licence: ["MIT"] + identifier: biotools:samtools +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - bam: + type: file + description: BAM/CRAM/SAM file(s) + pattern: "*.{bam,cram,sam}" + ontologies: [] + - - meta2: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome' ] + - fasta: + type: file + description: Reference genome FASTA file + pattern: "*.{fa,fasta,fna}" + optional: true + ontologies: [] + - fai: + type: file + description: Reference genome FASTA index file + pattern: "*.{fai}" + optional: true + ontologies: [] + - index_format: + type: string + description: Index format to use (optional) + pattern: "bai|csi|crai" +output: + bam: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "${prefix}.bam": + type: file + description: Sorted BAM file + pattern: "*.{bam}" + ontologies: [] + cram: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "${prefix}.cram": + type: file + description: Sorted CRAM file + pattern: "*.{cram}" + ontologies: [] + sam: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "${prefix}.sam": + type: file + description: Sorted SAM file + pattern: "*.{sam}" + ontologies: [] + index: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "${prefix}.${extension}.{crai,csi,bai}": + type: file + description: CRAM index file (optional) + pattern: "*.{crai,csi,bai}" + ontologies: [] + versions_samtools: + - - ${task.process}: + type: string + description: The process the versions were collected from + - samtools: + type: string + description: The tool name + - "samtools version | sed '1!d;s/.* //'": + type: string + description: The command used to generate the version of the tool + +topics: + versions: + - - ${task.process}: + type: string + description: The process the versions were collected from + - samtools: + type: string + description: The tool name + - "samtools version | sed '1!d;s/.* //'": + type: string + description: The command used to generate the version of the tool + +authors: + - "@drpatelh" + - "@ewels" + - "@matthdsm" +maintainers: + - "@drpatelh" + - "@ewels" + - "@matthdsm" diff --git a/modules/nf-core/samtools/sort/tests/main.nf.test b/modules/nf-core/samtools/sort/tests/main.nf.test new file mode 100644 index 00000000..b60edf8c --- /dev/null +++ b/modules/nf-core/samtools/sort/tests/main.nf.test @@ -0,0 +1,410 @@ +nextflow_process { + + name "Test Process SAMTOOLS_SORT" + script "../main.nf" + process "SAMTOOLS_SORT" + tag "modules" + tag "modules_nfcore" + tag "samtools" + tag "samtools/sort" + + test("bam_no_index") { + + config "./nextflow.config" + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.bam', checkIfExists: true) + ]) + input[1] = Channel.of([ + [ id:'fasta' ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta.fai', checkIfExists: true) + ]) + input[2] = '' + """ + } + } + + then { + assertAll ( + { assert process.success }, + { assert snapshot( + process.out.bam, + process.out.index, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match()} + ) + } + } + + test("bam_bai_index") { + + config "./nextflow.config" + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.bam', checkIfExists: true) + ]) + input[1] = Channel.of([ + [ id:'fasta' ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta.fai', checkIfExists: true) + ]) + input[2] = 'bai' + """ + } + } + + then { + assertAll ( + { assert process.success }, + { assert snapshot( + process.out.bam, + process.out.index, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match()} + ) + } + } + + test("bam_csi_index") { + + config "./nextflow.config" + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.bam', checkIfExists: true) + ]) + input[1] = Channel.of([ + [ id:'fasta' ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta.fai', checkIfExists: true) + ]) + input[2] = 'csi' + """ + } + } + + then { + assertAll ( + { assert process.success }, + { assert snapshot( + process.out.bam, + process.out.index, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match()} + ) + } + } + + test("multiple bam") { + + config "./nextflow.config" + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + [ + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test2.paired_end.sorted.bam', checkIfExists: true) + ] + ]) + input[1] = Channel.of([ + [ id:'fasta' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.fai', checkIfExists: true) + ]) + input[2] = '' + """ + } + } + + then { + assertAll ( + { assert process.success }, + { assert snapshot( + process.out.bam, + process.out.index.collect { it.collect { it instanceof Map ? it : file(it).name } }, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match()} + ) + } + } + + test("multiple bam bai index") { + + config "./nextflow.config" + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + [ + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test2.paired_end.sorted.bam', checkIfExists: true) + ] + ]) + input[1] = Channel.of([ + [ id:'fasta' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.fai', checkIfExists: true) + ]) + input[2] = 'bai' + """ + } + } + + then { + assertAll ( + { assert process.success }, + { assert snapshot( + process.out.bam, + process.out.index.collect { it.collect { it instanceof Map ? it : file(it).name } }, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match()} + ) + } + } + + test("multiple bam csi index") { + + config "./nextflow.config" + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + [ + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test2.paired_end.sorted.bam', checkIfExists: true) + ] + ]) + input[1] = Channel.of([ + [ id:'fasta' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.fai', checkIfExists: true) + ]) + input[2] = 'csi' + """ + } + } + + then { + assertAll ( + { assert process.success }, + { assert snapshot( + process.out.bam, + process.out.index.collect { it.collect { it instanceof Map ? it : file(it).name } }, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match()} + ) + } + } + + test("cram") { + + config "./nextflow_cram.config" + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.sorted.cram', checkIfExists: true) + ]) + input[1] = Channel.of([ + [ id:'fasta' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.fai', checkIfExists: true) + ]) + input[2] = '' + """ + } + } + + then { + assertAll ( + { assert process.success }, + { assert snapshot( + process.out.cram.collect { it.collect { it instanceof Map ? it : file(it).name } }, + process.out.index.collect { it.collect { it instanceof Map ? it : file(it).name } }, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match()} + ) + } + } + + test("bam - stub") { + + options "-stub" + config "./nextflow.config" + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.bam', checkIfExists: true) + ]) + input[1] = Channel.of([ + [ id:'fasta' ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta.fai', checkIfExists: true) + ]) + input[2] = '' + """ + } + } + + then { + assertAll ( + { assert process.success }, + { assert snapshot(process.out.findAll { key, val -> key.startsWith("versions") }).match() } + ) + } + } + + test("multiple bam - stub") { + + config "./nextflow.config" + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + [ + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test2.paired_end.sorted.bam', checkIfExists: true) + ] + ]) + input[1] = Channel.of([ + [ id:'fasta' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.fai', checkIfExists: true) + ]) + input[2] = '' + """ + } + } + + then { + assertAll ( + { assert process.success }, + { assert snapshot(process.out.findAll { key, val -> key.startsWith("versions") }).match() } + ) + } + } + + test("cram - stub") { + + options "-stub" + config "./nextflow_cram.config" + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.sorted.cram', checkIfExists: true) + ]) + input[1] = Channel.of([ + [ id:'fasta' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.fai', checkIfExists: true) + ]) + input[2] = '' + """ + } + } + + then { + assertAll ( + { assert process.success }, + { assert snapshot(process.out.findAll { key, val -> key.startsWith("versions") }).match() } + ) + } + } + + test("multi_sam") { + + config "./nextflow_sam.config" + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/pairtools/mock.sam', checkIfExists: true) + ]) + input[1] = Channel.of([ + [ id:'fasta' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.fai', checkIfExists: true) + ]) + input[2] = '' + """ + } + } + + then { + assertAll ( + { assert process.success }, + { assert snapshot( + process.out.bam.collect { it.collect { it instanceof Map ? it : file(it).name } }, + process.out.index.collect { it.collect { it instanceof Map ? it : file(it).name } }, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match()} + ) + } + } + + + test("sam") { + + config "./nextflow_sam.config" + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/pairtools/mock.sam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/pairtools/mock.sam', checkIfExists: true) + ]) + input[1] = Channel.of([ + [ id:'fasta' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.fai', checkIfExists: true) + ]) + input[2] = '' + """ + } + } + + then { + assertAll ( + { assert process.success }, + { assert snapshot( + process.out.bam.collect { it.collect { it instanceof Map ? it : file(it).name } }, + process.out.index.collect { it.collect { it instanceof Map ? it : file(it).name } }, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match()} + ) + } + } +} diff --git a/modules/nf-core/samtools/sort/tests/main.nf.test.snap b/modules/nf-core/samtools/sort/tests/main.nf.test.snap new file mode 100644 index 00000000..5ce05c3c --- /dev/null +++ b/modules/nf-core/samtools/sort/tests/main.nf.test.snap @@ -0,0 +1,344 @@ +{ + "cram": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.cram" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.cram.crai" + ] + ], + { + "versions_samtools": [ + [ + "SAMTOOLS_SORT", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T09:04:36.491063" + }, + "bam_csi_index": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam:md5,53aea06779611856bc481c60beabecaa" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam.csi:md5,f77a4adb3dde616d7eafd28db2ed147c" + ] + ], + { + "versions_samtools": [ + [ + "SAMTOOLS_SORT", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T09:04:14.341977" + }, + "bam - stub": { + "content": [ + { + "versions_samtools": [ + [ + "SAMTOOLS_SORT", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T09:04:43.558376" + }, + "multiple bam bai index": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam:md5,a15f775c655d4a3b080812a8aae84d34" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam.bai" + ] + ], + { + "versions_samtools": [ + [ + "SAMTOOLS_SORT", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T09:04:25.647565" + }, + "cram - stub": { + "content": [ + { + "versions_samtools": [ + [ + "SAMTOOLS_SORT", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T09:04:54.684578" + }, + "multiple bam": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam:md5,f4343475d9ed2c261f31e1e49d67c1b6" + ] + ], + [ + + ], + { + "versions_samtools": [ + [ + "SAMTOOLS_SORT", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T09:04:20.2368" + }, + "multiple bam - stub": { + "content": [ + { + "versions_samtools": [ + [ + "SAMTOOLS_SORT", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T09:04:48.874947" + }, + "bam_no_index": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam:md5,9277ba4bea590ae1b84e6ab06d11d79b" + ] + ], + [ + + ], + { + "versions_samtools": [ + [ + "SAMTOOLS_SORT", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T09:04:03.721646" + }, + "multi_sam": { + "content": [ + [ + + ], + [ + + ], + { + "versions_samtools": [ + [ + "SAMTOOLS_SORT", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T09:05:00.624092" + }, + "multiple bam csi index": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam:md5,f168809dc154156c40548c06d0f46791" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam.csi" + ] + ], + { + "versions_samtools": [ + [ + "SAMTOOLS_SORT", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T09:04:31.11865" + }, + "sam": { + "content": [ + [ + + ], + [ + + ], + { + "versions_samtools": [ + [ + "SAMTOOLS_SORT", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T09:05:06.309319" + }, + "bam_bai_index": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam:md5,2ca2d7f2368251d3f06f84afa49865a5" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam.bai:md5,66dca3dc2e314029035799f6f44f60d1" + ] + ], + { + "versions_samtools": [ + [ + "SAMTOOLS_SORT", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T09:04:09.147615" + } +} \ No newline at end of file diff --git a/modules/nf-core/samtools/sort/tests/nextflow.config b/modules/nf-core/samtools/sort/tests/nextflow.config new file mode 100644 index 00000000..ca694caa --- /dev/null +++ b/modules/nf-core/samtools/sort/tests/nextflow.config @@ -0,0 +1,6 @@ +process { + + withName: SAMTOOLS_SORT { + ext.prefix = { "${meta.id}.sorted" } + } +} diff --git a/modules/nf-core/samtools/sort/tests/nextflow_cram.config b/modules/nf-core/samtools/sort/tests/nextflow_cram.config new file mode 100644 index 00000000..8ebc9d91 --- /dev/null +++ b/modules/nf-core/samtools/sort/tests/nextflow_cram.config @@ -0,0 +1,7 @@ +process { + + withName: SAMTOOLS_SORT { + ext.prefix = { "${meta.id}.sorted" } + ext.args = "--write-index --output-fmt cram" + } +} diff --git a/modules/nf-core/samtools/sort/tests/nextflow_sam.config b/modules/nf-core/samtools/sort/tests/nextflow_sam.config new file mode 100644 index 00000000..29ee6a88 --- /dev/null +++ b/modules/nf-core/samtools/sort/tests/nextflow_sam.config @@ -0,0 +1,7 @@ +process { + + withName: SAMTOOLS_SORT { + ext.prefix = { "${meta.id}.sorted" } + ext.args = "--output-fmt sam" + } +} diff --git a/modules/nf-core/samtools/stats/environment.yml b/modules/nf-core/samtools/stats/environment.yml new file mode 100644 index 00000000..946bb362 --- /dev/null +++ b/modules/nf-core/samtools/stats/environment.yml @@ -0,0 +1,10 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + # renovate: datasource=conda depName=bioconda/htslib + - bioconda::htslib=1.23.1 + # renovate: datasource=conda depName=bioconda/samtools + - bioconda::samtools=1.23.1 diff --git a/modules/nf-core/samtools/stats/main.nf b/modules/nf-core/samtools/stats/main.nf new file mode 100644 index 00000000..28457e68 --- /dev/null +++ b/modules/nf-core/samtools/stats/main.nf @@ -0,0 +1,40 @@ +process SAMTOOLS_STATS { + tag "${meta.id}" + label 'process_single' + + conda "${moduleDir}/environment.yml" + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8c/8c5d2818c8b9f58e1fba77ce219fdaf32087ae53e857c4a496402978af26e78c/data' + : 'community.wave.seqera.io/library/htslib_samtools:1.23.1--5b6bb4ede7e612e5'}" + + input: + tuple val(meta), path(input), path(input_index) + tuple val(meta2), path(fasta), path(fai) + + output: + tuple val(meta), path("*.stats"), emit: stats + tuple val("${task.process}"), val('samtools'), eval('samtools version | sed "1!d;s/.* //"'), emit: versions_samtools, topic: versions + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + def reference = fasta ? "--reference ${fasta}" : "" + """ + samtools \\ + stats \\ + ${args} \\ + --threads ${task.cpus} \\ + ${reference} \\ + ${input} \\ + > ${prefix}.stats + """ + + stub: + def prefix = task.ext.prefix ?: "${meta.id}" + """ + touch ${prefix}.stats + """ +} diff --git a/modules/nf-core/samtools/stats/meta.yml b/modules/nf-core/samtools/stats/meta.yml new file mode 100644 index 00000000..5fd7e76d --- /dev/null +++ b/modules/nf-core/samtools/stats/meta.yml @@ -0,0 +1,94 @@ +name: samtools_stats +description: Produces comprehensive statistics from SAM/BAM/CRAM file +keywords: + - statistics + - counts + - bam + - sam + - cram +tools: + - samtools: + description: | + SAMtools is a set of utilities for interacting with and post-processing + short DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li. + These files are generated as output by short read aligners like BWA. + homepage: http://www.htslib.org/ + documentation: http://www.htslib.org/doc/samtools.html + doi: 10.1093/bioinformatics/btp352 + licence: ["MIT"] + identifier: biotools:samtools +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - input: + type: file + description: BAM/CRAM file from alignment + pattern: "*.{bam,cram}" + ontologies: [] + - input_index: + type: file + description: BAI/CRAI file from alignment + pattern: "*.{bai,crai}" + ontologies: [] + - - meta2: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome' ] + - fasta: + type: file + description: Reference file the CRAM was created with (optional) + pattern: "*.{fasta,fa,fna}" + ontologies: [] + - fai: + type: file + description: FASTA ref index file + pattern: "*.{fasta,fa,fna}.fai" + ontologies: [] +output: + stats: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.stats": + type: file + description: File containing samtools stats output + pattern: "*.{stats}" + ontologies: [] + versions_samtools: + - - ${task.process}: + type: string + description: Name of the process + - samtools: + type: string + description: Name of the tool + - samtools version | sed "1!d;s/.* //": + type: eval + description: The expression to obtain the version of the tool + +topics: + versions: + - - ${task.process}: + type: string + description: Name of the process + - samtools: + type: string + description: Name of the tool + - samtools version | sed "1!d;s/.* //": + type: eval + description: The expression to obtain the version of the tool + +authors: + - "@drpatelh" + - "@FriederikeHanssen" + - "@ramprasadn" +maintainers: + - "@drpatelh" + - "@FriederikeHanssen" + - "@ramprasadn" + - "@matthdsm" diff --git a/modules/nf-core/samtools/stats/samtools-stats.diff b/modules/nf-core/samtools/stats/samtools-stats.diff new file mode 100644 index 00000000..50015e3a --- /dev/null +++ b/modules/nf-core/samtools/stats/samtools-stats.diff @@ -0,0 +1,23 @@ +Changes in module 'nf-core/samtools/stats' +--- modules/nf-core/samtools/stats/main.nf ++++ modules/nf-core/samtools/stats/main.nf +@@ -8,7 +8,7 @@ + 'biocontainers/samtools:1.17--h00cdaf9_0' }" + + input: +- tuple val(meta), path(input), path(input_index) ++ tuple val(meta), path(bam), path(bai) + tuple val(meta2), path(fasta) + + output: +@@ -27,7 +27,7 @@ + stats \\ + --threads ${task.cpus} \\ + ${reference} \\ +- ${input} \\ ++ ${bam} \\ + > ${prefix}.stats + + cat <<-END_VERSIONS > versions.yml + +************************************************************ diff --git a/modules/nf-core/samtools/stats/tests/main.nf.test b/modules/nf-core/samtools/stats/tests/main.nf.test new file mode 100644 index 00000000..140adf34 --- /dev/null +++ b/modules/nf-core/samtools/stats/tests/main.nf.test @@ -0,0 +1,115 @@ +nextflow_process { + + name "Test Process SAMTOOLS_STATS" + script "../main.nf" + process "SAMTOOLS_STATS" + + tag "modules" + tag "modules_nfcore" + tag "samtools" + tag "samtools/stats" + + test("bam") { + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai', checkIfExists: true) + ]) + input[1] = [[],[],[]] + """ + } + } + + then { + assertAll( + {assert process.success}, + {assert snapshot(process.out).match()} + ) + } + } + + test("cram") { + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.recalibrated.sorted.cram', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.recalibrated.sorted.cram.crai', checkIfExists: true) + ]) + input[1] = Channel.of([ + [ id:'genome' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta.fai', checkIfExists: true) + ]) + """ + } + } + + then { + assertAll( + {assert process.success}, + {assert snapshot(process.out).match()} + ) + } + } + + test("bam - stub") { + + options "-stub" + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai', checkIfExists: true) + ]) + input[1] = [[],[],[]] + """ + } + } + + then { + assertAll( + {assert process.success}, + {assert snapshot(process.out).match()} + ) + } + } + + test("cram - stub") { + + options "-stub" + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.recalibrated.sorted.cram', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.recalibrated.sorted.cram.crai', checkIfExists: true) + ]) + input[1] = Channel.of([ + [ id:'genome' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta.fai', checkIfExists: true) + ]) + """ + } + } + + then { + assertAll( + {assert process.success}, + {assert snapshot(process.out).match()} + ) + } + } +} diff --git a/modules/nf-core/samtools/stats/tests/main.nf.test.snap b/modules/nf-core/samtools/stats/tests/main.nf.test.snap new file mode 100644 index 00000000..975d44a1 --- /dev/null +++ b/modules/nf-core/samtools/stats/tests/main.nf.test.snap @@ -0,0 +1,174 @@ +{ + "cram": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + "test.stats:md5,e4d6cf0e75cebd0bafa84141e0b6929b" + ] + ], + "1": [ + [ + "SAMTOOLS_STATS", + "samtools", + "1.23.1" + ] + ], + "stats": [ + [ + { + "id": "test", + "single_end": false + }, + "test.stats:md5,e4d6cf0e75cebd0bafa84141e0b6929b" + ] + ], + "versions_samtools": [ + [ + "SAMTOOLS_STATS", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T09:05:39.987454" + }, + "bam - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + "test.stats:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + [ + "SAMTOOLS_STATS", + "samtools", + "1.23.1" + ] + ], + "stats": [ + [ + { + "id": "test", + "single_end": false + }, + "test.stats:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions_samtools": [ + [ + "SAMTOOLS_STATS", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T09:05:47.495502" + }, + "cram - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + "test.stats:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + [ + "SAMTOOLS_STATS", + "samtools", + "1.23.1" + ] + ], + "stats": [ + [ + { + "id": "test", + "single_end": false + }, + "test.stats:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions_samtools": [ + [ + "SAMTOOLS_STATS", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T09:05:56.38373" + }, + "bam": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + "test.stats:md5,80f94eb0b68e213bdc8231109d3b43ad" + ] + ], + "1": [ + [ + "SAMTOOLS_STATS", + "samtools", + "1.23.1" + ] + ], + "stats": [ + [ + { + "id": "test", + "single_end": false + }, + "test.stats:md5,80f94eb0b68e213bdc8231109d3b43ad" + ] + ], + "versions_samtools": [ + [ + "SAMTOOLS_STATS", + "samtools", + "1.23.1" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T09:05:24.59441" + } +} \ No newline at end of file diff --git a/modules/nf-core/samtools/view/environment.yml b/modules/nf-core/samtools/view/environment.yml new file mode 100644 index 00000000..946bb362 --- /dev/null +++ b/modules/nf-core/samtools/view/environment.yml @@ -0,0 +1,10 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + # renovate: datasource=conda depName=bioconda/htslib + - bioconda::htslib=1.23.1 + # renovate: datasource=conda depName=bioconda/samtools + - bioconda::samtools=1.23.1 diff --git a/modules/nf-core/samtools/view/main.nf b/modules/nf-core/samtools/view/main.nf new file mode 100644 index 00000000..1823daab --- /dev/null +++ b/modules/nf-core/samtools/view/main.nf @@ -0,0 +1,109 @@ +process SAMTOOLS_VIEW { + tag "${meta.id}" + label 'process_low' + + conda "${moduleDir}/environment.yml" + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8c/8c5d2818c8b9f58e1fba77ce219fdaf32087ae53e857c4a496402978af26e78c/data' + : 'community.wave.seqera.io/library/htslib_samtools:1.23.1--5b6bb4ede7e612e5'}" + + input: + tuple val(meta), path(input), path(index) + tuple val(meta2), path(fasta), path(fai) + tuple val(meta3), path(qname) + tuple val(meta4), path(bed) + val index_format + + output: + tuple val(meta), path("${prefix}.bam"), emit: bam, optional: true + tuple val(meta), path("${prefix}.cram"), emit: cram, optional: true + tuple val(meta), path("${prefix}.sam"), emit: sam, optional: true + tuple val(meta), path("${prefix}.${file_type}.bai"), emit: bai, optional: true + tuple val(meta), path("${prefix}.${file_type}.csi"), emit: csi, optional: true + tuple val(meta), path("${prefix}.${file_type}.crai"), emit: crai, optional: true + tuple val(meta), path("${prefix}.unselected.${file_type}"), emit: unselected, optional: true + tuple val(meta), path("${prefix}.unselected.${file_type}.{csi,crai}"), emit: unselected_index, optional: true + tuple val("${task.process}"), val('samtools'), eval('samtools version | sed "1!d;s/.* //"'), emit: versions_samtools, topic: versions + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def args2 = task.ext.args2 ?: '' + prefix = task.ext.prefix ?: "${meta.id}" + def reference = fasta ? "--reference ${fasta}" : "" + file_type = args.contains("--output-fmt sam") + ? "sam" + : args.contains("--output-fmt bam") + ? "bam" + : args.contains("--output-fmt cram") + ? "cram" + : input.getExtension() + + output_file = index_format ? "${prefix}.${file_type}##idx##${prefix}.${file_type}.${index_format} --write-index" : "${prefix}.${file_type}" + // Can't choose index type of unselected file + readnames = qname ? "--qname-file ${qname} --output-unselected ${prefix}.unselected.${file_type}" : "" + def bedfile = bed ? "-L ${bed}" : "" + + if ("${input}" == "${prefix}.${file_type}") { + error("Input and output names are the same, use \"task.ext.prefix\" to disambiguate!") + } + if (index_format) { + if (!index_format.matches('bai|csi|crai')) { + error("Index format not one of bai, csi, crai.") + } + else if (file_type == "sam") { + error("Indexing not compatible with SAM output") + } + } + """ + # Note: --threads value represents *additional* CPUs to allocate (total CPUs = 1 + --threads). + samtools \\ + view \\ + --threads ${task.cpus - 1} \\ + ${reference} \\ + ${readnames} \\ + ${bedfile} \\ + ${args} \\ + -o ${output_file} \\ + ${input} \\ + ${args2} + """ + + stub: + def args = task.ext.args ?: '' + prefix = task.ext.prefix ?: "${meta.id}" + file_type = args.contains("--output-fmt sam") + ? "sam" + : args.contains("--output-fmt bam") + ? "bam" + : args.contains("--output-fmt cram") + ? "cram" + : input.getExtension() + default_index_format = file_type == "bam" + ? "csi" + : file_type == "cram" ? "crai" : "" + index = index_format ? "touch ${prefix}.${file_type}.${index_format}" : args.contains("--write-index") ? "touch ${prefix}.${file_type}.${default_index_format}" : "" + unselected = qname ? "touch ${prefix}.unselected.${file_type}" : "" + // Can't choose index type of unselected file + unselected_index = qname && (args.contains("--write-index") || index_format) ? "touch ${prefix}.unselected.${file_type}.${default_index_format}" : "" + + if ("${input}" == "${prefix}.${file_type}") { + error("Input and output names are the same, use \"task.ext.prefix\" to disambiguate!") + } + if (index_format) { + if (!index_format.matches('bai|csi|crai')) { + error("Index format not one of bai, csi, crai.") + } + else if (file_type == "sam") { + error("Indexing not compatible with SAM output.") + } + } + """ + touch ${prefix}.${file_type} + ${index} + ${unselected} + ${unselected_index} + """ +} diff --git a/modules/nf-core/samtools/view/meta.yml b/modules/nf-core/samtools/view/meta.yml new file mode 100644 index 00000000..51e31834 --- /dev/null +++ b/modules/nf-core/samtools/view/meta.yml @@ -0,0 +1,199 @@ +name: samtools_view +description: filter/convert SAM/BAM/CRAM file +keywords: + - view + - bam + - sam + - cram +tools: + - samtools: + description: | + SAMtools is a set of utilities for interacting with and post-processing + short DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li. + These files are generated as output by short read aligners like BWA. + homepage: http://www.htslib.org/ + documentation: http://www.htslib.org/doc/samtools.html + doi: 10.1093/bioinformatics/btp352 + licence: ["MIT"] + identifier: biotools:samtools +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - input: + type: file + description: BAM/CRAM/SAM file + pattern: "*.{bam,cram,sam}" + ontologies: [] + - index: + type: file + description: BAM.BAI/BAM.CSI/CRAM.CRAI file (optional) + pattern: "*.{.bai,.csi,.crai}" + ontologies: [] + - - meta2: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome' ] + - fasta: + type: file + description: Fasta reference file + pattern: "*.{fasta,fa}" + ontologies: + - edam: http://edamontology.org/format_1929 # FASTA + - fai: + type: file + description: Fasta reference file index + pattern: "*.{fai}" + ontologies: + - edam: http://edamontology.org/format_3326 # Index + - - meta3: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - qname: + type: file + description: Optional file with read names to output only select alignments + pattern: "*.{txt,list}" + ontologies: [] + - - meta4: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - bed: + type: file + description: Optional BED file for filtering alignments by genomic region (-L) + pattern: "*.{bed}" + ontologies: + - edam: http://edamontology.org/format_3003 # BED + - index_format: + type: string + description: Index format, used together with ext.args = '--write-index' + pattern: "bai|csi|crai" +output: + bam: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - ${prefix}.bam: + type: file + description: optional filtered/converted BAM file + pattern: "*.{bam}" + ontologies: [] + cram: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - ${prefix}.cram: + type: file + description: optional filtered/converted CRAM file + pattern: "*.{cram}" + ontologies: [] + sam: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - ${prefix}.sam: + type: file + description: optional filtered/converted SAM file + pattern: "*.{sam}" + ontologies: [] + bai: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - ${prefix}.${file_type}.bai: + type: file + description: optional BAM file index + pattern: "*.{bai}" + ontologies: [] + csi: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - ${prefix}.${file_type}.csi: + type: file + description: optional tabix BAM file index + pattern: "*.{csi}" + ontologies: [] + crai: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - ${prefix}.${file_type}.crai: + type: file + description: optional CRAM file index + pattern: "*.{crai}" + ontologies: [] + unselected: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - ${prefix}.unselected.${file_type}: + type: file + description: optional file with unselected alignments + pattern: "*.unselected.{bam,cram,sam}" + ontologies: [] + unselected_index: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - ${prefix}.unselected.${file_type}.{csi,crai}: + type: file + description: index for the "unselected" file + pattern: "*.unselected.{csi,crai}" + ontologies: [] + versions_samtools: + - - ${task.process}: + type: string + description: Name of the process + - samtools: + type: string + description: Name of the tool + - samtools version | sed "1!d;s/.* //": + type: eval + description: The expression to obtain the version of the tool + +topics: + versions: + - - ${task.process}: + type: string + description: Name of the process + - samtools: + type: string + description: Name of the tool + - samtools version | sed "1!d;s/.* //": + type: eval + description: The expression to obtain the version of the tool + +authors: + - "@drpatelh" + - "@joseespinosa" + - "@FriederikeHanssen" + - "@priyanka-surana" +maintainers: + - "@drpatelh" + - "@joseespinosa" + - "@FriederikeHanssen" + - "@priyanka-surana" + - "@matthdsm" diff --git a/modules/nf-core/samtools/view/tests/main.nf.test b/modules/nf-core/samtools/view/tests/main.nf.test new file mode 100644 index 00000000..12faf1f1 --- /dev/null +++ b/modules/nf-core/samtools/view/tests/main.nf.test @@ -0,0 +1,476 @@ +nextflow_process { + + name "Test Process SAMTOOLS_VIEW" + script "../main.nf" + config "./nextflow.config" + process "SAMTOOLS_VIEW" + + tag "modules" + tag "modules_nfcore" + tag "samtools" + tag "samtools/view" + + test("bam") { + when { + params { + samtools_args = "" + } + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.bam', checkIfExists: true), + [] + ] + input[1] = [[],[],[]] + input[2] = [[], []] + input[3] = [[], []] + input[4] = [] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(sanitizeOutput(process.out, unstableKeys: ["bam"])).match()} + ) + } + } + + test("bam_csi_index") { + when { + params { + samtools_args = "--output-fmt bam --write-index" + } + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + [] + ] + input[1] = [[],[],[]] + input[2] = [[], []] + input[3] = [[], []] + input[4] = 'csi' + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(sanitizeOutput(process.out, unstableKeys: ["bam", "csi"])).match()} + ) + } + } + + test("bam_bai_index") { + when { + params { + samtools_args = "--output-fmt bam --write-index" + } + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + [] + ] + input[1] = [[],[],[]] + input[2] = [[], []] + input[3] = [[], []] + input[4] = 'bai' + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(sanitizeOutput(process.out, unstableKeys: ["bam", "bai"])).match()} + ) + } + } + + test("bam_bai_index_unselected") { + when { + params { + samtools_args = "--output-fmt bam --write-index" + } + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + [] + ] + input[1] = [[],[],[]] + input[2] = Channel.of('testN:1') + .collectFile(name: 'selected_reads.txt') + .map { file -> [[:], file] } + input[3] = [[], []] + input[4] = 'bai' + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(sanitizeOutput(process.out, unstableKeys: ["bam", "bai", "unselected", "unselected_index"])).match()} + ) + } + } + + test("cram_crai_index_unselected") { + when { + params { + samtools_args = "--output-fmt cram --write-index" + } + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + [] + ] + input[1] = [[],[],[]] + input[2] = Channel.of('testN:1') + .collectFile(name: 'selected_reads.txt') + .map { file -> [[:], file] } + input[3] = [[], []] + input[4] = 'crai' + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(sanitizeOutput(process.out, unstableKeys: ["bam", "bai", "unselected", "unselected_index", "crai"])).match()} + ) + } + } + + test("cram") { + when { + params { + samtools_args = "" + } + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.sorted.cram', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.sorted.cram.crai', checkIfExists: true) + ] + input[1] = [ + [ id:'genome' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.fai', checkIfExists: true) + ] + input[2] = [[], []] + input[3] = [[], []] + input[4] = [] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(sanitizeOutput(process.out, unstableKeys: ["cram"])).match()} + ) + } + } + + test("cram_to_bam") { + when { + params { + samtools_args = "--output-fmt bam" + } + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.sorted.cram', checkIfExists: true), + [] + ] + input[1] = [ + [ id:'genome' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.fai', checkIfExists: true) + ] + input[2] = [[], []] + input[3] = [[], []] + input[4] = [] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(sanitizeOutput(process.out, unstableKeys: ["bam"])).match()} + ) + } + } + + test("cram_to_bam_index") { + when { + params { + samtools_args = "--output-fmt bam --write-index" + } + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.sorted.cram', checkIfExists: true), + [] + ] + input[1] = [ + [ id:'genome' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.fai', checkIfExists: true) + ] + input[2] = [[], []] + input[3] = [[], []] + input[4] = [] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(sanitizeOutput(process.out, unstableKeys: ["bam", "csi"])).match()} + ) + } + } + + test("cram_to_bam_index_qname") { + when { + params { + samtools_args = "--output-fmt bam --write-index" + } + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.sorted.cram', checkIfExists: true), + [] + ] + input[1] = [ + [ id:'genome' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.fai', checkIfExists: true) + ] + input[2] = Channel.of("testN:2817", "testN:2814") + .collectFile(name: "readnames.list", newLine: true) + .map { file -> [[:], file] } + input[3] = [[], []] + input[4] = [] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(sanitizeOutput(process.out, unstableKeys: ["bam", "bai", "unselected", "unselected_index"])).match()} + ) + } + } + + test("bam_with_bed") { + when { + params { + samtools_args = "--output-fmt bam" + } + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + [] + ] + input[1] = [[],[],[]] + input[2] = [[], []] + input[3] = [ + [:], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/bed/test.bed', checkIfExists: true) + ] + input[4] = [] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(sanitizeOutput(process.out, unstableKeys: ["bam"])).match()} + ) + } + } + + test("bam_stub") { + + options "-stub" + + when { + params { + samtools_args = "--output-fmt bam --write-index" + } + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.bam', checkIfExists: true), + [] + ] + input[1] = [[],[],[]] + input[2] = [[], []] + input[3] = [[], []] + input[4] = [] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(sanitizeOutput(process.out, unstableKeys: ["bam", "csi"])).match()} + ) + } + } + + test("bam_csi_index - stub") { + + options "-stub" + + when { + params { + samtools_args = "--output-fmt bam --write-index" + } + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + [] + ] + input[1] = [[],[],[]] + input[2] = [[], []] + input[3] = [[], []] + input[4] = 'csi' + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("bam_bai_index - stub") { + + options "-stub" + + when { + params { + samtools_args = "--output-fmt bam --write-index" + } + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + [] + ] + input[1] = [[],[],[]] + input[2] = [[], []] + input[3] = [[], []] + input[4] = 'bai' + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("bam_bai_index_uselected - stub") { + + options "-stub" + + when { + params { + samtools_args = "--output-fmt bam --write-index" + } + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + [] + ] + input[1] = [[],[],[]] + input[2] = Channel.of('testN:1') + .collectFile(name: 'selected_reads.txt') + .map { file -> [[:], file] } + input[3] = [[], []] + input[4] = 'bai' + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("cram_crai_index_unselected - stub") { + + options "-stub" + + when { + params { + samtools_args = "--output-fmt cram --write-index" + } + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + [] + ] + input[1] = [[],[],[]] + input[2] = Channel.of('testN:1') + .collectFile(name: 'selected_reads.txt') + .map { file -> [[:], file] } + input[3] = [[], []] + input[4] = 'crai' + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } +} diff --git a/modules/nf-core/samtools/view/tests/main.nf.test.snap b/modules/nf-core/samtools/view/tests/main.nf.test.snap new file mode 100644 index 00000000..697c918d --- /dev/null +++ b/modules/nf-core/samtools/view/tests/main.nf.test.snap @@ -0,0 +1,996 @@ +{ + "cram_to_bam_index": { + "content": [ + { + "bai": [ + + ], + "bam": [ + [ + { + "id": "test" + }, + "test.bam" + ] + ], + "crai": [ + + ], + "cram": [ + + ], + "csi": [ + [ + { + "id": "test" + }, + "test.bam.csi" + ] + ], + "sam": [ + + ], + "unselected": [ + + ], + "unselected_index": [ + + ], + "versions_samtools": [ + [ + "SAMTOOLS_VIEW", + "samtools", + "1.23.1" + ] + ] + } + ], + "timestamp": "2026-03-19T09:06:44.475595", + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + } + }, + "bam_csi_index - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + + ], + "2": [ + + ], + "3": [ + + ], + "4": [ + [ + { + "id": "test" + }, + "test.bam.csi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "5": [ + + ], + "6": [ + + ], + "7": [ + + ], + "8": [ + [ + "SAMTOOLS_VIEW", + "samtools", + "1.23.1" + ] + ], + "bai": [ + + ], + "bam": [ + [ + { + "id": "test" + }, + "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "crai": [ + + ], + "cram": [ + + ], + "csi": [ + [ + { + "id": "test" + }, + "test.bam.csi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "sam": [ + + ], + "unselected": [ + + ], + "unselected_index": [ + + ], + "versions_samtools": [ + [ + "SAMTOOLS_VIEW", + "samtools", + "1.23.1" + ] + ] + } + ], + "timestamp": "2026-03-19T09:07:04.977559", + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + } + }, + "bam_csi_index": { + "content": [ + { + "bai": [ + + ], + "bam": [ + [ + { + "id": "test" + }, + "test.bam" + ] + ], + "crai": [ + + ], + "cram": [ + + ], + "csi": [ + [ + { + "id": "test" + }, + "test.bam.csi" + ] + ], + "sam": [ + + ], + "unselected": [ + + ], + "unselected_index": [ + + ], + "versions_samtools": [ + [ + "SAMTOOLS_VIEW", + "samtools", + "1.23.1" + ] + ] + } + ], + "timestamp": "2026-03-19T09:06:07.203393", + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + } + }, + "cram_to_bam_index_qname": { + "content": [ + { + "bai": [ + + ], + "bam": [ + [ + { + "id": "test" + }, + "test.bam" + ] + ], + "crai": [ + + ], + "cram": [ + + ], + "csi": [ + [ + { + "id": "test" + }, + "test.bam.csi:md5,15d725bced7ececd45b4312b2af99a6b" + ] + ], + "sam": [ + + ], + "unselected": [ + [ + { + "id": "test" + }, + "test.unselected.bam" + ] + ], + "unselected_index": [ + [ + { + "id": "test" + }, + "test.unselected.bam.csi" + ] + ], + "versions_samtools": [ + [ + "SAMTOOLS_VIEW", + "samtools", + "1.23.1" + ] + ] + } + ], + "timestamp": "2026-03-19T09:06:52.242422", + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + } + }, + "bam_bai_index_unselected": { + "content": [ + { + "bai": [ + [ + { + "id": "test" + }, + "test.bam.bai" + ] + ], + "bam": [ + [ + { + "id": "test" + }, + "test.bam" + ] + ], + "crai": [ + + ], + "cram": [ + + ], + "csi": [ + + ], + "sam": [ + + ], + "unselected": [ + [ + { + "id": "test" + }, + "test.unselected.bam" + ] + ], + "unselected_index": [ + [ + { + "id": "test" + }, + "test.unselected.bam.csi" + ] + ], + "versions_samtools": [ + [ + "SAMTOOLS_VIEW", + "samtools", + "1.23.1" + ] + ] + } + ], + "timestamp": "2026-03-19T09:06:18.267421", + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + } + }, + "cram_crai_index_unselected - stub": { + "content": [ + { + "0": [ + + ], + "1": [ + [ + { + "id": "test" + }, + "test.cram:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "2": [ + + ], + "3": [ + + ], + "4": [ + + ], + "5": [ + [ + { + "id": "test" + }, + "test.cram.crai:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "6": [ + [ + { + "id": "test" + }, + "test.unselected.cram:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "7": [ + [ + { + "id": "test" + }, + "test.unselected.cram.crai:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "8": [ + [ + "SAMTOOLS_VIEW", + "samtools", + "1.23.1" + ] + ], + "bai": [ + + ], + "bam": [ + + ], + "crai": [ + [ + { + "id": "test" + }, + "test.cram.crai:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "cram": [ + [ + { + "id": "test" + }, + "test.cram:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "csi": [ + + ], + "sam": [ + + ], + "unselected": [ + [ + { + "id": "test" + }, + "test.unselected.cram:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "unselected_index": [ + [ + { + "id": "test" + }, + "test.unselected.cram.crai:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions_samtools": [ + [ + "SAMTOOLS_VIEW", + "samtools", + "1.23.1" + ] + ] + } + ], + "timestamp": "2026-03-19T09:07:27.864649", + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + } + }, + "bam": { + "content": [ + { + "bai": [ + + ], + "bam": [ + [ + { + "id": "test" + }, + "test.bam" + ] + ], + "crai": [ + + ], + "cram": [ + + ], + "csi": [ + + ], + "sam": [ + + ], + "unselected": [ + + ], + "unselected_index": [ + + ], + "versions_samtools": [ + [ + "SAMTOOLS_VIEW", + "samtools", + "1.23.1" + ] + ] + } + ], + "timestamp": "2026-03-19T09:06:01.906355", + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + } + }, + "bam_bai_index": { + "content": [ + { + "bai": [ + [ + { + "id": "test" + }, + "test.bam.bai" + ] + ], + "bam": [ + [ + { + "id": "test" + }, + "test.bam" + ] + ], + "crai": [ + + ], + "cram": [ + + ], + "csi": [ + + ], + "sam": [ + + ], + "unselected": [ + + ], + "unselected_index": [ + + ], + "versions_samtools": [ + [ + "SAMTOOLS_VIEW", + "samtools", + "1.23.1" + ] + ] + } + ], + "timestamp": "2026-03-19T09:06:12.483533", + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + } + }, + "cram_to_bam": { + "content": [ + { + "bai": [ + + ], + "bam": [ + [ + { + "id": "test" + }, + "test.bam" + ] + ], + "crai": [ + + ], + "cram": [ + + ], + "csi": [ + + ], + "sam": [ + + ], + "unselected": [ + + ], + "unselected_index": [ + + ], + "versions_samtools": [ + [ + "SAMTOOLS_VIEW", + "samtools", + "1.23.1" + ] + ] + } + ], + "timestamp": "2026-03-19T09:06:37.592685", + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + } + }, + "bam_bai_index - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + + ], + "2": [ + + ], + "3": [ + [ + { + "id": "test" + }, + "test.bam.bai:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "4": [ + + ], + "5": [ + + ], + "6": [ + + ], + "7": [ + + ], + "8": [ + [ + "SAMTOOLS_VIEW", + "samtools", + "1.23.1" + ] + ], + "bai": [ + [ + { + "id": "test" + }, + "test.bam.bai:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "bam": [ + [ + { + "id": "test" + }, + "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "crai": [ + + ], + "cram": [ + + ], + "csi": [ + + ], + "sam": [ + + ], + "unselected": [ + + ], + "unselected_index": [ + + ], + "versions_samtools": [ + [ + "SAMTOOLS_VIEW", + "samtools", + "1.23.1" + ] + ] + } + ], + "timestamp": "2026-03-19T09:07:12.214174", + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + } + }, + "cram": { + "content": [ + { + "bai": [ + + ], + "bam": [ + + ], + "crai": [ + + ], + "cram": [ + [ + { + "id": "test" + }, + "test.cram" + ] + ], + "csi": [ + + ], + "sam": [ + + ], + "unselected": [ + + ], + "unselected_index": [ + + ], + "versions_samtools": [ + [ + "SAMTOOLS_VIEW", + "samtools", + "1.23.1" + ] + ] + } + ], + "timestamp": "2026-03-19T09:06:29.867409", + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + } + }, + "bam_bai_index_uselected - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + + ], + "2": [ + + ], + "3": [ + [ + { + "id": "test" + }, + "test.bam.bai:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "4": [ + + ], + "5": [ + + ], + "6": [ + [ + { + "id": "test" + }, + "test.unselected.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "7": [ + [ + { + "id": "test" + }, + "test.unselected.bam.csi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "8": [ + [ + "SAMTOOLS_VIEW", + "samtools", + "1.23.1" + ] + ], + "bai": [ + [ + { + "id": "test" + }, + "test.bam.bai:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "bam": [ + [ + { + "id": "test" + }, + "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "crai": [ + + ], + "cram": [ + + ], + "csi": [ + + ], + "sam": [ + + ], + "unselected": [ + [ + { + "id": "test" + }, + "test.unselected.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "unselected_index": [ + [ + { + "id": "test" + }, + "test.unselected.bam.csi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions_samtools": [ + [ + "SAMTOOLS_VIEW", + "samtools", + "1.23.1" + ] + ] + } + ], + "timestamp": "2026-03-19T09:07:21.14353", + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + } + }, + "bam_with_bed": { + "content": [ + { + "bai": [ + + ], + "bam": [ + [ + { + "id": "test" + }, + "test.bam" + ] + ], + "crai": [ + + ], + "cram": [ + + ], + "csi": [ + + ], + "sam": [ + + ], + "unselected": [ + + ], + "unselected_index": [ + + ], + "versions_samtools": [ + [ + "SAMTOOLS_VIEW", + "samtools", + "1.23.1" + ] + ] + } + ], + "timestamp": "2026-03-25T12:13:59.0656", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "cram_crai_index_unselected": { + "content": [ + { + "bai": [ + + ], + "bam": [ + + ], + "crai": [ + [ + { + "id": "test" + }, + "test.cram.crai" + ] + ], + "cram": [ + [ + { + "id": "test" + }, + "test.cram:md5,924e27301c54060128cc259f5f83e74f" + ] + ], + "csi": [ + + ], + "sam": [ + + ], + "unselected": [ + [ + { + "id": "test" + }, + "test.unselected.cram" + ] + ], + "unselected_index": [ + [ + { + "id": "test" + }, + "test.unselected.cram.crai" + ] + ], + "versions_samtools": [ + [ + "SAMTOOLS_VIEW", + "samtools", + "1.23.1" + ] + ] + } + ], + "timestamp": "2026-03-19T09:06:23.90307", + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + } + }, + "bam_stub": { + "content": [ + { + "bai": [ + + ], + "bam": [ + [ + { + "id": "test" + }, + "test.bam" + ] + ], + "crai": [ + + ], + "cram": [ + + ], + "csi": [ + [ + { + "id": "test" + }, + "test.bam.csi" + ] + ], + "sam": [ + + ], + "unselected": [ + + ], + "unselected_index": [ + + ], + "versions_samtools": [ + [ + "SAMTOOLS_VIEW", + "samtools", + "1.23.1" + ] + ] + } + ], + "timestamp": "2026-03-19T09:06:58.641723", + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + } + } +} \ No newline at end of file diff --git a/modules/nf-core/samtools/view/tests/nextflow.config b/modules/nf-core/samtools/view/tests/nextflow.config new file mode 100644 index 00000000..7d11b502 --- /dev/null +++ b/modules/nf-core/samtools/view/tests/nextflow.config @@ -0,0 +1,5 @@ +process { + withName: SAMTOOLS_VIEW { + ext.args = { params.samtools_args } + } +} diff --git a/modules/nf-core/star/align/environment.yml b/modules/nf-core/star/align/environment.yml new file mode 100644 index 00000000..91e37ae1 --- /dev/null +++ b/modules/nf-core/star/align/environment.yml @@ -0,0 +1,11 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda + +dependencies: + - bioconda::htslib=1.21 + - bioconda::samtools=1.21 + - bioconda::star=2.7.11b + - conda-forge::gawk=5.1.0 diff --git a/modules/nf-core/star/align/main.nf b/modules/nf-core/star/align/main.nf new file mode 100644 index 00000000..2ad280e6 --- /dev/null +++ b/modules/nf-core/star/align/main.nf @@ -0,0 +1,95 @@ +process STAR_ALIGN { + tag "$meta.id" + label 'process_high' + + conda "${moduleDir}/environment.yml" + container "${ workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container ? + 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/26/268b4c9c6cbf8fa6606c9b7fd4fafce18bf2c931d1a809a0ce51b105ec06c89d/data' : + 'community.wave.seqera.io/library/htslib_samtools_star_gawk:ae438e9a604351a4' }" + + input: + tuple val(meta), path(reads, stageAs: "input*/*") + tuple val(meta2), path(index) + tuple val(meta3), path(gtf) + val star_ignore_sjdbgtf + + output: + tuple val(meta), path('*Log.final.out') , emit: log_final + tuple val(meta), path('*Log.out') , emit: log_out + tuple val(meta), path('*Log.progress.out'), emit: log_progress + tuple val("${task.process}"), val('star'), eval('STAR --version | sed "s/STAR_//"'), emit: versions_star, topic: versions + tuple val("${task.process}"), val('samtools'), eval("samtools --version | sed -n '1s/samtools //p'"), emit: versions_samtools, topic: versions + tuple val("${task.process}"), val('gawk'), eval("gawk --version | sed -n '1s/GNU Awk \\([0-9.]*\\).*/\\1/p'"), emit: versions_gawk, topic: versions + + tuple val(meta), path('*d.out.bam') , optional:true, emit: bam + tuple val(meta), path("${prefix}.sortedByCoord.out.bam") , optional:true, emit: bam_sorted + tuple val(meta), path("${prefix}.Aligned.sortedByCoord.out.bam") , optional:true, emit: bam_sorted_aligned + tuple val(meta), path('*toTranscriptome.out.bam') , optional:true, emit: bam_transcript + tuple val(meta), path('*Aligned.unsort.out.bam') , optional:true, emit: bam_unsorted + tuple val(meta), path('*fastq.gz') , optional:true, emit: fastq + tuple val(meta), path('*.tab') , optional:true, emit: tab + tuple val(meta), path('*.SJ.out.tab') , optional:true, emit: spl_junc_tab + tuple val(meta), path('*.ReadsPerGene.out.tab') , optional:true, emit: read_per_gene_tab + tuple val(meta), path('*.out.junction') , optional:true, emit: junction + tuple val(meta), path('*.out.sam') , optional:true, emit: sam + tuple val(meta), path('*.wig') , optional:true, emit: wig + tuple val(meta), path('*.bg') , optional:true, emit: bedgraph + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + prefix = task.ext.prefix ?: "${meta.id}" + def reads1 = [] + def reads2 = [] + meta.single_end ? [reads].flatten().each{ read -> reads1 << read} : reads.eachWithIndex{ v, ix -> ( ix & 1 ? reads2 : reads1) << v } + def ignore_gtf = star_ignore_sjdbgtf ? '' : "--sjdbGTFfile $gtf" + attrRG = args.contains("--outSAMattrRGline") ? "" : "--outSAMattrRGline 'ID:$prefix' 'SM:$prefix'" + def out_sam_type = (args.contains('--outSAMtype')) ? '' : '--outSAMtype BAM Unsorted' + mv_unsorted_bam = (args.contains('--outSAMtype BAM Unsorted SortedByCoordinate')) ? "mv ${prefix}.Aligned.out.bam ${prefix}.Aligned.unsort.out.bam" : '' + """ + STAR \\ + --genomeDir $index \\ + --readFilesIn ${reads1.join(",")} ${reads2.join(",")} \\ + --runThreadN $task.cpus \\ + --outFileNamePrefix $prefix. \\ + $out_sam_type \\ + $ignore_gtf \\ + $attrRG \\ + $args + + $mv_unsorted_bam + + if [ -f ${prefix}.Unmapped.out.mate1 ]; then + mv ${prefix}.Unmapped.out.mate1 ${prefix}.unmapped_1.fastq + gzip ${prefix}.unmapped_1.fastq + fi + if [ -f ${prefix}.Unmapped.out.mate2 ]; then + mv ${prefix}.Unmapped.out.mate2 ${prefix}.unmapped_2.fastq + gzip ${prefix}.unmapped_2.fastq + fi + """ + + stub: + prefix = task.ext.prefix ?: "${meta.id}" + """ + echo "" | gzip > ${prefix}.unmapped_1.fastq.gz + echo "" | gzip > ${prefix}.unmapped_2.fastq.gz + touch ${prefix}Xd.out.bam + touch ${prefix}.Log.final.out + touch ${prefix}.Log.out + touch ${prefix}.Log.progress.out + touch ${prefix}.sortedByCoord.out.bam + touch ${prefix}.toTranscriptome.out.bam + touch ${prefix}.Aligned.unsort.out.bam + touch ${prefix}.Aligned.sortedByCoord.out.bam + touch ${prefix}.tab + touch ${prefix}.SJ.out.tab + touch ${prefix}.ReadsPerGene.out.tab + touch ${prefix}.Chimeric.out.junction + touch ${prefix}.out.sam + touch ${prefix}.Signal.UniqueMultiple.str1.out.wig + touch ${prefix}.Signal.UniqueMultiple.str1.out.bg + """ +} diff --git a/modules/nf-core/star/align/meta.yml b/modules/nf-core/star/align/meta.yml new file mode 100644 index 00000000..3df5cfe7 --- /dev/null +++ b/modules/nf-core/star/align/meta.yml @@ -0,0 +1,301 @@ +name: star_align +description: Align reads to a reference genome using STAR +keywords: + - align + - fasta + - genome + - reference +tools: + - star: + description: | + STAR is a software package for mapping DNA sequences against + a large reference genome, such as the human genome. + homepage: https://github.com/alexdobin/STAR + manual: https://github.com/alexdobin/STAR/blob/master/doc/STARmanual.pdf + doi: 10.1093/bioinformatics/bts635 + licence: ["MIT"] + identifier: biotools:star +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - reads: + type: file + description: | + List of input FastQ files of size 1 and 2 for single-end and paired-end data, + respectively. + ontologies: [] + - - meta2: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'test' ] + - index: + type: directory + description: STAR genome index + pattern: "star" + - - meta3: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'test' ] + - gtf: + type: file + description: Annotation GTF file + pattern: "*.{gtf}" + ontologies: [] + - star_ignore_sjdbgtf: + type: boolean + description: Ignore annotation GTF file +output: + log_final: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*Log.final.out": + type: file + description: STAR final log file + pattern: "*Log.final.out" + ontologies: [] + log_out: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*Log.out": + type: file + description: STAR lot out file + pattern: "*Log.out" + ontologies: [] + log_progress: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*Log.progress.out": + type: file + description: STAR log progress file + pattern: "*Log.progress.out" + ontologies: [] + versions_star: + - - ${task.process}: + type: string + description: The name of the process + - star: + type: string + description: The name of the tool + - STAR --version | sed "s/STAR_//": + type: eval + description: The expression to obtain the version of the tool + versions_samtools: + - - ${task.process}: + type: string + description: The name of the process + - samtools: + type: string + description: The name of the tool + - samtools --version | sed -n '1s/samtools //p': + type: eval + description: The expression to obtain the version of the tool + versions_gawk: + - - ${task.process}: + type: string + description: The name of the process + - gawk: + type: string + description: The name of the tool + - gawk --version | sed -n '1s/GNU Awk \([0-9.]*\).*/\1/p': + type: eval + description: The expression to obtain the version of the tool + + bam: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*d.out.bam": + type: file + description: Output BAM file containing read alignments + pattern: "*.{bam}" + ontologies: [] + bam_sorted: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - ${prefix}.sortedByCoord.out.bam: + type: file + description: Sorted BAM file of read alignments (optional) + pattern: "*sortedByCoord.out.bam" + ontologies: [] + bam_sorted_aligned: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - ${prefix}.Aligned.sortedByCoord.out.bam: + type: file + description: Sorted BAM file of read alignments (optional) + pattern: "*.Aligned.sortedByCoord.out.bam" + ontologies: [] + bam_transcript: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*toTranscriptome.out.bam": + type: file + description: Output BAM file of transcriptome alignment (optional) + pattern: "*toTranscriptome.out.bam" + ontologies: [] + bam_unsorted: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*Aligned.unsort.out.bam": + type: file + description: Unsorted BAM file of read alignments (optional) + pattern: "*Aligned.unsort.out.bam" + ontologies: [] + fastq: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*fastq.gz": + type: file + description: Unmapped FastQ files (optional) + pattern: "*fastq.gz" + ontologies: + - edam: http://edamontology.org/format_3989 # GZIP format + tab: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.tab": + type: file + description: STAR output tab file(s) (optional) + pattern: "*.tab" + ontologies: + - edam: http://edamontology.org/format_3475 # TSV + spl_junc_tab: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.SJ.out.tab": + type: file + description: STAR output splice junction tab file + pattern: "*.SJ.out.tab" + ontologies: + - edam: http://edamontology.org/format_3475 # TSV + read_per_gene_tab: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.ReadsPerGene.out.tab": + type: file + description: STAR output read per gene tab file + pattern: "*.ReadsPerGene.out.tab" + ontologies: + - edam: http://edamontology.org/format_3475 # TSV + junction: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.out.junction": + type: file + description: STAR chimeric junction output file (optional) + pattern: "*.out.junction" + ontologies: [] + sam: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.out.sam": + type: file + description: STAR output SAM file(s) (optional) + pattern: "*.out.sam" + ontologies: [] + wig: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.wig": + type: file + description: STAR output wiggle format file(s) (optional) + pattern: "*.wig" + ontologies: [] + bedgraph: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.bg": + type: file + description: STAR output bedGraph format file(s) (optional) + pattern: "*.bg" + ontologies: [] +topics: + versions: + - - ${task.process}: + type: string + description: The name of the process + - star: + type: string + description: The name of the tool + - STAR --version | sed "s/STAR_//": + type: eval + description: The expression to obtain the version of the tool + - - ${task.process}: + type: string + description: The name of the process + - samtools: + type: string + description: The name of the tool + - samtools --version | sed -n '1s/samtools //p': + type: eval + description: The expression to obtain the version of the tool + - - ${task.process}: + type: string + description: The name of the process + - gawk: + type: string + description: The name of the tool + - gawk --version | sed -n '1s/GNU Awk \([0-9.]*\).*/\1/p': + type: eval + description: The expression to obtain the version of the tool + +authors: + - "@kevinmenden" + - "@drpatelh" + - "@praveenraj2018" +maintainers: + - "@kevinmenden" + - "@drpatelh" + - "@praveenraj2018" diff --git a/modules/nf-core/star/align/star-align.diff b/modules/nf-core/star/align/star-align.diff new file mode 100644 index 00000000..8dd8d0a6 --- /dev/null +++ b/modules/nf-core/star/align/star-align.diff @@ -0,0 +1,14 @@ +Changes in module 'nf-core/star/align' +--- modules/nf-core/star/align/main.nf ++++ modules/nf-core/star/align/main.nf +@@ -45,7 +45,7 @@ + def ignore_gtf = star_ignore_sjdbgtf ? '' : "--sjdbGTFfile $gtf" + def seq_platform = seq_platform ? "'PL:$seq_platform'" : "" + def seq_center = seq_center ? "'CN:$seq_center'" : "" +- def attrRG = args.contains("--outSAMattrRGline") ? "" : "--outSAMattrRGline 'ID:$prefix' $seq_center 'SM:$prefix' $seq_platform" ++ def attrRG = (args.contains("--outSAMattrRGline")) ? "" : "--outSAMattrRGline 'ID:$prefix' $seq_center 'SM:$prefix' $seq_platform" + def out_sam_type = (args.contains('--outSAMtype')) ? '' : '--outSAMtype BAM Unsorted' + def mv_unsorted_bam = (args.contains('--outSAMtype BAM Unsorted SortedByCoordinate')) ? "mv ${prefix}.Aligned.out.bam ${prefix}.Aligned.unsort.out.bam" : '' + """ + +************************************************************ diff --git a/modules/nf-core/star/align/tests/main.nf.test b/modules/nf-core/star/align/tests/main.nf.test new file mode 100644 index 00000000..d7c6ccbd --- /dev/null +++ b/modules/nf-core/star/align/tests/main.nf.test @@ -0,0 +1,573 @@ +nextflow_process { + + name "Test Process STAR_ALIGN" + script "../main.nf" + process "STAR_ALIGN" + tag "modules" + tag "modules_nfcore" + tag "star" + tag "star/align" + tag "star/genomegenerate" + + test("homo_sapiens - single_end") { + config "./nextflow.config" + + setup { + run("STAR_GENOMEGENERATE") { + script "../../../star/genomegenerate/main.nf" + process { + """ + input[0] = Channel.of([ + [ id:'test_fasta' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true) ] + ]) + input[1] = Channel.of([ + [ id:'test_gtf' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.gtf', checkIfExists: true) ] + ]) + """ + } + } + } + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:true ], // meta map + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_rnaseq_1.fastq.gz', checkIfExists: true) ] + ]) + input[1] = STAR_GENOMEGENERATE.out.index + input[2] = Channel.of([ + [ id:'test_gtf' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.gtf', checkIfExists: true) ] + ]) + input[3] = false + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot( + file(process.out.log_final[0][1]).name, + file(process.out.log_out[0][1]).name, + file(process.out.log_progress[0][1]).name, + bam(process.out.bam[0][1]).getReadsMD5(), + bam(process.out.bam_sorted_aligned[0][1]).getReadsMD5(), + process.out.bedgraph, + process.out.fastq, + process.out.read_per_gene_tab, + process.out.sam, + process.out.spl_junc_tab, + process.out.tab, + process.out.wig, + process.out.findAll { key, val -> key.startsWith('versions') } + ).match() } + ) + } + } + + test("homo_sapiens - paired_end") { + config "./nextflow.config" + + setup { + run("STAR_GENOMEGENERATE") { + script "../../../star/genomegenerate/main.nf" + process { + """ + input[0] = Channel.of([ + [ id:'test_fasta' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true) ] + ]) + input[1] = Channel.of([ + [ id:'test_gtf' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.gtf', checkIfExists: true) ] + ]) + """ + } + } + } + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + [ + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_rnaseq_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_rnaseq_2.fastq.gz', checkIfExists: true) + ] + ]) + input[1] = STAR_GENOMEGENERATE.out.index + input[2] = Channel.of([ + [ id:'test_gtf' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.gtf', checkIfExists: true) ] + ]) + input[3] = false + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot( + file(process.out.log_final[0][1]).name, + file(process.out.log_out[0][1]).name, + file(process.out.log_progress[0][1]).name, + bam(process.out.bam[0][1]).getReadsMD5(), + bam(process.out.bam_sorted_aligned[0][1]).getReadsMD5(), + process.out.bedgraph, + process.out.fastq, + process.out.read_per_gene_tab, + process.out.sam, + process.out.spl_junc_tab, + process.out.tab, + process.out.wig, + process.out.findAll { key, val -> key.startsWith('versions') } + ).match() } + ) + } + } + + test("homo_sapiens - paired_end - arriba") { + config "./nextflow.arriba.config" + + setup { + run("STAR_GENOMEGENERATE") { + script "../../../star/genomegenerate/main.nf" + process { + """ + input[0] = Channel.of([ + [ id:'test_fasta' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true) ] + ]) + input[1] = Channel.of([ + [ id:'test_gtf' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.gtf', checkIfExists: true) ] + ]) + """ + } + } + } + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + [ + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_rnaseq_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_rnaseq_2.fastq.gz', checkIfExists: true) + ] + ]) + input[1] = STAR_GENOMEGENERATE.out.index + input[2] = Channel.of([ + [ id:'test_gtf' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.gtf', checkIfExists: true) ] + ]) + input[3] = false + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot( + file(process.out.log_final[0][1]).name, + file(process.out.log_out[0][1]).name, + file(process.out.log_progress[0][1]).name, + bam(process.out.bam[0][1]).getReadsMD5(), + process.out.bedgraph, + process.out.fastq, + process.out.read_per_gene_tab, + process.out.sam, + process.out.spl_junc_tab, + process.out.tab, + process.out.wig, + process.out.findAll { key, val -> key.startsWith('versions') } + ).match() } + ) + } + } + + test("homo_sapiens - paired_end - starfusion") { + config "./nextflow.starfusion.config" + + setup { + run("STAR_GENOMEGENERATE") { + script "../../../star/genomegenerate/main.nf" + process { + """ + input[0] = Channel.of([ + [ id:'test_fasta' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true) ] + ]) + input[1] = Channel.of([ + [ id:'test_gtf' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.gtf', checkIfExists: true) ] + ]) + """ + } + } + } + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + [ + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_rnaseq_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_rnaseq_2.fastq.gz', checkIfExists: true) + ] + ]) + input[1] = STAR_GENOMEGENERATE.out.index + input[2] = Channel.of([ + [ id:'test_gtf' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.gtf', checkIfExists: true) ] + ]) + input[3] = false + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot( + file(process.out.log_final[0][1]).name, + file(process.out.log_out[0][1]).name, + file(process.out.log_progress[0][1]).name, + file(process.out.junction[0][1]).name, + bam(process.out.bam[0][1]).getReadsMD5(), + process.out.bedgraph, + process.out.fastq, + process.out.read_per_gene_tab, + process.out.sam, + process.out.spl_junc_tab, + process.out.tab, + process.out.wig, + process.out.findAll { key, val -> key.startsWith('versions') } + ).match() } + ) + } + } + + test("homo_sapiens - paired_end - multiple") { + config "./nextflow.config" + + setup { + run("STAR_GENOMEGENERATE") { + script "../../../star/genomegenerate/main.nf" + process { + """ + input[0] = Channel.of([ + [ id:'test_fasta' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true) ] + ]) + input[1] = Channel.of([ + [ id:'test_gtf' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.gtf', checkIfExists: true) ] + ]) + """ + } + } + } + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + [ + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_rnaseq_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_rnaseq_2.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_rnaseq_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_rnaseq_2.fastq.gz', checkIfExists: true) + ] + ]) + input[1] = STAR_GENOMEGENERATE.out.index + input[2] = Channel.of([ + [ id:'test_gtf' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.gtf', checkIfExists: true) ] + ]) + input[3] = false + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot( + file(process.out.log_final[0][1]).name, + file(process.out.log_out[0][1]).name, + file(process.out.log_progress[0][1]).name, + bam(process.out.bam[0][1]).getReadsMD5(), + bam(process.out.bam_sorted_aligned[0][1]).getReadsMD5(), + process.out.bedgraph, + process.out.fastq, + process.out.read_per_gene_tab, + process.out.sam, + process.out.spl_junc_tab, + process.out.tab, + process.out.wig, + process.out.findAll { key, val -> key.startsWith('versions') } + ).match() } + ) + } + } + + test("homo_sapiens - single_end - stub") { + options "-stub" + config "./nextflow.config" + + setup { + run("STAR_GENOMEGENERATE") { + script "../../../star/genomegenerate/main.nf" + process { + """ + input[0] = Channel.of([ + [ id:'test_fasta' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true) ] + ]) + input[1] = Channel.of([ + [ id:'test_gtf' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.gtf', checkIfExists: true) ] + ]) + """ + } + } + } + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:true ], // meta map + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_rnaseq_1.fastq.gz', checkIfExists: true) ] + ]) + input[1] = STAR_GENOMEGENERATE.out.index + input[2] = Channel.of([ + [ id:'test_gtf' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.gtf', checkIfExists: true) ] + ]) + input[3] = false + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("homo_sapiens - paired_end - stub") { + options "-stub" + config "./nextflow.config" + + setup { + run("STAR_GENOMEGENERATE") { + script "../../../star/genomegenerate/main.nf" + process { + """ + input[0] = Channel.of([ + [ id:'test_fasta' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true) ] + ]) + input[1] = Channel.of([ + [ id:'test_gtf' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.gtf', checkIfExists: true) ] + ]) + """ + } + } + } + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + [ + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_rnaseq_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_rnaseq_2.fastq.gz', checkIfExists: true) + ] + ]) + input[1] = STAR_GENOMEGENERATE.out.index + input[2] = Channel.of([ + [ id:'test_gtf' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.gtf', checkIfExists: true) ] + ]) + input[3] = false + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("homo_sapiens - paired_end - arriba - stub") { + options "-stub" + config "./nextflow.arriba.config" + + setup { + run("STAR_GENOMEGENERATE") { + script "../../../star/genomegenerate/main.nf" + process { + """ + input[0] = Channel.of([ + [ id:'test_fasta' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true) ] + ]) + input[1] = Channel.of([ + [ id:'test_gtf' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.gtf', checkIfExists: true) ] + ]) + """ + } + } + } + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + [ + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_rnaseq_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_rnaseq_2.fastq.gz', checkIfExists: true) + ] + ]) + input[1] = STAR_GENOMEGENERATE.out.index + input[2] = Channel.of([ + [ id:'test_gtf' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.gtf', checkIfExists: true) ] + ]) + input[3] = false + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("homo_sapiens - paired_end - starfusion - stub") { + options "-stub" + config "./nextflow.starfusion.config" + + setup { + run("STAR_GENOMEGENERATE") { + script "../../../star/genomegenerate/main.nf" + process { + """ + input[0] = Channel.of([ + [ id:'test_fasta' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true) ] + ]) + input[1] = Channel.of([ + [ id:'test_gtf' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.gtf', checkIfExists: true) ] + ]) + """ + } + } + } + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + [ + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_rnaseq_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_rnaseq_2.fastq.gz', checkIfExists: true) + ] + ]) + input[1] = STAR_GENOMEGENERATE.out.index + input[2] = Channel.of([ + [ id:'test_gtf' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.gtf', checkIfExists: true) ] + ]) + input[3] = false + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("homo_sapiens - paired_end - multiple - stub") { + options "-stub" + config "./nextflow.config" + + setup { + run("STAR_GENOMEGENERATE") { + script "../../../star/genomegenerate/main.nf" + process { + """ + input[0] = Channel.of([ + [ id:'test_fasta' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true) ] + ]) + input[1] = Channel.of([ + [ id:'test_gtf' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.gtf', checkIfExists: true) ] + ]) + """ + } + } + } + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + [ + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_rnaseq_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_rnaseq_2.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_rnaseq_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_rnaseq_2.fastq.gz', checkIfExists: true) + ] + ]) + input[1] = STAR_GENOMEGENERATE.out.index + input[2] = Channel.of([ + [ id:'test_gtf' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.gtf', checkIfExists: true) ] + ]) + input[3] = false + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } +} diff --git a/modules/nf-core/star/align/tests/main.nf.test.snap b/modules/nf-core/star/align/tests/main.nf.test.snap new file mode 100644 index 00000000..2b5755db --- /dev/null +++ b/modules/nf-core/star/align/tests/main.nf.test.snap @@ -0,0 +1,2193 @@ +{ + "homo_sapiens - single_end - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": true + }, + "test.Log.final.out:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + [ + { + "id": "test", + "single_end": true + }, + "test.Log.out:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "10": [ + [ + { + "id": "test", + "single_end": true + }, + "test.Aligned.unsort.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "11": [ + [ + { + "id": "test", + "single_end": true + }, + [ + "test.unmapped_1.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test.unmapped_2.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ] + ], + "12": [ + [ + { + "id": "test", + "single_end": true + }, + [ + "test.ReadsPerGene.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.SJ.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.tab:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "13": [ + [ + { + "id": "test", + "single_end": true + }, + "test.SJ.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "14": [ + [ + { + "id": "test", + "single_end": true + }, + "test.ReadsPerGene.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "15": [ + [ + { + "id": "test", + "single_end": true + }, + "test.Chimeric.out.junction:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "16": [ + [ + { + "id": "test", + "single_end": true + }, + "test.out.sam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "17": [ + [ + { + "id": "test", + "single_end": true + }, + "test.Signal.UniqueMultiple.str1.out.wig:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "18": [ + [ + { + "id": "test", + "single_end": true + }, + "test.Signal.UniqueMultiple.str1.out.bg:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "2": [ + [ + { + "id": "test", + "single_end": true + }, + "test.Log.progress.out:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "3": [ + [ + "STAR_ALIGN", + "star", + "2.7.11b" + ] + ], + "4": [ + [ + "STAR_ALIGN", + "samtools", + "1.21" + ] + ], + "5": [ + [ + "STAR_ALIGN", + "gawk", + "5.1.0" + ] + ], + "6": [ + [ + { + "id": "test", + "single_end": true + }, + [ + "test.Aligned.sortedByCoord.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.sortedByCoord.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e", + "testXd.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "7": [ + [ + { + "id": "test", + "single_end": true + }, + "test.sortedByCoord.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "8": [ + [ + { + "id": "test", + "single_end": true + }, + "test.Aligned.sortedByCoord.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "9": [ + [ + { + "id": "test", + "single_end": true + }, + "test.toTranscriptome.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "bam": [ + [ + { + "id": "test", + "single_end": true + }, + [ + "test.Aligned.sortedByCoord.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.sortedByCoord.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e", + "testXd.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "bam_sorted": [ + [ + { + "id": "test", + "single_end": true + }, + "test.sortedByCoord.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "bam_sorted_aligned": [ + [ + { + "id": "test", + "single_end": true + }, + "test.Aligned.sortedByCoord.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "bam_transcript": [ + [ + { + "id": "test", + "single_end": true + }, + "test.toTranscriptome.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "bam_unsorted": [ + [ + { + "id": "test", + "single_end": true + }, + "test.Aligned.unsort.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "bedgraph": [ + [ + { + "id": "test", + "single_end": true + }, + "test.Signal.UniqueMultiple.str1.out.bg:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "fastq": [ + [ + { + "id": "test", + "single_end": true + }, + [ + "test.unmapped_1.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test.unmapped_2.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ] + ], + "junction": [ + [ + { + "id": "test", + "single_end": true + }, + "test.Chimeric.out.junction:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "log_final": [ + [ + { + "id": "test", + "single_end": true + }, + "test.Log.final.out:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "log_out": [ + [ + { + "id": "test", + "single_end": true + }, + "test.Log.out:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "log_progress": [ + [ + { + "id": "test", + "single_end": true + }, + "test.Log.progress.out:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "read_per_gene_tab": [ + [ + { + "id": "test", + "single_end": true + }, + "test.ReadsPerGene.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "sam": [ + [ + { + "id": "test", + "single_end": true + }, + "test.out.sam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "spl_junc_tab": [ + [ + { + "id": "test", + "single_end": true + }, + "test.SJ.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "tab": [ + [ + { + "id": "test", + "single_end": true + }, + [ + "test.ReadsPerGene.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.SJ.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.tab:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "versions_gawk": [ + [ + "STAR_ALIGN", + "gawk", + "5.1.0" + ] + ], + "versions_samtools": [ + [ + "STAR_ALIGN", + "samtools", + "1.21" + ] + ], + "versions_star": [ + [ + "STAR_ALIGN", + "star", + "2.7.11b" + ] + ], + "wig": [ + [ + { + "id": "test", + "single_end": true + }, + "test.Signal.UniqueMultiple.str1.out.wig:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-03T09:28:25.802437191" + }, + "homo_sapiens - paired_end - arriba - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Log.final.out:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Log.out:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "10": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Aligned.unsort.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "11": [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test.unmapped_1.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test.unmapped_2.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ] + ], + "12": [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test.ReadsPerGene.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.SJ.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.tab:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "13": [ + [ + { + "id": "test", + "single_end": false + }, + "test.SJ.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "14": [ + [ + { + "id": "test", + "single_end": false + }, + "test.ReadsPerGene.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "15": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Chimeric.out.junction:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "16": [ + [ + { + "id": "test", + "single_end": false + }, + "test.out.sam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "17": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Signal.UniqueMultiple.str1.out.wig:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "18": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Signal.UniqueMultiple.str1.out.bg:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "2": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Log.progress.out:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "3": [ + [ + "STAR_ALIGN", + "star", + "2.7.11b" + ] + ], + "4": [ + [ + "STAR_ALIGN", + "samtools", + "1.21" + ] + ], + "5": [ + [ + "STAR_ALIGN", + "gawk", + "5.1.0" + ] + ], + "6": [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test.Aligned.sortedByCoord.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.sortedByCoord.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e", + "testXd.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "7": [ + [ + { + "id": "test", + "single_end": false + }, + "test.sortedByCoord.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "8": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Aligned.sortedByCoord.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "9": [ + [ + { + "id": "test", + "single_end": false + }, + "test.toTranscriptome.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "bam": [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test.Aligned.sortedByCoord.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.sortedByCoord.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e", + "testXd.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "bam_sorted": [ + [ + { + "id": "test", + "single_end": false + }, + "test.sortedByCoord.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "bam_sorted_aligned": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Aligned.sortedByCoord.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "bam_transcript": [ + [ + { + "id": "test", + "single_end": false + }, + "test.toTranscriptome.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "bam_unsorted": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Aligned.unsort.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "bedgraph": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Signal.UniqueMultiple.str1.out.bg:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "fastq": [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test.unmapped_1.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test.unmapped_2.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ] + ], + "junction": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Chimeric.out.junction:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "log_final": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Log.final.out:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "log_out": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Log.out:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "log_progress": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Log.progress.out:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "read_per_gene_tab": [ + [ + { + "id": "test", + "single_end": false + }, + "test.ReadsPerGene.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "sam": [ + [ + { + "id": "test", + "single_end": false + }, + "test.out.sam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "spl_junc_tab": [ + [ + { + "id": "test", + "single_end": false + }, + "test.SJ.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "tab": [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test.ReadsPerGene.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.SJ.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.tab:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "versions_gawk": [ + [ + "STAR_ALIGN", + "gawk", + "5.1.0" + ] + ], + "versions_samtools": [ + [ + "STAR_ALIGN", + "samtools", + "1.21" + ] + ], + "versions_star": [ + [ + "STAR_ALIGN", + "star", + "2.7.11b" + ] + ], + "wig": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Signal.UniqueMultiple.str1.out.wig:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-03T09:28:38.483306917" + }, + "homo_sapiens - single_end": { + "content": [ + "test.Log.final.out", + "test.Log.out", + "test.Log.progress.out", + "9f76be49a6607613a64f760101bdddce", + "9f76be49a6607613a64f760101bdddce", + [ + [ + { + "id": "test", + "single_end": true + }, + [ + "test.Signal.Unique.str1.out.bg:md5,c56fc1472776fb927eaf62d973da5f9a", + "test.Signal.UniqueMultiple.str1.out.bg:md5,e93373cf6f2a2a9506e2efdb260cdd4f" + ] + ] + ], + [ + + ], + [ + + ], + [ + + ], + [ + [ + { + "id": "test", + "single_end": true + }, + "test.SJ.out.tab:md5,75a516ab950fb958f40b29996474949c" + ] + ], + [ + [ + { + "id": "test", + "single_end": true + }, + "test.SJ.out.tab:md5,75a516ab950fb958f40b29996474949c" + ] + ], + [ + + ], + { + "versions_gawk": [ + [ + "STAR_ALIGN", + "gawk", + "5.1.0" + ] + ], + "versions_samtools": [ + [ + "STAR_ALIGN", + "samtools", + "1.21" + ] + ], + "versions_star": [ + [ + "STAR_ALIGN", + "star", + "2.7.11b" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2026-02-02T23:44:45.378997" + }, + "homo_sapiens - paired_end": { + "content": [ + "test.Log.final.out", + "test.Log.out", + "test.Log.progress.out", + "db9a8324b5163b025bcc0c33e848486", + "db9a8324b5163b025bcc0c33e848486", + [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test.Signal.Unique.str1.out.bg:md5,d7bf8b70b436ca048a62513e1d0ece3a", + "test.Signal.UniqueMultiple.str1.out.bg:md5,686d58493b9eb445b56ace4d67f76ef6" + ] + ] + ], + [ + + ], + [ + + ], + [ + + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.SJ.out.tab:md5,844af19ab0fc8cd9a3f75228445aca0d" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.SJ.out.tab:md5,844af19ab0fc8cd9a3f75228445aca0d" + ] + ], + [ + + ], + { + "versions_gawk": [ + [ + "STAR_ALIGN", + "gawk", + "5.1.0" + ] + ], + "versions_samtools": [ + [ + "STAR_ALIGN", + "samtools", + "1.21" + ] + ], + "versions_star": [ + [ + "STAR_ALIGN", + "star", + "2.7.11b" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2026-02-02T23:50:50.657212" + }, + "homo_sapiens - paired_end - multiple - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Log.final.out:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Log.out:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "10": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Aligned.unsort.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "11": [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test.unmapped_1.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test.unmapped_2.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ] + ], + "12": [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test.ReadsPerGene.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.SJ.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.tab:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "13": [ + [ + { + "id": "test", + "single_end": false + }, + "test.SJ.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "14": [ + [ + { + "id": "test", + "single_end": false + }, + "test.ReadsPerGene.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "15": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Chimeric.out.junction:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "16": [ + [ + { + "id": "test", + "single_end": false + }, + "test.out.sam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "17": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Signal.UniqueMultiple.str1.out.wig:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "18": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Signal.UniqueMultiple.str1.out.bg:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "2": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Log.progress.out:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "3": [ + [ + "STAR_ALIGN", + "star", + "2.7.11b" + ] + ], + "4": [ + [ + "STAR_ALIGN", + "samtools", + "1.21" + ] + ], + "5": [ + [ + "STAR_ALIGN", + "gawk", + "5.1.0" + ] + ], + "6": [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test.Aligned.sortedByCoord.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.sortedByCoord.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e", + "testXd.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "7": [ + [ + { + "id": "test", + "single_end": false + }, + "test.sortedByCoord.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "8": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Aligned.sortedByCoord.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "9": [ + [ + { + "id": "test", + "single_end": false + }, + "test.toTranscriptome.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "bam": [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test.Aligned.sortedByCoord.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.sortedByCoord.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e", + "testXd.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "bam_sorted": [ + [ + { + "id": "test", + "single_end": false + }, + "test.sortedByCoord.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "bam_sorted_aligned": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Aligned.sortedByCoord.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "bam_transcript": [ + [ + { + "id": "test", + "single_end": false + }, + "test.toTranscriptome.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "bam_unsorted": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Aligned.unsort.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "bedgraph": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Signal.UniqueMultiple.str1.out.bg:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "fastq": [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test.unmapped_1.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test.unmapped_2.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ] + ], + "junction": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Chimeric.out.junction:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "log_final": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Log.final.out:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "log_out": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Log.out:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "log_progress": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Log.progress.out:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "read_per_gene_tab": [ + [ + { + "id": "test", + "single_end": false + }, + "test.ReadsPerGene.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "sam": [ + [ + { + "id": "test", + "single_end": false + }, + "test.out.sam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "spl_junc_tab": [ + [ + { + "id": "test", + "single_end": false + }, + "test.SJ.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "tab": [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test.ReadsPerGene.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.SJ.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.tab:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "versions_gawk": [ + [ + "STAR_ALIGN", + "gawk", + "5.1.0" + ] + ], + "versions_samtools": [ + [ + "STAR_ALIGN", + "samtools", + "1.21" + ] + ], + "versions_star": [ + [ + "STAR_ALIGN", + "star", + "2.7.11b" + ] + ], + "wig": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Signal.UniqueMultiple.str1.out.wig:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-03T09:28:51.288466085" + }, + "homo_sapiens - paired_end - multiple": { + "content": [ + "test.Log.final.out", + "test.Log.out", + "test.Log.progress.out", + "3e54e45f5dc3e9c1f2fc55bc41531a87", + "3e54e45f5dc3e9c1f2fc55bc41531a87", + [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test.Signal.Unique.str1.out.bg:md5,d7bf8b70b436ca048a62513e1d0ece3a", + "test.Signal.UniqueMultiple.str1.out.bg:md5,686d58493b9eb445b56ace4d67f76ef6" + ] + ] + ], + [ + + ], + [ + + ], + [ + + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.SJ.out.tab:md5,069877e053714e23010fe4e1c003b4a2" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.SJ.out.tab:md5,069877e053714e23010fe4e1c003b4a2" + ] + ], + [ + + ], + { + "versions_gawk": [ + [ + "STAR_ALIGN", + "gawk", + "5.1.0" + ] + ], + "versions_samtools": [ + [ + "STAR_ALIGN", + "samtools", + "1.21" + ] + ], + "versions_star": [ + [ + "STAR_ALIGN", + "star", + "2.7.11b" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-03T09:28:19.516063466" + }, + "homo_sapiens - paired_end - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Log.final.out:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Log.out:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "10": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Aligned.unsort.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "11": [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test.unmapped_1.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test.unmapped_2.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ] + ], + "12": [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test.ReadsPerGene.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.SJ.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.tab:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "13": [ + [ + { + "id": "test", + "single_end": false + }, + "test.SJ.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "14": [ + [ + { + "id": "test", + "single_end": false + }, + "test.ReadsPerGene.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "15": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Chimeric.out.junction:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "16": [ + [ + { + "id": "test", + "single_end": false + }, + "test.out.sam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "17": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Signal.UniqueMultiple.str1.out.wig:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "18": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Signal.UniqueMultiple.str1.out.bg:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "2": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Log.progress.out:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "3": [ + [ + "STAR_ALIGN", + "star", + "2.7.11b" + ] + ], + "4": [ + [ + "STAR_ALIGN", + "samtools", + "1.21" + ] + ], + "5": [ + [ + "STAR_ALIGN", + "gawk", + "5.1.0" + ] + ], + "6": [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test.Aligned.sortedByCoord.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.sortedByCoord.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e", + "testXd.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "7": [ + [ + { + "id": "test", + "single_end": false + }, + "test.sortedByCoord.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "8": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Aligned.sortedByCoord.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "9": [ + [ + { + "id": "test", + "single_end": false + }, + "test.toTranscriptome.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "bam": [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test.Aligned.sortedByCoord.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.sortedByCoord.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e", + "testXd.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "bam_sorted": [ + [ + { + "id": "test", + "single_end": false + }, + "test.sortedByCoord.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "bam_sorted_aligned": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Aligned.sortedByCoord.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "bam_transcript": [ + [ + { + "id": "test", + "single_end": false + }, + "test.toTranscriptome.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "bam_unsorted": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Aligned.unsort.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "bedgraph": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Signal.UniqueMultiple.str1.out.bg:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "fastq": [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test.unmapped_1.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test.unmapped_2.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ] + ], + "junction": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Chimeric.out.junction:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "log_final": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Log.final.out:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "log_out": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Log.out:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "log_progress": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Log.progress.out:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "read_per_gene_tab": [ + [ + { + "id": "test", + "single_end": false + }, + "test.ReadsPerGene.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "sam": [ + [ + { + "id": "test", + "single_end": false + }, + "test.out.sam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "spl_junc_tab": [ + [ + { + "id": "test", + "single_end": false + }, + "test.SJ.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "tab": [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test.ReadsPerGene.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.SJ.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.tab:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "versions_gawk": [ + [ + "STAR_ALIGN", + "gawk", + "5.1.0" + ] + ], + "versions_samtools": [ + [ + "STAR_ALIGN", + "samtools", + "1.21" + ] + ], + "versions_star": [ + [ + "STAR_ALIGN", + "star", + "2.7.11b" + ] + ], + "wig": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Signal.UniqueMultiple.str1.out.wig:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-03T09:28:32.099657738" + }, + "homo_sapiens - paired_end - starfusion": { + "content": [ + "test.Log.final.out", + "test.Log.out", + "test.Log.progress.out", + "test.Chimeric.out.junction", + "caee9dcda13882d4913456973c25b57a", + [ + + ], + [ + + ], + [ + + ], + [ + + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.SJ.out.tab:md5,19c3faa1bfa9a0cc5e4c45f17065b53a" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.SJ.out.tab:md5,19c3faa1bfa9a0cc5e4c45f17065b53a" + ] + ], + [ + + ], + { + "versions_gawk": [ + [ + "STAR_ALIGN", + "gawk", + "5.1.0" + ] + ], + "versions_samtools": [ + [ + "STAR_ALIGN", + "samtools", + "1.21" + ] + ], + "versions_star": [ + [ + "STAR_ALIGN", + "star", + "2.7.11b" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-03T09:26:46.244829386" + }, + "homo_sapiens - paired_end - arriba": { + "content": [ + "test.Log.final.out", + "test.Log.out", + "test.Log.progress.out", + "1a3abe88fb2490589c58497d39921bcc", + [ + + ], + [ + + ], + [ + + ], + [ + + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.SJ.out.tab:md5,5155c9fd1f787ad6d7d80987fb06219c" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.SJ.out.tab:md5,5155c9fd1f787ad6d7d80987fb06219c" + ] + ], + [ + + ], + { + "versions_gawk": [ + [ + "STAR_ALIGN", + "gawk", + "5.1.0" + ] + ], + "versions_samtools": [ + [ + "STAR_ALIGN", + "samtools", + "1.21" + ] + ], + "versions_star": [ + [ + "STAR_ALIGN", + "star", + "2.7.11b" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-03T09:22:41.580434639" + }, + "homo_sapiens - paired_end - starfusion - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Log.final.out:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Log.out:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "10": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Aligned.unsort.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "11": [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test.unmapped_1.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test.unmapped_2.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ] + ], + "12": [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test.ReadsPerGene.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.SJ.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.tab:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "13": [ + [ + { + "id": "test", + "single_end": false + }, + "test.SJ.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "14": [ + [ + { + "id": "test", + "single_end": false + }, + "test.ReadsPerGene.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "15": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Chimeric.out.junction:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "16": [ + [ + { + "id": "test", + "single_end": false + }, + "test.out.sam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "17": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Signal.UniqueMultiple.str1.out.wig:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "18": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Signal.UniqueMultiple.str1.out.bg:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "2": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Log.progress.out:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "3": [ + [ + "STAR_ALIGN", + "star", + "2.7.11b" + ] + ], + "4": [ + [ + "STAR_ALIGN", + "samtools", + "1.21" + ] + ], + "5": [ + [ + "STAR_ALIGN", + "gawk", + "5.1.0" + ] + ], + "6": [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test.Aligned.sortedByCoord.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.sortedByCoord.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e", + "testXd.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "7": [ + [ + { + "id": "test", + "single_end": false + }, + "test.sortedByCoord.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "8": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Aligned.sortedByCoord.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "9": [ + [ + { + "id": "test", + "single_end": false + }, + "test.toTranscriptome.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "bam": [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test.Aligned.sortedByCoord.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.sortedByCoord.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e", + "testXd.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "bam_sorted": [ + [ + { + "id": "test", + "single_end": false + }, + "test.sortedByCoord.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "bam_sorted_aligned": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Aligned.sortedByCoord.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "bam_transcript": [ + [ + { + "id": "test", + "single_end": false + }, + "test.toTranscriptome.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "bam_unsorted": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Aligned.unsort.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "bedgraph": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Signal.UniqueMultiple.str1.out.bg:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "fastq": [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test.unmapped_1.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test.unmapped_2.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ] + ], + "junction": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Chimeric.out.junction:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "log_final": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Log.final.out:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "log_out": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Log.out:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "log_progress": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Log.progress.out:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "read_per_gene_tab": [ + [ + { + "id": "test", + "single_end": false + }, + "test.ReadsPerGene.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "sam": [ + [ + { + "id": "test", + "single_end": false + }, + "test.out.sam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "spl_junc_tab": [ + [ + { + "id": "test", + "single_end": false + }, + "test.SJ.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "tab": [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test.ReadsPerGene.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.SJ.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.tab:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "versions_gawk": [ + [ + "STAR_ALIGN", + "gawk", + "5.1.0" + ] + ], + "versions_samtools": [ + [ + "STAR_ALIGN", + "samtools", + "1.21" + ] + ], + "versions_star": [ + [ + "STAR_ALIGN", + "star", + "2.7.11b" + ] + ], + "wig": [ + [ + { + "id": "test", + "single_end": false + }, + "test.Signal.UniqueMultiple.str1.out.wig:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-03T09:28:44.836246776" + } +} \ No newline at end of file diff --git a/modules/nf-core/star/align/tests/nextflow.arriba.config b/modules/nf-core/star/align/tests/nextflow.arriba.config new file mode 100644 index 00000000..cf09323f --- /dev/null +++ b/modules/nf-core/star/align/tests/nextflow.arriba.config @@ -0,0 +1,11 @@ +process { + + withName: STAR_GENOMEGENERATE { + ext.args = '--genomeSAindexNbases 9' + } + + withName: STAR_ALIGN { + ext.args = '--readFilesCommand zcat --outSAMtype BAM Unsorted --outSAMunmapped Within --outBAMcompression 0 --outFilterMultimapNmax 50 --peOverlapNbasesMin 10 --alignSplicedMateMapLminOverLmate 0.5 --alignSJstitchMismatchNmax 5 -1 5 5 --chimSegmentMin 10 --chimOutType WithinBAM HardClip --chimJunctionOverhangMin 10 --chimScoreDropMax 30 --chimScoreJunctionNonGTAG 0 --chimScoreSeparation 1 --chimSegmentReadGapMax 3 --chimMultimapNmax 50' + } + +} diff --git a/modules/nf-core/star/align/tests/nextflow.config b/modules/nf-core/star/align/tests/nextflow.config new file mode 100644 index 00000000..18bc2ee8 --- /dev/null +++ b/modules/nf-core/star/align/tests/nextflow.config @@ -0,0 +1,11 @@ +process { + + withName: STAR_GENOMEGENERATE { + ext.args = '--genomeSAindexNbases 9' + } + + withName: STAR_ALIGN { + ext.args = '--readFilesCommand zcat --outSAMtype BAM SortedByCoordinate --outWigType bedGraph --outWigStrand Unstranded' + } + +} diff --git a/modules/nf-core/star/align/tests/nextflow.starfusion.config b/modules/nf-core/star/align/tests/nextflow.starfusion.config new file mode 100644 index 00000000..7880bfcf --- /dev/null +++ b/modules/nf-core/star/align/tests/nextflow.starfusion.config @@ -0,0 +1,11 @@ +process { + + withName: STAR_GENOMEGENERATE { + ext.args = '--genomeSAindexNbases 9' + } + + withName: STAR_ALIGN { + ext.args = '--readFilesCommand zcat --outSAMtype BAM Unsorted --outReadsUnmapped None --twopassMode Basic --outSAMstrandField intronMotif --outSAMunmapped Within --chimSegmentMin 12 --chimJunctionOverhangMin 8 --chimOutJunctionFormat 1 --alignSJDBoverhangMin 10 --alignMatesGapMax 100000 --alignIntronMax 100000 --alignSJstitchMismatchNmax 5 -1 5 5 --chimMultimapScoreRange 3 --chimScoreJunctionNonGTAG -4 --chimMultimapNmax 20 --chimNonchimScoreDropMin 10 --peOverlapNbasesMin 12 --peOverlapMMp 0.1 --alignInsertionFlush Right --alignSplicedMateMapLminOverLmate 0 --alignSplicedMateMapLmin 30' + } + +} diff --git a/modules/nf-core/star/genomegenerate/environment.yml b/modules/nf-core/star/genomegenerate/environment.yml new file mode 100644 index 00000000..91e37ae1 --- /dev/null +++ b/modules/nf-core/star/genomegenerate/environment.yml @@ -0,0 +1,11 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda + +dependencies: + - bioconda::htslib=1.21 + - bioconda::samtools=1.21 + - bioconda::star=2.7.11b + - conda-forge::gawk=5.1.0 diff --git a/modules/nf-core/star/genomegenerate/main.nf b/modules/nf-core/star/genomegenerate/main.nf new file mode 100644 index 00000000..744e3ea7 --- /dev/null +++ b/modules/nf-core/star/genomegenerate/main.nf @@ -0,0 +1,93 @@ +process STAR_GENOMEGENERATE { + tag "$fasta" + label 'process_high' + + conda "${moduleDir}/environment.yml" + container "${ workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container ? + 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/26/268b4c9c6cbf8fa6606c9b7fd4fafce18bf2c931d1a809a0ce51b105ec06c89d/data' : + 'community.wave.seqera.io/library/htslib_samtools_star_gawk:ae438e9a604351a4' }" + + input: + tuple val(meta), path(fasta) + tuple val(meta2), path(gtf) + + output: + tuple val(meta), path("star") , emit: index + tuple val("${task.process}"), val('star'), eval('STAR --version | sed -e "s/STAR_//g"'), emit: versions_star, topic: versions + tuple val("${task.process}"), val('samtools'), eval("samtools --version | sed -n '1s/samtools //p'"), emit: versions_samtools, topic: versions + tuple val("${task.process}"), val('gawk'), eval("gawk --version | sed -n '1{s/GNU Awk //;s/,.*//;p}'"), emit: versions_gawk, topic: versions + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def args_list = args.tokenize() + def memory = task.memory ? "--limitGenomeGenerateRAM ${task.memory.toBytes() - 100000000}" : '' + def include_gtf = gtf ? "--sjdbGTFfile $gtf" : '' + if (args_list.contains('--genomeSAindexNbases')) { + """ + mkdir star + STAR \\ + --runMode genomeGenerate \\ + --genomeDir star/ \\ + --genomeFastaFiles $fasta \\ + $include_gtf \\ + --runThreadN $task.cpus \\ + $memory \\ + $args + """ + } else { + """ + samtools faidx $fasta + NUM_BASES=`gawk '{sum = sum + \$2}END{if ((log(sum)/log(2))/2 - 1 > 14) {printf "%.0f", 14} else {printf "%.0f", (log(sum)/log(2))/2 - 1}}' ${fasta}.fai` + + mkdir star + STAR \\ + --runMode genomeGenerate \\ + --genomeDir star/ \\ + --genomeFastaFiles $fasta \\ + $include_gtf \\ + --runThreadN $task.cpus \\ + --genomeSAindexNbases \$NUM_BASES \\ + $memory \\ + $args + """ + } + + stub: + if (gtf) { + """ + mkdir star + touch star/Genome + touch star/Log.out + touch star/SA + touch star/SAindex + touch star/chrLength.txt + touch star/chrName.txt + touch star/chrNameLength.txt + touch star/chrStart.txt + touch star/exonGeTrInfo.tab + touch star/exonInfo.tab + touch star/geneInfo.tab + touch star/genomeParameters.txt + touch star/sjdbInfo.txt + touch star/sjdbList.fromGTF.out.tab + touch star/sjdbList.out.tab + touch star/transcriptInfo.tab + """ + } else { + """ + mkdir star + touch star/Genome + touch star/Log.out + touch star/SA + touch star/SAindex + touch star/chrLength.txt + touch star/chrName.txt + touch star/chrNameLength.txt + touch star/chrStart.txt + touch star/genomeParameters.txt + """ + } +} diff --git a/modules/nf-core/star/genomegenerate/meta.yml b/modules/nf-core/star/genomegenerate/meta.yml new file mode 100644 index 00000000..393a1275 --- /dev/null +++ b/modules/nf-core/star/genomegenerate/meta.yml @@ -0,0 +1,114 @@ +name: star_genomegenerate +description: Create index for STAR +keywords: + - index + - fasta + - genome + - reference +tools: + - star: + description: | + STAR is a software package for mapping DNA sequences against + a large reference genome, such as the human genome. + homepage: https://github.com/alexdobin/STAR + manual: https://github.com/alexdobin/STAR/blob/master/doc/STARmanual.pdf + doi: 10.1093/bioinformatics/bts635 + licence: ["MIT"] + identifier: biotools:star +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - fasta: + type: file + description: Fasta file of the reference genome + ontologies: [] + - - meta2: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'test' ] + - gtf: + type: file + description: GTF file of the reference genome + ontologies: [] +output: + index: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - star: + type: directory + description: Folder containing the star index files + pattern: "star" + versions_star: + - - ${task.process}: + type: string + description: The name of the process + - star: + type: string + description: The name of the tool + - 'STAR --version | sed -e "s/STAR_//g"': + type: eval + description: The expression to obtain the version of the tool + versions_samtools: + - - ${task.process}: + type: string + description: The name of the process + - samtools: + type: string + description: The name of the tool + - "samtools --version | sed -n '1s/samtools //p'": + type: eval + description: The expression to obtain the version of the tool + versions_gawk: + - - ${task.process}: + type: string + description: The name of the process + - gawk: + type: string + description: The name of the tool + - "gawk --version | sed -n '1{s/GNU Awk //;s/,.*//;p}'": + type: eval + description: The expression to obtain the version of the tool + +topics: + versions: + - - ${task.process}: + type: string + description: The name of the process + - star: + type: string + description: The name of the tool + - 'STAR --version | sed -e "s/STAR_//g"': + type: eval + description: The expression to obtain the version of the tool + - - ${task.process}: + type: string + description: The name of the process + - samtools: + type: string + description: The name of the tool + - "samtools --version | sed -n '1s/samtools //p'": + type: eval + description: The expression to obtain the version of the tool + - - ${task.process}: + type: string + description: The name of the process + - gawk: + type: string + description: The name of the tool + - "gawk --version | sed -n '1{s/GNU Awk //;s/,.*//;p}'": + type: eval + description: The expression to obtain the version of the tool + +authors: + - "@kevinmenden" + - "@drpatelh" +maintainers: + - "@kevinmenden" + - "@drpatelh" diff --git a/modules/nf-core/star/genomegenerate/tests/main.nf.test b/modules/nf-core/star/genomegenerate/tests/main.nf.test new file mode 100644 index 00000000..c0c8ee1f --- /dev/null +++ b/modules/nf-core/star/genomegenerate/tests/main.nf.test @@ -0,0 +1,114 @@ +nextflow_process { + + name "Test Process STAR_GENOMEGENERATE" + script "../main.nf" + process "STAR_GENOMEGENERATE" + tag "modules" + tag "modules_nfcore" + tag "star" + tag "star/genomegenerate" + + test("fasta_gtf") { + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test_fasta' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true) ] + ]) + input[1] = Channel.of([ + [ id:'test_gtf' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.gtf', checkIfExists: true) ] + ]) + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot( + file(process.out.index[0][1]).listFiles().collect { it.getName() }.sort().toString(), + process.out.findAll { key, val -> key.startsWith('versions') }) + .match() } + ) + } + } + + test("fasta") { + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test_fasta' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true) ] + ]) + input[1] = Channel.of([ [], [] ]) + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot( + file(process.out.index[0][1]).listFiles().collect { it.getName() }.sort().toString(), + process.out.findAll { key, val -> key.startsWith('versions') } + ).match() } + ) + } + } + + test("fasta_gtf_stub") { + + options '-stub' + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test_fasta' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true) ] + ]) + input[1] = Channel.of([ + [ id:'test_gtf' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.gtf', checkIfExists: true) ] + ]) + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("fasta_stub") { + + options '-stub' + + when { + process { + """ + input[0] = Channel.of([ + [ id:'test_fasta' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true) ] + ]) + input[1] = Channel.of([ [], [] ]) + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } +} diff --git a/modules/nf-core/star/genomegenerate/tests/main.nf.test.snap b/modules/nf-core/star/genomegenerate/tests/main.nf.test.snap new file mode 100644 index 00000000..0c1e437e --- /dev/null +++ b/modules/nf-core/star/genomegenerate/tests/main.nf.test.snap @@ -0,0 +1,260 @@ +{ + "fasta_gtf": { + "content": [ + "[Genome, Log.out, SA, SAindex, chrLength.txt, chrName.txt, chrNameLength.txt, chrStart.txt, exonGeTrInfo.tab, exonInfo.tab, geneInfo.tab, genomeParameters.txt, sjdbInfo.txt, sjdbList.fromGTF.out.tab, sjdbList.out.tab, transcriptInfo.tab]", + { + "versions_gawk": [ + [ + "STAR_GENOMEGENERATE", + "gawk", + "5.1.0" + ] + ], + "versions_samtools": [ + [ + "STAR_GENOMEGENERATE", + "samtools", + "1.21" + ] + ], + "versions_star": [ + [ + "STAR_GENOMEGENERATE", + "star", + "2.7.11b" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-02T14:41:49.00863479" + }, + "fasta_gtf_stub": { + "content": [ + { + "0": [ + [ + { + "id": "test_fasta" + }, + [ + "Genome:md5,d41d8cd98f00b204e9800998ecf8427e", + "Log.out:md5,d41d8cd98f00b204e9800998ecf8427e", + "SA:md5,d41d8cd98f00b204e9800998ecf8427e", + "SAindex:md5,d41d8cd98f00b204e9800998ecf8427e", + "chrLength.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "chrName.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "chrNameLength.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "chrStart.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "exonGeTrInfo.tab:md5,d41d8cd98f00b204e9800998ecf8427e", + "exonInfo.tab:md5,d41d8cd98f00b204e9800998ecf8427e", + "geneInfo.tab:md5,d41d8cd98f00b204e9800998ecf8427e", + "genomeParameters.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "sjdbInfo.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "sjdbList.fromGTF.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e", + "sjdbList.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e", + "transcriptInfo.tab:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "1": [ + [ + "STAR_GENOMEGENERATE", + "star", + "2.7.11b" + ] + ], + "2": [ + [ + "STAR_GENOMEGENERATE", + "samtools", + "1.21" + ] + ], + "3": [ + [ + "STAR_GENOMEGENERATE", + "gawk", + "5.1.0" + ] + ], + "index": [ + [ + { + "id": "test_fasta" + }, + [ + "Genome:md5,d41d8cd98f00b204e9800998ecf8427e", + "Log.out:md5,d41d8cd98f00b204e9800998ecf8427e", + "SA:md5,d41d8cd98f00b204e9800998ecf8427e", + "SAindex:md5,d41d8cd98f00b204e9800998ecf8427e", + "chrLength.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "chrName.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "chrNameLength.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "chrStart.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "exonGeTrInfo.tab:md5,d41d8cd98f00b204e9800998ecf8427e", + "exonInfo.tab:md5,d41d8cd98f00b204e9800998ecf8427e", + "geneInfo.tab:md5,d41d8cd98f00b204e9800998ecf8427e", + "genomeParameters.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "sjdbInfo.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "sjdbList.fromGTF.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e", + "sjdbList.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e", + "transcriptInfo.tab:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "versions_gawk": [ + [ + "STAR_GENOMEGENERATE", + "gawk", + "5.1.0" + ] + ], + "versions_samtools": [ + [ + "STAR_GENOMEGENERATE", + "samtools", + "1.21" + ] + ], + "versions_star": [ + [ + "STAR_GENOMEGENERATE", + "star", + "2.7.11b" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-02T14:41:59.662412926" + }, + "fasta_stub": { + "content": [ + { + "0": [ + [ + { + "id": "test_fasta" + }, + [ + "Genome:md5,d41d8cd98f00b204e9800998ecf8427e", + "Log.out:md5,d41d8cd98f00b204e9800998ecf8427e", + "SA:md5,d41d8cd98f00b204e9800998ecf8427e", + "SAindex:md5,d41d8cd98f00b204e9800998ecf8427e", + "chrLength.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "chrName.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "chrNameLength.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "chrStart.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "genomeParameters.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "1": [ + [ + "STAR_GENOMEGENERATE", + "star", + "2.7.11b" + ] + ], + "2": [ + [ + "STAR_GENOMEGENERATE", + "samtools", + "1.21" + ] + ], + "3": [ + [ + "STAR_GENOMEGENERATE", + "gawk", + "5.1.0" + ] + ], + "index": [ + [ + { + "id": "test_fasta" + }, + [ + "Genome:md5,d41d8cd98f00b204e9800998ecf8427e", + "Log.out:md5,d41d8cd98f00b204e9800998ecf8427e", + "SA:md5,d41d8cd98f00b204e9800998ecf8427e", + "SAindex:md5,d41d8cd98f00b204e9800998ecf8427e", + "chrLength.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "chrName.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "chrNameLength.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "chrStart.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "genomeParameters.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "versions_gawk": [ + [ + "STAR_GENOMEGENERATE", + "gawk", + "5.1.0" + ] + ], + "versions_samtools": [ + [ + "STAR_GENOMEGENERATE", + "samtools", + "1.21" + ] + ], + "versions_star": [ + [ + "STAR_GENOMEGENERATE", + "star", + "2.7.11b" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-02T14:42:05.002386149" + }, + "fasta": { + "content": [ + "[Genome, Log.out, SA, SAindex, chrLength.txt, chrName.txt, chrNameLength.txt, chrStart.txt, genomeParameters.txt]", + { + "versions_gawk": [ + [ + "STAR_GENOMEGENERATE", + "gawk", + "5.1.0" + ] + ], + "versions_samtools": [ + [ + "STAR_GENOMEGENERATE", + "samtools", + "1.21" + ] + ], + "versions_star": [ + [ + "STAR_GENOMEGENERATE", + "star", + "2.7.11b" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-02T14:41:54.327031765" + } +} \ No newline at end of file diff --git a/modules/nf-core/strelka/somatic/environment.yml b/modules/nf-core/strelka/somatic/environment.yml new file mode 100644 index 00000000..ad1ff849 --- /dev/null +++ b/modules/nf-core/strelka/somatic/environment.yml @@ -0,0 +1,8 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + - conda-forge::python=2.7.15 + - bioconda::strelka=2.9.10=h9ee0642_1 diff --git a/modules/nf-core/strelka/somatic/main.nf b/modules/nf-core/strelka/somatic/main.nf new file mode 100644 index 00000000..b98535cc --- /dev/null +++ b/modules/nf-core/strelka/somatic/main.nf @@ -0,0 +1,68 @@ +process STRELKA_SOMATIC { + tag "${meta.id}" + label 'process_medium' + label 'error_retry' + + conda "${moduleDir}/environment.yml" + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container + ? 'https://depot.galaxyproject.org/singularity/strelka:2.9.10--h9ee0642_1' + : 'quay.io/biocontainers/strelka:2.9.10--h9ee0642_1'}" + + input: + tuple val(meta), path(input_normal), path(input_index_normal), path(input_tumor), path(input_index_tumor), path(manta_candidate_small_indels), path(manta_candidate_small_indels_tbi), path(target_bed), path(target_bed_index) + path fasta + path fai + + output: + tuple val(meta), path("*.somatic_indels.vcf.gz"), emit: vcf_indels + tuple val(meta), path("*.somatic_indels.vcf.gz.tbi"), emit: vcf_indels_tbi + tuple val(meta), path("*.somatic_snvs.vcf.gz"), emit: vcf_snvs + tuple val(meta), path("*.somatic_snvs.vcf.gz.tbi"), emit: vcf_snvs_tbi + path "versions.yml", emit: versions + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + def options_target_bed = target_bed ? "--callRegions ${target_bed}" : "" + def options_manta = manta_candidate_small_indels ? "--indelCandidates ${manta_candidate_small_indels}" : "" + """ + configureStrelkaSomaticWorkflow.py \\ + --tumor ${input_tumor} \\ + --normal ${input_normal} \\ + --referenceFasta ${fasta} \\ + ${options_target_bed} \\ + ${options_manta} \\ + ${args} \\ + --runDir strelka + + sed -i s/"isEmail = isLocalSmtp()"/"isEmail = False"/g strelka/runWorkflow.py + + python strelka/runWorkflow.py -m local -j ${task.cpus} + mv strelka/results/variants/somatic.indels.vcf.gz ${prefix}.somatic_indels.vcf.gz + mv strelka/results/variants/somatic.indels.vcf.gz.tbi ${prefix}.somatic_indels.vcf.gz.tbi + mv strelka/results/variants/somatic.snvs.vcf.gz ${prefix}.somatic_snvs.vcf.gz + mv strelka/results/variants/somatic.snvs.vcf.gz.tbi ${prefix}.somatic_snvs.vcf.gz.tbi + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + strelka: \$( configureStrelkaSomaticWorkflow.py --version ) + END_VERSIONS + """ + + stub: + def prefix = task.ext.prefix ?: "${meta.id}" + """ + echo "" | gzip > ${prefix}.somatic_indels.vcf.gz + touch ${prefix}.somatic_indels.vcf.gz.tbi + echo "" | gzip > ${prefix}.somatic_snvs.vcf.gz + touch ${prefix}.somatic_snvs.vcf.gz.tbi + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + strelka: \$( configureStrelkaSomaticWorkflow.py --version ) + END_VERSIONS + """ +} diff --git a/modules/nf-core/strelka/somatic/meta.yml b/modules/nf-core/strelka/somatic/meta.yml new file mode 100644 index 00000000..eca9ea43 --- /dev/null +++ b/modules/nf-core/strelka/somatic/meta.yml @@ -0,0 +1,132 @@ +name: strelka_somatic +description: Strelka2 is a fast and accurate small variant caller optimized for analysis + of germline variation in small cohorts and somatic variation in tumor/normal sample + pairs +keywords: + - variant calling + - germline + - wgs + - vcf + - variants +tools: + - strelka: + description: Strelka calls somatic and germline small variants from mapped sequencing + reads + homepage: https://github.com/Illumina/strelka + documentation: https://github.com/Illumina/strelka/blob/v2.9.x/docs/userGuide/README.md + tool_dev_url: https://github.com/Illumina/strelka + doi: 10.1038/s41592-018-0051-x + licence: ["GPL v3"] + identifier: biotools:strelka +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - input_normal: + type: file + description: BAM/CRAM/SAM file + pattern: "*.{bam,cram,sam}" + ontologies: [] + - input_index_normal: + type: file + description: BAM/CRAM/SAM index file + pattern: "*.{bai,crai,sai}" + ontologies: [] + - input_tumor: + type: file + description: BAM/CRAM/SAM file + pattern: "*.{bam,cram,sam}" + ontologies: [] + - input_index_tumor: + type: file + description: BAM/CRAM/SAM index file + pattern: "*.{bai,crai,sai}" + ontologies: [] + - manta_candidate_small_indels: + type: file + description: VCF.gz file + pattern: "*.{vcf.gz}" + ontologies: [] + - manta_candidate_small_indels_tbi: + type: file + description: VCF.gz index file + pattern: "*.tbi" + ontologies: [] + - target_bed: + type: file + description: BED file containing target regions for variant calling + pattern: "*.{bed}" + ontologies: [] + - target_bed_index: + type: file + description: Index for BED file containing target regions for variant calling + pattern: "*.{bed.tbi}" + ontologies: [] + - fasta: + type: file + description: Genome reference FASTA file + pattern: "*.{fa,fasta}" + ontologies: [] + - fai: + type: file + description: Genome reference FASTA index file + pattern: "*.{fa.fai,fasta.fai}" + ontologies: [] +output: + vcf_indels: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.somatic_indels.vcf.gz": + type: file + description: Gzipped VCF file containing variants + pattern: "*.{vcf.gz}" + ontologies: [] + vcf_indels_tbi: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.somatic_indels.vcf.gz.tbi": + type: file + description: Index for gzipped VCF file containing variants + pattern: "*.{vcf.gz.tbi}" + ontologies: [] + vcf_snvs: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.somatic_snvs.vcf.gz": + type: file + description: Gzipped VCF file containing variants + pattern: "*.{vcf.gz}" + ontologies: [] + vcf_snvs_tbi: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.somatic_snvs.vcf.gz.tbi": + type: file + description: Index for gzipped VCF file containing variants + pattern: "*.{vcf.gz.tbi}" + ontologies: [] + versions: + - versions.yml: + type: file + description: File containing software versions + pattern: "versions.yml" + ontologies: + - edam: http://edamontology.org/format_3750 # YAML +authors: + - "@drpatelh" +maintainers: + - "@drpatelh" diff --git a/modules/nf-core/strelka/somatic/strelka-somatic.diff b/modules/nf-core/strelka/somatic/strelka-somatic.diff new file mode 100644 index 00000000..60542656 --- /dev/null +++ b/modules/nf-core/strelka/somatic/strelka-somatic.diff @@ -0,0 +1,20 @@ +Changes in component 'nf-core/strelka/somatic' +'modules/nf-core/strelka/somatic/environment.yml' is unchanged +'modules/nf-core/strelka/somatic/meta.yml' is unchanged +Changes in 'strelka/somatic/main.nf': +--- modules/nf-core/strelka/somatic/main.nf ++++ modules/nf-core/strelka/somatic/main.nf +@@ -10,7 +10,7 @@ + + input: + tuple val(meta), path(input_normal), path(input_index_normal), path(input_tumor), path(input_index_tumor), path(manta_candidate_small_indels), path(manta_candidate_small_indels_tbi), path(target_bed), path(target_bed_index) +- path fasta ++ tuple val(meta2), path(fasta) + path fai + + output: + +'modules/nf-core/strelka/somatic/tests/main.nf.test.snap' is unchanged +'modules/nf-core/strelka/somatic/tests/nextflow.config' is unchanged +'modules/nf-core/strelka/somatic/tests/main.nf.test' is unchanged +************************************************************ diff --git a/modules/nf-core/strelka/somatic/tests/main.nf.test b/modules/nf-core/strelka/somatic/tests/main.nf.test new file mode 100644 index 00000000..89cc9efa --- /dev/null +++ b/modules/nf-core/strelka/somatic/tests/main.nf.test @@ -0,0 +1,154 @@ +nextflow_process { + + name "Test Process STRELKA_SOMATIC" + script "../main.nf" + process "STRELKA_SOMATIC" + + tag "modules" + tag "modules_nfcore" + tag "strelka" + tag "strelka/somatic" + + test("human - cram") { + + when { + process { + """ + input[0] = [ [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.recalibrated.sorted.cram', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.recalibrated.sorted.cram.crai', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test2.paired_end.recalibrated.sorted.cram', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test2.paired_end.recalibrated.sorted.cram.crai', checkIfExists: true), + [],[], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/multi_intervals.bed.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/multi_intervals.bed.gz.tbi', checkIfExists: true) + ] + input[1] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta', checkIfExists: true) + input[2] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta.fai', checkIfExists: true) + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot( + path(process.out.vcf_indels.get(0).get(1)).vcf.variantsMD5, + process.out.vcf_indels_tbi.collect { file(it[1]).getName() }, + path(process.out.vcf_snvs.get(0).get(1)).vcf.variantsMD5, + process.out.vcf_snvs_tbi.collect { file(it[1]).getName() }, + process.out.versions + ).match() } + ) + } + + } + + test("human - bam") { + + when { + process { + """ + input[0] = [ [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.recalibrated.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.recalibrated.sorted.bam.bai', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test2.paired_end.recalibrated.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test2.paired_end.recalibrated.sorted.bam.bai', checkIfExists: true), + [],[], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/multi_intervals.bed.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/multi_intervals.bed.gz.tbi', checkIfExists: true) + ] + input[1] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta', checkIfExists: true) + input[2] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta.fai', checkIfExists: true) + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot( + path(process.out.vcf_indels.get(0).get(1)).vcf.variantsMD5, + process.out.vcf_indels_tbi.collect { file(it[1]).getName() }, + path(process.out.vcf_snvs.get(0).get(1)).vcf.variantsMD5, + process.out.vcf_snvs_tbi.collect { file(it[1]).getName() }, + process.out.versions + ).match() } + ) + } + + } + + test("human - cram - best-practice") { + + config "./nextflow.config" + + when { + params { + module_args = '--exome' + } + process { + """ + input[0] = [ [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.recalibrated.sorted.cram', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.recalibrated.sorted.cram.crai', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test2.paired_end.recalibrated.sorted.cram', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test2.paired_end.recalibrated.sorted.cram.crai', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/vcf/test.genome_21.somatic_sv.vcf.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/vcf/test.genome_21.somatic_sv.vcf.gz.tbi', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/multi_intervals.bed.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/multi_intervals.bed.gz.tbi', checkIfExists: true) + ] + input[1] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta', checkIfExists: true) + input[2] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta.fai', checkIfExists: true) + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot( + path(process.out.vcf_indels.get(0).get(1)).vcf.variantsMD5, + process.out.vcf_indels_tbi.collect { file(it[1]).getName() }, + path(process.out.vcf_snvs.get(0).get(1)).vcf.variantsMD5, + process.out.vcf_snvs_tbi.collect { file(it[1]).getName() }, + process.out.versions + ).match() } + ) + } + + } + + test("human - cram - stub") { + + options "-stub" + + when { + process { + """ + input[0] = [ [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.recalibrated.sorted.cram', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.recalibrated.sorted.cram.crai', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test2.paired_end.recalibrated.sorted.cram', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test2.paired_end.recalibrated.sorted.cram.crai', checkIfExists: true), + [],[], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/multi_intervals.bed.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/multi_intervals.bed.gz.tbi', checkIfExists: true) + ] + input[1] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta', checkIfExists: true) + input[2] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta.fai', checkIfExists: true) + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + + } + +} diff --git a/modules/nf-core/strelka/somatic/tests/main.nf.test.snap b/modules/nf-core/strelka/somatic/tests/main.nf.test.snap new file mode 100644 index 00000000..5336e31a --- /dev/null +++ b/modules/nf-core/strelka/somatic/tests/main.nf.test.snap @@ -0,0 +1,151 @@ +{ + "human - cram - best-practice": { + "content": [ + "a500521b4aa64e8f247d57fcb3195b39", + [ + "test.somatic_indels.vcf.gz.tbi" + ], + "17d4e21e50940b4e75cca144af09ce66", + [ + "test.somatic_snvs.vcf.gz.tbi" + ], + [ + "versions.yml:md5,97860fb8f9cda9494819160f7cf6e35b" + ] + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.4" + }, + "timestamp": "2025-04-08T14:18:48.400058" + }, + "human - cram - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + "test.somatic_indels.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "1": [ + [ + { + "id": "test", + "single_end": false + }, + "test.somatic_indels.vcf.gz.tbi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "2": [ + [ + { + "id": "test", + "single_end": false + }, + "test.somatic_snvs.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "3": [ + [ + { + "id": "test", + "single_end": false + }, + "test.somatic_snvs.vcf.gz.tbi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "4": [ + "versions.yml:md5,97860fb8f9cda9494819160f7cf6e35b" + ], + "vcf_indels": [ + [ + { + "id": "test", + "single_end": false + }, + "test.somatic_indels.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "vcf_indels_tbi": [ + [ + { + "id": "test", + "single_end": false + }, + "test.somatic_indels.vcf.gz.tbi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "vcf_snvs": [ + [ + { + "id": "test", + "single_end": false + }, + "test.somatic_snvs.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "vcf_snvs_tbi": [ + [ + { + "id": "test", + "single_end": false + }, + "test.somatic_snvs.vcf.gz.tbi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions": [ + "versions.yml:md5,97860fb8f9cda9494819160f7cf6e35b" + ] + } + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-03-20T15:08:42.361540303" + }, + "human - cram": { + "content": [ + "6b8a01b52186fcaf3ec74e5bf1b5426", + [ + "test.somatic_indels.vcf.gz.tbi" + ], + "866236c526138e4e08fdc2fa87b08417", + [ + "test.somatic_snvs.vcf.gz.tbi" + ], + [ + "versions.yml:md5,97860fb8f9cda9494819160f7cf6e35b" + ] + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.4" + }, + "timestamp": "2025-04-08T14:17:42.760334" + }, + "human - bam": { + "content": [ + "6b8a01b52186fcaf3ec74e5bf1b5426", + [ + "test.somatic_indels.vcf.gz.tbi" + ], + "866236c526138e4e08fdc2fa87b08417", + [ + "test.somatic_snvs.vcf.gz.tbi" + ], + [ + "versions.yml:md5,97860fb8f9cda9494819160f7cf6e35b" + ] + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.4" + }, + "timestamp": "2025-04-08T14:48:34.656324" + } +} \ No newline at end of file diff --git a/modules/nf-core/strelka/somatic/tests/nextflow.config b/modules/nf-core/strelka/somatic/tests/nextflow.config new file mode 100644 index 00000000..da28ea39 --- /dev/null +++ b/modules/nf-core/strelka/somatic/tests/nextflow.config @@ -0,0 +1,5 @@ +process { + withName: STRELKA_SOMATIC { + ext.args = params.module_args + } +} diff --git a/modules/nf-core/untar/environment.yml b/modules/nf-core/untar/environment.yml new file mode 100644 index 00000000..9b926b1f --- /dev/null +++ b/modules/nf-core/untar/environment.yml @@ -0,0 +1,12 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + - conda-forge::coreutils=9.5 + - conda-forge::grep=3.11 + - conda-forge::gzip=1.13 + - conda-forge::lbzip2=2.5 + - conda-forge::sed=4.8 + - conda-forge::tar=1.34 diff --git a/modules/nf-core/untar/main.nf b/modules/nf-core/untar/main.nf new file mode 100644 index 00000000..bf2c056c --- /dev/null +++ b/modules/nf-core/untar/main.nf @@ -0,0 +1,75 @@ +process UNTAR { + tag "${archive}" + label 'process_single' + + conda "${moduleDir}/environment.yml" + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/52/52ccce28d2ab928ab862e25aae26314d69c8e38bd41ca9431c67ef05221348aa/data' + : 'community.wave.seqera.io/library/coreutils_grep_gzip_lbzip2_pruned:838ba80435a629f8'}" + + input: + tuple val(meta), path(archive) + + output: + tuple val(meta), path("${prefix}"), emit: untar + tuple val("${task.process}"), val('untar'), eval('tar --version 2>&1 | head -1 | sed "s/tar (GNU tar) //; s/ Copyright.*//"'), emit: versions_untar, topic: versions + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def args2 = task.ext.args2 ?: '' + prefix = task.ext.prefix ?: (meta.id ? "${meta.id}" : archive.baseName.toString().replaceFirst(/\.tar$/, "")) + + """ + mkdir ${prefix} + + ## Ensures --strip-components only applied when top level of tar contents is a directory + ## If just files or multiple directories, place all in prefix + if [[ \$(tar -taf ${archive} | grep -o -P "^.*?\\/" | uniq | wc -l) -eq 1 ]]; then + tar \\ + -C ${prefix} --strip-components 1 \\ + -xavf \\ + ${args} \\ + ${archive} \\ + ${args2} + else + tar \\ + -C ${prefix} \\ + -xavf \\ + ${args} \\ + ${archive} \\ + ${args2} + fi + + """ + + stub: + prefix = task.ext.prefix ?: (meta.id ? "${meta.id}" : archive.toString().replaceFirst(/\.[^\.]+(.gz)?$/, "")) + """ + mkdir ${prefix} + ## Dry-run untaring the archive to get the files and place all in prefix + if [[ \$(tar -taf ${archive} | grep -o -P "^.*?\\/" | uniq | wc -l) -eq 1 ]]; then + for i in `tar -tf ${archive}`; + do + if [[ \$(echo "\${i}" | grep -E "/\$") == "" ]]; + then + touch \${i} + else + mkdir -p \${i} + fi + done + else + for i in `tar -tf ${archive}`; + do + if [[ \$(echo "\${i}" | grep -E "/\$") == "" ]]; + then + touch ${prefix}/\${i} + else + mkdir -p ${prefix}/\${i} + fi + done + fi + """ +} diff --git a/modules/nf-core/untar/meta.yml b/modules/nf-core/untar/meta.yml new file mode 100644 index 00000000..571d8078 --- /dev/null +++ b/modules/nf-core/untar/meta.yml @@ -0,0 +1,73 @@ +name: untar +description: Extract files from tar, tar.gz, tar.bz2, tar.xz archives +keywords: + - untar + - uncompress + - extract +tools: + - untar: + description: | + Extract tar, tar.gz, tar.bz2, tar.xz files. + documentation: https://www.gnu.org/software/tar/manual/ + licence: ["GPL-3.0-or-later"] + identifier: "" +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - archive: + type: file + description: File to be untarred + pattern: "*.{tar,tar.gz,tar.bz2,tar.xz}" + ontologies: + - edam: http://edamontology.org/format_3981 # TAR format + - edam: http://edamontology.org/format_3989 # GZIP format +output: + untar: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + pattern: "*/" + - ${prefix}: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + pattern: "*/" + versions_untar: + - - ${task.process}: + type: string + description: The name of the process + - untar: + type: string + description: The name of the tool + - tar --version 2>&1 | head -1 | sed "s/tar (GNU tar) //; s/ Copyright.*//": + type: eval + description: The expression to obtain the version of the tool + +topics: + versions: + - - ${task.process}: + type: string + description: The name of the process + - untar: + type: string + description: The name of the tool + - tar --version 2>&1 | head -1 | sed "s/tar (GNU tar) //; s/ Copyright.*//": + type: eval + description: The expression to obtain the version of the tool + +authors: + - "@joseespinosa" + - "@drpatelh" + - "@matthdsm" + - "@jfy133" +maintainers: + - "@joseespinosa" + - "@drpatelh" + - "@matthdsm" + - "@jfy133" diff --git a/modules/nf-core/untar/tests/main.nf.test b/modules/nf-core/untar/tests/main.nf.test new file mode 100644 index 00000000..fde8db16 --- /dev/null +++ b/modules/nf-core/untar/tests/main.nf.test @@ -0,0 +1,97 @@ +nextflow_process { + + name "Test Process UNTAR" + script "../main.nf" + process "UNTAR" + tag "modules" + tag "modules_nfcore" + tag "untar" + + test("test_untar") { + + when { + process { + """ + input[0] = [ [], file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/db/kraken2.tar.gz', checkIfExists: true) ] + """ + } + } + + then { + assertAll ( + { assert process.success }, + { assert snapshot( + process.out.untar, + process.out.findAll { key, val -> key.startsWith('versions') } + ).match() }, + ) + } + } + + test("test_untar_onlyfiles") { + + when { + process { + """ + input[0] = [ [], file(params.modules_testdata_base_path + 'generic/tar/hello.tar.gz', checkIfExists: true) ] + """ + } + } + + then { + assertAll ( + { assert process.success }, + { assert snapshot( + process.out.untar, + process.out.findAll { key, val -> key.startsWith('versions') } + ).match() }, + ) + } + } + + test("test_untar - stub") { + + options "-stub" + + when { + process { + """ + input[0] = [ [], file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/db/kraken2.tar.gz', checkIfExists: true) ] + """ + } + } + + then { + assertAll ( + { assert process.success }, + { assert snapshot( + process.out.untar, + process.out.findAll { key, val -> key.startsWith('versions') } + ).match() }, + ) + } + } + + test("test_untar_onlyfiles - stub") { + + options "-stub" + + when { + process { + """ + input[0] = [ [], file(params.modules_testdata_base_path + 'generic/tar/hello.tar.gz', checkIfExists: true) ] + """ + } + } + + then { + assertAll ( + { assert process.success }, + { assert snapshot( + process.out.untar, + process.out.findAll { key, val -> key.startsWith('versions') } + ).match() }, + ) + } + } +} diff --git a/modules/nf-core/untar/tests/main.nf.test.snap b/modules/nf-core/untar/tests/main.nf.test.snap new file mode 100644 index 00000000..51a414dd --- /dev/null +++ b/modules/nf-core/untar/tests/main.nf.test.snap @@ -0,0 +1,118 @@ +{ + "test_untar_onlyfiles": { + "content": [ + [ + [ + [ + + ], + [ + "hello.txt:md5,e59ff97941044f85df5297e1c302d260" + ] + ] + ], + { + "versions_untar": [ + [ + "UNTAR", + "untar", + "1.34" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2026-01-28T17:49:32.000491" + }, + "test_untar_onlyfiles - stub": { + "content": [ + [ + [ + [ + + ], + [ + "hello.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + { + "versions_untar": [ + [ + "UNTAR", + "untar", + "1.34" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2026-01-28T17:49:58.812479" + }, + "test_untar - stub": { + "content": [ + [ + [ + [ + + ], + [ + "hash.k2d:md5,d41d8cd98f00b204e9800998ecf8427e", + "opts.k2d:md5,d41d8cd98f00b204e9800998ecf8427e", + "taxo.k2d:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + { + "versions_untar": [ + [ + "UNTAR", + "untar", + "1.34" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2026-01-28T17:49:48.119456" + }, + "test_untar": { + "content": [ + [ + [ + [ + + ], + [ + "hash.k2d:md5,8b8598468f54a7087c203ad0190555d9", + "opts.k2d:md5,a033d00cf6759407010b21700938f543", + "taxo.k2d:md5,094d5891cdccf2f1468088855c214b2c" + ] + ] + ], + { + "versions_untar": [ + [ + "UNTAR", + "untar", + "1.34" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + }, + "timestamp": "2026-01-28T17:49:17.252494" + } +} \ No newline at end of file diff --git a/modules/nf-core/unzip/environment.yml b/modules/nf-core/unzip/environment.yml new file mode 100644 index 00000000..24615895 --- /dev/null +++ b/modules/nf-core/unzip/environment.yml @@ -0,0 +1,7 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + - conda-forge::p7zip=16.02 diff --git a/modules/nf-core/unzip/main.nf b/modules/nf-core/unzip/main.nf new file mode 100644 index 00000000..eb020ba1 --- /dev/null +++ b/modules/nf-core/unzip/main.nf @@ -0,0 +1,38 @@ +process UNZIP { + tag "$archive" + label 'process_single' + + conda "${moduleDir}/environment.yml" + container "${ workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/p7zip:16.02' : + 'quay.io/biocontainers/p7zip:16.02' }" + + input: + tuple val(meta), path(archive) + + output: + tuple val(meta), path("${prefix}/"), emit: unzipped_archive + tuple val("${task.process}"), val('7za'), eval("7za 2>&1 | sed -n '2s/^.* \\([0-9.]*\\) .*/\\1/p'"), topic: versions, emit: versions_7za + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + if ( archive instanceof List && archive.name.size > 1 ) { error "[UNZIP] error: 7za only accepts a single archive as input. Please check module input." } + prefix = task.ext.prefix ?: ( meta.id ? "${meta.id}" : archive.baseName) + """ + 7za \\ + x \\ + -o"${prefix}"/ \\ + $args \\ + $archive + """ + + stub: + if ( archive instanceof List && archive.name.size > 1 ) { error "[UNZIP] error: 7za only accepts a single archive as input. Please check module input." } + prefix = task.ext.prefix ?: ( meta.id ? "${meta.id}" : archive.baseName) + """ + mkdir "${prefix}" + """ +} diff --git a/modules/nf-core/unzip/meta.yml b/modules/nf-core/unzip/meta.yml new file mode 100644 index 00000000..1c645556 --- /dev/null +++ b/modules/nf-core/unzip/meta.yml @@ -0,0 +1,65 @@ +name: unzip +description: Unzip ZIP archive files +keywords: + - unzip + - decompression + - zip + - archiving +tools: + - unzip: + description: p7zip is a quick port of 7z.exe and 7za.exe (command line + version of 7zip, see www.7-zip.org) for Unix. + homepage: https://sourceforge.net/projects/p7zip/ + documentation: https://sourceforge.net/projects/p7zip/ + tool_dev_url: https://sourceforge.net/projects/p7zip" + licence: + - "LGPL-2.1-or-later" + identifier: "" +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - archive: + type: file + description: ZIP file + pattern: "*.zip" + ontologies: + - edam: http://edamontology.org/format_3987 +output: + unzipped_archive: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - ${prefix}/: + type: directory + description: Directory contents of the unzipped archive + pattern: "${archive.baseName}/" + versions_7za: + - - ${task.process}: + type: string + description: The name of the process + - 7za: + type: string + description: The name of the tool + - 7za 2>&1 | sed -n '2s/^.* \([0-9.]*\) .*/\1/p': + type: eval + description: The expression to obtain the version of the tool +topics: + versions: + - - ${task.process}: + type: string + description: The name of the process + - 7za: + type: string + description: The name of the tool + - 7za 2>&1 | sed -n '2s/^.* \([0-9.]*\) .*/\1/p': + type: eval + description: The expression to obtain the version of the tool +authors: + - "@jfy133" +maintainers: + - "@jfy133" diff --git a/modules/nf-core/unzip/tests/main.nf.test b/modules/nf-core/unzip/tests/main.nf.test new file mode 100644 index 00000000..6e5997d2 --- /dev/null +++ b/modules/nf-core/unzip/tests/main.nf.test @@ -0,0 +1,54 @@ +nextflow_process { + + name "Test Process UNZIP" + script "../main.nf" + process "UNZIP" + + tag "modules" + tag "modules_nfcore" + tag "unzip" + + test("generic [tar] [tar_gz]") { + + when { + process { + """ + input[0] = [ + [ id: 'hello' ], + file(params.modules_testdata_base_path + 'generic/tar/hello.tar.gz', checkIfExists: true) + ] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(sanitizeOutput(process.out)).match() } + ) + } + } + + test("generic [tar] [tar_gz] stub") { + + options "-stub" + + when { + process { + """ + input[0] = [ + [ id: 'hello' ], + file(params.modules_testdata_base_path + 'generic/tar/hello.tar.gz', checkIfExists: true) + ] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(sanitizeOutput(process.out)).match() } + ) + } + } +} diff --git a/modules/nf-core/unzip/tests/main.nf.test.snap b/modules/nf-core/unzip/tests/main.nf.test.snap new file mode 100644 index 00000000..3d178111 --- /dev/null +++ b/modules/nf-core/unzip/tests/main.nf.test.snap @@ -0,0 +1,58 @@ +{ + "generic [tar] [tar_gz] stub": { + "content": [ + { + "unzipped_archive": [ + [ + { + "id": "hello" + }, + [ + + ] + ] + ], + "versions_7za": [ + [ + "UNZIP", + "7za", + "16.02" + ] + ] + } + ], + "timestamp": "2026-06-15T16:55:32.454288336", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } + }, + "generic [tar] [tar_gz]": { + "content": [ + { + "unzipped_archive": [ + [ + { + "id": "hello" + }, + [ + "hello.tar:md5,80c66db79a773bc87b3346035ff9593e" + ] + ] + ], + "versions_7za": [ + [ + "UNZIP", + "7za", + "16.02" + ] + ] + } + ], + "timestamp": "2026-06-15T16:55:26.181807504", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } + } +} \ No newline at end of file diff --git a/modules/nf-core/vcf2maf/environment.yml b/modules/nf-core/vcf2maf/environment.yml new file mode 100644 index 00000000..4e617a0a --- /dev/null +++ b/modules/nf-core/vcf2maf/environment.yml @@ -0,0 +1,8 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + - bioconda::ensembl-vep=113.3 + - bioconda::vcf2maf=1.6.22 diff --git a/modules/nf-core/vcf2maf/main.nf b/modules/nf-core/vcf2maf/main.nf new file mode 100644 index 00000000..2bc4495d --- /dev/null +++ b/modules/nf-core/vcf2maf/main.nf @@ -0,0 +1,69 @@ +process VCF2MAF { + + tag "$meta.id" + label 'process_low' + + // WARN: Version information not provided by tool on CLI. Please update version string below when bumping container versions. + conda "${moduleDir}/environment.yml" + container "${ workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container ? + 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/7c/7cbf9421f0bee23a93a35c5d0c7166ac1e89a40008d8e474cecfddb93226bf65/data': + 'community.wave.seqera.io/library/ensembl-vep_vcf2maf:2d40b60b4834af73' }" + + input: + tuple val(meta), path(vcf) // Use an uncompressed VCF file! + path fasta // Required + path vep_cache // Required for VEP running. A default of /.vep is supplied. + + output: + tuple val(meta), path("*.maf"), emit: maf + path "versions.yml" , emit: versions + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + def vep_cache_cmd = vep_cache ? "--vep-data $vep_cache" : "" // If VEP is present, it will find it and add it to commands otherwise blank + def VERSION = '1.6.22' // WARN: Version information not provided by tool on CLI. Please update this string when bumping container versions. + """ + if [ "$vep_cache" ]; then + VEP_CMD="--vep-path \$(dirname \$(type -p vep))" + VEP_VERSION=\$(echo -e "\\n ensemblvep: \$( echo \$(vep --help 2>&1) | sed 's/^.*Versions:.*ensembl-vep : //;s/ .*\$//')") + else + VEP_CMD="" + VEP_VERSION="" + fi + + vcf2maf.pl \\ + $args \\ + \$VEP_CMD \\ + $vep_cache_cmd \\ + --ref-fasta $fasta \\ + --input-vcf $vcf \\ + --output-maf ${prefix}.maf + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + vcf2maf: $VERSION\$VEP_VERSION + END_VERSIONS + """ + + stub: + def prefix = task.ext.prefix ?: "${meta.id}" + def VERSION = '1.6.22' // WARN: Version information not provided by tool on CLI. Please update this string when bumping container versions. + """ + if [ "$vep_cache" ]; then + VEP_VERSION=\$(echo -e "\\n ensemblvep: \$( echo \$(vep --help 2>&1) | sed 's/^.*Versions:.*ensembl-vep : //;s/ .*\$//')") + else + VEP_VERSION="" + fi + + touch ${prefix}.maf + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + vcf2maf: $VERSION\$VEP_VERSION + END_VERSIONS + """ +} diff --git a/modules/nf-core/vcf2maf/meta.yml b/modules/nf-core/vcf2maf/meta.yml new file mode 100644 index 00000000..a1a05128 --- /dev/null +++ b/modules/nf-core/vcf2maf/meta.yml @@ -0,0 +1,60 @@ +name: "vcf2maf" +description: vcf2maf +keywords: + - vcf + - maf + - annotation +tools: + - "vcf2maf": + description: | + "Convert a VCF into a MAF where each variant is annotated to only one of all possible gene isoforms using vcf2maf. vcf2maf is designed to work with VEP, so it is recommended to have VEP and vcf2maf installed when running this module. Running VEP requires a VEP cache to be present. It is recommended to set the --species and --ncbi-build in ext.args (use the module config). If you wish to skip VEP, add `--inhibit-vep` to ext.args. It may also be necessary to set --tumor-id and --normal-id for correct parsing of the VCF." + homepage: "https://github.com/mskcc/vcf2maf" + documentation: "https://github.com/mskcc/vcf2maf" + tool_dev_url: "https://github.com/mskcc/vcf2maf" + doi: "10.5281/zenodo.593251" + licence: ["Apache-2.0"] + identifier: "" +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - vcf: + type: file + description: | + vcf to convert to MAF format. Must be uncompressed. + ontologies: [] + - fasta: + type: file + description: | + Path to reference genome fasta file. + ontologies: [] + - vep_cache: + type: file + description: | + Path to VEP cache dir. Required for correct running of VEP. + ontologies: [] +output: + maf: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.maf": + type: file + description: MAF file produced from VCF + pattern: "*.maf" + ontologies: [] + versions: + - versions.yml: + type: file + description: File containing software versions + pattern: "versions.yml" + ontologies: + - edam: http://edamontology.org/format_3750 # YAML +authors: + - "@adamrtalbot" +maintainers: + - "@adamrtalbot" diff --git a/modules/nf-core/vcf2maf/tests/main.nf.test b/modules/nf-core/vcf2maf/tests/main.nf.test new file mode 100644 index 00000000..472e235e --- /dev/null +++ b/modules/nf-core/vcf2maf/tests/main.nf.test @@ -0,0 +1,143 @@ +nextflow_process { + name "Test Process VCF2MAF" + + process "VCF2MAF" + script "../main.nf" + + tag "modules" + tag "modules_nfcore" + tag "vcf2maf" + tag "untar" + + setup { + run("UNTAR") { + script "../../../../modules/nf-core/untar/main.nf" + process { + """ + input[0] = [ + [ id:'test_genome_vep' ], + file(params.modules_testdata_base_path + "genomics/homo_sapiens/genome/vep_cache_113.tar.gz", checkIfExists: true) + ] + """ + } + } + } + + test("Run without VEP") { + + config "./nextflow.config" + + when { + params { + module_args = '--ncbi-build GRCh38 --species homo_sapiens --inhibit-vep' + } + process { + """ + input[0] = [ + [ id:'test'], // meta map + file(params.modules_testdata_base_path + "genomics/homo_sapiens/illumina/gvcf/test.genome.vcf", checkIfExists: true) + ] + input[1] = file(params.modules_testdata_base_path + "genomics/homo_sapiens/genome/genome.fasta", checkIfExists: true) + input[2] = [] + """ + } + } + then { + assertAll( + { assert process.success }, + { assert snapshot( + path(process.out.maf[0][1]).readLines()[5..131], + process.out.versions, + path(process.out.versions[0]).readLines() + ).match() }, + ) + } + } + + test("Run with VEP"){ + + config "./nextflow.config" + + when { + params { + module_args = "--ncbi-build GRCh38 --species homo_sapiens" + } + process { + """ + input[0] = [ + [ id:'test'], // meta map + file(params.modules_testdata_base_path + "genomics/homo_sapiens/illumina/gvcf/test.genome.vcf", checkIfExists: true) + ] + input[1] = [ file(params.modules_testdata_base_path + "genomics/homo_sapiens/genome/genome.fasta", checkIfExists: true) ] + input[2] = UNTAR.out.untar.map { it[1] } + """ + } + } + + then{ + assertAll( + { assert process.success }, + { assert path(process.out.maf[0][1]).readLines().size() == 2 }, // no variants, only header lines + { assert snapshot(process.out.versions, path(process.out.versions[0]).readLines()).match() } + ) + } + } + + test("Run without VEP - stub") { + + options "-stub" + + when { + process { + """ + input[0] = [ + [ id:'test'], // meta map + file(params.modules_testdata_base_path + "genomics/homo_sapiens/illumina/gvcf/test.genome.vcf", checkIfExists: true) + ] + input[1] = [ file(params.modules_testdata_base_path + "genomics/homo_sapiens/genome/genome.fasta", checkIfExists: true) ] + input[2] = [] + """ + } + } + then { + assertAll( + { assert process.success }, + { assert snapshot( + process.out, + path(process.out.versions[0]).readLines() + ).match() + }, + ) + } + } + + test("Run with VEP - stub"){ + + options "-stub" + + when { + process { + """ + input[0] = [ + [ id:'test'], // meta map + file(params.modules_testdata_base_path + "genomics/homo_sapiens/illumina/gvcf/test.genome.vcf", checkIfExists: true) + ] + input[1] = [ file(params.modules_testdata_base_path + "genomics/homo_sapiens/genome/genome.fasta", checkIfExists: true) ] + input[2] = UNTAR.out.untar.map { it[1] } + """ + } + } + + then{ + assertAll( + { assert process.success }, + { assert snapshot( + process.out, + path(process.out.versions[0]).readLines() + ).match() + }, + ) + } + } + +} diff --git a/modules/nf-core/vcf2maf/tests/main.nf.test.snap b/modules/nf-core/vcf2maf/tests/main.nf.test.snap new file mode 100644 index 00000000..f0062a0e --- /dev/null +++ b/modules/nf-core/vcf2maf/tests/main.nf.test.snap @@ -0,0 +1,239 @@ +{ + "Run with VEP - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.maf:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + "versions.yml:md5,999ed581957e1a97cf9a483e5cc65d05" + ], + "maf": [ + [ + { + "id": "test" + }, + "test.maf:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions": [ + "versions.yml:md5,999ed581957e1a97cf9a483e5cc65d05" + ] + }, + [ + "\"VCF2MAF\":", + " vcf2maf: 1.6.22", + " ensemblvep: 113.0" + ] + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.2" + }, + "timestamp": "2024-12-11T16:01:35.707312" + }, + "Run with VEP": { + "content": [ + [ + "versions.yml:md5,999ed581957e1a97cf9a483e5cc65d05" + ], + [ + "\"VCF2MAF\":", + " vcf2maf: 1.6.22", + " ensemblvep: 113.0" + ] + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.1" + }, + "timestamp": "2024-12-11T15:50:59.184221" + }, + "Run without VEP - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.maf:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + "versions.yml:md5,f3398fb1c4621649331dca91212dac23" + ], + "maf": [ + [ + { + "id": "test" + }, + "test.maf:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions": [ + "versions.yml:md5,f3398fb1c4621649331dca91212dac23" + ] + }, + [ + "\"VCF2MAF\":", + " vcf2maf: 1.6.22" + ] + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.2" + }, + "timestamp": "2024-12-11T15:49:39.498519" + }, + "Run without VEP": { + "content": [ + [ + "Unknown\t0\t.\tGRCh38\tchr22\t1955\t1955\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTTG\t.\t.\t\t\t\t\t\t\t\t\t\t1955", + "Unknown\t0\t.\tGRCh38\tchr22\t1957\t1957\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tGTA\t.\t.\t\t\t\t\t\t\t\t\t\t1957", + "Unknown\t0\t.\tGRCh38\tchr22\t1958\t1958\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTAA\t.\t.\t\t\t\t\t\t\t\t\t\t1958", + "Unknown\t0\t.\tGRCh38\tchr22\t1959\t1959\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tAAA\t.\t.\t\t\t\t\t\t\t\t\t\t1959", + "Unknown\t0\t.\tGRCh38\tchr22\t1960\t1960\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tAAT\t.\t.\t\t\t\t\t\t\t\t\t\t1960", + "Unknown\t0\t.\tGRCh38\tchr22\t1962\t1962\t+\tTargeted_Region\tINS\tC\tC\t\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTCA\t.\t.\t\t\t\t\t\t\t\t\t\t1962", + "Unknown\t0\t.\tGRCh38\tchr22\t1963\t1963\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCAT\t.\t.\t\t\t\t\t\t\t\t\t\t1963", + "Unknown\t0\t.\tGRCh38\tchr22\t1964\t1964\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tATC\t.\t.\t\t\t\t\t\t\t\t\t\t1964", + "Unknown\t0\t.\tGRCh38\tchr22\t1965\t1965\t+\tTargeted_Region\tINS\tC\tC\t\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTCT\t.\t.\t\t\t\t\t\t\t\t\t\t1965", + "Unknown\t0\t.\tGRCh38\tchr22\t1966\t1966\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t1966", + "Unknown\t0\t.\tGRCh38\tchr22\t1967\t1967\t+\tTargeted_Region\tINS\tG\tG\t\t\t\tTUMOR\tNORMAL\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTGT\t.\t.\t\t\t\t\t\t\t\t\t\t1967", + "Unknown\t0\t.\tGRCh38\tchr22\t1982\t1982\t+\tTargeted_Region\tSNP\tA\tA\tG\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tGAA\trs7287620\t176.64\t\t\t\t\t\t\t\t\t\t1982", + "Unknown\t0\t.\tGRCh38\tchr22\t1983\t1983\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tAAA\t.\t.\t\t\t\t\t\t\t\t\t\t1983", + "Unknown\t0\t.\tGRCh38\tchr22\t2103\t2103\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tATC\t.\t.\t\t\t\t\t\t\t\t\t\t2103", + "Unknown\t0\t.\tGRCh38\tchr22\t2104\t2104\t+\tTargeted_Region\tINS\tC\tC\t\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTCC\t.\t.\t\t\t\t\t\t\t\t\t\t2104", + "Unknown\t0\t.\tGRCh38\tchr22\t2105\t2105\t+\tTargeted_Region\tINS\tC\tC\t\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCCT\t.\t.\t\t\t\t\t\t\t\t\t\t2105", + "Unknown\t0\t.\tGRCh38\tchr22\t2107\t2107\t+\tTargeted_Region\tINS\tC\tC\t\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTCT\t.\t.\t\t\t\t\t\t\t\t\t\t2107", + "Unknown\t0\t.\tGRCh38\tchr22\t2108\t2108\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCTC\t.\t.\t\t\t\t\t\t\t\t\t\t2108", + "Unknown\t0\t.\tGRCh38\tchr22\t2111\t2111\t+\tTargeted_Region\tINS\tC\tC\t\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTCT\t.\t.\t\t\t\t\t\t\t\t\t\t2111", + "Unknown\t0\t.\tGRCh38\tchr22\t2114\t2114\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tGAA\t.\t.\t\t\t\t\t\t\t\t\t\t2114", + "Unknown\t0\t.\tGRCh38\tchr22\t2115\t2115\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tAAA\t.\t.\t\t\t\t\t\t\t\t\t\t2115", + "Unknown\t0\t.\tGRCh38\tchr22\t2118\t2118\t+\tTargeted_Region\tINS\tC\tC\t\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTCA\t.\t.\t\t\t\t\t\t\t\t\t\t2118", + "Unknown\t0\t.\tGRCh38\tchr22\t2123\t2123\t+\tTargeted_Region\tSNP\tC\tC\tG\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tGCG\t.\t33.97\t\t\t\t\t\t\t\t\t\t2123", + "Unknown\t0\t.\tGRCh38\tchr22\t2124\t2124\t+\tTargeted_Region\tINS\tG\tG\t\t\t\tTUMOR\tNORMAL\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCGC\t.\t.\t\t\t\t\t\t\t\t\t\t2124", + "Unknown\t0\t.\tGRCh38\tchr22\t2717\t2717\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t2717", + "Unknown\t0\t.\tGRCh38\tchr22\t2722\t2722\t+\tTargeted_Region\tINS\tG\tG\t\t\t\tTUMOR\tNORMAL\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTGT\t.\t.\t\t\t\t\t\t\t\t\t\t2722", + "Unknown\t0\t.\tGRCh38\tchr22\t2723\t2723\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tGTT\t.\t.\t\t\t\t\t\t\t\t\t\t2723", + "Unknown\t0\t.\tGRCh38\tchr22\t2724\t2724\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTTA\t.\t.\t\t\t\t\t\t\t\t\t\t2724", + "Unknown\t0\t.\tGRCh38\tchr22\t2725\t2725\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTAA\t.\t.\t\t\t\t\t\t\t\t\t\t2725", + "Unknown\t0\t.\tGRCh38\tchr22\t2837\t2837\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tATA\t.\t.\t\t\t\t\t\t\t\t\t\t2837", + "Unknown\t0\t.\tGRCh38\tchr22\t2838\t2838\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTAA\t.\t.\t\t\t\t\t\t\t\t\t\t2838", + "Unknown\t0\t.\tGRCh38\tchr22\t2908\t2908\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTAA\t.\t.\t\t\t\t\t\t\t\t\t\t2908", + "Unknown\t0\t.\tGRCh38\tchr22\t2909\t2909\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tAAA\t.\t.\t\t\t\t\t\t\t\t\t\t2909", + "Unknown\t0\t.\tGRCh38\tchr22\t2910\t2910\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tAAA\t.\t.\t\t\t\t\t\t\t\t\t\t2910", + "Unknown\t0\t.\tGRCh38\tchr22\t2911\t2911\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tAAC\t.\t.\t\t\t\t\t\t\t\t\t\t2911", + "Unknown\t0\t.\tGRCh38\tchr22\t2912\t2912\t+\tTargeted_Region\tINS\tC\tC\t\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tACT\t.\t.\t\t\t\t\t\t\t\t\t\t2912", + "Unknown\t0\t.\tGRCh38\tchr22\t3120\t3120\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTAC\t.\t.\t\t\t\t\t\t\t\t\t\t3120", + "Unknown\t0\t.\tGRCh38\tchr22\t3121\t3121\t+\tTargeted_Region\tINS\tC\tC\t\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tACC\t.\t.\t\t\t\t\t\t\t\t\t\t3121", + "Unknown\t0\t.\tGRCh38\tchr22\t3122\t3122\t+\tTargeted_Region\tINS\tC\tC\t\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCCC\t.\t.\t\t\t\t\t\t\t\t\t\t3122", + "Unknown\t0\t.\tGRCh38\tchr22\t3125\t3125\t+\tTargeted_Region\tINS\tG\tG\t\t\t\tTUMOR\tNORMAL\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tAGA\t.\t.\t\t\t\t\t\t\t\t\t\t3125", + "Unknown\t0\t.\tGRCh38\tchr22\t3127\t3127\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tATC\t.\t.\t\t\t\t\t\t\t\t\t\t3127", + "Unknown\t0\t.\tGRCh38\tchr22\t3140\t3140\t+\tTargeted_Region\tSNP\tA\tA\tG\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tAAG\t.\t37.31\t\t\t\t\t\t\t\t\t\t3140", + "Unknown\t0\t.\tGRCh38\tchr22\t3141\t3141\t+\tTargeted_Region\tINS\tG\tG\t\t\t\tTUMOR\tNORMAL\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tAGT\t.\t.\t\t\t\t\t\t\t\t\t\t3141", + "Unknown\t0\t.\tGRCh38\tchr22\t3145\t3145\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTTG\t.\t.\t\t\t\t\t\t\t\t\t\t3145", + "Unknown\t0\t.\tGRCh38\tchr22\t3191\t3191\t+\tTargeted_Region\tINS\tC\tC\t\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTCA\t.\t.\t\t\t\t\t\t\t\t\t\t3191", + "Unknown\t0\t.\tGRCh38\tchr22\t3192\t3192\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCAG\t.\t.\t\t\t\t\t\t\t\t\t\t3192", + "Unknown\t0\t.\tGRCh38\tchr22\t3197\t3197\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTTT\t.\t.\t\t\t\t\t\t\t\t\t\t3197", + "Unknown\t0\t.\tGRCh38\tchr22\t3201\t3201\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tATT\t.\t.\t\t\t\t\t\t\t\t\t\t3201", + "Unknown\t0\t.\tGRCh38\tchr22\t3208\t3208\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTAG\t.\t.\t\t\t\t\t\t\t\t\t\t3208", + "Unknown\t0\t.\tGRCh38\tchr22\t3210\t3210\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tGTA\t.\t.\t\t\t\t\t\t\t\t\t\t3210", + "Unknown\t0\t.\tGRCh38\tchr22\t3218\t3218\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tAAA\t.\t.\t\t\t\t\t\t\t\t\t\t3218", + "Unknown\t0\t.\tGRCh38\tchr22\t3219\t3219\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tAAA\t.\t.\t\t\t\t\t\t\t\t\t\t3219", + "Unknown\t0\t.\tGRCh38\tchr22\t3266\t3266\t+\tTargeted_Region\tSNP\tT\tT\tC\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTTT\trs4008589\t481.06\t\t\t\t\t\t\t\t\t\t3266", + "Unknown\t0\t.\tGRCh38\tchr22\t3267\t3267\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTTA\t.\t.\t\t\t\t\t\t\t\t\t\t3267", + "Unknown\t0\t.\tGRCh38\tchr22\t3303\t3303\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCAC\t.\t.\t\t\t\t\t\t\t\t\t\t3303", + "Unknown\t0\t.\tGRCh38\tchr22\t3304\t3304\t+\tTargeted_Region\tINS\tC\tC\t\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tACT\t.\t.\t\t\t\t\t\t\t\t\t\t3304", + "Unknown\t0\t.\tGRCh38\tchr22\t3305\t3305\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t3305", + "Unknown\t0\t.\tGRCh38\tchr22\t3309\t3309\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t3309", + "Unknown\t0\t.\tGRCh38\tchr22\t3310\t3310\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTAG\t.\t.\t\t\t\t\t\t\t\t\t\t3310", + "Unknown\t0\t.\tGRCh38\tchr22\t3318\t3318\t+\tTargeted_Region\tINS\tG\tG\t\t\t\tTUMOR\tNORMAL\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTGC\t.\t.\t\t\t\t\t\t\t\t\t\t3318", + "Unknown\t0\t.\tGRCh38\tchr22\t3321\t3321\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTTA\t.\t.\t\t\t\t\t\t\t\t\t\t3321", + "Unknown\t0\t.\tGRCh38\tchr22\t3352\t3352\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTTC\t.\t.\t\t\t\t\t\t\t\t\t\t3352", + "Unknown\t0\t.\tGRCh38\tchr22\t3355\t3355\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTTT\t.\t.\t\t\t\t\t\t\t\t\t\t3355", + "Unknown\t0\t.\tGRCh38\tchr22\t3356\t3356\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTTC\t.\t.\t\t\t\t\t\t\t\t\t\t3356", + "Unknown\t0\t.\tGRCh38\tchr22\t3366\t3366\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tATT\t.\t.\t\t\t\t\t\t\t\t\t\t3366", + "Unknown\t0\t.\tGRCh38\tchr22\t3374\t3374\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTAG\t.\t.\t\t\t\t\t\t\t\t\t\t3374", + "Unknown\t0\t.\tGRCh38\tchr22\t3375\t3375\t+\tTargeted_Region\tINS\tG\tG\t\t\t\tTUMOR\tNORMAL\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tAGA\t.\t.\t\t\t\t\t\t\t\t\t\t3375", + "Unknown\t0\t.\tGRCh38\tchr22\t3376\t3376\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tGAT\t.\t.\t\t\t\t\t\t\t\t\t\t3376", + "Unknown\t0\t.\tGRCh38\tchr22\t3378\t3378\t+\tTargeted_Region\tINS\tC\tC\t\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTCG\t.\t.\t\t\t\t\t\t\t\t\t\t3378", + "Unknown\t0\t.\tGRCh38\tchr22\t3379\t3379\t+\tTargeted_Region\tINS\tG\tG\t\t\t\tTUMOR\tNORMAL\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCGG\t.\t.\t\t\t\t\t\t\t\t\t\t3379", + "Unknown\t0\t.\tGRCh38\tchr22\t3382\t3382\t+\tTargeted_Region\tINS\tC\tC\t\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCCA\t.\t.\t\t\t\t\t\t\t\t\t\t3382", + "Unknown\t0\t.\tGRCh38\tchr22\t3386\t3386\t+\tTargeted_Region\tINS\tC\tC\t\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tGCA\t.\t.\t\t\t\t\t\t\t\t\t\t3386", + "Unknown\t0\t.\tGRCh38\tchr22\t3387\t3387\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCAG\t.\t.\t\t\t\t\t\t\t\t\t\t3387", + "Unknown\t0\t.\tGRCh38\tchr22\t3391\t3391\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tAAC\t.\t.\t\t\t\t\t\t\t\t\t\t3391", + "Unknown\t0\t.\tGRCh38\tchr22\t3393\t3393\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t3393", + "Unknown\t0\t.\tGRCh38\tchr22\t3394\t3394\t+\tTargeted_Region\tINS\tG\tG\t\t\t\tTUMOR\tNORMAL\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTGA\t.\t.\t\t\t\t\t\t\t\t\t\t3394", + "Unknown\t0\t.\tGRCh38\tchr22\t3395\t3395\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tGAA\t.\t.\t\t\t\t\t\t\t\t\t\t3395", + "Unknown\t0\t.\tGRCh38\tchr22\t3396\t3396\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tAAC\t.\t.\t\t\t\t\t\t\t\t\t\t3396", + "Unknown\t0\t.\tGRCh38\tchr22\t3397\t3397\t+\tTargeted_Region\tINS\tC\tC\t\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tACC\t.\t.\t\t\t\t\t\t\t\t\t\t3397", + "Unknown\t0\t.\tGRCh38\tchr22\t3398\t3398\t+\tTargeted_Region\tINS\tC\tC\t\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCCT\t.\t.\t\t\t\t\t\t\t\t\t\t3398", + "Unknown\t0\t.\tGRCh38\tchr22\t3399\t3399\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t3399", + "Unknown\t0\t.\tGRCh38\tchr22\t3400\t3400\t+\tTargeted_Region\tINS\tG\tG\t\t\t\tTUMOR\tNORMAL\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTGA\t.\t.\t\t\t\t\t\t\t\t\t\t3400", + "Unknown\t0\t.\tGRCh38\tchr22\t3401\t3401\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tGAT\t.\t.\t\t\t\t\t\t\t\t\t\t3401", + "Unknown\t0\t.\tGRCh38\tchr22\t3402\t3402\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tATT\t.\t.\t\t\t\t\t\t\t\t\t\t3402", + "Unknown\t0\t.\tGRCh38\tchr22\t3403\t3403\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTTT\t.\t.\t\t\t\t\t\t\t\t\t\t3403", + "Unknown\t0\t.\tGRCh38\tchr22\t3404\t3404\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTTG\t.\t.\t\t\t\t\t\t\t\t\t\t3404", + "Unknown\t0\t.\tGRCh38\tchr22\t3405\t3405\t+\tTargeted_Region\tINS\tG\tG\t\t\t\tTUMOR\tNORMAL\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTGT\t.\t.\t\t\t\t\t\t\t\t\t\t3405", + "Unknown\t0\t.\tGRCh38\tchr22\t3406\t3406\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tGTT\t.\t.\t\t\t\t\t\t\t\t\t\t3406", + "Unknown\t0\t.\tGRCh38\tchr22\t3407\t3407\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTTT\t.\t.\t\t\t\t\t\t\t\t\t\t3407", + "Unknown\t0\t.\tGRCh38\tchr22\t3409\t3409\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTTT\t.\t.\t\t\t\t\t\t\t\t\t\t3409", + "Unknown\t0\t.\tGRCh38\tchr22\t3410\t3410\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTTT\t.\t.\t\t\t\t\t\t\t\t\t\t3410", + "Unknown\t0\t.\tGRCh38\tchr22\t3411\t3411\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTTT\t.\t.\t\t\t\t\t\t\t\t\t\t3411", + "Unknown\t0\t.\tGRCh38\tchr22\t3413\t3413\t+\tTargeted_Region\tSNP\tT\tT\tG\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTTG\t.\t78.64\t\t\t\t\t\t\t\t\t\t3413", + "Unknown\t0\t.\tGRCh38\tchr22\t3414\t3414\t+\tTargeted_Region\tINS\tG\tG\t\t\t\tTUMOR\tNORMAL\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTGA\t.\t.\t\t\t\t\t\t\t\t\t\t3414", + "Unknown\t0\t.\tGRCh38\tchr22\t3418\t3418\t+\tTargeted_Region\tINS\tC\tC\t\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTCA\t.\t.\t\t\t\t\t\t\t\t\t\t3418", + "Unknown\t0\t.\tGRCh38\tchr22\t3421\t3421\t+\tTargeted_Region\tINS\tC\tC\t\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCCT\t.\t.\t\t\t\t\t\t\t\t\t\t3421", + "Unknown\t0\t.\tGRCh38\tchr22\t3422\t3422\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t3422", + "Unknown\t0\t.\tGRCh38\tchr22\t3423\t3423\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTAG\t.\t.\t\t\t\t\t\t\t\t\t\t3423", + "Unknown\t0\t.\tGRCh38\tchr22\t3632\t3632\t+\tTargeted_Region\tINS\tC\tC\t\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tGCT\t.\t.\t\t\t\t\t\t\t\t\t\t3632", + "Unknown\t0\t.\tGRCh38\tchr22\t3633\t3633\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t3633", + "Unknown\t0\t.\tGRCh38\tchr22\t3635\t3635\t+\tTargeted_Region\tINS\tG\tG\t\t\t\tTUMOR\tNORMAL\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tGGA\t.\t.\t\t\t\t\t\t\t\t\t\t3635", + "Unknown\t0\t.\tGRCh38\tchr22\t3636\t3636\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tGAA\t.\t.\t\t\t\t\t\t\t\t\t\t3636", + "Unknown\t0\t.\tGRCh38\tchr22\t3637\t3637\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tAAG\t.\t.\t\t\t\t\t\t\t\t\t\t3637", + "Unknown\t0\t.\tGRCh38\tchr22\t3645\t3645\t+\tTargeted_Region\tINS\tC\tC\t\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTCC\t.\t.\t\t\t\t\t\t\t\t\t\t3645", + "Unknown\t0\t.\tGRCh38\tchr22\t4466\t4466\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tGAT\t.\t.\t\t\t\t\t\t\t\t\t\t4466", + "Unknown\t0\t.\tGRCh38\tchr22\t4488\t4488\t+\tTargeted_Region\tINS\tC\tC\t\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tACT\t.\t.\t\t\t\t\t\t\t\t\t\t4488", + "Unknown\t0\t.\tGRCh38\tchr22\t4489\t4489\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t4489", + "Unknown\t0\t.\tGRCh38\tchr22\t4494\t4494\t+\tTargeted_Region\tINS\tC\tC\t\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCCA\t.\t.\t\t\t\t\t\t\t\t\t\t4494", + "Unknown\t0\t.\tGRCh38\tchr22\t4495\t4495\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCAG\t.\t.\t\t\t\t\t\t\t\t\t\t4495", + "Unknown\t0\t.\tGRCh38\tchr22\t4499\t4499\t+\tTargeted_Region\tINS\tG\tG\t\t\t\tTUMOR\tNORMAL\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tGGT\t.\t.\t\t\t\t\t\t\t\t\t\t4499", + "Unknown\t0\t.\tGRCh38\tchr22\t4500\t4500\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tGTT\t.\t.\t\t\t\t\t\t\t\t\t\t4500", + "Unknown\t0\t.\tGRCh38\tchr22\t4501\t4501\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTTT\t.\t.\t\t\t\t\t\t\t\t\t\t4501", + "Unknown\t0\t.\tGRCh38\tchr22\t4502\t4502\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTTG\t.\t.\t\t\t\t\t\t\t\t\t\t4502", + "Unknown\t0\t.\tGRCh38\tchr22\t4503\t4503\t+\tTargeted_Region\tINS\tG\tG\t\t\t\tTUMOR\tNORMAL\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTGG\t.\t.\t\t\t\t\t\t\t\t\t\t4503", + "Unknown\t0\t.\tGRCh38\tchr22\t4508\t4508\t+\tTargeted_Region\tINS\tG\tG\t\t\t\tTUMOR\tNORMAL\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTGC\t.\t.\t\t\t\t\t\t\t\t\t\t4508", + "Unknown\t0\t.\tGRCh38\tchr22\t4576\t4576\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tATG\t.\t.\t\t\t\t\t\t\t\t\t\t4576", + "Unknown\t0\t.\tGRCh38\tchr22\t4579\t4579\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tGAA\t.\t.\t\t\t\t\t\t\t\t\t\t4579", + "Unknown\t0\t.\tGRCh38\tchr22\t4580\t4580\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tAAA\t.\t.\t\t\t\t\t\t\t\t\t\t4580", + "Unknown\t0\t.\tGRCh38\tchr22\t4583\t4583\t+\tTargeted_Region\tINS\tG\tG\t\t\t\tTUMOR\tNORMAL\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tAGC\t.\t.\t\t\t\t\t\t\t\t\t\t4583", + "Unknown\t0\t.\tGRCh38\tchr22\t4585\t4585\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCTC\t.\t.\t\t\t\t\t\t\t\t\t\t4585", + "Unknown\t0\t.\tGRCh38\tchr22\t4586\t4586\t+\tTargeted_Region\tINS\tC\tC\t\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTCA\t.\t.\t\t\t\t\t\t\t\t\t\t4586", + "Unknown\t0\t.\tGRCh38\tchr22\t4587\t4587\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCAT\t.\t.\t\t\t\t\t\t\t\t\t\t4587", + "Unknown\t0\t.\tGRCh38\tchr22\t4598\t4598\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t4598", + "Unknown\t0\t.\tGRCh38\tchr22\t4599\t4599\t+\tTargeted_Region\tINS\tG\tG\t\t\t\tTUMOR\tNORMAL\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTGA\t.\t.\t\t\t\t\t\t\t\t\t\t4599", + "Unknown\t0\t.\tGRCh38\tchr22\t4605\t4605\t+\tTargeted_Region\tINS\tG\tG\t\t\t\tTUMOR\tNORMAL\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTGT\t.\t.\t\t\t\t\t\t\t\t\t\t4605", + "Unknown\t0\t.\tGRCh38\tchr22\t4606\t4606\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tGTC\t.\t.\t\t\t\t\t\t\t\t\t\t4606", + "Unknown\t0\t.\tGRCh38\tchr22\t4608\t4608\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCAA\t.\t.\t\t\t\t\t\t\t\t\t\t4608" + ], + [ + "versions.yml:md5,f3398fb1c4621649331dca91212dac23" + ], + [ + "\"VCF2MAF\":", + " vcf2maf: 1.6.22" + ] + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.2" + }, + "timestamp": "2024-12-11T15:52:16.957598" + } +} diff --git a/modules/nf-core/vcf2maf/tests/nextflow.config b/modules/nf-core/vcf2maf/tests/nextflow.config new file mode 100644 index 00000000..8d77c853 --- /dev/null +++ b/modules/nf-core/vcf2maf/tests/nextflow.config @@ -0,0 +1,7 @@ +process { + + withName: 'VCF2MAF' { + ext.args = params.module_args + } + +} diff --git a/modules/nf-core/vcftools/environment.yml b/modules/nf-core/vcftools/environment.yml new file mode 100644 index 00000000..ff0e9d03 --- /dev/null +++ b/modules/nf-core/vcftools/environment.yml @@ -0,0 +1,7 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + - bioconda::vcftools=0.1.16 diff --git a/modules/nf-core/vcftools/main.nf b/modules/nf-core/vcftools/main.nf new file mode 100644 index 00000000..91415435 --- /dev/null +++ b/modules/nf-core/vcftools/main.nf @@ -0,0 +1,199 @@ +process VCFTOOLS { + tag "$meta.id" + label 'process_single' + + conda "${moduleDir}/environment.yml" + container "${ workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/vcftools:0.1.16--he513fc3_4' : + 'quay.io/biocontainers/vcftools:0.1.16--he513fc3_4' }" + + input: + // Owing to the nature of vcftools we here provide solutions to working with optional bed files and optional + // alternative variant files, for use with the 'diff' suite of tools. + // Other optional input files can be utilised in a similar way to below but we do not exhaustively iterate through all + // possible options. Instead we leave that to the user. + tuple val(meta), path(variant_file) + path bed + path diff_variant_file + + output: + tuple val(meta), path("*.vcf") , optional:true, emit: vcf + tuple val(meta), path("*.bcf") , optional:true, emit: bcf + tuple val(meta), path("*.frq") , optional:true, emit: frq + tuple val(meta), path("*.frq.count") , optional:true, emit: frq_count + tuple val(meta), path("*.idepth") , optional:true, emit: idepth + tuple val(meta), path("*.ldepth") , optional:true, emit: ldepth + tuple val(meta), path("*.ldepth.mean") , optional:true, emit: ldepth_mean + tuple val(meta), path("*.gdepth") , optional:true, emit: gdepth + tuple val(meta), path("*.hap.ld") , optional:true, emit: hap_ld + tuple val(meta), path("*.geno.ld") , optional:true, emit: geno_ld + tuple val(meta), path("*.geno.chisq") , optional:true, emit: geno_chisq + tuple val(meta), path("*.list.hap.ld") , optional:true, emit: list_hap_ld + tuple val(meta), path("*.list.geno.ld") , optional:true, emit: list_geno_ld + tuple val(meta), path("*.interchrom.hap.ld") , optional:true, emit: interchrom_hap_ld + tuple val(meta), path("*.interchrom.geno.ld") , optional:true, emit: interchrom_geno_ld + tuple val(meta), path("*.TsTv") , optional:true, emit: tstv + tuple val(meta), path("*.TsTv.summary") , optional:true, emit: tstv_summary + tuple val(meta), path("*.TsTv.count") , optional:true, emit: tstv_count + tuple val(meta), path("*.TsTv.qual") , optional:true, emit: tstv_qual + tuple val(meta), path("*.FILTER.summary") , optional:true, emit: filter_summary + tuple val(meta), path("*.sites.pi") , optional:true, emit: sites_pi + tuple val(meta), path("*.windowed.pi") , optional:true, emit: windowed_pi + tuple val(meta), path("*.weir.fst") , optional:true, emit: weir_fst + tuple val(meta), path("*.het") , optional:true, emit: heterozygosity + tuple val(meta), path("*.hwe") , optional:true, emit: hwe + tuple val(meta), path("*.Tajima.D") , optional:true, emit: tajima_d + tuple val(meta), path("*.ifreqburden") , optional:true, emit: freq_burden + tuple val(meta), path("*.LROH") , optional:true, emit: lroh + tuple val(meta), path("*.relatedness") , optional:true, emit: relatedness + tuple val(meta), path("*.relatedness2") , optional:true, emit: relatedness2 + tuple val(meta), path("*.lqual") , optional:true, emit: lqual + tuple val(meta), path("*.imiss") , optional:true, emit: missing_individual + tuple val(meta), path("*.lmiss") , optional:true, emit: missing_site + tuple val(meta), path("*.snpden") , optional:true, emit: snp_density + tuple val(meta), path("*.kept.sites") , optional:true, emit: kept_sites + tuple val(meta), path("*.removed.sites") , optional:true, emit: removed_sites + tuple val(meta), path("*.singletons") , optional:true, emit: singeltons + tuple val(meta), path("*.indel.hist") , optional:true, emit: indel_hist + tuple val(meta), path("*.hapcount") , optional:true, emit: hapcount + tuple val(meta), path("*.mendel") , optional:true, emit: mendel + tuple val(meta), path("*.FORMAT") , optional:true, emit: format + tuple val(meta), path("*.INFO") , optional:true, emit: info + tuple val(meta), path("*.012") , optional:true, emit: genotypes_matrix + tuple val(meta), path("*.012.indv") , optional:true, emit: genotypes_matrix_individual + tuple val(meta), path("*.012.pos") , optional:true, emit: genotypes_matrix_position + tuple val(meta), path("*.impute.hap") , optional:true, emit: impute_hap + tuple val(meta), path("*.impute.hap.legend") , optional:true, emit: impute_hap_legend + tuple val(meta), path("*.impute.hap.indv") , optional:true, emit: impute_hap_indv + tuple val(meta), path("*.ldhat.sites") , optional:true, emit: ldhat_sites + tuple val(meta), path("*.ldhat.locs") , optional:true, emit: ldhat_locs + tuple val(meta), path("*.BEAGLE.GL") , optional:true, emit: beagle_gl + tuple val(meta), path("*.BEAGLE.PL") , optional:true, emit: beagle_pl + tuple val(meta), path("*.ped") , optional:true, emit: ped + tuple val(meta), path("*.map") , optional:true, emit: map_ + tuple val(meta), path("*.tped") , optional:true, emit: tped + tuple val(meta), path("*.tfam") , optional:true, emit: tfam + tuple val(meta), path("*.diff.sites_in_files") , optional:true, emit: diff_sites_in_files + tuple val(meta), path("*.diff.indv_in_files") , optional:true, emit: diff_indv_in_files + tuple val(meta), path("*.diff.sites") , optional:true, emit: diff_sites + tuple val(meta), path("*.diff.indv") , optional:true, emit: diff_indv + tuple val(meta), path("*.diff.discordance.matrix"), optional:true, emit: diff_discd_matrix + tuple val(meta), path("*.diff.switch") , optional:true, emit: diff_switch_error + path "versions.yml" , emit: versions + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + def args_list = args.tokenize() + + def bed_arg = (args.contains('--bed')) ? "--bed ${bed}" : + (args.contains('--exclude-bed')) ? "--exclude-bed ${bed}" : + (args.contains('--hapcount')) ? "--hapcount ${bed}" : + (args.contains('--positions')) ? "--positions ${bed}" : + (args.contains('--exclude-positions')) ? "--exclude-positions ${bed}" : '' + args_list.removeIf { arg -> arg.contains('--bed') } + args_list.removeIf { arg -> arg.contains('--exclude-bed') } + args_list.removeIf { arg -> arg.contains('--hapcount') } + args_list.removeIf { arg -> arg.contains('--positions') } + args_list.removeIf { arg -> arg.contains('--exclude-positions') } + + def diff_variant_arg = (args.contains('--diff')) ? "--diff ${diff_variant_file}" : + (args.contains('--gzdiff')) ? "--gzdiff ${diff_variant_file}" : + (args.contains('--diff-bcf')) ? "--diff-bcf ${diff_variant_file}" : '' + args_list.removeIf { arg -> arg.contains('--diff') } + args_list.removeIf { arg -> arg.contains('--gzdiff') } + args_list.removeIf { arg -> arg.contains('--diff-bcf') } + + def input_file = ("$variant_file".endsWith(".vcf")) ? "--vcf ${variant_file}" : + ("$variant_file".endsWith(".vcf.gz")) ? "--gzvcf ${variant_file}" : + ("$variant_file".endsWith(".bcf")) ? "--bcf ${variant_file}" : '' + + """ + vcftools \\ + $input_file \\ + --out $prefix \\ + ${args_list.join(' ')} \\ + $bed_arg \\ + $diff_variant_arg + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + vcftools: \$(echo \$(vcftools --version 2>&1) | sed 's/^.*VCFtools (//;s/).*//') + END_VERSIONS + """ + + stub: + def prefix = task.ext.prefix ?: "${meta.id}" + """ + touch ${prefix}.vcf + touch ${prefix}.bcf + touch ${prefix}.frq + touch ${prefix}.frq.count + touch ${prefix}.idepth + touch ${prefix}.ldepth + touch ${prefix}.ldepth.mean + touch ${prefix}.gdepth + touch ${prefix}.hap.ld + touch ${prefix}.geno.ld + touch ${prefix}.geno.chisq + touch ${prefix}.list.hap.ld + touch ${prefix}.list.geno.ld + touch ${prefix}.interchrom.hap.ld + touch ${prefix}.interchrom.geno.ld + touch ${prefix}.TsTv + touch ${prefix}.TsTv.summary + touch ${prefix}.TsTv.count + touch ${prefix}.TsTv.qual + touch ${prefix}.FILTER.summary + touch ${prefix}.sites.pi + touch ${prefix}.windowed.pi + touch ${prefix}.weir.fst + touch ${prefix}.het + touch ${prefix}.hwe + touch ${prefix}.Tajima.D + touch ${prefix}.ifreqburden + touch ${prefix}.LROH + touch ${prefix}.relatedness + touch ${prefix}.relatedness2 + touch ${prefix}.lqual + touch ${prefix}.imiss + touch ${prefix}.lmiss + touch ${prefix}.snpden + touch ${prefix}.kept.sites + touch ${prefix}.removed.sites + touch ${prefix}.singletons + touch ${prefix}.indel.hist + touch ${prefix}.hapcount + touch ${prefix}.mendel + touch ${prefix}.FORMAT + touch ${prefix}.INFO + touch ${prefix}.012 + touch ${prefix}.012.indv + touch ${prefix}.012.pos + touch ${prefix}.impute.hap + touch ${prefix}.impute.hap.legend + touch ${prefix}.impute.hap.indv + touch ${prefix}.ldhat.sites + touch ${prefix}.ldhat.locs + touch ${prefix}.BEAGLE.GL + touch ${prefix}.BEAGLE.PL + touch ${prefix}.ped + touch ${prefix}.map + touch ${prefix}.tped + touch ${prefix}.tfam + touch ${prefix}.diff.sites_in_files + touch ${prefix}.diff.indv_in_files + touch ${prefix}.diff.sites + touch ${prefix}.diff.indv + touch ${prefix}.diff.discordance.matrix + touch ${prefix}.diff.switch + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + vcftools: \$(echo \$(vcftools --version 2>&1) | sed 's/^.*VCFtools (//;s/).*//') + END_VERSIONS + """ +} diff --git a/modules/nf-core/vcftools/meta.yml b/modules/nf-core/vcftools/meta.yml new file mode 100644 index 00000000..79acf37e --- /dev/null +++ b/modules/nf-core/vcftools/meta.yml @@ -0,0 +1,758 @@ +name: vcftools +description: A set of tools written in Perl and C++ for working with VCF files +keywords: + - VCFtools + - VCF + - sort +tools: + - vcftools: + description: A set of tools written in Perl and C++ for working with VCF files. + This package only contains the C++ libraries whereas the package perl-vcftools-vcf + contains the perl libraries + homepage: http://vcftools.sourceforge.net/ + documentation: http://vcftools.sourceforge.net/man_latest.html + licence: ["LGPL"] + identifier: biotools:vcftools +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - variant_file: + type: file + description: variant input file which can be vcf, vcf.gz, or bcf format. + ontologies: [] + - bed: + type: file + description: bed file which can be used with different arguments in vcftools (optional) + ontologies: [] + - diff_variant_file: + type: file + description: secondary variant file which can be used with the 'diff' suite of + tools (optional) + ontologies: [] +output: + vcf: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.vcf": + type: file + description: vcf file (optional) + pattern: "*.vcf" + ontologies: [] + bcf: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.bcf": + type: file + description: bcf file (optional) + pattern: "*.bcf" + ontologies: [] + frq: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.frq": + type: file + description: Allele frequency for each site (optional) + pattern: "*.frq" + ontologies: [] + frq_count: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.frq.count": + type: file + description: Allele counts for each site (optional) + pattern: "*.frq.count" + ontologies: [] + idepth: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.idepth": + type: file + description: mean depth per individual (optional) + pattern: "*.idepth" + ontologies: [] + ldepth: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.ldepth": + type: file + description: depth per site summed across individuals (optional) + pattern: "*.ildepth" + ontologies: [] + ldepth_mean: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.ldepth.mean": + type: file + description: mean depth per site calculated across individuals (optional) + pattern: "*.ldepth.mean" + ontologies: [] + gdepth: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.gdepth": + type: file + description: depth for each genotype in vcf file (optional) + pattern: "*.gdepth" + ontologies: [] + hap_ld: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.hap.ld": + type: file + description: r2, D, and D’ statistics using phased haplotypes (optional) + pattern: "*.hap.ld" + ontologies: [] + geno_ld: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.geno.ld": + type: file + description: squared correlation coefficient between genotypes encoded as + 0, 1 and 2 to represent the number of non-reference alleles in each individual + (optional) + pattern: "*.geno.ld" + ontologies: [] + geno_chisq: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.geno.chisq": + type: file + description: test for genotype independence via the chi-squared statistic + (optional) + pattern: "*.geno.chisq" + ontologies: [] + list_hap_ld: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.list.hap.ld": + type: file + description: r2 statistics of the sites contained in the provided input file + verses all other sites (optional) + pattern: "*.list.hap.ld" + ontologies: [] + list_geno_ld: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.list.geno.ld": + type: file + description: r2 statistics of the sites contained in the provided input file + verses all other sites (optional) + pattern: "*.list.geno.ld" + ontologies: [] + interchrom_hap_ld: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.interchrom.hap.ld": + type: file + description: r2 statistics for sites (haplotypes) on different chromosomes + (optional) + pattern: "*.interchrom.hap.ld" + ontologies: [] + interchrom_geno_ld: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.interchrom.geno.ld": + type: file + description: r2 statistics for sites (genotypes) on different chromosomes + (optional) + pattern: "*.interchrom.geno.ld" + ontologies: [] + tstv: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.TsTv": + type: file + description: Transition / Transversion ratio in bins of size defined in options + (optional) + pattern: "*.TsTv" + ontologies: [] + tstv_summary: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.TsTv.summary": + type: file + description: Summary of all Transitions and Transversions (optional) + pattern: "*.TsTv.summary" + ontologies: [] + tstv_count: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.TsTv.count": + type: file + description: Transition / Transversion ratio as a function of alternative + allele count (optional) + pattern: "*.TsTv.count" + ontologies: [] + tstv_qual: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.TsTv.qual": + type: file + description: Transition / Transversion ratio as a function of SNP quality + threshold (optional) + pattern: "*.TsTv.qual" + ontologies: [] + filter_summary: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.FILTER.summary": + type: file + description: Summary of the number of SNPs and Ts/Tv ratio for each FILTER + category (optional) + pattern: "*.FILTER.summary" + ontologies: [] + sites_pi: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.sites.pi": + type: file + description: Nucleotide divergency on a per-site basis (optional) + pattern: "*.sites.pi" + ontologies: [] + windowed_pi: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.windowed.pi": + type: file + description: Nucleotide diversity in windows, with window size determined + by options (optional) + pattern: "*windowed.pi" + ontologies: [] + weir_fst: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.weir.fst": + type: file + description: Fst estimate from Weir and Cockerham’s 1984 paper (optional) + pattern: "*.weir.fst" + ontologies: [] + heterozygosity: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.het": + type: file + description: Heterozygosity on a per-individual basis (optional) + pattern: "*.het" + ontologies: [] + hwe: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.hwe": + type: file + description: Contains the Observed numbers of Homozygotes and Heterozygotes + and the corresponding Expected numbers under HWE (optional) + pattern: "*.hwe" + ontologies: [] + tajima_d: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.Tajima.D": + type: file + description: Tajima’s D statistic in bins with size of the specified number + in options (optional) + pattern: "*.Tajima.D" + ontologies: [] + freq_burden: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.ifreqburden": + type: file + description: Number of variants within each individual of a specific frequency + in options (optional) + pattern: "*.ifreqburden" + ontologies: [] + lroh: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.LROH": + type: file + description: Long Runs of Homozygosity (optional) + pattern: "*.LROH" + ontologies: [] + relatedness: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.relatedness": + type: file + description: Relatedness statistic based on the method of Yang et al, Nature + Genetics 2010 (doi:10.1038/ng.608) (optional) + pattern: "*.relatedness" + ontologies: [] + relatedness2: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.relatedness2": + type: file + description: Relatedness statistic based on the method of Manichaikul et al., + BIOINFORMATICS 2010 (doi:10.1093/bioinformatics/btq559) (optional) + pattern: "*.relatedness2" + ontologies: [] + lqual: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.lqual": + type: file + description: per-site SNP quality (optional) + pattern: "*.lqual" + ontologies: [] + missing_individual: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.imiss": + type: file + description: Missingness on a per-individual basis (optional) + pattern: "*.imiss" + ontologies: [] + missing_site: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.lmiss": + type: file + description: Missingness on a per-site basis (optional) + pattern: "*.lmiss" + ontologies: [] + snp_density: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.snpden": + type: file + description: Number and density of SNPs in bins of size defined by option + (optional) + pattern: "*.snpden" + ontologies: [] + kept_sites: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.kept.sites": + type: file + description: All sites that have been kept after filtering (optional) + pattern: "*.kept.sites" + ontologies: [] + removed_sites: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.removed.sites": + type: file + description: All sites that have been removed after filtering (optional) + pattern: "*.removed.sites" + ontologies: [] + singeltons: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.singletons": + type: file + description: Location of singletons, and the individual they occur in (optional) + pattern: "*.singeltons" + ontologies: [] + indel_hist: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.indel.hist": + type: file + description: Histogram file of the length of all indels (including SNPs) (optional) + pattern: "*.indel_hist" + ontologies: [] + hapcount: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.hapcount": + type: file + description: Unique haplotypes within user specified bins (optional) + pattern: "*.hapcount" + ontologies: [] + mendel: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.mendel": + type: file + description: Mendel errors identified in trios (optional) + pattern: "*.mendel" + ontologies: [] + format: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.FORMAT": + type: file + description: Extracted information from the genotype fields in the VCF file + relating to a specified FORMAT identifier (optional) + pattern: "*.FORMAT" + ontologies: [] + info: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.INFO": + type: file + description: Extracted information from the INFO field in the VCF file (optional) + pattern: "*.INFO" + ontologies: [] + genotypes_matrix: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.012": + type: file + description: | + Genotypes output as large matrix. + Genotypes of each individual on a separate line. + Genotypes are represented as 0, 1 and 2, where the number represent that number of non-reference alleles. + Missing genotypes are represented by -1 (optional) + pattern: "*.012" + ontologies: [] + genotypes_matrix_individual: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.012.indv": + type: file + description: Details the individuals included in the main genotypes_matrix + file (optional) + pattern: "*.012.indv" + ontologies: [] + genotypes_matrix_position: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.012.pos": + type: file + description: Details the site locations included in the main genotypes_matrix + file (optional) + pattern: "*.012.pos" + ontologies: [] + impute_hap: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.impute.hap": + type: file + description: Phased haplotypes in IMPUTE reference-panel format (optional) + pattern: "*.impute.hap" + ontologies: [] + impute_hap_legend: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.impute.hap.legend": + type: file + description: Impute haplotype legend file (optional) + pattern: "*.impute.hap.legend" + ontologies: [] + impute_hap_indv: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.impute.hap.indv": + type: file + description: Impute haplotype individuals file (optional) + pattern: "*.impute.hap.indv" + ontologies: [] + ldhat_sites: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.ldhat.sites": + type: file + description: Output data in LDhat format, sites (optional) + pattern: "*.ldhat.sites" + ontologies: [] + ldhat_locs: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.ldhat.locs": + type: file + description: output data in LDhat format, locations (optional) + pattern: "*.ldhat.locs" + ontologies: [] + beagle_gl: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.BEAGLE.GL": + type: file + description: Genotype likelihoods for biallelic sites (optional) + pattern: "*.BEAGLE.GL" + ontologies: [] + beagle_pl: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.BEAGLE.PL": + type: file + description: Genotype likelihoods for biallelic sites (optional) + pattern: "*.BEAGLE.PL" + ontologies: [] + ped: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.ped": + type: file + description: output the genotype data in PLINK PED format (optional) + pattern: "*.ped" + ontologies: [] + map_: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.map": + type: file + description: output the genotype data in PLINK PED format (optional) + pattern: "*.map" + ontologies: [] + tped: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.tped": + type: file + description: output the genotype data in PLINK PED format (optional) + pattern: "*.tped" + ontologies: [] + tfam: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.tfam": + type: file + description: output the genotype data in PLINK PED format (optional) + pattern: "*.tfam" + ontologies: [] + diff_sites_in_files: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.diff.sites_in_files": + type: file + description: Sites that are common / unique to each file specified in optional + inputs (optional) + pattern: "*.diff.sites.in.files" + ontologies: [] + diff_indv_in_files: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.diff.indv_in_files": + type: file + description: Individuals that are common / unique to each file specified in + optional inputs (optional) + pattern: "*.diff.indv.in.files" + ontologies: [] + diff_sites: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.diff.sites": + type: file + description: Discordance on a site by site basis, specified in optional inputs + (optional) + pattern: "*.diff.sites" + ontologies: [] + diff_indv: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.diff.indv": + type: file + description: Discordance on a individual by individual basis, specified in + optional inputs (optional) + pattern: "*.diff.indv" + ontologies: [] + diff_discd_matrix: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.diff.discordance.matrix": + type: file + description: Discordance matrix between files specified in optional inputs + (optional) + pattern: "*.diff.discordance.matrix" + ontologies: [] + diff_switch_error: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.diff.switch": + type: file + description: Switch errors found between sites (optional) + pattern: "*.diff.switch" + ontologies: [] + versions: + - versions.yml: + type: file + description: File containing software versions + pattern: "versions.yml" + ontologies: + - edam: http://edamontology.org/format_3750 # YAML +authors: + - "@Mark-S-Hill" +maintainers: + - "@Mark-S-Hill" diff --git a/modules/nf-core/vcftools/tests/base.config b/modules/nf-core/vcftools/tests/base.config new file mode 100644 index 00000000..2b749b66 --- /dev/null +++ b/modules/nf-core/vcftools/tests/base.config @@ -0,0 +1,5 @@ +process { + withName: VCFTOOLS { + ext.args = '--freq' + } +} diff --git a/modules/nf-core/vcftools/tests/bed.config b/modules/nf-core/vcftools/tests/bed.config new file mode 100644 index 00000000..14c0aea8 --- /dev/null +++ b/modules/nf-core/vcftools/tests/bed.config @@ -0,0 +1,5 @@ +process { + withName: VCFTOOLS { + ext.args = '--freq --exclude-bed' + } +} diff --git a/modules/nf-core/vcftools/tests/main.nf.test b/modules/nf-core/vcftools/tests/main.nf.test new file mode 100644 index 00000000..d8f578da --- /dev/null +++ b/modules/nf-core/vcftools/tests/main.nf.test @@ -0,0 +1,151 @@ +nextflow_process { + + name "Test Process VCFTOOLS" + script "../main.nf" + process "VCFTOOLS" + + tag "modules" + tag "modules_nfcore" + tag "vcftools" + + test("sarscov2 - vcf") { + + config "./base.config" + + when { + process { + """ + input[0] = [ + [ id:'test' ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test.vcf', checkIfExists: true) + ] + // bed + input[1] = [] + // diff_variant_file + input[2] = [] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + + } + + test("sarscov2 - vcfgz") { + + config "./base.config" + + when { + process { + """ + input[0] = [ + [ id:'test' ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test.vcf.gz', checkIfExists: true) + ] + // bed + input[1] = [] + // diff_variant_file + input[2] = [] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + + } + + test("sarscov2 - vcf - bed") { + + config "./bed.config" + + when { + process { + """ + input[0] = [ + [ id:'test' ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test.vcf', checkIfExists: true) + ] + // bed + input[1] = file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/bed/test.bed', checkIfExists: true) + // diff_variant_file + input[2] = [] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + + } + + test("sarscov2 - vcfgz - bed") { + + config "./bed.config" + + when { + process { + """ + input[0] = [ + [ id:'test' ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test.vcf.gz', checkIfExists: true) + ] + // bed + input[1] = file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/bed/test.bed', checkIfExists: true) + // diff_variant_file + input[2] = [] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + + } + + test("sarscov2 - vcfgz - stub") { + + options "-stub" + + when { + process { + """ + input[0] = [ + [ id:'test' ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test.vcf.gz', checkIfExists: true) + ] + // bed + input[1] = [] + // diff_variant_file + input[2] = [] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + + } + +} diff --git a/modules/nf-core/vcftools/tests/main.nf.test.snap b/modules/nf-core/vcftools/tests/main.nf.test.snap new file mode 100644 index 00000000..e1786554 --- /dev/null +++ b/modules/nf-core/vcftools/tests/main.nf.test.snap @@ -0,0 +1,2623 @@ +{ + "sarscov2 - vcfgz - bed": { + "content": [ + { + "0": [ + + ], + "1": [ + + ], + "10": [ + + ], + "11": [ + + ], + "12": [ + + ], + "13": [ + + ], + "14": [ + + ], + "15": [ + + ], + "16": [ + + ], + "17": [ + + ], + "18": [ + + ], + "19": [ + + ], + "2": [ + [ + { + "id": "test" + }, + "test.frq:md5,7f126655f17268fd1a338734f62868e9" + ] + ], + "20": [ + + ], + "21": [ + + ], + "22": [ + + ], + "23": [ + + ], + "24": [ + + ], + "25": [ + + ], + "26": [ + + ], + "27": [ + + ], + "28": [ + + ], + "29": [ + + ], + "3": [ + + ], + "30": [ + + ], + "31": [ + + ], + "32": [ + + ], + "33": [ + + ], + "34": [ + + ], + "35": [ + + ], + "36": [ + + ], + "37": [ + + ], + "38": [ + + ], + "39": [ + + ], + "4": [ + + ], + "40": [ + + ], + "41": [ + + ], + "42": [ + + ], + "43": [ + + ], + "44": [ + + ], + "45": [ + + ], + "46": [ + + ], + "47": [ + + ], + "48": [ + + ], + "49": [ + + ], + "5": [ + + ], + "50": [ + + ], + "51": [ + + ], + "52": [ + + ], + "53": [ + + ], + "54": [ + + ], + "55": [ + + ], + "56": [ + + ], + "57": [ + + ], + "58": [ + + ], + "59": [ + + ], + "6": [ + + ], + "60": [ + + ], + "61": [ + + ], + "62": [ + "versions.yml:md5,577abe71f1ed8b94c633e71dc2cfc491" + ], + "7": [ + + ], + "8": [ + + ], + "9": [ + + ], + "bcf": [ + + ], + "beagle_gl": [ + + ], + "beagle_pl": [ + + ], + "diff_discd_matrix": [ + + ], + "diff_indv": [ + + ], + "diff_indv_in_files": [ + + ], + "diff_sites": [ + + ], + "diff_sites_in_files": [ + + ], + "diff_switch_error": [ + + ], + "filter_summary": [ + + ], + "format": [ + + ], + "freq_burden": [ + + ], + "frq": [ + [ + { + "id": "test" + }, + "test.frq:md5,7f126655f17268fd1a338734f62868e9" + ] + ], + "frq_count": [ + + ], + "gdepth": [ + + ], + "geno_chisq": [ + + ], + "geno_ld": [ + + ], + "genotypes_matrix": [ + + ], + "genotypes_matrix_individual": [ + + ], + "genotypes_matrix_position": [ + + ], + "hap_ld": [ + + ], + "hapcount": [ + + ], + "heterozygosity": [ + + ], + "hwe": [ + + ], + "idepth": [ + + ], + "impute_hap": [ + + ], + "impute_hap_indv": [ + + ], + "impute_hap_legend": [ + + ], + "indel_hist": [ + + ], + "info": [ + + ], + "interchrom_geno_ld": [ + + ], + "interchrom_hap_ld": [ + + ], + "kept_sites": [ + + ], + "ldepth": [ + + ], + "ldepth_mean": [ + + ], + "ldhat_locs": [ + + ], + "ldhat_sites": [ + + ], + "list_geno_ld": [ + + ], + "list_hap_ld": [ + + ], + "lqual": [ + + ], + "lroh": [ + + ], + "map_": [ + + ], + "mendel": [ + + ], + "missing_individual": [ + + ], + "missing_site": [ + + ], + "ped": [ + + ], + "relatedness": [ + + ], + "relatedness2": [ + + ], + "removed_sites": [ + + ], + "singeltons": [ + + ], + "sites_pi": [ + + ], + "snp_density": [ + + ], + "tajima_d": [ + + ], + "tfam": [ + + ], + "tped": [ + + ], + "tstv": [ + + ], + "tstv_count": [ + + ], + "tstv_qual": [ + + ], + "tstv_summary": [ + + ], + "vcf": [ + + ], + "versions": [ + "versions.yml:md5,577abe71f1ed8b94c633e71dc2cfc491" + ], + "weir_fst": [ + + ], + "windowed_pi": [ + + ] + } + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.0" + }, + "timestamp": "2024-03-22T13:07:26.598512" + }, + "sarscov2 - vcf": { + "content": [ + { + "0": [ + + ], + "1": [ + + ], + "10": [ + + ], + "11": [ + + ], + "12": [ + + ], + "13": [ + + ], + "14": [ + + ], + "15": [ + + ], + "16": [ + + ], + "17": [ + + ], + "18": [ + + ], + "19": [ + + ], + "2": [ + [ + { + "id": "test" + }, + "test.frq:md5,7f126655f17268fd1a338734f62868e9" + ] + ], + "20": [ + + ], + "21": [ + + ], + "22": [ + + ], + "23": [ + + ], + "24": [ + + ], + "25": [ + + ], + "26": [ + + ], + "27": [ + + ], + "28": [ + + ], + "29": [ + + ], + "3": [ + + ], + "30": [ + + ], + "31": [ + + ], + "32": [ + + ], + "33": [ + + ], + "34": [ + + ], + "35": [ + + ], + "36": [ + + ], + "37": [ + + ], + "38": [ + + ], + "39": [ + + ], + "4": [ + + ], + "40": [ + + ], + "41": [ + + ], + "42": [ + + ], + "43": [ + + ], + "44": [ + + ], + "45": [ + + ], + "46": [ + + ], + "47": [ + + ], + "48": [ + + ], + "49": [ + + ], + "5": [ + + ], + "50": [ + + ], + "51": [ + + ], + "52": [ + + ], + "53": [ + + ], + "54": [ + + ], + "55": [ + + ], + "56": [ + + ], + "57": [ + + ], + "58": [ + + ], + "59": [ + + ], + "6": [ + + ], + "60": [ + + ], + "61": [ + + ], + "62": [ + "versions.yml:md5,577abe71f1ed8b94c633e71dc2cfc491" + ], + "7": [ + + ], + "8": [ + + ], + "9": [ + + ], + "bcf": [ + + ], + "beagle_gl": [ + + ], + "beagle_pl": [ + + ], + "diff_discd_matrix": [ + + ], + "diff_indv": [ + + ], + "diff_indv_in_files": [ + + ], + "diff_sites": [ + + ], + "diff_sites_in_files": [ + + ], + "diff_switch_error": [ + + ], + "filter_summary": [ + + ], + "format": [ + + ], + "freq_burden": [ + + ], + "frq": [ + [ + { + "id": "test" + }, + "test.frq:md5,7f126655f17268fd1a338734f62868e9" + ] + ], + "frq_count": [ + + ], + "gdepth": [ + + ], + "geno_chisq": [ + + ], + "geno_ld": [ + + ], + "genotypes_matrix": [ + + ], + "genotypes_matrix_individual": [ + + ], + "genotypes_matrix_position": [ + + ], + "hap_ld": [ + + ], + "hapcount": [ + + ], + "heterozygosity": [ + + ], + "hwe": [ + + ], + "idepth": [ + + ], + "impute_hap": [ + + ], + "impute_hap_indv": [ + + ], + "impute_hap_legend": [ + + ], + "indel_hist": [ + + ], + "info": [ + + ], + "interchrom_geno_ld": [ + + ], + "interchrom_hap_ld": [ + + ], + "kept_sites": [ + + ], + "ldepth": [ + + ], + "ldepth_mean": [ + + ], + "ldhat_locs": [ + + ], + "ldhat_sites": [ + + ], + "list_geno_ld": [ + + ], + "list_hap_ld": [ + + ], + "lqual": [ + + ], + "lroh": [ + + ], + "map_": [ + + ], + "mendel": [ + + ], + "missing_individual": [ + + ], + "missing_site": [ + + ], + "ped": [ + + ], + "relatedness": [ + + ], + "relatedness2": [ + + ], + "removed_sites": [ + + ], + "singeltons": [ + + ], + "sites_pi": [ + + ], + "snp_density": [ + + ], + "tajima_d": [ + + ], + "tfam": [ + + ], + "tped": [ + + ], + "tstv": [ + + ], + "tstv_count": [ + + ], + "tstv_qual": [ + + ], + "tstv_summary": [ + + ], + "vcf": [ + + ], + "versions": [ + "versions.yml:md5,577abe71f1ed8b94c633e71dc2cfc491" + ], + "weir_fst": [ + + ], + "windowed_pi": [ + + ] + } + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.0" + }, + "timestamp": "2024-03-22T13:07:10.654082" + }, + "sarscov2 - vcfgz": { + "content": [ + { + "0": [ + + ], + "1": [ + + ], + "10": [ + + ], + "11": [ + + ], + "12": [ + + ], + "13": [ + + ], + "14": [ + + ], + "15": [ + + ], + "16": [ + + ], + "17": [ + + ], + "18": [ + + ], + "19": [ + + ], + "2": [ + [ + { + "id": "test" + }, + "test.frq:md5,7f126655f17268fd1a338734f62868e9" + ] + ], + "20": [ + + ], + "21": [ + + ], + "22": [ + + ], + "23": [ + + ], + "24": [ + + ], + "25": [ + + ], + "26": [ + + ], + "27": [ + + ], + "28": [ + + ], + "29": [ + + ], + "3": [ + + ], + "30": [ + + ], + "31": [ + + ], + "32": [ + + ], + "33": [ + + ], + "34": [ + + ], + "35": [ + + ], + "36": [ + + ], + "37": [ + + ], + "38": [ + + ], + "39": [ + + ], + "4": [ + + ], + "40": [ + + ], + "41": [ + + ], + "42": [ + + ], + "43": [ + + ], + "44": [ + + ], + "45": [ + + ], + "46": [ + + ], + "47": [ + + ], + "48": [ + + ], + "49": [ + + ], + "5": [ + + ], + "50": [ + + ], + "51": [ + + ], + "52": [ + + ], + "53": [ + + ], + "54": [ + + ], + "55": [ + + ], + "56": [ + + ], + "57": [ + + ], + "58": [ + + ], + "59": [ + + ], + "6": [ + + ], + "60": [ + + ], + "61": [ + + ], + "62": [ + "versions.yml:md5,577abe71f1ed8b94c633e71dc2cfc491" + ], + "7": [ + + ], + "8": [ + + ], + "9": [ + + ], + "bcf": [ + + ], + "beagle_gl": [ + + ], + "beagle_pl": [ + + ], + "diff_discd_matrix": [ + + ], + "diff_indv": [ + + ], + "diff_indv_in_files": [ + + ], + "diff_sites": [ + + ], + "diff_sites_in_files": [ + + ], + "diff_switch_error": [ + + ], + "filter_summary": [ + + ], + "format": [ + + ], + "freq_burden": [ + + ], + "frq": [ + [ + { + "id": "test" + }, + "test.frq:md5,7f126655f17268fd1a338734f62868e9" + ] + ], + "frq_count": [ + + ], + "gdepth": [ + + ], + "geno_chisq": [ + + ], + "geno_ld": [ + + ], + "genotypes_matrix": [ + + ], + "genotypes_matrix_individual": [ + + ], + "genotypes_matrix_position": [ + + ], + "hap_ld": [ + + ], + "hapcount": [ + + ], + "heterozygosity": [ + + ], + "hwe": [ + + ], + "idepth": [ + + ], + "impute_hap": [ + + ], + "impute_hap_indv": [ + + ], + "impute_hap_legend": [ + + ], + "indel_hist": [ + + ], + "info": [ + + ], + "interchrom_geno_ld": [ + + ], + "interchrom_hap_ld": [ + + ], + "kept_sites": [ + + ], + "ldepth": [ + + ], + "ldepth_mean": [ + + ], + "ldhat_locs": [ + + ], + "ldhat_sites": [ + + ], + "list_geno_ld": [ + + ], + "list_hap_ld": [ + + ], + "lqual": [ + + ], + "lroh": [ + + ], + "map_": [ + + ], + "mendel": [ + + ], + "missing_individual": [ + + ], + "missing_site": [ + + ], + "ped": [ + + ], + "relatedness": [ + + ], + "relatedness2": [ + + ], + "removed_sites": [ + + ], + "singeltons": [ + + ], + "sites_pi": [ + + ], + "snp_density": [ + + ], + "tajima_d": [ + + ], + "tfam": [ + + ], + "tped": [ + + ], + "tstv": [ + + ], + "tstv_count": [ + + ], + "tstv_qual": [ + + ], + "tstv_summary": [ + + ], + "vcf": [ + + ], + "versions": [ + "versions.yml:md5,577abe71f1ed8b94c633e71dc2cfc491" + ], + "weir_fst": [ + + ], + "windowed_pi": [ + + ] + } + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.0" + }, + "timestamp": "2024-03-22T13:07:15.930382" + }, + "sarscov2 - vcf - bed": { + "content": [ + { + "0": [ + + ], + "1": [ + + ], + "10": [ + + ], + "11": [ + + ], + "12": [ + + ], + "13": [ + + ], + "14": [ + + ], + "15": [ + + ], + "16": [ + + ], + "17": [ + + ], + "18": [ + + ], + "19": [ + + ], + "2": [ + [ + { + "id": "test" + }, + "test.frq:md5,7f126655f17268fd1a338734f62868e9" + ] + ], + "20": [ + + ], + "21": [ + + ], + "22": [ + + ], + "23": [ + + ], + "24": [ + + ], + "25": [ + + ], + "26": [ + + ], + "27": [ + + ], + "28": [ + + ], + "29": [ + + ], + "3": [ + + ], + "30": [ + + ], + "31": [ + + ], + "32": [ + + ], + "33": [ + + ], + "34": [ + + ], + "35": [ + + ], + "36": [ + + ], + "37": [ + + ], + "38": [ + + ], + "39": [ + + ], + "4": [ + + ], + "40": [ + + ], + "41": [ + + ], + "42": [ + + ], + "43": [ + + ], + "44": [ + + ], + "45": [ + + ], + "46": [ + + ], + "47": [ + + ], + "48": [ + + ], + "49": [ + + ], + "5": [ + + ], + "50": [ + + ], + "51": [ + + ], + "52": [ + + ], + "53": [ + + ], + "54": [ + + ], + "55": [ + + ], + "56": [ + + ], + "57": [ + + ], + "58": [ + + ], + "59": [ + + ], + "6": [ + + ], + "60": [ + + ], + "61": [ + + ], + "62": [ + "versions.yml:md5,577abe71f1ed8b94c633e71dc2cfc491" + ], + "7": [ + + ], + "8": [ + + ], + "9": [ + + ], + "bcf": [ + + ], + "beagle_gl": [ + + ], + "beagle_pl": [ + + ], + "diff_discd_matrix": [ + + ], + "diff_indv": [ + + ], + "diff_indv_in_files": [ + + ], + "diff_sites": [ + + ], + "diff_sites_in_files": [ + + ], + "diff_switch_error": [ + + ], + "filter_summary": [ + + ], + "format": [ + + ], + "freq_burden": [ + + ], + "frq": [ + [ + { + "id": "test" + }, + "test.frq:md5,7f126655f17268fd1a338734f62868e9" + ] + ], + "frq_count": [ + + ], + "gdepth": [ + + ], + "geno_chisq": [ + + ], + "geno_ld": [ + + ], + "genotypes_matrix": [ + + ], + "genotypes_matrix_individual": [ + + ], + "genotypes_matrix_position": [ + + ], + "hap_ld": [ + + ], + "hapcount": [ + + ], + "heterozygosity": [ + + ], + "hwe": [ + + ], + "idepth": [ + + ], + "impute_hap": [ + + ], + "impute_hap_indv": [ + + ], + "impute_hap_legend": [ + + ], + "indel_hist": [ + + ], + "info": [ + + ], + "interchrom_geno_ld": [ + + ], + "interchrom_hap_ld": [ + + ], + "kept_sites": [ + + ], + "ldepth": [ + + ], + "ldepth_mean": [ + + ], + "ldhat_locs": [ + + ], + "ldhat_sites": [ + + ], + "list_geno_ld": [ + + ], + "list_hap_ld": [ + + ], + "lqual": [ + + ], + "lroh": [ + + ], + "map_": [ + + ], + "mendel": [ + + ], + "missing_individual": [ + + ], + "missing_site": [ + + ], + "ped": [ + + ], + "relatedness": [ + + ], + "relatedness2": [ + + ], + "removed_sites": [ + + ], + "singeltons": [ + + ], + "sites_pi": [ + + ], + "snp_density": [ + + ], + "tajima_d": [ + + ], + "tfam": [ + + ], + "tped": [ + + ], + "tstv": [ + + ], + "tstv_count": [ + + ], + "tstv_qual": [ + + ], + "tstv_summary": [ + + ], + "vcf": [ + + ], + "versions": [ + "versions.yml:md5,577abe71f1ed8b94c633e71dc2cfc491" + ], + "weir_fst": [ + + ], + "windowed_pi": [ + + ] + } + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.0" + }, + "timestamp": "2024-03-22T13:07:21.295463" + }, + "sarscov2 - vcfgz - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.vcf:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + [ + { + "id": "test" + }, + "test.bcf:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "10": [ + [ + { + "id": "test" + }, + "test.geno.chisq:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "11": [ + [ + { + "id": "test" + }, + "test.list.hap.ld:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "12": [ + [ + { + "id": "test" + }, + "test.list.geno.ld:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "13": [ + [ + { + "id": "test" + }, + "test.interchrom.hap.ld:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "14": [ + [ + { + "id": "test" + }, + "test.interchrom.geno.ld:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "15": [ + [ + { + "id": "test" + }, + "test.TsTv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "16": [ + [ + { + "id": "test" + }, + "test.TsTv.summary:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "17": [ + [ + { + "id": "test" + }, + "test.TsTv.count:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "18": [ + [ + { + "id": "test" + }, + "test.TsTv.qual:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "19": [ + [ + { + "id": "test" + }, + "test.FILTER.summary:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "2": [ + [ + { + "id": "test" + }, + "test.frq:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "20": [ + [ + { + "id": "test" + }, + "test.sites.pi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "21": [ + [ + { + "id": "test" + }, + "test.windowed.pi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "22": [ + [ + { + "id": "test" + }, + "test.weir.fst:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "23": [ + [ + { + "id": "test" + }, + "test.het:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "24": [ + [ + { + "id": "test" + }, + "test.hwe:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "25": [ + [ + { + "id": "test" + }, + "test.Tajima.D:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "26": [ + [ + { + "id": "test" + }, + "test.ifreqburden:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "27": [ + [ + { + "id": "test" + }, + "test.LROH:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "28": [ + [ + { + "id": "test" + }, + "test.relatedness:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "29": [ + [ + { + "id": "test" + }, + "test.relatedness2:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "3": [ + [ + { + "id": "test" + }, + "test.frq.count:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "30": [ + [ + { + "id": "test" + }, + "test.lqual:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "31": [ + [ + { + "id": "test" + }, + "test.imiss:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "32": [ + [ + { + "id": "test" + }, + "test.lmiss:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "33": [ + [ + { + "id": "test" + }, + "test.snpden:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "34": [ + [ + { + "id": "test" + }, + "test.kept.sites:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "35": [ + [ + { + "id": "test" + }, + "test.removed.sites:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "36": [ + [ + { + "id": "test" + }, + "test.singletons:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "37": [ + [ + { + "id": "test" + }, + "test.indel.hist:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "38": [ + [ + { + "id": "test" + }, + "test.hapcount:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "39": [ + [ + { + "id": "test" + }, + "test.mendel:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "4": [ + [ + { + "id": "test" + }, + "test.idepth:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "40": [ + [ + { + "id": "test" + }, + "test.FORMAT:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "41": [ + [ + { + "id": "test" + }, + "test.INFO:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "42": [ + [ + { + "id": "test" + }, + "test.012:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "43": [ + [ + { + "id": "test" + }, + "test.012.indv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "44": [ + [ + { + "id": "test" + }, + "test.012.pos:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "45": [ + [ + { + "id": "test" + }, + "test.impute.hap:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "46": [ + [ + { + "id": "test" + }, + "test.impute.hap.legend:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "47": [ + [ + { + "id": "test" + }, + "test.impute.hap.indv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "48": [ + [ + { + "id": "test" + }, + "test.ldhat.sites:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "49": [ + [ + { + "id": "test" + }, + "test.ldhat.locs:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "5": [ + [ + { + "id": "test" + }, + "test.ldepth:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "50": [ + [ + { + "id": "test" + }, + "test.BEAGLE.GL:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "51": [ + [ + { + "id": "test" + }, + "test.BEAGLE.PL:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "52": [ + [ + { + "id": "test" + }, + "test.ped:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "53": [ + [ + { + "id": "test" + }, + "test.map:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "54": [ + [ + { + "id": "test" + }, + "test.tped:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "55": [ + [ + { + "id": "test" + }, + "test.tfam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "56": [ + [ + { + "id": "test" + }, + "test.diff.sites_in_files:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "57": [ + [ + { + "id": "test" + }, + "test.diff.indv_in_files:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "58": [ + [ + { + "id": "test" + }, + "test.diff.sites:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "59": [ + [ + { + "id": "test" + }, + "test.diff.indv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "6": [ + [ + { + "id": "test" + }, + "test.ldepth.mean:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "60": [ + [ + { + "id": "test" + }, + "test.diff.discordance.matrix:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "61": [ + [ + { + "id": "test" + }, + "test.diff.switch:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "62": [ + "versions.yml:md5,577abe71f1ed8b94c633e71dc2cfc491" + ], + "7": [ + [ + { + "id": "test" + }, + "test.gdepth:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "8": [ + [ + { + "id": "test" + }, + [ + "test.hap.ld:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.interchrom.hap.ld:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.list.hap.ld:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "9": [ + [ + { + "id": "test" + }, + [ + "test.geno.ld:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.interchrom.geno.ld:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.list.geno.ld:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "bcf": [ + [ + { + "id": "test" + }, + "test.bcf:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "beagle_gl": [ + [ + { + "id": "test" + }, + "test.BEAGLE.GL:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "beagle_pl": [ + [ + { + "id": "test" + }, + "test.BEAGLE.PL:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "diff_discd_matrix": [ + [ + { + "id": "test" + }, + "test.diff.discordance.matrix:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "diff_indv": [ + [ + { + "id": "test" + }, + "test.diff.indv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "diff_indv_in_files": [ + [ + { + "id": "test" + }, + "test.diff.indv_in_files:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "diff_sites": [ + [ + { + "id": "test" + }, + "test.diff.sites:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "diff_sites_in_files": [ + [ + { + "id": "test" + }, + "test.diff.sites_in_files:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "diff_switch_error": [ + [ + { + "id": "test" + }, + "test.diff.switch:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "filter_summary": [ + [ + { + "id": "test" + }, + "test.FILTER.summary:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "format": [ + [ + { + "id": "test" + }, + "test.FORMAT:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "freq_burden": [ + [ + { + "id": "test" + }, + "test.ifreqburden:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "frq": [ + [ + { + "id": "test" + }, + "test.frq:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "frq_count": [ + [ + { + "id": "test" + }, + "test.frq.count:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "gdepth": [ + [ + { + "id": "test" + }, + "test.gdepth:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "geno_chisq": [ + [ + { + "id": "test" + }, + "test.geno.chisq:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "geno_ld": [ + [ + { + "id": "test" + }, + [ + "test.geno.ld:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.interchrom.geno.ld:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.list.geno.ld:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "genotypes_matrix": [ + [ + { + "id": "test" + }, + "test.012:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "genotypes_matrix_individual": [ + [ + { + "id": "test" + }, + "test.012.indv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "genotypes_matrix_position": [ + [ + { + "id": "test" + }, + "test.012.pos:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "hap_ld": [ + [ + { + "id": "test" + }, + [ + "test.hap.ld:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.interchrom.hap.ld:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.list.hap.ld:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "hapcount": [ + [ + { + "id": "test" + }, + "test.hapcount:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "heterozygosity": [ + [ + { + "id": "test" + }, + "test.het:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "hwe": [ + [ + { + "id": "test" + }, + "test.hwe:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "idepth": [ + [ + { + "id": "test" + }, + "test.idepth:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "impute_hap": [ + [ + { + "id": "test" + }, + "test.impute.hap:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "impute_hap_indv": [ + [ + { + "id": "test" + }, + "test.impute.hap.indv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "impute_hap_legend": [ + [ + { + "id": "test" + }, + "test.impute.hap.legend:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "indel_hist": [ + [ + { + "id": "test" + }, + "test.indel.hist:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "info": [ + [ + { + "id": "test" + }, + "test.INFO:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "interchrom_geno_ld": [ + [ + { + "id": "test" + }, + "test.interchrom.geno.ld:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "interchrom_hap_ld": [ + [ + { + "id": "test" + }, + "test.interchrom.hap.ld:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "kept_sites": [ + [ + { + "id": "test" + }, + "test.kept.sites:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "ldepth": [ + [ + { + "id": "test" + }, + "test.ldepth:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "ldepth_mean": [ + [ + { + "id": "test" + }, + "test.ldepth.mean:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "ldhat_locs": [ + [ + { + "id": "test" + }, + "test.ldhat.locs:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "ldhat_sites": [ + [ + { + "id": "test" + }, + "test.ldhat.sites:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "list_geno_ld": [ + [ + { + "id": "test" + }, + "test.list.geno.ld:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "list_hap_ld": [ + [ + { + "id": "test" + }, + "test.list.hap.ld:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "lqual": [ + [ + { + "id": "test" + }, + "test.lqual:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "lroh": [ + [ + { + "id": "test" + }, + "test.LROH:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "map_": [ + [ + { + "id": "test" + }, + "test.map:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "mendel": [ + [ + { + "id": "test" + }, + "test.mendel:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "missing_individual": [ + [ + { + "id": "test" + }, + "test.imiss:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "missing_site": [ + [ + { + "id": "test" + }, + "test.lmiss:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "ped": [ + [ + { + "id": "test" + }, + "test.ped:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "relatedness": [ + [ + { + "id": "test" + }, + "test.relatedness:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "relatedness2": [ + [ + { + "id": "test" + }, + "test.relatedness2:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "removed_sites": [ + [ + { + "id": "test" + }, + "test.removed.sites:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "singeltons": [ + [ + { + "id": "test" + }, + "test.singletons:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "sites_pi": [ + [ + { + "id": "test" + }, + "test.sites.pi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "snp_density": [ + [ + { + "id": "test" + }, + "test.snpden:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "tajima_d": [ + [ + { + "id": "test" + }, + "test.Tajima.D:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "tfam": [ + [ + { + "id": "test" + }, + "test.tfam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "tped": [ + [ + { + "id": "test" + }, + "test.tped:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "tstv": [ + [ + { + "id": "test" + }, + "test.TsTv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "tstv_count": [ + [ + { + "id": "test" + }, + "test.TsTv.count:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "tstv_qual": [ + [ + { + "id": "test" + }, + "test.TsTv.qual:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "tstv_summary": [ + [ + { + "id": "test" + }, + "test.TsTv.summary:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "vcf": [ + [ + { + "id": "test" + }, + "test.vcf:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions": [ + "versions.yml:md5,577abe71f1ed8b94c633e71dc2cfc491" + ], + "weir_fst": [ + [ + { + "id": "test" + }, + "test.weir.fst:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "windowed_pi": [ + [ + { + "id": "test" + }, + "test.windowed.pi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + } + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.2" + }, + "timestamp": "2024-06-24T13:34:42.814188" + } +} \ No newline at end of file diff --git a/modules/nf-core/vt/decompose/environment.yml b/modules/nf-core/vt/decompose/environment.yml new file mode 100644 index 00000000..c5d350af --- /dev/null +++ b/modules/nf-core/vt/decompose/environment.yml @@ -0,0 +1,7 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + - bioconda::vt=2015.11.10 diff --git a/modules/nf-core/vt/decompose/main.nf b/modules/nf-core/vt/decompose/main.nf new file mode 100644 index 00000000..8b89dc5d --- /dev/null +++ b/modules/nf-core/vt/decompose/main.nf @@ -0,0 +1,52 @@ +process VT_DECOMPOSE { + tag "$meta.id" + label 'process_low' + + // WARN: Version information not provided by tool on CLI. Please update this string when bumping container versions. + conda "${moduleDir}/environment.yml" + container "${ workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/vt:2015.11.10--h5ef6573_4': + 'quay.io/biocontainers/vt:2015.11.10--h5ef6573_4' }" + + input: + tuple val(meta), path(vcf), path(intervals) + + output: + tuple val(meta), path("*.vcf.gz") , emit: vcf + tuple val("${task.process}"), val('vt'), val('2015.11.10'), topic: versions, emit: versions_vt // WARN: Version information not provided by tool on CLI. Please update this string when bumping container versions. + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def args2 = task.ext.args2 ?: '' + def prefix = task.ext.prefix ?: "${meta.id}_decompose" + + if ("$vcf" == "${prefix}.vcf" || "$vcf" == "${prefix}.vcf.gz") { + error "Input and output names are the same, set prefix in module configuration to disambiguate!" + } + + def bed = intervals ? "-i ${intervals}" : "" + + """ + vt decompose \\ + -o ${prefix}.vcf \\ + ${bed} \\ + ${args} \\ + ${vcf} + + bgzip ${args2} --threads ${task.cpus} ${prefix}.vcf + """ + + stub: + def prefix = task.ext.prefix ?: "${meta.id}_decompose" + + if ("$vcf" == "${prefix}.vcf" || "$vcf" == "${prefix}.vcf.gz") { + error "Input and output names are the same, set prefix in module configuration to disambiguate!" + } + + """ + echo "" | gzip > ${prefix}.vcf.gz + """ +} diff --git a/modules/nf-core/vt/decompose/meta.yml b/modules/nf-core/vt/decompose/meta.yml new file mode 100644 index 00000000..20aaaebd --- /dev/null +++ b/modules/nf-core/vt/decompose/meta.yml @@ -0,0 +1,71 @@ +name: "vt_decompose" +description: decomposes multiallelic variants into biallelic in a VCF file. +keywords: + - decompose + - multiallelic + - small variants + - snps + - indels +tools: + - "vt": + description: "A tool set for short variant discovery in genetic sequence data" + homepage: "https://genome.sph.umich.edu/wiki/Vt" + documentation: "https://genome.sph.umich.edu/wiki/Vt" + tool_dev_url: "https://github.com/atks/vt" + licence: + - "MIT" + identifier: "" +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. `[ id:'test', single_end:false ]` + - vcf: + type: file + description: The VCF file to decompose + pattern: "*.vcf(.gz)?" + ontologies: [] + - intervals: + type: file + description: The intervals of the variants of decompose + pattern: "*.bed" + ontologies: [] +output: + vcf: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. `[ id:'test', single_end:false ]` + - "*.vcf.gz": + type: file + description: The decomposed VCF file + pattern: "*.vcf.gz" + ontologies: + - edam: http://edamontology.org/format_3989 + versions_vt: + - - ${task.process}: + type: string + description: The name of the process + - vt: + type: string + description: The name of the tool + - 2015.11.10: + type: string + description: The expression to obtain the version of the tool +topics: + versions: + - - ${task.process}: + type: string + description: The name of the process + - vt: + type: string + description: The name of the tool + - 2015.11.10: + type: string + description: The expression to obtain the version of the tool +authors: + - "@nvnieuwk" +maintainers: + - "@nvnieuwk" diff --git a/modules/nf-core/vt/decompose/tests/main.nf.test b/modules/nf-core/vt/decompose/tests/main.nf.test new file mode 100644 index 00000000..a0c34ca1 --- /dev/null +++ b/modules/nf-core/vt/decompose/tests/main.nf.test @@ -0,0 +1,84 @@ + +nextflow_process { + + name "Test Process VT_DECOMPOSE" + script "../main.nf" + process "VT_DECOMPOSE" + + tag "modules" + tag "modules_nfcore" + tag "vt" + tag "vt/decompose" + + test("test-vt-decompose") { + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test.vcf.gz', checkIfExists: true), + [] + ] + + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(sanitizeOutput(process.out)).match() } + ) + } + } + + test("test-vt-decompose-intervals") { + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test.vcf', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/bed/test.bed', checkIfExists: true) + ] + + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(sanitizeOutput(process.out)).match() } + ) + } + } + + test("test-vt-decompose-stub") { + + options "-stub" + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test.vcf.gz', checkIfExists: true), + [] + ] + + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(sanitizeOutput(process.out)).match() } + ) + } + } + +} diff --git a/modules/nf-core/vt/decompose/tests/main.nf.test.snap b/modules/nf-core/vt/decompose/tests/main.nf.test.snap new file mode 100644 index 00000000..1e94e2af --- /dev/null +++ b/modules/nf-core/vt/decompose/tests/main.nf.test.snap @@ -0,0 +1,83 @@ +{ + "test-vt-decompose-intervals": { + "content": [ + { + "vcf": [ + [ + { + "id": "test", + "single_end": false + }, + "test_decompose.vcf.gz:md5,892b6b5c55c69afd3a96cd9bfd8ab743" + ] + ], + "versions_vt": [ + [ + "VT_DECOMPOSE", + "vt", + "2015.11.10" + ] + ] + } + ], + "timestamp": "2026-06-15T10:41:44.944503026", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } + }, + "test-vt-decompose-stub": { + "content": [ + { + "vcf": [ + [ + { + "id": "test", + "single_end": false + }, + "test_decompose.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "versions_vt": [ + [ + "VT_DECOMPOSE", + "vt", + "2015.11.10" + ] + ] + } + ], + "timestamp": "2026-06-15T10:41:52.06330495", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } + }, + "test-vt-decompose": { + "content": [ + { + "vcf": [ + [ + { + "id": "test", + "single_end": false + }, + "test_decompose.vcf.gz:md5,892b6b5c55c69afd3a96cd9bfd8ab743" + ] + ], + "versions_vt": [ + [ + "VT_DECOMPOSE", + "vt", + "2015.11.10" + ] + ] + } + ], + "timestamp": "2026-06-15T10:41:37.306445074", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } + } +} \ No newline at end of file diff --git a/modules/nf-core/vt/normalize/environment.yml b/modules/nf-core/vt/normalize/environment.yml new file mode 100644 index 00000000..c5d350af --- /dev/null +++ b/modules/nf-core/vt/normalize/environment.yml @@ -0,0 +1,7 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + - bioconda::vt=2015.11.10 diff --git a/modules/nf-core/vt/normalize/main.nf b/modules/nf-core/vt/normalize/main.nf new file mode 100644 index 00000000..4238d8ac --- /dev/null +++ b/modules/nf-core/vt/normalize/main.nf @@ -0,0 +1,55 @@ +process VT_NORMALIZE { + tag "$meta.id" + label 'process_low' + + // WARN: Version information not provided by tool on CLI. Please update this string when bumping container versions. + conda "${moduleDir}/environment.yml" + container "${ workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/vt:0.57721--h17a1952_6': + 'biocontainers/vt:0.57721--h17a1952_6' }" + + input: + tuple val(meta) , path(vcf), path(tbi), path(intervals) + tuple val(meta2), path(fasta) + tuple val(meta3), path(fai) + + output: + tuple val(meta), path("*.vcf.gz") , emit: vcf + tuple val(meta), path("${fasta}.fai") , emit: fai, optional: true + tuple val("${task.process}"), val('vt'), val('2015.11.10'), topic: versions, emit: versions_vt // WARN: Version information not provided by tool on CLI. Please update this string when bumping container versions. + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def args2 = task.ext.args2 ?: '' + def prefix = task.ext.prefix ?: "${meta.id}_normalize" + def regions = intervals ? "-i ${intervals}" : "" + + if ("$vcf" == "${prefix}.vcf" || "$vcf" == "${prefix}.vcf.gz") { + error "Input and output names are the same, set prefix in module configuration to disambiguate!" + } + + """ + vt normalize \\ + -o ${prefix}.vcf \\ + -r ${fasta} \\ + ${regions} \\ + ${args} \\ + ${vcf} + + gzip ${args2} ${prefix}.vcf + """ + + stub: + def prefix = task.ext.prefix ?: "${meta.id}_normalize" + + if ("$vcf" == "${prefix}.vcf" || "$vcf" == "${prefix}.vcf.gz") { + error "Input and output names are the same, set prefix in module configuration to disambiguate!" + } + + """ + echo "" | gzip > ${prefix}.vcf.gz + """ +} diff --git a/modules/nf-core/vt/normalize/meta.yml b/modules/nf-core/vt/normalize/meta.yml new file mode 100644 index 00000000..7e93c4d5 --- /dev/null +++ b/modules/nf-core/vt/normalize/meta.yml @@ -0,0 +1,107 @@ +name: "vt_normalize" +description: normalizes variants in a VCF file +keywords: + - normalization + - vcf + - snps + - indels +tools: + - "vt": + description: "A tool set for short variant discovery in genetic sequence data" + homepage: "https://genome.sph.umich.edu/wiki/Vt" + documentation: "https://genome.sph.umich.edu/wiki/Vt" + tool_dev_url: "https://github.com/atks/vt" + licence: + - "MIT" + identifier: "" +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. `[ id:'test', single_end:false ]` + - vcf: + type: file + description: The VCF file to normalize + pattern: "*.vcf(.gz)?" + ontologies: [] + - tbi: + type: file + description: The tabix index of the VCF file when bgzipped + pattern: "*.tbi" + ontologies: [] + - intervals: + type: file + description: The intervals of the variants of normalize + pattern: "*.bed" + ontologies: [] + - - meta2: + type: map + description: | + Groovy Map containing reference information + e.g. `[ id:'test', single_end:false ]` + - fasta: + type: file + description: The reference fasta file + pattern: "*.{fasta,fn,fna,fa}" + ontologies: [] + - - meta3: + type: map + description: | + Groovy Map containing reference index information + e.g. `[ id:'test', single_end:false ]` + - fai: + type: file + description: The index of the reference fasta file (OPTIONAL) + pattern: "*.fai" + ontologies: [] +output: + vcf: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. `[ id:'test', single_end:false ]` + - "*.vcf.gz": + type: file + description: The normalized VCF file + pattern: "*.vcf.gz" + ontologies: + - edam: http://edamontology.org/format_3989 + fai: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. `[ id:'test', single_end:false ]` + - ${fasta}.fai: + type: file + description: The created index of the reference fasta file (only when + the fai wasn't supplied) + pattern: "*.fai" + ontologies: [] + versions_vt: + - - ${task.process}: + type: string + description: The name of the process + - vt: + type: string + description: The name of the tool + - 2015.11.10: + type: string + description: The expression to obtain the version of the tool +topics: + versions: + - - ${task.process}: + type: string + description: The name of the process + - vt: + type: string + description: The name of the tool + - 2015.11.10: + type: string + description: The expression to obtain the version of the tool +authors: + - "@nvnieuwk" +maintainers: + - "@nvnieuwk" diff --git a/modules/nf-core/vt/normalize/tests/main.nf.test b/modules/nf-core/vt/normalize/tests/main.nf.test new file mode 100644 index 00000000..069157b4 --- /dev/null +++ b/modules/nf-core/vt/normalize/tests/main.nf.test @@ -0,0 +1,147 @@ + +nextflow_process { + + name "Test Process VT_NORMALIZE" + script "../main.nf" + process "VT_NORMALIZE" + + tag "modules" + tag "modules_nfcore" + tag "vt" + tag "vt/normalize" + + test("test-vt-normalize") { + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gatk/haplotypecaller_calls/test_haplotcaller.cnn.vcf.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gatk/haplotypecaller_calls/test_haplotcaller.cnn.vcf.gz.tbi', checkIfExists: true), + [] + ] + input[1] = [ + [id:'fasta'], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true) + ] + input[2] = [ + [id:'fai'], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.fai', checkIfExists: true) + ] + + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot( + path(process.out.vcf[0][1]).vcf.variantsMD5, + sanitizeOutput(process.out, unstableKeys: ["vcf"]) + ).match() + } + ) + } + } + + test("test-vt-normalize-intervals") { + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gatk/haplotypecaller_calls/test_haplotcaller.cnn.vcf.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gatk/haplotypecaller_calls/test_haplotcaller.cnn.vcf.gz.tbi', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.bed', checkIfExists: true) + ] + input[1] = [ + [id:'fasta'], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true) + ] + input[2] = [ + [id:'fai'], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.fai', checkIfExists: true) + ] + + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot( + path(process.out.vcf[0][1]).vcf.summary, + sanitizeOutput(process.out, unstableKeys: ["vcf"]) + ).match() + } + ) + } + } + + test("test-vt-normalize-no-fai") { + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gatk/haplotypecaller_calls/test_haplotcaller.cnn.vcf.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gatk/haplotypecaller_calls/test_haplotcaller.cnn.vcf.gz.tbi', checkIfExists: true), + [] + ] + input[1] = [ + [id:'fasta'], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true) + ] + input[2] = [[],[]] + + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot( + path(process.out.vcf[0][1]).vcf.variantsMD5, + sanitizeOutput(process.out, unstableKeys: ["vcf"]) + ).match() + } + ) + } + } + + test("test-vt-normalize-no-fai-stub") { + options '-stub' + when { + process { + """ + input[0] = [ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gatk/haplotypecaller_calls/test_haplotcaller.cnn.vcf.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gatk/haplotypecaller_calls/test_haplotcaller.cnn.vcf.gz.tbi', checkIfExists: true), + [] + ] + input[1] = [ + [id:'fasta'], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true) + ] + input[2] = [[],[]] + + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(sanitizeOutput(process.out)).match() } + ) + } + } + +} diff --git a/modules/nf-core/vt/normalize/tests/main.nf.test.snap b/modules/nf-core/vt/normalize/tests/main.nf.test.snap new file mode 100644 index 00000000..bac702f4 --- /dev/null +++ b/modules/nf-core/vt/normalize/tests/main.nf.test.snap @@ -0,0 +1,143 @@ +{ + "test-vt-normalize-no-fai": { + "content": [ + "cdd99bce7ca89d001a65d448be3b4bae", + { + "fai": [ + [ + { + "id": "test", + "single_end": false + }, + "genome.fasta.fai:md5,3520cd30e1b100e55f578db9c855f685" + ] + ], + "vcf": [ + [ + { + "id": "test", + "single_end": false + }, + "test_normalize.vcf.gz" + ] + ], + "versions_vt": [ + [ + "VT_NORMALIZE", + "vt", + "2015.11.10" + ] + ] + } + ], + "timestamp": "2026-06-15T10:42:36.172305727", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } + }, + "test-vt-normalize": { + "content": [ + "cdd99bce7ca89d001a65d448be3b4bae", + { + "fai": [ + [ + { + "id": "test", + "single_end": false + }, + "genome.fasta.fai:md5,3520cd30e1b100e55f578db9c855f685" + ] + ], + "vcf": [ + [ + { + "id": "test", + "single_end": false + }, + "test_normalize.vcf.gz" + ] + ], + "versions_vt": [ + [ + "VT_NORMALIZE", + "vt", + "2015.11.10" + ] + ] + } + ], + "timestamp": "2026-06-15T10:42:21.584715756", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } + }, + "test-vt-normalize-intervals": { + "content": [ + "VcfFile [chromosomes=[], sampleCount=1, variantCount=0, phased=true, phasedAutodetect=true]", + { + "fai": [ + [ + { + "id": "test", + "single_end": false + }, + "genome.fasta.fai:md5,3520cd30e1b100e55f578db9c855f685" + ] + ], + "vcf": [ + [ + { + "id": "test", + "single_end": false + }, + "test_normalize.vcf.gz" + ] + ], + "versions_vt": [ + [ + "VT_NORMALIZE", + "vt", + "2015.11.10" + ] + ] + } + ], + "timestamp": "2026-06-15T10:42:28.838369054", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } + }, + "test-vt-normalize-no-fai-stub": { + "content": [ + { + "fai": [ + + ], + "vcf": [ + [ + { + "id": "test", + "single_end": false + }, + "test_normalize.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "versions_vt": [ + [ + "VT_NORMALIZE", + "vt", + "2015.11.10" + ] + ] + } + ], + "timestamp": "2026-06-15T10:42:43.705791307", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } + } +} \ No newline at end of file diff --git a/modules/nf-core/vt/normalize/vt-normalize.diff b/modules/nf-core/vt/normalize/vt-normalize.diff new file mode 100644 index 00000000..4d0aef61 --- /dev/null +++ b/modules/nf-core/vt/normalize/vt-normalize.diff @@ -0,0 +1,30 @@ +Changes in component 'nf-core/vt/normalize' +'modules/nf-core/vt/normalize/environment.yml' is unchanged +'modules/nf-core/vt/normalize/meta.yml' is unchanged +Changes in 'vt/normalize/main.nf': +--- modules/nf-core/vt/normalize/main.nf ++++ modules/nf-core/vt/normalize/main.nf +@@ -5,8 +5,8 @@ + // WARN: Version information not provided by tool on CLI. Please update this string when bumping container versions. + conda "${moduleDir}/environment.yml" + container "${ workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container ? +- 'https://depot.galaxyproject.org/singularity/vt:2015.11.10--h5ef6573_4': +- 'quay.io/biocontainers/vt:2015.11.10--h5ef6573_4' }" ++ 'https://depot.galaxyproject.org/singularity/vt:0.57721--h17a1952_6': ++ 'biocontainers/vt:0.57721--h17a1952_6' }" + + input: + tuple val(meta) , path(vcf), path(tbi), path(intervals) +@@ -39,7 +39,7 @@ + ${args} \\ + ${vcf} + +- bgzip ${args2} --threads ${task.cpus} ${prefix}.vcf ++ gzip ${args2} ${prefix}.vcf + """ + + stub: + +'modules/nf-core/vt/normalize/tests/main.nf.test.snap' is unchanged +'modules/nf-core/vt/normalize/tests/main.nf.test' is unchanged +************************************************************ diff --git a/nextflow.config b/nextflow.config index 3e9413dc..10a76abd 100644 --- a/nextflow.config +++ b/nextflow.config @@ -9,20 +9,128 @@ // Global default params, used in configs params { - // TODO nf-core: Specify your pipeline's command line flags - // Input options - input = null + // Input options - mandatory + input = null // sample sheet + input_restart = null + step = 'mapping' // Starts with mapping + skip_tools = null // All tools (markduplicates + baserecalibrator + QC) are used by default + save_bam_mapped = false // Mapped BAMs not saved + save_output_as_bam = false //Output files from preprocessing are saved as bam and not as cram files + rna = true + dna = true - // References - genome = null - igenomes_base = 's3://ngi-igenomes/igenomes/' - igenomes_ignore = false + // Genome and reference options + genome = 'GRCh38' + igenomes_base = 's3://ngi-igenomes/igenomes/' + igenomes_ignore = false + save_reference = false + build_only_index = false // Only build the reference indexes + download_cache = false // Do not download annotation cache + fasta_fai = null + dict = null + + // Sequence read information + read_length = 76 // Required for STAR to build index and align reads TODO: automate + wes = false // Set to true, if data is exome/targeted sequencing data. Used to use correct models in various variant callers + + // Alignment + bwa = null + bwamem2 = null + star_index = null + aligner = 'bwa-mem' + star_twopass = true + star_ignore_sjdbgtf = false // Ignore GTF file while creating index or alignment by STAR + star_max_memory_bamsort = 0 // STAR parameter limitBAMsortRAM to specify maximum RAM for sorting BAM + star_max_collapsed_junc = 1000000 // STAR parameter limitOutSJcollapsed to specify max number of collapsed junctions + seq_center = null + seq_platform = 'ILLUMINA' // Required for preparing for BAM headers for GATK to work + bam_csi_index = false + save_unaligned = false + save_align_intermeds = false + hisat2_build_memory = "200.GB" + splicesites = null + save_mapped = false // Mapped BAMs not saved + hisat2_index = null + dragmap = null + gff = null + + // Modify fastqs (trim/split) with FASTP + trim_fastq = false // No trimming + clip_r1 = 0 + clip_r2 = 0 + three_prime_clip_r1 = 0 + three_prime_clip_r2 = 0 + trim_nextseq = 0 + split_fastq = 50000000 // FASTQ files will not be split by default by FASTP + save_trimmed = false + save_split_fastqs = false + + // Variant calling + default_variant_callers = "sage,strelka,mutect2" // Default variant callers + no_intervals = false + intervals = null + nucleotides_per_second = 200000 // Default interval size + germline_resource = null + germline_resource_tbi = null + dbsnp = null + dbsnp_tbi = null + known_indels = null + known_indels_tbi = null + known_snps = null + known_snps_tbi = null + pon = null + pon_tbi = null + mutect2_alleles = null + mutect2_alleles_tbi = null + sage_actionable_panel = null + sage_high_confidence = null + sage_known_hotspots = null + sage_custom_args = "-validation_stringency LENIENT" + sage_ensembl_dir = null + joint_mutect2 = false // if true, enables patient-wise multi-sample somatic variant calling + + // GATK intervallist parameters + ignore_soft_clipped_bases = true + + // Variant annotation + tools = null // No default Variant_Calling or Annotation tools + dbnsfp = null // No dbnsfp processed file + dbnsfp_consequence = null // No default consequence for dbnsfp plugin + dbnsfp_fields = "rs_dbSNP,HGVSc_VEP,HGVSp_VEP,1000Gp3_EAS_AF,1000Gp3_AMR_AF,LRT_score,GERP++_RS,gnomAD_exomes_AF" // Default fields for dbnsfp plugin + dbnsfp_tbi = null // No dbnsfp processed file index + spliceai_indel = null // No spliceai_indel file + spliceai_indel_tbi = null // No spliceai_indel file index + spliceai_snv = null // No spliceai_snv file + spliceai_snv_tbi = null // No spliceai_snv file index + vep_custom_args = "--no_progress --offline --shift_hgvs 1 --check_existing --tsl --domains --total_length --allele_number --no_escape --xref_refseq --failed 1 --flag_pick_allele --pick_order canonical,tsl,biotype,rank,ccds,length --format vcf --biotype --force_overwrite --sift p --polyphen p --variant_class --regulatory --allele_number --af_gnomad --af_gnomadg --gene_phenotype --hgvs --hgvsg --max_af" + vep_cache = null // No directory for VEP cache + vep_include_fasta = true // Don't use fasta file for annotation with VEP + vep_dbnsfp = null + vep_loftee = null + vep_spliceai = null + vep_spliceregion = null + vep_out_format = 'vcf' + vep_cache_version = 110 + vep_species = 'homo_sapiens' + vep_genome = null + outdir_cache = null // No default outdir cache + + //filtering + whitelist = null + blacklist = null + rnaedits = null + chain = null + reference_pon = null + secondary_pon = null + secondary_reference_fasta = null + secondary_reference_name = null + reference_name = null // MultiQC options - multiqc_config = null - multiqc_title = null - multiqc_logo = null - max_multiqc_email_size = '25.MB' + multiqc_config = null + multiqc_title = null + multiqc_logo = null + max_multiqc_email_size = '25.MB' multiqc_methods_description = null // Boilerplate options @@ -32,15 +140,13 @@ params { email_on_fail = null plaintext_email = false monochrome_logs = false - hook_url = System.getenv('HOOK_URL') help = false help_full = false show_hidden = false version = false - pipelines_testdata_base_path = 'https://raw.githubusercontent.com/nf-core/test-datasets/' - trace_report_suffix = new java.util.Date().format( 'yyyy-MM-dd_HH-mm-ss') - - // Config options + modules_testdata_base_path = 'https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/' + pipelines_testdata_base_path = 'https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/' + trace_report_suffix = new java.util.Date().format( 'yyyy-MM-dd_HH-mm-ss')// Config options config_profile_name = null config_profile_description = null @@ -53,6 +159,10 @@ params { validate_params = true } +// Backwards compatibility for publishDir syntax +outputDir = params.outdir +workflow.output.mode = params.publish_dir_mode + // Load base.config by default for all pipelines includeConfig 'conf/base.config' @@ -161,25 +271,35 @@ profiles { wave.freeze = true wave.strategy = 'conda,container' } + gitpod { + executor.name = 'local' + executor.cpus = 4 + executor.memory = 8.GB + process { + resourceLimits = [ + memory: 8.GB, + cpus : 4, + time : 1.h + ] + } + } gpu { docker.runOptions = '-u $(id -u):$(id -g) --gpus all' apptainer.runOptions = '--nv' singularity.runOptions = '--nv' } - test { includeConfig 'conf/test.config' } - test_full { includeConfig 'conf/test_full.config' } + // Basic test profile for CI + test { includeConfig 'conf/test.config' } + test_full { includeConfig 'conf/test_full.config' } } // Load nf-core custom profiles from different institutions -// If params.custom_config_base is set AND either the NXF_OFFLINE environment variable is not set or params.custom_config_base is a local path, the nfcore_custom.config file from the specified base path is included. // Load nf-core/rnadnavar custom profiles from different institutions. +// Use a real empty config file in the false branch for compatibility across +// Nextflow releases; top-level `if` statements are not valid in config scope. includeConfig params.custom_config_base && (!System.getenv('NXF_OFFLINE') || !params.custom_config_base.startsWith('http')) ? "${params.custom_config_base}/nfcore_custom.config" : "/dev/null" - - -// Load nf-core/rnadnavar custom profiles from different institutions. -// TODO nf-core: Optionally, you can add a pipeline-specific nf-core config at https://github.com/nf-core/configs -// includeConfig params.custom_config_base && (!System.getenv('NXF_OFFLINE') || !params.custom_config_base.startsWith('http')) ? "${params.custom_config_base}/pipeline/rnadnavar.config" : "/dev/null" +includeConfig params.custom_config_base && (!System.getenv('NXF_OFFLINE') || !params.custom_config_base.startsWith('http')) ? "${params.custom_config_base}/pipeline/rnavar.config" : "/dev/null" // Set default registry for Apptainer, Docker, Podman, Charliecloud and Singularity independent of -profile // Will not be used unless Apptainer / Docker / Podman / Charliecloud / Singularity are enabled @@ -191,7 +311,7 @@ singularity.registry = 'quay.io' charliecloud.registry = 'quay.io' // Load igenomes.config if required -includeConfig !params.igenomes_ignore ? 'conf/igenomes.config' : 'conf/igenomes_ignored.config' +includeConfig((!params.igenomes_ignore) ? 'conf/igenomes.config' : 'conf/igenomes_ignored.config') // Export these variables to prevent local Python/R libraries from conflicting with those in the container // The JULIA depot path has been adjusted to a fixed path `/usr/local/share/julia` that needs to be used for packages in the container. @@ -234,37 +354,80 @@ dag { file = "${params.outdir}/pipeline_info/pipeline_dag_${params.trace_report_suffix}.html" } + +// Nextflow plugins +plugins { + id 'nf-schema@2.5.1' // Validation of pipeline parameters and creation of an input channel from a sample sheet +} + +// validation { +// defaultIgnoreParams = ["genomes"] +// monochromeLogs = params.monochrome_logs +// help { +// enabled = true +// } +// } + manifest { name = 'nf-core/rnadnavar' contributors = [ - // TODO nf-core: Update the field with the details of the contributors to your pipeline. New with Nextflow version 24.10.0 [ - name: 'Raquel Manzano-Garcia', - affiliation: '', - email: '', - github: '', - contribution: [], // List of contribution types ('author', 'maintainer' or 'contributor') - orcid: '' - ], - ] + name: 'Raquel Manzano Garcia', + affiliation: 'Cancer Research UK Cambridge Institute', + github: '@RaqManzano', + contribution: ['author', 'maintainer'], + orcid: '0000-0002-5124-8992' + ],[ + name: 'Maxime U Garcia', + affiliation: 'National Genomics Infrastructure', + github: '@maxulysse', + contribution: ['contributor'], + orcid: '0000-0003-2827-9261' + ] + ] homePage = 'https://github.com/nf-core/rnadnavar' description = """Pipeline for RNA and DNA integrated analysis for somatic mutation detection""" mainScript = 'main.nf' defaultBranch = 'master' - nextflowVersion = '!>=25.04.0' - version = '1.0dev' + nextflowVersion = '!>=25.10.4' + version = '1.0.0' doi = '' } -// Nextflow plugins -plugins { - id 'nf-schema@2.5.1' // Validation of pipeline parameters and creation of an input channel from a sample sheet -} - -validation { - defaultIgnoreParams = ["genomes"] - monochromeLogs = params.monochrome_logs -} // Load modules.config for DSL2 module specific options -includeConfig 'conf/modules.config' +includeConfig 'conf/modules/modules.config' +// prepare reference +includeConfig 'conf/modules/prepare_resources/prepare_cache.config' +includeConfig 'conf/modules/prepare_resources/prepare_genome.config' +includeConfig 'conf/modules/prepare_resources/prepare_intervals.config' +// quality control +includeConfig 'conf/modules/quality_control/quality_control.config' +includeConfig 'conf/modules/quality_control/trimming.config' +// alignment +includeConfig 'conf/modules/alignment/bam_align.config' +includeConfig 'conf/modules/alignment/alignment_to_fastq.config' +// preprocessing +includeConfig 'conf/modules/gatk4_preprocessing/markduplicates.config' +includeConfig 'conf/modules/gatk4_preprocessing/splitncigarreads.config' +includeConfig 'conf/modules/gatk4_preprocessing/prepare_recalibration.config' +includeConfig 'conf/modules/gatk4_preprocessing/recalibrate.config' +// variant calling +includeConfig 'conf/modules/variant_calling/strelka.config' +includeConfig 'conf/modules/variant_calling/mutect2.config' +includeConfig 'conf/modules/variant_calling/sage.config' +// OPT: bam to cram +includeConfig ((params.skip_tools && params.skip_tools.split(',').contains('variant_calling')) ? 'conf/modules/variant_calling/variant_calling.config' : 'conf/empty.config') +// OPT: mutect2_joint +includeConfig (params.joint_mutect2 ? 'conf/modules/variant_calling/mutect2_joint.config' : 'conf/empty.config') +// normalization +includeConfig 'conf/modules/normalize/vt.config' +// annotate +includeConfig 'conf/modules/annotate/annotate.config' +// consensus +includeConfig 'conf/modules/consensus/vcf_consensus.config' +// filtering +includeConfig 'conf/modules/filtering/maf_filtering.config' +// prepare second run +includeConfig 'conf/modules/prepare_realignment/filtersamreads.config' +includeConfig 'conf/modules/prepare_realignment/extract_reads_id.config' diff --git a/nextflow_schema.json b/nextflow_schema.json index 9c589407..ee4bbf36 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -13,15 +13,71 @@ "required": ["input", "outdir"], "properties": { "input": { + "description": "Path to comma-separated file containing information about the samples in the experiment.", + "help_text": "A design file with information about the samples in your experiment. Use this parameter to specify the location of the input files. It has to be a comma-separated file with a header row. See [usage docs](https://nf-co.re/rnadnavar/usage#input).\n\nIf no input file is specified, rnadnavar will attempt to locate one in the `{outdir}` directory. If no input should be supplied, i.e. when --step is supplied or --build_from_index, then set --input false", + "fa_icon": "fas fa-file-csv", + "schema": "assets/schema_input.json", "type": "string", + "anyOf": [ + { + "type": "string", + "format": "file-path", + "exists": true, + "mimetype": "text/csv", + "pattern": "^\\S+\\.csv$" + }, + { + "type": "boolean", + "enum": ["false"] + } + ] + }, + "input_restart": { + "type": "string", + "description": "Automatic retrieval for restart", + "fa_icon": "fas fa-file-csv", "format": "file-path", "exists": true, - "schema": "assets/schema_input.json", "mimetype": "text/csv", "pattern": "^\\S+\\.csv$", - "description": "Path to comma-separated file containing information about the samples in the experiment.", - "help_text": "You will need to create a design file with information about the samples in your experiment before running the pipeline. Use this parameter to specify its location. It has to be a comma-separated file with 3 columns, and a header row. See [usage docs](https://nf-co.re/rnadnavar/usage#samplesheet-input).", - "fa_icon": "fas fa-file-csv" + "hidden": true, + "schema": "assets/schema_input.json" + }, + "split_fastq": { + "type": "integer", + "oneOf": [ + { + "minimum": 250 + }, + { + "const": 0 + } + ], + "default": 50000000, + "fa_icon": "fas fa-clock", + "description": "Specify how many reads each split of a FastQ file contains. Set 0 to turn off splitting at all.", + "help_text": "Use the the tool FastP to split FASTQ file by number of reads. This parallelizes across fastq file shards speeding up mapping. Note although the minimum value is 250 reads, if you have fewer than 250 reads a single FASTQ shard will still be created." + }, + "step": { + "type": "string", + "default": "mapping", + "fa_icon": "fas fa-play", + "description": "Starting step", + "help_text": "The pipeline starts from this step and then runs through the possible subsequent steps.", + "enum": [ + "mapping", + "markduplicates", + "splitncigar", + "prepare_recalibration", + "recalibrate", + "variant_calling", + "norm", + "consensus", + "annotate", + "filtering", + "rna_filtering", + "realignment" + ] }, "outdir": { "type": "string", @@ -29,17 +85,36 @@ "description": "The output directory where the results will be saved. You have to use absolute paths to storage on Cloud infrastructure.", "fa_icon": "fas fa-folder-open" }, - "email": { - "type": "string", - "description": "Email address for completion summary.", - "fa_icon": "fas fa-envelope", - "help_text": "Set this parameter to your e-mail address to get a summary e-mail with details of the run sent to you when the workflow exits. If set in your user config file (`~/.nextflow/config`) then you don't need to specify this on the command line for every run.", - "pattern": "^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$" + "save_mapped": { + "type": "boolean", + "fa_icon": "fas fa-download", + "description": "Save mapped files.", + "help_text": "If the parameter `--split-fastq` is used, the sharded bam files are merged and converted to CRAM before saving them." }, - "multiqc_title": { - "type": "string", - "description": "MultiQC report title. Printed as page header, used for filename if not otherwise specified.", - "fa_icon": "fas fa-file-signature" + "save_bam_mapped": { + "type": "boolean", + "fa_icon": "fas fa-download", + "description": "Save mapped BAMs.", + "help_text": "If the parameter `--split-fastq` is used, the sharded bam files are merged before saving them." + }, + "save_output_as_bam": { + "type": "boolean", + "description": "Saves output from Markduplicates & Baserecalibration as BAM file instead of CRAM", + "fa_icon": "fas fa-download" + }, + "rna": { + "type": "boolean", + "fa_icon": "fas fa-download", + "description": "True if there are RNA samples to be analysed", + "help_text": "Avoids STAR indexing otherwise", + "default": true + }, + "dna": { + "type": "boolean", + "fa_icon": "fas fa-download", + "description": "True if there are DNA samples to be analysed", + "help_text": "Avoids BWA indexing otherwise", + "default": true } } }, @@ -52,8 +127,102 @@ "genome": { "type": "string", "description": "Name of iGenomes reference.", + "default": "GRCh38", "fa_icon": "fas fa-book", - "help_text": "If using a reference genome configured in the pipeline using iGenomes, use this parameter to give the ID for the reference. This is then used to build the full paths for all required reference genome files e.g. `--genome GRCh38`. \n\nSee the [nf-core website docs](https://nf-co.re/usage/reference_genomes) for more details." + "help_text": "If using a reference genome configured in the pipeline using iGenomes, use this parameter to give the ID for the reference. This is then used to build the full paths for all required reference genome files e.g. `--genome GRCh38`.\n\nSee the [nf-core website docs](https://nf-co.re/usage/reference_genomes) for more details." + }, + "bwa": { + "type": "string", + "fa_icon": "fas fa-copy", + "description": "Path to BWA mem indices.", + "help_text": "If you use AWS iGenomes, this has already been set for you appropriately.\n\nIf you wish to recompute indices available on igenomes, set `--bwa false`.\n\n> **NB** If none provided, will be generated automatically from the FASTA reference. Combine with `--save_reference` to save for future runs.", + "hidden": true + }, + "bwamem2": { + "type": "string", + "fa_icon": "fas fa-copy", + "description": "Path to bwa-mem2 mem indices.", + "help_text": "If you use AWS iGenomes, this has already been set for you appropriately.\n\nIf you wish to recompute indices available on igenomes, set `--bwamem2 false`.\n\n> **NB** If none provided, will be generated automatically from the FASTA reference, if `--aligner bwa-mem2` is specified. Combine with `--save_reference` to save for future runs.", + "hidden": true + }, + "dragmap": { + "type": "string", + "fa_icon": "fas fa-copy", + "description": "Path to dragmap indices.", + "help_text": "If you use AWS iGenomes, this has already been set for you appropriately.\n\nIf you wish to recompute indices available on igenomes, set `--dragmap false`.\n\n> **NB** If none provided, will be generated automatically from the FASTA reference, if `--aligner dragmap` is specified. Combine with `--save_reference` to save for future runs.", + "hidden": true + }, + "hisat2_index": { + "type": "string", + "description": "Path to STAR index folder or compressed file (tar.gz)", + "help_text": "This parameter can be used if there is an pre-defined STAR index available. You can either give the full path to the index directory or a compressed file in tar.gz format." + }, + "splicesites": { + "type": "string", + "format": "file-path", + "mimetype": "text/plain", + "fa_icon": "fas fa-hand-scissors", + "description": "Splice sites file required for HISAT2." + }, + "star_index": { + "type": "string", + "description": "Path to STAR index folder or compressed file (tar.gz)", + "help_text": "This parameter can be used if there is an pre-defined STAR index available. You can either give the full path to the index directory or a compressed file in tar.gz format." + }, + "star_twopass": { + "type": "boolean", + "description": "Enable STAR 2-pass mapping mode.", + "help_text": "This parameter enables STAR to perform 2-pass mapping. Default true." + }, + "star_ignore_sjdbgtf": { + "type": "boolean", + "description": "Do not use GTF file during STAR index buidling step", + "help_text": "Do not use parameter --sjdbGTFfile during the STAR genomeGenerate process." + }, + "star_max_memory_bamsort": { + "type": "integer", + "default": 0, + "description": "Option to limit RAM when sorting BAM file. Value to be specified in bytes. If 0, will be set to the genome index size.", + "help_text": "This parameter specifies the maximum available RAM (bytes) for sorting BAM during STAR alignment." + }, + "star_max_collapsed_junc": { + "type": "integer", + "default": 1000000, + "description": "Specifies the maximum number of collapsed junctions" + }, + "read_length": { + "type": "number", + "default": 76.0, + "description": "Read length", + "help_text": "Specify the read length for the STAR aligner." + }, + "nucleotides_per_second": { + "type": "number", + "fa_icon": "fas fa-clock", + "description": "Estimate interval size.", + "help_text": "Intervals are parts of the chopped up genome used to speed up preprocessing and variant calling. See `--intervals` for more info. \n\nChanging this parameter, changes the number of intervals that are grouped and processed together. Bed files from target sequencing can contain thousands or small intervals. Spinning up a new process for each can be quite resource intensive. Instead it can be desired to process small intervals together on larger nodes. \nIn order to make use of this parameter, no runtime estimate can be present in the bed file (column 5). ", + "default": 200000.0 + }, + "dbsnp": { + "type": "string", + "fa_icon": "fas fa-file", + "description": "Path to dbsnp file.", + "hidden": true, + "help_text": "If you use AWS iGenomes, this has already been set for you appropriately." + }, + "dbsnp_tbi": { + "type": "string", + "fa_icon": "fas fa-file", + "description": "Path to dbsnp index.", + "help_text": "If you use AWS iGenomes, this has already been set for you appropriately.\n\n> **NB** If none provided, will be generated automatically from the dbsnp file. Combine with `--save_reference` to save for future runs.", + "hidden": true + }, + "dict": { + "type": "string", + "fa_icon": "fas fa-file", + "description": "Path to FASTA dictionary file.", + "help_text": "If you use AWS iGenomes, this has already been set for you appropriately.\n\n> **NB** If none provided, will be generated automatically from the FASTA reference. Combine with `--save_reference` to save for future runs.", + "hidden": true }, "fasta": { "type": "string", @@ -62,19 +231,478 @@ "mimetype": "text/plain", "pattern": "^\\S+\\.fn?a(sta)?(\\.gz)?$", "description": "Path to FASTA genome file.", - "help_text": "This parameter is *mandatory* if `--genome` is not specified. If you don't have a BWA index available this will be generated for you automatically. Combine with `--save_reference` to save BWA index for future runs.", + "help_text": "If you use AWS iGenomes, this has already been set for you appropriately.\n\nThis parameter is *mandatory* if `--genome` is not specified.", "fa_icon": "far fa-file-code" }, + "fasta_fai": { + "type": "string", + "fa_icon": "fas fa-file", + "help_text": "If you use AWS iGenomes, this has already been set for you appropriately.\n\n> **NB** If none provided, will be generated automatically from the FASTA reference. Combine with `--save_reference` to save for future runs.", + "description": "Path to FASTA reference index." + }, + "germline_resource": { + "type": "string", + "fa_icon": "fas fa-file", + "description": "Path to GATK Mutect2 Germline Resource File.", + "help_text": "If you use AWS iGenomes, this has already been set for you appropriately.\n\nThe germline resource VCF file (bgzipped and tabixed) needed by GATK4 Mutect2 is a collection of calls that are likely present in the sample, with allele frequencies.\nThe AF info field must be present.\nYou can find a smaller, stripped gnomAD VCF file (most of the annotation is removed and only calls signed by PASS are stored) in the AWS iGenomes Annotation/GermlineResource folder.", + "hidden": true + }, + "germline_resource_tbi": { + "type": "string", + "fa_icon": "fas fa-file", + "description": "Path to GATK Mutect2 Germline Resource Index.", + "help_text": "If you use AWS iGenomes, this has already been set for you appropriately.\n\n> **NB** If none provided, will be generated automatically from the Germline Resource file, if provided. Combine with `--save_reference` to save for future runs.", + "hidden": true + }, + "known_indels": { + "type": "string", + "fa_icon": "fas fa-copy", + "description": "Path to known indels file.", + "hidden": true, + "help_text": "If you use AWS iGenomes, this has already been set for you appropriately." + }, + "known_indels_tbi": { + "type": "string", + "fa_icon": "fas fa-copy", + "description": "Path to known indels file index.", + "help_text": "If you use AWS iGenomes, this has already been set for you appropriately.\n\n> **NB** If none provided, will be generated automatically from the known index file, if provided. Combine with `--save_reference` to save for future runs.", + "hidden": true + }, + "known_snps": { + "type": "string", + "fa_icon": "fas fa-copy", + "description": "If you use AWS iGenomes, this has already been set for you appropriately.\n\nPath to known snps file." + }, + "known_snps_tbi": { + "type": "string", + "fa_icon": "fas fa-copy", + "description": "Path to known snps file snps.", + "help_text": "If you use AWS iGenomes, this has already been set for you appropriately.\n\n> **NB** If none provided, will be generated automatically from the known index file, if provided. Combine with `--save_reference` to save for future runs." + }, + "vep_genome": { + "type": "string", + "fa_icon": "fas fa-microscope", + "description": "VEP genome.", + "help_text": "If you use AWS iGenomes, this has already been set for you appropriately.\nThis is used to specify the genome when using the container with pre-downloaded cache.", + "hidden": true + }, + "vep_species": { + "type": "string", + "fa_icon": "fas fa-microscope", + "description": "VEP species.", + "help_text": "If you use AWS iGenomes, this has already been set for you appropriately.\nAlternatively species listed in Ensembl Genomes caches can be used.", + "hidden": true + }, + "vep_cache_version": { + "type": "number", + "fa_icon": "fas fa-tag", + "description": "VEP cache version.", + "help_text": "If you use AWS iGenomes, this has already been set for you appropriately.\nAlternatively cache version can be use to specify the correct Ensembl Genomes version number as these differ from the concurrent Ensembl/VEP version numbers", + "hidden": true + }, + "save_reference": { + "type": "boolean", + "fa_icon": "fas fa-download", + "description": "Save built references.", + "help_text": "Set this parameter, if you wish to save all computed reference files. This is useful to avoid re-computation on future runs." + }, + "build_only_index": { + "type": "boolean", + "fa_icon": "fas fa-download", + "description": "Only built references.", + "help_text": "Set this parameter, if you wish to compute and save all computed reference files. No alignment or any other downstream steps will be performed." + }, + "download_cache": { + "type": "boolean", + "fa_icon": "fas fa-download", + "description": "Download annotation cache.", + "help_text": "Set this parameter, if you wish to download annotation cache." + }, "igenomes_ignore": { "type": "boolean", "description": "Do not load the iGenomes reference config.", "fa_icon": "fas fa-ban", "hidden": true, + "default": false, "help_text": "Do not load `igenomes.config` when running the pipeline. You may choose this option if you observe clashes between custom parameters and those supplied in `igenomes.config`." }, - "igenomes_base": { + "hisat2_build_memory": { + "type": "string", + "default": "200.GB", + "fa_icon": "fas fa-memory", + "pattern": "^\\d+(\\.\\d+)?\\.?\\s*(K|M|G|T)?B$", + "description": "Minimum memory required to use splice sites and exons in the HiSAT2 index build process.", + "help_text": "HiSAT2 requires a huge amount of RAM to build a genome index for larger genomes, if including splice sites and exons e.g. the human genome might typically require 200GB. If you specify less than this threshold for the `HISAT2_BUILD` process then the splice sites and exons will be ignored, meaning that the process will require a lot less memory. If you are working with a small genome, set this parameter to a lower value to reduce the threshold for skipping this check. If using a larger genome, consider supplying more memory to the `HISAT2_BUILD` process." + }, + "gtf": { + "type": "string", + "description": "Path to GTF annotation file.", + "help_text": "This parameter is *mandatory* if `--genome` is not specified." + }, + "gff": { + "type": "string", + "description": "Path to GFF3 annotation file.", + "help_text": "This parameter must be specified if `--genome` or `--gtf` are not specified." + } + }, + "help_text": "The pipeline config files come bundled with paths to the Illumina iGenomes reference index files.\nThe configuration is set up to use the AWS-iGenomes resource\ncf https://ewels.github.io/AWS-iGenomes/." + }, + "fastq_preprocessing": { + "title": "FASTQ Preprocessing", + "type": "object", + "description": "Trim fastq file or handle UMIs", + "default": "", + "fa_icon": "fas fa-cut", + "properties": { + "trim_fastq": { + "type": "boolean", + "fa_icon": "fas fa-cut", + "description": "Run FastP for read trimming", + "help_text": "Use this to perform adapter trimming. Adapter are detected automatically by using the FastP flag `--detect_adapter_for_pe`. For more info see [FastP](https://github.com/OpenGene/fastp)." + }, + "clip_r1": { + "type": "integer", + "default": 0, + "fa_icon": "fas fa-cut", + "description": "Remove bp from the 5' end of read 1", + "help_text": "This may be useful if the qualities were very poor, or if there is some sort of unwanted bias at the 5' end. Corresponds to the FastP flag `--trim_front1`.", + "hidden": true + }, + "clip_r2": { + "type": "integer", + "default": 0, + "description": "Remove bp from the 5' end of read 2", + "help_text": "This may be useful if the qualities were very poor, or if there is some sort of unwanted bias at the 5' end. Corresponds to the FastP flag `--trim_front2`.", + "fa_icon": "fas fa-cut", + "hidden": true + }, + "three_prime_clip_r1": { + "type": "integer", + "default": 0, + "fa_icon": "fas fa-cut", + "description": "Remove bp from the 3' end of read 1", + "help_text": "This may remove some unwanted bias from the 3'. Corresponds to the FastP flag `--three_prime_clip_r1`.", + "hidden": true + }, + "three_prime_clip_r2": { + "type": "integer", + "default": 0, + "fa_icon": "fas fa-cut", + "description": "Remove bp from the 3' end of read 2", + "help_text": "This may remove some unwanted bias from the 3' end. Corresponds to the FastP flag `--three_prime_clip_r2`.", + "hidden": true + }, + "trim_nextseq": { + "type": "integer", + "default": 0, + "fa_icon": "fas fa-cut", + "description": "Removing poly-G tails.", + "help_text": "DetectS polyG in read tails and trim them. Corresponds to the FastP flag `--trim_poly_g`.", + "hidden": true + }, + "save_trimmed": { + "type": "boolean", + "fa_icon": "fas fa-save", + "description": "Save trimmed FastQ file intermediates.", + "hidden": true + }, + "save_split_fastqs": { + "type": "boolean", + "fa_icon": "fas fa-vial", + "description": "If set, publishes split FASTQ files. Intended for testing purposes.", + "hidden": true + } + } + }, + "pipeline_stage_options": { + "title": "Pipeline stage options", + "type": "object", + "fa_icon": "fas fa-terminal", + "description": "Define parameters that control the stages in the pipeline", + "properties": { + "tools": { + "type": "string", + "fa_icon": "fas fa-toolbox", + "description": "Tools to use for variant calling and/or for annotation.", + "help_text": "Multiple tools separated with commas.\n\n**Variant Calling:**\n\nSomatic variant calling can currently only be performed with the following variant callers:\n- SNPs/Indels: Mutect2, Strelka2, SAGE\n\n> **NB** Mutect2 for somatic variant calling cannot be combined with `--no_intervals`\n\n**Annotation:**\n \n- VEP (only).\n\n> **NB** As RNADNAVAR will use bgzip and tabix to compress and index VCF files annotated, it expects VCF files to be sorted when starting from `--step annotate`.", + "pattern": "^((manta|sage|mutect2|strelka|vep|consensus|filtering|norm|rna_filtering|vcf2maf|preprocessing|realignment|rescue)*,?)*$" + }, + "skip_tools": { + "type": "string", + "fa_icon": "fas fa-forward", + "description": "Disable specified tools.", + "help_text": "Multiple tools can be specified, separated by commas.\n\n> **NB** `--skip_tools baserecalibrator_report` is actually just not saving the reports.\n> **NB** `--skip_tools markduplicates_report` does not skip `MarkDuplicates` but prevent the collection of duplicate metrics that slows down performance.", + "pattern": "^((contamination|learnreadorientation|baserecalibrator|baserecalibrator_report|bcftools|documentation|fastqc|markduplicates|markduplicates_report|mosdepth|multiqc|samtools|vcftools|versions|splitncigar|realignment|filtering|variant_calling|rescue)*(,)*)*$" + }, + "wes": { + "type": "boolean", + "fa_icon": "fas fa-dna", + "description": "Enable when exome or panel data is provided.", + "help_text": "With this parameter flags in various tools are set for targeted sequencing data. It is recommended to enable for whole-exome and panel data analysis." + } + } + }, + "alignment_options": { + "title": "Alignment options", + "type": "object", + "fa_icon": "fas fa-terminal", + "description": "Define parameters related to read alignment", + "properties": { + "aligner": { + "type": "string", + "default": "bwa-mem", + "fa_icon": "fas fa-puzzle-piece", + "enum": ["bwa-mem", "bwa-mem2", "dragmap"], + "description": "Specify aligner to be used to map reads to reference genome.", + "help_text": "rnadnavar will build missing indices automatically if not provided. Set `--bwa false` if indices should be (re-)built.\nIf DragMap is selected as aligner, it is recommended to skip baserecalibration with `--skip_tools baserecalibrator`. For more info see [here](https://gatk.broadinstitute.org/hc/en-us/articles/4407897446939--How-to-Run-germline-single-sample-short-variant-discovery-in-DRAGEN-mode)." + }, + "save_unaligned": { + "type": "boolean", + "description": "Where possible, save unaligned reads from aligner to the results directory.", + "help_text": "This may either be in the form of FastQ or BAM files depending on the options available for that particular tool." + }, + "save_align_intermeds": { + "type": "boolean", + "description": "Save the intermediate BAM files from the alignment step.", + "help_text": "By default, intermediate BAM files will not be saved. The final BAM files created after the appropriate filtering step are always saved to limit storage usage. Set this parameter to also save other intermediate BAM files." + }, + "bam_csi_index": { + "type": "boolean", + "description": "Create a CSI index for BAM files instead of the traditional BAI index. This will be required for genomes with larger chromosome sizes." + } + } + }, + + "variant_calling": { + "title": "Variant calling", + "type": "object", + "description": "", + "default": "", + "fa_icon": "fas fa-toolbox", + "properties": { + "default_variant_callers": { + "type": "string", + "default": "sage,strelka,mutect2", + "fa_icon": "fas fa-play", + "description": "Variant callers used to generate calls", + "help_text": "Name of variant calling tools separated by commans used to generate VCF/MAF input files." + }, + "no_intervals": { + "type": "boolean", + "fa_icon": "fas fa-ban", + "description": "Disable usage of intervals.", + "help_text": "Intervals are parts of the chopped up genome used to speed up preprocessing and variant calling. See `--intervals` for more info. \n\nIf `--no_intervals` is set no intervals will be taken into account for speed up or data processing." + }, + "intervals": { + "type": "string", + "fa_icon": "fas fa-file-alt", + "help_text": "To speed up preprocessing and variant calling processes, the execution is parallelized across a reference chopped into smaller pieces.\n\nParts of preprocessing and variant calling are done by these intervals, the different resulting files are then merged.\nThis can parallelize processes, and push down wall clock time significantly.\n\nWe are aligning to the whole genome, and then run Base Quality Score Recalibration and Variant Calling on the supplied regions.\n\n**Whole Genome Sequencing:**\n\nThe (provided) intervals are chromosomes cut at their centromeres (so each chromosome arm processed separately) also additional unassigned contigs.\n\nWe are ignoring the `hs37d5` contig that contains concatenated decoy sequences.\n\nThe calling intervals can be defined using a .list or a BED file.\nA .list file contains one interval per line in the format `chromosome:start-end` (1-based coordinates).\nA BED file must be a tab-separated text file with one interval per line.\nThere must be at least three columns: chromosome, start, and end (0-based coordinates).\nAdditionally, the score column of the BED file can be used to provide an estimate of how many seconds it will take to call variants on that interval.\nThe fourth column remains unused.\n\n```\n|chr1|10000|207666|NA|47.3|\n```\nThis indicates that variant calling on the interval chr1:10001-207666 takes approximately 47.3 seconds.\n\nThe runtime estimate is used in two different ways.\nFirst, when there are multiple consecutive intervals in the file that take little time to compute, they are processed as a single job, thus reducing the number of processes that needs to be spawned.\nSecond, the jobs with largest processing time are started first, which reduces wall-clock time.\nIf no runtime is given, a time of 1000 nucleotides per second is assumed. See `-nucleotides_per_second` on how to customize this.\nActual figures vary from 2 nucleotides/second to 30000 nucleotides/second.\nIf you prefer, you can specify the full path to your reference genome when you run the pipeline:\n\n> **NB** If none provided, will be generated automatically from the FASTA reference\n> **NB** Use --no_intervals to disable automatic generation.\n\n**Targeted Sequencing:**\n\nThe recommended flow for targeted sequencing data is to use the workflow as it is, but also provide a `BED` file containing targets for all steps using the `--intervals` option. In addition, the parameter `--wes` should be set.\nIt is advised to pad the variant calling regions (exons or target) to some extent before submitting to the workflow.\n\nThe procedure is similar to whole genome sequencing, except that only BED file are accepted. See above for formatting description.\nAdding every exon as an interval in case of `WES` can generate >200K processes or jobs, much more forks, and similar number of directories in the Nextflow work directory. These are appropriately grouped together to reduce number of processes run in parallel (see above and `--nucleotides_per_second` for details). \nFurthermore, primers and/or baits are not 100% specific, (certainly not for MHC and KIR, etc.), quite likely there going to be reads mapping to multiple locations.\nIf you are certain that the target is unique for your genome (all the reads will certainly map to only one location), and aligning to the whole genome is an overkill, it is actually better to change the reference itself.", + "description": "Path to target bed file in case of whole exome or targeted sequencing or intervals file." + }, + "pon": { + "type": "string", + "fa_icon": "fas fa-file", + "description": "Panel-of-normals VCF (bgzipped) for GATK Mutect2", + "help_text": "Without PON, there will be no calls with PASS in the INFO field, only an unfiltered VCF is written.\nIt is highly recommended to make your own PON, as it depends on sequencer and library preparation.\n\nThe pipeline is shipped with a panel-of-normals for `--genome GATK.GRCh38` provided by [GATK](https://gatk.broadinstitute.org/hc/en-us/articles/360035890631-Panel-of-Normals-PON-). \n\nSee [PON documentation](https://gatk.broadinstitute.org/hc/en-us/articles/360042479112-CreateSomaticPanelOfNormals-BETA)\n> **NB** PON file should be bgzipped.", + "hidden": true + }, + "pon_tbi": { + "type": "string", + "fa_icon": "fas fa-file", + "description": "Index of PON panel-of-normals VCF.", + "help_text": "If none provided, will be generated automatically from the PON bgzipped VCF file.", + "hidden": true + }, + "joint_mutect2": { + "type": "boolean", + "fa_icon": "fas fa-angle-double-right", + "description": "Runs Mutect2 in joint (multi-sample) mode for better concordance among variant calls of tumor samples from the same patient. Mutect2 outputs will be stored in a subfolder named with patient ID under `variant_calling/mutect2/` folder. Only a single normal sample per patient is allowed. Tumor-only mode is also supported." + }, + "mutect2_alleles": { + "type": "string", + "fa_icon": "fas fa-file", + "description": "Bgzipped VCF of alleles to force-call with GATK Mutect2.", + "help_text": "Optional force-calling input passed to Mutect2 via `--alleles`. Must be provided together with `--mutect2_alleles_tbi`.", + "hidden": true + }, + "mutect2_alleles_tbi": { + "type": "string", + "fa_icon": "fas fa-file", + "description": "Tabix index for the Mutect2 force-call alleles VCF.", + "help_text": "Must be provided together with `--mutect2_alleles`.", + "hidden": true + }, + "sage_high_confidence": { + "type": "string", + "fa_icon": "fas fa-file", + "description": "Bed file with known high confidence used as input in Sage variant caller", + "hidden": true + }, + "sage_actionable_panel": { + "type": "string", + "fa_icon": "fas fa-file", + "description": "Bed file with ac actionable list of variants used as input in Sage variant caller", + "hidden": true + }, + "sage_known_hotspots": { + "type": "string", + "fa_icon": "fas fa-file", + "description": "Known hotspots used as input in Sage variant caller", + "hidden": true + }, + "sage_ensembl_dir": { + "type": "string", + "fa_icon": "fas fa-file", + "description": "Directory or tar.gz to ensembl cache for SAGE", + "hidden": true + }, + "sage_custom_args": { + "type": "string", + "fa_icon": "fas fa-file", + "description": "Custom parameters for SAGE", + "hidden": true + }, + "ignore_soft_clipped_bases": { + "type": "boolean", + "fa_icon": "fas fa-ban", + "description": "Do not analyze soft clipped bases in the reads for GATK Mutect2.", + "help_text": "use the `--dont-use-soft-clipped-bases` params with GATK Mutect2.", + "hidden": true + } + } + }, + "annotation": { + "title": "Annotation", + "type": "object", + "description": "", + "default": "", + "fa_icon": "fas fa-toolbox", + "properties": { + "vep_include_fasta": { + "type": "boolean", + "fa_icon": "fas fa-file", + "description": "Allow usage of fasta file for annotation with VEP", + "hidden": true, + "help_text": "By pointing VEP to a FASTA file, it is possible to retrieve reference sequence locally. This enables VEP to retrieve HGVS notations (--hgvs), check the reference sequence given in input data, and construct transcript models from a GFF or GTF file without accessing a database.\n\nFor details, see [here](https://www.ensembl.org/info/docs/tools/vep/script/vep_cache.html#fasta)." + }, + "vep_dbnsfp": { + "type": "boolean", + "fa_icon": "fas fa-database", + "description": "Enable the use of the VEP dbNSFP plugin.", + "hidden": true, + "help_text": "For details, see [here](https://www.ensembl.org/info/docs/tools/vep/script/vep_plugins.html#dbnsfp)." + }, + "dbnsfp": { + "type": "string", + "fa_icon": "fas fa-file", + "description": "Path to dbNSFP processed file.", + "help_text": "To be used with `--vep_dbnsfp`.\ndbNSFP files and more information are available at https://www.ensembl.org/info/docs/tools/vep/script/vep_plugins.html#dbnsfp and https://sites.google.com/site/jpopgen/dbNSFP/", + "hidden": true + }, + "dbnsfp_tbi": { + "type": "string", + "fa_icon": "fas fa-file", + "description": "Path to dbNSFP tabix indexed file.", + "help_text": "To be used with `--vep_dbnsfp`.", + "hidden": true + }, + "dbnsfp_consequence": { + "type": "string", + "fa_icon": "fas fa-arrow-alt-circle-right", + "description": "Consequence to annotate with", + "help_text": "To be used with `--vep_dbnsfp`.\nThis params is used to filter/limit outputs to a specific effect of the variant.\nThe set of consequence terms is defined by the Sequence Ontology and an overview of those used in VEP can be found here: https://www.ensembl.org/info/genome/variation/prediction/predicted_data.html\nIf one wants to filter using several consequences, then separate those by using '&' (i.e. 'consequence=3_prime_UTR_variant&intron_variant'.", + "hidden": true + }, + "dbnsfp_fields": { + "type": "string", + "fa_icon": "fas fa-border-all", + "description": "Fields to annotate with", + "default": "rs_dbSNP,HGVSc_VEP,HGVSp_VEP,1000Gp3_EAS_AF,1000Gp3_AMR_AF,LRT_score,GERP++_RS,gnomAD_exomes_AF", + "help_text": "To be used with `--vep_dbnsfp`.\nThis params can be used to retrieve individual values from the dbNSFP file. The values correspond to the name of the columns in the dbNSFP file and are separated by comma.\nThe column names might differ between the different dbNSFP versions. Please check the Readme.txt file, which is provided with the dbNSFP file, to obtain the correct column names. The Readme file contains also a short description of the provided values and the version of the tools used to generate them.\n\nDefault value are explained below:\n\nrs_dbSNP - rs number from dbSNP\nHGVSc_VEP - HGVS coding variant presentation from VEP. Multiple entries separated by ';', corresponds to Ensembl_transcriptid\nHGVSp_VEP - HGVS protein variant presentation from VEP. Multiple entries separated by ';', corresponds to Ensembl_proteinid\n1000Gp3_EAS_AF - Alternative allele frequency in the 1000Gp3 East Asian descendent samples\n1000Gp3_AMR_AF - Alternative allele counts in the 1000Gp3 American descendent samples\nLRT_score - Original LRT two-sided p-value (LRTori), ranges from 0 to 1\nGERP++_RS - Conservation score. The larger the score, the more conserved the site, ranges from -12.3 to 6.17\ngnomAD_exomes_AF - Alternative allele frequency in the whole gnomAD exome samples.", + "hidden": true + }, + "vep_loftee": { + "type": "boolean", + "fa_icon": "fas fa-database", + "description": "Enable the use of the VEP LOFTEE plugin.", + "hidden": true, + "help_text": "For details, see [here](https://github.com/konradjk/loftee)." + }, + "vep_spliceai": { + "type": "boolean", + "fa_icon": "fas fa-database", + "description": "Enable the use of the VEP SpliceAI plugin.", + "hidden": true, + "help_text": "For details, see [here](https://www.ensembl.org/info/docs/tools/vep/script/vep_plugins.html#spliceai)." + }, + "spliceai_snv": { + "type": "string", + "fa_icon": "fas fa-file", + "description": "Path to spliceai raw scores snv file.", + "help_text": "To be used with `--vep_spliceai`.", + "hidden": true + }, + "spliceai_snv_tbi": { + "type": "string", + "fa_icon": "fas fa-file", + "description": "Path to spliceai raw scores snv tabix indexed file.", + "help_text": "To be used with `--vep_spliceai`.", + "hidden": true + }, + "spliceai_indel": { + "type": "string", + "fa_icon": "fas fa-file", + "description": "Path to spliceai raw scores indel file.", + "help_text": "To be used with `--vep_spliceai`.", + "hidden": true + }, + "spliceai_indel_tbi": { + "type": "string", + "fa_icon": "fas fa-file", + "description": "Path to spliceai raw scores indel tabix indexed file.", + "help_text": "To be used with `--vep_spliceai`.", + "hidden": true + }, + "vep_spliceregion": { + "type": "boolean", + "fa_icon": "fas fa-database", + "description": "Enable the use of the VEP SpliceRegion plugin.", + "hidden": true, + "help_text": "For details, see [here](https://www.ensembl.org/info/docs/tools/vep/script/vep_plugins.html#spliceregion) and [here](https://www.ensembl.info/2018/10/26/cool-stuff-the-vep-can-do-splice-site-variant-annotation/)." + }, + "vep_custom_args": { + "type": "string", + "default": "--no_progress --offline --shift_hgvs 1 --check_existing --tsl --domains --total_length --allele_number --no_escape --xref_refseq --failed 1 --flag_pick_allele --pick_order canonical,tsl,biotype,rank,ccds,length --format vcf --biotype --force_overwrite --sift p --polyphen p --variant_class --regulatory --allele_number --af_gnomad --af_gnomadg --gene_phenotype --hgvs --hgvsg --max_af", + "fa_icon": "fas fa-toolbox", + "description": "Add an extra custom argument to VEP.", + "hidden": true, + "help_text": "Using this params you can add custom args to VEP." + }, + "vep_cache": { + "type": "string", + "fa_icon": "fas fa-file", + "description": "Path to VEP cache.", + "help_text": "Cache directory for VEP", + "hidden": true + }, + "outdir_cache": { "type": "string", "format": "directory-path", + "description": "The output directory where the cache will be saved. You have to use absolute paths to storage on Cloud infrastructure.", + "fa_icon": "fas fa-folder-open", + "hidden": true + }, + "vep_out_format": { + "type": "string", + "default": "vcf", + "description": "VEP output-file format.", + "enum": ["json", "tab", "vcf"], + "help_text": "Sets the format of the output-file from VEP. Available formats: json, tab and vcf.", + "fa_icon": "fas fa-table", + "hidden": true + }, + "igenomes_base": { + "type": "string", "description": "The base path to the igenomes reference files", "fa_icon": "fas fa-ban", "hidden": true, @@ -82,6 +710,60 @@ } } }, + "filtering": { + "title": "Filtering", + "type": "object", + "description": "", + "default": "", + "fa_icon": "fas fa-toolbox", + "properties": { + "blacklist": { + "type": "string", + "fa_icon": "fas fa-database", + "description": "Path to BED file with positions to blacklist during filtering (e.g. regions difficult to map)" + }, + "whitelist": { + "type": "string", + "fa_icon": "fas fa-database", + "description": "Path to BED file with variants to whitelist during filtering" + }, + "rnaedits": { + "type": "string", + "fa_icon": "fas fa-database", + "description": "Path to BED files with RNA editing sites, comma separated if more than one" + }, + "chain": { + "type": "string", + "fa_icon": "fas fa-database", + "description": "Chain file to do liftover - only if `secondary_pon` is provided" + }, + "reference_pon": { + "type": "string", + "fa_icon": "fas fa-database", + "description": "Path to the primary RNA PoN used for RNA-specific filtering (see DOI: 10.1016/j.cels.2018.03.002)" + }, + "secondary_pon": { + "type": "string", + "fa_icon": "fas fa-database", + "description": "Path to the optional secondary RNA PoN used for RNA-specific filtering (see DOI: 10.1016/j.cels.2018.03.002)" + }, + "secondary_reference_fasta": { + "type": "string", + "fa_icon": "fas fa-database", + "description": "Path to the optional secondary reference FASTA - only if `secondary_pon` is provided" + }, + "secondary_reference_name": { + "type": "string", + "fa_icon": "fas fa-database", + "description": "RNA filtering - name of the secondary reference being used (e.g. hg19) - only if `secondary_pon` is provided" + }, + "reference_name": { + "type": "string", + "fa_icon": "fas fa-database", + "description": "RNA filtering - name of the primary reference being used (e.g. hg38)" + } + } + }, "institutional_config_options": { "title": "Institutional config options", "type": "object", @@ -127,6 +809,33 @@ "description": "Institutional config URL link.", "hidden": true, "fa_icon": "fas fa-users-cog" + }, + "pipelines_testdata_base_path": { + "type": "string", + "default": "https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/", + "description": "Base path / URL for data used in the test profiles", + "help_text": "Warning: The `-profile test` samplesheet file itself contains remote paths. Setting this parameter does not alter the contents of that file.", + "hidden": true + }, + "modules_testdata_base_path": { + "type": "string", + "default": "https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/", + "description": "Base path / URL for data used in the modules", + "hidden": true + }, + "seq_center": { + "type": "string", + "fa_icon": "fas fa-university", + "description": "Sequencing center information to be added to read group (CN field).", + "hidden": true + }, + "seq_platform": { + "type": "string", + "fa_icon": "fas fa-university", + "default": "ILLUMINA", + "description": "Sequencing platform information to be added to read group (PL field).", + "help_text": "Default: ILLUMINA. Will be used to create a proper header for further GATK4 downstream analysis.", + "hidden": true } } }, @@ -152,6 +861,13 @@ "enum": ["symlink", "rellink", "link", "copy", "copyNoFollow", "move"], "hidden": true }, + "email": { + "type": "string", + "description": "Email address for completion summary.", + "fa_icon": "fas fa-envelope", + "help_text": "Set this parameter to your e-mail address to get a summary e-mail with details of the run sent to you when the workflow exits. If set in your user config file (`~/.nextflow/config`) then you don't need to specify this on the command line for every run.", + "pattern": "^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$" + }, "email_on_fail": { "type": "string", "description": "Email address for completion summary, only when pipeline fails.", @@ -180,12 +896,10 @@ "fa_icon": "fas fa-palette", "hidden": true }, - "hook_url": { + "multiqc_title": { "type": "string", - "description": "Incoming hook URL for messaging service", - "fa_icon": "fas fa-people-group", - "help_text": "Incoming hook URL for messaging service. Currently, MS Teams and Slack are supported.", - "hidden": true + "description": "MultiQC report title. Printed as page header, used for filename if not otherwise specified.", + "fa_icon": "fas fa-file-signature" }, "multiqc_config": { "type": "string", @@ -212,13 +926,6 @@ "fa_icon": "fas fa-check-square", "hidden": true }, - "pipelines_testdata_base_path": { - "type": "string", - "fa_icon": "far fa-check-circle", - "description": "Base URL or local path to location of pipeline test dataset files", - "default": "https://raw.githubusercontent.com/nf-core/test-datasets/", - "hidden": true - }, "trace_report_suffix": { "type": "string", "fa_icon": "far calendar", @@ -247,6 +954,24 @@ { "$ref": "#/$defs/reference_genome_options" }, + { + "$ref": "#/$defs/alignment_options" + }, + { + "$ref": "#/$defs/fastq_preprocessing" + }, + { + "$ref": "#/$defs/variant_calling" + }, + { + "$ref": "#/$defs/annotation" + }, + { + "$ref": "#/$defs/filtering" + }, + { + "$ref": "#/$defs/pipeline_stage_options" + }, { "$ref": "#/$defs/institutional_config_options" }, diff --git a/nf-test.config b/nf-test.config index 3a1fff59..b5d473da 100644 --- a/nf-test.config +++ b/nf-test.config @@ -1,24 +1,40 @@ config { // location for all nf-test tests - testsDir "." + testsDir = "." // nf-test directory including temporary files for each test - workDir System.getenv("NFT_WORKDIR") ?: ".nf-test" + workDir = System.getenv("NFT_WORKDIR") ?: ".nf-test" // location of an optional nextflow.config file specific for executing tests - configFile "tests/nextflow.config" + configFile = "tests/nextflow.config" // ignore tests coming from the nf-core/modules repo - ignore 'modules/nf-core/**/tests/*', 'subworkflows/nf-core/**/tests/*' + ignore = [ + 'modules/nf-core/**/tests/*', + 'subworkflows/nf-core/**/tests/*', + ] // run all test with defined profile(s) from the main nextflow.config - profile "test" + profile = "test" // list of filenames or patterns that should be trigger a full test run - triggers 'nextflow.config', 'nf-test.config', 'conf/test.config', 'tests/nextflow.config', 'tests/.nftignore' + triggers = [ + '.github/actions/nf-test/action.yml', + '.github/workflows/nf-test.yml', + 'assets/schema_input.json', + 'bin/*', + 'conf/test.config', + 'nextflow.config', + 'nextflow_schema.json', + 'nf-test.config', + 'tests/.nftignore', + 'tests/nextflow.config', + ] // load the necessary plugins plugins { - load "nft-utils@0.0.3" + load "nft-bam@0.6.1" + load "nft-utils@1.0.0" + load "nft-vcf@1.0.7" } } diff --git a/ro-crate-metadata.json b/ro-crate-metadata.json index 58c59f0b..041a3dfe 100644 --- a/ro-crate-metadata.json +++ b/ro-crate-metadata.json @@ -1,6 +1,6 @@ { "@context": [ - "https://w3id.org/ro/crate/1.1/context", + "https://w3id.org/ro/crate/1.2/context", { "GithubService": "https://w3id.org/ro/terms/test#GithubService", "JenkinsService": "https://w3id.org/ro/terms/test#JenkinsService", @@ -21,9 +21,9 @@ { "@id": "./", "@type": "Dataset", - "creativeWorkStatus": "InProgress", - "datePublished": "2025-11-20T09:32:21+00:00", - "description": "

\n \n \n \"nf-core/rnadnavar\"\n \n

\n\n[![Open in GitHub Codespaces](https://img.shields.io/badge/Open_In_GitHub_Codespaces-black?labelColor=grey&logo=github)](https://github.com/codespaces/new/nf-core/rnadnavar)\n[![GitHub Actions CI Status](https://github.com/nf-core/rnadnavar/actions/workflows/nf-test.yml/badge.svg)](https://github.com/nf-core/rnadnavar/actions/workflows/nf-test.yml)\n[![GitHub Actions Linting Status](https://github.com/nf-core/rnadnavar/actions/workflows/linting.yml/badge.svg)](https://github.com/nf-core/rnadnavar/actions/workflows/linting.yml)[![AWS CI](https://img.shields.io/badge/CI%20tests-full%20size-FF9900?labelColor=000000&logo=Amazon%20AWS)](https://nf-co.re/rnadnavar/results)[![Cite with Zenodo](http://img.shields.io/badge/DOI-10.5281/zenodo.XXXXXXX-1073c8?labelColor=000000)](https://doi.org/10.5281/zenodo.XXXXXXX)\n[![nf-test](https://img.shields.io/badge/unit_tests-nf--test-337ab7.svg)](https://www.nf-test.com)\n\n[![Nextflow](https://img.shields.io/badge/version-%E2%89%A525.04.0-green?style=flat&logo=nextflow&logoColor=white&color=%230DC09D&link=https%3A%2F%2Fnextflow.io)](https://www.nextflow.io/)\n[![nf-core template version](https://img.shields.io/badge/nf--core_template-3.5.1-green?style=flat&logo=nfcore&logoColor=white&color=%2324B064&link=https%3A%2F%2Fnf-co.re)](https://github.com/nf-core/tools/releases/tag/3.5.1)\n[![run with conda](http://img.shields.io/badge/run%20with-conda-3EB049?labelColor=000000&logo=anaconda)](https://docs.conda.io/en/latest/)\n[![run with docker](https://img.shields.io/badge/run%20with-docker-0db7ed?labelColor=000000&logo=docker)](https://www.docker.com/)\n[![run with singularity](https://img.shields.io/badge/run%20with-singularity-1d355c.svg?labelColor=000000)](https://sylabs.io/docs/)\n[![Launch on Seqera Platform](https://img.shields.io/badge/Launch%20%F0%9F%9A%80-Seqera%20Platform-%234256e7)](https://cloud.seqera.io/launch?pipeline=https://github.com/nf-core/rnadnavar)\n\n[![Get help on Slack](http://img.shields.io/badge/slack-nf--core%20%23rnadnavar-4A154B?labelColor=000000&logo=slack)](https://nfcore.slack.com/channels/rnadnavar)[![Follow on Bluesky](https://img.shields.io/badge/bluesky-%40nf__core-1185fe?labelColor=000000&logo=bluesky)](https://bsky.app/profile/nf-co.re)[![Follow on Mastodon](https://img.shields.io/badge/mastodon-nf__core-6364ff?labelColor=FFFFFF&logo=mastodon)](https://mstdn.science/@nf_core)[![Watch on YouTube](http://img.shields.io/badge/youtube-nf--core-FF0000?labelColor=000000&logo=youtube)](https://www.youtube.com/c/nf-core)\n\n## Introduction\n\n**nf-core/rnadnavar** is a bioinformatics pipeline that ...\n\n\n\n\n1. Read QC ([`FastQC`](https://www.bioinformatics.babraham.ac.uk/projects/fastqc/))2. Present QC for raw reads ([`MultiQC`](http://multiqc.info/))\n\n## Usage\n\n> [!NOTE]\n> If you are new to Nextflow and nf-core, please refer to [this page](https://nf-co.re/docs/usage/installation) on how to set-up Nextflow. Make sure to [test your setup](https://nf-co.re/docs/usage/introduction#how-to-run-a-pipeline) with `-profile test` before running the workflow on actual data.\n\n\n\nNow, you can run the pipeline using:\n\n\n\n```bash\nnextflow run nf-core/rnadnavar \\\n -profile \\\n --input samplesheet.csv \\\n --outdir \n```\n\n> [!WARNING]\n> Please provide pipeline parameters via the CLI or Nextflow `-params-file` option. Custom config files including those provided by the `-c` Nextflow option can be used to provide any configuration _**except for parameters**_; see [docs](https://nf-co.re/docs/usage/getting_started/configuration#custom-configuration-files).\n\nFor more details and further functionality, please refer to the [usage documentation](https://nf-co.re/rnadnavar/usage) and the [parameter documentation](https://nf-co.re/rnadnavar/parameters).\n\n## Pipeline output\n\nTo see the results of an example test run with a full size dataset refer to the [results](https://nf-co.re/rnadnavar/results) tab on the nf-core website pipeline page.\nFor more details about the output files and reports, please refer to the\n[output documentation](https://nf-co.re/rnadnavar/output).\n\n## Credits\n\nnf-core/rnadnavar was originally written by Raquel Manzano-Garcia.\n\nWe thank the following people for their extensive assistance in the development of this pipeline:\n\n\n\n## Contributions and Support\n\nIf you would like to contribute to this pipeline, please see the [contributing guidelines](.github/CONTRIBUTING.md).\n\nFor further information or help, don't hesitate to get in touch on the [Slack `#rnadnavar` channel](https://nfcore.slack.com/channels/rnadnavar) (you can join with [this invite](https://nf-co.re/join/slack)).\n\n## Citations\n\n\n\n\n\n\nAn extensive list of references for the tools used by the pipeline can be found in the [`CITATIONS.md`](CITATIONS.md) file.\n\nYou can cite the `nf-core` publication as follows:\n\n> **The nf-core framework for community-curated bioinformatics pipelines.**\n>\n> Philip Ewels, Alexander Peltzer, Sven Fillinger, Harshil Patel, Johannes Alneberg, Andreas Wilm, Maxime Ulysse Garcia, Paolo Di Tommaso & Sven Nahnsen.\n>\n> _Nat Biotechnol._ 2020 Feb 13. doi: [10.1038/s41587-020-0439-x](https://dx.doi.org/10.1038/s41587-020-0439-x).\n", + "creativeWorkStatus": "Stable", + "datePublished": "2026-06-23T13:10:48+00:00", + "description": "

\n \n \n \"nf-core/rnadnavar\"\n \n

\n\n[![Open in GitHub Codespaces](https://img.shields.io/badge/Open_In_GitHub_Codespaces-black?labelColor=grey&logo=github)](https://github.com/codespaces/new/nf-core/rnadnavar)\n[![GitHub Actions CI Status](https://github.com/nf-core/rnadnavar/actions/workflows/nf-test.yml/badge.svg)](https://github.com/nf-core/rnadnavar/actions/workflows/nf-test.yml)\n[![GitHub Actions Linting Status](https://github.com/nf-core/rnadnavar/actions/workflows/linting.yml/badge.svg)](https://github.com/nf-core/rnadnavar/actions/workflows/linting.yml)[![AWS CI](https://img.shields.io/badge/CI%20tests-full%20size-FF9900?labelColor=000000&logo=Amazon%20AWS)](https://nf-co.re/rnadnavar/results)[![Cite with Zenodo](http://img.shields.io/badge/DOI-10.5281/zenodo.XXXXXXX-1073c8?labelColor=000000)](https://doi.org/10.5281/zenodo.XXXXXXX)\n[![nf-test](https://img.shields.io/badge/unit_tests-nf--test-337ab7.svg)](https://www.nf-test.com)\n\n[![Nextflow](https://img.shields.io/badge/version-%E2%89%A525.10.4-green?style=flat&logo=nextflow&logoColor=white&color=%230DC09D&link=https%3A%2F%2Fnextflow.io)](https://www.nextflow.io/)\n[![nf-core template version](https://img.shields.io/badge/nf--core_template-4.0.2-green?style=flat&logo=nfcore&logoColor=white&color=%2324B064&link=https%3A%2F%2Fnf-co.re)](https://github.com/nf-core/tools/releases/tag/4.0.2)\n[![run with conda](http://img.shields.io/badge/run%20with-conda-3EB049?labelColor=000000&logo=anaconda)](https://docs.conda.io/en/latest/)\n[![run with docker](https://img.shields.io/badge/run%20with-docker-0db7ed?labelColor=000000&logo=docker)](https://www.docker.com/)\n[![run with singularity](https://img.shields.io/badge/run%20with-singularity-1d355c.svg?labelColor=000000)](https://sylabs.io/docs/)\n[![Launch on Seqera Platform](https://img.shields.io/badge/Launch%20%F0%9F%9A%80-Seqera%20Platform-%234256e7)](https://cloud.seqera.io/launch?pipeline=https://github.com/nf-core/rnadnavar)\n\n[![Get help on Slack](http://img.shields.io/badge/slack-nf--core%20%23rnadnavar-4A154B?labelColor=000000&logo=slack)](https://nfcore.slack.com/channels/rnadnavar)[![Follow on Bluesky](https://img.shields.io/badge/bluesky-%40nf__core-1185fe?labelColor=000000&logo=bluesky)](https://bsky.app/profile/nf-co.re)[![Follow on Mastodon](https://img.shields.io/badge/mastodon-nf__core-6364ff?labelColor=FFFFFF&logo=mastodon)](https://mstdn.science/@nf_core)[![Watch on YouTube](http://img.shields.io/badge/youtube-nf--core-FF0000?labelColor=000000&logo=youtube)](https://www.youtube.com/c/nf-core)\n\n## Introduction\n\nThe **nf-core/rnadnavar** is a bioinformatics best-practice\nanalysis pipeline for RNA somatic mutation detection\nable to perform in parallel.\n\nInitially designed for cancer research, the pipeline\nuses different variant calling algorithms and applies a\nconsensus approach. A final filtering stage, should\nprovide a set of annotated somatic variants.\n\nThe pipeline is built using [Nextflow](https://www.nextflow.io), a workflow tool to run tasks across\nmultiple compute infrastructures in a very portable\nmanner. It uses Docker/Singularity containers making\ninstallation trivial and results highly reproducible.\nThe [Nextflow DSL2](https://www.nextflow.io/docs/latest/dsl2.html) implementation of this\npipeline uses one container per process which makes it\nmuch easier to maintain and update software\ndependencies. Where possible, these processes have been\nsubmitted to and installed from [nf-core/modules](https://github.com/nf-core/modules) in order to make them available to all nf-core pipelines, and to everyone within the Nextflow community!\n\n## Pipeline summary\n\nDepending on the options and samples provided, the\npipeline will run different tasks. This is controlled\nmainly through `--step` and `--tools` parameters. This\nis a summary of the possible tasks to run with the pipeline:\n\n- Quality control and trimming (enabled by\n `--trim_fastq` and runs [`FastQC`](https://www.bioinformatics.babraham.ac.uk/projects/fastqc/) and\n [`fastp`](https://github.com/OpenGene/fastp))\n- Map Reads to Reference (BWA-mem, BWA-mem2, dragmap\n and/or STAR)\n- GATK preprocessing for DNA and RNA bulk sequencing\n samples (`GATK MarkDuplicates`, `GATK SplitNCigarReads`,`GATK\nBaseRecalibrator` and `GATK ApplyBQSR`)\n- Summarise alignment statistics (`samtools stats`, `mosdepth`)\n- Variant calling (enabled with `--tools`)\n - `Mutect2`\n - `Strelka2`\n - `SAGE`\n- Annotation with `VEP` (enabled with `--tools` adding\n `vep`)\n- Normalisation of VCFs with VT (enabled with `--tools`\n adding `normalisation`)\n- Transformation of VCF to MAF and consensus of variant\n calling results (enabled with `--tools` adding\n `consensus`)\n- Filtering of MAF files applying optional gnomad,\n whitelisting and blacklisting (enabled with `--tools`\n adding `filtering`)\n- Realignment step where reads from regions where a variant\n was found will be extracted and re-processed, only for\n RNA due to higher levels of background noise (enabled\n with `--tools` adding `realignment`).\n- Filtering of MAF files specific for RNA (enabled with\n `--tools` adding `rna_filtering`)\n\n

\n \n

\n\n## Usage\n\n> [!NOTE]\n> If you are new to Nextflow and nf-core, please refer to [this page](https://nf-co.re/docs/get_started/environment_setup/overview) on how to set-up Nextflow. Make sure to [test your setup](https://nf-co.re/docs/get_started/run-your-first-pipeline) with `-profile test` before running the workflow on actual data.\n\n### Key requirements for the analysis\n\n- RNA tumor samples must be associated with a DNA normal sample using the same patient ID. DNA tumour sample is optional.\n- Sample types are specified with status: 0 (normal DNA), 1 (tumor DNA), 2 (tumor RNA)\n- Reference files are required for the analysis.\n\n### Quick Start\n\nThe typical command for running the pipeline is:\n\n```bash\nnextflow run nf-core/rnadnavar \\\n -r \\\n -profile \\\n --input samplesheet.csv \\\n --outdir \\\n --genome \\\n --tools \n```\n\n### Pipeline Steps\n\nThe pipeline can start from different entry points but `tools` need to be specified to run. If you are planning to run the pipeline by stages please read [usage](docs/usage.md#starting-from-different-steps).\n\n### Input requirements\n\nYou will need to create a samplesheet with information about the samples you want to analyze. The samplesheet must be a comma-separated file with a header row.\n\nEssential columns are:\n\n- `patient` - Unique patient identifier\n- `status` - Sample type (0/1/2)\n- `sample` - Unique sample identifier\n- And one of these options:\n - if variant calling is going to be performed of these three options should be an input (_note that this is included in the `realignment` step by default_):\n - `fastq_1`, `fastq_2` - Paths to paired-end FASTQ files (for raw data) (this also needs `lane` column)\n - `bam`,`bai` - Paths to BAM files and indices (for pre-aligned data)\n - `cram`,`crai` - Paths to CRAM files and indices (for pre-aligned data)\n - if the starting step is from `consensus` and no `realignment` will be performed (add `--skip_tools 'realignment'` to your command or params file) then the input are VCF/MAF:\n - `caller` - Caller used to generate that MAF (to annotate it during the consensus approach)\n - `maf` - Paths to MAF file\n - if `realignment` is desired then please add `normal_id` and take a look to [usage](docs/usage.md#starting-from-different-steps).\n\nExamples CSVs:\n\nStarting from `mapping`:\n\n```csv\npatient,sample,status,lane,fastq_1,fastq_2\nPT1,DNA_NORMAL_SAMPLE,0,LX,DNA_NORMAL_SAMPLE_L002_R1_001.fastq.gz,DNA_NORMAL_SAMPLE1_L002_R2_001.fastq.gz\nPT1,DNA_TUMOUR_SAMPLE,1,LX,DNA_TUMOUR_SAMPLE_L002_R1_001.fastq.gz,DNA_TUMOUR_SAMPLE_L002_R2_001.fastq.gz\nPT1,RNA_TUMOUR_SAMPLE,2,LX,RNA_TUMOUR_SAMPLE_L002_R1_001.fastq.gz,RNA_TUMOUR_SAMPLE_L002_R2_001.fastq.gz\n```\n\nStarting from `consensus` no realignment:\n\n```csv\npatient,sample,status,caller,maf\nPT1,RNA_TUMOUR_SAMPLE_1,2,mutect,DNA_TUMOUR_SAMPLE_1.mutect.maf\nPT1,RNA_TUMOUR_SAMPLE_1,2,strelka,RNA_TUMOUR_SAMPLE_1.strelka.maf\nPT1,RNA_TUMOUR_SAMPLE_2,2,mutect,DNA_TUMOUR_SAMPLE_2.mutect.maf\nPT1,RNA_TUMOUR_SAMPLE_2,2,strelka,RNA_TUMOUR_SAMPLE_2.strelka.maf\n```\n\n### Parameters\n\n> [!WARNING]\n> Please provide pipeline parameters via the CLI or Nextflow `-params-file` option. Custom config files including those provided by the `-c` Nextflow option can be used to provide any configuration _**except for parameters**_; see [docs](https://nf-co.re/docs/running/run-pipelines#using-parameter-files).\n\nFor more details and further functionality, please refer to the [usage documentation](https://nf-co.re/rnadnavar/usage) and the [parameter documentation](https://nf-co.re/rnadnavar/parameters).\n\n## Pipeline output\n\nTo see the results of an example test run with a full size dataset refer to the [results](https://nf-co.re/rnadnavar/results) tab on the nf-core website pipeline page.\nFor more details about the output files and reports, please refer to the\n[output documentation](https://nf-co.re/rnadnavar/output).\n\n## Credits\n\nThe nf-core/rnadnavar was originally written by Raquel\nManzano Garcia at Cancer Research UK Cambridge Institute\nwith the continuous support of [Maxime U Garcia](https://github.com/maxulysse). The\nworkflow is based on\n[RNA-MuTect](https://github.com/broadinstitute/RNA_MUTECT_1.0-1) which was\noriginally published by [Yizhak, _et al_ 2019 (Science)](https://www.science.org/doi/10.1126/science.aaw0726)\n\nWe thank the following people for their assistance in the development of this pipeline:\nTBC\n\n## Contributions and Support\n\nIf you would like to contribute to this pipeline, please see the [contributing guidelines](docs/CONTRIBUTING.md).\n\nFor further information or help, don't hesitate to get in touch on the [Slack `#rnadnavar` channel](https://nfcore.slack.com/channels/rnadnavar) (you can join with [this invite](https://nf-co.re/join/slack)).\n\n## Citations\n\n\n\n\nAn extensive list of references for the tools used by the pipeline can be found in the [`CITATIONS.md`](CITATIONS.md) file.\n\nYou can cite the `nf-core` publication as follows:\n\n> **The nf-core framework for community-curated bioinformatics pipelines.**\n>\n> Philip Ewels, Alexander Peltzer, Sven Fillinger, Harshil Patel, Johannes Alneberg, Andreas Wilm, Maxime Ulysse Garcia, Paolo Di Tommaso & Sven Nahnsen.\n>\n> _Nat Biotechnol._ 2020 Feb 13. doi: [10.1038/s41587-020-0439-x](https://dx.doi.org/10.1038/s41587-020-0439-x).\n", "hasPart": [ { "@id": "main.nf" @@ -31,6 +31,9 @@ { "@id": "assets/" }, + { + "@id": "bin/" + }, { "@id": "conf/" }, @@ -43,6 +46,9 @@ { "@id": "modules/" }, + { + "@id": "modules/local/" + }, { "@id": "modules/nf-core/" }, @@ -99,7 +105,7 @@ }, "mentions": [ { - "@id": "#fc972a53-4cb0-4a4d-9864-8d545fce2414" + "@id": "#3f3038cb-095e-474e-9a17-7bf2e513f0a8" } ], "name": "nf-core/rnadnavar" @@ -112,7 +118,7 @@ }, "conformsTo": [ { - "@id": "https://w3id.org/ro/crate/1.1" + "@id": "https://w3id.org/ro/crate/1.2" }, { "@id": "https://w3id.org/workflowhub/workflow-ro-crate/1.0" @@ -121,21 +127,52 @@ }, { "@id": "main.nf", - "@type": ["File", "SoftwareSourceCode", "ComputationalWorkflow"], + "@type": [ + "File", + "SoftwareSourceCode", + "ComputationalWorkflow" + ], + "author": [ + { + "@id": "https://orcid.org/0000-0002-5124-8992" + } + ], + "contributor": [ + { + "@id": "https://orcid.org/0000-0003-2827-9261" + } + ], "dateCreated": "", - "dateModified": "2025-11-20T09:32:21Z", + "dateModified": "2026-06-23T15:10:48Z", "dct:conformsTo": "https://bioschemas.org/profiles/ComputationalWorkflow/1.0-RELEASE/", - "keywords": ["nf-core", "nextflow"], - "license": ["MIT"], - "name": ["nf-core/rnadnavar"], + "keywords": [ + "nf-core", + "nextflow" + ], + "license": [ + "MIT" + ], + "maintainer": [ + { + "@id": "https://orcid.org/0000-0002-5124-8992" + } + ], + "name": [ + "nf-core/rnadnavar" + ], "programmingLanguage": { "@id": "https://w3id.org/workflowhub/workflow-ro-crate#nextflow" }, "sdPublisher": { "@id": "https://nf-co.re/" }, - "url": ["https://github.com/nf-core/rnadnavar", "https://nf-co.re/rnadnavar/dev/"], - "version": ["1.0dev"] + "url": [ + "https://github.com/nf-core/rnadnavar", + "https://nf-co.re/rnadnavar/1.0.0/" + ], + "version": [ + "1.0.0" + ] }, { "@id": "https://w3id.org/workflowhub/workflow-ro-crate#nextflow", @@ -147,14 +184,14 @@ "url": { "@id": "https://www.nextflow.io/" }, - "version": "!>=25.04.0" + "version": "!>=25.10.4" }, { - "@id": "#fc972a53-4cb0-4a4d-9864-8d545fce2414", + "@id": "#3f3038cb-095e-474e-9a17-7bf2e513f0a8", "@type": "TestSuite", "instance": [ { - "@id": "#d01a041d-b623-40a1-a338-ab611020b248" + "@id": "#8bdbe8dd-b50d-4edb-b2ce-dbe52a93e7e0" } ], "mainEntity": { @@ -163,7 +200,7 @@ "name": "Test suite for nf-core/rnadnavar" }, { - "@id": "#d01a041d-b623-40a1-a338-ab611020b248", + "@id": "#8bdbe8dd-b50d-4edb-b2ce-dbe52a93e7e0", "@type": "TestInstance", "name": "GitHub Actions workflow for testing nf-core/rnadnavar", "resource": "repos/nf-core/rnadnavar/actions/workflows/nf-test.yml", @@ -185,6 +222,11 @@ "@type": "Dataset", "description": "Additional files" }, + { + "@id": "bin/", + "@type": "Dataset", + "description": "Scripts that must be callable from a pipeline process" + }, { "@id": "conf/", "@type": "Dataset", @@ -205,6 +247,11 @@ "@type": "Dataset", "description": "Modules used by the pipeline" }, + { + "@id": "modules/local/", + "@type": "Dataset", + "description": "Pipeline-specific modules" + }, { "@id": "modules/nf-core/", "@type": "Dataset", @@ -290,6 +337,22 @@ "@type": "Organization", "name": "nf-core", "url": "https://nf-co.re/" + }, + { + "@id": "https://orcid.org/0000-0002-5124-8992", + "@type": "Person", + "affiliation": "Cancer Research UK", + "email": "Raquel.ManzanoGarcia@cruk.cam.ac.uk", + "name": "Raquel Manzano Garcia", + "url": "https://github.com/RaqManzano" + }, + { + "@id": "https://orcid.org/0000-0003-2827-9261", + "@type": "Person", + "affiliation": "Seqera", + "email": "maxime.garcia@seqera.io", + "name": "Maxime U Garcia", + "url": "https://github.com/maxulysse" } ] -} +} \ No newline at end of file diff --git a/subworkflows/local/annotation_cache_initialisation/main.nf b/subworkflows/local/annotation_cache_initialisation/main.nf new file mode 100644 index 00000000..788f4014 --- /dev/null +++ b/subworkflows/local/annotation_cache_initialisation/main.nf @@ -0,0 +1,42 @@ +// +// ANNOTATION CACHE INITIALISATION +// + +// Initialise channels based on params or indices that were just built +// For all modules here: +// A when clause condition is defined in the conf/modules.config to determine if the module should be run +// Condition is based on params.step and params.tools +// If and extra condition exists, it's specified in comments + +workflow ANNOTATION_CACHE_INITIALISATION { + take: + vep_enabled + vep_cache + vep_species + vep_cache_version + vep_genome + vep_custom_args + help_message + + main: + + if (vep_enabled) { + def vep_annotation_cache_key = (vep_cache == "s3://annotation-cache/vep_cache/") ? "${vep_cache_version}_${vep_genome}/" : "" + def vep_species_suffix = vep_custom_args.contains("--merged") ? '_merged' : (vep_custom_args.contains("--refseq") ? '_refseq' : '') + def vep_cache_dir = "${vep_annotation_cache_key}${vep_species}${vep_species_suffix}/${vep_cache_version}_${vep_genome}" + def vep_cache_path_full = file("$vep_cache/$vep_cache_dir", type: 'dir') + if ( !vep_cache_path_full.exists() || !vep_cache_path_full.isDirectory() ) { + if (vep_cache == "s3://annotation-cache/vep_cache/") { + error("This path is not available within annotation-cache.\nPlease check https://annotation-cache.github.io/ to create a request for it.") + } else { + error("Path provided with VEP cache is invalid.\nMake sure there is a directory named ${vep_cache_dir} in ${vep_cache}./n${help_message}") + } + } + // Keep the cache channel aligned with the nf-core VEP module contract: + // a single reusable value channel carrying [meta, cache_dir]. + ensemblvep_cache = Channel.value([[id: vep_cache_path_full.baseName], vep_cache_path_full]) + } else ensemblvep_cache = [] + + emit: + ensemblvep_cache // channel: [ meta, cache ] +} diff --git a/subworkflows/local/bam_align/main.nf b/subworkflows/local/bam_align/main.nf new file mode 100644 index 00000000..16227463 --- /dev/null +++ b/subworkflows/local/bam_align/main.nf @@ -0,0 +1,232 @@ +// +// DNA and RNA ALIGNMENT +// +// For all modules here: +// A when clause condition is defined in the conf/modules.config to determine if the module should be run +// SUBWORKFLOWS +// Convert BAM files to FASTQ files +include { BAM_CONVERT_SAMTOOLS as CONVERT_FASTQ_INPUT } from '../bam_convert_samtools/main' +// Map input reads to reference genome in DNA +include { FASTQ_ALIGN } from '../fastq_align/main' +// Map input reads to reference genome in RNA +include { FASTQ_ALIGN_STAR } from '../../nf-core/fastq_align_star/main' +// Merge and index BAM files (optional) +include { BAM_MERGE_INDEX_SAMTOOLS } from '../bam_merge_index_samtools/main' +include { SAMTOOLS_CONVERT as BAM_TO_CRAM_MAPPING } from '../../../modules/nf-core/samtools/convert/main' +// Create samplesheets to restart from mapping +include { CHANNEL_ALIGN_CREATE_CSV } from '../channel_align_create_csv/main' +// MODULES: QC & trimming +include { FASTQC } from '../../../modules/nf-core/fastqc/main' +include { FASTP } from '../../../modules/nf-core/fastp/main' + + +workflow BAM_ALIGN { + + take: + bwa + bwamem2 + dragmap + star_index + gtf + fasta + fasta_fai + input_sample + + main: + reports = Channel.empty() + versions = Channel.empty() + fasta_with_fai = fasta.combine(fasta_fai).map { meta, fa, fai -> [meta, fa, fai] }.first() + + // Initialize outputs to emit + bam_mapped_rna = Channel.empty() + bam_mapped_dna = Channel.empty() + bam_mapped = Channel.empty() + cram_mapped = Channel.empty() + + // Gather index for mapping given the chosen aligner for DNA + index_alignment = params.aligner == "bwa-mem" ? bwa : + params.aligner == "bwa-mem2" ? bwamem2 : + dragmap + + if (params.step == 'mapping') { + + // Figure out if input is bam or fastq + input_sample_type = input_sample.branch { item -> + bam: item[0].data_type == "bam" + fastq: item[0].data_type == "fastq" + } + // QC & TRIM + interleave_input = false // Currently don't allow interleaved input + CONVERT_FASTQ_INPUT( + input_sample_type.bam, + fasta, // fasta + fasta_fai, // fasta_fai + interleave_input) + + // Gather fastq (inputed or converted) + // Theorically this could work on mixed input (fastq for one sample and bam for another) + // But not sure how to handle that with the samplesheet + // Or if we really want users to be able to do that + input_fastq = input_sample_type.fastq.mix(CONVERT_FASTQ_INPUT.out.reads) + // QC + if (!(params.skip_tools && params.skip_tools.split(',').contains('fastqc'))) { + FASTQC(input_fastq) + + reports = reports.mix(FASTQC.out.zip.collect{ meta, logs -> logs }) + versions = versions.mix(FASTQC.out.versions_fastqc) + } + // Trimming and/or splitting + if (params.trim_fastq || params.split_fastq > 0) { + + save_trimmed_fail = false + save_merged = false + FASTP( + // we are not using any adapter fastas at the moment, that's why last element is empty + input_fastq.map { meta, reads -> [meta, reads, []] }, + false, // we don't use discard_trimmed_pass at the moment + save_trimmed_fail, + save_merged + ) + + reports = reports.mix(FASTP.out.json.collect{ _meta, json -> json }) + reports = reports.mix(FASTP.out.html.collect{ _meta, html -> html }) + + if (params.split_fastq) { + reads_for_alignment = FASTP.out.reads.map { item -> + def meta = item[0] + def reads = item[1] + def read_files = reads.sort(false) { a, b -> a.getName().tokenize('.')[0] <=> b.getName().tokenize('.')[0] }.collate(2) + [ meta + [ n_fastq: read_files.size() ], read_files ] + }.transpose() + } else reads_for_alignment = FASTP.out.reads + + versions = versions.mix(FASTP.out.versions_fastp) + + } else { + reads_for_alignment = input_fastq + } + + + // STEP 1: MAPPING READS TO REFERENCE GENOME + // Generate mapped reads channel for alignment + // reads will be sorted + // First, we must calculate number of lanes for each sample (meta.n_fastq) + // This is needed to group reads from the same sample together using groupKey to avoid stalling the workflow + // when reads from different samples are mixed together + reads_for_alignment.map { item -> + def meta = item[0] + def reads = item[1] + [ meta.subMap('patient', 'sample', 'status'), reads ] + } + .groupTuple() + .map { item -> + def meta = item[0] + def reads = item[1] + meta + [ n_fastq: reads.size() ] // We can drop the FASTQ files now that we know how many there are + } + .set { reads_grouping_key } + + reads_for_alignment = reads_for_alignment.map { item -> + def meta = item[0] + def reads = item[1] + // Update meta.id to meta.sample no multiple lanes or splitted fastqs + if (meta.size * meta.num_lanes == 1) [ meta + [ id:meta.sample ], reads ] + else [ meta, reads ] + } + // Separate DNA from RNA samples, DNA samples will be aligned with bwa, and RNA samples with star + reads_for_alignment_status = reads_for_alignment.branch { item -> + dna: item[0].status < 2 + rna: item[0].status == 2 + } + + // DNA mapping + sort_bam = true + FASTQ_ALIGN(reads_for_alignment_status.dna, index_alignment, sort_bam) + FASTQ_ALIGN.out.bam.dump(tag:'FASTQ_ALIGN.out.bam') + // Grouping the bams from the same samples not to stall the workflow + bam_mapped_dna = FASTQ_ALIGN.out.bam + .combine(reads_grouping_key) // Creates a tuple of [ meta, bam, reads_grouping_key ] + .filter { meta1, _bam, meta2 -> meta1.sample == meta2.sample } + // Add n_fastq and other variables to meta + .map { meta1, bam, meta2 -> + [ meta1 + meta2, bam ] + } + // Manipulate meta map to remove old fields and add new ones + .map { meta, bam -> + [ meta - meta.subMap('id', 'read_group', 'data_type', 'num_lanes', 'read_group', 'size') + [ data_type: 'bam', id: meta.sample ], bam ] + } + // Create groupKey from meta map + .map { meta, bam -> + [ groupKey( meta, meta.n_fastq), bam ] + } + // Group + .groupTuple() + + bam_mapped_dna.dump(tag:"bam_mapped_dna") + reads_for_alignment_status.rna.dump(tag:"reads_for_alignment_status.rna") + + // RNA STAR alignment + FASTQ_ALIGN_STAR ( + reads_for_alignment_status.rna, + star_index, + gtf, + params.star_ignore_sjdbgtf, + fasta_with_fai, + [ [ id:"transcript_fasta" ], [], [] ] + ) + // Grouping the bams from the same samples not to stall the workflow + bam_mapped_rna = FASTQ_ALIGN_STAR.out.bam.combine(reads_grouping_key) // Creates a tuple of [ meta, bam, reads_grouping_key ] + .filter { meta1, _bam, meta2 -> meta1.sample == meta2.sample } + // Add n_fastq and other variables to meta + .map { meta1, bam, meta2 -> + [ meta1 + meta2, bam ] + } + // Manipulate meta map to remove old fields and add new ones + .map { meta, bam -> + [ meta - meta.subMap('id', 'read_group', 'data_type', 'num_lanes', 'read_group', 'size') + [ data_type: 'bam', id: meta.sample ], bam ] + } + // Create groupKey from meta map + .map { meta, bam -> + [ groupKey( meta, meta.n_fastq), bam ] + } + // Group + .groupTuple() + bam_mapped_rna.dump(tag:"bam_mapped_rna") + // Gather QC reports + reports = reports.mix(FASTQ_ALIGN_STAR.out.stats.collect{it[1]}.ifEmpty([])) + reports = reports.mix(FASTQ_ALIGN_STAR.out.log_final.collect{it[1]}.ifEmpty([])) + + // mix dna and rna in one channel + bam_mapped = bam_mapped_dna.mix(bam_mapped_rna) + + // gatk4 markduplicates can handle multiple bams as input, so no need to merge/index here + // Except if and only if skipping markduplicates or saving mapped bams + if (params.save_mapped || (params.skip_tools && params.skip_tools.split(',').contains('markduplicates'))) { + + // bams are merged (when multiple lanes from the same sample), indexed and then converted to cram + BAM_MERGE_INDEX_SAMTOOLS(bam_mapped) + + BAM_TO_CRAM_MAPPING(BAM_MERGE_INDEX_SAMTOOLS.out.bam_bai, fasta_with_fai) + // Create CSV to restart from this step + if (params.save_output_as_bam) CHANNEL_ALIGN_CREATE_CSV(BAM_MERGE_INDEX_SAMTOOLS.out.bam_bai, params.outdir, params.save_output_as_bam) + else CHANNEL_ALIGN_CREATE_CSV(BAM_TO_CRAM_MAPPING.out.cram.join(BAM_TO_CRAM_MAPPING.out.crai, failOnDuplicate: true, failOnMismatch: true), params.outdir, params.save_output_as_bam) + + // Gather used softwares versions + versions = versions.mix(BAM_MERGE_INDEX_SAMTOOLS.out.versions) + versions = versions.mix(BAM_TO_CRAM_MAPPING.out.versions_samtools) + } + + // Gather used softwares versions + versions = versions.mix(CONVERT_FASTQ_INPUT.out.versions) + versions = versions.mix(FASTQ_ALIGN.out.versions) + + } + + emit: + bam_mapped_rna = bam_mapped_rna // second pass with RG tags + bam_mapped_dna = bam_mapped_dna // second pass with RG tags + bam_mapped = bam_mapped // for preprocessing + cram_mapped = cram_mapped // for preprocessing + reports = reports + versions = versions +} diff --git a/subworkflows/local/bam_applybqsr/main.nf b/subworkflows/local/bam_applybqsr/main.nf new file mode 100644 index 00000000..25c5b068 --- /dev/null +++ b/subworkflows/local/bam_applybqsr/main.nf @@ -0,0 +1,55 @@ +// +// RECALIBRATE +// +// For all modules here: +// A when clause condition is defined in the conf/modules.config to determine if the module should be run + +include { GATK4_APPLYBQSR } from '../../../modules/nf-core/gatk4/applybqsr/main' +include { CRAM_MERGE_INDEX_SAMTOOLS } from '../cram_merge_index_samtools/main' + +workflow BAM_APPLYBQSR { + take: + cram // channel: [mandatory] [ meta, cram, crai, recal ] + dict // channel: [mandatory] [ meta, dict ] + fasta // channel: [mandatory] [ meta, fasta ] + fasta_fai // channel: [mandatory] fasta FAI path + intervals // channel: [mandatory] [ intervals, num_intervals ] or [ [], 0 ] if no intervals + + main: + versions = Channel.empty() + fasta_path = fasta.map { _meta, fa -> fa } + dict_path = dict.map { _meta, d -> d } + + // Combine cram and intervals for spread and gather strategy + cram_intervals = cram.combine(intervals) + // Move num_intervals to meta map + .map{ meta, c, crai, recal, intervls, num_intervals -> [ meta + [ num_intervals:num_intervals ], c, crai, recal, intervls ] } + cram_intervals.dump(tag:"cram_intervalsGATK4_APPLYBQSR") + // GATK4_APPLYBQSR now takes plain path inputs for the reference side channels, + // so flatten those here and keep the local wrapper interface unchanged. + GATK4_APPLYBQSR( + cram_intervals, + fasta_path, + fasta_fai, + dict_path + ) + GATK4_APPLYBQSR.out.cram.dump(tag:"GATK4_APPLYBQSR.out.cram") + // Gather the recalibrated cram files + cram_to_merge = GATK4_APPLYBQSR.out.cram.map{ meta, c -> [ groupKey(meta, meta.num_intervals), c ] }.groupTuple() + cram_to_merge.dump(tag:"cram_to_merge1") + // Merge and index the recalibrated cram files + CRAM_MERGE_INDEX_SAMTOOLS(cram_to_merge, fasta_path, fasta_fai) + + cram_recal = CRAM_MERGE_INDEX_SAMTOOLS.out.cram_crai + // Remove no longer necessary field: num_intervals + .map{ meta, c, idx -> [ meta - meta.subMap('num_intervals'), c, idx ] } + + // Gather versions of all tools used + versions = versions.mix(GATK4_APPLYBQSR.out.versions_gatk4) + versions = versions.mix(CRAM_MERGE_INDEX_SAMTOOLS.out.versions) + + emit: + cram = cram_recal // channel: [ meta, cram, crai ] + + versions // channel: [ versions.yml ] +} diff --git a/subworkflows/local/bam_baserecalibrator/main.nf b/subworkflows/local/bam_baserecalibrator/main.nf new file mode 100644 index 00000000..d51fbc37 --- /dev/null +++ b/subworkflows/local/bam_baserecalibrator/main.nf @@ -0,0 +1,63 @@ +// +// PREPARE RECALIBRATION +// +// For all modules here: +// A when clause condition is defined in the conf/modules.config to determine if the module should be run + +include { GATK4_BASERECALIBRATOR } from '../../../modules/nf-core/gatk4/baserecalibrator/main' +include { GATK4_GATHERBQSRREPORTS } from '../../../modules/nf-core/gatk4/gatherbqsrreports/main' + +workflow BAM_BASERECALIBRATOR { + take: + cram // channel: [mandatory] [ meta, cram_markduplicates, crai ] + dict // channel: [mandatory] [ meta, dict ] + fasta // channel: [mandatory] [ meta, fasta ] + fasta_fai // channel: [mandatory] fasta FAI path + intervals // channel: [mandatory] [ intervals, num_intervals ] (or [ [], 0 ] if no intervals) + known_sites // channel: [optional] [ known_sites ] + known_sites_tbi // channel: [optional] [ known_sites_tbi ] + + main: + versions = Channel.empty() + known_sites_path = known_sites.map { entry -> entry instanceof List ? entry[-1] : entry } + known_sites_tbi_path = known_sites_tbi.map { entry -> entry instanceof List ? entry[-1] : entry } + + // Combine cram and intervals for spread and gather strategy + cram_intervals = cram.combine(intervals) + // Move num_intervals to meta map + .map{ meta, c, idx, intervls, num_intervals -> [ meta + [ num_intervals:num_intervals ], c, idx, intervls ] } + + // RUN BASERECALIBRATOR + GATK4_BASERECALIBRATOR( + cram_intervals, + fasta, + fasta_fai.map{ fai -> [ [id: "fai"], fai ] }, + dict, + known_sites_path.map{ site -> [ [id: "sites"], site ] }, + known_sites_tbi_path.map{ site_tbi -> [ [id: "sites_tbi"], site_tbi ] } + ) + + // Figuring out if there is one or more table(s) from the same sample + table_to_merge = GATK4_BASERECALIBRATOR.out.table.map{ meta, table -> [ groupKey(meta, meta.num_intervals), table ] }.groupTuple().branch{ + // Use meta.num_intervals to asses number of intervals + single: it[0].num_intervals <= 1 + multiple: it[0].num_intervals > 1 + } + + // Only when using intervals + GATK4_GATHERBQSRREPORTS(table_to_merge.multiple) + + // Mix intervals and no_intervals channels together + table_bqsr = GATK4_GATHERBQSRREPORTS.out.table.mix(table_to_merge.single.map{ meta, table -> [ meta, table[0] ] }) + // Remove no longer necessary field: num_intervals + .map{ meta, table -> [ meta - meta.subMap('num_intervals'), table ] } + + // Gather versions of all tools used + versions = versions.mix(GATK4_BASERECALIBRATOR.out.versions_gatk4) + versions = versions.mix(GATK4_GATHERBQSRREPORTS.out.versions_gatk4) + + emit: + table_bqsr // channel: [ meta, table ] + + versions // channel: [ versions.yml ] +} diff --git a/subworkflows/local/bam_convert_samtools/main.nf b/subworkflows/local/bam_convert_samtools/main.nf new file mode 100644 index 00000000..ef189028 --- /dev/null +++ b/subworkflows/local/bam_convert_samtools/main.nf @@ -0,0 +1,80 @@ +// +// BAM/CRAM to FASTQ conversion, paired end only +// + +include { SAMTOOLS_VIEW as SAMTOOLS_VIEW_MAP_MAP } from '../../../modules/nf-core/samtools/view' +include { SAMTOOLS_VIEW as SAMTOOLS_VIEW_UNMAP_UNMAP } from '../../../modules/nf-core/samtools/view' +include { SAMTOOLS_VIEW as SAMTOOLS_VIEW_UNMAP_MAP } from '../../../modules/nf-core/samtools/view' +include { SAMTOOLS_VIEW as SAMTOOLS_VIEW_MAP_UNMAP } from '../../../modules/nf-core/samtools/view' +include { SAMTOOLS_MERGE as SAMTOOLS_MERGE_UNMAP } from '../../../modules/nf-core/samtools/merge' +include { SAMTOOLS_COLLATEFASTQ as COLLATE_FASTQ_UNMAP } from '../../../modules/nf-core/samtools/collatefastq' +include { SAMTOOLS_COLLATEFASTQ as COLLATE_FASTQ_MAP } from '../../../modules/nf-core/samtools/collatefastq' +include { CAT_FASTQ } from '../../../modules/nf-core/cat/fastq' + +workflow BAM_CONVERT_SAMTOOLS { + take: + input // channel: [ meta, alignment (BAM or CRAM), index (optional) ] + fasta // channel: [mandatory] [ meta, fasta ] (when reference-backed conversion is needed) + fasta_fai // channel: [mandatory] fasta_fai (when reference-backed conversion is needed) + interleaved // value: true/false + + main: + versions = Channel.empty() + fasta_with_fai = fasta.combine(fasta_fai).map { meta, fa, fai -> [meta, fa, fai] }.first() + fasta_with_fai_gzi = fasta.combine(fasta_fai).map { meta, fa, fai -> [meta, fa, fai, []] }.first() + + // Index File if not PROVIDED -> this also requires updates to samtools view possibly URGH + + // MAP - MAP + SAMTOOLS_VIEW_MAP_MAP(input, fasta_with_fai, [[id:''], []], [[id:''], []], '') + + // UNMAP - UNMAP + SAMTOOLS_VIEW_UNMAP_UNMAP(input, fasta_with_fai, [[id:''], []], [[id:''], []], '') + + // UNMAP - MAP + SAMTOOLS_VIEW_UNMAP_MAP(input, fasta_with_fai, [[id:''], []], [[id:''], []], '') + + // MAP - UNMAP + SAMTOOLS_VIEW_MAP_UNMAP(input, fasta_with_fai, [[id:''], []], [[id:''], []], '') + + // Merge UNMAP + all_unmapped_bam = SAMTOOLS_VIEW_UNMAP_UNMAP.out.bam + .join(SAMTOOLS_VIEW_UNMAP_MAP.out.bam, failOnDuplicate: true, remainder: true) + .join(SAMTOOLS_VIEW_MAP_UNMAP.out.bam, failOnDuplicate: true, remainder: true) + // The updated nf-core samtools/merge module expects both input files and an + // index-files slot. BAM indexes are not needed for the merge itself here, so + // pass an explicit empty list to satisfy the module interface. + .map{ meta, unmap_unmap, unmap_map, map_unmap -> [ meta, [ unmap_unmap, unmap_map, map_unmap ], [] ] } + SAMTOOLS_MERGE_UNMAP(all_unmapped_bam, fasta_with_fai_gzi) + + // Collate & convert unmapped + COLLATE_FASTQ_UNMAP(SAMTOOLS_MERGE_UNMAP.out.bam, fasta_with_fai, interleaved) + + // Collate & convert mapped + COLLATE_FASTQ_MAP(SAMTOOLS_VIEW_MAP_MAP.out.bam, fasta_with_fai, interleaved) + + // join Mapped & unmapped fastq + + reads_to_concat = COLLATE_FASTQ_MAP.out.fastq + .join(COLLATE_FASTQ_UNMAP.out.fastq, failOnDuplicate: true, failOnMismatch: true) + .map{ meta, mapped_reads, unmapped_reads -> [ meta, [ mapped_reads[0], mapped_reads[1], unmapped_reads[0], unmapped_reads[1] ] ] } + + // Concatenate Mapped_R1 with Unmapped_R1 and Mapped_R2 with Unmapped_R2 + CAT_FASTQ(reads_to_concat) + reads = CAT_FASTQ.out.reads + + // Gather versions of all tools used + versions = versions.mix(CAT_FASTQ.out.versions_cat) + versions = versions.mix(COLLATE_FASTQ_MAP.out.versions_samtools) + versions = versions.mix(COLLATE_FASTQ_UNMAP.out.versions_samtools) + versions = versions.mix(SAMTOOLS_MERGE_UNMAP.out.versions_samtools) + versions = versions.mix(SAMTOOLS_VIEW_MAP_MAP.out.versions_samtools) + versions = versions.mix(SAMTOOLS_VIEW_MAP_UNMAP.out.versions_samtools) + versions = versions.mix(SAMTOOLS_VIEW_UNMAP_MAP.out.versions_samtools) + versions = versions.mix(SAMTOOLS_VIEW_UNMAP_UNMAP.out.versions_samtools) + + emit: + reads + + versions +} diff --git a/subworkflows/local/bam_gatk_preprocessing/main.nf b/subworkflows/local/bam_gatk_preprocessing/main.nf new file mode 100644 index 00000000..51451d64 --- /dev/null +++ b/subworkflows/local/bam_gatk_preprocessing/main.nf @@ -0,0 +1,379 @@ +// +// GATK pre-processing best practices +// +// Markduplicates +include { SAMTOOLS_CONVERT as BAM_TO_CRAM } from '../../../modules/nf-core/samtools/convert/main' +include { SAMTOOLS_CONVERT as CRAM_TO_BAM } from '../../../modules/nf-core/samtools/convert/main' +include { BAM_MARKDUPLICATES } from '../../local/bam_markduplicates/main' +include { CHANNEL_MARKDUPLICATES_CREATE_CSV } from '../../local/channel_markduplicates_create_csv/main' +include { CRAM_QC_MOSDEPTH_SAMTOOLS as CRAM_QC_NO_MD } from '../../local/cram_qc_mosdepth_samtools/main' +// Splitncigarreads +include { BAM_SPLITNCIGARREADS } from '../../local/bam_splitncigarreads/main' +include { CHANNEL_SPLITNCIGARREADS_CREATE_CSV } from '../../local/channel_splitncigarreads_create_csv/main' +// Create recalibration tables +include { BAM_BASERECALIBRATOR } from '../../local/bam_baserecalibrator/main' +include { CHANNEL_BASERECALIBRATOR_CREATE_CSV } from '../../local/channel_baserecalibrator_create_csv/main' +// Create recalibrated cram files to use for variant calling (+QC) +include { BAM_APPLYBQSR } from '../../local/bam_applybqsr/main' +include { CHANNEL_APPLYBQSR_CREATE_CSV } from '../../local/channel_applybqsr_create_csv/main' +include { CRAM_QC_MOSDEPTH_SAMTOOLS as CRAM_QC_RECAL } from '../../local/cram_qc_mosdepth_samtools/main' +include { SAMTOOLS_CONVERT as CRAM_TO_BAM_RECAL } from '../../../modules/nf-core/samtools/convert/main' + + +workflow BAM_GATK_PREPROCESSING { + take: + input_sample // channel: [optional] input from CSV if applicable + bam_mapped // channel: [mandatory] bam_mapped + cram_mapped // channel: [mandatory] cram_mapped + fasta // channel: [mandatory] [ meta, fasta ] + fasta_fai // channel: [mandatory] fasta FAI path + dict // channel: [mandatory] [ meta, dict ] + known_sites_indels // channel: [optional] known_sites + known_sites_indels_tbi // channel: [optional] known_sites + intervals_for_preprocessing // channel: [mandatory] intervals/wes + intervals_and_num_intervals // channel: [mandatory] [ intervals, num_intervals ] (or [ [], 0 ] if no intervals) + realignment // boolean + + + main: + reports = Channel.empty() + versions = Channel.empty() + cram_variant_calling = Channel.empty() + dict_path = dict.map { _meta, d -> d } + fasta_with_fai = fasta.combine(fasta_fai).map { meta, fa, fai -> [meta, fa, fai] }.first() + // Markduplicates + if (params.step in ['mapping', 'markduplicates'] || realignment) { + + cram_markduplicates_no_spark = Channel.empty() + // make sure data_type is present + bam_mapped = bam_mapped.map { infoMap -> + infoMap[0] = (infoMap[0] + [data_type: "bam"]) + infoMap } + cram_mapped = cram_mapped.map { infoMap -> + infoMap[0] = (infoMap[0] + [data_type: "cram"]) + infoMap } + // cram_for_markduplicates will contain bam mapped with FASTQ_ALIGN_BWAMEM_MEM2_DRAGMAP when step is mapping + // Or bams that are specified in the samplesheet.csv when step is prepare_recalibration + cram_for_markduplicates = params.step == 'mapping' || realignment ? bam_mapped : input_sample.map{ meta, input, index -> [ meta, input ] } + + // if no MD is done, then run QC on mapped & converted CRAM files + // or the input BAM (+converted) or CRAM files + cram_skip_markduplicates = Channel.empty() + + // Should it be possible to restart from converted crams? + // For now, conversion from bam to cram is only done when skipping markduplicates + if ((params.skip_tools && params.skip_tools.split(',').contains('markduplicates')) && !realignment) { + if (params.step == 'mapping') { + cram_skip_markduplicates = cram_for_markduplicates + } else { + input_markduplicates_convert = cram_for_markduplicates.branch{ + bam: it[0].data_type == "bam" + cram: it[0].data_type == "cram" + } + + // Convert any input BAMs to CRAM + BAM_TO_CRAM(input_markduplicates_convert.bam, fasta_with_fai) + versions = versions.mix(BAM_TO_CRAM.out.versions_samtools) + + cram_skip_markduplicates = Channel.empty().mix(input_markduplicates_convert.cram, BAM_TO_CRAM.out.cram) + } + + CRAM_QC_NO_MD(cram_skip_markduplicates, fasta, fasta_fai, intervals_for_preprocessing) + + // Gather QC reports + reports = reports.mix(CRAM_QC_NO_MD.out.reports.collect{ meta, report -> report }) + + // Gather used softwares versions + versions = versions.mix(CRAM_QC_NO_MD.out.versions) + } else { + cram_for_markduplicates.dump(tag:"cram_for_markduplicates") + fasta.dump(tag:"fasta_for_markduplicates") + fasta_fai.dump(tag:"fasta_fai_for_markduplicates") + intervals_for_preprocessing.dump(tag:"intervals_for_preprocessing_for_markduplicates") + BAM_MARKDUPLICATES( + cram_for_markduplicates, + fasta, + fasta_fai, + intervals_for_preprocessing) + + cram_markduplicates_no_spark = BAM_MARKDUPLICATES.out.cram + + // Gather QC reports + reports = reports.mix(BAM_MARKDUPLICATES.out.reports.collect{ meta, report -> report }) + + // Gather used softwares versions + versions = versions.mix(BAM_MARKDUPLICATES.out.versions) + } + + // ch_md_cram_for_restart contains crams from markduplicates + ch_md_cram_for_restart = Channel.empty().mix(cram_markduplicates_no_spark) + // Make sure correct data types are carried through + .map{ meta, cram, crai -> [ meta + [data_type: "cram"], cram, crai ] } + // If params.save_output_as_bam, then convert CRAM files to BAM + // CSV should be written for the file actually out, either CRAM or BAM + // Create CSV to restart from this step + csv_subfolder = 'markduplicates' + if (params.save_output_as_bam){ + CRAM_TO_BAM(ch_md_cram_for_restart, fasta_with_fai) + versions = versions.mix(CRAM_TO_BAM.out.versions_samtools) + cram_to_bam_bai = CRAM_TO_BAM.out.bam.join(CRAM_TO_BAM.out.bai, failOnDuplicate: true, failOnMismatch: true) + CHANNEL_MARKDUPLICATES_CREATE_CSV(cram_to_bam_bai, csv_subfolder, params.outdir, params.save_output_as_bam) + } else { + CHANNEL_MARKDUPLICATES_CREATE_CSV(ch_md_cram_for_restart, csv_subfolder, params.outdir, params.save_output_as_bam) + } + } else { + ch_md_cram_for_restart = Channel.empty().mix(input_sample) + cram_skip_markduplicates = Channel.empty().mix(input_sample) + } + + + // SplitNCigarReads for RNA + cram_skip_splitncigar = ch_md_cram_for_restart?: cram_skip_markduplicates + if (params.step in ['mapping', 'markduplicates', 'splitncigar'] || realignment) { + if (params.step == "splitncigarreads"){ + // Support if starting from BAM or CRAM files + input_sncr_convert = input_sample.branch{ + bam: it[0].data_type == "bam" + cram: it[0].data_type == "cram" + } + + input_sncr_convert = input_sncr_convert.bam.map{ meta, bam, bai, table -> [ meta, bam, bai ] } + // BAM files first must be converted to CRAM files since from this step on we base everything on CRAM format + BAM_TO_CRAM(input_sncr_convert, fasta_with_fai) + versions = versions.mix(BAM_TO_CRAM.out.versions_samtools) + + sncr_cram_from_bam = BAM_TO_CRAM.out.cram + // Make sure correct data types are carried through + .map{ meta, cram, crai -> [ meta + [data_type: "cram"], cram, crai ] } + + cram_skip_splitncigar = Channel.empty().mix(sncr_cram_from_bam, input_sncr_convert.cram) + } + + // cram_for_bam_splitncigar contains either: + // - crams from markduplicates + // - crams converted from bam mapped when skipping markduplicates + // - input cram files, when start from step markduplicates + cram_skip_splitncigar = cram_skip_splitncigar + // Make sure correct data types are carried through + .map{ meta, cram, crai -> [ meta + [data_type: "cram"], cram, crai ] } + cram_splitncigar_no_spark = Channel.empty() + if (!(params.skip_tools && params.skip_tools.split(',').contains('splitncigar')) || realignment) { + cram_skip_splitncigar.dump(tag:"cram_skip_splitncigar") + cram_for_splitncigar_status = cram_skip_splitncigar.branch{ + dna: it[0].status < 2 + rna: it[0].status >= 2 + } + BAM_SPLITNCIGARREADS ( + cram_for_splitncigar_status.rna, + dict_path.map { d -> [[id: "dict"], d] }, + fasta, + fasta_fai, + intervals_and_num_intervals + ) + + cram_splitncigar_no_spark = BAM_SPLITNCIGARREADS.out.cram.mix(cram_for_splitncigar_status.dna) + + // Gather used softwares versions + versions = versions.mix(BAM_SPLITNCIGARREADS.out.versions) + + cram_skip_splitncigar = Channel.empty() + } + + // cram_splitncigar_no_spark contains crams from splitncigar or markduplicates if applicable + ch_sncr_cram_for_restart = Channel.empty().mix(cram_splitncigar_no_spark).mix(cram_skip_splitncigar) + // Make sure correct data types are carried through + .map{ meta, cram, crai -> [ meta + [data_type: "cram"], cram, crai ] } + } else { + ch_sncr_cram_for_restart = Channel.empty() + } + + // BQSR + ch_cram_for_bam_baserecalibrator = ch_sncr_cram_for_restart?: cram_skip_splitncigar + if (params.step in ['mapping', 'markduplicates', 'splitncigar', 'prepare_recalibration'] & !realignment) { + + // Run if starting from step "prepare_recalibration". This will not run for second pass + if (params.step == 'prepare_recalibration' && !realignment) { + + // Support if starting from BAM or CRAM files + input_prepare_recal_convert = input_sample.branch{ + bam: it[0].data_type == "bam" + cram: it[0].data_type == "cram" + } + + // BAM files first must be converted to CRAM files since from this step on we base everything on CRAM format + BAM_TO_CRAM(input_prepare_recal_convert.bam, fasta_with_fai) + versions = versions.mix(BAM_TO_CRAM.out.versions_samtools) + + sncr_cram_from_bam = BAM_TO_CRAM.out.cram + // Make sure correct data types are carried through + .map{ meta, cram, crai -> [ meta + [data_type: "cram"], cram, crai ] } + + ch_cram_for_bam_baserecalibrator = Channel.empty().mix(ch_cram_for_bam_baserecalibrator, input_prepare_recal_convert.cram) + ch_sncr_cram_for_restart = sncr_cram_from_bam + + } else { + // ch_cram_for_bam_baserecalibrator contains either: + // - crams from markduplicates + // - crams from splitncigarreads + // - crams converted from bam mapped when skipping markduplicates + // - crams converted from bam mapped when skipping splitncigarreads + // - input cram files, when start from step markduplicates + // - input cram files, when start from step splitncigarreads + ch_cram_for_bam_baserecalibrator = Channel.empty().mix(ch_sncr_cram_for_restart, cram_skip_splitncigar ) + // Make sure correct data types are carried through + .map{ meta, cram, crai -> [ meta + [data_type: "cram"], cram, crai ] } + } + + // Create recalibration tables + if (!(params.skip_tools && params.skip_tools.split(',').contains('baserecalibrator')) && !realignment) { + + ch_table_bqsr_no_spark = Channel.empty() + ch_cram_for_bam_baserecalibrator.dump(tag:"ch_cram_for_bam_baserecalibrator") + BAM_BASERECALIBRATOR( + ch_cram_for_bam_baserecalibrator, + dict, + fasta, + fasta_fai, + intervals_and_num_intervals, + known_sites_indels, + known_sites_indels_tbi) + + ch_table_bqsr_no_spark = BAM_BASERECALIBRATOR.out.table_bqsr + + // Gather used softwares versions + versions = versions.mix(BAM_BASERECALIBRATOR.out.versions) + + + // ch_table_bqsr contains either: + // - bqsr table from baserecalibrator + ch_table_bqsr = Channel.empty().mix( + ch_table_bqsr_no_spark) + + reports = reports.mix(ch_table_bqsr.collect{ meta, table -> table }) + cram_applybqsr = ch_cram_for_bam_baserecalibrator.join(ch_table_bqsr, failOnDuplicate: true, failOnMismatch: true) + cram_applybqsr = cram_applybqsr.dump(tag:"cram_applybqsr") + // Create CSV to restart from this step + CHANNEL_BASERECALIBRATOR_CREATE_CSV(ch_sncr_cram_for_restart.join(ch_table_bqsr, failOnDuplicate: true), params.tools, params.skip_tools, params.save_output_as_bam, params.outdir) + } + } else{ + cram_variant_calling = ch_sncr_cram_for_restart + cram_applybqsr = ch_sncr_cram_for_restart + + } + + if (params.step in ['mapping', 'markduplicates', 'splitncigar','prepare_recalibration', 'recalibrate'] && !realignment) { + + // Run if starting from step "prepare_recalibration" + if (params.step == 'recalibrate' && !realignment) { + + // Support if starting from BAM or CRAM files + input_recal_convert = input_sample.branch{ + bam: it[0].data_type == "bam" + cram: it[0].data_type == "cram" + } + + // If BAM file, split up table and mapped file to convert BAM to CRAM + input_only_table = input_recal_convert.bam.map{ meta, bam, bai, table -> [ meta, table ] } + input_only_bam = input_recal_convert.bam.map{ meta, bam, bai, table -> [ meta, bam, bai ] } + + // BAM files first must be converted to CRAM files since from this step on we base everything on CRAM format + BAM_TO_CRAM(input_only_bam, fasta_with_fai) + versions = versions.mix(BAM_TO_CRAM.out.versions_samtools) + + cram_applybqsr = Channel.empty().mix( + BAM_TO_CRAM.out.cram.join(input_only_table, failOnDuplicate: true, failOnMismatch: true), + input_recal_convert.cram) + // Join together converted cram with input tables + .map{ meta, cram, crai, table -> [ meta + [data_type: "cram"], cram, crai, table ]} + } + if (!(params.skip_tools && params.skip_tools.split(',').contains('baserecalibrator')) && !realignment) { + + cram_variant_calling_no_spark = Channel.empty() + cram_applybqsr.dump(tag:"cram_applybqsr") + BAM_APPLYBQSR( + cram_applybqsr, + dict, + fasta, + fasta_fai, + intervals_and_num_intervals) + + cram_variant_calling_no_spark = BAM_APPLYBQSR.out.cram + cram_variant_calling_no_spark.dump(tag:"cram_variant_calling_no_spark") + + // Gather used softwares versions + versions = versions.mix(BAM_APPLYBQSR.out.versions) + + cram_variant_calling = Channel.empty().mix( + cram_variant_calling_no_spark) + + CRAM_QC_RECAL( + cram_variant_calling, + fasta, + fasta_fai, + intervals_for_preprocessing) + + // Gather QC reports + reports = reports.mix(CRAM_QC_RECAL.out.reports.collect{ meta, report -> report }) + + // Gather used softwares versions + versions = versions.mix(CRAM_QC_RECAL.out.versions) + + // If params.save_output_as_bam, then convert CRAM files to BAM + CRAM_TO_BAM_RECAL(cram_variant_calling, fasta_with_fai) + versions = versions.mix(CRAM_TO_BAM_RECAL.out.versions_samtools) + + converted_cram_to_bam = CRAM_TO_BAM_RECAL.out.bam.join(CRAM_TO_BAM_RECAL.out.bai, failOnDuplicate: true, failOnMismatch: true) + + // CSV should be written for the file actually out out, either CRAM or BAM + csv_recalibration = Channel.empty() + csv_recalibration = params.save_output_as_bam ? converted_cram_to_bam : cram_variant_calling + + // Create CSV to restart from this step + CHANNEL_APPLYBQSR_CREATE_CSV(csv_recalibration) + + } else if (params.step == 'recalibrate') { + // cram_variant_calling contains either: + // - input bams converted to crams, if started from step recal + skip BQSR + // - input crams if started from step recal + skip BQSR + converted = BAM_TO_CRAM.out.cram.join(BAM_TO_CRAM.out.crai, failOnDuplicate: true, failOnMismatch: true) + cram_variant_calling = Channel.empty().mix( + converted, + input_recal_convert.cram.map{ meta, cram, crai, table -> [ meta, cram, crai ] }) + } else { + // cram_variant_calling contains either: + // - crams from markduplicates = ch_cram_for_bam_baserecalibrator if skip BQSR but not started from step recalibration + cram_variant_calling = Channel.empty().mix(ch_cram_for_bam_baserecalibrator) + } + } else{ + cram_variant_calling = cram_applybqsr + } + + + if ((params.step == 'variant_calling' || (params.step in ['consensus', 'annotate','norm','filtering', 'rna_filtering'] && params.tools && params.tools.split(',').contains("realignment"))) && !realignment) { + input_variant_calling_convert = input_sample.branch{ + bam: it[0].data_type == "bam" + cram: it[0].data_type == "cram" + } + + // BAM files first must be converted to CRAM files since from this step on we base everything on CRAM format + BAM_TO_CRAM(input_variant_calling_convert.bam, fasta_with_fai) + versions = versions.mix(BAM_TO_CRAM.out.versions_samtools) + BAM_TO_CRAM.out.cram.dump(tag:"BAM_TO_CRAM.out.cram") + converted = BAM_TO_CRAM.out.cram.join(BAM_TO_CRAM.out.crai, failOnDuplicate: true, failOnMismatch: true) + converted.dump(tag:"converted") + cram_variant_calling = Channel.empty().mix(converted, input_variant_calling_convert.cram) + + } + cram_variant_calling.dump(tag:"cram_variant_calling_BEFORE") + // Remove lane from id (which is sample) + cram_variant_calling = cram_variant_calling.map{meta, cram, crai -> +// meta['read_group'] = meta['read_group'].replaceFirst(/ID:[^\s]+/, "ID:" + meta['sample']) + meta['id'] = meta['sample'] + [meta, cram, crai]} + cram_variant_calling.dump(tag:"cram_variant_calling_AFTER") + + emit: + cram_variant_calling = cram_variant_calling + versions = versions + reports = reports +} diff --git a/subworkflows/local/bam_markduplicates/main.nf b/subworkflows/local/bam_markduplicates/main.nf new file mode 100644 index 00000000..a4345b73 --- /dev/null +++ b/subworkflows/local/bam_markduplicates/main.nf @@ -0,0 +1,45 @@ +// +// MARKDUPLICATES AND QC after mapping +// +// For all modules here: +// A when clause condition is defined in the conf/modules.config to determine if the module should be run + +include { CRAM_QC_MOSDEPTH_SAMTOOLS } from '../cram_qc_mosdepth_samtools/main' +include { GATK4_MARKDUPLICATES } from '../../../modules/nf-core/gatk4/markduplicates/main' + +workflow BAM_MARKDUPLICATES { + take: + bam // channel: [mandatory] [ meta, bam ] + fasta // channel: [mandatory] [ meta, fasta ] + fasta_fai // channel: [mandatory] fasta FAI path + intervals_bed_combined // channel: [optional] [ meta, intervals_bed ] + + main: + versions = Channel.empty() + reports = Channel.empty() + fasta_path = fasta.map { _meta, fa -> fa } + + // RUN MARKUPDUPLICATES + GATK4_MARKDUPLICATES(bam, fasta_path, fasta_fai) + + // Join with the crai file + cram = GATK4_MARKDUPLICATES.out.cram.join(GATK4_MARKDUPLICATES.out.crai, failOnDuplicate: true, failOnMismatch: true) + + // QC on CRAM + CRAM_QC_MOSDEPTH_SAMTOOLS(cram, fasta, fasta_fai, intervals_bed_combined) + + // Gather all reports generated + reports = reports.mix(GATK4_MARKDUPLICATES.out.metrics) + reports = reports.mix(CRAM_QC_MOSDEPTH_SAMTOOLS.out.reports) + + // Gather versions of all tools used + versions = versions.mix(GATK4_MARKDUPLICATES.out.versions_gatk4) + versions = versions.mix(GATK4_MARKDUPLICATES.out.versions_samtools) + versions = versions.mix(CRAM_QC_MOSDEPTH_SAMTOOLS.out.versions) + + emit: + cram + reports + + versions // channel: [ versions.yml ] +} diff --git a/subworkflows/local/bam_merge_index_samtools/main.nf b/subworkflows/local/bam_merge_index_samtools/main.nf new file mode 100644 index 00000000..e2dde854 --- /dev/null +++ b/subworkflows/local/bam_merge_index_samtools/main.nf @@ -0,0 +1,46 @@ +// +// MERGE INDEX BAM +// +// For all modules here: +// A when clause condition is defined in the conf/modules.config to determine if the module should be run + +include { SAMTOOLS_INDEX as INDEX_MERGE_BAM } from '../../../modules/nf-core/samtools/index/main' +include { SAMTOOLS_MERGE as MERGE_BAM } from '../../../modules/nf-core/samtools/merge/main' + +workflow BAM_MERGE_INDEX_SAMTOOLS { + take: + bam // channel: [mandatory] meta, bam + + main: + versions = Channel.empty() + empty_fasta_with_fai_gzi = [[id:'fasta'], [], [], []] + + // Figuring out if there is one or more bam(s) from the same sample + bam_to_merge = bam.branch{ meta, b -> + // b is a list of BAMs, so use bam.size() to asses number of intervals + single: b.size() <= 1 + return [ meta, b[0] ] + multiple: b.size() > 1 + } + + // Only when using intervals + MERGE_BAM(bam_to_merge.multiple, empty_fasta_with_fai_gzi) + + // Mix intervals and no_intervals channels together + bam_all = MERGE_BAM.out.bam.mix(bam_to_merge.single) + + // Index bam + INDEX_MERGE_BAM(bam_all) + + // Join with the bai file + bam_bai = bam_all.join(INDEX_MERGE_BAM.out.index, failOnDuplicate: true, failOnMismatch: true) + + // Gather versions of all tools used + versions = versions.mix(INDEX_MERGE_BAM.out.versions_samtools) + versions = versions.mix(MERGE_BAM.out.versions_samtools) + + emit: + bam_bai + + versions +} diff --git a/subworkflows/local/bam_splitncigarreads/main.nf b/subworkflows/local/bam_splitncigarreads/main.nf new file mode 100644 index 00000000..d4e1f415 --- /dev/null +++ b/subworkflows/local/bam_splitncigarreads/main.nf @@ -0,0 +1,52 @@ +// +// SPLITNCIGARREADS +// +// For all modules here: +// A when clause condition is defined in the conf/modules.config to determine if the module should be run + +include { GATK4_SPLITNCIGARREADS } from '../../../modules/nf-core/gatk4/splitncigarreads/main' +include { CRAM_MERGE_INDEX_SAMTOOLS } from '../cram_merge_index_samtools/main' + +workflow BAM_SPLITNCIGARREADS { + take: + cram // channel: [mandatory] [ meta, cram_markduplicates, crai ] + dict // channel: [mandatory] [ meta, dict ] + fasta // channel: [mandatory] [ meta, fasta ] + fasta_fai // channel: [mandatory] fasta FAI path + intervals // channel: [mandatory] [ intervals, num_intervals ] (or [ [], 0 ] if no intervals) + + main: + versions = Channel.empty() + + // Combine cram and intervals for spread and gather strategy + cram_intervals = cram.combine(intervals) + // Move num_intervals to meta map + .map{ meta, crm, crai, intervls, num_intervals -> [ meta + [ num_intervals:num_intervals ], crm, crai, intervls ] } + + GATK4_SPLITNCIGARREADS ( + cram_intervals, + fasta, + fasta_fai.map{fai -> [[id:'fai'], fai]}, + dict + ) + + // Gather the recalibrated cram files + cram_to_merge = GATK4_SPLITNCIGARREADS.out.cram.map{ meta, crm -> [ groupKey(meta, meta.num_intervals), crm ] }.groupTuple() + + // Merge and index the recalibrated cram files + CRAM_MERGE_INDEX_SAMTOOLS(cram_to_merge, fasta.map{_meta, fa -> fa}, fasta_fai) + + cram_recal = CRAM_MERGE_INDEX_SAMTOOLS.out.cram_crai + // Remove no longer necessary field: num_intervals + .map{ meta, crm, crai -> [ meta - meta.subMap('num_intervals'), crm, crai ] } + + // Gather versions of all tools used + versions = versions.mix(GATK4_SPLITNCIGARREADS.out.versions_gatk4) + versions = versions.mix(GATK4_SPLITNCIGARREADS.out.versions_samtools) + versions = versions.mix(CRAM_MERGE_INDEX_SAMTOOLS.out.versions) + + + emit: + cram = cram_recal // channel: [ meta, cram, crai ] + versions // channel: [ versions.yml ] +} diff --git a/subworkflows/local/bam_variant_calling/main.nf b/subworkflows/local/bam_variant_calling/main.nf new file mode 100644 index 00000000..6d8de12f --- /dev/null +++ b/subworkflows/local/bam_variant_calling/main.nf @@ -0,0 +1,176 @@ +// +// Variant Calling +// +// For all modules here: +// A when clause condition is defined in the conf/modules.config to determine if the module should be run +// Variant calling on tumor/normal pair +include { BAM_VARIANT_CALLING_SOMATIC } from '../bam_variant_calling_somatic/main' +// QC on VCF files +include { VCF_QC_BCFTOOLS_VCFTOOLS } from '../vcf_qc_bcftools_vcftools/main' +// Create samplesheet to restart from different steps +include { CHANNEL_VARIANT_CALLING_CREATE_CSV } from '../channel_variant_calling_create_csv/main' + + + +workflow BAM_VARIANT_CALLING { + + take: + tools + cram_variant_calling + fasta // channel: [mandatory] [ meta, fasta ] + fasta_fai // channel: [mandatory] fasta FAI path + dict // channel: [mandatory] [ meta, dict ] + germline_resource + germline_resource_tbi + intervals + intervals_bed_gz_tbi + intervals_bed_combined + intervals_bed_gz_tbi_combined + pon + pon_tbi + mutect2_alleles + mutect2_alleles_tbi + input_sample + realignment + no_intervals + + main: + reports = Channel.empty() + versions = Channel.empty() + if (tools || realignment) { + if ((params.step == 'annotate' || params.step == 'norm') && (!realignment)) { + cram_variant_calling_pair = Channel.empty() + vcf_to_normalise = input_sample + contamination_table_mutect2 = Channel.empty() + segmentation_table_mutect2 = Channel.empty() + artifact_priors_mutect2 = Channel.empty() + + } else { + + // + // Logic to separate germline samples, tumor samples with no matched normal, and combine tumor-normal pairs + // + cram_variant_calling_status = cram_variant_calling.branch{ + normal: it[0].status == 0 + tumor: it[0].status >= 1 // DNA and RNA should NOT have same sample id + } + + // All Germline samples + cram_variant_calling_normal_to_cross = cram_variant_calling_status.normal.map{ meta, cram, crai -> [ meta.patient, meta, cram, crai ] } + + // All tumor samples + cram_variant_calling_pair_to_cross = cram_variant_calling_status.tumor.map{ meta, cram, crai -> [ meta.patient, meta, cram, crai ] } + + // Tumor only samples + // 1. Group together all tumor samples by patient ID [ patient1, [ meta1, meta2 ], [ cram1, crai1, cram2, crai2 ] ] + + // Downside: this only works by waiting for all tumor samples to finish preprocessing, since no group size is provided + cram_variant_calling_tumor_grouped = cram_variant_calling_pair_to_cross.groupTuple() + + // 2. Join with normal samples, in each channel there is one key per patient now. Patients without matched normal end up with: [ patient1, [ meta1, meta2 ], [ cram1, crai1, cram2, crai2 ], null ] + cram_variant_calling_tumor_joined = cram_variant_calling_tumor_grouped.join(cram_variant_calling_normal_to_cross, failOnDuplicate: true, remainder: true) + + // 3. Filter out entries with last entry null + cram_variant_calling_tumor_filtered = cram_variant_calling_tumor_joined.filter{ it -> !(it.last()) } + + // 4. Transpose [ patient1, [ meta1, meta2 ], [ cram1, crai1, cram2, crai2 ] ] back to [ patient1, meta1, [ cram1, crai1 ], null ] [ patient1, meta2, [ cram2, crai2 ], null ] + // and remove patient ID field & null value for further processing [ meta1, [ cram1, crai1 ] ] [ meta2, [ cram2, crai2 ] ] + cram_variant_calling_tumor_only = cram_variant_calling_tumor_filtered.transpose().map{ it -> [it[1], it[2], it[3]] } + + only_paired_variant_calling = true // for now only this supported + if (only_paired_variant_calling) { + // Normal only samples + + // 1. Join with tumor samples, in each channel there is one key per patient now. Patients without matched tumor end up with: [ patient1, [ meta1 ], [ cram1, crai1 ], null ] as there is only one matched normal possible + cram_variant_calling_normal_joined = cram_variant_calling_normal_to_cross.join(cram_variant_calling_tumor_grouped, failOnDuplicate: true, remainder: true) + + // 2. Filter out entries with last entry null + cram_variant_calling_normal_filtered = cram_variant_calling_normal_joined.filter{ it -> !(it.last()) } + + // 3. Remove patient ID field & null value for further processing [ meta1, [ cram1, crai1 ] ] [ meta2, [ cram2, crai2 ] ] (no transposing needed since only one normal per patient ID) + cram_variant_calling_status_normal = cram_variant_calling_normal_filtered.map{ it -> [it[1], it[2], it[3]] } + } else { + cram_variant_calling_status_normal = cram_variant_calling_status.normal + } + + // Tumor - normal pairs + // Use cross to combine normal with all tumor samples, i.e. multi tumor samples from recurrences + cram_variant_calling_pair = cram_variant_calling_normal_to_cross.cross(cram_variant_calling_pair_to_cross) + .map { normal, tumor -> + def meta = [:] + + meta.id = "${tumor[1].sample}_vs_${normal[1].sample}".toString() + meta.normal_id = normal[1].sample + meta.patient = normal[0] + meta.status = tumor[1].status + meta.tumor_id = tumor[1].sample + + [ meta, normal[2], normal[3], tumor[2], tumor[3] ] + } + + cram_variant_calling_pair.dump(tag:"cram_variant_calling_pair") + + // PAIR VARIANT CALLING + BAM_VARIANT_CALLING_SOMATIC( + tools, + cram_variant_calling_pair, + fasta, + fasta_fai, + dict, + germline_resource, + germline_resource_tbi, + intervals, + intervals_bed_gz_tbi, + intervals_bed_combined, + intervals_bed_gz_tbi_combined, + pon, + pon_tbi, + mutect2_alleles, + mutect2_alleles_tbi, + params.joint_mutect2, + realignment, + no_intervals + ) + + + // Gather vcf files for annotation and QC + vcf_to_normalise = Channel.empty().mix(BAM_VARIANT_CALLING_SOMATIC.out.vcf_all) + contamination_table_mutect2 = Channel.empty().mix(BAM_VARIANT_CALLING_SOMATIC.out.contamination_table_mutect2) + segmentation_table_mutect2 = Channel.empty().mix(BAM_VARIANT_CALLING_SOMATIC.out.segmentation_table_mutect2) + artifact_priors_mutect2 = Channel.empty().mix(BAM_VARIANT_CALLING_SOMATIC.out.artifact_priors_mutect2) + + // Gather used variant calling softwares versions + versions = versions.mix(BAM_VARIANT_CALLING_SOMATIC.out.versions) + + CHANNEL_VARIANT_CALLING_CREATE_CSV(vcf_to_normalise, "variantcalled") + } + + // QC + VCF_QC_BCFTOOLS_VCFTOOLS(vcf_to_normalise, intervals_bed_combined) + versions = versions.mix(VCF_QC_BCFTOOLS_VCFTOOLS.out.versions) + + reports = reports.mix(VCF_QC_BCFTOOLS_VCFTOOLS.out.bcftools_stats.collect{ meta, stats -> stats }) + reports = reports.mix(VCF_QC_BCFTOOLS_VCFTOOLS.out.vcftools_tstv_counts.collect{ meta, counts -> counts }) + reports = reports.mix(VCF_QC_BCFTOOLS_VCFTOOLS.out.vcftools_tstv_qual.collect{ meta, qual -> qual }) + reports = reports.mix(VCF_QC_BCFTOOLS_VCFTOOLS.out.vcftools_filter_summary.collect{ meta, summary -> summary }) + + } else{ + + cram_variant_calling_pair = Channel.empty() + vcf_to_normalise = Channel.empty() + contamination_table_mutect2 = Channel.empty() + segmentation_table_mutect2 = Channel.empty() + artifact_priors_mutect2 = Channel.empty() + + } + + emit: + cram_variant_calling_pair = cram_variant_calling_pair + vcf_to_normalise = vcf_to_normalise + contamination_table = contamination_table_mutect2 + segmentation_table = segmentation_table_mutect2 + artifact_priors = artifact_priors_mutect2 + reports = reports + versions = versions + +} diff --git a/subworkflows/local/bam_variant_calling_pre_post_processing/main.nf b/subworkflows/local/bam_variant_calling_pre_post_processing/main.nf new file mode 100644 index 00000000..81cdd151 --- /dev/null +++ b/subworkflows/local/bam_variant_calling_pre_post_processing/main.nf @@ -0,0 +1,157 @@ +// +// Core workflow of the RNA/DNA variant calling pipeline +// +// For all modules here: +// A when clause condition is defined in the conf/modules.config to determine if the module should be run +include { BAM_GATK_PREPROCESSING } from '../bam_gatk_preprocessing/main' +// For now only matched supported +include { BAM_VARIANT_CALLING } from '../bam_variant_calling/main' +// Normalize VCFs +include { VCF_NORMALIZE } from '../vcf_normalize/main' +// Annotation +include { VCF_ANNOTATE } from '../vcf_annotate/main' +// Consensus +include { VCF_CONSENSUS } from '../vcf_consensus/main' +// Filtering +include { MAF_FILTERING } from '../maf_filtering/main' + + +workflow BAM_VARIANT_CALLING_PRE_POST_PROCESSING { + take: + input_sample // input from CSV if applicable + bam_mapped // channel: [mandatory] bam_mapped + cram_mapped // channel: [mandatory] cram_mapped + fasta // channel: [mandatory] [ meta, fasta ] + fasta_fai // channel: [mandatory] fasta FAI path + dict // channel: [mandatory] [ meta, dict ] + dbsnp // channel: [optional] germline_resource + dbsnp_tbi // channel: [optional] germline_resource_tbi + pon // channel: [optional] pon for mutect2 + pon_tbi // channel: [optional] pon_tbi for mutect2 + mutect2_alleles // channel: [optional] force-call alleles VCF for mutect2 + mutect2_alleles_tbi // channel: [optional] force-call alleles VCF index for mutect2 + known_sites_indels // channel: [optional] known_sites + known_sites_indels_tbi // channel: [optional] known_sites + germline_resource // channel: [optional] germline_resource + germline_resource_tbi // channel: [optional] germline_resource + intervals // channel: [mandatory] intervals/target regions + intervals_for_preprocessing // channel: [mandatory] intervals/wes + intervals_bed_gz_tbi // channel: [mandatory] intervals/target regions index zipped and indexed + intervals_bed_combined // channel: [mandatory] intervals/target regions in one file unzipped + intervals_and_num_intervals // channel: [mandatory] [ intervals, num_intervals ] (or [ [], 0 ] if no intervals) + intervals_bed_gz_tbi_combined // channel: [mandatory] intervals/target regions in one file zipped + vep_cache // channel: [optional] vep_cache + dna_consensus_maf // to repeat rescue consensus + dna_varcall_mafs // to repeat rescue consensus + realignment // bool: true/false + no_intervals + + main: + reports = Channel.empty() + versions = Channel.empty() + + // GATK PREPROCESSING - See: https://gatk.broadinstitute.org/hc/en-us/articles/360035535912-Data-pre-processing-for-variant-discovery + BAM_GATK_PREPROCESSING( + input_sample, + bam_mapped, // channel: [mandatory] [meta, [bam]] + cram_mapped, // channel: [mandatory] [meta, [cram]] + fasta, // channel: [mandatory] [ meta, fasta ] + fasta_fai, // channel: [mandatory] fasta FAI path + dict, // channel: [mandatory] [ meta, dict ] + known_sites_indels, // channel: [optional] known_sites + known_sites_indels_tbi, // channel: [optional] known_sites + intervals_for_preprocessing, // channel: [mandatory] intervals_for_preprocessing/wes + intervals_and_num_intervals, // channel: [mandatory] intervals_for_preprocessing/wes + realignment + ) + + cram_variant_calling = BAM_GATK_PREPROCESSING.out.cram_variant_calling + versions = versions.mix(BAM_GATK_PREPROCESSING.out.versions) + reports = reports.mix(BAM_GATK_PREPROCESSING.out.reports) + cram_variant_calling.dump(tag:"cram_variant_calling1") + // VARIANT CALLING + BAM_VARIANT_CALLING( + params.tools, + cram_variant_calling, + fasta, + fasta_fai, + dict, + germline_resource, + germline_resource_tbi, + intervals, + intervals_bed_gz_tbi, + intervals_bed_combined, + intervals_bed_gz_tbi_combined, + pon, + pon_tbi, + mutect2_alleles, + mutect2_alleles_tbi, + input_sample, + realignment, + no_intervals + ) + cram_variant_calling_pair = BAM_VARIANT_CALLING.out.cram_variant_calling_pair // use same crams for force calling later + vcf_to_normalise = BAM_VARIANT_CALLING.out.vcf_to_normalise + contamination = BAM_VARIANT_CALLING.out.contamination_table + segmentation = BAM_VARIANT_CALLING.out.segmentation_table + orientation = BAM_VARIANT_CALLING.out.artifact_priors + versions = versions.mix(BAM_VARIANT_CALLING.out.versions) + reports = reports.mix(BAM_VARIANT_CALLING.out.reports) + + + // NORMALISE + VCF_NORMALIZE ( + vcf_to_normalise, + fasta, + fasta_fai.map{fai -> [[id:'fai'], fai]}, + input_sample, + realignment + ) + versions = versions.mix(VCF_NORMALIZE.out.versions) + vcf_to_annotate = VCF_NORMALIZE.out.vcf + + vcf_to_annotate.dump(tag:"vcf_to_annotate") + // ANNOTATION + + VCF_ANNOTATE( + vcf_to_annotate.map{meta, vcf -> [ meta + [ file_name: vcf.baseName ], vcf ] }, + fasta, + input_sample, + realignment, + vep_cache + ) + + vcf_to_consensus = VCF_ANNOTATE.out.vcf_ann + reports = reports.mix(VCF_ANNOTATE.out.reports) + + vcf_to_consensus.dump(tag:"vcf_to_consensus0") + // STEP 6: CONSENSUS + VCF_CONSENSUS ( + vcf_to_consensus, + fasta, + dna_consensus_maf, // null when first pass + dna_varcall_mafs, // null when first pass + input_sample, + realignment + ) + + dna_consensus_maf = VCF_CONSENSUS.out.maf_consensus_dna + dna_varcall_mafs = VCF_CONSENSUS.out.mafs_dna + maf_to_filter = VCF_CONSENSUS.out.maf + versions = versions.mix(VCF_CONSENSUS.out.versions) + + maf_to_filter.dump(tag:"maf_to_filter0") + // STEP 7: FILTERING + MAF_FILTERING(maf_to_filter, fasta, input_sample, realignment) + filtered_maf = MAF_FILTERING.out.maf + versions = versions.mix(MAF_FILTERING.out.versions) + + + emit: + dna_consensus_maf = dna_consensus_maf + dna_varcall_mafs = dna_varcall_mafs + cram_variant_calling = cram_variant_calling + maf = filtered_maf + versions = versions // channel: [ versions.yml ] + reports = reports +} diff --git a/subworkflows/local/bam_variant_calling_somatic/main.nf b/subworkflows/local/bam_variant_calling_somatic/main.nf new file mode 100644 index 00000000..66fa52f7 --- /dev/null +++ b/subworkflows/local/bam_variant_calling_somatic/main.nf @@ -0,0 +1,142 @@ +// +// PAIRED VARIANT CALLING +// +include { BAM_VARIANT_CALLING_SOMATIC_MANTA } from '../bam_variant_calling_somatic_manta/main' +include { BAM_VARIANT_CALLING_SOMATIC_MUTECT2 } from '../bam_variant_calling_somatic_mutect2/main' +include { BAM_VARIANT_CALLING_SOMATIC_STRELKA } from '../bam_variant_calling_somatic_strelka/main' +include { BAM_VARIANT_CALLING_SOMATIC_SAGE } from '../bam_variant_calling_somatic_sage/main' + +workflow BAM_VARIANT_CALLING_SOMATIC { + take: + tools // Mandatory, list of tools to apply + cram // channel: [mandatory] cram + fasta // channel: [mandatory] [ meta, fasta ] + fasta_fai // channel: [mandatory] fasta FAI path + dict // channel: [mandatory] [ meta, dict ] + germline_resource // channel: [optional] germline_resource + germline_resource_tbi // channel: [optional] germline_resource_tbi + intervals // channel: [mandatory] [ intervals, num_intervals ] or [ [], 0 ] if no intervals + intervals_bed_gz_tbi // channel: [mandatory] intervals/target regions index zipped and indexed + intervals_bed_combined // channel: [mandatory] intervals/target regions in one file unzipped + intervals_bed_gz_tbi_combined // [] if no_intervals, else interval_bed_combined_gz, interval_bed_combined_gz_tbi + panel_of_normals // channel: [optional] panel_of_normals + panel_of_normals_tbi // channel: [optional] panel_of_normals_tbi + mutect2_alleles // channel: [optional] force-call alleles VCF for mutect2 + mutect2_alleles_tbi // channel: [optional] force-call alleles VCF index for mutect2 + joint_mutect2 // boolean: [mandatory] [default: false] run mutect2 in joint mode + realignment + no_intervals + + main: + versions = Channel.empty() + + vcf_manta = Channel.empty() + vcf_strelka = Channel.empty() + vcf_mutect2 = Channel.empty() + vcf_sage = Channel.empty() + // SAGE + if (tools && tools.split(',').contains('sage') || realignment) { + cram.dump(tag:"sage_cram") + BAM_VARIANT_CALLING_SOMATIC_SAGE( + cram, + // Remap channel to match module/subworkflow + dict, + // Remap channel to match module/subworkflow + fasta, + // Remap channel to match module/subworkflow + fasta_fai.map{ it -> [ [ id:'fasta_fai' ], it ] }, + intervals + ) + + vcf_sage = BAM_VARIANT_CALLING_SOMATIC_SAGE.out.vcf + vcf_sage.dump(tag:"vcf_sage") + versions = versions.mix(BAM_VARIANT_CALLING_SOMATIC_SAGE.out.versions) + } + + // MANTA + if (tools && tools.split(',').contains('manta')) { + BAM_VARIANT_CALLING_SOMATIC_MANTA( + cram, + fasta, + fasta_fai, + intervals_bed_gz_tbi_combined + ) + + vcf_manta = BAM_VARIANT_CALLING_SOMATIC_MANTA.out.vcf + versions = versions.mix(BAM_VARIANT_CALLING_SOMATIC_MANTA.out.versions) + } + + // STRELKA + if (tools && tools.split(',').contains('strelka') || realignment) { + // Remap channel to match module/subworkflow + cram_strelka = (tools && tools.split(',').contains('manta')) ? + cram.join(BAM_VARIANT_CALLING_SOMATIC_MANTA.out.candidate_small_indels_vcf, failOnDuplicate: true, failOnMismatch: true).join(BAM_VARIANT_CALLING_SOMATIC_MANTA.out.candidate_small_indels_vcf_tbi, failOnDuplicate: true, failOnMismatch: true) : + cram.map{ meta, normal_cram, normal_crai, tumor_cram, tumor_crai -> [ meta, normal_cram, normal_crai, tumor_cram, tumor_crai, [], [] ] } + + BAM_VARIANT_CALLING_SOMATIC_STRELKA( + cram_strelka, + // Remap channel to match module/subworkflow + dict, + fasta, + fasta_fai, + intervals_bed_gz_tbi, + no_intervals + ) + + vcf_strelka = Channel.empty().mix(BAM_VARIANT_CALLING_SOMATIC_STRELKA.out.vcf) + versions = versions.mix(BAM_VARIANT_CALLING_SOMATIC_STRELKA.out.versions) + } + + // MUTECT2 + if (tools && tools.split(',').contains('mutect2') || realignment) { + mutect_cram = cram.map { meta, normal_cram, normal_crai, tumor_cram, tumor_crai -> [ meta, [ normal_cram, tumor_cram ], [ normal_crai, tumor_crai ] ] } + BAM_VARIANT_CALLING_SOMATIC_MUTECT2( + // Remap channel to match module/subworkflow + mutect_cram, + // Remap channel to match module/subworkflow + fasta, + // Remap channel to match module/subworkflow + fasta_fai.map{ it -> [ [ id:'fasta_fai' ], it ] }, + dict, + germline_resource, + germline_resource_tbi, + panel_of_normals, + panel_of_normals_tbi, + mutect2_alleles, + mutect2_alleles_tbi, + intervals, + joint_mutect2, + realignment + ) + + vcf_mutect2 = BAM_VARIANT_CALLING_SOMATIC_MUTECT2.out.vcf_filtered + contamination_table_mutect2 = BAM_VARIANT_CALLING_SOMATIC_MUTECT2.out.contamination_table + segmentation_table_mutect2 = BAM_VARIANT_CALLING_SOMATIC_MUTECT2.out.segmentation_table + artifact_priors_mutect2 = BAM_VARIANT_CALLING_SOMATIC_MUTECT2.out.artifact_priors + versions = versions.mix(BAM_VARIANT_CALLING_SOMATIC_MUTECT2.out.versions) + } else { + + contamination_table_mutect2 = Channel.empty() + segmentation_table_mutect2 = Channel.empty() + artifact_priors_mutect2 = Channel.empty() + + + } + + vcf_all = Channel.empty().mix( + vcf_mutect2, + vcf_strelka, + vcf_sage + ) + + emit: + vcf_all + vcf_manta + vcf_mutect2 + vcf_strelka + vcf_sage + contamination_table_mutect2 = contamination_table_mutect2 + segmentation_table_mutect2 = segmentation_table_mutect2 + artifact_priors_mutect2 = artifact_priors_mutect2 + versions +} diff --git a/subworkflows/local/bam_variant_calling_somatic_manta/main.nf b/subworkflows/local/bam_variant_calling_somatic_manta/main.nf new file mode 100644 index 00000000..4bbe8b4d --- /dev/null +++ b/subworkflows/local/bam_variant_calling_somatic_manta/main.nf @@ -0,0 +1,48 @@ +// +// MANTA somatic variant calling +// +// For all modules here: +// A when clause condition is defined in the conf/modules.config to determine if the module should be run + +include { MANTA_SOMATIC } from '../../../modules/nf-core/manta/somatic/main' + +workflow BAM_VARIANT_CALLING_SOMATIC_MANTA { + take: + cram // channel: [mandatory] [ meta, cram1, crai1, cram2, crai2 ] + fasta // channel: [mandatory] [ meta, fasta ] + fasta_fai // channel: [mandatory] fasta FAI path + intervals // channel: [mandatory] [ interval.bed.gz, interval.bed.gz.tbi ] or [ [], [] ] if no intervals + + main: + versions = Channel.empty() + fasta_fai_with_meta = fasta.combine(fasta_fai).map { meta, _fa, fai -> [meta, fai] }.first() + + // Combine cram and intervals, account for 0 intervals + cram_intervals = cram.combine(intervals).map{ it -> + def bed_gz = it.size() > 5 ? it[5] : [] + def bed_tbi = it.size() > 5 ? it[6] : [] + + [it[0], it[1], it[2], it[3], it[4], bed_gz, bed_tbi] + } + + MANTA_SOMATIC(cram_intervals, fasta, fasta_fai_with_meta, []) + + candidate_small_indels_vcf = MANTA_SOMATIC.out.candidate_small_indels_vcf + candidate_small_indels_vcf_tbi = MANTA_SOMATIC.out.candidate_small_indels_vcf_tbi + candidate_sv_vcf = MANTA_SOMATIC.out.candidate_sv_vcf + diploid_sv_vcf = MANTA_SOMATIC.out.diploid_sv_vcf + somatic_sv_vcf = MANTA_SOMATIC.out.somatic_sv_vcf + + // Only diploid and somatic SV should get annotated + // add variantcaller to meta map + vcf = Channel.empty().mix(diploid_sv_vcf, somatic_sv_vcf).map{ meta, vcf -> [ meta + [ variantcaller:'manta' ], vcf ] } + + versions = versions.mix(MANTA_SOMATIC.out.versions_manta) + + emit: + candidate_small_indels_vcf + candidate_small_indels_vcf_tbi + vcf + + versions +} diff --git a/subworkflows/local/bam_variant_calling_somatic_mutect2/main.nf b/subworkflows/local/bam_variant_calling_somatic_mutect2/main.nf new file mode 100644 index 00000000..b843c9bd --- /dev/null +++ b/subworkflows/local/bam_variant_calling_somatic_mutect2/main.nf @@ -0,0 +1,275 @@ +// +// +// MUTECT2: tumor-normal mode variantcalling: getpileupsummaries, calculatecontamination, learnreadorientationmodel and filtermutectcalls +// + +include { GATK4_CALCULATECONTAMINATION as CALCULATECONTAMINATION } from '../../../modules/nf-core/gatk4/calculatecontamination/main' +include { GATK4_FILTERMUTECTCALLS as FILTERMUTECTCALLS } from '../../../modules/nf-core/gatk4/filtermutectcalls/main' +include { GATK4_GATHERPILEUPSUMMARIES as GATHERPILEUPSUMMARIES_NORMAL } from '../../../modules/nf-core/gatk4/gatherpileupsummaries/main' +include { GATK4_GATHERPILEUPSUMMARIES as GATHERPILEUPSUMMARIES_TUMOR } from '../../../modules/nf-core/gatk4/gatherpileupsummaries/main' +include { GATK4_GETPILEUPSUMMARIES as GETPILEUPSUMMARIES_NORMAL } from '../../../modules/nf-core/gatk4/getpileupsummaries/main' +include { GATK4_GETPILEUPSUMMARIES as GETPILEUPSUMMARIES_TUMOR } from '../../../modules/nf-core/gatk4/getpileupsummaries/main' +include { GATK4_LEARNREADORIENTATIONMODEL as LEARNREADORIENTATIONMODEL } from '../../../modules/nf-core/gatk4/learnreadorientationmodel/main' +include { GATK4_MERGEMUTECTSTATS as MERGEMUTECTSTATS } from '../../../modules/nf-core/gatk4/mergemutectstats/main' +include { GATK4_MERGEVCFS as MERGE_MUTECT2 } from '../../../modules/nf-core/gatk4/mergevcfs/main' +include { GATK4_MUTECT2 as MUTECT2_PAIRED } from '../../../modules/nf-core/gatk4/mutect2/main' + +workflow BAM_VARIANT_CALLING_SOMATIC_MUTECT2 { + take: + input // channel: [ meta, [ input ], [ input_index ] ] + fasta // channel: [mandatory] [ meta, fasta ] + fai // channel: [mandatory] [ meta, fasta_fai ] + dict // channel: [mandatory] [ meta, dict ] + germline_resource // channel: /path/to/germline/resource + germline_resource_tbi // channel: /path/to/germline/index + panel_of_normals // channel: /path/to/panel/of/normals + panel_of_normals_tbi // channel: /path/to/panel/of/normals/index + alleles // channel: /path/to/force-call alleles VCF + alleles_tbi // channel: /path/to/force-call alleles VCF index + intervals // channel: [mandatory] [ intervals, num_intervals ] or [ [], 0 ] if no intervals + joint_mutect2 // boolean: [mandatory] [default: false] run mutect2 in joint mode + realignment // boolean: [mandatory] if realignment + + main: + versions = Channel.empty() + + // The updated nf-core Mutect2 module expects the FASTA index and optional GZI + // in a single tuple. Alleles are provided as optional workflow inputs so users + // can enable force-calling without pushing params into this subworkflow. + fai_gzi = fai.map { meta, fai_file -> + [ meta, fai_file instanceof List ? fai_file[0] : fai_file, [] ] + } + + //If no germline resource is provided, then create an empty channel to avoid GetPileupsummaries from being run + germline_resource_pileup = germline_resource_tbi ? germline_resource : Channel.empty() + germline_resource_pileup_tbi = germline_resource_tbi ?: Channel.empty() + + // Combine input and intervals for spread and gather strategy + input_intervals = input.combine(intervals) + // Move num_intervals to meta map and reorganize channel for MUTECT2_PAIRED module + .map{ meta, input_list, input_index_list, intervls, num_intervals -> [ meta + [ num_intervals:num_intervals ], input_list, input_index_list, intervls ] } + + if (joint_mutect2) { // TODO: test this mode + // Separate normal cram files and remove duplicates + ch_cram = input.multiMap{ meta, cram, crai -> + normal: [ meta - meta.subMap('tumor_id') , cram[0], crai[0] ] + tumor: [ meta - meta.subMap('tumor_id') , cram[1], crai[1] ] + } + + // Remove duplicates from normal channel and merge normal and tumor crams by patient + ch_tn_cram = ch_cram.normal.unique().mix(ch_cram.tumor).groupTuple() + // Combine input and intervals for scatter and gather strategy + ch_tn_intervals = ch_tn_cram.combine(intervals) + // Move num_intervals to meta map and reorganize channel for MUTECT2_PAIRED module + // meta: [id:patient_id, num_intervals, patient, sex] + .map{ meta, cram, crai, intervls, num_intervals -> [ meta + [ num_intervals:num_intervals ], cram, crai, intervls ] } + MUTECT2_PAIRED( + ch_tn_intervals, + fasta, + fai_gzi, + dict, + alleles, + alleles_tbi, + germline_resource, + germline_resource_tbi, + panel_of_normals, + panel_of_normals_tbi + ) + } + else { + // Perform variant calling using mutect2 module pair mode + MUTECT2_PAIRED( + input_intervals, + fasta, + fai_gzi, + dict, + alleles, + alleles_tbi, + germline_resource, + germline_resource_tbi, + panel_of_normals, + panel_of_normals_tbi + ) + } + + // Figuring out if there is one or more vcf(s) from the same sample + vcf_branch = MUTECT2_PAIRED.out.vcf.branch{ + // Use meta.num_intervals to asses number of intervals + intervals: it[0].num_intervals > 1 + no_intervals: it[0].num_intervals <= 1 + } + + // Figuring out if there is one or more tbi(s) from the same sample + tbi_branch = MUTECT2_PAIRED.out.tbi.branch{ + // Use meta.num_intervals to asses number of intervals + intervals: it[0].num_intervals > 1 + no_intervals: it[0].num_intervals <= 1 + } + + // Figuring out if there is one or more vcf(s) from the same sample + stats_branch = MUTECT2_PAIRED.out.stats.branch{ + // Use meta.num_intervals to asses number of intervals + intervals: it[0].num_intervals > 1 + no_intervals: it[0].num_intervals <= 1 + } + + // Figuring out if there is one or more vcf(s) from the same sample + f1r2_branch = MUTECT2_PAIRED.out.f1r2.branch{ + // Use meta.num_intervals to asses number of intervals + intervals: it[0].num_intervals > 1 + no_intervals: it[0].num_intervals <= 1 + } + + // Only when using intervals + vcf_to_merge = vcf_branch.intervals.map{ meta, vcf -> [ groupKey(meta, meta.num_intervals), vcf ] }.groupTuple() + stats_to_merge = stats_branch.intervals.map{ meta, stats -> [ groupKey(meta, meta.num_intervals), stats ] }.groupTuple() + f1r2_to_merge = f1r2_branch.intervals.map{ meta, f1r2 -> [ groupKey(meta, meta.num_intervals), f1r2 ] }.groupTuple() + + MERGE_MUTECT2(vcf_to_merge, dict) + MERGEMUTECTSTATS(stats_to_merge) + + // Mix intervals and no_intervals channels together and remove no longer necessary field: normal_id, tumor_id, num_intervals + vcf = Channel.empty().mix(MERGE_MUTECT2.out.vcf, vcf_branch.no_intervals).map{ meta, vcf -> + [ joint_mutect2 ? meta - meta.subMap('normal_id', 'num_intervals') : meta - meta.subMap('num_intervals') , vcf ] + } + tbi = Channel.empty().mix(MERGE_MUTECT2.out.tbi, tbi_branch.no_intervals).map{ meta, tbi-> + [ joint_mutect2 ? meta - meta.subMap('normal_id', 'num_intervals') : meta - meta.subMap('num_intervals'), tbi ] + } + stats = Channel.empty().mix(MERGEMUTECTSTATS.out.stats, stats_branch.no_intervals).map{ meta, stats -> + [ joint_mutect2 ? meta - meta.subMap('normal_id', 'num_intervals') : meta - meta.subMap('num_intervals'), stats ] + } + f1r2 = Channel.empty().mix(f1r2_to_merge, f1r2_branch.no_intervals).map{ meta, f1r2-> + [ joint_mutect2 ? meta - meta.subMap('normal_id', 'num_intervals') : meta - meta.subMap('num_intervals') , f1r2 ] + } + if (!realignment){ + // Generate artifactpriors using learnreadorientationmodel on the f1r2 output of mutect2 + LEARNREADORIENTATIONMODEL(f1r2) + + artifact_priors = LEARNREADORIENTATIONMODEL.out.artifactprior + + pileup = input_intervals.multiMap{ meta, input_list, input_index_list, intervls -> + tumor: [ meta, input_list[1], input_index_list[1], intervls ] + normal: [ meta, input_list[0], input_index_list[0], intervls ] + } + + // Prepare input channel for normal pileup summaries. + // Remember, the input channel contains tumor-normal pairs, so there will be multiple copies of the normal sample for each tumor for a given patient. + // Therefore, we use unique function to generate normal pileup summaries once for each patient for better efficiency. + pileup_normal = pileup.normal.map{ meta, cram, crai, intervls -> [ meta - meta.subMap('tumor_id') + [ id:meta.normal_id ], cram, crai, intervls] }.unique() + // Prepare input channel for tumor pileup summaries. + pileup_tumor = pileup.tumor.map{ meta, cram, crai, intervls -> [ meta - meta.subMap('normal_id') + [ id:meta.tumor_id ], cram, crai, intervls ] } + // Generate pileup summary tables using getepileupsummaries. tumor sample should always be passed in as the first input and input list entries of vcf_to_filter, + GETPILEUPSUMMARIES_NORMAL(pileup_normal, fasta, fai, dict, germline_resource_pileup, germline_resource_pileup_tbi) + GETPILEUPSUMMARIES_TUMOR(pileup_tumor, fasta, fai, dict, germline_resource_pileup, germline_resource_pileup_tbi) + + // Figuring out if there is one or more table(s) from the same sample + pileup_table_normal_branch = GETPILEUPSUMMARIES_NORMAL.out.table.branch{ + // Use meta.num_intervals to asses number of intervals + intervals: it[0].num_intervals > 1 + no_intervals: it[0].num_intervals <= 1 + } + + // Figuring out if there is one or more table(s) from the same sample + pileup_table_tumor_branch = GETPILEUPSUMMARIES_TUMOR.out.table.branch{ + // Use meta.num_intervals to asses number of intervals + intervals: it[0].num_intervals > 1 + no_intervals: it[0].num_intervals <= 1 + } + // Only when using intervals + pileup_table_normal_to_merge = pileup_table_normal_branch.intervals.map{ meta, table -> [ groupKey(meta, meta.num_intervals), table ] }.groupTuple() + pileup_table_tumor_to_merge = pileup_table_tumor_branch.intervals.map{ meta, table -> [ groupKey(meta, meta.num_intervals), table ] }.groupTuple() + + // Merge Pileup Summaries + GATHERPILEUPSUMMARIES_NORMAL(pileup_table_normal_to_merge, dict.map{ _meta, d -> d }) + GATHERPILEUPSUMMARIES_TUMOR(pileup_table_tumor_to_merge, dict.map{ _meta, d -> d }) + + // Do some channel magic to generate tumor-normal pairs again. + // This is necessary because we generated one normal pileup summary for each patient but we need run calculate contamination for each tumor-normal pair. + pileup_table_tumor = Channel.empty().mix(GATHERPILEUPSUMMARIES_TUMOR.out.table, pileup_table_tumor_branch.no_intervals).map{meta, table -> [ meta - meta.subMap('normal_id', 'tumor_id', 'num_intervals') + [id:meta.patient], meta.id, table ] } + pileup_table_normal = Channel.empty().mix(GATHERPILEUPSUMMARIES_NORMAL.out.table, pileup_table_normal_branch.no_intervals).map{meta, table -> [ meta - meta.subMap('normal_id', 'tumor_id', 'num_intervals') + [id:meta.patient], meta.id, table ] } + + + ch_calculatecontamination_in_tables = pileup_table_tumor.combine( + pileup_table_normal, by:0).map{ + meta, tumor_id, tumor_table, normal_id, normal_table -> + if(joint_mutect2){ + [ meta + [ id: tumor_id + "_vs_" + normal_id], tumor_table, normal_table] + }else{ + // we need tumor and normal ID for further post processing + [ meta + [ id: tumor_id + "_vs_" + normal_id, normal_id:normal_id, tumor_id:tumor_id ], tumor_table, normal_table] + } + } + ch_calculatecontamination_in_tables.dump(tag:'ch_calculatecontamination_in_tablesMUTECT2') + CALCULATECONTAMINATION(ch_calculatecontamination_in_tables) + + // Initialize empty channel: Contamination calculation is run on pileup table, pileup is not run if germline resource is not provided + ch_seg_to_filtermutectcalls = Channel.empty() + ch_cont_to_filtermutectcalls = Channel.empty() + + if (joint_mutect2) { + // Reduce the meta to only patient name + ch_seg_to_filtermutectcalls = CALCULATECONTAMINATION.out.segmentation.map{ meta, seg -> [ meta + [id: meta.patient], seg]}.groupTuple() + ch_cont_to_filtermutectcalls = CALCULATECONTAMINATION.out.contamination.map{ meta, cont -> [ meta + [id: meta.patient], cont]}.groupTuple() + } else { + // Keep tumor_vs_normal ID + ch_seg_to_filtermutectcalls = CALCULATECONTAMINATION.out.segmentation + ch_cont_to_filtermutectcalls = CALCULATECONTAMINATION.out.contamination + } + LEARNREADORIENTATIONMODEL.out.artifactprior.dump(tag:"LEARNREADORIENTATIONMODEL.out.artifactpriorMUTECT2") + ch_seg_to_filtermutectcalls.dump(tag:"ch_seg_to_filtermutectcallsMUTECT2") + ch_cont_to_filtermutectcalls.dump(tag:"ch_cont_to_filtermutectcallsMUTECT2") + // Mutect2 calls filtered by filtermutectcalls using the artifactpriors, contamination and segmentation tables + vcf_to_filter = vcf.join(tbi, failOnDuplicate: true, failOnMismatch: true) + .join(stats, failOnDuplicate: true, failOnMismatch: true) + .join(LEARNREADORIENTATIONMODEL.out.artifactprior, failOnDuplicate: true, failOnMismatch: true) + .join(ch_seg_to_filtermutectcalls) + .join(ch_cont_to_filtermutectcalls) + .map{ meta, vcf_file, tbi_file, stats_file, orientation, seg, cont -> [ meta, vcf_file, tbi_file, stats_file, orientation, seg, cont, [] ] } + + versions = versions.mix(CALCULATECONTAMINATION.out.versions_gatk4) + versions = versions.mix(GETPILEUPSUMMARIES_NORMAL.out.versions_gatk4) + versions = versions.mix(GETPILEUPSUMMARIES_TUMOR.out.versions_gatk4) + versions = versions.mix(GATHERPILEUPSUMMARIES_NORMAL.out.versions_gatk4) + versions = versions.mix(GATHERPILEUPSUMMARIES_TUMOR.out.versions_gatk4) + versions = versions.mix(LEARNREADORIENTATIONMODEL.out.versions_gatk4) + } else{ + vcf_to_filter = vcf.join(tbi, failOnDuplicate: true, failOnMismatch: true) + .join(stats, failOnDuplicate: true, failOnMismatch: true) + .map{ meta, vcf_file, tbi_file, stats_file -> [ meta, vcf_file, tbi_file, stats_file, [], [], [], [] ] } + // TODO: when realignment, can we reuse artifact_priors, calculate contamination and learnorientation? + artifact_priors = Channel.empty() + ch_cont_to_filtermutectcalls = Channel.empty() + ch_seg_to_filtermutectcalls = Channel.empty() + pileup_table_normal = Channel.empty() + pileup_table_tumor = Channel.empty() + } + vcf_to_filter.dump(tag:'vcf_to_filterMUTECT2') + FILTERMUTECTCALLS(vcf_to_filter, fasta, fai, dict) + + vcf_filtered = FILTERMUTECTCALLS.out.vcf + // add variantcaller to meta map + .map{ meta, vcf_file -> [ meta + [ variantcaller:'mutect2' ], vcf_file ] } + + versions = versions.mix(MERGE_MUTECT2.out.versions_gatk4) + versions = versions.mix(FILTERMUTECTCALLS.out.versions_gatk4) + versions = versions.mix(MERGEMUTECTSTATS.out.versions_gatk4) + versions = versions.mix(MUTECT2_PAIRED.out.versions_gatk4) + + emit: + vcf // channel: [ meta, vcf ] + stats // channel: [ meta, stats ] + + vcf_filtered // channel: [ meta, vcf ] + index_filtered = FILTERMUTECTCALLS.out.tbi // channel: [ meta, tbi ] + stats_filtered = FILTERMUTECTCALLS.out.stats // channel: [ meta, stats ] + + artifact_priors // channel: [ meta, artifactprior ] + + pileup_table_normal // channel: [ meta, table_normal ] + pileup_table_tumor // channel: [ meta, table_tumor ] + + contamination_table = ch_cont_to_filtermutectcalls // channel: [ meta, contamination ] + segmentation_table = ch_seg_to_filtermutectcalls // channel: [ meta, segmentation ] + + versions // channel: [ versions.yml ] +} diff --git a/subworkflows/local/bam_variant_calling_somatic_mutect2/meta.yml b/subworkflows/local/bam_variant_calling_somatic_mutect2/meta.yml new file mode 100644 index 00000000..d5abdca9 --- /dev/null +++ b/subworkflows/local/bam_variant_calling_somatic_mutect2/meta.yml @@ -0,0 +1,127 @@ +name: gatk_tumor_normal_somatic_variant_calling +description: | + Perform variant calling on a paired tumor normal set of samples using mutect2 tumor normal mode. + f1r2 output of mutect2 is run through learnreadorientationmodel to get the artifact priors. + Run the input bam files through getpileupsummarries and then calculatecontamination to get the contamination and segmentation tables. + Filter the mutect2 output vcf using filtermutectcalls, artifact priors and the contamination & segmentation tables for additional filtering. +keywords: + - gatk4 + - mutect2 + - learnreadorientationmodel + - getpileupsummaries + - calculatecontamination + - filtermutectcalls + - variant_calling + - tumor_only + - filtered_vcf +modules: + - gatk4/mutect2 + - gatk4/learnreadorientationmodel + - gatk4/getpileupsummaries + - gatk4/calculatecontamination + - gatk4/filtermutectcalls +input: + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test' ] + - input: + type: list + description: list containing the tumor and normal BAM files, in that order, also able to take CRAM as an input + pattern: "[ *.{bam/cram} ]" + - input_index: + type: list + description: list containing the tumor and normal BAM file indexes, in that order, also able to take CRAM index as an input + pattern: "[ *.{bam.bai/cram.crai} ]" + - which_norm: + type: list + description: optional list of sample headers contained in the normal sample input file. + pattern: "testN" + - fasta: + type: file + description: The reference fasta file + pattern: "*.fasta" + - fai: + type: file + description: Index of reference fasta file + pattern: "*.fasta.fai" + - dict: + type: file + description: GATK sequence dictionary + pattern: "*.dict" + - germline_resource: + type: file + description: Population vcf of germline sequencing, containing allele fractions. + pattern: "*.vcf.gz" + - germline_resource_tbi: + type: file + description: Index file for the germline resource. + pattern: "*.vcf.gz.tbi" + - panel_of_normals: + type: file + description: vcf file to be used as a panel of normals. + pattern: "*.vcf.gz" + - panel_of_normals_tbi: + type: file + description: Index for the panel of normals. + pattern: "*.vcf.gz.tbi" + - interval_file: + type: file + description: File containing intervals. + pattern: "*.interval_list" +output: + - versions: + type: file + description: File containing software versions + pattern: "versions.yml" + - mutect2_vcf: + type: file + description: Compressed vcf file to be used for variant_calling. + pattern: "[ *.vcf.gz ]" + - mutect2_tbi: + type: file + description: Indexes of the mutect2_vcf file + pattern: "[ *vcf.gz.tbi ]" + - mutect2_stats: + type: file + description: Stats files for the mutect2 vcf + pattern: "[ *vcf.gz.stats ]" + - mutect2_f1r2: + type: file + description: file containing information to be passed to LearnReadOrientationModel. + pattern: "*.f1r2.tar.gz" + - artifact_priors: + type: file + description: file containing artifact-priors to be used by filtermutectcalls. + pattern: "*.tar.gz" + - pileup_table_tumor: + type: file + description: File containing the tumor pileup summary table, kept separate as calculatecontamination needs them individually specified. + pattern: "*_tumor.pileups.table" + - pileup_table_normal: + type: file + description: File containing the normal pileup summary table, kept separate as calculatecontamination needs them individually specified. + pattern: "*_normal.pileups.table" + - contamination_table: + type: file + description: File containing the contamination table. + pattern: "*.contamination.table" + - segmentation_table: + type: file + description: Output table containing segmentation of tumor minor allele fractions. + pattern: "*.segmentation.table" + - filtered_vcf: + type: file + description: file containing filtered mutect2 calls. + pattern: "*.vcf.gz" + - filtered_tbi: + type: file + description: tbi file that pairs with filtered vcf. + pattern: "*.vcf.gz.tbi" + - filtered_stats: + type: file + description: file containing statistics of the filtermutectcalls run. + pattern: "*.filteringStats.tsv" +authors: + - "@GCJMackenzie" diff --git a/subworkflows/local/bam_variant_calling_somatic_sage/main.nf b/subworkflows/local/bam_variant_calling_somatic_sage/main.nf new file mode 100644 index 00000000..8641162b --- /dev/null +++ b/subworkflows/local/bam_variant_calling_somatic_sage/main.nf @@ -0,0 +1,89 @@ +// +// SAGE variant calling +// +// For all modules here: +// A when clause condition is defined in the conf/modules.config to determine if the module should be run + +include { SAGE } from '../../../modules/local/sage/main' +include { GATK4_MERGEVCFS as MERGE_SAGE } from '../../../modules/nf-core/gatk4/mergevcfs/main' +include { HTSLIB_BGZIPTABIX as BGZIPTABIX_VC_SAGE } from '../../../modules/nf-core/htslib/bgziptabix/main' +include { UNZIP as UNZIP_SAGE_ENSEMBL } from '../../../modules/nf-core/unzip/main' +include { UNTAR as UNTAR_SAGE_ENSEMBL } from '../../../modules/nf-core/untar/main' + +workflow BAM_VARIANT_CALLING_SOMATIC_SAGE { + take: + cram // channel: [mandatory] [ meta, normal_cram, normal_crai, tumor_cram, tumor_crai, manta_vcf, manta_tbi ] manta* are optional + dict // channel: [mandatory] [ meta, dict ] + fasta // channel: [mandatory] [ meta, fasta ] + fasta_fai // channel: [mandatory] [ meta, fasta_fai ] + intervals // channel: [mandatory] [ intervals, num_intervals ] or [ [], 0 ] if no intervals + + main: + versions = Channel.empty() + + // Unzip/untar resource files if needed + // prepare vep and sage resource files + if (!params.sage_ensembl_dir) sage_ensembl = Channel.value([]) + else if (params.sage_ensembl_dir.endsWith(".tar.gz")) { + UNTAR_SAGE_ENSEMBL(Channel.fromPath(params.sage_ensembl_dir).collect().map{ it -> [ [ id:it[0].baseName ], it ] }) + sage_ensembl = UNTAR_SAGE_ENSEMBL.out.untar + versions = versions.mix(UNTAR_SAGE_ENSEMBL.out.versions_untar) + } else if (params.sage_ensembl_dir.endsWith(".zip")) { + UNZIP_SAGE_ENSEMBL(Channel.fromPath(params.sage_ensembl_dir).collect().map{ it -> [ [ id:it[0].baseName ], it ] }) + sage_ensembl = UNZIP_SAGE_ENSEMBL.out.unzipped_archive + versions = versions.mix(UNZIP_SAGE_ENSEMBL.out.versions_7za) + } else { + sage_ensembl = Channel.fromPath(params.sage_ensembl_dir).collect().map{ it -> [ [ id:it[0].baseName ], it ] } + } + + sage_ensembl.dump(tag:"sage_ensembl") + // Combine cram and intervals for spread and gather strategy + cram_intervals = cram.combine(intervals) + // Move num_intervals to meta map and reorganize channel for SAGE module + .map{ meta, normal_cram, normal_crai, tumor_cram, tumor_crai, intervls, num_intervals -> [ meta + [ num_intervals:num_intervals ], normal_cram, normal_crai, tumor_cram, tumor_crai, intervls ]} + SAGE( + cram_intervals, + sage_ensembl, + Channel.fromPath(params.sage_high_confidence).collect().map{ it -> [ [ id:it[0].baseName ], it ] }, + Channel.fromPath(params.sage_actionable_panel).collect().map{ it -> [ [ id:it[0].baseName ], it ] }, + Channel.fromPath(params.sage_known_hotspots).collect().map{ it -> [ [ id:it[0].baseName ], it ] }, + fasta, + fasta_fai, + dict) + + // Figuring out if there is one or more vcf(s) from the same sample + sage_vcf_out = SAGE.out.vcf.branch{ + // Use meta.num_intervals to asses number of intervals + intervals: it[0].num_intervals > 1 + no_intervals: it[0].num_intervals <= 1 + } + + // Only when using intervals + vcf_to_merge = sage_vcf_out.intervals.map{ meta, vcf -> [ groupKey(meta, meta.num_intervals), vcf ]}.groupTuple() + MERGE_SAGE(vcf_to_merge, dict) + merged_vcf = MERGE_SAGE.out.vcf.join(MERGE_SAGE.out.tbi, failOnMismatch: true) + // Only when no_intervals + BGZIPTABIX_VC_SAGE( + sage_vcf_out.no_intervals.map{ meta, vcf -> [ meta, vcf, [], [] ] }, + 'compress', + true, + 'vcf' + ) + + // Mix intervals and no_intervals channels together + vcf = BGZIPTABIX_VC_SAGE.out.output + .join(BGZIPTABIX_VC_SAGE.out.index, failOnMismatch: true) + .mix(merged_vcf) + // add variantcaller to meta map and remove no longer necessary field: num_intervals + .map{ meta, vcf, tbi -> [ meta - meta.subMap('normal_id', 'tumor_id','num_intervals') + [ variantcaller:'sage' ], vcf ] } + + versions = versions.mix(MERGE_SAGE.out.versions_gatk4) + versions = versions.mix(SAGE.out.versions) + versions = versions.mix(BGZIPTABIX_VC_SAGE.out.versions_htslib) + versions = versions.mix(BGZIPTABIX_VC_SAGE.out.versions_xz) + + emit: + + vcf + versions +} diff --git a/subworkflows/local/bam_variant_calling_somatic_strelka/main.nf b/subworkflows/local/bam_variant_calling_somatic_strelka/main.nf new file mode 100644 index 00000000..7f6535e3 --- /dev/null +++ b/subworkflows/local/bam_variant_calling_somatic_strelka/main.nf @@ -0,0 +1,76 @@ +// +// STRELKA2 tumor-normal variant calling +// +// For all modules here: +// A when clause condition is defined in the conf/modules.config to determine if the module should be run + +include { GATK4_MERGEVCFS as MERGE_STRELKA_INDELS } from '../../../modules/nf-core/gatk4/mergevcfs/main' +include { GATK4_MERGEVCFS as MERGE_STRELKA_SNVS } from '../../../modules/nf-core/gatk4/mergevcfs/main' +include { GATK4_MERGEVCFS as MERGE_STRELKA } from '../../../modules/nf-core/gatk4/mergevcfs/main' +include { STRELKA_SOMATIC } from '../../../modules/nf-core/strelka/somatic/main' + +workflow BAM_VARIANT_CALLING_SOMATIC_STRELKA { + take: + cram // channel: [mandatory] [ meta, normal_cram, normal_crai, tumor_cram, tumor_crai, manta_vcf, manta_tbi ] manta* are optional + dict // channel: [mandatory] [ meta, dict ] + fasta // channel: [mandatory] [ meta, fasta ] + fasta_fai // channel: [mandatory] fasta FAI path + intervals // channel: [mandatory] [ interval.bed.gz, interval.bed.gz.tbi, num_intervals ] or [ [], [], 0 ] if no intervals + no_intervals // true/false + + main: + versions = Channel.empty() + + // Combine cram and intervals for spread and gather strategy + if (no_intervals){ + cram_intervals = cram.combine(intervals) + // Move num_intervals to meta map + .map{ meta, normal_cram, normal_crai, tumor_cram, tumor_crai, manta_vcf, manta_tbi, intervals_gz_tbi, num_intervals -> [ meta + [ num_intervals:0 ], normal_cram, normal_crai, tumor_cram, tumor_crai, manta_vcf, manta_tbi, [], [] ] } + } else{ + cram_intervals = cram.combine(intervals) + // Move num_intervals to meta map + .map{ meta, normal_cram, normal_crai, tumor_cram, tumor_crai, manta_vcf, manta_tbi, intervals_gz_tbi, num_intervals -> [ meta + [ num_intervals:num_intervals ], normal_cram, normal_crai, tumor_cram, tumor_crai, manta_vcf, manta_tbi, intervals_gz_tbi[0], intervals_gz_tbi[1] ] } + } + STRELKA_SOMATIC(cram_intervals, fasta.map { _meta, fa -> fa }, fasta_fai) + + // Figuring out if there is one or more vcf(s) from the same sample + vcf_indels = STRELKA_SOMATIC.out.vcf_indels.branch{ + // Use meta.num_intervals to asses number of intervals + intervals: it[0].num_intervals > 1 + no_intervals: it[0].num_intervals <= 1 + } + + // Figuring out if there is one or more vcf(s) from the same sample + vcf_snvs = STRELKA_SOMATIC.out.vcf_snvs.branch{ + // Use meta.num_intervals to asses number of intervals + intervals: it[0].num_intervals > 1 + no_intervals: it[0].num_intervals <= 1 + } + + // Only when using intervals TODO: check that commenting map does not break things + vcfs_to_merge = STRELKA_SOMATIC.out.vcf_indels + .mix(STRELKA_SOMATIC.out.vcf_snvs) + .map{ meta, vcf -> [ groupKey(meta, meta.num_intervals * 2), vcf ]} + .groupTuple() + + // Mix intervals and no_intervals channels together + // Merge SNVs and indels + MERGE_STRELKA(vcfs_to_merge, dict) + + // Mix intervals and no_intervals channels together + vcf = MERGE_STRELKA.out.vcf + // add variantcaller to meta map and remove no longer necessary field: num_intervals + .map{ meta, vcf -> + [ meta.subMap('id', 'patient', 'status', 'variantcaller', 'file_name', 'data_type') + [ variantcaller:'strelka' ], vcf ] } + + +// versions = versions.mix(MERGE_STRELKA_SNVS.out.versions) +// versions = versions.mix(MERGE_STRELKA_INDELS.out.versions) + versions = versions.mix(MERGE_STRELKA.out.versions_gatk4) + versions = versions.mix(STRELKA_SOMATIC.out.versions) + + emit: + vcf = vcf + + versions +} diff --git a/subworkflows/local/channel_align_create_csv/main.nf b/subworkflows/local/channel_align_create_csv/main.nf new file mode 100644 index 00000000..10aa46ea --- /dev/null +++ b/subworkflows/local/channel_align_create_csv/main.nf @@ -0,0 +1,25 @@ +// +// CHANNEL_ALIGN_CREATE_CSV +// + +workflow CHANNEL_ALIGN_CREATE_CSV { + take: + bam_indexed // channel: [mandatory] meta, bam, bai + outdir // + save_output_as_bam // + + main: + // Creating csv files to restart from this step + bam_indexed.collectFile(keepHeader: true, skip: 1, sort: true, storeDir: "${outdir}/csv") { meta, bam, bai -> + def patient = meta.patient + def sample = meta.sample + def status = meta.status + bam = "${outdir}/preprocessing/mapped/${sample}/${bam.name}" + bai = "${outdir}/preprocessing/mapped/${sample}/${bai.name}" + + def type = save_output_as_bam ? "bam" : "cram" + def type_index = save_output_as_bam ? "bai" : "crai" + + ["mapped.csv", "patient,status,sample,${type},${type_index}\n${patient},${status},${sample},${bam},${bai}\n"] + } +} diff --git a/subworkflows/local/channel_applybqsr_create_csv/main.nf b/subworkflows/local/channel_applybqsr_create_csv/main.nf new file mode 100644 index 00000000..6cee590b --- /dev/null +++ b/subworkflows/local/channel_applybqsr_create_csv/main.nf @@ -0,0 +1,23 @@ +// +// CHANNEL_APPLYBQSR_CREATE_CSV +// + +workflow CHANNEL_APPLYBQSR_CREATE_CSV { + take: + cram_recalibrated_index // channel: [mandatory] meta, cram, crai + + main: + // Creating csv files to restart from this step + cram_recalibrated_index.collectFile(keepHeader: true, skip: 1, sort: true, storeDir: "${params.outdir}/csv") { meta, file, index -> + def patient = meta.patient + def sample = meta.sample + def status = meta.status + file = "${params.outdir}/preprocessing/recalibrated/${sample}/${file.name}" + index = "${params.outdir}/preprocessing/recalibrated/${sample}/${index.name}" + + def type = params.save_output_as_bam ? "bam" : "cram" + def type_index = params.save_output_as_bam ? "bai" : "crai" + + ["recalibrated.csv", "patient,status,sample,${type},${type_index}\n${patient},${status},${sample},${file},${index}\n"] + } +} diff --git a/subworkflows/local/channel_baserecalibrator_create_csv/main.nf b/subworkflows/local/channel_baserecalibrator_create_csv/main.nf new file mode 100644 index 00000000..f9dbe2cb --- /dev/null +++ b/subworkflows/local/channel_baserecalibrator_create_csv/main.nf @@ -0,0 +1,49 @@ +// +// CHANNEL_BASERECALIBRATOR_CREATE_CSV +// + +workflow CHANNEL_BASERECALIBRATOR_CREATE_CSV { + take: + cram_table_bqsr // channel: [mandatory] meta, cram, crai, table + tools + skip_tools + save_output_as_bam + outdir + + main: + // Creating csv files to restart from this step + if (!(skip_tools && (skip_tools.split(',').contains('markduplicates')))) { + cram_table_bqsr.collectFile(keepHeader: true, skip: 1, sort: true, storeDir: "${outdir}/csv") { meta, cram, crai, table -> + + def patient = meta.patient + def sample = meta.sample + def status = meta.status + def suffix_aligned = save_output_as_bam ? "bam" : "cram" + def suffix_index = save_output_as_bam ? "bam.bai" : "cram.crai" + cram = "${outdir}/preprocessing/markduplicates/${sample}/${cram.baseName}.${suffix_aligned}" + crai = "${outdir}/preprocessing/markduplicates/${sample}/${crai.baseName.minus(".cram")}.${suffix_index}" + table = "${outdir}/preprocessing/recal_table/${sample}/${sample}.recal.table" + + def type = save_output_as_bam ? "bam" : "cram" + def type_index = save_output_as_bam ? "bai" : "crai" + + ["markduplicates.csv", "patient,status,sample,${type},${type_index},table\n${patient},${status},${sample},${cram},${crai},${table}\n"] + } + } else { + cram_table_bqsr.collectFile(keepHeader: true, skip: 1, sort: true, storeDir: "${outdir}/csv") { meta, cram, crai, table -> + def patient = meta.patient + def sample = meta.sample + def status = meta.status + def suffix_aligned = save_output_as_bam ? "bam" : "cram" + def suffix_index = save_output_as_bam ? "bam.bai" : "cram.crai" + cram = "${outdir}/preprocessing/${sample}/mapped/${cram.baseName}.${suffix_aligned}" + crai = "${outdir}/preprocessing/${sample}/mapped/${crai.baseName.minus(".cram")}.${suffix_index}" + table = "${outdir}/preprocessing/${sample}/recal_table/${sample}.recal.table" + + def type = save_output_as_bam ? "bam" : "cram" + def type_index = save_output_as_bam ? "bai" : "crai" + + ["sorted.csv", "patient,status,sample,${type},${type_index},table\n${patient},${status},${sample},${cram},${crai},${table}\n"] + } + } +} diff --git a/subworkflows/local/channel_consensus_create_csv/main.nf b/subworkflows/local/channel_consensus_create_csv/main.nf new file mode 100644 index 00000000..cd844114 --- /dev/null +++ b/subworkflows/local/channel_consensus_create_csv/main.nf @@ -0,0 +1,25 @@ +// +// CHANNEL_CONSENSUS_CREATE_CSV +// + +workflow CHANNEL_CONSENSUS_CREATE_CSV { + take: + maf_to_csv // channel: [mandatory] [meta, maf] or [meta, maf, variantcaller] + csv_name + + main: + // Creating csv files to restart from this step + // Consensus/rescue outputs now flow downstream as canonical [meta, maf] tuples. + // For restart CSVs we still need a variantcaller column, so infer it here when absent. + maf_to_csv.collectFile(keepHeader: true, skip: 1, sort: true, storeDir: "${params.outdir}/csv") { row -> + def meta = row[0] + def maf = row[1] + def variantcaller = meta.variantcaller + def patient = meta.patient + def sample = meta.id + def status = meta.status + def subfolder = maf.getName().contains('consensus') ? 'consensus' : 'vcf2maf' + maf = "${params.outdir}/consensus/${subfolder}/${meta.id}/${maf.getName()}" + ["${csv_name}.csv", "patient,sample,status,variantcaller,maf\n${patient},${sample},${status},${variantcaller},${maf}\n"] + } +} diff --git a/subworkflows/local/channel_markduplicates_create_csv/main.nf b/subworkflows/local/channel_markduplicates_create_csv/main.nf new file mode 100644 index 00000000..d6caa0de --- /dev/null +++ b/subworkflows/local/channel_markduplicates_create_csv/main.nf @@ -0,0 +1,28 @@ +// +// CHANNEL_MARKDUPLICATES_CREATE_CSV +// + +workflow CHANNEL_MARKDUPLICATES_CREATE_CSV { + take: + cram_markduplicates // channel: [mandatory] meta, cram, crai + csv_subfolder + outdir + save_output_as_bam + + main: + // Creating csv files to restart from this step + cram_markduplicates.collectFile(keepHeader: true, skip: 1, sort: true, storeDir: "${outdir}/csv") { meta, file, index -> + def patient = meta.patient + def sample = meta.sample + def status = meta.status + def suffix_aligned = save_output_as_bam ? "bam" : "cram" + def suffix_index = save_output_as_bam ? "bam.bai" : "cram.crai" + file = "${outdir}/preprocessing/${csv_subfolder}/${sample}/${file.baseName}.${suffix_aligned}" + index = "${outdir}/preprocessing/${csv_subfolder}/${sample}/${index.baseName.minus(".cram")}.${suffix_index}" + + def type = save_output_as_bam ? "bam" : "cram" + def type_index = save_output_as_bam ? "bai" : "crai" + + ["markduplicates_no_table.csv", "patient,status,sample,${type},${type_index}\n${patient},${status},${sample},${file},${index}\n"] + } +} diff --git a/subworkflows/local/channel_splitncigarreads_create_csv/main.nf b/subworkflows/local/channel_splitncigarreads_create_csv/main.nf new file mode 100644 index 00000000..d5d27e74 --- /dev/null +++ b/subworkflows/local/channel_splitncigarreads_create_csv/main.nf @@ -0,0 +1,28 @@ +// +// CHANNEL_SPLITNCIGARREADS_CREATE_CSV +// + +workflow CHANNEL_SPLITNCIGARREADS_CREATE_CSV { + take: + cram_splitncigarreads // channel: [mandatory] meta, cram, crai + csv_subfolder + outdir + save_output_as_bam + + main: + // Creating csv files to restart from this step + cram_splitncigarreads.collectFile(keepHeader: true, skip: 1, sort: true, storeDir: "${outdir}/csv") { meta, file, index -> + def patient = meta.patient + def sample = meta.sample + def status = meta.status + def suffix_aligned = save_output_as_bam ? "bam" : "cram" + def suffix_index = save_output_as_bam ? "bam.bai" : "cram.crai" + file = "${outdir}/preprocessing/${csv_subfolder}/${sample}/${file.baseName}.${suffix_aligned}" + index = "${outdir}/preprocessing/${csv_subfolder}/${sample}/${index.baseName.minus(".cram")}.${suffix_index}" + + def type = save_output_as_bam ? "bam" : "cram" + def type_index = save_output_as_bam ? "bai" : "crai" + + ["splitncigarreads_no_table.csv", "patient,status,sample,${type},${type_index}\n${patient},${status},${sample},${file},${index}\n"] + } +} diff --git a/subworkflows/local/channel_variant_calling_create_csv/main.nf b/subworkflows/local/channel_variant_calling_create_csv/main.nf new file mode 100644 index 00000000..d02014ec --- /dev/null +++ b/subworkflows/local/channel_variant_calling_create_csv/main.nf @@ -0,0 +1,20 @@ +// +// CHANNEL_VARIANT_CALLING_CREATE_CSV +// + +workflow CHANNEL_VARIANT_CALLING_CREATE_CSV { + take: + vcf_to_csv // channel: [mandatory] meta, vcf + csv_name + + main: + // Creating csv files to restart from this step + vcf_to_csv.collectFile(keepHeader: true, skip: 1,sort: true, storeDir: "${params.outdir}/csv"){ meta, vcf -> + def patient = meta.patient + def sample = meta.id + def variantcaller = meta.variantcaller + def status = meta.status + vcf = "${params.outdir}/variant_calling/${variantcaller}/${meta.id}/${vcf.getName()}" + ["${csv_name}.csv", "patient,sample,status,variantcaller,vcf\n${patient},${sample},${status},${variantcaller},${vcf}\n"] + } +} diff --git a/subworkflows/local/cram_merge_index_samtools/main.nf b/subworkflows/local/cram_merge_index_samtools/main.nf new file mode 100644 index 00000000..69dc6cac --- /dev/null +++ b/subworkflows/local/cram_merge_index_samtools/main.nf @@ -0,0 +1,48 @@ +// +// MERGE INDEX CRAM +// +// For all modules here: +// A when clause condition is defined in the conf/modules.config to determine if the module should be run + +include { SAMTOOLS_INDEX as INDEX_CRAM } from '../../../modules/nf-core/samtools/index/main' +include { SAMTOOLS_MERGE as MERGE_CRAM } from '../../../modules/nf-core/samtools/merge/main' + +workflow CRAM_MERGE_INDEX_SAMTOOLS { + take: + cram // channel: [mandatory] meta, cram + fasta // channel: [mandatory] fasta path + fasta_fai // channel: [mandatory] fasta FAI path + + main: + versions = Channel.empty() + fasta_with_fai_gzi = fasta.combine(fasta_fai).map { fa, fai -> [[id: fa.baseName], fa, fai, []] }.first() + + // Figuring out if there is one or more cram(s) from the same sample + cram_to_merge = cram.branch{ meta, c -> + // c is a list, so use c.size() to asses number of intervals + single: c.size() <= 1 + return [ meta, c[0] ] + multiple: c.size() > 1 + } + + // Only when using intervals + MERGE_CRAM(cram_to_merge.multiple, fasta_with_fai_gzi) + + // Mix intervals and no_intervals channels together + cram_all = MERGE_CRAM.out.cram.mix(cram_to_merge.single) + + // Index cram + INDEX_CRAM(cram_all) + + // Join with the crai file + cram_crai = cram_all.join(INDEX_CRAM.out.index, failOnDuplicate: true, failOnMismatch: true) + + // Gather versions of all tools used + versions = versions.mix(INDEX_CRAM.out.versions_samtools) + versions = versions.mix(MERGE_CRAM.out.versions_samtools) + + emit: + cram_crai + + versions +} diff --git a/subworkflows/local/cram_qc_mosdepth_samtools/main.nf b/subworkflows/local/cram_qc_mosdepth_samtools/main.nf new file mode 100644 index 00000000..531d2978 --- /dev/null +++ b/subworkflows/local/cram_qc_mosdepth_samtools/main.nf @@ -0,0 +1,48 @@ +// +// QC on CRAM +// +// For all modules here: +// A when clause condition is defined in the conf/modules.config to determine if the module should be run + +include { SAMTOOLS_STATS } from '../../../modules/nf-core/samtools/stats/main' +include { MOSDEPTH } from '../../../modules/nf-core/mosdepth/main' + +workflow CRAM_QC_MOSDEPTH_SAMTOOLS { + take: + cram // channel: [mandatory] [ meta, cram, crai ] + fasta // channel: [mandatory] [ meta, fasta ] + fasta_fai // channel: [mandatory] fasta FAI path + intervals // channel: [mandatory] [ meta, bed ] + + main: + versions = Channel.empty() + reports = Channel.empty() + fasta_with_fai = fasta.combine(fasta_fai).map { meta, fa, fai -> [meta, fa, fai] }.first() + + // Reports run on cram + SAMTOOLS_STATS( + cram, + fasta_with_fai + ) + + MOSDEPTH( + cram.combine(intervals.map{ meta, bed -> [ bed?:[] ] }), + fasta, + [] + ) + + // Gather all reports generated + reports = reports.mix(SAMTOOLS_STATS.out.stats) + reports = reports.mix(MOSDEPTH.out.global_txt) + reports = reports.mix(MOSDEPTH.out.regions_txt) + + // Gather versions of all tools used + versions = versions.mix(MOSDEPTH.out.versions_mosdepth) + versions = versions.mix(MOSDEPTH.out.versions_gzip) + versions = versions.mix(SAMTOOLS_STATS.out.versions_samtools) + + emit: + reports + + versions // channel: [ versions.yml ] +} diff --git a/subworkflows/local/fastq_align/main.nf b/subworkflows/local/fastq_align/main.nf new file mode 100644 index 00000000..15155674 --- /dev/null +++ b/subworkflows/local/fastq_align/main.nf @@ -0,0 +1,50 @@ +// +// MAPPING +// +// For all modules here: +// A when clause condition is defined in the conf/modules.config to determine if the module should be run + +include { BWAMEM2_MEM } from '../../../modules/nf-core/bwamem2/mem/main' +include { BWA_MEM as BWAMEM1_MEM } from '../../../modules/nf-core/bwa/mem/main' +include { DRAGMAP_ALIGN } from '../../../modules/nf-core/dragmap/align/main' + +workflow FASTQ_ALIGN { + take: + reads // channel: [mandatory] meta, reads + index // channel: [mandatory] index + sort // boolean: [mandatory] true -> sort, false -> don't sort + + main: + + versions = Channel.empty() + reports = Channel.empty() + + // Only one of the following should be run + BWAMEM1_MEM(reads, index, [[id:'no_fasta'], []], sort) // If aligner is bwa-mem + BWAMEM2_MEM(reads, index, [[id:'no_fasta'], []], sort) // If aligner is bwa-mem2 + DRAGMAP_ALIGN(reads, index, [[id:'no_fasta'], []], sort) // If aligner is dragmap + + // Get the bam files from the aligner + // Only one aligner is run + bam = Channel.empty() + bam = bam.mix(BWAMEM1_MEM.out.bam) + bam = bam.mix(BWAMEM2_MEM.out.bam) + bam = bam.mix(DRAGMAP_ALIGN.out.bam) + + // Gather reports of all tools used + reports = reports.mix(DRAGMAP_ALIGN.out.log) + + // Gather versions of all tools used + versions = versions.mix(BWAMEM1_MEM.out.versions_bwa) + versions = versions.mix(BWAMEM1_MEM.out.versions_samtools) + versions = versions.mix(BWAMEM2_MEM.out.versions_bwamem2) + versions = versions.mix(BWAMEM2_MEM.out.versions_samtools) + versions = versions.mix(DRAGMAP_ALIGN.out.versions_dragmap) + versions = versions.mix(DRAGMAP_ALIGN.out.versions_samtools) + versions = versions.mix(DRAGMAP_ALIGN.out.versions_pigz) + + emit: + bam // channel: [ [meta], bam ] + reports + versions // channel: [ versions.yml ] +} diff --git a/subworkflows/local/maf_filtering/main.nf b/subworkflows/local/maf_filtering/main.nf new file mode 100644 index 00000000..1578a158 --- /dev/null +++ b/subworkflows/local/maf_filtering/main.nf @@ -0,0 +1,35 @@ +// +// Filtering somatic mutation analysis +// +// For all modules here: +// A when clause condition is defined in the conf/modules.config to determine if the module should be run +include { MAF_FILTERING as FILTERING } from '../../../modules/local/maf_filtering/main' + +workflow MAF_FILTERING { + + take: + maf_to_filter + fasta + input_sample + realignment + + main: + versions = Channel.empty() + maf = Channel.empty() + if ((params.step in ['mapping', 'markduplicates', 'splitncigar', + 'prepare_recalibration', 'recalibrate', 'variant_calling', 'annotate', + 'norm', 'consensus', 'filtering'] && + ((params.tools && params.tools.split(",").contains("filtering")))) || + realignment) { + + if (params.step == 'filtering') maf_to_filter = input_sample + // BASIC FILTERING + FILTERING(maf_to_filter, fasta) + maf = FILTERING.out.maf + versions = versions.mix(FILTERING.out.versions) + } + + emit: + maf = maf + versions = versions // channel: [ versions.yml ] +} diff --git a/subworkflows/local/maf_rna_filtering/main.nf b/subworkflows/local/maf_rna_filtering/main.nf new file mode 100644 index 00000000..3089a5d9 --- /dev/null +++ b/subworkflows/local/maf_rna_filtering/main.nf @@ -0,0 +1,88 @@ +// +// Filtering steps specific for RNA +// +include { RNA_FILTERING } from '../../../modules/local/maf_rna_filtering/main' + +workflow MAF_FILTERING_RNA { + take: + maf_to_filter // maf from first pass + maf_to_filter_realigned // maf from realignment (second pass) [OPT?] + fasta + fasta_fai + input_sample + + main: + versions = Channel.empty() + maf_to_filter.dump(tag:"maf_to_filter") + maf_to_filter_realigned.dump(tag:"maf_to_filter_realigned") + if (params.step in ['mapping', 'markduplicates', 'splitncigar', + 'prepare_recalibration', 'recalibrate', 'variant_calling', 'norm', 'consensus', 'filtering', + 'realignment', 'rna_filtering'] && (params.tools && params.tools.split(",").contains("rna_filtering"))) { + + // Allow direct restart from MAF input when RNA-specific filtering is the entry step. + // If both first-pass and realigned MAFs are provided, distinguish them here using + // the historical `_realign` suffix so the same crossing logic can be reused. + if (params.step == 'rna_filtering') { + input_sample_type = input_sample.branch { meta, maf -> + realigned: meta.id.contains('_realign') + first_pass: true + } + maf_to_filter = input_sample_type.first_pass + maf_to_filter_realigned = input_sample_type.realigned + } else { + if (params.step == "realignment"){ + maf_to_filter = maf_to_filter_realigned // there is no first maf + maf_to_filter_realigned = Channel.empty() + } + } + + // Pair first-pass and realigned MAFs locally by patient. Using a keyed join with + // remainder avoids probing channel truthiness and still supports both restart modes: + // with a realigned MAF we emit [meta, first_maf, realigned_maf], otherwise + // [meta, first_maf, []] for single-input RNA filtering. + maf_to_cross_first_pass = maf_to_filter + .map{meta, maf -> [meta.patient, meta, maf]} + maf_to_cross_realignment = maf_to_filter_realigned + .map{meta, maf -> [meta.patient, meta, maf]} + + maf_to_cross_first_pass.dump(tag:"maf_to_cross_first_pass") + maf_to_cross_realignment.dump(tag:"maf_to_cross_realignment") + + maf_crossed = maf_to_cross_first_pass + .join(maf_to_cross_realignment, remainder: true) + .map{ row -> + def patient = row[0] + def first_meta = row[1] + def first_maf = row[2] + def second_meta = row.size() > 3 ? row[3] : null + def second_maf = row.size() > 4 ? row[4] : null + if (second_meta) { + def meta = [:] + meta.patient = patient + meta.first_id = first_meta.id + meta.second_id = second_meta.id + meta.status = first_meta.status + meta.tumor_id = first_meta.id.split("_vs_")[0] + meta.id = first_meta.id.split("_vs_")[0] + "_with_" + second_meta.id.split("_vs_")[0] + meta.normal_id = first_meta.id.split("_vs_")[1] + [meta, first_maf, second_maf] + } else { + [first_meta, first_maf, []] + } + } + maf_crossed.dump(tag:"[STEP9: FILTERING] maf_crossed") +// maf_to_filter_status_dna = maf_to_filter_status.dna.map{meta, maf -> [meta, maf, file("NO_FILE.maf")]} +// maf_to_filter_status_dna.dump(tag:"[STEP9: FILTERING] maf_to_filter_status_dna") +// maf_crossed = maf_crossed.mix(maf_to_filter_status.dna) + RNA_FILTERING(maf_crossed, + fasta) + versions = versions.mix(RNA_FILTERING.out.versions) + } + + + emit: + versions = versions // channel: [ versions.yml ] + + + +} diff --git a/subworkflows/local/prepare_genome/main.nf b/subworkflows/local/prepare_genome/main.nf new file mode 100644 index 00000000..f3e7d20c --- /dev/null +++ b/subworkflows/local/prepare_genome/main.nf @@ -0,0 +1,240 @@ +// +// PREPARE GENOME +// + +// Initialize channels based on params or indices that were just built +// For all modules here: +// A when clause condition is defined in the conf/modules.config to determine if the module should be run +// Condition is based on params.step and params.tools +// If and extra condition exists, it's specified in comments + +include { BWA_INDEX as BWAMEM1_INDEX } from '../../../modules/nf-core/bwa/index/main' +include { BWAMEM2_INDEX } from '../../../modules/nf-core/bwamem2/index/main' +include { DRAGMAP_HASHTABLE } from '../../../modules/nf-core/dragmap/hashtable/main' +include { GUNZIP as GUNZIP_GENE_BED } from '../../../modules/nf-core/gunzip/main' //addParams(options: params.genome_options) +include { GUNZIP as GUNZIP_GTF } from '../../../modules/nf-core/gunzip/main' //addParams(options: params.genome_options) +include { GUNZIP as GUNZIP_GFF } from '../../../modules/nf-core/gunzip/main' +include { GUNZIP as GUNZIP_FASTA } from '../../../modules/nf-core/gunzip/main' +include { GFFREAD } from '../../../modules/nf-core/gffread/main' +include { UNTAR as UNTAR_STAR_INDEX } from '../../../modules/nf-core/untar/main' +include { HTSLIB_BGZIPTABIX as TABIX_DBSNP } from '../../../modules/nf-core/htslib/bgziptabix/main' +include { HTSLIB_BGZIPTABIX as TABIX_GERMLINE_RESOURCE } from '../../../modules/nf-core/htslib/bgziptabix/main' +include { HTSLIB_BGZIPTABIX as TABIX_KNOWN_INDELS } from '../../../modules/nf-core/htslib/bgziptabix/main' +include { HTSLIB_BGZIPTABIX as TABIX_KNOWN_SNPS } from '../../../modules/nf-core/htslib/bgziptabix/main' +include { HTSLIB_BGZIPTABIX as TABIX_PON } from '../../../modules/nf-core/htslib/bgziptabix/main' +include { STAR_GENOMEGENERATE } from '../../../modules/nf-core/star/genomegenerate/main' //addParams(options: params.star_index_options) +include { GATK4_CREATESEQUENCEDICTIONARY } from '../../../modules/nf-core/gatk4/createsequencedictionary/main' +include { SAMTOOLS_FAIDX } from '../../../modules/nf-core/samtools/faidx/main' +include { HISAT2_EXTRACTSPLICESITES } from '../../../modules/nf-core/hisat2/extractsplicesites/main' +include { HISAT2_BUILD } from '../../../modules/nf-core/hisat2/build/main' + +workflow PREPARE_GENOME { + take: + dbsnp // channel: [optional] dbsnp + fasta // channel: [mandatory] fasta path input before local wrapping to [ meta, fasta ] + germline_resource // channel: [optional] germline_resource + known_indels // channel: [optional] known_indels + known_snps // channel: [optional] known_snps + pon // channel: [optional] pon + + main: + + + versions = Channel.empty() + + // Gunzip the reference FASTA when the input is compressed. + if (params.fasta.endsWith('.gz')){ + GUNZIP_FASTA(Channel.fromPath(params.fasta).collect().map{ fa -> [[id: fa.baseName[0] - ~/\.fa(sta)?$/], fa] }) + fasta = GUNZIP_FASTA.out.gunzip + versions = versions.mix(GUNZIP_FASTA.out.versions_gunzip) + } else{ + fasta = fasta.map{ fa -> [ [ id:fa.baseName ], fa ] } + } + + // If aligner is bwa-mem + if (params.dna){ + BWAMEM1_INDEX(fasta) // If aligner is bwa-mem + BWAMEM2_INDEX(fasta) // If aligner is bwa-mem2 + DRAGMAP_HASHTABLE(fasta) // If aligner is dragmap + + bwa = BWAMEM1_INDEX.out.index.collect() // path: bwa/* + bwamem2 = BWAMEM2_INDEX.out.index.collect() // path: bwamem2/* + hashtable = DRAGMAP_HASHTABLE.out.hashmap.collect() // path: dragmap/* + + + versions = versions.mix(BWAMEM1_INDEX.out.versions_bwa) + versions = versions.mix(BWAMEM2_INDEX.out.versions_bwamem2) + versions = versions.mix(DRAGMAP_HASHTABLE.out.versions_dragmap) + + } else { + + bwa = Channel.empty() + bwamem2 = Channel.empty() + hashtable = Channel.empty() + } + + GATK4_CREATESEQUENCEDICTIONARY(fasta) + SAMTOOLS_FAIDX( + fasta.map { meta, fa -> [meta, fa, []] }, + false + ) + + // Canonical nf-core replacement for the deprecated tabix-only wrapper. + // This normalizes any VCF/VCF.GZ input into a fresh bgzipped VCF plus matching TBI. + TABIX_DBSNP( + dbsnp.flatten().map { file -> [[id: file.name.replaceFirst(/\.vcf(\.gz)?$/, '')], file, [], []] }, + 'compress', + true, + 'vcf' + ) + TABIX_GERMLINE_RESOURCE( + germline_resource.flatten().map { file -> [[id: file.name.replaceFirst(/\.vcf(\.gz)?$/, '')], file, [], []] }, + 'compress', + true, + 'vcf' + ) + TABIX_KNOWN_SNPS( + known_snps.flatten().map { file -> [[id: file.name.replaceFirst(/\.vcf(\.gz)?$/, '')], file, [], []] }, + 'compress', + true, + 'vcf' + ) + TABIX_KNOWN_INDELS( + known_indels.flatten().map { file -> [[id: file.name.replaceFirst(/\.vcf(\.gz)?$/, '')], file, [], []] }, + 'compress', + true, + 'vcf' + ) + TABIX_PON( + pon.flatten().map { file -> [[id: file.name.replaceFirst(/\.vcf(\.gz)?$/, '')], file, [], []] }, + 'compress', + true, + 'vcf' + ) + + // + // Uncompress GTF annotation file or create from GFF3 if required + // + if (params.rna){ + if (params.gtf) { + if (params.gtf.endsWith('.gz')) { + GUNZIP_GTF ( + Channel.fromPath(params.gtf).map{ it -> [[id:it[0].baseName], it] } + ) + ch_gtf = GUNZIP_GTF.out.gunzip.collect() + versions = versions.mix(GUNZIP_GTF.out.versions_gunzip) + } else { + ch_gtf = Channel.fromPath(params.gtf).collect().map{gtf -> [[id:"gtf"], gtf]} + } + } else if (params.gff) { + if (params.gff.endsWith('.gz')) { + GUNZIP_GFF ( + Channel.fromPath(params.gff).map{ it -> [[id:it[0].baseName], it] } + ) + ch_gff = GUNZIP_GFF.out.gunzip.collect() + versions = versions.mix(GUNZIP_GFF.out.versions_gunzip) + } else { + ch_gff = Channel.fromPath(params.gff).collect().map{gff -> [[id:"gff"], gff]} + } + + GFFREAD ( + ch_gff, + fasta.map { meta, fa -> [meta, fa, []] } + ) + .gtf + .set { ch_gtf } + + versions = versions.mix(GFFREAD.out.versions_gffread) + } + + // + // Uncompress STAR index or generate from scratch if required + // + if (params.star_index) { + if (params.star_index.endsWith('.tar.gz')) { + UNTAR_STAR_INDEX ( + Channel.fromPath(params.star_index).map{ it -> [[id:it[0].baseName], it] } + ) + ch_star_index = UNTAR_STAR_INDEX.out.untar.collect() + versions = versions.mix(UNTAR_STAR_INDEX.out.versions_untar) + } else { + ch_star_index = Channel.fromPath(params.star_index).collect().map{star_index -> [[id:"star_index"], star_index]} + } + } + else { + STAR_GENOMEGENERATE ( fasta, ch_gtf ) + ch_star_index = STAR_GENOMEGENERATE.out.index + versions = versions.mix(STAR_GENOMEGENERATE.out.versions_star) + } + + + // HISAT2 not necessary if second pass skipped + if ((params.tools && params.tools.split(',').contains("realignment"))){ + if (params.splicesites) { + ch_splicesites = Channel.fromPath(params.splicesites).collect().map{ it -> [ [ id:'null' ], it ]} + } else{ + HISAT2_EXTRACTSPLICESITES ( ch_gtf ) + ch_splicesites = HISAT2_EXTRACTSPLICESITES.out.txt + versions = versions.mix(HISAT2_EXTRACTSPLICESITES.out.versions_hisat2) + } + + if (params.hisat2_index) { + ch_hisat2_index = Channel.fromPath(params.hisat2_index).collect().map{it -> [ [ id:"hisat2_index" ], it ]} + } else{ + HISAT2_BUILD ( + fasta, + ch_gtf, + ch_splicesites + ) + ch_hisat2_index = HISAT2_BUILD.out.index + versions = versions.mix(HISAT2_BUILD.out.versions_hisat2) + } + } else { + ch_hisat2_index = [] + ch_splicesites = [] + } + } else { + ch_star_index = Channel.empty() + ch_gtf = Channel.empty() + ch_hisat2_index = Channel.empty() + ch_splicesites = Channel.value([]) + } + + + // Gather versions of all tools used + versions = versions.mix(SAMTOOLS_FAIDX.out.versions_samtools) + versions = versions.mix(GATK4_CREATESEQUENCEDICTIONARY.out.versions_gatk4) + versions = versions.mix(TABIX_DBSNP.out.versions_htslib) + versions = versions.mix(TABIX_DBSNP.out.versions_xz) + versions = versions.mix(TABIX_GERMLINE_RESOURCE.out.versions_htslib) + versions = versions.mix(TABIX_GERMLINE_RESOURCE.out.versions_xz) + versions = versions.mix(TABIX_KNOWN_SNPS.out.versions_htslib) + versions = versions.mix(TABIX_KNOWN_SNPS.out.versions_xz) + versions = versions.mix(TABIX_KNOWN_INDELS.out.versions_htslib) + versions = versions.mix(TABIX_KNOWN_INDELS.out.versions_xz) + versions = versions.mix(TABIX_PON.out.versions_htslib) + versions = versions.mix(TABIX_PON.out.versions_xz) + + emit: + bwa = bwa // path: bwa/* + bwamem2 = bwamem2 // path: bwamem2/* + hashtable = hashtable // path: dragmap/* + dbsnp = TABIX_DBSNP.out.output.map{ meta, gz -> [gz] }.collect() + dbsnp_tbi = TABIX_DBSNP.out.index.map{ meta, tbi -> [tbi] }.collect() // path: dbsnb.vcf.gz.tbi + dict = GATK4_CREATESEQUENCEDICTIONARY.out.dict // path: genome.fasta.dict + fasta = fasta + fasta_fai = SAMTOOLS_FAIDX.out.fai.map{ _meta, fai -> fai } // path: genome.fasta.fai + germline_resource = TABIX_GERMLINE_RESOURCE.out.output.map{ meta, gz -> [gz] }.collect() + germline_resource_tbi = TABIX_GERMLINE_RESOURCE.out.index.map{ meta, tbi -> [tbi] }.collect() // path: germline_resource.vcf.gz.tbi + known_snps = TABIX_KNOWN_SNPS.out.output.map{ meta, gz -> [gz] }.collect() + known_snps_tbi = TABIX_KNOWN_SNPS.out.index.map{ meta, tbi -> [tbi] }.collect() // path: {known_indels*}.vcf.gz.tbi + known_indels = TABIX_KNOWN_INDELS.out.output.map{ meta, gz -> [gz] }.collect() + known_indels_tbi = TABIX_KNOWN_INDELS.out.index.map{ meta, tbi -> [tbi] }.collect() // path: {known_indels*}.vcf.gz.tbi + pon = TABIX_PON.out.output.map{ meta, gz -> [gz] }.collect() + pon_tbi = TABIX_PON.out.index.map{ meta, tbi -> [tbi] }.collect() // path: pon.vcf.gz.tbi + star_index = ch_star_index // path: star/index/ + gtf = ch_gtf // path: genome.gtf + hisat2_index = ch_hisat2_index // path: hisat2/index/ + splicesites = ch_splicesites // path: genome.splicesites.txt + versions = versions // channel: [ versions.yml ] +} diff --git a/subworkflows/local/prepare_intervals/main.nf b/subworkflows/local/prepare_intervals/main.nf new file mode 100644 index 00000000..9deec183 --- /dev/null +++ b/subworkflows/local/prepare_intervals/main.nf @@ -0,0 +1,147 @@ +// +// PREPARE INTERVALS +// + +// Initialize channels based on params or indices that were just built +// For all modules here: +// A when clause condition is defined in the conf/modules.config to determine if the module should be run + +include { BUILD_INTERVALS } from '../../../modules/local/build_intervals' +include { CREATE_INTERVALS_BED } from '../../../modules/local/create_intervals_bed' +include { GATK4_INTERVALLISTTOBED } from '../../../modules/nf-core/gatk4/intervallisttobed' +include { HTSLIB_BGZIPTABIX as TABIX_BGZIPTABIX_INTERVAL_SPLIT } from '../../../modules/nf-core/htslib/bgziptabix/main' +include { HTSLIB_BGZIPTABIX as TABIX_BGZIPTABIX_INTERVAL_COMBINED } from '../../../modules/nf-core/htslib/bgziptabix/main' + +workflow PREPARE_INTERVALS { + take: + fasta_fai // channel: [mandatory] fasta FAI path + intervals // input intervals path + no_intervals // boolean: skip intervals entirely + step // pipeline step + nucleotides_per_second // interval duration scaling + wes // whether this is targeted sequencing + + main: + versions = Channel.empty() + + + if (no_intervals) { + intervals_bed = Channel.of([[], 0 ]) + intervals_bed_gz_tbi = Channel.of([[[],[]], 0 ]) + intervals_combined = Channel.of([[id:"no_intervals"], 0 ]) + intervals_bed_gz_tbi_combined = Channel.of([[], []]) + intervals_bed_gz_tbi_and_num_intervals = Channel.of([[],[], 0 ]) + } else if (step != 'annotate') { + // If no interval/target file is provided, then generated intervals from FASTA file + if (!intervals) { + BUILD_INTERVALS(fasta_fai.map{it -> [ [ id:it.baseName ], it ] }) + + intervals_combined = BUILD_INTERVALS.out.bed + + CREATE_INTERVALS_BED(intervals_combined.map{ meta, path -> path }).bed + + intervals_bed = CREATE_INTERVALS_BED.out.bed + + versions = versions.mix(BUILD_INTERVALS.out.versions) + versions = versions.mix(CREATE_INTERVALS_BED.out.versions) + } else { + intervals_combined = Channel.fromPath(file(intervals)).map{it -> [ [ id:it.baseName ], it ] } + intervals_bed = CREATE_INTERVALS_BED(file(intervals)).bed + + versions = versions.mix(CREATE_INTERVALS_BED.out.versions) + + // If interval file is not provided as .bed, but e.g. as .interval_list then convert to BED format + if (intervals.endsWith(".interval_list")) { + GATK4_INTERVALLISTTOBED(intervals_combined) + intervals_combined = GATK4_INTERVALLISTTOBED.out.bed + versions = versions.mix(GATK4_INTERVALLISTTOBED.out.versions_gatk4) + } + } + + // Now for the intervals.bed the following operations are done: + // 1. Intervals file is split up into multiple bed files for scatter/gather + // 2. Each bed file is indexed + + // 1. Intervals file is split up into multiple bed files for scatter/gather & grouping together small intervals + intervals_bed = intervals_bed.flatten() + .map{ intervalFile -> + def duration = intervalFile.readLines().inject(0.0) { acc, line -> + def fields = line.split('\t') + if (fields.size() >= 5) acc + fields[4].toFloat() + else { + def start = fields[1].toInteger() + def end = fields[2].toInteger() + acc + (end - start) / nucleotides_per_second + } + } + [ duration, intervalFile ] + }.toSortedList({ a, b -> b[0] <=> a[0] }) + .flatten().collate(2).map{ duration, intervalFile -> intervalFile }.collect() + // Adding number of intervals as elements + .map{ it -> [ it, it.size() ] } + .transpose() + + // 2. Create bed.gz and bed.gz.tbi for each interval file. They are split by region (see above) + TABIX_BGZIPTABIX_INTERVAL_SPLIT( + intervals_bed.map{ file, num_intervals -> [ [ id:file.baseName], file, [], [] ] }, + 'compress', + true, + 'bed' + ) + + intervals_bed_gz_tbi = TABIX_BGZIPTABIX_INTERVAL_SPLIT.out.output + .join(TABIX_BGZIPTABIX_INTERVAL_SPLIT.out.index, failOnMismatch: true) + .map{ meta, bed, tbi -> [ bed, tbi ] }.toList() + // Adding number of intervals as elements + .map{ it -> [ it, it.size() ] } + .transpose() + + versions = versions.mix(TABIX_BGZIPTABIX_INTERVAL_SPLIT.out.versions_htslib) + versions = versions.mix(TABIX_BGZIPTABIX_INTERVAL_SPLIT.out.versions_xz) + + TABIX_BGZIPTABIX_INTERVAL_COMBINED( + intervals_combined.map{ meta, file -> [ meta, file, [], [] ] }, + 'compress', + true, + 'bed' + ) + versions = versions.mix(TABIX_BGZIPTABIX_INTERVAL_COMBINED.out.versions_htslib) + versions = versions.mix(TABIX_BGZIPTABIX_INTERVAL_COMBINED.out.versions_xz) + + + intervals_bed_gz_tbi_combined = TABIX_BGZIPTABIX_INTERVAL_COMBINED.out.output + .join(TABIX_BGZIPTABIX_INTERVAL_COMBINED.out.index, failOnMismatch: true) + .map{meta, gz, tbi -> [gz, tbi] }.collect() + intervals_bed_gz_tbi_and_num_intervals = intervals_bed_gz_tbi.map{ interval_pair, num_intervals -> + if ( num_intervals < 1 ) [ [], [], num_intervals ] + else [ interval_pair[0], interval_pair[1], num_intervals ] + } + } + + // Intervals for speed up preprocessing/variant calling by spread/gather + intervals_bed_combined = no_intervals ? + Channel.value([]) : + intervals_combined.map{meta, bed -> bed }.collect() + // For QC during preprocessing, we don't need any intervals (MOSDEPTH doesn't take them for WGS) + intervals_for_preprocessing = wes ? + intervals_bed_combined.map{it -> [ [ id:it.baseName ], it ]}.collect() : + Channel.value([ [ id:'null' ], [] ]) + + intervals_and_num_intervals = intervals_bed.map{ interval, num_intervals -> + if ( num_intervals < 1 ) [ [], num_intervals ] + else [ interval, num_intervals ] + } + + emit: + // Intervals split for parallel execution + intervals_bed // [interval, num_intervals] multiple interval.bed files, divided by useful intervals for scatter/gather + intervals_bed_gz_tbi // [interval_bed, tbi, num_intervals] multiple interval.bed.gz/.tbi files, divided by useful intervals for scatter/gather + intervals_for_preprocessing + // All intervals in one file + intervals_bed_combined // [ intervals.bed ] + intervals_bed_gz_tbi_combined // [ intervals.bed.gz, intervals.bed.gz.tbi] + intervals_and_num_intervals + intervals_bed_gz_tbi_and_num_intervals + + versions // [ versions.yml ] +} diff --git a/subworkflows/local/prepare_realignment/main.nf b/subworkflows/local/prepare_realignment/main.nf new file mode 100644 index 00000000..c1e2e339 --- /dev/null +++ b/subworkflows/local/prepare_realignment/main.nf @@ -0,0 +1,154 @@ +// +// PREPARE SECOND RUN: extract reads from candidate regions for re-alignment (RNA and DNA normal only) +// +include { MAF2BED } from '../../../modules/local/maf2bed/main' +// Extract read ids for selected regions +include { SAMTOOLS_EXTRACT_READ_IDS } from '../../../modules/local/extract_reads_id/main' +// Filter bam for selected regions +include { PICARD_FILTERSAMREADS } from '../../../modules/nf-core/picard/filtersamreads/main' +// Convert BAM files to FASTQ files +include { BAM_CONVERT_SAMTOOLS as CONVERT_FASTQ_INPUT } from '../bam_convert_samtools/main' +// Conver CRAM to BAM (picard/filtersamreads can't work with cram) +include { SAMTOOLS_CONVERT as CONVERT_CRAM2BAM } from '../../../modules/nf-core/samtools/convert/main' +// Realignment with HISAT2 +include { FASTQ_ALIGN_HISAT2 } from '../../nf-core/fastq_align_hisat2/main' + + +workflow BAM_EXTRACT_READS_HISAT2_ALIGN { + take: + input_sample + maf_with_candidates // MAf with candidate regions to extract [meta, maf] + reads_to_realign // CRAM/BAM to extract reads from [meta, cram, crai] + fasta // channel: [mandatory] [ meta, fasta ] + fasta_fai // channel: [mandatory] fasta FAI path + dict // channel: [mandatory] [ meta, dict ] + hisat2_index + splicesites + dna_consensus_maf + dna_varcall_mafs + + main: + versions = Channel.empty() + bam_mapped = Channel.empty() + fasta_with_fai = fasta.combine(fasta_fai).map { meta, fa, fai -> [meta, fa, fai] }.first() + + if (params.step in ['mapping', 'markduplicates', 'splitncigar', + 'prepare_recalibration', 'recalibrate', 'variant_calling', 'norm', 'consensus', + 'realignment'] && !(params.skip_tools && params.skip_tools.split(",").contains("realignment"))) { + if (params.step == 'realignment') { + input_elements_status = input_sample.branch{ + norealign: it[0].status == 1 + realign: it[0].status == 2 || it[0].status == 0 + } // [meta, maf] + input_elements_status.norealign.dump(tag:"input_elements_status.norealign") + dna_mafs = input_elements_status.norealign.map{meta, vcf -> [meta + [ consensus: meta.variantcaller ==~ /(\S+)?(?i)consensus(\S+)/ ], vcf, meta.variantcaller]} + dna_mafs_consensus = dna_mafs.branch{ + isconsensus: it[0].consensus == true + noconsensus: it[0].consensus == false + } + dna_consensus_maf = dna_mafs_consensus.isconsensus + dna_varcall_mafs = dna_mafs_consensus.noconsensus.map{meta, maf, vc -> [meta, [maf], [vc]]} + dna_mafs.dump(tag:"dna_mafs") + dna_consensus_maf.dump(tag:"dna_consensus_maf") + maf_with_candidates.dump(tag:"maf_with_candidates") + // [meta, cram, crai, maf] (RNA dna NORMAL) + cram_to_realign = input_elements_status.realign // [meta, cram, crai, maf] + cram_to_realign.dump(tag:"cram_to_realign") + // TODO convert to CRAM or/and MERGE if necessary + // TODO Merge alignments if applicable +// MERGE_ALIGN(previous_alignment.map{meta, cram, crai, maf -> [meta, cram]}) + } else { + reads_to_realign.dump(tag:'reads_to_realign0') + // Filter DNA tumour samples, only DNA matched normal and RNA will be processed for the realignment + reads_to_realign_branch = reads_to_realign.branch{ + norealign: it[0].status == 1 + realign: it[0].status == 2 || it[0].status == 0 + } // [meta, reads] + maf_with_candidates_branch = maf_with_candidates.branch{ + norealign: it[0].status == 1 + realign: it[0].status == 2 || it[0].status == 0 + } + maf_with_candidates_branch.realign.dump(tag:'maf_with_candidates0') + // map and change ids with _realign tag to differentiate from first alignment + maf_with_candidates_tumor = maf_with_candidates_branch.realign.map{ + meta, maf -> + [[ + patient: meta.patient, + sample: meta.id.split('_vs_')[0].split('_with_')[0] + "_realign", + status: meta.status, + id: meta.id.split('_vs_')[0].split('_with_')[0] + "_realign" + ], maf] + } + maf_with_candidates_normal = maf_with_candidates_branch.realign.map{ + meta, maf -> + [[ + patient: meta.patient, + sample: meta.id.split('_vs_')[1].split('_with_')[0] + "_realign", + status: 0, + id: meta.id.split('_vs_')[1].split('_with_')[0] + "_realign" + ], maf] + } + maf_with_candidates_to_realign = maf_with_candidates_tumor.mix(maf_with_candidates_normal) + reads_to_realign_and_join = reads_to_realign_branch.realign.map{meta, cram, crai -> + [[patient: meta.patient, + sample: meta.id + "_realign", + status: meta.status, + id: meta.id + "_realign"], cram, crai] + } + reads_to_realign_and_join.dump(tag:'reads_to_realign1') + maf_with_candidates_to_realign.dump(tag:'maf_with_candidates_to_realign') + cram_to_realign = reads_to_realign_and_join.join(maf_with_candidates_to_realign) + } + // Get candidate regions + // Add files to meta to keep them for next processes + maf_to_bed = cram_to_realign.map{meta, cram, crai, maf -> [meta + [cram_file:cram, crai_file:crai, maf_file:maf], maf]} + MAF2BED(maf_to_bed) + // Extract read names with regions from bed + cram_to_extract = MAF2BED.out.bed.map{meta, bed -> [meta, meta.cram_file, meta.crai_file, bed]} + SAMTOOLS_EXTRACT_READ_IDS(cram_to_extract, fasta) + // Extract reads + cram_to_convert = SAMTOOLS_EXTRACT_READ_IDS.out.read_ids.map{meta, readsid -> [meta + [readsid_file:readsid], meta.cram_file, meta.crai_file]} + // 1) Convert cram 2 bam + CONVERT_CRAM2BAM(cram_to_convert, fasta_with_fai) + bam_to_filter = CONVERT_CRAM2BAM.out.bam.map{meta, bam -> [meta, bam, meta.readsid_file]} + // 2) Apply picard filtersamreads + PICARD_FILTERSAMREADS(bam_to_filter, fasta, 'includeReadList') // bam -> filtered_bam + // Conver to FQ + bam_to_fq = PICARD_FILTERSAMREADS.out.bam.join(PICARD_FILTERSAMREADS.out.bai) + interleave_input = false // Currently don't allow interleaved input + CONVERT_FASTQ_INPUT( + bam_to_fq, + fasta, + fasta_fai, + interleave_input + ) + // Align with HISAT2 + reads_for_realignment = CONVERT_FASTQ_INPUT.out.reads + // Build the reference tuple expected by the updated nf-core subworkflow: + // [ meta, fasta, fai ] + fasta_fai_for_hisat2 = fasta_with_fai + hisat2_index.dump(tag:"HISAT2index") + splicesites.dump(tag:"HISAT2splicesites") + // Note: single_end in meta always false for this subworkflow TODO: add to samplesheet in future? + FASTQ_ALIGN_HISAT2( + reads_for_realignment.map{meta, reads -> [meta + [single_end:false], reads]}, + hisat2_index, + splicesites, + fasta_fai_for_hisat2, + false + ) + versions = versions.mix(CONVERT_CRAM2BAM.out.versions_samtools) + versions = versions.mix(PICARD_FILTERSAMREADS.out.versions_picard) + versions = versions.mix(CONVERT_FASTQ_INPUT.out.versions) + // The updated nf-core subworkflow emits a generic `index` channel instead of `bai`. + bam_mapped = FASTQ_ALIGN_HISAT2.out.bam.join(FASTQ_ALIGN_HISAT2.out.index).map{meta, bam, index -> [meta + [ id:meta.sample, data_type:"bam"], bam, index]} + } + bam_mapped = bam_mapped.map{meta, bam, index -> [meta - meta.subMap('single_end'), bam]} + + emit: + bam_mapped = bam_mapped + dna_consensus_maf = dna_consensus_maf + dna_varcall_mafs = dna_varcall_mafs + versions = versions // channel: [ versions.yml ] + +} diff --git a/subworkflows/local/prepare_reference_and_intervals/main.nf b/subworkflows/local/prepare_reference_and_intervals/main.nf new file mode 100644 index 00000000..fb5c5b93 --- /dev/null +++ b/subworkflows/local/prepare_reference_and_intervals/main.nf @@ -0,0 +1,123 @@ +// +// PREPARE REFERENCE AND INTERVAL FILES FOR PIPELINE +// +include { PREPARE_GENOME } from './../prepare_genome/main' +include { PREPARE_INTERVALS } from './../prepare_intervals/main' + +workflow PREPARE_REFERENCE_AND_INTERVALS { + take: + dbsnp_input + known_snps_input + fasta_input + germline_resource_input + known_indels_input + pon_input + whitelist_input + bwa_input + bwamem2_input + dragmap_input + hisat2_index_input + splicesites_input + dict_input + fasta_fai_input + dbsnp_tbi_input + germline_resource_tbi_input + known_indels_tbi_input + known_snps_tbi_input + pon_tbi_input + intervals_input + no_intervals_input + step + nucleotides_per_second + wes + + main: + versions = Channel.empty() + + dbsnp = dbsnp_input ? Channel.fromPath(dbsnp_input).collect() : Channel.value([]) + known_snps = known_snps_input ? Channel.fromPath(known_snps_input).collect() : Channel.value([]) + fasta = fasta_input ? Channel.fromPath(fasta_input).collect() : Channel.empty() + germline_resource = germline_resource_input ? Channel.fromPath(germline_resource_input).collect() : Channel.value([]) //Mutec2 does not require a germline resource, so set to optional input + known_indels = known_indels_input ? Channel.fromPath(known_indels_input).collect() : Channel.value([]) + pon = pon_input ? Channel.fromPath(pon_input).collect() : Channel.value([]) //PON is optional for Mutect2 (but highly recommended) + whitelist = whitelist_input ? Channel.fromPath(whitelist_input).collect() : Channel.value([]) // whitelist optional for filtering + + // Build indexes if needed + PREPARE_GENOME( + dbsnp, + fasta, + germline_resource, + known_indels, + known_snps, + pon) + versions = versions.mix(PREPARE_GENOME.out.versions) + + // Gather built indices or get them from the params + fasta = PREPARE_GENOME.out.fasta // unbgzipped if .gz + bwa = fasta_input ? bwa_input ? Channel.fromPath(bwa_input).collect() : PREPARE_GENOME.out.bwa : [] + bwamem2 = fasta_input ? bwamem2_input ? Channel.fromPath(bwamem2_input).collect() : PREPARE_GENOME.out.bwamem2 : [] + dragmap = fasta_input ? dragmap_input ? Channel.fromPath(dragmap_input).collect() : PREPARE_GENOME.out.hashtable : [] + hisat2_index = fasta_input ? hisat2_index_input ? Channel.fromPath(hisat2_index_input).map{ it -> [ [id:'ht_idx'], it ] }.collect() : PREPARE_GENOME.out.hisat2_index : [] + splicesites = fasta_input ? splicesites_input ? Channel.fromPath(splicesites_input).collect() : PREPARE_GENOME.out.splicesites : [] + dict = dict_input ? Channel.fromPath(dict_input).map{ it -> [ [id:'dict'], it ] }.first() : PREPARE_GENOME.out.dict + fasta_fai = fasta_input ? fasta_fai_input ? Channel.fromPath(fasta_fai_input).collect() : PREPARE_GENOME.out.fasta_fai : [] + // If no external index was supplied, consume the rebuilt resource emitted by PREPARE_GENOME + // so the resource path and generated TBI keep matching basenames downstream. + dbsnp = dbsnp_input ? dbsnp_tbi_input ? Channel.fromPath(dbsnp_input).collect() : PREPARE_GENOME.out.dbsnp : Channel.value([]) + germline_resource = germline_resource_input ? germline_resource_tbi_input ? Channel.fromPath(germline_resource_input).collect() : PREPARE_GENOME.out.germline_resource : [] + known_indels = known_indels_input ? known_indels_tbi_input ? Channel.fromPath(known_indels_input).collect() : PREPARE_GENOME.out.known_indels : Channel.value([]) + known_snps = known_snps_input ? known_snps_tbi_input ? Channel.fromPath(known_snps_input).collect() : PREPARE_GENOME.out.known_snps : Channel.value([]) + pon = pon_input ? pon_tbi_input ? Channel.fromPath(pon_input).collect() : PREPARE_GENOME.out.pon : [] + dbsnp_tbi = dbsnp_input ? dbsnp_tbi_input ? Channel.fromPath(dbsnp_tbi_input).collect() : PREPARE_GENOME.out.dbsnp_tbi : Channel.value([]) + germline_resource_tbi = germline_resource_input ? germline_resource_tbi_input ? Channel.fromPath(germline_resource_tbi_input).collect() : PREPARE_GENOME.out.germline_resource_tbi : [] + known_indels_tbi = known_indels_input ? known_indels_tbi_input ? Channel.fromPath(known_indels_tbi_input).collect() : PREPARE_GENOME.out.known_indels_tbi : Channel.value([]) + known_snps_tbi = known_snps_input ? known_snps_tbi_input ? Channel.fromPath(known_snps_tbi_input).collect() : PREPARE_GENOME.out.known_snps_tbi : Channel.value([]) + pon_tbi = pon_input ? pon_tbi_input ? Channel.fromPath(pon_tbi_input).collect() : PREPARE_GENOME.out.pon_tbi : [] + // known_sites is made by grouping both the dbsnp and the known snps/indels resources + // Which can either or both be optional + known_sites_indels = dbsnp.concat(known_indels).collect() + known_sites_indels_tbi = dbsnp_tbi.concat(known_indels_tbi).collect() + + known_sites_snps = dbsnp.concat(known_snps).collect() + known_sites_snps_tbi = dbsnp_tbi.concat(known_snps_tbi).collect() + + // Build intervals if needed + PREPARE_INTERVALS( + fasta_fai, + intervals_input, + no_intervals_input, + step, + nucleotides_per_second, + wes + ) + versions = versions.mix(PREPARE_INTERVALS.out.versions) + + + emit: + fasta + fasta_fai + dict + bwa + germline_resource + germline_resource_tbi + bwamem2 + dragmap + star_index = PREPARE_GENOME.out.star_index + gtf = PREPARE_GENOME.out.gtf + intervals = PREPARE_INTERVALS.out.intervals_bed + intervals_bed_gz_tbi = PREPARE_INTERVALS.out.intervals_bed_gz_tbi + intervals_for_preprocessing = PREPARE_INTERVALS.out.intervals_for_preprocessing + intervals_bed_combined = PREPARE_INTERVALS.out.intervals_bed_combined + intervals_bed_gz_tbi_combined = PREPARE_INTERVALS.out.intervals_bed_gz_tbi_combined + dbsnp + dbsnp_tbi + pon + pon_tbi + hisat2_index + splicesites + known_sites_indels + known_sites_indels_tbi + known_sites_snps + known_sites_snps_tbi + versions // channel: [ versions.yml ] +} diff --git a/subworkflows/local/samplesheet_to_channel/main.nf b/subworkflows/local/samplesheet_to_channel/main.nf new file mode 100644 index 00000000..cdbdb01f --- /dev/null +++ b/subworkflows/local/samplesheet_to_channel/main.nf @@ -0,0 +1,250 @@ +// +// Function to parse samplesheet to appropriate channel structure +// + +workflow SAMPLESHEET_TO_CHANNEL{ + + take: + ch_from_samplesheet + + main: + ch_from_samplesheet.dump(tag:"ch_from_samplesheet") + input_sample = ch_from_samplesheet + .map{ meta, fastq_1, fastq_2, table, cram, crai, bam, bai, vcf, variantcaller, maf -> + meta = meta + [status: meta.status as Integer] + // generate patient_sample key to group lanes together + [ meta.patient + meta.sample, [meta, fastq_1, fastq_2, table, cram, crai, bam, bai, vcf, variantcaller, maf] ] + } + .tap{ ch_with_patient_sample } // save the channel + .groupTuple() //group by patient_sample to get all lanes + .map { patient_sample, ch_items -> + // get number of lanes per sample + [ patient_sample, ch_items.size() ] + } + .combine(ch_with_patient_sample, by: 0) // for each entry add numLanes + .map { patient_sample, num_lanes, ch_items -> + + def (meta, fastq_1, fastq_2, table, cram, crai, bam, bai, vcf, variantcaller, maf) = ch_items + if (meta.lane && fastq_2) { + meta = meta + [id: "${meta.sample}-${meta.lane}".toString()] + def CN = params.seq_center ? "CN:${params.seq_center}\\t" : '' + + def flowcell = flowcellLaneFromFastq(fastq_1) + // Don't use a random element for ID, it breaks resuming + def read_group = "\"@RG\\tID:${flowcell}.${meta.sample}.${meta.lane}\\t${CN}PU:${meta.lane}\\tSM:${meta.sample}\\tLB:${meta.sample}\\tDS:${params.fasta}\\tPL:${params.seq_platform}\"" + if (meta.status >= 2) { // STAR does not need '@RG' + read_group = "ID:${flowcell}.${meta.sample}.${meta.lane} ${CN}PU:${meta.lane} SM:${meta.sample} LB:${meta.sample} DS:${params.fasta} PL:${params.seq_platform}" + } + meta = meta + [num_lanes: num_lanes.toInteger(), read_group: read_group.toString(), data_type: 'fastq', size: 1] + + if (params.step == 'mapping') return [ meta, [ fastq_1, fastq_2 ] ] + else { + error("Samplesheet contains fastq files but step is `$params.step`. Please check your samplesheet or adjust the step parameter.\nhttps://nf-co.re/rnadnavar/usage#input-samplesheet-configurations") + } + // start directly from MAFs for downstream restart paths + } else if (maf && params.step in ['consensus', 'filtering', 'rna_filtering']) { + if (meta.status == 0) { + error("Samplesheet contains MAF files with status 0, MAFs should only be for tumours (1|2).") + } + meta = meta + [data_type: 'maf', variantcaller: variantcaller ?: 'unknown'] + if (meta.normal_id) { + meta = meta + [id: "${meta.sample}_vs_${meta.normal_id}".toString()] + } else { + meta = meta + [id: meta.sample] + } + return [meta - meta.subMap('lane'), maf] + // start for realignment or will do realignment later starting after pre-processing + } else if ((maf || vcf) && (params.step=="realignment" || (params.tools && params.tools.split(',').contains("realignment")))){ + if (meta.lane == null) meta.lane = "LX" + + if ((meta.status >= 2 || meta.status==0) && !maf){ // these are the files that will go through realignment + meta = meta + [id: "${meta.sample}-${meta.lane}-realign".toString()] + def CN = params.seq_center ? "CN:${params.seq_center}\\t" : '' + def read_group = "\"@RG\\tID:${meta.sample}_${meta.lane}_realign\\t${CN}PU:${meta.lane}\\tSM:${meta.sample}\\tLB:${meta.sample}\\tDS:${params.fasta}\\tPL:${params.seq_platform}\"" + if (meta.status >= 2) { // STAR does not need '@RG' + read_group = "ID:${meta.sample}_${meta.lane}_realign ${CN}PU:${meta.lane} SM:${meta.sample} LB:${meta.sample} DS:${params.fasta} PL:${params.seq_platform}" + } + if (cram) return [ meta + [num_lanes: num_lanes.toInteger(), read_group: read_group.toString(), data_type: 'cram', size: 1], cram, crai, maf ] + else if (bam) return [ meta + [num_lanes: num_lanes.toInteger(), read_group: read_group.toString(), data_type: 'bam', size: 1], bam, bai, maf ] + else { + error("Combination error")} + } else if (meta.status >= 1){ // either DNA (status=1) or RNA (status=2) + if (!meta.normal_id) { + // Extract normal_id from sample name like "SAMPLE_T_vs_SAMPLE_N" as "SAMPLE_N" + if (meta.sample.contains('_vs_')) { + def parts = meta.sample.split('_vs_') + if (parts.size() == 2) { + def normal_id = parts[1] + meta = meta + [normal_id: normal_id] + } + } else if (meta.sample.endsWith('_T')) { + // For tumor samples, derive normal_id from patient + meta = meta + [normal_id: "${meta.patient}_N"] + } else{ + error("When the `realignment` step/tool is enabled, each MAF entry must include a `normal_id column. Alternatively, include the normal sample ID in the file name as SAMPLE_T_vs_SAMPLE_N. If neither is provided, normal_id will be inferred automatically, which may lead to incorrect pairing") + } + } else { + meta = meta + [id: meta.sample + "_vs_" + meta.normal_id, data_type: 'maf', variantcaller: variantcaller ?: 'unknown'] + return [ meta, maf ] + } + } + // start from BAM + } else if (meta.lane && bam) { + if (params.step != 'mapping' && !bai) { + error("BAM index (bai) should be provided.") + } + meta = meta + [id: "${meta.sample}-${meta.lane}".toString()] + def CN = params.seq_center ? "CN:${params.seq_center}\\t" : '' + def read_group = "\"@RG\\tID:${meta.sample}_${meta.lane}\\t${CN}PU:${meta.lane}\\tSM:${meta.sample}\\tLB:${meta.sample}\\tDS:${params.fasta}\\tPL:${params.seq_platform}\"" + if (meta.status >= 2) { // STAR does not need '@RG' + read_group = "ID:${meta.sample}_${meta.lane} ${CN}PU:${meta.lane} SM:${meta.sample} LB:${meta.sample} DS:${params.fasta} PL:${params.seq_platform}" + } + meta = meta + [num_lanes: num_lanes.toInteger(), read_group: read_group.toString(), data_type: 'bam', size: 1] + + if (params.step != 'annotate') return [ meta - meta.subMap('lane'), bam, bai ] + else { + error("Samplesheet contains bam files but step is `annotate`. The pipeline is expecting vcf files for the annotation. Please check your samplesheet or adjust the step parameter.\nhttps://nf-co.re/rnadnavar/usage#input-samplesheet-configurations") + } + + // recalibration + } else if (table && cram) { + meta = meta + [id: meta.sample, data_type: 'cram'] + + if (!(params.step == 'mapping' || params.step == 'annotate')) return [ meta - meta.subMap('lane'), cram, crai, table ] + else { + error("Samplesheet contains cram files but step is `$params.step`. Please check your samplesheet or adjust the step parameter.\nhttps://nf-co.re/rnadnavar/usage#input-samplesheet-configurations") + } + + } else if (params.step == "recalibrate" && !table) { + + error("Step is `$params.step` but samplesheet has no recalibration table. Please check your samplesheet or adjust the step parameter.\nhttps://nf-co.re/rnadnavar/usage#input-samplesheet-configurations") + + }else if (table && bam) { + meta = meta + [id: meta.sample, data_type: 'bam'] + + if (!(params.step == 'mapping' || params.step == 'annotate')) return [ meta - meta.subMap('lane'), bam, bai, table ] + else { + error("Samplesheet contains bam files but step is `$params.step`. Please check your samplesheet or adjust the step parameter.\nhttps://nf-co.re/rnadnavar/usage#input-samplesheet-configurations") + } + + // prepare_recalibration or variant_calling + } else if (cram) { + meta = meta + [id: meta.sample, data_type: 'cram'] + + if (!(params.step == 'mapping' || params.step == 'annotate')) return [ meta - meta.subMap('lane'), cram, crai ] + else { + error("Samplesheet contains cram files but step is `$params.step`. Please check your samplesheet or adjust the step parameter.\nhttps://nf-co.re/rnadnavar/usage#input-samplesheet-configurations") + } + + // prepare_recalibration when skipping MarkDuplicates or `--step markduplicates` + } else if (bam) { + meta = meta + [id: meta.sample, data_type: 'bam'] + if (!(params.step == 'mapping' || params.step == 'annotate')) return [ meta - meta.subMap('lane'), bam, bai ] + else { + error("Samplesheet contains bam files but step is 2 `$params.step`. Please check your samplesheet or adjust the step parameter.\nhttps://nf-co.re/rnadnavar/usage#input-samplesheet-configurations") + } + + // annotation + } else if (vcf) { + meta = meta + [id: meta.sample, data_type: 'vcf', variantcaller: variantcaller ?: ''] + + if (params.step == 'annotate' ) return [ meta - meta.subMap('lane'), vcf ] + else if (params.step == 'norm') { + if (meta.status == 0){ // TODO: more specific checks on this is needed + error("Samplesheet contains vcf files with status 0, vcfs should only be for tumours (1|2).") + } + else if (meta.normal_id == null){ + error("When step 'norm', `normal_id` should be added to the csv for all samples.") + // Need to get the normal id to create the tumour_vs_normal id + } else { + meta = meta + [id: meta.sample + "_vs_" + meta.normal_id, data_type: 'vcf', variantcaller: variantcaller ?: ''] + return [ meta - meta.subMap('lane'), vcf ] + } + } + else { + error("Samplesheet contains vcf files but step is `$params.step`. Please check your samplesheet or adjust the step parameter.\nhttps://nf-co.re/rnadnavar/usage#input-samplesheet-configurations") + } + } else { + error("Missing or unknown field in csv file header. Please check your samplesheet") + } + } + // Global tumour/normal composition checks are intentionally performed upstream on the + // parsed samplesheet list. This subworkflow is kept focused on row-level validation and + // metadata shaping so it does not depend on queue-channel consumer order. + + // Fails when wrongfull extension for intervals file + if (params.wes && !params.step == 'annotate') { + if (params.intervals && !params.intervals.endsWith("bed")) error("Target file specified with `--intervals` must be in BED format for targeted data") + else log.warn("Intervals file was provided without parameter `--wes`: Pipeline will assume this is Whole-Genome-Sequencing data.") + } else if (params.intervals && !params.intervals.endsWith("bed") && !params.intervals.endsWith("list")) error("Intervals file must end with .bed, .list, or .interval_list") + + if (params.step == 'mapping' && params.aligner.contains("dragmap") && !(params.skip_tools && params.skip_tools.split(',').contains("baserecalibrator"))) { + log.warn("DragMap was specified as aligner. Base recalibration is not contained in --skip_tools. It is recommended to skip baserecalibration when using DragMap\nhttps://gatk.broadinstitute.org/hc/en-us/articles/4407897446939--How-to-Run-germline-single-sample-short-variant-discovery-in-DRAGEN-mode") + } + + + // Warns when missing files or params for mutect2 + if (params.tools && params.tools.split(',').contains('mutect2')) { + if (!params.pon) { + log.warn("No Panel-of-normal was specified for Mutect2.\nIt is highly recommended to use one: https://gatk.broadinstitute.org/hc/en-us/articles/5358911630107-Mutect2\nFor more information on how to create one: https://gatk.broadinstitute.org/hc/en-us/articles/5358921041947-CreateSomaticPanelOfNormals-BETA-") + } + if (!params.germline_resource) { + log.warn("If Mutect2 is specified without a germline resource, no filtering will be done.\nIt is recommended to use one: https://gatk.broadinstitute.org/hc/en-us/articles/5358911630107-Mutect2") + } + if (params.pon && params.pon.contains("/Homo_sapiens/GATK/GRCh38/Annotation/GATKBundle/1000g_pon.hg38.vcf.gz")) { + log.warn("The default Panel-of-Normals provided by GATK is used for Mutect2.\nIt is highly recommended to generate one from normal samples that are technical similar to the tumor ones.\nFor more information: https://gatk.broadinstitute.org/hc/en-us/articles/360035890631-Panel-of-Normals-PON-") + } + } + + // Fails when missing resources for baserecalibrator + if (!params.dbsnp && !params.known_indels) { + if (params.step in ['mapping', 'markduplicates', 'prepare_recalibration', 'recalibrate'] && (!params.skip_tools || (params.skip_tools && !params.skip_tools.split(',').contains('baserecalibrator')))) { + error("Base quality score recalibration requires at least one resource file. Please provide at least one of `--dbsnp` or `--known_indels`\nYou can skip this step in the workflow by adding `--skip_tools baserecalibrator` to the command.") + } + } + + // Fails when missing tools for variant_calling or annotate + if ((params.step == 'variant_calling' || params.step == 'annotate') && !params.tools) { + error("Please specify at least one tool when using `--step ${params.step}`.\nhttps://nf-co.re/rnadnavar/parameters#tools") + } + + if ((params.download_cache) && (params.vep_cache)) { + error("Please specify either `--download_cache` or `--vep_cache`.\nhttps://nf-co.re/rnadnavar/usage#how-to-customise-vep-annotation") + } + input_sample.dump(tag:"input_sample_final") + emit: + input_sample +} + +/* +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + FUNCTIONS +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +*/ +// Parse first line of a FASTQ file, return the flowcell id and lane number. +def flowcellLaneFromFastq(path) { + // expected format: + // xx:yy:FLOWCELLID:LANE:... (seven fields) + // or + // FLOWCELLID:LANE:xx:... (five fields) + def line + path.withInputStream { + InputStream gzipStream = new java.util.zip.GZIPInputStream(it) + Reader decoder = new InputStreamReader(gzipStream, 'ASCII') + BufferedReader buffered = new BufferedReader(decoder) + line = buffered.readLine() + } + assert line.startsWith('@') + line = line.substring(1) + def fields = line.split(':') + String fcid + + if (fields.size() >= 7) { + // CASAVA 1.8+ format, from https://support.illumina.com/help/BaseSpace_OLH_009008/Content/Source/Informatics/BS/FileFormat_FASTQ-files_swBS.htm + // "@::::::: :::" + fcid = fields[2] + } else if (fields.size() == 5) { + fcid = fields[0] + } + return fcid +} diff --git a/subworkflows/local/samplesheet_to_channel/tests/main.nf.test b/subworkflows/local/samplesheet_to_channel/tests/main.nf.test new file mode 100644 index 00000000..52ccc8fa --- /dev/null +++ b/subworkflows/local/samplesheet_to_channel/tests/main.nf.test @@ -0,0 +1,72 @@ +nextflow_workflow { + + name "Test Workflow SAMPLESHEET_TO_CHANNEL" + script "../main.nf" + workflow "SAMPLESHEET_TO_CHANNEL" + + test("Should run without failures") { + + when { + params { + // define parameters here. Example: + skip_tools = 'baserecalibrator' + fasta = 'https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/reference/chr7_hg38/GRCh38.d1.vd1.chr7.mini.fa' + } + workflow { + """ + // define inputs of the workflow here. Example: + input[0] = Channel.of([['patient':'test', 'sample':'test', + 'status':0, 'lane':'test_L1'], + file('https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/genomics/homo_sapiens/illumina/fastq/test_1.fastq.gz'), + file('https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/genomics/homo_sapiens/illumina/fastq/test_2.fastq.gz'), + [], [], [], [], [], [], [], []], + [['patient':'test', 'sample':'test', + 'status':2, 'lane':'test_L2'], + file('https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/genomics/homo_sapiens/illumina/fastq/test_1.fastq.gz'), + file('https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/genomics/homo_sapiens/illumina/fastq/test_2.fastq.gz'), + [], [], [], [], [], [], [], []]) + """ + } + } + + then { + assert workflow.success + assert snapshot(workflow.out).match() + } + + } + + test("Should not perform global sample-composition validation") { + + when { + params { + skip_tools = 'baserecalibrator' + tools = 'strelka' + step = 'mapping' + fasta = 'https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/reference/chr7_hg38/GRCh38.d1.vd1.chr7.mini.fa' + } + workflow { + """ + // Global tumour/normal validation now happens upstream, so this subworkflow + // should still shape tumour-only rows without failing on sample composition. + input[0] = Channel.of([['patient':'PT1', 'sample':'RNA_T', + 'status':2, 'lane':'L1'], + file('https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/genomics/homo_sapiens/illumina/fastq/test_1.fastq.gz'), + file('https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/genomics/homo_sapiens/illumina/fastq/test_2.fastq.gz'), + [], [], [], [], [], [], [], []]) + """ + } + } + + then { + assertAll( + { assert workflow.success }, + { assert workflow.out.input_sample.size() == 1 }, + { assert workflow.out.input_sample[0][0].status == 2 }, + { assert workflow.out.input_sample[0][0].data_type == 'fastq' } + ) + } + + } + +} diff --git a/subworkflows/local/samplesheet_to_channel/tests/main.nf.test.snap b/subworkflows/local/samplesheet_to_channel/tests/main.nf.test.snap new file mode 100644 index 00000000..259f0e15 --- /dev/null +++ b/subworkflows/local/samplesheet_to_channel/tests/main.nf.test.snap @@ -0,0 +1,85 @@ +{ + "Should run without failures": { + "content": [ + { + "0": [ + [ + { + "patient": "test", + "sample": "test", + "status": 0, + "lane": "test_L1", + "id": "test-test_L1", + "num_lanes": 2, + "read_group": "\"@RG\\tID:null.test.test_L1\\tPU:test_L1\\tSM:test\\tLB:test\\tDS:https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/reference/chr7_hg38/GRCh38.d1.vd1.chr7.mini.fa\\tPL:ILLUMINA\"", + "data_type": "fastq", + "size": 1 + }, + [ + "/nf-core/test-datasets/modules/data/genomics/homo_sapiens/illumina/fastq/test_1.fastq.gz", + "/nf-core/test-datasets/modules/data/genomics/homo_sapiens/illumina/fastq/test_2.fastq.gz" + ] + ], + [ + { + "patient": "test", + "sample": "test", + "status": 2, + "lane": "test_L2", + "id": "test-test_L2", + "num_lanes": 2, + "read_group": "ID:null.test.test_L2 PU:test_L2 SM:test LB:test DS:https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/reference/chr7_hg38/GRCh38.d1.vd1.chr7.mini.fa PL:ILLUMINA", + "data_type": "fastq", + "size": 1 + }, + [ + "/nf-core/test-datasets/modules/data/genomics/homo_sapiens/illumina/fastq/test_1.fastq.gz", + "/nf-core/test-datasets/modules/data/genomics/homo_sapiens/illumina/fastq/test_2.fastq.gz" + ] + ] + ], + "input_sample": [ + [ + { + "patient": "test", + "sample": "test", + "status": 0, + "lane": "test_L1", + "id": "test-test_L1", + "num_lanes": 2, + "read_group": "\"@RG\\tID:null.test.test_L1\\tPU:test_L1\\tSM:test\\tLB:test\\tDS:https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/reference/chr7_hg38/GRCh38.d1.vd1.chr7.mini.fa\\tPL:ILLUMINA\"", + "data_type": "fastq", + "size": 1 + }, + [ + "/nf-core/test-datasets/modules/data/genomics/homo_sapiens/illumina/fastq/test_1.fastq.gz", + "/nf-core/test-datasets/modules/data/genomics/homo_sapiens/illumina/fastq/test_2.fastq.gz" + ] + ], + [ + { + "patient": "test", + "sample": "test", + "status": 2, + "lane": "test_L2", + "id": "test-test_L2", + "num_lanes": 2, + "read_group": "ID:null.test.test_L2 PU:test_L2 SM:test LB:test DS:https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/reference/chr7_hg38/GRCh38.d1.vd1.chr7.mini.fa PL:ILLUMINA", + "data_type": "fastq", + "size": 1 + }, + [ + "/nf-core/test-datasets/modules/data/genomics/homo_sapiens/illumina/fastq/test_1.fastq.gz", + "/nf-core/test-datasets/modules/data/genomics/homo_sapiens/illumina/fastq/test_2.fastq.gz" + ] + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.0" + }, + "timestamp": "2026-05-20T11:41:16.553384" + } +} \ No newline at end of file diff --git a/subworkflows/local/utils_nfcore_rnadnavar_pipeline/main.nf b/subworkflows/local/utils_nfcore_rnadnavar_pipeline/main.nf index 69126169..09b5d345 100644 --- a/subworkflows/local/utils_nfcore_rnadnavar_pipeline/main.nf +++ b/subworkflows/local/utils_nfcore_rnadnavar_pipeline/main.nf @@ -7,14 +7,13 @@ IMPORT FUNCTIONS / MODULES / SUBWORKFLOWS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ - +include { SAMPLESHEET_TO_CHANNEL } from '../samplesheet_to_channel/main.nf' include { UTILS_NFSCHEMA_PLUGIN } from '../../nf-core/utils_nfschema_plugin' include { paramsSummaryMap } from 'plugin/nf-schema' include { samplesheetToList } from 'plugin/nf-schema' include { paramsHelp } from 'plugin/nf-schema' include { completionEmail } from '../../nf-core/utils_nfcore_pipeline' include { completionSummary } from '../../nf-core/utils_nfcore_pipeline' -include { imNotification } from '../../nf-core/utils_nfcore_pipeline' include { UTILS_NFCORE_PIPELINE } from '../../nf-core/utils_nfcore_pipeline' include { UTILS_NEXTFLOW_PIPELINE } from '../../nf-core/utils_nextflow_pipeline' @@ -25,35 +24,34 @@ include { UTILS_NEXTFLOW_PIPELINE } from '../../nf-core/utils_nextflow_pipelin */ workflow PIPELINE_INITIALISATION { - take: version // boolean: Display version and exit validate_params // boolean: Boolean whether to validate parameters against the schema at runtime - monochrome_logs // boolean: Do not use coloured log outputs nextflow_cli_args // array: List of positional nextflow CLI args outdir // string: The output directory where the results will be saved input // string: Path to input samplesheet help // boolean: Display help message and exit help_full // boolean: Show the full help message show_hidden // boolean: Show hidden parameters in the help message + monochrome_logs // boolean: Disable ANSI colour codes in log output main: - ch_versions = channel.empty() + versions = Channel.empty() - // // Print version and exit if required and dump pipeline parameters to JSON file - // - UTILS_NEXTFLOW_PIPELINE ( + UTILS_NEXTFLOW_PIPELINE( version, true, outdir, - workflow.profile.tokenize(',').intersect(['conda', 'mamba']).size() >= 1 + workflow.profile.tokenize(',').intersect(['conda', 'mamba']).size() >= 1, ) - // // Validate parameters and generate parameter summary to stdout // + + def before_text = "" + def after_text = "" before_text = """ -\033[2m----------------------------------------------------\033[0m- \033[0;32m,--.\033[0;30m/\033[0;32m,-.\033[0m @@ -61,6 +59,10 @@ workflow PIPELINE_INITIALISATION { \033[0;34m |\\ | |__ __ / ` / \\ |__) |__ \033[0;33m} {\033[0m \033[0;34m | \\| | \\__, \\__/ | \\ |___ \033[0;32m\\`-._,-`-,\033[0m \033[0;32m`._,._,\'\033[0m +\033[1;32m ___ _ _ _ \033[0;32m __ _ _ _ \033[1;32m _ _ _ ___ \033[0m +\033[1;32m | _ \\ | \\| | /_\\ \033[0;32m | \\ \\| | /_\\\033[1;32m\\ \\ / //_\\ | _ \\ \033[0m +\033[1;32m | _ / | \\` | / _ \\ \033[0;32m| | | \\| | / _ \\\033[1;32m\\ \\ // _ \\ | _ /\033[0m +\033[1;32m |_|\\_\\|_|\\_|/_/ \\_\\\033[0;32m|___/_|\\_|/_/ \\_\\\033[1;32m\\_//_/ \\_\\|_\\_\\\033[0m \033[0;35m nf-core/rnadnavar ${workflow.manifest.version}\033[0m -\033[2m----------------------------------------------------\033[0m- """ @@ -71,6 +73,10 @@ workflow PIPELINE_INITIALISATION { * Software dependencies https://github.com/nf-core/rnadnavar/blob/master/CITATIONS.md """ + if (monochrome_logs) { + before_text = before_text.replaceAll(/\033\[[0-9;]*m/, '') + } + command = "nextflow run ${workflow.manifest.name} -profile --input samplesheet.csv --outdir " UTILS_NFSCHEMA_PLUGIN ( @@ -82,13 +88,13 @@ workflow PIPELINE_INITIALISATION { show_hidden, before_text, after_text, - command + command, + null ) - // // Check config provided to the pipeline // - UTILS_NFCORE_PIPELINE ( + UTILS_NFCORE_PIPELINE( nextflow_cli_args ) @@ -97,33 +103,57 @@ workflow PIPELINE_INITIALISATION { // validateInputParameters() - // - // Create channel from input file provided through params.input - // - - channel - .fromList(samplesheetToList(params.input, "${projectDir}/assets/schema_input.json")) - .map { - meta, fastq_1, fastq_2 -> - if (!fastq_2) { - return [ meta.id, meta + [ single_end:true ], [ fastq_1 ] ] - } else { - return [ meta.id, meta + [ single_end:false ], [ fastq_1, fastq_2 ] ] - } - } - .groupTuple() - .map { samplesheet -> - validateInputSamplesheet(samplesheet) - } - .map { - meta, fastqs -> - return [ meta, fastqs.flatten() ] - } - .set { ch_samplesheet } + // Check input path parameters to see if they exist + def checkPathParamList = [ + params.input, + params.fasta, + params.fasta_fai, + params.dict, + params.bwa, + params.bwamem2, + params.dragmap, + params.gtf, + params.gff, + params.dbsnp, + params.dbsnp_tbi, + params.known_indels, + params.known_indels_tbi, + params.germline_resource, + params.germline_resource_tbi, + params.intervals, + params.pon, + params.pon_tbi, + params.mutect2_alleles, + params.mutect2_alleles_tbi, + params.multiqc_config, + params.vep_cache, + params.star_index, + params.hisat2_index, + params.whitelist, + ] + + + params.input_restart = retrieveInput((!params.build_only_index && !input), params.step, params.outdir) + + def samplesheet_path = input ?: params.input_restart + // Validate sample composition before channel creation so the logic does not depend on + // queue-channel consumer order. This is also the intended extension point for a future + // tumour-only release mode, while the current release remains tumour-normal matched. + def parsed_samplesheet = params.build_only_index + ? [] + : samplesheetToList(samplesheet_path, "${projectDir}/assets/schema_input.json") + + validateSamplesheetComposition(parsed_samplesheet, params.step, params.tools, params.build_only_index) + + ch_from_samplesheet = params.build_only_index + ? Channel.empty() + : Channel.fromList(parsed_samplesheet) + + SAMPLESHEET_TO_CHANNEL(ch_from_samplesheet) emit: - samplesheet = ch_samplesheet - versions = ch_versions + samplesheet = SAMPLESHEET_TO_CHANNEL.out.input_sample + versions = versions } /* @@ -133,23 +163,19 @@ workflow PIPELINE_INITIALISATION { */ workflow PIPELINE_COMPLETION { - take: email // string: email address email_on_fail // string: email address sent on pipeline failure plaintext_email // boolean: Send plain-text email instead of HTML outdir // path: Path to output directory where results will be published monochrome_logs // boolean: Disable ANSI colour codes in log output - hook_url // string: hook URL for notifications multiqc_report // string: Path to MultiQC report main: summary_params = paramsSummaryMap(workflow, parameters_schema: "nextflow_schema.json") def multiqc_reports = multiqc_report.toList() - // // Completion email and summary - // workflow.onComplete { if (email || email_on_fail) { completionEmail( @@ -164,13 +190,11 @@ workflow PIPELINE_COMPLETION { } completionSummary(monochrome_logs) - if (hook_url) { - imNotification(summary_params, hook_url) - } + } workflow.onError { - log.error "Pipeline failed. Please refer to troubleshooting docs: https://nf-co.re/docs/usage/troubleshooting" + log.error "Pipeline failed. Please refer to troubleshooting docs for common issues: https://nf-co.re/docs/running/troubleshooting" } } @@ -179,77 +203,270 @@ workflow PIPELINE_COMPLETION { FUNCTIONS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ -// // Check and validate pipeline parameters -// def validateInputParameters() { genomeExistsError() + validateMutect2AllelesParameters() } -// -// Validate channels from input samplesheet -// -def validateInputSamplesheet(input) { - def (metas, fastqs) = input[1..2] +/* +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + SAMPLE SHEET VALIDATION +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +*/ + +// Summarise the global tumour/normal composition of the parsed samplesheet before +// converting it into a queue channel. Keeping this logic list-based avoids consumer-order +// bugs and provides one central policy point for future tumour-only enablement. +def getSamplesheetCompositionState(rows, step, tools, build_only_index) { + def requested_tools = normaliseRequestedTools(tools) + def sample_type_tools = requested_tools.intersect(['mutect2', 'strelka', 'sage']) + def should_validate = !build_only_index && step != 'annotate' && !sample_type_tools.isEmpty() + + def statuses = rows.collect { row -> + def meta = row[0] + (meta.status == null ? 0 : meta.status) as Integer + } + def tumor_patients = rows + .findAll { row -> ((row[0].status == null ? 0 : row[0].status) as Integer) >= 1 } + .collect { row -> row[0].patient } + .findAll { patient -> patient != null } + .unique() + .sort() + def normal_patients = rows + .findAll { row -> ((row[0].status == null ? 0 : row[0].status) as Integer) == 0 } + .collect { row -> row[0].patient } + .findAll { patient -> patient != null } + .unique() + .sort() + def patients_missing_normal = tumor_patients.findAll { patient -> !normal_patients.contains(patient) } + + [ + should_validate : should_validate, + requested_tools : requested_tools, + sample_type_tools : sample_type_tools, + has_tumor : statuses.any { status -> status >= 1 }, + has_normal : statuses.any { status -> status == 0 }, + tumor_patients : tumor_patients, + normal_patients : normal_patients, + patients_missing_normal: patients_missing_normal, + ] +} + +// Enforce the current first-release policy for sample composition. Tumour-only routing +// exists downstream, but it is intentionally not enabled here yet. When tumour-only mode +// is supported for a caller, relax the matched-normal branch below instead of reintroducing +// channel-based validation in downstream subworkflows. +def validateSamplesheetComposition(rows, step, tools, build_only_index) { + def state = getSamplesheetCompositionState(rows, step, tools, build_only_index) + + if (!state.should_validate) { + return + } + + if (!state.has_tumor) { + error('The sample-sheet only contains normal-samples, but the following tools, which were requested with "--tools", expect at least one tumor-sample: ' + state.sample_type_tools.join(", ")) + } - // Check that multiple runs of the same sample are of the same datatype i.e. single-end / paired-end - def endedness_ok = metas.collect{ meta -> meta.single_end }.unique().size == 1 - if (!endedness_ok) { - error("Please check input samplesheet -> Multiple runs of a sample must be of the same datatype i.e. single-end or paired-end: ${metas[0].id}") + if (!state.has_normal) { + error('The sample-sheet only contains tumor-samples, but the following tools, which were requested with "--tools", expect at least one matched normal-sample in the current release: ' + state.sample_type_tools.join(", ")) } - return [ metas[0], fastqs ] + if (!state.patients_missing_normal.isEmpty()) { + error('The current release requires a matched normal sample for each tumor patient when running the following tools: ' + state.sample_type_tools.join(", ") + '. Missing matched normal for patient(s): ' + state.patients_missing_normal.join(", ")) + } } -// -// Get attribute from genome config file e.g. fasta -// -def getGenomeAttribute(attribute) { - if (params.genomes && params.genome && params.genomes.containsKey(params.genome)) { - if (params.genomes[ params.genome ].containsKey(attribute)) { - return params.genomes[ params.genome ][ attribute ] - } + +def normaliseRequestedTools(tools) { + if (!tools) { + return [] + } + + tools + .split(',') + .collect { tool -> tool.trim() } + .findAll { tool -> tool } + .unique() +} + +// Keep optional force-calling inputs as a single top-level pipeline feature. +// The Mutect2 module requires both the VCF and its index together, so reject +// partial configuration here before workflow channels are created. +def validateMutect2AllelesParameters() { + if ((params.mutect2_alleles && !params.mutect2_alleles_tbi) || (!params.mutect2_alleles && params.mutect2_alleles_tbi)) { + error('Please provide both `--mutect2_alleles` and `--mutect2_alleles_tbi`, or leave both unset.') } - return null } -// // Exit pipeline if incorrect --genome key provided -// def genomeExistsError() { if (params.genomes && params.genome && !params.genomes.containsKey(params.genome)) { - def error_string = "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n" + - " Genome '${params.genome}' not found in any config files provided to the pipeline.\n" + - " Currently, the available genome keys are:\n" + - " ${params.genomes.keySet().join(", ")}\n" + - "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" + def error_string = "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n" + " Genome '${params.genome}' not found in any config files provided to the pipeline.\n" + " Currently, the available genome keys are:\n" + " ${params.genomes.keySet().join(", ")}\n" + "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" error(error_string) } } + // // Generate methods description for MultiQC // def toolCitationText() { - // TODO nf-core: Optionally add in-text citation tools to this list. - // Can use ternary operators to dynamically construct based conditions, e.g. params["run_xyz"] ? "Tool (Foo et al. 2023)" : "", - // Uncomment function in methodsDescriptionText to render in MultiQC report + def text_qc = [ + "Read quality control and alignment-level quality assessment were performed with FastQC (Andrews 2010)", + params.trim_fastq || params.split_fastq > 0 ? "fastp (Chen et al. 2018)," : "", + "SAMtools (Li et al. 2009)", + !(params.skip_tools && params.skip_tools.contains("mosdepth")) ? "and Mosdepth (Pedersen & Quinlan 2018)." : "." + ].join(' ').trim().replaceAll(",\\s+and", " and") + + def text_alignment_parts = [] + if (params.dna) { + def dna_aligner = [ + "bwa-mem" : "BWA-MEM (Li 2013)", + "bwa-mem2": "BWA-MEM2 (Vasimuddin et al. 2019)", + "dragmap" : "DragMap", + ][params.aligner] ?: params.aligner + text_alignment_parts << "DNA read alignment was performed with ${dna_aligner}." + } + if (params.rna) { + text_alignment_parts << "RNA read alignment was performed with STAR (Dobin et al. 2013)." + } + if (params.tools && params.tools.contains("realignment")) { + text_alignment_parts << "Realignment used HISAT2 (Kim et al. 2019)." + } + def text_alignment = text_alignment_parts.join(' ').trim() + + def text_gatk_preprocessing = [ + (!(params.skip_tools && params.skip_tools.contains("markduplicates")) && !(params.skip_tools && params.skip_tools.contains("baserecalibrator"))) ? "GATK preprocessing including base quality score recalibration and duplicate marking was performed (McKenna et al. 2010)." : "" + ].join(' ').trim() + + def variant_callers = [] + if (params.tools && params.tools.contains("mutect2")) { + variant_callers << "GATK Mutect2 (McKenna et al. 2010)" + } + if (params.tools && params.tools.contains("manta")) { + variant_callers << "Manta (Chen et al. 2016)" + } + if (params.tools && params.tools.contains("strelka")) { + variant_callers << "Strelka2 (Kim et al. 2018)" + } + if (params.tools && params.tools.contains("sage")) { + variant_callers << "SAGE" + } + def text_variant_calling = variant_callers.isEmpty() + ? "" + : "Somatic variant calling was performed with ${variant_callers.join(', ').replaceFirst(/, ([^,]+)$/, ' and $1')}, with consensus calling when multiple callers were used." + + def text_variant_processing = [ + "Variant normalization and downstream VCF processing were performed with VT (Tan et al. 2015)", + !(params.skip_tools && params.skip_tools.contains("bcftools")) ? "BCFtools (Li 2011)," : "", + "and VCFtools (Danecek et al. 2011)." + ].join(' ').trim() + + def text_consensus_filtering = [ + (params.tools && (params.tools.contains("consensus") || params.tools.contains("filtering") || params.tools.contains("rna_filtering") || params.tools.contains("realignment"))) ? "Consensus generation and downstream filtering were performed with custom R and Python scripts bundled with the pipeline." : "" + ].join(' ').trim() + + def text_annotation = [ + (params.tools && (params.tools.contains("vep") || params.tools.contains("realignment"))) ? "Variant annotation was performed with Ensembl VEP (McLaren et al. 2016)" : "", + (params.tools && (params.tools.contains("consensus") || params.tools.contains("filtering") || params.tools.contains("rna_filtering") || params.tools.contains("realignment"))) ? "and conversion to MAF format with vcf2maf (Kandoth et al. 2018)." : "." + ].join(' ').trim() + + // Combine all sections def citation_text = [ - "Tools used in the workflow included:", - "FastQC (Andrews 2010),", - "MultiQC (Ewels et al. 2016)", - "." - ].join(' ').trim() + "Tools used in the workflow included:", + text_qc, + text_alignment, + text_gatk_preprocessing, + text_variant_calling, + text_variant_processing, + text_consensus_filtering, + text_annotation, + "Pipeline results statistics were summarized with MultiQC (Ewels et al. 2016)." + ].join(' ').trim().replaceAll("\\s+", " ").replaceAll("[,|.] +\\.", ".") return citation_text } + def toolBibliographyText() { - // TODO nf-core: Optionally add bibliographic entries to this list. - // Can use ternary operators to dynamically construct based conditions, e.g. params["run_xyz"] ? "
  • Author (2023) Pub name, Journal, DOI
  • " : "", - // Uncomment function in methodsDescriptionText to render in MultiQC report - def reference_text = [ - "
  • Andrews S, (2010) FastQC, URL: https://www.bioinformatics.babraham.ac.uk/projects/fastqc/).
  • ", - "
  • Ewels, P., Magnusson, M., Lundin, S., & Käller, M. (2016). MultiQC: summarize analysis results for multiple tools and samples in a single report. Bioinformatics , 32(19), 3047–3048. doi: /10.1093/bioinformatics/btw354
  • " - ].join(' ').trim() + // Core framework citations (always included) + def core_citations = [ + "
  • Ewels PA, Peltzer A, Fillinger S, Patel H, Alneberg J, Wilm A, Garcia MU, Di Tommaso P, Nahnsen S. The nf-core framework for community-curated bioinformatics pipelines. Nat Biotechnol. 2020 Mar;38(3):276-278. 10.1038/s41587-020-0439-x
  • ", + "
  • Di Tommaso P, Chatzou M, Floden EW, Barja PP, Palumbo E, Notredame C. Nextflow enables reproducible computational workflows. Nat Biotechnol. 2017 Apr 11;35(4):316-319. 10.1038/nbt.3820
  • " + ].join(' ') + + // Quality control and preprocessing + def qc_preprocessing_citations = [ + "
  • Andrews, S. (2010). FastQC: A Quality Control Tool for High Throughput Sequence Data [Online]. Available: https://www.bioinformatics.babraham.ac.uk/projects/fastqc/
  • ", + params.trim_fastq || params.split_fastq > 0 ? "
  • Chen S, Zhou Y, Chen Y, Gu J. fastp: an ultra-fast all-in-one FASTQ preprocessor. Bioinformatics. 2018 Sep 1;34(17):i884-i890. 10.1093/bioinformatics/bty560
  • " : "" + ].join(' ').trim() + + // Alignment tools + def alignment_citations = [ + params.rna ? "
  • Dobin A, Davis CA, Schlesinger F, Drenkow J, Zaleski C, Jha S, Batut P, Chaisson M, Gingeras TR. STAR: ultrafast universal RNA-seq aligner Bioinformatics. 2013 Jan 1;29(1):15-21. 10.1093/bioinformatics/bts635
  • " : "", + params.dna && params.aligner == "bwa-mem" ? "
  • Li H: Aligning sequence reads, clone sequences and assembly contigs with BWA-MEM. arXiv 2013. 10.48550/arXiv.1303.3997
  • " : "", + params.dna && params.aligner == "bwa-mem2" ? "
  • M. Vasimuddin, S. Misra, H. Li and S. Aluru, \"Efficient Architecture-Aware Acceleration of BWA-MEM for Multicore Systems,\" 2019 IEEE International Parallel and Distributed Processing Symposium (IPDPS), 2019, pp. 314-324. 10.1109/IPDPS.2019.00041
  • " : "", + (params.tools && params.tools.contains("realignment")) ? "
  • Kim D, Paggi JM, Park C, Bennett C, Salzberg SL. Graph-based genome alignment and genotyping with HISAT2 and HISAT-genotype Graph-based genome alignment and genotyping with HISAT2 and HISAT-genotype. Nat Biotechnol. 2019 Aug;37(8):907-915. 10.1038/s41587-019-0201-4
  • " : "" + ].join(' ').trim() + + // Alignment processing + def alignment_processing_citations = [ + "
  • Li H, Handsaker B, Wysoker A, Fennell T, Ruan J, Homer N, Marth G, Abecasis G, Durbin R; 1000 Genome Project Data Processing Subgroup. The Sequence Alignment/Map format and SAMtools. Bioinformatics. 2009 Aug 15;25(16):2078-9. 10.1093/bioinformatics/btp352
  • ", + !(params.skip_tools && params.skip_tools.contains("mosdepth")) ? "
  • Brent S Pedersen, Aaron R Quinlan, Mosdepth: quick coverage calculation for genomes and exomes, Bioinformatics, Volume 34, Issue 5, 01 March 2018, Pages 867–868. 10.1093/bioinformatics/btx699
  • " : "" + ].join(' ').trim() + + // GATK preprocessing + def gatk_citations = [ + (!(params.skip_tools && params.skip_tools.contains("markduplicates")) && !(params.skip_tools && params.skip_tools.contains("baserecalibrator"))) ? "
  • McKenna A, Hanna M, Banks E, et al.: The Genome Analysis Toolkit: a MapReduce framework for analyzing next-generation DNA sequencing data. Genome Res. 2010 Sep;20(9):1297-303. 10.1101/gr.107524.110
  • " : "" + ].join(' ').trim() + + // Variant calling + def variant_calling_citations = [ + params.tools && params.tools.contains("mutect2") ? "
  • McKenna A, Hanna M, Banks E, et al.: The Genome Analysis Toolkit: a MapReduce framework for analyzing next-generation DNA sequencing data. Genome Res. 2010 Sep;20(9):1297-303. 10.1101/gr.107524.110
  • " : "", + params.tools && params.tools.contains("manta") ? "
  • Chen X, Schulz-Trieglaff O, Shaw R, et al. Manta: rapid detection of structural variants and indels for germline and cancer sequencing applications. Bioinformatics. 2016 Apr 15;32(8):1220-1222. 10.1093/bioinformatics/btv710
  • " : "", + params.tools && params.tools.contains("strelka") ? "
  • Kim S, Scheffler K, Halpern AL, et al.: Strelka2: fast and accurate calling of germline and somatic variants. Nat Methods. 2018 Aug;15(8):591-594. 10.1038/s41592-018-0051-x
  • " : "", + params.tools && params.tools.contains("sage") ? "
  • SAGE is a precise and highly sensitive somatic SNV, MNV and INDEL caller developed by Hartwig Medical Foundation. Available: https://github.com/hartwigmedical/hmftools/blob/master/sage/README.md
  • " : "" + ].join(' ').trim() + + // Variant processing and annotation + def variant_processing_citations = [ + "
  • Tan A, Abecasis GR, Kang HM. Unified representation of genetic variants. Bioinformatics. 2015 Jul 1;31(13):2202-4. 10.1093/bioinformatics/btv112
  • ", + !(params.skip_tools && params.skip_tools.contains("bcftools")) ? "
  • Li H: A statistical framework for SNP calling, mutation discovery, association mapping and population genetical parameter estimation from sequencing data. Bioinformatics. 2011 Nov 1;27(21):2987-93. 10.1093/bioinformatics/btr509
  • " : "", + "
  • Danecek P, Auton A, Abecasis G, et al. The variant call format and VCFtools. Bioinformatics. 2011 Aug 1;27(15):2156-2158. 10.1093/bioinformatics/btr330
  • ", + (params.tools && (params.tools.contains("vep") || params.tools.contains("realignment"))) ? "
  • McLaren W, Gil L, Hunt SE, et al.: The Ensembl Variant Effect Predictor. Genome Biol. 2016 Jun 6;17(1):122. 10.1186/s13059-016-0974-4
  • " : "", + (params.tools && (params.tools.contains("consensus") || params.tools.contains("filtering") || params.tools.contains("rna_filtering") || params.tools.contains("realignment"))) ? "
  • Kandoth C, Gao J, Qwangmsk, Mattioni M, Struck A, Boursin Y, Penson A, Chavan S (2018) mskcc/vcf2maf: vcf2maf v1.6.16 (v1.6.16). Zenodo. 10.5281/zenodo.593251
  • " : "" + ].join(' ').trim() + + // Local scripts + def scripts_citations = [ + (params.tools && (params.tools.contains("consensus") || params.tools.contains("filtering") || params.tools.contains("rna_filtering") || params.tools.contains("realignment"))) ? "
  • R Core Team (2025). R: A language and environment for statistical computing. R Foundation for Statistical Computing, Vienna, Austria. Available: https://www.R-project.org/
  • " : "", + (params.tools && (params.tools.contains("consensus") || params.tools.contains("filtering") || params.tools.contains("rna_filtering") || params.tools.contains("realignment"))) ? "
  • Python Software Foundation. Python Language Reference, version 3. Available: https://www.python.org/
  • " : "" + ].join(' ').trim() + + // MultiQC (always included) + def multiqc_citation = "
  • Ewels P, Magnusson M, Lundin S, Käller M. MultiQC: summarize analysis results for multiple tools and samples in a single report. Bioinformatics. 2016 Oct 1;32(19):3047-8. 10.1093/bioinformatics/btw354
  • " + + // Software packaging tools (always included) + def packaging_citations = [ + "
  • Anaconda Software Distribution. Computer software. Vers. 2-2.4.0. Anaconda, Nov. 2016. Web.
  • ", + "
  • Grüning B, Dale R, Sjödin A, Chapman BA, Rowe J, Tomkins-Tinch CH, Valieris R, Köster J; Bioconda Team. Bioconda: sustainable and comprehensive software distribution for the life sciences. Nat Methods. 2018 Jul;15(7):475-476. 10.1038/s41592-018-0046-7
  • ", + "
  • da Veiga Leprevost F, Grüning B, Aflitos SA, Röst HL, Uszkoreit J, Barsnes H, Vaudel M, Moreno P, Gatto L, Weber J, Bai M, Jimenez RC, Sachsenberg T, Pfeuffer J, Alvarez RV, Griss J, Nesvizhskii AI, Perez-Riverol Y. BioContainers: an open-source and community-driven framework for software standardization. Bioinformatics. 2017 Aug 15;33(16):2580-2582. 10.1093/bioinformatics/btx192
  • ", + "
  • Merkel, D. (2014). Docker: lightweight linux containers for consistent development and deployment. Linux Journal, 2014(239), 2.
  • ", + "
  • Kurtzer GM, Sochat V, Bauer MW. Singularity: Scientific containers for mobility of compute. PLoS One. 2017 May 11;12(5):e0177459. 10.1371/journal.pone.0177459
  • " + ].join(' ') + + def reference_sections = [ + "
  • Workflow framework:
  • ${core_citations}", + "
  • Quality control and alignment processing:
  • ${qc_preprocessing_citations} ${alignment_processing_citations}", + alignment_citations ? "
  • Read alignment:
  • ${alignment_citations}" : "", + gatk_citations ? "
  • GATK preprocessing:
  • ${gatk_citations}" : "", + variant_calling_citations ? "
  • Somatic variant calling:
  • ${variant_calling_citations}" : "", + "
  • Variant processing and annotation:
  • ${variant_processing_citations}", + scripts_citations ? "
  • Custom consensus and filtering scripts:
  • ${scripts_citations}" : "", + "
  • Reporting:
  • ${multiqc_citation}", + "
  • Software environments:
  • ${packaging_citations}", + ] + + def reference_text = reference_sections.findAll { section -> section }.join(' ').trim() return reference_text } @@ -271,22 +488,56 @@ def methodsDescriptionText(mqc_methods_yaml) { temp_doi_ref += "(doi: ${doi_ref.replace("https://doi.org/", "").replace(" ", "")}), " } meta["doi_text"] = temp_doi_ref.substring(0, temp_doi_ref.length() - 2) - } else meta["doi_text"] = "" - meta["nodoi_text"] = meta.manifest_map.doi ? "" : "
  • If available, make sure to update the text to include the Zenodo DOI of version of the pipeline used.
  • " + } + else { + meta["doi_text"] = "" + } + meta["nodoi_text"] = meta.manifest_map.doi ? "" : "
  • If available, make sure to update the text to include the Zenodo DOI of the pipeline version used.
  • " // Tool references - meta["tool_citations"] = "" - meta["tool_bibliography"] = "" - - // TODO nf-core: Only uncomment below if logic in toolCitationText/toolBibliographyText has been filled! - // meta["tool_citations"] = toolCitationText().replaceAll(", \\.", ".").replaceAll("\\. \\.", ".").replaceAll(", \\.", ".") - // meta["tool_bibliography"] = toolBibliographyText() + meta["tool_citations"] = toolCitationText().replaceAll(", \\.", ".").replaceAll("\\. \\.", ".").replaceAll(", \\.", ".") + meta["tool_bibliography"] = toolBibliographyText() def methods_text = mqc_methods_yaml.text - def engine = new groovy.text.SimpleTemplateEngine() + def engine = new groovy.text.SimpleTemplateEngine() def description_html = engine.createTemplate(methods_text).make(meta) return description_html.toString() } + +// retrieveInput +def retrieveInput(need_input, step, outdir) { + def input = null + if (need_input) { + if (step == 'mapping') { + error("Can't start ${step} step without samplesheet") + } + else if (step == 'markduplicates') { + log.warn("Using file ${outdir}/csv/mapped.csv") + input = outdir + "/csv/mapped.csv" + } + else if (step == 'prepare_recalibration') { + log.warn("Using file ${outdir}/csv/markduplicates_no_table.csv") + input = outdir + "/csv/markduplicates_no_table.csv" + } + else if (step == 'recalibrate') { + log.warn("Using file ${outdir}/csv/markduplicates.csv") + input = outdir + "/csv/markduplicates.csv" + } + else if (step == 'variant_calling') { + log.warn("Using file ${outdir}/csv/recalibrated.csv") + input = outdir + "/csv/recalibrated.csv" + } + else if (step == 'annotate') { + log.warn("Using file ${outdir}/csv/variantcalled.csv") + input = outdir + "/csv/variantcalled.csv" + } + else { + log.warn("Please provide an input samplesheet to the pipeline e.g. '--input samplesheet.csv'") + error("Unknown step ${step}") + } + } + return input +} diff --git a/subworkflows/local/utils_nfcore_rnadnavar_pipeline/tests/main.function.nf.test b/subworkflows/local/utils_nfcore_rnadnavar_pipeline/tests/main.function.nf.test new file mode 100644 index 00000000..3099627d --- /dev/null +++ b/subworkflows/local/utils_nfcore_rnadnavar_pipeline/tests/main.function.nf.test @@ -0,0 +1,94 @@ +nextflow_function { + + name "Test Functions" + script "../main.nf" + tag "subworkflows" + tag "utils_nfcore_rnadnavar_pipeline" + tag "subworkflows/utils_nfcore_rnadnavar_pipeline" + + test("Test Function getSamplesheetCompositionState with paired samples") { + + function "getSamplesheetCompositionState" + + when { + function { + """ + input[0] = [ + [['patient':'PT1', 'sample':'N1', 'status':0], [], [], [], [], [], [], [], [], [], []], + [['patient':'PT1', 'sample':'RNA_T1', 'status':2], [], [], [], [], [], [], [], [], [], []], + [['patient':'PT2', 'sample':'DNA_N', 'status':0], [], [], [], [], [], [], [], [], [], []], + [['patient':'PT2', 'sample':'DNA_T', 'status':1], [], [], [], [], [], [], [], [], [], []] + ] + input[1] = 'variant_calling' + input[2] = 'strelka,sage,mutect2' + input[3] = false + """ + } + } + + then { + assertAll( + { assert function.success }, + { assert function.result.should_validate }, + { assert function.result.has_tumor }, + { assert function.result.has_normal }, + { assert function.result.sample_type_tools == ['strelka', 'sage', 'mutect2'] }, + { assert function.result.patients_missing_normal.isEmpty() } + ) + } + } + + test("Test Function getSamplesheetCompositionState with tumour-only samples") { + + function "getSamplesheetCompositionState" + + when { + function { + """ + input[0] = [ + [['patient':'PT1', 'sample':'RNA_T1', 'status':2], [], [], [], [], [], [], [], [], [], []] + ] + input[1] = 'variant_calling' + input[2] = 'strelka' + input[3] = false + """ + } + } + + then { + assertAll( + { assert function.success }, + { assert function.result.should_validate }, + { assert function.result.has_tumor }, + { assert !function.result.has_normal }, + { assert function.result.patients_missing_normal == ['PT1'] } + ) + } + } + + test("Test Function getSamplesheetCompositionState bypass for annotate") { + + function "getSamplesheetCompositionState" + + when { + function { + """ + input[0] = [ + [['patient':'PT1', 'sample':'RNA_T1', 'status':2], [], [], [], [], [], [], [], [], [], []] + ] + input[1] = 'annotate' + input[2] = 'strelka' + input[3] = false + """ + } + } + + then { + assertAll( + { assert function.success }, + { assert !function.result.should_validate }, + { assert function.result.sample_type_tools == ['strelka'] } + ) + } + } +} diff --git a/subworkflows/local/vcf_annotate/main.nf b/subworkflows/local/vcf_annotate/main.nf new file mode 100644 index 00000000..005f11b7 --- /dev/null +++ b/subworkflows/local/vcf_annotate/main.nf @@ -0,0 +1,65 @@ +// +// ANNOTATION +// + +include { VCF_ANNOTATE_ENSEMBLVEP } from '../../nf-core/vcf_annotate_ensemblvep/main' +include { CHANNEL_VARIANT_CALLING_CREATE_CSV as CHANNEL_ANNOTATE_CREATE_CSV } from '../channel_variant_calling_create_csv/main' +include { UNZIP as UNZIP_VEP_CACHE } from '../../../modules/nf-core/unzip/main' + +workflow VCF_ANNOTATE { + take: + vcf // channel: [ val(meta), vcf ] + fasta // channel: [ val(meta), fasta ] + input_sample + realignment + vep_cache + + main: + reports = Channel.empty() + vcf_ann = Channel.empty() + tab_ann = Channel.empty() + json_ann = Channel.empty() + + if (params.step == 'annotate') vcf = input_sample + + if (params.tools && params.tools.split(',').contains('vep') || realignment) { + + fasta = (params.vep_include_fasta) ? fasta.map{ _meta, fa -> [ [ id:fa.baseName ], fa ] } : [[id: 'null'], []] + vep_cache_version = params.vep_cache_version ?: Channel.empty() + vep_genome = params.vep_genome ?: Channel.empty() + vep_species = params.vep_species ?: Channel.empty() + + vep_extra_files = [] + if (params.dbnsfp && params.dbnsfp_tbi) { + vep_extra_files.add(file(params.dbnsfp, checkIfExists: true)) + vep_extra_files.add(file(params.dbnsfp_tbi, checkIfExists: true)) + } + + if (params.spliceai_snv && params.spliceai_snv_tbi && params.spliceai_indel && params.spliceai_indel_tbi) { + vep_extra_files.add(file(params.spliceai_indel, checkIfExists: true)) + vep_extra_files.add(file(params.spliceai_indel_tbi, checkIfExists: true)) + vep_extra_files.add(file(params.spliceai_snv, checkIfExists: true)) + vep_extra_files.add(file(params.spliceai_snv_tbi, checkIfExists: true)) + } + vep_cache.dump(tag:'vep_cache2') + vcf_for_vep = vcf.map{ meta, vcf_file -> [ meta, vcf_file, [] ] } + VCF_ANNOTATE_ENSEMBLVEP(vcf_for_vep, fasta, vep_genome, vep_species, vep_cache_version, vep_cache, vep_extra_files) + + reports = reports.mix(VCF_ANNOTATE_ENSEMBLVEP.out.reports) + vcf_ann = vcf_ann.mix(VCF_ANNOTATE_ENSEMBLVEP.out.vcf_tbi).map{meta, vcf_file, tbi -> [meta +[data_type:"vcf"], vcf_file, tbi]} + tab_ann = tab_ann.mix(VCF_ANNOTATE_ENSEMBLVEP.out.tab) + json_ann = json_ann.mix(VCF_ANNOTATE_ENSEMBLVEP.out.json) + CHANNEL_ANNOTATE_CREATE_CSV(vcf_ann.map{meta, vcf_file, _tbi -> [meta, vcf_file]}, "annotated") + + } else{ + + vcf_ann = vcf.map{metaVCF -> [metaVCF[0] + [data_type:"vcf"], metaVCF[1]]} + + } + + emit: + vcf_ann // channel: [ val(meta), vcf.gz, vcf.gz.tbi ] + tab_ann + json_ann + reports // path: *.html +} diff --git a/subworkflows/local/vcf_consensus/main.nf b/subworkflows/local/vcf_consensus/main.nf new file mode 100644 index 00000000..73e377e7 --- /dev/null +++ b/subworkflows/local/vcf_consensus/main.nf @@ -0,0 +1,257 @@ +// +// Consensus +// +// For all modules here: +// A when clause condition is defined in the conf/modules.config to determine if the module should be run +include { GUNZIP as GUNZIP_VCF2MAF } from '../../../modules/nf-core/gunzip/main' +include { VCF2MAF } from '../../../modules/nf-core/vcf2maf/main' +include { RUN_CONSENSUS } from '../../../modules/local/consensus/main' +include { RUN_CONSENSUS as RUN_CONSENSUS_RESCUE } from '../../../modules/local/consensus/main' +// Create samplesheets to restart from consensus +include { CHANNEL_CONSENSUS_CREATE_CSV } from '../channel_consensus_create_csv/main' +include { CHANNEL_CONSENSUS_CREATE_CSV as CHANNEL_RESCUE_CREATE_CSV } from '../channel_consensus_create_csv/main' + +workflow VCF_CONSENSUS { + take: + vcf_to_consensus + fasta + previous_maf_consensus_dna // results already done to avoid a second run when rna filterig + previous_mafs_status_dna // results already done to avoid a second run when rna filterig + input_sample + realignment + + main: + versions = Channel.empty() + + maf_from_consensus_dna = Channel.empty() + mafs_from_varcal_dna = Channel.empty() + consensus_maf = Channel.empty() + + fasta_for_consensus = fasta.map { _meta, fa -> fa } + + if (params.step == 'consensus' && !realignment) vcf_to_consensus = input_sample + + if ((params.step in ['mapping', 'markduplicates', 'splitncigar', + 'prepare_recalibration', 'recalibrate', 'variant_calling', 'annotate', + 'norm', 'consensus'] && + ((params.tools && params.tools.split(",").contains("consensus")))) || + realignment) { + + vcf_to_consensus_type = vcf_to_consensus.branch{ + vcf: it[0].data_type == "vcf" + maf: it[0].data_type == "maf" + } + def tools_list + if (realignment || (params.step in ['consensus', 'annotate','filtering', 'rna_filtering'] && params.tools && params.tools.split(',').contains("realignment")) ) { + tools_list = params.default_variant_callers.split(',').toList().unique() + } else { + tools_list = params.tools.split(',').toList().findAll { it in ['sage', 'strelka', 'mutect2'] }.unique() + } + // The nf-core vcf2maf module only accepts uncompressed VCF input, so + // decompress here while preserving metadata and keeping plain VCFs untouched. + vcf_for_vcf2maf = vcf_to_consensus_type.vcf + .map { entry -> [entry[0], entry[1]] } + .branch { meta, vcf_file -> + gzipped: vcf_file.name.endsWith('.gz') + plain: !vcf_file.name.endsWith('.gz') + } + + GUNZIP_VCF2MAF(vcf_for_vcf2maf.gzipped) + versions = versions.mix(GUNZIP_VCF2MAF.out.versions_gunzip) + + vcf_for_vcf2maf = vcf_for_vcf2maf.plain + .mix(GUNZIP_VCF2MAF.out.gunzip) + + // First convert VCF inputs to MAF. + VCF2MAF( + vcf_for_vcf2maf, + fasta_for_consensus, + Channel.value([]) // empty vep - we already call it independently + ) + maf_to_consensus_input = VCF2MAF.out.maf + .mix(vcf_to_consensus_type.maf) + .map { meta, maf -> + // change data type to maf + def key = meta + [data_type: 'maf'] + // selectdata type + key = key.subMap('id', 'patient', 'status', 'data_type') + [key, maf, meta.variantcaller] + } + + // For direct consensus restarts, gather all provided MAFs per sample key. This lets + // users start from precomputed MAFs without having to encode an artificial caller + // count in --tools. Forward runs still use the expected caller count for streaming. + maf_to_consensus = (params.step == 'consensus') + ? maf_to_consensus_input.groupTuple() + : maf_to_consensus_input.groupTuple(size: tools_list ? tools_list.size() : 1) + // this will order the channel to avoid issues with resume + maf_to_consensus = maf_to_consensus.map { meta, mafs, callers -> + def paired = callers.indices.collect { i -> [callers[i], mafs[i]] }.sort { a, b -> a[0] <=> b[0] } + [meta, paired.collect { it[1] }, paired.collect { it[0] }] + } + versions = versions.mix(VCF2MAF.out.versions) + +// maf_to_consensus.dump(tag:"maf_to_consensus") + // count number of callers to generate groupKey + maf_to_consensus.dump(tag:"maf_to_consensus0") + RUN_CONSENSUS ( maf_to_consensus ) + + consensus_maf = RUN_CONSENSUS.out.maf // 1 consensus_maf from all callers + // Separate DNA from RNA + // VCFs from variant calling + mafs_from_varcal = maf_to_consensus.branch{ + dna: it[0].status <= 1 + rna: it[0].status == 2 + } + // VCF from consensus + maf_from_consensus = consensus_maf.branch{ + dna: it[0].status <= 1 + rna: it[0].status == 2 + } + + // Tag consensus-derived MAFs explicitly so restart CSVs and downstream logic do not + // need to infer their origin from filename or tuple shape. + maf_from_consensus_rna = maf_from_consensus.rna.map{meta, maf -> [meta + [variantcaller:'consensus'], maf]} + mafs_from_varcal_rna = mafs_from_varcal.rna + + // Only RNA mafs are processed again if second run + if (previous_maf_consensus_dna && ((params.tools && params.tools.split(',').contains('realignment')))){ + maf_from_consensus_dna = previous_maf_consensus_dna // VCF with consensus calling + mafs_from_varcal_dna = previous_mafs_status_dna // VCFs with consensus calling + } else { + maf_from_consensus_dna = maf_from_consensus.dna.map{meta, maf -> [meta + [variantcaller:'consensus'], maf]} + mafs_from_varcal_dna = mafs_from_varcal.dna + } + + CHANNEL_CONSENSUS_CREATE_CSV( + maf_from_consensus_dna + .mix(maf_from_consensus_rna) + .mix(mafs_from_varcal_dna) + .mix(mafs_from_varcal_rna) + .transpose(), + !realignment? "consensus" : "consensus_realigned" + ) + + // RESCUE STEP: cross dna / rna for a crossed second consensus + if (params.tools && params.tools.split(',').contains('rescue')) { + // VCF from consensus + maf_consensus_status_dna_to_cross = maf_from_consensus_dna.map{ + meta, maf -> + [meta.patient, meta, [maf], ['ConsensusDNA']] + } + + maf_consensus_status_rna_to_cross = maf_from_consensus_rna.map{ + meta, maf -> + [meta.patient, meta, [maf], ['ConsensusRNA']] + } + // VCFs from variant calling + mafs_status_dna_to_cross = mafs_from_varcal_dna.map{ + meta, mafs, callers -> + [meta.patient, meta, mafs, callers] + } + + mafs_status_rna_to_cross = mafs_from_varcal_rna.map{ + meta, mafs, callers -> + [meta.patient, meta, mafs, callers] + } + + // cross results keeping metadata // TODO make the id somehow shorter (atm is tumor_vs_normal_with_tumor_vs_normal -- too long) + mafs_dna_crossed_with_rna_rescue = mafs_status_dna_to_cross + .cross(maf_consensus_status_rna_to_cross) + .map { dna, rna -> + def meta = [:] + meta.patient = dna[0] + meta.dna_id = dna[1].id + meta.rna_id = rna[1].id + meta.status = dna[1].status + meta.id = "${meta.dna_id}_with_${meta.rna_id}".toString() + def paired = (dna[3] + rna[3]).indices.collect { i -> [(dna[3] + rna[3])[i], (dna[2] + rna[2])[i]] } + .sort { a, b -> a[0] <=> b[0] } + [meta, paired.collect { it[1] }, paired.collect { it[0] }] + } + mafs_rna_crossed_with_dna_rescue = mafs_status_rna_to_cross + .cross(maf_consensus_status_dna_to_cross) + .map { rna, dna -> + def meta = [:] + meta.patient = rna[0] + meta.rna_id = rna[1].id + meta.dna_id = dna[1].id + meta.status = rna[1].status + meta.id = "${meta.rna_id}_with_${meta.dna_id}".toString() + def paired = (rna[3] + dna[3]).indices.collect { i -> [(rna[3] + dna[3])[i], (rna[2] + dna[2])[i]] } + .sort { a, b -> a[0] <=> b[0] } + [meta, paired.collect { it[1] }, paired.collect { it[0] }] + } + + mafs_to_rescue = mafs_dna_crossed_with_rna_rescue.mix(mafs_rna_crossed_with_dna_rescue) + RUN_CONSENSUS_RESCUE ( mafs_dna_crossed_with_rna_rescue.mix(mafs_rna_crossed_with_dna_rescue) ) + + maf_from_rescue = RUN_CONSENSUS_RESCUE.out.maf.branch{ + dna: it[0].status <= 1 + rna: it[0].status == 2 + } + + + run_rescue_out = RUN_CONSENSUS_RESCUE.out.maf.branch{ + intervals: it[0].num_intervals > 1 + no_intervals: it[0].num_intervals <= 1 + } + + // Keep rescue outputs distinguishable while still matching the historical + // "contains consensus" pattern used elsewhere in the pipeline. + maf_from_consensus_dna = maf_from_rescue.dna.map{meta, maf -> [meta + [variantcaller:'consensus_rescue'], maf]} + maf_from_consensus_rna = maf_from_rescue.rna.map{meta, maf -> [meta + [variantcaller:'consensus_rescue'], maf]} + consensus_maf = maf_from_consensus_dna.mix(maf_from_consensus_rna) + maf_from_consensus_dna + .mix(maf_from_consensus_rna) + .mix(mafs_from_varcal_dna) + .mix(mafs_from_varcal_rna).transpose().dump(tag:'rescued') + CHANNEL_RESCUE_CREATE_CSV( + maf_from_consensus_dna + .mix(maf_from_consensus_rna) + .mix(mafs_from_varcal_dna) + .mix(mafs_from_varcal_rna) + .transpose(), + !realignment? "rescued" : "rescued_realigned" + ) + } + } else { + + if (params.tools && (params.tools.split(",").contains('filtering') || params.tools.split(",").contains('rna_filtering') )){ + vcf_to_consensus_type = vcf_to_consensus.branch{ + vcf: it[0].data_type == "vcf" + maf: it[0].data_type == "maf" + } + vcf_for_vcf2maf = vcf_to_consensus_type.vcf + .map { entry -> [entry[0], entry[1]] } + .branch { meta, vcf_file -> + gzipped: vcf_file.name.endsWith('.gz') + plain: !vcf_file.name.endsWith('.gz') + } + + GUNZIP_VCF2MAF(vcf_for_vcf2maf.gzipped) + versions = versions.mix(GUNZIP_VCF2MAF.out.versions_gunzip) + + vcf_for_vcf2maf = vcf_for_vcf2maf.plain + .mix(GUNZIP_VCF2MAF.out.gunzip) + + // First convert VCF inputs to MAF. + VCF2MAF( + vcf_for_vcf2maf, + fasta_for_consensus, + Channel.value([]) // empty vep - we already call it independently + ) + consensus_maf = VCF2MAF.out.maf.mix(vcf_to_consensus_type.maf) + versions = versions.mix(VCF2MAF.out.versions) + + } + + + } + + emit: + maf_consensus_dna = maf_from_consensus_dna + mafs_dna = mafs_from_varcal_dna + maf = consensus_maf // channel: [ [meta], maf ] + versions = versions // channel: [ versions.yml ] +} diff --git a/subworkflows/local/vcf_normalize/main.nf b/subworkflows/local/vcf_normalize/main.nf new file mode 100644 index 00000000..58b91fee --- /dev/null +++ b/subworkflows/local/vcf_normalize/main.nf @@ -0,0 +1,58 @@ +// +// Normalise VCFs with VT +// +// For all modules here: +// A when clause condition is defined in the conf/modules.config to determine if the module should be run +// VT steps +include { VT_DECOMPOSE } from '../../../modules/nf-core/vt/decompose/main' +include { VT_NORMALIZE } from '../../../modules/nf-core/vt/normalize/main' +// Create samplesheet to restart from different steps +include { CHANNEL_VARIANT_CALLING_CREATE_CSV } from '../channel_variant_calling_create_csv/main' + + +workflow VCF_NORMALIZE { + take: + vcf_to_normalize + fasta + fasta_fai + input_sample + realignment + + main: + version = Channel.empty() + + if (params.step == 'norm') vcf_to_normalize = input_sample + + if ((params.step in ['mapping', 'markduplicates', 'splitncigar', + 'prepare_recalibration', 'recalibrate', + 'variant_calling', 'norm'] && + ((params.tools && params.tools.split(",").contains("consensus")))) || + realignment) { + + vcf_decomposed = Channel.empty() + vcf_to_normalize = vcf_to_normalize.map{meta, vcf -> [meta, vcf, []]} // vt accepts intervals, not in use for now + // Separate variants + VT_DECOMPOSE(vcf_to_normalize) + + vcf_decomposed = vcf_decomposed.mix(VT_DECOMPOSE.out.vcf) + version = version.mix(VT_DECOMPOSE.out.versions_vt) + + // Restore the historical input pattern for VT normalize. + vcf_decomposed = vcf_decomposed.map{meta,vcf -> [meta, vcf, [],[]]} + VT_NORMALIZE(vcf_decomposed, + fasta, fasta_fai) // fai not necessary? + + vcf_to_consensus = VT_NORMALIZE.out.vcf + version = version.mix(VT_NORMALIZE.out.versions_vt) + + CHANNEL_VARIANT_CALLING_CREATE_CSV(vcf_to_consensus, "normalized") + + } else { + vcf_to_consensus = vcf_to_normalize + } + + emit: + vcf = vcf_to_consensus // channel: [ [meta], vcf ] + versions = version // channel: [ versions.yml ] + +} diff --git a/subworkflows/local/vcf_qc_bcftools_vcftools/main.nf b/subworkflows/local/vcf_qc_bcftools_vcftools/main.nf new file mode 100644 index 00000000..ff7d863a --- /dev/null +++ b/subworkflows/local/vcf_qc_bcftools_vcftools/main.nf @@ -0,0 +1,30 @@ +include { BCFTOOLS_STATS } from '../../../modules/nf-core/bcftools/stats/main' +include { VCFTOOLS as VCFTOOLS_SUMMARY } from '../../../modules/nf-core/vcftools/main' +include { VCFTOOLS as VCFTOOLS_TSTV_COUNT } from '../../../modules/nf-core/vcftools/main' +include { VCFTOOLS as VCFTOOLS_TSTV_QUAL } from '../../../modules/nf-core/vcftools/main' + +workflow VCF_QC_BCFTOOLS_VCFTOOLS { + take: + vcf + target_bed + + main: + + versions = Channel.empty() + + BCFTOOLS_STATS(vcf.map{ meta, vcf_file -> [ meta, vcf_file, [] ] }, [[:],[]], [[:],[]], [[:],[]], [[:],[]], [[:],[]]) + VCFTOOLS_TSTV_COUNT(vcf, target_bed, []) + VCFTOOLS_TSTV_QUAL(vcf, target_bed, []) + VCFTOOLS_SUMMARY(vcf, target_bed, []) + + versions = versions.mix(BCFTOOLS_STATS.out.versions_bcftools) + versions = versions.mix(VCFTOOLS_TSTV_COUNT.out.versions) + + emit: + bcftools_stats = BCFTOOLS_STATS.out.stats + vcftools_tstv_counts = VCFTOOLS_TSTV_COUNT.out.tstv_count + vcftools_tstv_qual = VCFTOOLS_TSTV_QUAL.out.tstv_qual + vcftools_filter_summary = VCFTOOLS_SUMMARY.out.filter_summary + + versions +} diff --git a/subworkflows/nf-core/bam_sort_stats_samtools/main.nf b/subworkflows/nf-core/bam_sort_stats_samtools/main.nf new file mode 100644 index 00000000..d0cd8c30 --- /dev/null +++ b/subworkflows/nf-core/bam_sort_stats_samtools/main.nf @@ -0,0 +1,31 @@ +// +// Sort, index BAM file and run samtools stats, flagstat and idxstats +// + +include { SAMTOOLS_SORT } from '../../../modules/nf-core/samtools/sort/main' +include { SAMTOOLS_INDEX } from '../../../modules/nf-core/samtools/index/main' +include { BAM_STATS_SAMTOOLS } from '../bam_stats_samtools/main' + +workflow BAM_SORT_STATS_SAMTOOLS { + take: + ch_bam // channel: [ val(meta), [ bam ] ] + ch_fasta_fai // channel: [ val(meta), path(fasta), path(fai) ] + + main: + SAMTOOLS_SORT(ch_bam, ch_fasta_fai, '') + + SAMTOOLS_INDEX(SAMTOOLS_SORT.out.bam) + + SAMTOOLS_SORT.out.bam + .join(SAMTOOLS_INDEX.out.index, by: [0]) + .set { ch_bam_bai } + + BAM_STATS_SAMTOOLS(ch_bam_bai, ch_fasta_fai) + + emit: + bam = SAMTOOLS_SORT.out.bam // channel: [ val(meta), [ bam ] ] + index = SAMTOOLS_INDEX.out.index // channel: [ val(meta), [ index ] ] + stats = BAM_STATS_SAMTOOLS.out.stats // channel: [ val(meta), [ stats ] ] + flagstat = BAM_STATS_SAMTOOLS.out.flagstat // channel: [ val(meta), [ flagstat ] ] + idxstats = BAM_STATS_SAMTOOLS.out.idxstats // channel: [ val(meta), [ idxstats ] ] +} diff --git a/subworkflows/nf-core/bam_sort_stats_samtools/meta.yml b/subworkflows/nf-core/bam_sort_stats_samtools/meta.yml new file mode 100644 index 00000000..e01f9ccf --- /dev/null +++ b/subworkflows/nf-core/bam_sort_stats_samtools/meta.yml @@ -0,0 +1,70 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/subworkflows/yaml-schema.json +name: bam_sort_stats_samtools +description: Sort SAM/BAM/CRAM file +keywords: + - sort + - bam + - sam + - cram +components: + - samtools/sort + - samtools/index + - samtools/stats + - samtools/idxstats + - samtools/flagstat + - bam_stats_samtools +input: + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - bam: + type: file + description: BAM/CRAM/SAM file + pattern: "*.{bam,cram,sam}" + - fasta: + type: file + description: Reference genome fasta file + pattern: "*.{fasta,fa}" +# TODO Update when we decide on a standard for subworkflow docs +output: + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - bam: + type: file + description: Sorted BAM/CRAM/SAM file + pattern: "*.{bam,cram,sam}" + - bai: + type: file + description: BAM/CRAM/SAM index file + pattern: "*.{bai,crai,sai}" + - crai: + type: file + description: BAM/CRAM/SAM index file + pattern: "*.{bai,crai,sai}" + - stats: + type: file + description: File containing samtools stats output + pattern: "*.{stats}" + - flagstat: + type: file + description: File containing samtools flagstat output + pattern: "*.{flagstat}" + - idxstats: + type: file + description: File containing samtools idxstats output + pattern: "*.{idxstats}" + - versions: + type: file + description: File containing software versions + pattern: "versions.yml" +authors: + - "@drpatelh" + - "@ewels" +maintainers: + - "@drpatelh" + - "@ewels" diff --git a/subworkflows/nf-core/bam_sort_stats_samtools/tests/main.nf.test b/subworkflows/nf-core/bam_sort_stats_samtools/tests/main.nf.test new file mode 100644 index 00000000..2db95965 --- /dev/null +++ b/subworkflows/nf-core/bam_sort_stats_samtools/tests/main.nf.test @@ -0,0 +1,136 @@ +nextflow_workflow { + + name "Test Workflow BAM_SORT_STATS_SAMTOOLS" + script "../main.nf" + workflow "BAM_SORT_STATS_SAMTOOLS" + tag "subworkflows" + tag "subworkflows_nfcore" + tag "subworkflows/bam_sort_stats_samtools" + tag "bam_sort_stats_samtools" + tag "subworkflows/bam_stats_samtools" + tag "bam_stats_samtools" + tag "samtools" + tag "samtools/index" + tag "samtools/sort" + tag "samtools/stats" + tag "samtools/idxstats" + tag "samtools/flagstat" + + test("test_bam_sort_stats_samtools_single_end") { + + when { + workflow { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.single_end.bam', checkIfExists: true) + ]) + input[1] = Channel.of([ + [ id:'genome' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta.fai', checkIfExists: true) + ]) + """ + } + } + + then { + assertAll( + { assert workflow.success}, + { assert workflow.out.bam.get(0).get(1) ==~ ".*.bam"}, + { assert workflow.out.index.get(0).get(1) ==~ ".*.bai"}, + { assert snapshot( + workflow.out.flagstat, + workflow.out.idxstats, + workflow.out.stats).match() } + ) + } + } + + test("test_bam_sort_stats_samtools_paired_end") { + + when { + workflow { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.bam', checkIfExists: true) + ]) + input[1] = Channel.of([ + [ id:'genome' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta.fai', checkIfExists: true) + ]) + """ + } + } + + then { + assertAll( + { assert workflow.success}, + { assert workflow.out.bam.get(0).get(1) ==~ ".*.bam"}, + { assert workflow.out.index.get(0).get(1) ==~ ".*.bai"}, + { assert snapshot( + workflow.out.flagstat, + workflow.out.idxstats, + workflow.out.stats).match() } + ) + } + } + + test("test_bam_sort_stats_samtools_single_end - stub") { + + options "-stub" + + when { + workflow { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.single_end.bam', checkIfExists: true) + ]) + input[1] = Channel.of([ + [ id:'genome' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta.fai', checkIfExists: true) + ]) + """ + } + } + + then { + assertAll( + { assert workflow.success}, + { assert snapshot(workflow.out).match() } + ) + } + } + + test("test_bam_sort_stats_samtools_paired_end - stub") { + + options "-stub" + + when { + workflow { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.bam', checkIfExists: true) + ]) + input[1] = Channel.of([ + [ id:'genome' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta.fai', checkIfExists: true) + ]) + """ + } + } + + then { + assertAll( + { assert workflow.success}, + { assert snapshot(workflow.out).match() } + ) + } + } +} diff --git a/subworkflows/nf-core/bam_sort_stats_samtools/tests/main.nf.test.snap b/subworkflows/nf-core/bam_sort_stats_samtools/tests/main.nf.test.snap new file mode 100644 index 00000000..d2ed2c25 --- /dev/null +++ b/subworkflows/nf-core/bam_sort_stats_samtools/tests/main.nf.test.snap @@ -0,0 +1,276 @@ +{ + "test_bam_sort_stats_samtools_single_end": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.flagstat:md5,2191911d72575a2358b08b1df64ccb53" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.idxstats:md5,613e048487662c694aa4a2f73ca96a20" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.stats:md5,0d0496957cd3bae8f557f2e9f6876a46" + ] + ] + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T09:55:29.570804" + }, + "test_bam_sort_stats_samtools_paired_end": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.flagstat:md5,4f7ffd1e6a5e85524d443209ac97d783" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.idxstats:md5,df60a8c8d6621100d05178c93fb053a2" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.stats:md5,12b526148cc9b6ffa8893903f65f19fc" + ] + ] + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T09:55:39.804101" + }, + "test_bam_sort_stats_samtools_single_end - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + [ + { + "id": "test", + "single_end": false + }, + "test.bam.bai:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "2": [ + [ + { + "id": "test", + "single_end": false + }, + "test.stats:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "3": [ + [ + { + "id": "test", + "single_end": false + }, + "test.flagstat:md5,67394650dbae96d1a4fcc70484822159" + ] + ], + "4": [ + [ + { + "id": "test", + "single_end": false + }, + "test.idxstats:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "bam": [ + [ + { + "id": "test", + "single_end": false + }, + "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "flagstat": [ + [ + { + "id": "test", + "single_end": false + }, + "test.flagstat:md5,67394650dbae96d1a4fcc70484822159" + ] + ], + "idxstats": [ + [ + { + "id": "test", + "single_end": false + }, + "test.idxstats:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "index": [ + [ + { + "id": "test", + "single_end": false + }, + "test.bam.bai:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "stats": [ + [ + { + "id": "test", + "single_end": false + }, + "test.stats:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-12T15:01:02.797853" + }, + "test_bam_sort_stats_samtools_paired_end - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + [ + { + "id": "test", + "single_end": false + }, + "test.bam.bai:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "2": [ + [ + { + "id": "test", + "single_end": false + }, + "test.stats:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "3": [ + [ + { + "id": "test", + "single_end": false + }, + "test.flagstat:md5,67394650dbae96d1a4fcc70484822159" + ] + ], + "4": [ + [ + { + "id": "test", + "single_end": false + }, + "test.idxstats:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "bam": [ + [ + { + "id": "test", + "single_end": false + }, + "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "flagstat": [ + [ + { + "id": "test", + "single_end": false + }, + "test.flagstat:md5,67394650dbae96d1a4fcc70484822159" + ] + ], + "idxstats": [ + [ + { + "id": "test", + "single_end": false + }, + "test.idxstats:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "index": [ + [ + { + "id": "test", + "single_end": false + }, + "test.bam.bai:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "stats": [ + [ + { + "id": "test", + "single_end": false + }, + "test.stats:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-12T15:01:13.722701" + } +} \ No newline at end of file diff --git a/subworkflows/nf-core/bam_stats_samtools/main.nf b/subworkflows/nf-core/bam_stats_samtools/main.nf new file mode 100644 index 00000000..14545ba2 --- /dev/null +++ b/subworkflows/nf-core/bam_stats_samtools/main.nf @@ -0,0 +1,25 @@ +// +// Run SAMtools stats, flagstat and idxstats +// + +include { SAMTOOLS_STATS } from '../../../modules/nf-core/samtools/stats/main' +include { SAMTOOLS_IDXSTATS } from '../../../modules/nf-core/samtools/idxstats/main' +include { SAMTOOLS_FLAGSTAT } from '../../../modules/nf-core/samtools/flagstat/main' + +workflow BAM_STATS_SAMTOOLS { + take: + ch_bam_bai // channel: [ val(meta), path(bam), path(bai) ] + ch_fasta_fai // channel: [ val(meta), path(fasta) ] + + main: + SAMTOOLS_STATS(ch_bam_bai, ch_fasta_fai) + + SAMTOOLS_FLAGSTAT(ch_bam_bai) + + SAMTOOLS_IDXSTATS(ch_bam_bai) + + emit: + stats = SAMTOOLS_STATS.out.stats // channel: [ val(meta), path(stats) ] + flagstat = SAMTOOLS_FLAGSTAT.out.flagstat // channel: [ val(meta), path(flagstat) ] + idxstats = SAMTOOLS_IDXSTATS.out.idxstats // channel: [ val(meta), path(idxstats) ] +} diff --git a/subworkflows/nf-core/bam_stats_samtools/meta.yml b/subworkflows/nf-core/bam_stats_samtools/meta.yml new file mode 100644 index 00000000..809bf736 --- /dev/null +++ b/subworkflows/nf-core/bam_stats_samtools/meta.yml @@ -0,0 +1,43 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/subworkflows/yaml-schema.json +name: bam_stats_samtools +description: Produces comprehensive statistics from SAM/BAM/CRAM file +keywords: + - statistics + - counts + - bam + - sam + - cram +components: + - samtools/stats + - samtools/idxstats + - samtools/flagstat +input: + - ch_bam_bai: + description: | + The input channel containing the BAM/CRAM and it's index + Structure: [ val(meta), path(bam), path(bai) ] + - ch_fasta: + description: | + Reference genome fasta file + Structure: [ path(fasta) ] +output: + - stats: + description: | + File containing samtools stats output + Structure: [ val(meta), path(stats) ] + - flagstat: + description: | + File containing samtools flagstat output + Structure: [ val(meta), path(flagstat) ] + - idxstats: + description: | + File containing samtools idxstats output + Structure: [ val(meta), path(idxstats)] + - versions: + description: | + Files containing software versions + Structure: [ path(versions.yml) ] +authors: + - "@drpatelh" +maintainers: + - "@drpatelh" diff --git a/subworkflows/nf-core/bam_stats_samtools/tests/main.nf.test b/subworkflows/nf-core/bam_stats_samtools/tests/main.nf.test new file mode 100644 index 00000000..8ec544b9 --- /dev/null +++ b/subworkflows/nf-core/bam_stats_samtools/tests/main.nf.test @@ -0,0 +1,191 @@ +nextflow_workflow { + + name "Test Workflow BAM_STATS_SAMTOOLS" + script "../main.nf" + workflow "BAM_STATS_SAMTOOLS" + tag "subworkflows" + tag "subworkflows_nfcore" + tag "bam_stats_samtools" + tag "subworkflows/bam_stats_samtools" + tag "samtools" + tag "samtools/flagstat" + tag "samtools/idxstats" + tag "samtools/stats" + + test("test_bam_stats_samtools_single_end") { + + when { + workflow { + """ + input[0] = Channel.of([ + [ id:'test', single_end:true ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.single_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.single_end.sorted.bam.bai', checkIfExists: true) + ]) + input[1] = Channel.of([ + [ id:'genome' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta.fai', checkIfExists: true) + ]) + """ + } + } + + then { + assertAll( + { assert workflow.success}, + { assert snapshot( + workflow.out.flagstat, + workflow.out.idxstats, + workflow.out.stats).match() } + ) + } + } + + test("test_bam_stats_samtools_paired_end") { + + when { + workflow { + """ + input[0] = Channel.of([ + [ id:'test', single_end:true ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai', checkIfExists: true) + ]) + input[1] = Channel.of([ + [ id:'genome' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta.fai', checkIfExists: true) + ]) + """ + } + } + + then { + assertAll( + { assert workflow.success }, + { assert snapshot( + workflow.out.flagstat, + workflow.out.idxstats, + workflow.out.stats).match() } + ) + } + } + + test("test_bam_stats_samtools_paired_end_cram") { + + when { + workflow { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.sorted.cram', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.sorted.cram.crai', checkIfExists: true) + ]) + input[1] = Channel.of([ + [ id:'genome' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.fai', checkIfExists: true) + ]) + """ + } + } + + then { + assertAll( + { assert workflow.success}, + { assert snapshot( + workflow.out.flagstat, + workflow.out.idxstats, + workflow.out.stats).match() } + ) + } + } + + test ("test_bam_stats_samtools_single_end - stub") { + + options "-stub" + + when { + workflow { + """ + input[0] = Channel.of([ + [ id:'test', single_end:true ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.single_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.single_end.sorted.bam.bai', checkIfExists: true) + ]) + input[1] = Channel.of([ + [ id:'genome' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta.fai', checkIfExists: true) + ]) + """ + } + } + + then { + assertAll( + { assert workflow.success}, + { assert snapshot(workflow.out).match() } + ) + } + } + + test("test_bam_stats_samtools_paired_end - stub") { + + options "-stub" + + when { + workflow { + """ + input[0] = Channel.of([ + [ id:'test', single_end:true ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai', checkIfExists: true) + ]) + input[1] = Channel.of([ + [ id:'genome' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta.fai', checkIfExists: true) + ]) + """ + } + } + + then { + assertAll( + { assert workflow.success }, + { assert snapshot(workflow.out).match() } + ) + } + } + + test("test_bam_stats_samtools_paired_end_cram - stub") { + + options "-stub" + + when { + workflow { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.sorted.cram', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.sorted.cram.crai', checkIfExists: true) + ]) + input[1] = Channel.of([ + [ id:'genome' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.fai', checkIfExists: true) + ]) + """ + } + } + + then { + assertAll( + { assert workflow.success}, + { assert snapshot(workflow.out).match() } + ) + } + } +} diff --git a/subworkflows/nf-core/bam_stats_samtools/tests/main.nf.test.snap b/subworkflows/nf-core/bam_stats_samtools/tests/main.nf.test.snap new file mode 100644 index 00000000..5a4a01f9 --- /dev/null +++ b/subworkflows/nf-core/bam_stats_samtools/tests/main.nf.test.snap @@ -0,0 +1,305 @@ +{ + "test_bam_stats_samtools_paired_end - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": true + }, + "test.stats:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + [ + { + "id": "test", + "single_end": true + }, + "test.flagstat:md5,67394650dbae96d1a4fcc70484822159" + ] + ], + "2": [ + [ + { + "id": "test", + "single_end": true + }, + "test.idxstats:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "flagstat": [ + [ + { + "id": "test", + "single_end": true + }, + "test.flagstat:md5,67394650dbae96d1a4fcc70484822159" + ] + ], + "idxstats": [ + [ + { + "id": "test", + "single_end": true + }, + "test.idxstats:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "stats": [ + [ + { + "id": "test", + "single_end": true + }, + "test.stats:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-03T11:10:30.076183827" + }, + "test_bam_stats_samtools_single_end - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": true + }, + "test.stats:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + [ + { + "id": "test", + "single_end": true + }, + "test.flagstat:md5,67394650dbae96d1a4fcc70484822159" + ] + ], + "2": [ + [ + { + "id": "test", + "single_end": true + }, + "test.idxstats:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "flagstat": [ + [ + { + "id": "test", + "single_end": true + }, + "test.flagstat:md5,67394650dbae96d1a4fcc70484822159" + ] + ], + "idxstats": [ + [ + { + "id": "test", + "single_end": true + }, + "test.idxstats:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "stats": [ + [ + { + "id": "test", + "single_end": true + }, + "test.stats:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-03T11:10:24.379362883" + }, + "test_bam_stats_samtools_paired_end_cram - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + "test.stats:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + [ + { + "id": "test", + "single_end": false + }, + "test.flagstat:md5,67394650dbae96d1a4fcc70484822159" + ] + ], + "2": [ + [ + { + "id": "test", + "single_end": false + }, + "test.idxstats:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "flagstat": [ + [ + { + "id": "test", + "single_end": false + }, + "test.flagstat:md5,67394650dbae96d1a4fcc70484822159" + ] + ], + "idxstats": [ + [ + { + "id": "test", + "single_end": false + }, + "test.idxstats:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "stats": [ + [ + { + "id": "test", + "single_end": false + }, + "test.stats:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + } + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.3" + }, + "timestamp": "2026-02-03T11:10:35.91658956" + }, + "test_bam_stats_samtools_single_end": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true + }, + "test.flagstat:md5,2191911d72575a2358b08b1df64ccb53" + ] + ], + [ + [ + { + "id": "test", + "single_end": true + }, + "test.idxstats:md5,613e048487662c694aa4a2f73ca96a20" + ] + ], + [ + [ + { + "id": "test", + "single_end": true + }, + "test.stats:md5,afd73326205e0995268b7a796d93139e" + ] + ] + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T10:42:09.4463" + }, + "test_bam_stats_samtools_paired_end": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true + }, + "test.flagstat:md5,4f7ffd1e6a5e85524d443209ac97d783" + ] + ], + [ + [ + { + "id": "test", + "single_end": true + }, + "test.idxstats:md5,df60a8c8d6621100d05178c93fb053a2" + ] + ], + [ + [ + { + "id": "test", + "single_end": true + }, + "test.stats:md5,681ce95af0c57dc36c647f2157c17b6a" + ] + ] + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T10:42:15.787592" + }, + "test_bam_stats_samtools_paired_end_cram": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.flagstat:md5,a53f3d26e2e9851f7d528442bbfe9781" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.idxstats:md5,e179601fa7b8ebce81ac3765206f6c15" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.stats:md5,96020b0280addb09a48c63a5d510fc15" + ] + ] + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-19T10:42:22.199498" + } +} \ No newline at end of file diff --git a/subworkflows/nf-core/fastq_align_hisat2/main.nf b/subworkflows/nf-core/fastq_align_hisat2/main.nf new file mode 100644 index 00000000..6b402c10 --- /dev/null +++ b/subworkflows/nf-core/fastq_align_hisat2/main.nf @@ -0,0 +1,32 @@ +include { HISAT2_ALIGN } from '../../../modules/nf-core/hisat2/align/main' +include { BAM_SORT_STATS_SAMTOOLS } from '../bam_sort_stats_samtools/main' + +workflow FASTQ_ALIGN_HISAT2 { + take: + reads // channel: [ val(meta), [ reads ] ] + index // channel: /path/to/hisat2/index + splicesites // channel: /path/to/genome.splicesites.txt + ch_fasta_fai // channel: [meta, fasta, fai ] + save_unaligned // val: boolean + + main: + // + // Map reads with HISAT2 + // + HISAT2_ALIGN(reads, index, splicesites, save_unaligned) + + // + // Sort, index BAM file and run samtools stats, flagstat and idxstats + // + BAM_SORT_STATS_SAMTOOLS(HISAT2_ALIGN.out.bam, ch_fasta_fai) + + emit: + orig_bam = HISAT2_ALIGN.out.bam // channel: [ val(meta), bam ] + summary = HISAT2_ALIGN.out.summary // channel: [ val(meta), log ] + fastq = HISAT2_ALIGN.out.fastq // channel: [ val(meta), fastq ] + bam = BAM_SORT_STATS_SAMTOOLS.out.bam // channel: [ val(meta), [ bam ] ] + index = BAM_SORT_STATS_SAMTOOLS.out.index // channel: [ val(meta), [ index ] ] + stats = BAM_SORT_STATS_SAMTOOLS.out.stats // channel: [ val(meta), [ stats ] ] + flagstat = BAM_SORT_STATS_SAMTOOLS.out.flagstat // channel: [ val(meta), [ flagstat ] ] + idxstats = BAM_SORT_STATS_SAMTOOLS.out.idxstats // channel: [ val(meta), [ idxstats ] ] +} diff --git a/subworkflows/nf-core/fastq_align_hisat2/meta.yml b/subworkflows/nf-core/fastq_align_hisat2/meta.yml new file mode 100644 index 00000000..ba9f68db --- /dev/null +++ b/subworkflows/nf-core/fastq_align_hisat2/meta.yml @@ -0,0 +1,94 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/subworkflows/yaml-schema.json +name: "fastq_align_hisat2" +description: Align reads to a reference genome using hisat2 then sort with samtools +keywords: + - align + - sort + - rnaseq + - genome + - fastq + - bam + - sam + - cram +components: + - hisat2/align + - samtools/stats + - samtools/idxstats + - samtools/flagstat + - bam_sort_stats_samtools +input: + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test' ] + - reads: + type: file + description: | + List of input FastQ files of size 1 and 2 for single-end and paired-end data, + respectively. + - index: + type: file + description: HISAT2 genome index file + pattern: "*.ht2" + - splicesites: + type: file + description: Splices sites in gtf file + pattern: "*.{txt}" + - fasta_fai: + type: file + description: Reference genome fasta file and index + pattern: "*.{fasta,fa,fai}" + - save_unaligned: + type: boolean + description: Save unaligned reads to FastQ files +output: + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test' ] + - bam: + type: file + description: Output BAM file containing read alignments + pattern: "*.{bam}" + - summary: + type: file + description: Alignment log + pattern: "*.log" + - fastq: + type: file + description: Optional output FASTQ file containing unaligned reads + pattern: ".fastq.gz" + - bam: + type: file + description: Sorted BAM/CRAM/SAM file + pattern: "*.{bam,cram,sam}" + - bai: + type: file + description: BAM/CRAM/SAM index file + pattern: "*.{bai,crai,sai}" + - crai: + type: file + description: BAM/CRAM/SAM index file + pattern: "*.{bai,crai,sai}" + - stats: + type: file + description: File containing samtools stats output + pattern: "*.{stats}" + - flagstat: + type: file + description: File containing samtools flagstat output + pattern: "*.{flagstat}" + - idxstats: + type: file + description: File containing samtools idxstats output + pattern: "*.{idxstats}" + - versions: + type: file + description: File containing software versions + pattern: "versions.yml" +authors: + - "@priyanka-surana" +maintainers: + - "@priyanka-surana" diff --git a/subworkflows/nf-core/fastq_align_hisat2/tests/main.nf.test b/subworkflows/nf-core/fastq_align_hisat2/tests/main.nf.test new file mode 100644 index 00000000..64b1cfd7 --- /dev/null +++ b/subworkflows/nf-core/fastq_align_hisat2/tests/main.nf.test @@ -0,0 +1,226 @@ +nextflow_workflow { + + name "Test Subworkflow FASTQ_ALIGN_HISAT2" + script "../main.nf" + workflow "FASTQ_ALIGN_HISAT2" + config "./nextflow.config" + + tag "subworkflows" + tag "subworkflows_nfcore" + tag "subworkflows/fastq_align_hisat2" + + tag "hisat2/align" + tag "hisat2/build" + tag "hisat2/extractsplicesites" + + tag "samtools/flagstat" + tag "samtools/idxstats" + tag "samtools/index" + tag "samtools/sort" + tag "samtools/stats" + tag "subworkflows/bam_sort_stats_samtools" + + setup { + run("HISAT2_EXTRACTSPLICESITES") { + script "../../../../modules/nf-core/hisat2/extractsplicesites/main.nf" + process { + """ + input[0] = Channel.of([ + [id: 'test'], + file(params.modules_testdata_base_path + "genomics/sarscov2/genome/genome.gtf", checkIfExists: true) + ]) + """ + } + } + + run("HISAT2_EXTRACTSPLICESITES", alias: "HISAT2_EXTRACTSPLICESITES_STUB") { + script "../../../../modules/nf-core/hisat2/extractsplicesites/main.nf" + process { + """ + input[0] = Channel.of([ + [id: 'test'], + file(params.modules_testdata_base_path + "genomics/sarscov2/genome/genome.gtf", checkIfExists: true) + ]) + """ + } + } + + run("HISAT2_BUILD") { + script "../../../../modules/nf-core/hisat2/build/main.nf" + process { + """ + input[0] = Channel.of([ + [id: 'test'], + file(params.modules_testdata_base_path + "genomics/sarscov2/genome/genome.fasta", checkIfExists: true) + ]) + input[1] = Channel.of([ + [id: 'test'], + file(params.modules_testdata_base_path + "genomics/sarscov2/genome/genome.gtf", checkIfExists: true) + ]) + input[2] = HISAT2_EXTRACTSPLICESITES.out.txt + """ + } + } + + run("HISAT2_BUILD", alias: "HISAT2_BUILD_STUB") { + script "../../../../modules/nf-core/hisat2/build/main.nf" + process { + """ + input[0] = Channel.of([ + [id: 'test'], + file(params.modules_testdata_base_path + "genomics/sarscov2/genome/genome.fasta", checkIfExists: true) + ]) + input[1] = Channel.of([ + [id: 'test'], + file(params.modules_testdata_base_path + "genomics/sarscov2/genome/genome.gtf", checkIfExists: true) + ]) + input[2] = HISAT2_EXTRACTSPLICESITES_STUB.out.txt + """ + } + } + } + + test("sarscov2 - bam - single_end") { + + when { + workflow { + """ + input[0] = Channel.of([ + [ id:'test', single_end:true ], + [ + file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/fastq/test_1.fastq.gz", checkIfExists: true) + ] + ]) + input[1] = HISAT2_BUILD.out.index + input[2] = HISAT2_EXTRACTSPLICESITES.out.txt + input[3] = Channel.of([ + [ id:'test' ], + file(params.modules_testdata_base_path + "genomics/sarscov2/genome/genome.fasta", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/sarscov2/genome/genome.fasta.fai", checkIfExists: true) + ]) + input[4] = false + """ + } + } + + then { + assertAll( + { assert workflow.success}, + { assert snapshot( + file(workflow.out.index[0][1]).name, + file(workflow.out.bam[0][1]).name, + file(workflow.out.orig_bam[0][1]).name, + workflow.out.fastq, + workflow.out.flagstat, + workflow.out.idxstats, + workflow.out.stats, + workflow.out.summary).match()} + ) + } + } + test("sarscov2 - bam - paired_end") { + + when { + workflow { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], + [ + file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/fastq/test_1.fastq.gz", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/fastq/test_2.fastq.gz", checkIfExists: true) + ] + ]) + input[1] = HISAT2_BUILD.out.index + input[2] = HISAT2_EXTRACTSPLICESITES.out.txt + input[3] = Channel.of([ + [ id:'test' ], + file(params.modules_testdata_base_path + "genomics/sarscov2/genome/genome.fasta", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/sarscov2/genome/genome.fasta.fai", checkIfExists: true) + ]) + input[4] = false + """ + } + } + + then { + assertAll( + { assert workflow.success}, + { assert snapshot( + file(workflow.out.index[0][1]).name, + file(workflow.out.bam[0][1]).name, + file(workflow.out.orig_bam[0][1]).name, + workflow.out.fastq, + workflow.out.flagstat, + workflow.out.idxstats, + workflow.out.stats, + workflow.out.summary).match()} + ) + } + } + + test("sarscov2 - bam - single_end - stub") { + + options "-stub" + + when { + workflow { + """ + input[0] = Channel.of([ + [ id:'test', single_end:true ], + [ + file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/fastq/test_1.fastq.gz", checkIfExists: true) + ] + ]) + input[1] = HISAT2_BUILD_STUB.out.index + input[2] = HISAT2_EXTRACTSPLICESITES_STUB.out.txt + input[3] = Channel.of([ + [ id:'test' ], + file(params.modules_testdata_base_path + "genomics/sarscov2/genome/genome.fasta", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/sarscov2/genome/genome.fasta.fai", checkIfExists: true) + ]) + input[4] = false + """ + } + } + + then { + assertAll( + { assert workflow.success}, + { assert snapshot(workflow.out).match()} + ) + } + } + test("sarscov2 - bam - paired_end - stub") { + + options "-stub" + + when { + workflow { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], + [ + file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/fastq/test_1.fastq.gz", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/fastq/test_2.fastq.gz", checkIfExists: true) + ] + ]) + input[1] = HISAT2_BUILD_STUB.out.index + input[2] = HISAT2_EXTRACTSPLICESITES_STUB.out.txt + input[3] = Channel.of([ + [ id:'test' ], + file(params.modules_testdata_base_path + "genomics/sarscov2/genome/genome.fasta", checkIfExists: true), + file(params.modules_testdata_base_path + "genomics/sarscov2/genome/genome.fasta.fai", checkIfExists: true) + ]) + input[4] = false + """ + } + } + + then { + assertAll( + { assert workflow.success}, + { assert snapshot(workflow.out).match()} + ) + } + } +} diff --git a/subworkflows/nf-core/fastq_align_hisat2/tests/main.nf.test.snap b/subworkflows/nf-core/fastq_align_hisat2/tests/main.nf.test.snap new file mode 100644 index 00000000..1d6fa8f0 --- /dev/null +++ b/subworkflows/nf-core/fastq_align_hisat2/tests/main.nf.test.snap @@ -0,0 +1,392 @@ +{ + "sarscov2 - bam - single_end": { + "content": [ + "test.sorted.bam.bai", + "test.sorted.bam", + "test.bam", + [ + + ], + [ + [ + { + "id": "test", + "single_end": true + }, + "test.flagstat:md5,6de3bfde9582ad2532033832091f5c46" + ] + ], + [ + [ + { + "id": "test", + "single_end": true + }, + "test.idxstats:md5,2a5df85e0d90e55bb2b359f6e05d5fbb" + ] + ], + [ + [ + { + "id": "test", + "single_end": true + }, + "test.stats:md5,1d86f4af3d87c541adb226cf81ce1583" + ] + ], + [ + [ + { + "id": "test", + "single_end": true + }, + "test.hisat2.summary.log:md5,7b8a9e61b7646da1089b041333c41a87" + ] + ] + ], + "timestamp": "2026-03-12T14:20:26.623921584", + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-12T13:49:32.388392" + }, + "sarscov2 - bam - single_end - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": true + }, + "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + [ + { + "id": "test", + "single_end": true + }, + "test.hisat2.summary.log:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "2": [ + + ], + "3": [ + [ + { + "id": "test", + "single_end": true + }, + "test.sorted.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "4": [ + [ + { + "id": "test", + "single_end": true + }, + "test.sorted.bam.bai:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "5": [ + [ + { + "id": "test", + "single_end": true + }, + "test.stats:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "6": [ + [ + { + "id": "test", + "single_end": true + }, + "test.flagstat:md5,67394650dbae96d1a4fcc70484822159" + ] + ], + "7": [ + [ + { + "id": "test", + "single_end": true + }, + "test.idxstats:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "bam": [ + [ + { + "id": "test", + "single_end": true + }, + "test.sorted.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "fastq": [ + + ], + "flagstat": [ + [ + { + "id": "test", + "single_end": true + }, + "test.flagstat:md5,67394650dbae96d1a4fcc70484822159" + ] + ], + "idxstats": [ + [ + { + "id": "test", + "single_end": true + }, + "test.idxstats:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "index": [ + [ + { + "id": "test", + "single_end": true + }, + "test.sorted.bam.bai:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "orig_bam": [ + [ + { + "id": "test", + "single_end": true + }, + "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "stats": [ + [ + { + "id": "test", + "single_end": true + }, + "test.stats:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "summary": [ + [ + { + "id": "test", + "single_end": true + }, + "test.hisat2.summary.log:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + } + ], + "timestamp": "2026-03-13T13:17:13.331642144", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + }, + "sarscov2 - bam - paired_end": { + "content": [ + "test.sorted.bam.bai", + "test.sorted.bam", + "test.bam", + [ + + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.flagstat:md5,2fa0d90162a1b655863796c2a6bd8f45" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.idxstats:md5,1adb27b52d4d64b826f48b59d61dcd4d" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.stats:md5,40ddc1cc0208d3b04520a1577188ac16" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.hisat2.summary.log:md5,9839b31db795958cc4b70711a3414e9c" + ] + ] + ], + "timestamp": "2026-03-12T14:20:40.115286411", + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-12T13:49:51.67428" + }, + "sarscov2 - bam - paired_end - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + [ + { + "id": "test", + "single_end": false + }, + "test.hisat2.summary.log:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "2": [ + + ], + "3": [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "4": [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam.bai:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "5": [ + [ + { + "id": "test", + "single_end": false + }, + "test.stats:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "6": [ + [ + { + "id": "test", + "single_end": false + }, + "test.flagstat:md5,67394650dbae96d1a4fcc70484822159" + ] + ], + "7": [ + [ + { + "id": "test", + "single_end": false + }, + "test.idxstats:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "bam": [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "fastq": [ + + ], + "flagstat": [ + [ + { + "id": "test", + "single_end": false + }, + "test.flagstat:md5,67394650dbae96d1a4fcc70484822159" + ] + ], + "idxstats": [ + [ + { + "id": "test", + "single_end": false + }, + "test.idxstats:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "index": [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam.bai:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "orig_bam": [ + [ + { + "id": "test", + "single_end": false + }, + "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "stats": [ + [ + { + "id": "test", + "single_end": false + }, + "test.stats:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "summary": [ + [ + { + "id": "test", + "single_end": false + }, + "test.hisat2.summary.log:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + } + ], + "timestamp": "2026-03-13T13:17:26.03963263", + "meta": { + "nf-test": "0.9.4", + "nextflow": "25.10.4" + } + } +} \ No newline at end of file diff --git a/subworkflows/nf-core/fastq_align_hisat2/tests/nextflow.config b/subworkflows/nf-core/fastq_align_hisat2/tests/nextflow.config new file mode 100644 index 00000000..d2a119b5 --- /dev/null +++ b/subworkflows/nf-core/fastq_align_hisat2/tests/nextflow.config @@ -0,0 +1,5 @@ +process { + withName: SAMTOOLS_SORT { + ext.prefix = { "${meta.id}.sorted" } + } +} diff --git a/subworkflows/nf-core/fastq_align_star/main.nf b/subworkflows/nf-core/fastq_align_star/main.nf new file mode 100644 index 00000000..fd37d10a --- /dev/null +++ b/subworkflows/nf-core/fastq_align_star/main.nf @@ -0,0 +1,55 @@ +include { STAR_ALIGN } from '../../../modules/nf-core/star/align/main' +include { BAM_SORT_STATS_SAMTOOLS as BAM_SORT_STATS_SAMTOOLS_GENOME } from '../bam_sort_stats_samtools/main' +include { BAM_SORT_STATS_SAMTOOLS as BAM_SORT_STATS_SAMTOOLS_TRANSCRIPTOME } from '../bam_sort_stats_samtools/main' + + +workflow FASTQ_ALIGN_STAR { + take: + ch_reads // channel: [ val(meta), [ path(reads) ] ] + ch_index // channel: [ path(index) ] + ch_gtf // channel: [ path(gtf) ] + val_star_ignore_sjdbgtf // boolean: when using pre-built STAR indices do not re-extract and use splice junctions from the GTF file + ch_fasta_fai // channel: [ val(meta), path(fasta), path(fai) ] + ch_transcripts_fasta_fai // channel: [ val(meta), path(fasta), path(fai) ] + + main: + + // + // Map reads with STAR + // + STAR_ALIGN(ch_reads, ch_index, ch_gtf, val_star_ignore_sjdbgtf) + + // + // Sort, index BAM file and run samtools stats, flagstat and idxstats + // + BAM_SORT_STATS_SAMTOOLS_GENOME(STAR_ALIGN.out.bam, ch_fasta_fai) + + // + // Sort, index BAM file and run samtools stats, flagstat and idxstats + // + // Only runs when '--quantMode TranscriptomeSAM' is set in args and + // STAR_ALIGN.out.bam_transcript is populated + // + + BAM_SORT_STATS_SAMTOOLS_TRANSCRIPTOME(STAR_ALIGN.out.bam_transcript, ch_transcripts_fasta_fai) + + emit: + orig_bam = STAR_ALIGN.out.bam // channel: [ val(meta), path(bam) ] + log_final = STAR_ALIGN.out.log_final // channel: [ val(meta), path(log_final) ] + log_out = STAR_ALIGN.out.log_out // channel: [ val(meta), path(log_out) ] + log_progress = STAR_ALIGN.out.log_progress // channel: [ val(meta), path(log_progress) ] + bam_sorted = STAR_ALIGN.out.bam_sorted // channel: [ val(meta), path(bam) ] + fastq = STAR_ALIGN.out.fastq // channel: [ val(meta), path(fastq) ] + tab = STAR_ALIGN.out.tab // channel: [ val(meta), path(tab) ] + orig_bam_transcript = STAR_ALIGN.out.bam_transcript // channel: [ val(meta), path(bam) ] + bam = BAM_SORT_STATS_SAMTOOLS_GENOME.out.bam // channel: [ val(meta), path(bam) ] + index = BAM_SORT_STATS_SAMTOOLS_GENOME.out.index // channel: [ val(meta), path(index) ] + stats = BAM_SORT_STATS_SAMTOOLS_GENOME.out.stats // channel: [ val(meta), path(stats) ] + flagstat = BAM_SORT_STATS_SAMTOOLS_GENOME.out.flagstat // channel: [ val(meta), path(flagstat) ] + idxstats = BAM_SORT_STATS_SAMTOOLS_GENOME.out.idxstats // channel: [ val(meta), path(idxstats) ] + bam_transcript = BAM_SORT_STATS_SAMTOOLS_TRANSCRIPTOME.out.bam // channel: [ val(meta), path(bam) ] + index_transcript = BAM_SORT_STATS_SAMTOOLS_TRANSCRIPTOME.out.index // channel: [ val(meta), path(index) ] + stats_transcript = BAM_SORT_STATS_SAMTOOLS_TRANSCRIPTOME.out.stats // channel: [ val(meta), path(stats) ] + flagstat_transcript = BAM_SORT_STATS_SAMTOOLS_TRANSCRIPTOME.out.flagstat // channel: [ val(meta), path(flagstat) ] + idxstats_transcript = BAM_SORT_STATS_SAMTOOLS_TRANSCRIPTOME.out.idxstats // channel: [ val(meta), path(idxstats) ] +} diff --git a/subworkflows/nf-core/fastq_align_star/meta.yml b/subworkflows/nf-core/fastq_align_star/meta.yml new file mode 100644 index 00000000..d263ab9d --- /dev/null +++ b/subworkflows/nf-core/fastq_align_star/meta.yml @@ -0,0 +1,125 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/subworkflows/yaml-schema.json +name: "fastq_align_star" +description: Align reads to a reference genome using bowtie2 then sort with samtools +keywords: + - align + - fasta + - genome + - reference +components: + - star/align + - samtools/sort + - samtools/index + - samtools/stats + - samtools/idxstats + - samtools/flagstat + - bam_sort_stats_samtools +input: + - ch_reads: + description: | + List of input FastQ files of size 1 and 2 for single-end and paired-end data, + respectively. + Structure: [ val(meta), [ path(reads) ] ] + - ch_index: + type: directory + description: STAR genome index + pattern: "star" + - ch_gtf: + type: file + description: | + GTF file used to set the splice junctions with the --sjdbGTFfile flag + pattern: "*.gtf" + - val_star_ignore_sjdbgtf: + type: boolean + description: | + If true the --sjdbGTFfile flag is set + pattern: "true|false" + - ch_fasta_fai: + type: file + description: Reference genome fasta file and index + pattern: "*.{fasta,fa,fna,fai}" + - ch_transcripts_fasta_fai: + type: file + description: Optional reference genome fasta file and index + pattern: "*.{fasta,fa,fna,fai}" +output: + - orig_bam: + description: | + Output BAM file containing read alignments + Structure: [ val(meta), path(bam) ] + - log_final: + description: | + STAR final log file + Structure: [ val(meta), path(log_final) ] + - log_out: + description: | + STAR log out file + Structure: [ val(meta), path(log_out) ] + - log_progress: + description: | + STAR log progress file + Structure: [ val(meta), path(log_progress) ] + - bam_sorted: + description: | + Sorted BAM file of read alignments (optional) + Structure: [ val(meta), path(bam) ] + - orig_bam_transcript: + description: | + Output BAM file of transcriptome alignment (optional) + Structure: [ val(meta), path(bam) ] + - fastq: + description: | + Unmapped FastQ files (optional) + Structure: [ val(meta), path(fastq) ] + - tab: + description: | + STAR output tab file(s) (optional) + Structure: [ val(meta), path(tab) ] + - bam: + description: | + BAM file ordered by samtools + Structure: [ val(meta), path(bam) ] + - bai: + description: | + BAI index of the ordered BAM file + Structure: [ val(meta), path(bai) ] + - stats: + description: | + File containing samtools stats output + Structure: [ val(meta), path(stats) ] + - flagstat: + description: | + File containing samtools flagstat output + Structure: [ val(meta), path(flagstat) ] + - idxstats: + description: | + File containing samtools idxstats output + Structure: [ val(meta), path(idxstats) ] + - bam_transcript: + description: | + Transcriptome-level BAM file ordered by samtools (optional) + Structure: [ val(meta), path(bam) ] + - bai_transcript: + description: | + Transcriptome-level BAI index of the ordered BAM file (optional) + Structure: [ val(meta), path(bai) ] + - stats_transcript: + description: | + Transcriptome-level file containing samtools stats output (optional) + Structure: [ val(meta), path(stats) ] + - flagstat_transcript: + description: | + Transcriptome-level file containing samtools flagstat output (optional) + Structure: [ val(meta), path(flagstat) ] + - idxstats_transcript: + description: | + Transcriptome-level file containing samtools idxstats output (optional) + Structure: [ val(meta), path(idxstats) ] + - versions: + type: file + description: File containing software versions + pattern: "versions.yml" +authors: + - "@JoseEspinosa" +maintainers: + - "@JoseEspinosa" diff --git a/subworkflows/nf-core/fastq_align_star/nextflow.config b/subworkflows/nf-core/fastq_align_star/nextflow.config new file mode 100644 index 00000000..926eae71 --- /dev/null +++ b/subworkflows/nf-core/fastq_align_star/nextflow.config @@ -0,0 +1,10 @@ +// IMPORTANT: Add this configuration to your modules.config + +process { + withName: ".*:FASTQ_ALIGN_STAR:BAM_SORT_STATS_SAMTOOLS_GENOME:.*" { + ext.prefix = {"${meta.id}_genome"} + } + withName: ".*:FASTQ_ALIGN_STAR:BAM_SORT_STATS_SAMTOOLS_TRANSCRIPTOME:.*" { + ext.prefix = {"${meta.id}_transcriptome"} + } +} diff --git a/subworkflows/nf-core/fastq_align_star/tests/main.nf.test b/subworkflows/nf-core/fastq_align_star/tests/main.nf.test new file mode 100644 index 00000000..8774fd2a --- /dev/null +++ b/subworkflows/nf-core/fastq_align_star/tests/main.nf.test @@ -0,0 +1,242 @@ +nextflow_workflow { + + name "Test Subworkflow FASTQ_ALIGN_STAR" + script "../main.nf" + workflow "FASTQ_ALIGN_STAR" + + tag "subworkflows" + tag "subworkflows_nfcore" + tag "subworkflows/fastq_align_star" + tag "star/align" + tag "star/genomegenerate" + tag "rsem/preparereference" + tag "subworkflows/bam_sort_stats_samtools" + + setup { + run("STAR_GENOMEGENERATE") { + script "../../../../modules/nf-core/star/genomegenerate/main.nf" + process { + """ + input[0] = Channel.of([ + [ id:'test_fasta' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true) ] + ]) + input[1] = Channel.of([ + [ id:'test_gtf' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.gtf', checkIfExists: true) ] + ]) + """ + } + } + } + + test("homo_sapiens - fastq - single_end") { + config "./nextflow.config" + when { + workflow { + """ + input[0] = Channel.of([ + [ id:'test', single_end:true ], // meta map + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_rnaseq_1.fastq.gz', checkIfExists: true) ] + ]) + input[1] = STAR_GENOMEGENERATE.out.index + input[2] = Channel.of([ + [ id:'test_gtf' ], // meta map + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.gtf', checkIfExists: true) ] + ]) + input[3] = true // star_ignore_sjdbgtf + input[4] = Channel.of([ + [ id:'test_fasta' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.fai', checkIfExists: true) + ]) + input[5] = Channel.of([[:], [], []]) + """ + } + } + + then { + assertAll( + { assert workflow.success}, + { assert snapshot( + bam(workflow.out.bam[0][1]).getReadsMD5(), + bam(workflow.out.orig_bam[0][1]).getReadsMD5(), + workflow.out.fastq, + workflow.out.tab, + workflow.out.stats, + workflow.out.flagstat, + workflow.out.idxstats + ).match() }, + { assert path(workflow.out.index.get(0).get(1)).exists() }, + { assert path(workflow.out.log_out.get(0).get(1)).exists() }, + { assert path(workflow.out.log_final.get(0).get(1)).exists() }, + { assert path(workflow.out.log_progress.get(0).get(1)).exists() } + ) + } + } + + test("homo_sapiens - fastq - paired_end") { + config "./nextflow.config" + + when { + workflow { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + [ + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_rnaseq_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_rnaseq_2.fastq.gz', checkIfExists: true) + ] + ]) + input[1] = STAR_GENOMEGENERATE.out.index + input[2] = Channel.of([ + [ id:'test_gtf' ], // meta map + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.gtf', checkIfExists: true) ] + ]) + input[3] = true // star_ignore_sjdbgtf + input[4] = Channel.of([ + [ id:'test_fasta' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.fai', checkIfExists: true) + ]) + input[5] = Channel.of([[:], [], []]) + """ + } + } + + then { + assertAll( + { assert workflow.success}, + { assert snapshot( + bam(workflow.out.bam[0][1]).getReadsMD5(), + bam(workflow.out.orig_bam[0][1]).getReadsMD5(), + workflow.out.fastq, + workflow.out.tab, + workflow.out.stats, + workflow.out.flagstat, + workflow.out.idxstats + ).match() }, + { assert path(workflow.out.index.get(0).get(1)).exists() }, + { assert path(workflow.out.log_out.get(0).get(1)).exists() }, + { assert path(workflow.out.log_final.get(0).get(1)).exists() }, + { assert path(workflow.out.log_progress.get(0).get(1)).exists() } + ) + } + } + + test("homo_sapiens - fastq - paired_end - with_transcriptome") { + config "./with_transcripts.config" + + setup { + run("RSEM_PREPAREREFERENCE") { + script "../../../../modules/nf-core/rsem/preparereference/main.nf" + process { + """ + input[0] = channel.of(file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkifexists: true)) + input[1] = channel.of(file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.gtf', checkifexists: true)) + """ + } + } + } + when { + workflow { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + [ + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_rnaseq_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_rnaseq_2.fastq.gz', checkIfExists: true) + ] + ]) + input[1] = STAR_GENOMEGENERATE.out.index + input[2] = Channel.of([ + [ id:'test_gtf' ], // meta map + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.gtf', checkIfExists: true) ] + ]) + input[3] = true // star_ignore_sjdbgtf + input[4] = Channel.of([ + [ id:'test_fasta' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.fai', checkIfExists: true) + ]) + input[5] = RSEM_PREPAREREFERENCE.out.transcript_fasta.map{[[:], it, []]} + """ + } + } + + then { + assertAll( + { assert workflow.success}, + { assert snapshot( + bam(workflow.out.bam[0][1]).getReadsMD5(), + bam(workflow.out.orig_bam[0][1]).getReadsMD5(), + bam(workflow.out.bam_transcript[0][1]).getReadsMD5(), + bam(workflow.out.orig_bam_transcript[0][1]).getReadsMD5(), + workflow.out.fastq, + workflow.out.tab, + workflow.out.stats, + workflow.out.flagstat, + workflow.out.idxstats, + workflow.out.stats_transcript, + workflow.out.flagstat_transcript, + workflow.out.idxstats_transcript + ).match() }, + { assert path(workflow.out.index.get(0).get(1)).exists() }, + { assert path(workflow.out.index_transcript.get(0).get(1)).exists() }, + { assert path(workflow.out.log_out.get(0).get(1)).exists() }, + { assert path(workflow.out.log_final.get(0).get(1)).exists() }, + { assert path(workflow.out.log_progress.get(0).get(1)).exists() } + ) + } + } + + test("homo_sapiens - fastq - paired_end - transcripts - no_transcriptome") { + config "./with_transcripts.config" + + when { + workflow { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + [ + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_rnaseq_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_rnaseq_2.fastq.gz', checkIfExists: true) + ] + ]) + input[1] = STAR_GENOMEGENERATE.out.index + input[2] = Channel.of([ + [ id:'test_gtf' ], // meta map + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.gtf', checkIfExists: true) ] + ]) + input[3] = true // star_ignore_sjdbgtf + input[4] = Channel.of([ + [ id:'test_fasta' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.fai', checkIfExists: true) + ]) + input[5] = Channel.of([[:], [], []]) + """ + } + } + + then { + assertAll( + { assert workflow.success}, + { assert snapshot( + bam(workflow.out.bam[0][1]).getReadsMD5(), + bam(workflow.out.orig_bam[0][1]).getReadsMD5(), + workflow.out.fastq, + workflow.out.tab, + workflow.out.stats, + workflow.out.flagstat, + workflow.out.idxstats, + workflow.out.stats_transcript + ).match() }, + { assert path(workflow.out.index.get(0).get(1)).exists() }, + { assert path(workflow.out.log_out.get(0).get(1)).exists() }, + { assert path(workflow.out.log_final.get(0).get(1)).exists() }, + { assert path(workflow.out.log_progress.get(0).get(1)).exists() } + ) + } + } +} diff --git a/subworkflows/nf-core/fastq_align_star/tests/main.nf.test.snap b/subworkflows/nf-core/fastq_align_star/tests/main.nf.test.snap new file mode 100644 index 00000000..93f5e264 --- /dev/null +++ b/subworkflows/nf-core/fastq_align_star/tests/main.nf.test.snap @@ -0,0 +1,240 @@ +{ + "homo_sapiens - fastq - paired_end - transcripts - no_transcriptome": { + "content": [ + "1e02b8e6b4a02ab58bfe4ee795aba815", + "47a5da42b696886e2ed36af199a9042e", + [ + + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.SJ.out.tab:md5,844af19ab0fc8cd9a3f75228445aca0d" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam.stats:md5,dde344effa02e175a035c42e193016d5" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam.flagstat:md5,db0e25cd0b37d3030e807846c022199e" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam.idxstats:md5,107ca94dd426cc44db316f0d402307c5" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam.stats:md5,47ff757bbc2923ba52279eaceac55d94" + ] + ] + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-13T09:33:07.510351" + }, + "homo_sapiens - fastq - paired_end - with_transcriptome": { + "content": [ + "1e02b8e6b4a02ab58bfe4ee795aba815", + "47a5da42b696886e2ed36af199a9042e", + "9b8ec790f8138071a0731b5225c84f00", + "9b8ec790f8138071a0731b5225c84f00", + [ + + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.SJ.out.tab:md5,844af19ab0fc8cd9a3f75228445aca0d" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam.stats:md5,dde344effa02e175a035c42e193016d5" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam.flagstat:md5,db0e25cd0b37d3030e807846c022199e" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam.idxstats:md5,107ca94dd426cc44db316f0d402307c5" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam.stats:md5,9f99968be0087b3cacd07a67ab5e4ab7" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam.flagstat:md5,a204dee59ef8b7cd0f7d952a80119b77" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam.idxstats:md5,4030919b4a05393dcd7e699d72725803" + ] + ] + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-13T11:50:53.665507" + }, + "homo_sapiens - fastq - single_end": { + "content": [ + "8b3699d1b3344c90f82363edadae6427", + "c491ec34a25f55c7583e325e0a191b5d", + [ + + ], + [ + [ + { + "id": "test", + "single_end": true + }, + "test.SJ.out.tab:md5,75a516ab950fb958f40b29996474949c" + ] + ], + [ + [ + { + "id": "test", + "single_end": true + }, + "test.sorted.bam.stats:md5,b9b07c579487b76473318c6d2d396cdf" + ] + ], + [ + [ + { + "id": "test", + "single_end": true + }, + "test.sorted.bam.flagstat:md5,075e7a684a7ceb5fd1dae154f823128a" + ] + ], + [ + [ + { + "id": "test", + "single_end": true + }, + "test.sorted.bam.idxstats:md5,0d5a12e3e3ffdb15f1c6c50f02f22575" + ] + ] + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-13T09:26:06.967056" + }, + "homo_sapiens - fastq - paired_end": { + "content": [ + "1e02b8e6b4a02ab58bfe4ee795aba815", + "47a5da42b696886e2ed36af199a9042e", + [ + + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.SJ.out.tab:md5,844af19ab0fc8cd9a3f75228445aca0d" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam.stats:md5,dde344effa02e175a035c42e193016d5" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam.flagstat:md5,db0e25cd0b37d3030e807846c022199e" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam.idxstats:md5,107ca94dd426cc44db316f0d402307c5" + ] + ] + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + }, + "timestamp": "2026-03-13T09:28:26.887634" + } +} \ No newline at end of file diff --git a/subworkflows/nf-core/fastq_align_star/tests/nextflow.config b/subworkflows/nf-core/fastq_align_star/tests/nextflow.config new file mode 100644 index 00000000..d5b88510 --- /dev/null +++ b/subworkflows/nf-core/fastq_align_star/tests/nextflow.config @@ -0,0 +1,20 @@ +process { + + publishDir = { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" } + + withName: STAR_GENOMEGENERATE { + ext.args = '--genomeSAindexNbases 9' + } + + withName: STAR_ALIGN { + ext.args = '--readFilesCommand zcat' + } + + withName: '.*:BAM_SORT_STATS_SAMTOOLS_.*:SAMTOOLS_.*' { + ext.prefix = { "${meta.id}.sorted" } + } + + withName: '.*:BAM_SORT_STATS_SAMTOOLS_.*:BAM_STATS_SAMTOOLS:.*' { + ext.prefix = { "${meta.id}.sorted.bam" } + } +} diff --git a/subworkflows/nf-core/fastq_align_star/tests/with_transcripts.config b/subworkflows/nf-core/fastq_align_star/tests/with_transcripts.config new file mode 100644 index 00000000..0588b5f1 --- /dev/null +++ b/subworkflows/nf-core/fastq_align_star/tests/with_transcripts.config @@ -0,0 +1,20 @@ +process { + + publishDir = { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" } + + withName: STAR_GENOMEGENERATE { + ext.args = '--genomeSAindexNbases 9' + } + + withName: STAR_ALIGN { + ext.args = '--readFilesCommand zcat --quantMode TranscriptomeSAM' + } + + withName: '.*:BAM_SORT_STATS_SAMTOOLS_.*:SAMTOOLS_.*' { + ext.prefix = { "${meta.id}.sorted" } + } + + withName: '.*:BAM_SORT_STATS_SAMTOOLS_.*:BAM_STATS_SAMTOOLS:.*' { + ext.prefix = { "${meta.id}.sorted.bam" } + } +} diff --git a/subworkflows/nf-core/utils_nextflow_pipeline/main.nf b/subworkflows/nf-core/utils_nextflow_pipeline/main.nf index d6e593e8..37939acd 100644 --- a/subworkflows/nf-core/utils_nextflow_pipeline/main.nf +++ b/subworkflows/nf-core/utils_nextflow_pipeline/main.nf @@ -73,11 +73,23 @@ def getWorkflowVersion() { def dumpParametersToJSON(outdir) { def timestamp = new java.util.Date().format('yyyy-MM-dd_HH-mm-ss') def filename = "params_${timestamp}.json" - def temp_pf = new File(workflow.launchDir.toString(), ".${filename}") - def jsonStr = groovy.json.JsonOutput.toJson(params) + def temp_pf = workflow.launchDir.resolve(".${filename}") + def jsonGenerator = new groovy.json.JsonGenerator.Options() + .excludeNulls() + .addConverter(Path) { Path path -> path.toUriString() } + .addConverter(Duration) { Duration duration -> duration.toMillis() } + .addConverter(MemoryUnit) { MemoryUnit memory -> memory.toBytes() } + .addConverter(nextflow.script.types.VersionNumber) { nextflow.script.types.VersionNumber version -> version.toString() } + .build() + def jsonStr = jsonGenerator.toJson(params) temp_pf.text = groovy.json.JsonOutput.prettyPrint(jsonStr) - - nextflow.extension.FilesEx.copyTo(temp_pf.toPath(), "${outdir}/pipeline_info/params_${timestamp}.json") + if (outdir instanceof Path) { + temp_pf.copyTo(outdir.resolve("pipeline_info/${filename}")) + } else if (outdir instanceof String) { + temp_pf.copyTo("${outdir}/pipeline_info/params_${timestamp}.json") + } else { + log.warn("Could not determine type of outdir, parameters JSON file will not be copied to output directory!") + } temp_pf.delete() } diff --git a/subworkflows/nf-core/utils_nfcore_pipeline/main.nf b/subworkflows/nf-core/utils_nfcore_pipeline/main.nf index 2f30e9a4..afca5439 100644 --- a/subworkflows/nf-core/utils_nfcore_pipeline/main.nf +++ b/subworkflows/nf-core/utils_nfcore_pipeline/main.nf @@ -17,7 +17,7 @@ workflow UTILS_NFCORE_PIPELINE { checkProfileProvided(nextflow_cli_args) emit: - valid_config + valid_config = valid_config } /* @@ -353,67 +353,3 @@ def completionSummary(monochrome_logs=true) { log.info("-${colors.purple}[${workflow.manifest.name}]${colors.red} Pipeline completed with errors${colors.reset}-") } } - -// -// Construct and send a notification to a web server as JSON e.g. Microsoft Teams and Slack -// -def imNotification(summary_params, hook_url) { - def summary = [:] - summary_params - .keySet() - .sort() - .each { group -> - summary << summary_params[group] - } - - def misc_fields = [:] - misc_fields['start'] = workflow.start - misc_fields['complete'] = workflow.complete - misc_fields['scriptfile'] = workflow.scriptFile - misc_fields['scriptid'] = workflow.scriptId - if (workflow.repository) { - misc_fields['repository'] = workflow.repository - } - if (workflow.commitId) { - misc_fields['commitid'] = workflow.commitId - } - if (workflow.revision) { - misc_fields['revision'] = workflow.revision - } - misc_fields['nxf_version'] = workflow.nextflow.version - misc_fields['nxf_build'] = workflow.nextflow.build - misc_fields['nxf_timestamp'] = workflow.nextflow.timestamp - - def msg_fields = [:] - msg_fields['version'] = getWorkflowVersion() - msg_fields['runName'] = workflow.runName - msg_fields['success'] = workflow.success - msg_fields['dateComplete'] = workflow.complete - msg_fields['duration'] = workflow.duration - msg_fields['exitStatus'] = workflow.exitStatus - msg_fields['errorMessage'] = (workflow.errorMessage ?: 'None') - msg_fields['errorReport'] = (workflow.errorReport ?: 'None') - msg_fields['commandLine'] = workflow.commandLine.replaceFirst(/ +--hook_url +[^ ]+/, "") - msg_fields['projectDir'] = workflow.projectDir - msg_fields['summary'] = summary << misc_fields - - // Render the JSON template - def engine = new groovy.text.GStringTemplateEngine() - // Different JSON depending on the service provider - // Defaults to "Adaptive Cards" (https://adaptivecards.io), except Slack which has its own format - def json_path = hook_url.contains("hooks.slack.com") ? "slackreport.json" : "adaptivecard.json" - def hf = new File("${workflow.projectDir}/assets/${json_path}") - def json_template = engine.createTemplate(hf).make(msg_fields) - def json_message = json_template.toString() - - // POST - def post = new URL(hook_url).openConnection() - post.setRequestMethod("POST") - post.setDoOutput(true) - post.setRequestProperty("Content-Type", "application/json") - post.getOutputStream().write(json_message.getBytes("UTF-8")) - def postRC = post.getResponseCode() - if (!postRC.equals(200)) { - log.warn(post.getErrorStream().getText()) - } -} diff --git a/subworkflows/nf-core/utils_nfcore_pipeline/tests/main.nf.test b/subworkflows/nf-core/utils_nfcore_pipeline/tests/main.nf.test new file mode 100644 index 00000000..8940d32d --- /dev/null +++ b/subworkflows/nf-core/utils_nfcore_pipeline/tests/main.nf.test @@ -0,0 +1,29 @@ +nextflow_workflow { + + name "Test Workflow UTILS_NFCORE_PIPELINE" + script "../main.nf" + config "subworkflows/nf-core/utils_nfcore_pipeline/tests/nextflow.config" + workflow "UTILS_NFCORE_PIPELINE" + tag "subworkflows" + tag "subworkflows_nfcore" + tag "utils_nfcore_pipeline" + tag "subworkflows/utils_nfcore_pipeline" + + test("Should run without failures") { + + when { + workflow { + """ + input[0] = [] + """ + } + } + + then { + assertAll( + { assert workflow.success }, + { assert snapshot(workflow.out).match() } + ) + } + } +} diff --git a/subworkflows/nf-core/utils_nfcore_pipeline/tests/main.nf.test.snap b/subworkflows/nf-core/utils_nfcore_pipeline/tests/main.nf.test.snap new file mode 100644 index 00000000..859d1030 --- /dev/null +++ b/subworkflows/nf-core/utils_nfcore_pipeline/tests/main.nf.test.snap @@ -0,0 +1,19 @@ +{ + "Should run without failures": { + "content": [ + { + "0": [ + true + ], + "valid_config": [ + true + ] + } + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-28T12:03:25.726491" + } +} \ No newline at end of file diff --git a/subworkflows/nf-core/utils_nfschema_plugin/main.nf b/subworkflows/nf-core/utils_nfschema_plugin/main.nf index ee4738c8..9ff0681f 100644 --- a/subworkflows/nf-core/utils_nfschema_plugin/main.nf +++ b/subworkflows/nf-core/utils_nfschema_plugin/main.nf @@ -22,6 +22,7 @@ workflow UTILS_NFSCHEMA_PLUGIN { before_text // string: text to show before the help message and parameters summary after_text // string: text to show after the help message and parameters summary command // string: an example command of the pipeline + cli_typecast // boolean: whether to perform typecasting of CLI parameters. Set this to `null` to use the default behaviour main: @@ -34,11 +35,11 @@ workflow UTILS_NFSCHEMA_PLUGIN { fullHelp: help_full, ] if(parameters_schema) { - help_options << [parametersSchema: parameters_schema] + help_options << [parameters_schema: parameters_schema] } log.info paramsHelp( help_options, - params.help instanceof String ? params.help : "", + (help instanceof String && help != "true") ? help : "", ) exit 0 } @@ -50,7 +51,7 @@ workflow UTILS_NFSCHEMA_PLUGIN { summary_options = [:] if(parameters_schema) { - summary_options << [parametersSchema: parameters_schema] + summary_options << [parameters_schema: parameters_schema] } log.info before_text log.info paramsSummaryLog(summary_options, input_workflow) @@ -63,7 +64,10 @@ workflow UTILS_NFSCHEMA_PLUGIN { if(validate_params) { validateOptions = [:] if(parameters_schema) { - validateOptions << [parametersSchema: parameters_schema] + validateOptions << [parameters_schema: parameters_schema] + } + if(cli_typecast != null) { + validateOptions << [cast_cli_params: cli_typecast] } validateParameters(validateOptions) } @@ -71,4 +75,3 @@ workflow UTILS_NFSCHEMA_PLUGIN { emit: dummy_emit = true } - diff --git a/subworkflows/nf-core/utils_nfschema_plugin/meta.yml b/subworkflows/nf-core/utils_nfschema_plugin/meta.yml index f7d9f028..1d8c75a9 100644 --- a/subworkflows/nf-core/utils_nfschema_plugin/meta.yml +++ b/subworkflows/nf-core/utils_nfschema_plugin/meta.yml @@ -25,6 +25,30 @@ input: option. When this input is empty it will automatically use the configured schema or "${projectDir}/nextflow_schema.json" as default. The schema should not be given in this way for meta pipelines. + - help: + type: boolean, string + description: | + Show the help message and exit. When a parameter name is given, show the help message for that parameter instead of the general help message. + - help_full: + type: boolean + description: Show the full help message and exit. + - show_hidden: + type: boolean + description: Show hidden parameters in the help message. + - before_text: + type: string + description: Text to show before the parameters summary and help message. + - after_text: + type: string + description: Text to show after the parameters summary and help message. + - command: + type: string + description: An example command to run the pipeline, to show in the help message and the summary. + - cli_typecast: + type: boolean + description: | + Whether to apply typecasting to the parameters given via the CLI before validation. + Set this to `null` to use the default behavior. output: - dummy_emit: type: boolean diff --git a/subworkflows/nf-core/utils_nfschema_plugin/tests/main.nf.test b/subworkflows/nf-core/utils_nfschema_plugin/tests/main.nf.test index c977917a..1fd1eac1 100644 --- a/subworkflows/nf-core/utils_nfschema_plugin/tests/main.nf.test +++ b/subworkflows/nf-core/utils_nfschema_plugin/tests/main.nf.test @@ -31,6 +31,7 @@ nextflow_workflow { input[6] = "" input[7] = "" input[8] = "" + input[9] = null """ } } @@ -63,6 +64,7 @@ nextflow_workflow { input[6] = "" input[7] = "" input[8] = "" + input[9] = null """ } } @@ -95,6 +97,7 @@ nextflow_workflow { input[6] = "" input[7] = "" input[8] = "" + input[9] = null """ } } @@ -127,6 +130,7 @@ nextflow_workflow { input[6] = "" input[7] = "" input[8] = "" + input[9] = null """ } } @@ -160,6 +164,7 @@ nextflow_workflow { input[6] = "Before" input[7] = "After" input[8] = "nextflow run test/test" + input[9] = null """ } } diff --git a/subworkflows/nf-core/utils_nfschema_plugin/tests/nextflow.config b/subworkflows/nf-core/utils_nfschema_plugin/tests/nextflow.config index 8d8c7371..fd71cb8f 100644 --- a/subworkflows/nf-core/utils_nfschema_plugin/tests/nextflow.config +++ b/subworkflows/nf-core/utils_nfschema_plugin/tests/nextflow.config @@ -1,5 +1,5 @@ plugins { - id "nf-schema@2.5.1" + id "nf-schema@2.7.2" } validation { diff --git a/subworkflows/nf-core/vcf_annotate_ensemblvep/main.nf b/subworkflows/nf-core/vcf_annotate_ensemblvep/main.nf new file mode 100644 index 00000000..577147b8 --- /dev/null +++ b/subworkflows/nf-core/vcf_annotate_ensemblvep/main.nf @@ -0,0 +1,35 @@ +// +// Run VEP to annotate VCF files +// + +include { ENSEMBLVEP_VEP } from '../../../modules/nf-core/ensemblvep/vep' + +workflow VCF_ANNOTATE_ENSEMBLVEP { + take: + ch_vcf // channel: [ val(meta), path(vcf), [path(custom_file1), path(custom_file2)... (optional)]] + ch_fasta // channel: [ val(meta2), path(fasta) ] (optional) + val_genome // value: genome to use + val_species // value: species to use + val_cache_version // value: cache version to use + ch_cache // channel: [ val(meta3), path(cache) ] (optional) + ch_extra_files // channel: [ path(file1), path(file2)... ] (optional) + + main: + ENSEMBLVEP_VEP( + ch_vcf, + val_genome, + val_species, + val_cache_version, + ch_cache, + ch_fasta, + ch_extra_files, + ) + + ch_vcf_tbi = ENSEMBLVEP_VEP.out.vcf.join(ENSEMBLVEP_VEP.out.tbi, failOnDuplicate: true, failOnMismatch: true) + + emit: + vcf_tbi = ch_vcf_tbi // channel: [ val(meta), path(vcf), path(tbi) ] + json = ENSEMBLVEP_VEP.out.json // channel: [ val(meta), path(json) ] + tab = ENSEMBLVEP_VEP.out.tab // channel: [ val(meta), path(tab) ] + reports = ENSEMBLVEP_VEP.out.report // channel: [ path(html) ] +} diff --git a/subworkflows/nf-core/vcf_annotate_ensemblvep/meta.yml b/subworkflows/nf-core/vcf_annotate_ensemblvep/meta.yml new file mode 100644 index 00000000..12677c68 --- /dev/null +++ b/subworkflows/nf-core/vcf_annotate_ensemblvep/meta.yml @@ -0,0 +1,65 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/subworkflows/yaml-schema.json +name: vcf_annotate_ensemblvep +description: Perform annotation with ensemblvep and bgzip + tabix index the resulting VCF file +keywords: + - vcf + - annotation + - ensemblvep +components: + - ensemblvep/vep + - tabix/tabix +input: + - ch_vcf: + description: | + vcf file to annotate + Structure: [ val(meta), path(vcf), [path(custom_file1), path(custom_file2)... (optional)] ] + - ch_fasta: + description: | + Reference genome fasta file (optional) + Structure: [ val(meta2), path(fasta) ] + - val_genome: + type: string + description: genome to use + - val_species: + type: string + description: species to use + - val_cache_version: + type: integer + description: cache version to use + - ch_cache: + description: | + the root cache folder for ensemblvep (optional) + Structure: [ val(meta3), path(cache) ] + - ch_extra_files: + description: | + any extra files needed by plugins for ensemblvep (optional) + Structure: [ path(file1), path(file2)... ] +output: + - vcf_tbi: + description: | + Compressed vcf file + tabix index + Structure: [ val(meta), path(vcf), path(tbi) ] + - json: + description: | + json file + Structure: [ val(meta), path(json) ] + - tab: + description: | + tab file + Structure: [ val(meta), path(tab) ] + - reports: + type: file + description: html reports + pattern: "*.html" + - versions: + type: file + description: File containing software versions + pattern: "versions.yml" +authors: + - "@maxulysse" + - "@matthdsm" + - "@nvnieuwk" +maintainers: + - "@maxulysse" + - "@matthdsm" + - "@nvnieuwk" diff --git a/subworkflows/nf-core/vcf_annotate_ensemblvep/tests/main.nf.test b/subworkflows/nf-core/vcf_annotate_ensemblvep/tests/main.nf.test new file mode 100644 index 00000000..17f402d4 --- /dev/null +++ b/subworkflows/nf-core/vcf_annotate_ensemblvep/tests/main.nf.test @@ -0,0 +1,89 @@ +nextflow_workflow { + + name "Test Subworkflow VCF_ANNOTATE_ENSEMBLVEP" + script "../main.nf" + workflow "VCF_ANNOTATE_ENSEMBLVEP" + + tag "subworkflows" + tag "subworkflows_nfcore" + tag "subworkflows/vcf_annotate_ensemblvep" + tag "ensemblvep/vep" + + config "./nextflow.config" + + test("WBcel235 caenorhabditis_elegans 115 - test.vcf.gz") { + + when { + workflow { + """ + vep_cache = channel.of([ + [ id:'115_WBcel235' ], + file('s3://annotation-cache/vep_cache/115_WBcel235/') + ]).collect() + + input[0] = channel.of([ + [ id:'test'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test.vcf.gz', checkIfExists: true), + [] + ]) + input[1] = [[id:'null'],[]] + input[2] = "WBcel235" + input[3] = "caenorhabditis_elegans" + input[4] = "115" + input[5] = vep_cache + input[6] = [] + """ + } + } + + then { + assert workflow.success + assertAll( + { assert snapshot( + // Not capturing the content of the VCF files as vep produce an empty VCF for this test + // Which is kinda expected as vep annotates a sarscov2 vcf with WBcel235 + workflow.out.vcf_tbi.collect { [it[0], file(it[1]).name, file(it[2]).name] }, + workflow.out.reports.collect { it.collect {it instanceof String ? file(it).name : it }} + ).match() } + ) + } + } + + test("WBcel235 caenorhabditis_elegans 115 - test.vcf.gz - stub") { + + options "-stub" + + when { + workflow { + """ + vep_cache = channel.of([ + [ id:'115_WBcel235' ], + file("${projectDir}") + ]).collect() + + input[0] = channel.of([ + [ id:'test'], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test.vcf.gz', checkIfExists: true), + [] + ]) + input[1] = [[id:'null'],[]] + input[2] = "WBcel235" + input[3] = "caenorhabditis_elegans" + input[4] = "115" + input[5] = vep_cache + input[6] = [] + """ + } + } + + then { + assert workflow.success + assertAll( + { assert snapshot( + workflow.out.reports, + workflow.out.vcf_tbi + ).match() } + ) + } + } +} diff --git a/subworkflows/nf-core/vcf_annotate_ensemblvep/tests/main.nf.test.snap b/subworkflows/nf-core/vcf_annotate_ensemblvep/tests/main.nf.test.snap new file mode 100644 index 00000000..06d92bf5 --- /dev/null +++ b/subworkflows/nf-core/vcf_annotate_ensemblvep/tests/main.nf.test.snap @@ -0,0 +1,58 @@ +{ + "WBcel235 caenorhabditis_elegans 115 - test.vcf.gz": { + "content": [ + [ + [ + { + "id": "test" + }, + "test.vep.vcf.gz", + "test.vep.vcf.gz.tbi" + ] + ], + [ + [ + { + "id": "test" + }, + "VCF_ANNOTATE_ENSEMBLVEP:ENSEMBLVEP_VEP", + "ensemblvep", + "test.vep.vcf.gz_summary.html" + ] + ] + ], + "timestamp": "2026-01-20T10:44:55.042159577", + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + } + }, + "WBcel235 caenorhabditis_elegans 115 - test.vcf.gz - stub": { + "content": [ + [ + [ + { + "id": "test" + }, + "VCF_ANNOTATE_ENSEMBLVEP:ENSEMBLVEP_VEP", + "ensemblvep", + "test.vep_summary.html:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + [ + [ + { + "id": "test" + }, + "test.vep.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test.vep.vcf.gz.tbi:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "timestamp": "2026-01-20T10:45:05.801478657", + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.2" + } + } +} \ No newline at end of file diff --git a/subworkflows/nf-core/vcf_annotate_ensemblvep/tests/nextflow.config b/subworkflows/nf-core/vcf_annotate_ensemblvep/tests/nextflow.config new file mode 100644 index 00000000..e507f9f5 --- /dev/null +++ b/subworkflows/nf-core/vcf_annotate_ensemblvep/tests/nextflow.config @@ -0,0 +1,8 @@ +process { + withName: ENSEMBLVEP_VEP { + ext.prefix = { "${meta.id}.vep" } + ext.args = {[ + "--vcf --offline" + ].join(" ")} + } +} diff --git a/tests/.nftignore b/tests/.nftignore index e128a128..b82e8717 100644 --- a/tests/.nftignore +++ b/tests/.nftignore @@ -1,12 +1,21 @@ .DS_Store -multiqc/multiqc_data/fastqc_top_overrepresented_sequences_table.txt -multiqc/multiqc_data/multiqc.parquet -multiqc/multiqc_data/multiqc.log -multiqc/multiqc_data/multiqc_data.json -multiqc/multiqc_data/multiqc_sources.txt -multiqc/multiqc_data/multiqc_software_versions.txt -multiqc/multiqc_data/llms-full.txt -multiqc/multiqc_plots/{svg,pdf,png}/*.{svg,pdf,png} -multiqc/multiqc_report.html -fastqc/*_fastqc.{html,zip} pipeline_info/*.{html,json,txt,yml} +csv/*.csv +preprocessing/*/*/*.cram +preprocessing/*/*/*.cram.crai +reports/fastp/*/*.fastp.html +reports/fastp/*/*.fastp.json +reports/fastp/*/*.fastp.log +reports/fastqc/*/*.html +reports/fastqc/*/*.zip +reports/markduplicates/*/*.cram.metrics +reports/multiqc_data/* +reports/multiqc_plots/svg/*.svg +reports/multiqc_plots/pdf/*.pdf +reports/multiqc_plots/png/*.png +reports/multiqc_report.html +reports/samtools/**/*.idxstats +reports/samtools/**/*.stats +samtools/*.flagstat +variant_calling/strelka/*/*.strelka.variants.vcf.gz +variant_calling/strelka/*/*.strelka.variants.vcf.gz.tbi diff --git a/tests/config/pytest_software.yml b/tests/config/pytest_software.yml new file mode 100644 index 00000000..b215cffc --- /dev/null +++ b/tests/config/pytest_software.yml @@ -0,0 +1,4 @@ +markduplicates: + - modules/nf-core/software/gatk4/markduplicates/main.nf + - subworkflow/local/markduplicates.nf + - tests/subworkflow/local/markduplicates/** diff --git a/tests/config/test_data.config b/tests/config/test_data.config new file mode 100644 index 00000000..665947a5 --- /dev/null +++ b/tests/config/test_data.config @@ -0,0 +1,15 @@ +def test_data_dir = "${launchDir}/tests/data/" +def nf_core_modules_data = "https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/" + +try { + includeConfig "https://raw.githubusercontent.com/nf-core/modules/master/tests/config/test_data.config" +} catch (Exception e) { + System.err.println("WARNING: Could not load nf-core/modules test data config") +} + +params { + test_data { + 'external' { + } + } +} diff --git a/tests/consensus_restart.nf.test b/tests/consensus_restart.nf.test new file mode 100644 index 00000000..6bac18b9 --- /dev/null +++ b/tests/consensus_restart.nf.test @@ -0,0 +1,36 @@ +nextflow_pipeline { + + name "Test pipeline restart from consensus" + script "../main.nf" + tag "pipeline" + tag "pipeline_restart" + tag "consensus" + + config "conf/test.config" + + test("Run only consensus from MAF input") { + + when { + params { + input = "${projectDir}/tests/csv/maf_consensus_pair.csv" + step = "consensus" + tools = "consensus" + outdir = "$outputDir" + skip_tools = "multiqc" + } + } + + then { + def consensus_maf = file("${params.outdir}/consensus/consensus/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.consensus.maf") + + assertAll( + { assert workflow.success }, + { assert consensus_maf.exists() }, + { assert snapshot( + removeFromYamlMap("${params.outdir}/pipeline_info/nf_core_rnadnavar_software_mqc_versions.yml", "Workflow"), + getAllFilesFromDir(params.outdir, relative: true, includeDir: true, ignore: ['pipeline_info/*.{html,json,txt}', 'reports/samtools/**', 'reports/multiqc_data/**', 'reports/multiqc_plots/**', 'reports/multiqc_report.html']) + ).match() } + ) + } + } +} diff --git a/tests/consensus_restart.nf.test.snap b/tests/consensus_restart.nf.test.snap new file mode 100644 index 00000000..abb65715 --- /dev/null +++ b/tests/consensus_restart.nf.test.snap @@ -0,0 +1,34 @@ +{ + "Run only consensus from MAF input": { + "content": [ + { + "GATK4_CREATESEQUENCEDICTIONARY": { + "gatk4": "4.6.2.0" + }, + "SAMTOOLS_FAIDX": { + "samtools": "1.23.1" + } + }, + [ + "consensus", + "consensus/consensus", + "consensus/consensus/TCRBOA7-T-RNA_vs_TCRBOA7-N", + "consensus/consensus/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.consensus.maf", + "consensus/consensus/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.consensus_realign.maf", + "consensus/consensus/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.consensus_unknown.maf", + "csv", + "csv/consensus.csv", + "pipeline_info", + "pipeline_info/nf_core_rnadnavar_software_mqc_versions.yml", + "reports", + "reports/consensus", + "reports/consensus/TCRBOA7-T-RNA_vs_TCRBOA7-N.consensus.pdf" + ] + ], + "timestamp": "2026-06-25T13:32:53.406081", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } + } +} \ No newline at end of file diff --git a/tests/csv/cram_trbc_recal_complex.csv b/tests/csv/cram_trbc_recal_complex.csv new file mode 100644 index 00000000..d6e8738b --- /dev/null +++ b/tests/csv/cram_trbc_recal_complex.csv @@ -0,0 +1,14 @@ +patient,status,sample,cram,crai +TCRBOA7A,0,TCRBOA7A-N,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/cram/TCRBOA7-N.chr7.recal.cram,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/cram/TCRBOA7-N.chr7.recal.cram.crai +TCRBOA7A,1,TCRBOA7A-T,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/cram/TCRBOA7-T.chr7.recal.cram,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/cram/TCRBOA7-T.chr7.recal.cram.crai +TCRBOA7A,2,TCRBOA7A-T-RNA,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/cram/TCRBOA7-T-RNA.chr7.recal.cram,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/cram/TCRBOA7-T-RNA.chr7.recal.cram.crai +TCRBOA7B,0,TCRBOA7B-N,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/cram/TCRBOA7-N.chr7.recal.cram,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/cram/TCRBOA7-N.chr7.recal.cram.crai +TCRBOA7B,1,TCRBOA7B-T,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/cram/TCRBOA7-T.chr7.recal.cram,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/cram/TCRBOA7-T.chr7.recal.cram.crai +TCRBOA7B,2,TCRBOA7B-T-RNA,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/cram/TCRBOA7-T-RNA.chr7.recal.cram,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/cram/TCRBOA7-T-RNA.chr7.recal.cram.crai +TCRBOA7C,0,TCRBOA7C-N,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/cram/TCRBOA7-N.chr7.recal.cram,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/cram/TCRBOA7-N.chr7.recal.cram.crai +TCRBOA7C,1,TCRBOA7C-T,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/cram/TCRBOA7-T.chr7.recal.cram,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/cram/TCRBOA7-T.chr7.recal.cram.crai +TCRBOA7C,2,TCRBOA7C-T-RNA,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/cram/TCRBOA7-T-RNA.chr7.recal.cram,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/cram/TCRBOA7-T-RNA.chr7.recal.cram.crai +TCRBOA7D,0,TCRBOA7D-N,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/cram/TCRBOA7-N.chr7.recal.cram,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/cram/TCRBOA7-N.chr7.recal.cram.crai +TCRBOA7D,1,TCRBOA7D-T,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/cram/TCRBOA7-T.chr7.recal.cram,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/cram/TCRBOA7-T.chr7.recal.cram.crai +TCRBOA7D,2,TCRBOA7D-T-RNA,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/cram/TCRBOA7-T-RNA.chr7.recal.cram,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/cram/TCRBOA7-T-RNA.chr7.recal.cram.crai +TCRBOA7D,2,TCRBOA7D-T2-RNA,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/cram/TCRBOA7-T-RNA.chr7.recal.cram,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/cram/TCRBOA7-T-RNA.chr7.recal.cram.crai diff --git a/tests/csv/fastq_pair.csv b/tests/csv/fastq_pair.csv new file mode 100644 index 00000000..ef359ce8 --- /dev/null +++ b/tests/csv/fastq_pair.csv @@ -0,0 +1,3 @@ +patient,status,sample,lane,fastq_1,fastq_2 +test,0,test,test_L1,https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/genomics/homo_sapiens/illumina/fastq/test_1.fastq.gz,https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/genomics/homo_sapiens/illumina/fastq/test_2.fastq.gz +test,1,test2,test_L1,https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/genomics/homo_sapiens/illumina/fastq/test2_1.fastq.gz,https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/genomics/homo_sapiens/illumina/fastq/test2_2.fastq.gz diff --git a/tests/csv/fastq_single.csv b/tests/csv/fastq_single.csv new file mode 100644 index 00000000..c89bab1b --- /dev/null +++ b/tests/csv/fastq_single.csv @@ -0,0 +1,3 @@ +patient,sex,status,sample,lane,fastq_1,fastq_2 +test,XX,0,test,test_L1,https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/genomics/homo_sapiens/illumina/fastq/test_1.fastq.gz,https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/genomics/homo_sapiens/illumina/fastq/test_2.fastq.gz +test,XX,0,test,test_L2,https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/genomics/homo_sapiens/illumina/fastq/test_1.fastq.gz,https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/genomics/homo_sapiens/illumina/fastq/test_2.fastq.gz diff --git a/tests/csv/fastq_trbc_complex.csv b/tests/csv/fastq_trbc_complex.csv new file mode 100644 index 00000000..68495568 --- /dev/null +++ b/tests/csv/fastq_trbc_complex.csv @@ -0,0 +1,17 @@ +patient,status,sample,lane,fastq_1,fastq_2 +TCRBOA7A,0,TCRBOA7A-N,LX,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/fastq/TCRBOA7-N-WEX.read1.250000.fastq.gz,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/fastq/TCRBOA7-N-WEX.read2.250000.fastq.gz +TCRBOA7A,1,TCRBOA7A-T,LX,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/fastq/TCRBOA7-T-WEX.read1.250000.fastq.gz,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/fastq/TCRBOA7-T-WEX.read2.250000.fastq.gz +TCRBOA7A,2,TCRBOA7A-T-RNA,LX,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/fastq/TCRBOA7-T-RNA.read1.250000.fastq.gz,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/fastq/TCRBOA7-T-RNA.read2.250000.fastq.gz +TCRBOA7A,2,TCRBOA7A-T2-RNA,LX,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/fastq/TCRBOA7-T-RNA.read1.250000.fastq.gz,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/fastq/TCRBOA7-T-RNA.read2.250000.fastq.gz +TCRBOA7B,0,TCRBOA7B-N,LX,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/fastq/TCRBOA7-N-WEX.read1.250000.fastq.gz,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/fastq/TCRBOA7-N-WEX.read2.250000.fastq.gz +TCRBOA7B,1,TCRBOA7B-T,LX,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/fastq/TCRBOA7-T-WEX.read1.250000.fastq.gz,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/fastq/TCRBOA7-T-WEX.read2.250000.fastq.gz +TCRBOA7B,2,TCRBOA7B-T-RNA,LX,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/fastq/TCRBOA7-T-RNA.read1.250000.fastq.gz,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/fastq/TCRBOA7-T-RNA.read2.250000.fastq.gz +TCRBOA7B,2,TCRBOA7B-T2-RNA,LX,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/fastq/TCRBOA7-T-RNA.read1.250000.fastq.gz,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/fastq/TCRBOA7-T-RNA.read2.250000.fastq.gz +TCRBOA7C,0,TCRBOA7C-N,LX,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/fastq/TCRBOA7-N-WEX.read1.250000.fastq.gz,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/fastq/TCRBOA7-N-WEX.read2.250000.fastq.gz +TCRBOA7C,1,TCRBOA7C-T,LX,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/fastq/TCRBOA7-T-WEX.read1.250000.fastq.gz,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/fastq/TCRBOA7-T-WEX.read2.250000.fastq.gz +TCRBOA7C,2,TCRBOA7C-T-RNA,LX,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/fastq/TCRBOA7-T-RNA.read1.250000.fastq.gz,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/fastq/TCRBOA7-T-RNA.read2.250000.fastq.gz +TCRBOA7C,2,TCRBOA7C-T2-RNA,LX,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/fastq/TCRBOA7-T-RNA.read1.250000.fastq.gz,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/fastq/TCRBOA7-T-RNA.read2.250000.fastq.gz +TCRBOA7D,0,TCRBOA7D-N,LX,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/fastq/TCRBOA7-N-WEX.read1.250000.fastq.gz,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/fastq/TCRBOA7-N-WEX.read2.250000.fastq.gz +TCRBOA7D,1,TCRBOAD7-T,LX,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/fastq/TCRBOA7-T-WEX.read1.250000.fastq.gz,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/fastq/TCRBOA7-T-WEX.read2.250000.fastq.gz +TCRBOA7D,2,TCRBOA7D-T-RNA,LX,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/fastq/TCRBOA7-T-RNA.read1.250000.fastq.gz,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/fastq/TCRBOA7-T-RNA.read2.250000.fastq.gz +TCRBOA7D,2,TCRBOA7D-T2-RNA,LX,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/fastq/TCRBOA7-T-RNA.read1.250000.fastq.gz,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/fastq/TCRBOA7-T-RNA.read2.250000.fastq.gz diff --git a/tests/csv/fastq_triplet.csv b/tests/csv/fastq_triplet.csv new file mode 100644 index 00000000..efac6102 --- /dev/null +++ b/tests/csv/fastq_triplet.csv @@ -0,0 +1,4 @@ +patient,status,sample,lane,fastq_1,fastq_2 +TCRBOA7,0,TCRBOA7-N,LX,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/fastq/TCRBOA7-N-WEX.read1.250000.fastq.gz,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/fastq/TCRBOA7-N-WEX.read2.250000.fastq.gz +TCRBOA7,1,TCRBOA7-T,LX,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/fastq/TCRBOA7-T-WEX.read1.250000.fastq.gz,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/fastq/TCRBOA7-T-WEX.read2.250000.fastq.gz +TCRBOA7,2,TCRBOA7-T-RNA,LX,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/fastq/TCRBOA7-T-RNA.read1.250000.fastq.gz,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/fastq/TCRBOA7-T-RNA.read2.250000.fastq.gz diff --git a/tests/csv/maf_consensus_pair.csv b/tests/csv/maf_consensus_pair.csv new file mode 100644 index 00000000..138e3f36 --- /dev/null +++ b/tests/csv/maf_consensus_pair.csv @@ -0,0 +1,3 @@ +patient,status,sample,variantcaller,maf +TCRBOA7,2,TCRBOA7-T-RNA_vs_TCRBOA7-N,consensus,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/maf/TCRBOA7-T-RNA.maf +TCRBOA7,2,TCRBOA7-T-RNA_vs_TCRBOA7-N,consensus_realign,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/maf/TCRBOA7-T-RNA_realign.maf diff --git a/tests/csv/maf_rna_realign_pair.csv b/tests/csv/maf_rna_realign_pair.csv new file mode 100644 index 00000000..fcb67da3 --- /dev/null +++ b/tests/csv/maf_rna_realign_pair.csv @@ -0,0 +1,3 @@ +patient,status,sample,normal_id,maf +TCRBOA7,2,TCRBOA7-T-RNA,TCRBOA7-N,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/maf/TCRBOA7-T-RNA.maf +TCRBOA7,2,TCRBOA7-T-RNA_realign,TCRBOA7-N,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/maf/TCRBOA7-T-RNA_realign.maf diff --git a/tests/csv/maf_rna_single.csv b/tests/csv/maf_rna_single.csv new file mode 100644 index 00000000..6e39482b --- /dev/null +++ b/tests/csv/maf_rna_single.csv @@ -0,0 +1,2 @@ +patient,status,sample,maf +TCRBOA7,2,TCRBOA7-T-RNA,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/maf/TCRBOA7-T-RNA.maf diff --git a/tests/csv/trbc_recalibrated.csv b/tests/csv/trbc_recalibrated.csv new file mode 100644 index 00000000..852e0718 --- /dev/null +++ b/tests/csv/trbc_recalibrated.csv @@ -0,0 +1,4 @@ +patient,status,sample,cram,crai +TCRBOA7,0,TCRBOA7-N,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/cram/TCRBOA7-N.chr7.recal.cram,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/cram/TCRBOA7-N.chr7.recal.cram.crai +TCRBOA7,1,TCRBOA7-T,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/cram/TCRBOA7-T.chr7.recal.cram,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/cram/TCRBOA7-T.chr7.recal.cram.crai +TCRBOA7,2,TCRBOA7-T-RNA,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/cram/TCRBOA7-T-RNA.chr7.recal.cram,https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/data/tcrb/cram/TCRBOA7-T-RNA.chr7.recal.cram.crai diff --git a/tests/csv/vcf_single.csv b/tests/csv/vcf_single.csv new file mode 100644 index 00000000..601e72f6 --- /dev/null +++ b/tests/csv/vcf_single.csv @@ -0,0 +1,2 @@ +patient,sample,vcf +test,test,https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/genomics/sarscov2/illumina/vcf/test.vcf.gz diff --git a/tests/default.nf.test b/tests/default.nf.test index afd4d83e..deaf8c86 100644 --- a/tests/default.nf.test +++ b/tests/default.nf.test @@ -4,6 +4,8 @@ nextflow_pipeline { script "../main.nf" tag "pipeline" + config "conf/test.config" + test("-profile test") { when { @@ -13,19 +15,21 @@ nextflow_pipeline { } then { - // stable_name: All files + folders in ${params.outdir}/ with a stable name - def stable_name = getAllFilesFromDir(params.outdir, relative: true, includeDir: true, ignore: ['pipeline_info/*.{html,json,txt}']) - // stable_path: All files in ${params.outdir}/ with stable content - def stable_path = getAllFilesFromDir(params.outdir, ignoreFile: 'tests/.nftignore') + // stable_path: All files + folders in ${params.outdir}/ with a stable path (including file name) + def stable_path = getAllFilesFromDir(params.outdir, relative: true, includeDir: true, ignore: ['pipeline_info/*.{html,json,txt}', 'reports/samtools/**', 'reports/multiqc_data/**', 'reports/multiqc_plots/**', 'reports/multiqc_report.html']) + // stable_content: All files in ${params.outdir}/ with stable content + def stable_content = getAllFilesFromDir(params.outdir, ignore: ['reports/samtools/**'], ignoreFile: 'tests/.nftignore') + assert workflow.success assertAll( - { assert workflow.success}, + { assert workflow.success }, + // Samtools report publication is currently nondeterministic so it is excluded { assert snapshot( // pipeline versions.yml file for multiqc from which Nextflow version is removed because we test pipelines on multiple Nextflow versions - removeNextflowVersion("$outputDir/pipeline_info/nf_core_rnadnavar_software_mqc_versions.yml"), + removeFromYamlMap("${params.outdir}/pipeline_info/nf_core_rnadnavar_software_mqc_versions.yml", "Workflow"), // All stable path name, with a relative path - stable_name, + stable_path, // All files with stable contents - stable_path + stable_content ).match() } ) } diff --git a/tests/default.nf.test.snap b/tests/default.nf.test.snap new file mode 100644 index 00000000..49ea1418 --- /dev/null +++ b/tests/default.nf.test.snap @@ -0,0 +1,271 @@ +{ + "-profile test": { + "content": [ + { + "BCFTOOLS_STATS": { + "bcftools": "1.23.1" + }, + "BWAMEM1_INDEX": { + "bwa": "0.7.19-r1273" + }, + "BWAMEM1_MEM": { + "bwa": "0.7.19-r1273", + "samtools": "1.22.1" + }, + "FASTP": { + "fastp": "1.1.0" + }, + "FASTQC": { + "fastqc": "0.12.1" + }, + "FILTERING": { + "python": "3.9.13" + }, + "GATK4_APPLYBQSR": { + "gatk4": "4.6.2.0" + }, + "GATK4_BASERECALIBRATOR": { + "gatk4": "4.6.2.0" + }, + "GATK4_CREATESEQUENCEDICTIONARY": { + "gatk4": "4.6.2.0" + }, + "GATK4_MARKDUPLICATES": { + "gatk4": "4.6.2.0", + "samtools": 1.21 + }, + "GATK4_SPLITNCIGARREADS": { + "gatk4": "4.6.2.0", + "samtools": 1.21 + }, + "GUNZIP_VCF2MAF": { + "gunzip": 1.13 + }, + "INDEX_CRAM": { + "samtools": "1.23.1" + }, + "MERGE_STRELKA": { + "gatk4": "4.6.2.0" + }, + "MOSDEPTH": { + "gzip": 1.14, + "mosdepth": "0.3.14" + }, + "SAMTOOLS_FAIDX": { + "samtools": "1.23.1" + }, + "SAMTOOLS_STATS": { + "samtools": "1.23.1" + }, + "STAR_GENOMEGENERATE": { + "star": "2.7.11b" + }, + "STRELKA_SOMATIC": { + "strelka": "2.9.10" + }, + "TABIX_DBSNP": { + "htslib": "1.23.1", + "xz": "5.8.3" + }, + "VCF2MAF": { + "vcf2maf": "1.6.22" + }, + "VCFTOOLS_TSTV_COUNT": { + "vcftools": "0.1.16" + } + }, + [ + "consensus", + "consensus/vcf2maf", + "consensus/vcf2maf/TCRBOA7-T-RNA_vs_TCRBOA7-N", + "consensus/vcf2maf/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.strelka.maf", + "consensus/vcf2maf/TCRBOA7-T_vs_TCRBOA7-N", + "consensus/vcf2maf/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.strelka.maf", + "csv", + "csv/markduplicates.csv", + "csv/markduplicates_no_table.csv", + "csv/recalibrated.csv", + "csv/variantcalled.csv", + "filtering", + "filtering/TCRBOA7-T-RNA_vs_TCRBOA7-N", + "filtering/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.filtered.maf", + "filtering/TCRBOA7-T_vs_TCRBOA7-N", + "filtering/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.filtered.maf", + "pipeline_info", + "pipeline_info/nf_core_rnadnavar_software_mqc_versions.yml", + "preprocessing", + "preprocessing/markduplicates", + "preprocessing/markduplicates/TCRBOA7-N", + "preprocessing/markduplicates/TCRBOA7-N/TCRBOA7-N.md.cram", + "preprocessing/markduplicates/TCRBOA7-N/TCRBOA7-N.md.cram.crai", + "preprocessing/markduplicates/TCRBOA7-T", + "preprocessing/markduplicates/TCRBOA7-T-RNA", + "preprocessing/markduplicates/TCRBOA7-T-RNA/TCRBOA7-T-RNA.md.cram", + "preprocessing/markduplicates/TCRBOA7-T-RNA/TCRBOA7-T-RNA.md.cram.crai", + "preprocessing/markduplicates/TCRBOA7-T/TCRBOA7-T.md.cram", + "preprocessing/markduplicates/TCRBOA7-T/TCRBOA7-T.md.cram.crai", + "preprocessing/recal_table", + "preprocessing/recal_table/TCRBOA7-N", + "preprocessing/recal_table/TCRBOA7-N/TCRBOA7-N.recal.table", + "preprocessing/recal_table/TCRBOA7-T", + "preprocessing/recal_table/TCRBOA7-T-RNA", + "preprocessing/recal_table/TCRBOA7-T-RNA/TCRBOA7-T-RNA.recal.table", + "preprocessing/recal_table/TCRBOA7-T/TCRBOA7-T.recal.table", + "preprocessing/recalibrated", + "preprocessing/recalibrated/TCRBOA7-N", + "preprocessing/recalibrated/TCRBOA7-N/TCRBOA7-N.recal.cram", + "preprocessing/recalibrated/TCRBOA7-N/TCRBOA7-N.recal.cram.crai", + "preprocessing/recalibrated/TCRBOA7-T", + "preprocessing/recalibrated/TCRBOA7-T-RNA", + "preprocessing/recalibrated/TCRBOA7-T-RNA/TCRBOA7-T-RNA.recal.cram", + "preprocessing/recalibrated/TCRBOA7-T-RNA/TCRBOA7-T-RNA.recal.cram.crai", + "preprocessing/recalibrated/TCRBOA7-T/TCRBOA7-T.recal.cram", + "preprocessing/recalibrated/TCRBOA7-T/TCRBOA7-T.recal.cram.crai", + "preprocessing/splitncigarreads", + "preprocessing/splitncigarreads/TCRBOA7-T-RNA", + "preprocessing/splitncigarreads/TCRBOA7-T-RNA/TCRBOA7-T-RNA.sncr.cram", + "preprocessing/splitncigarreads/TCRBOA7-T-RNA/TCRBOA7-T-RNA.sncr.cram.crai", + "reports", + "reports/bcftools", + "reports/bcftools/strelka", + "reports/bcftools/strelka/TCRBOA7-T-RNA_vs_TCRBOA7-N", + "reports/bcftools/strelka/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.strelka.variants.bcftools_stats.txt", + "reports/bcftools/strelka/TCRBOA7-T_vs_TCRBOA7-N", + "reports/bcftools/strelka/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.strelka.variants.bcftools_stats.txt", + "reports/fastp", + "reports/fastp/TCRBOA7-N", + "reports/fastp/TCRBOA7-N/TCRBOA7-N-LX.fastp.html", + "reports/fastp/TCRBOA7-N/TCRBOA7-N-LX.fastp.json", + "reports/fastp/TCRBOA7-N/TCRBOA7-N-LX.fastp.log", + "reports/fastp/TCRBOA7-T", + "reports/fastp/TCRBOA7-T-RNA", + "reports/fastp/TCRBOA7-T-RNA/TCRBOA7-T-RNA-LX.fastp.html", + "reports/fastp/TCRBOA7-T-RNA/TCRBOA7-T-RNA-LX.fastp.json", + "reports/fastp/TCRBOA7-T-RNA/TCRBOA7-T-RNA-LX.fastp.log", + "reports/fastp/TCRBOA7-T/TCRBOA7-T-LX.fastp.html", + "reports/fastp/TCRBOA7-T/TCRBOA7-T-LX.fastp.json", + "reports/fastp/TCRBOA7-T/TCRBOA7-T-LX.fastp.log", + "reports/fastqc", + "reports/fastqc/TCRBOA7-N-LX", + "reports/fastqc/TCRBOA7-N-LX/TCRBOA7-N-LX_1_fastqc.html", + "reports/fastqc/TCRBOA7-N-LX/TCRBOA7-N-LX_1_fastqc.zip", + "reports/fastqc/TCRBOA7-N-LX/TCRBOA7-N-LX_2_fastqc.html", + "reports/fastqc/TCRBOA7-N-LX/TCRBOA7-N-LX_2_fastqc.zip", + "reports/fastqc/TCRBOA7-T-LX", + "reports/fastqc/TCRBOA7-T-LX/TCRBOA7-T-LX_1_fastqc.html", + "reports/fastqc/TCRBOA7-T-LX/TCRBOA7-T-LX_1_fastqc.zip", + "reports/fastqc/TCRBOA7-T-LX/TCRBOA7-T-LX_2_fastqc.html", + "reports/fastqc/TCRBOA7-T-LX/TCRBOA7-T-LX_2_fastqc.zip", + "reports/fastqc/TCRBOA7-T-RNA-LX", + "reports/fastqc/TCRBOA7-T-RNA-LX/TCRBOA7-T-RNA-LX_1_fastqc.html", + "reports/fastqc/TCRBOA7-T-RNA-LX/TCRBOA7-T-RNA-LX_1_fastqc.zip", + "reports/fastqc/TCRBOA7-T-RNA-LX/TCRBOA7-T-RNA-LX_2_fastqc.html", + "reports/fastqc/TCRBOA7-T-RNA-LX/TCRBOA7-T-RNA-LX_2_fastqc.zip", + "reports/markduplicates", + "reports/markduplicates/TCRBOA7-N", + "reports/markduplicates/TCRBOA7-N/TCRBOA7-N.md.cram.metrics", + "reports/markduplicates/TCRBOA7-T", + "reports/markduplicates/TCRBOA7-T-RNA", + "reports/markduplicates/TCRBOA7-T-RNA/TCRBOA7-T-RNA.md.cram.metrics", + "reports/markduplicates/TCRBOA7-T/TCRBOA7-T.md.cram.metrics", + "reports/mosdepth", + "reports/mosdepth/TCRBOA7-N", + "reports/mosdepth/TCRBOA7-N/TCRBOA7-N.md.mosdepth.global.dist.txt", + "reports/mosdepth/TCRBOA7-N/TCRBOA7-N.md.mosdepth.summary.txt", + "reports/mosdepth/TCRBOA7-N/TCRBOA7-N.md.per-base.bed.gz", + "reports/mosdepth/TCRBOA7-N/TCRBOA7-N.md.per-base.bed.gz.csi", + "reports/mosdepth/TCRBOA7-N/TCRBOA7-N.recal.mosdepth.global.dist.txt", + "reports/mosdepth/TCRBOA7-N/TCRBOA7-N.recal.mosdepth.summary.txt", + "reports/mosdepth/TCRBOA7-N/TCRBOA7-N.recal.per-base.bed.gz", + "reports/mosdepth/TCRBOA7-N/TCRBOA7-N.recal.per-base.bed.gz.csi", + "reports/mosdepth/TCRBOA7-T", + "reports/mosdepth/TCRBOA7-T-RNA", + "reports/mosdepth/TCRBOA7-T-RNA/TCRBOA7-T-RNA.md.mosdepth.global.dist.txt", + "reports/mosdepth/TCRBOA7-T-RNA/TCRBOA7-T-RNA.md.mosdepth.summary.txt", + "reports/mosdepth/TCRBOA7-T-RNA/TCRBOA7-T-RNA.md.per-base.bed.gz", + "reports/mosdepth/TCRBOA7-T-RNA/TCRBOA7-T-RNA.md.per-base.bed.gz.csi", + "reports/mosdepth/TCRBOA7-T-RNA/TCRBOA7-T-RNA.recal.mosdepth.global.dist.txt", + "reports/mosdepth/TCRBOA7-T-RNA/TCRBOA7-T-RNA.recal.mosdepth.summary.txt", + "reports/mosdepth/TCRBOA7-T-RNA/TCRBOA7-T-RNA.recal.per-base.bed.gz", + "reports/mosdepth/TCRBOA7-T-RNA/TCRBOA7-T-RNA.recal.per-base.bed.gz.csi", + "reports/mosdepth/TCRBOA7-T/TCRBOA7-T.md.mosdepth.global.dist.txt", + "reports/mosdepth/TCRBOA7-T/TCRBOA7-T.md.mosdepth.summary.txt", + "reports/mosdepth/TCRBOA7-T/TCRBOA7-T.md.per-base.bed.gz", + "reports/mosdepth/TCRBOA7-T/TCRBOA7-T.md.per-base.bed.gz.csi", + "reports/mosdepth/TCRBOA7-T/TCRBOA7-T.recal.mosdepth.global.dist.txt", + "reports/mosdepth/TCRBOA7-T/TCRBOA7-T.recal.mosdepth.summary.txt", + "reports/mosdepth/TCRBOA7-T/TCRBOA7-T.recal.per-base.bed.gz", + "reports/mosdepth/TCRBOA7-T/TCRBOA7-T.recal.per-base.bed.gz.csi", + "reports/multiqc_data", + "reports/multiqc_plots", + "reports/samtools", + "reports/vcftools", + "reports/vcftools/strelka", + "reports/vcftools/strelka/TCRBOA7-T-RNA_vs_TCRBOA7-N", + "reports/vcftools/strelka/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.strelka.variants.FILTER.summary", + "reports/vcftools/strelka/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.strelka.variants.TsTv.count", + "reports/vcftools/strelka/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.strelka.variants.TsTv.qual", + "reports/vcftools/strelka/TCRBOA7-T_vs_TCRBOA7-N", + "reports/vcftools/strelka/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.strelka.variants.FILTER.summary", + "reports/vcftools/strelka/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.strelka.variants.TsTv.count", + "reports/vcftools/strelka/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.strelka.variants.TsTv.qual", + "samtools", + "samtools/TCRBOA7-T-RNA.flagstat", + "variant_calling", + "variant_calling/strelka", + "variant_calling/strelka/TCRBOA7-T-RNA_vs_TCRBOA7-N", + "variant_calling/strelka/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.strelka.variants.vcf.gz", + "variant_calling/strelka/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.strelka.variants.vcf.gz.tbi", + "variant_calling/strelka/TCRBOA7-T_vs_TCRBOA7-N", + "variant_calling/strelka/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.strelka.variants.vcf.gz", + "variant_calling/strelka/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.strelka.variants.vcf.gz.tbi" + ], + [ + "TCRBOA7-T-RNA_vs_TCRBOA7-N.strelka.maf:md5,134af46701ef1c95e9d13aaeec0322c9", + "TCRBOA7-T_vs_TCRBOA7-N.strelka.maf:md5,6efd9ef36183c28087d42a4177bc447d", + "TCRBOA7-T-RNA_vs_TCRBOA7-N.filtered.maf:md5,209d4978f0f9f0690f356e735a8356bd", + "TCRBOA7-T_vs_TCRBOA7-N.filtered.maf:md5,92d160b5d6e426a84e8abbac77f6e06c", + "TCRBOA7-N.recal.table:md5,4771abf3f2f413562282d88d16fd6ad0", + "TCRBOA7-T-RNA.recal.table:md5,18cf3ff38a750f9ee8b82ede645a5bf8", + "TCRBOA7-T.recal.table:md5,9730abf3cc295cdab573dde542116517", + "TCRBOA7-T-RNA_vs_TCRBOA7-N.strelka.variants.bcftools_stats.txt:md5,d5a13845f93e47f0067b9e4278b96b4e", + "TCRBOA7-T_vs_TCRBOA7-N.strelka.variants.bcftools_stats.txt:md5,3b3ca259d254d3a5d5e1b55c5305e451", + "TCRBOA7-N.md.mosdepth.global.dist.txt:md5,c3850b2f2be5742f87bab3f446aed477", + "TCRBOA7-N.md.mosdepth.summary.txt:md5,c9b752548642fb18f2ec818db5db6475", + "TCRBOA7-N.md.per-base.bed.gz:md5,db5b8c4b07a8494a03d6cd17a834b7d5", + "TCRBOA7-N.md.per-base.bed.gz.csi:md5,7c54e9e69d5061a757bd08d1d2d34a2b", + "TCRBOA7-N.recal.mosdepth.global.dist.txt:md5,c3850b2f2be5742f87bab3f446aed477", + "TCRBOA7-N.recal.mosdepth.summary.txt:md5,c9b752548642fb18f2ec818db5db6475", + "TCRBOA7-N.recal.per-base.bed.gz:md5,db5b8c4b07a8494a03d6cd17a834b7d5", + "TCRBOA7-N.recal.per-base.bed.gz.csi:md5,7c54e9e69d5061a757bd08d1d2d34a2b", + "TCRBOA7-T-RNA.md.mosdepth.global.dist.txt:md5,312a54ef56d58ffacbd78e0079b139c8", + "TCRBOA7-T-RNA.md.mosdepth.summary.txt:md5,2679d493c35a1e03ac05167e2b616399", + "TCRBOA7-T-RNA.md.per-base.bed.gz:md5,ef682ae010236bf2683fd09ecbdf14c1", + "TCRBOA7-T-RNA.md.per-base.bed.gz.csi:md5,bc974418cc2ec253a95b7a2743bbcbcf", + "TCRBOA7-T-RNA.recal.mosdepth.global.dist.txt:md5,605db9ee1dd95fbbb2872e421c987252", + "TCRBOA7-T-RNA.recal.mosdepth.summary.txt:md5,95f1e8f8e79baa4326d50bcdf29d1100", + "TCRBOA7-T-RNA.recal.per-base.bed.gz:md5,20b7ce6da1fbb62225447f65c77cb31a", + "TCRBOA7-T-RNA.recal.per-base.bed.gz.csi:md5,3f77fbab1c70802663d4a30d98a174d3", + "TCRBOA7-T.md.mosdepth.global.dist.txt:md5,c001a2f095b4f6c00af48264d41730ea", + "TCRBOA7-T.md.mosdepth.summary.txt:md5,0daef9dceaa0e33a59b678a63db883f4", + "TCRBOA7-T.md.per-base.bed.gz:md5,aeed88b4172eb605a610e295a459f053", + "TCRBOA7-T.md.per-base.bed.gz.csi:md5,f992ff01a33640fd56108000e914d24e", + "TCRBOA7-T.recal.mosdepth.global.dist.txt:md5,c001a2f095b4f6c00af48264d41730ea", + "TCRBOA7-T.recal.mosdepth.summary.txt:md5,0daef9dceaa0e33a59b678a63db883f4", + "TCRBOA7-T.recal.per-base.bed.gz:md5,aeed88b4172eb605a610e295a459f053", + "TCRBOA7-T.recal.per-base.bed.gz.csi:md5,f992ff01a33640fd56108000e914d24e", + "TCRBOA7-T-RNA_vs_TCRBOA7-N.strelka.variants.FILTER.summary:md5,a5d2a000d379b5ed0a7b142df4bd0bde", + "TCRBOA7-T-RNA_vs_TCRBOA7-N.strelka.variants.TsTv.count:md5,cbcde4640046ff945417a6678f41beae", + "TCRBOA7-T-RNA_vs_TCRBOA7-N.strelka.variants.TsTv.qual:md5,a25956050eab7614fde110c577cde3ff", + "TCRBOA7-T_vs_TCRBOA7-N.strelka.variants.FILTER.summary:md5,6c47080ddcb5a1ff8c690732f3a81eff", + "TCRBOA7-T_vs_TCRBOA7-N.strelka.variants.TsTv.count:md5,5b63c8b3aa96cf92726b576d2cb7da12", + "TCRBOA7-T_vs_TCRBOA7-N.strelka.variants.TsTv.qual:md5,29da677ef4e152719905df4b2b7cb798" + ] + ], + "timestamp": "2026-06-24T16:27:52.752451937", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.3" + } + } +} \ No newline at end of file diff --git a/tests/filtering_restart.nf.test b/tests/filtering_restart.nf.test new file mode 100644 index 00000000..c7856105 --- /dev/null +++ b/tests/filtering_restart.nf.test @@ -0,0 +1,38 @@ +nextflow_pipeline { + + name "Test pipeline restart from filtering" + script "../main.nf" + tag "pipeline" + tag "pipeline_restart" + tag "filtering" + + config "conf/test.config" + + test("Run from filtering through RNA filtering") { + + when { + params { + input = "${projectDir}/tests/csv/maf_rna_single.csv" + step = "filtering" + tools = "filtering,rna_filtering" + rnaedits = "https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/resources/rnaedits/hg38/atlas.chr7.hg38.bed" + outdir = "$outputDir" + } + } + + then { + def filtered_maf = file("${params.outdir}/filtering/TCRBOA7-T-RNA/TCRBOA7-T-RNA.filtered.maf") + def rna_filt_maf = file("${params.outdir}/filtering/TCRBOA7-T-RNA/TCRBOA7-T-RNA.rna_filt.maf") + + assertAll( + { assert workflow.success }, + { assert filtered_maf.exists() }, + { assert rna_filt_maf.exists() }, + { assert snapshot( + removeFromYamlMap("${params.outdir}/pipeline_info/nf_core_rnadnavar_software_mqc_versions.yml", "Workflow"), + getAllFilesFromDir(params.outdir, relative: true, includeDir: true, ignore: ['pipeline_info/*.{html,json,txt}', 'reports/samtools/**', 'reports/multiqc_data/**', 'reports/multiqc_plots/**', 'reports/multiqc_report.html']) + ).match() } + ) + } + } +} diff --git a/tests/filtering_restart.nf.test.snap b/tests/filtering_restart.nf.test.snap new file mode 100644 index 00000000..32e338e1 --- /dev/null +++ b/tests/filtering_restart.nf.test.snap @@ -0,0 +1,36 @@ +{ + "Run from filtering through RNA filtering": { + "content": [ + { + "FILTERING": { + "python": "3.9.13" + }, + "GATK4_CREATESEQUENCEDICTIONARY": { + "gatk4": "4.6.2.0" + }, + "RNA_FILTERING": { + "python": "3.9.19" + }, + "SAMTOOLS_FAIDX": { + "samtools": "1.23.1" + } + }, + [ + "csv", + "filtering", + "filtering/TCRBOA7-T-RNA", + "filtering/TCRBOA7-T-RNA/TCRBOA7-T-RNA.filtered.maf", + "filtering/TCRBOA7-T-RNA/TCRBOA7-T-RNA.rna_filt.maf", + "pipeline_info", + "pipeline_info/nf_core_rnadnavar_software_mqc_versions.yml", + "reports", + "reports/multiqc_data" + ] + ], + "timestamp": "2026-06-25T12:59:27.793884", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } + } +} \ No newline at end of file diff --git a/tests/nextflow.config b/tests/nextflow.config index 83e6f0a1..018db2e2 100644 --- a/tests/nextflow.config +++ b/tests/nextflow.config @@ -8,7 +8,16 @@ // Or any resources requirements params { modules_testdata_base_path = 'https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/' - pipelines_testdata_base_path = 'https://raw.githubusercontent.com/nf-core/test-datasets/refs/heads/rnadnavar' + pipelines_testdata_base_path = 'https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/' +} + +// Resource limits for test environment (modern syntax) +process { + resourceLimits = [ + cpus: 2, + memory: 8.GB, + time: 6.h + ] } aws.client.anonymous = true // fixes S3 access issues on self-hosted runners diff --git a/tests/rna_filtering_restart.nf.test b/tests/rna_filtering_restart.nf.test new file mode 100644 index 00000000..39d8a794 --- /dev/null +++ b/tests/rna_filtering_restart.nf.test @@ -0,0 +1,38 @@ +nextflow_pipeline { + + name "Test pipeline restart from RNA filtering" + script "../main.nf" + tag "pipeline" + tag "pipeline_restart" + tag "rna_filtering" + + config "conf/test.config" + + test("Run only RNA filtering from MAF input") { + + when { + params { + input = "${projectDir}/tests/csv/maf_rna_realign_pair.csv" + step = "rna_filtering" + tools = "rna_filtering" + rnaedits = "https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/resources/rnaedits/hg38/atlas.chr7.hg38.bed" + outdir = "$outputDir" + } + } + + then { + def filtered_maf = file("${params.outdir}/filtering/TCRBOA7-T-RNA/TCRBOA7-T-RNA.filtered.maf") + def rna_filt_maf = file("${params.outdir}/filtering/TCRBOA7-T-RNA_with_TCRBOA7-T-RNA_realign/TCRBOA7-T-RNA_with_TCRBOA7-T-RNA_realign.rna_filt.maf") + + assertAll( + { assert workflow.success }, + { assert !filtered_maf.exists() }, + { assert rna_filt_maf.exists() }, + { assert snapshot( + removeFromYamlMap("${params.outdir}/pipeline_info/nf_core_rnadnavar_software_mqc_versions.yml", "Workflow"), + getAllFilesFromDir(params.outdir, relative: true, includeDir: true, ignore: ['pipeline_info/*.{html,json,txt}', 'reports/samtools/**', 'reports/multiqc_data/**', 'reports/multiqc_plots/**', 'reports/multiqc_report.html']) + ).match() } + ) + } + } +} diff --git a/tests/rna_filtering_restart.nf.test.snap b/tests/rna_filtering_restart.nf.test.snap new file mode 100644 index 00000000..d2161b9c --- /dev/null +++ b/tests/rna_filtering_restart.nf.test.snap @@ -0,0 +1,34 @@ +{ + "Run only RNA filtering from MAF input": { + "content": [ + { + "GATK4_CREATESEQUENCEDICTIONARY": { + "gatk4": "4.6.2.0" + }, + "RNA_FILTERING": { + "python": "3.9.19" + }, + "SAMTOOLS_FAIDX": { + "samtools": "1.23.1" + } + }, + [ + "csv", + "filtering", + "filtering/TCRBOA7-T-RNA_with_TCRBOA7-T-RNA_realign", + "filtering/TCRBOA7-T-RNA_with_TCRBOA7-T-RNA_realign/TCRBOA7-T-RNA.withRNAfilters.maf", + "filtering/TCRBOA7-T-RNA_with_TCRBOA7-T-RNA_realign/TCRBOA7-T-RNA_realign.withRNAfilters.maf", + "filtering/TCRBOA7-T-RNA_with_TCRBOA7-T-RNA_realign/TCRBOA7-T-RNA_with_TCRBOA7-T-RNA_realign.rna_filt.maf", + "pipeline_info", + "pipeline_info/nf_core_rnadnavar_software_mqc_versions.yml", + "reports", + "reports/multiqc_data" + ] + ], + "timestamp": "2026-06-25T13:02:23.518311", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } + } +} \ No newline at end of file diff --git a/tests/test_full.nf.test b/tests/test_full.nf.test new file mode 100644 index 00000000..d6f31526 --- /dev/null +++ b/tests/test_full.nf.test @@ -0,0 +1,48 @@ +nextflow_pipeline { + + name "Test full pipeline" + script "../main.nf" + tag "pipeline" + tag "pipeline_rnadnavar" + + config "conf/test_full.config" + + profile "test_full" + + test("Run with -profile test_full") { + // NOTE: This test only checks workflow success, task counts, and file structure + // Content-based assertions are disabled due to non-deterministic algorithm outputs + // TODO: Split into smaller tests for individual modules + + when { + params { + outdir = "$outputDir" + } + } + + then { + // stable_name: All files + folders in ${params.outdir}/ with a stable name + def stable_name = getAllFilesFromDir(params.outdir, relative: true, includeDir: true, ignore: ["pipeline_info/*.{html,json,txt}", "reports/samtools/**", "reports/multiqc_data/**", "reports/multiqc_plots/**", "reports/multiqc_report.html"]) + // stable_path: All files in ${params.outdir}/ with stable content + // def stable_path = getAllFilesFromDir(params.outdir, relative: true, ignoreFile: "tests/.nftignore") + // cram_files: All cram files + def cram_files = getAllFilesFromDir(params.outdir, include: ["**/*.cram"]) + assertAll( + { assert workflow.success}, + // Samtools report publication is currently nondeterministic so it is excluded + { assert snapshot( + // Number of successful tasks + workflow.trace.succeeded().size(), + // pipeline versions.yml file for multiqc from which Nextflow version is removed because we tests pipelines on multiple Nextflow versions + removeNextflowVersion("$outputDir/pipeline_info/nf_core_rnadnavar_software_mqc_versions.yml"), + // All stable path name, with a relative path + stable_name + // All files with stable contents + // stable_path, + // All cram files - CRAM check removed because fasta is a minified version and it fails the checks + // cram_files.collect{ file -> [ file.getName(), file.size()] } + ).match() } + ) + } + } +} diff --git a/tests/test_full.nf.test.snap b/tests/test_full.nf.test.snap new file mode 100644 index 00000000..2bd9fca6 --- /dev/null +++ b/tests/test_full.nf.test.snap @@ -0,0 +1,713 @@ +{ + "-profile test": { + "content": [ + { + "BCFTOOLS_STATS": { + "bcftools": "1.23.1" + }, + "BWAMEM1_INDEX": { + "bwa": "0.7.19-r1273" + }, + "BWAMEM1_MEM": { + "bwa": "0.7.19-r1273", + "samtools": "1.22.1" + }, + "FASTP": { + "fastp": "1.1.0" + }, + "FASTQC": { + "fastqc": "0.12.1" + }, + "FILTERING": { + "python": "3.9.13" + }, + "GATK4_APPLYBQSR": { + "gatk4": "4.6.2.0" + }, + "GATK4_BASERECALIBRATOR": { + "gatk4": "4.6.2.0" + }, + "GATK4_CREATESEQUENCEDICTIONARY": { + "gatk4": "4.6.2.0" + }, + "GATK4_MARKDUPLICATES": { + "gatk4": "4.6.2.0", + "samtools": 1.21 + }, + "INDEX_CRAM": { + "samtools": "1.23.1" + }, + "MERGE_STRELKA": { + "gatk4": "4.6.2.0" + }, + "MOSDEPTH": { + "gzip": 1.14, + "mosdepth": "0.3.14" + }, + "SAMTOOLS_FAIDX": { + "samtools": "1.23.1" + }, + "SAMTOOLS_STATS": { + "samtools": "1.23.1" + }, + "STAR_GENOMEGENERATE": { + "star": "2.7.11b" + }, + "STRELKA_SOMATIC": { + "strelka": "2.9.10" + }, + "TABIX_DBSNP": { + "htslib": "1.23.1", + "xz": "5.8.3" + }, + "VCF2MAF": { + "vcf2maf": "1.6.21" + }, + "VCFTOOLS_TSTV_COUNT": { + "vcftools": "0.1.16" + } + }, + [ + "consensus", + "consensus/vcf2maf", + "consensus/vcf2maf/TCRBOA7-T_vs_TCRBOA7-N", + "consensus/vcf2maf/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.strelka.maf", + "csv", + "csv/markduplicates.csv", + "csv/markduplicates_no_table.csv", + "csv/recalibrated.csv", + "csv/variantcalled.csv", + "filtering", + "filtering/TCRBOA7-T_vs_TCRBOA7-N", + "filtering/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.filtered.maf", + "pipeline_info", + "pipeline_info/nf_core_rnadnavar_software_mqc_versions.yml", + "preprocessing", + "preprocessing/markduplicates", + "preprocessing/markduplicates/TCRBOA7-N", + "preprocessing/markduplicates/TCRBOA7-N/TCRBOA7-N.md.cram", + "preprocessing/markduplicates/TCRBOA7-N/TCRBOA7-N.md.cram.crai", + "preprocessing/markduplicates/TCRBOA7-T", + "preprocessing/markduplicates/TCRBOA7-T/TCRBOA7-T.md.cram", + "preprocessing/markduplicates/TCRBOA7-T/TCRBOA7-T.md.cram.crai", + "preprocessing/recal_table", + "preprocessing/recal_table/TCRBOA7-N", + "preprocessing/recal_table/TCRBOA7-N/TCRBOA7-N.recal.table", + "preprocessing/recal_table/TCRBOA7-T", + "preprocessing/recal_table/TCRBOA7-T/TCRBOA7-T.recal.table", + "preprocessing/recalibrated", + "preprocessing/recalibrated/TCRBOA7-N", + "preprocessing/recalibrated/TCRBOA7-N/TCRBOA7-N.recal.cram", + "preprocessing/recalibrated/TCRBOA7-N/TCRBOA7-N.recal.cram.crai", + "preprocessing/recalibrated/TCRBOA7-T", + "preprocessing/recalibrated/TCRBOA7-T/TCRBOA7-T.recal.cram", + "preprocessing/recalibrated/TCRBOA7-T/TCRBOA7-T.recal.cram.crai", + "reports", + "reports/bcftools", + "reports/bcftools/strelka", + "reports/bcftools/strelka/TCRBOA7-T_vs_TCRBOA7-N", + "reports/bcftools/strelka/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.strelka.variants.bcftools_stats.txt", + "reports/fastp", + "reports/fastp/TCRBOA7-N", + "reports/fastp/TCRBOA7-N/TCRBOA7-N-LX.fastp.html", + "reports/fastp/TCRBOA7-N/TCRBOA7-N-LX.fastp.json", + "reports/fastp/TCRBOA7-N/TCRBOA7-N-LX.fastp.log", + "reports/fastp/TCRBOA7-T", + "reports/fastp/TCRBOA7-T-RNA", + "reports/fastp/TCRBOA7-T-RNA/TCRBOA7-T-RNA-LX.fastp.html", + "reports/fastp/TCRBOA7-T-RNA/TCRBOA7-T-RNA-LX.fastp.json", + "reports/fastp/TCRBOA7-T-RNA/TCRBOA7-T-RNA-LX.fastp.log", + "reports/fastp/TCRBOA7-T/TCRBOA7-T-LX.fastp.html", + "reports/fastp/TCRBOA7-T/TCRBOA7-T-LX.fastp.json", + "reports/fastp/TCRBOA7-T/TCRBOA7-T-LX.fastp.log", + "reports/fastqc", + "reports/fastqc/TCRBOA7-N-LX", + "reports/fastqc/TCRBOA7-N-LX/TCRBOA7-N-LX_1_fastqc.html", + "reports/fastqc/TCRBOA7-N-LX/TCRBOA7-N-LX_1_fastqc.zip", + "reports/fastqc/TCRBOA7-N-LX/TCRBOA7-N-LX_2_fastqc.html", + "reports/fastqc/TCRBOA7-N-LX/TCRBOA7-N-LX_2_fastqc.zip", + "reports/fastqc/TCRBOA7-T-LX", + "reports/fastqc/TCRBOA7-T-LX/TCRBOA7-T-LX_1_fastqc.html", + "reports/fastqc/TCRBOA7-T-LX/TCRBOA7-T-LX_1_fastqc.zip", + "reports/fastqc/TCRBOA7-T-LX/TCRBOA7-T-LX_2_fastqc.html", + "reports/fastqc/TCRBOA7-T-LX/TCRBOA7-T-LX_2_fastqc.zip", + "reports/fastqc/TCRBOA7-T-RNA-LX", + "reports/fastqc/TCRBOA7-T-RNA-LX/TCRBOA7-T-RNA-LX_1_fastqc.html", + "reports/fastqc/TCRBOA7-T-RNA-LX/TCRBOA7-T-RNA-LX_1_fastqc.zip", + "reports/fastqc/TCRBOA7-T-RNA-LX/TCRBOA7-T-RNA-LX_2_fastqc.html", + "reports/fastqc/TCRBOA7-T-RNA-LX/TCRBOA7-T-RNA-LX_2_fastqc.zip", + "reports/markduplicates", + "reports/markduplicates/TCRBOA7-N", + "reports/markduplicates/TCRBOA7-N/TCRBOA7-N.md.cram.metrics", + "reports/markduplicates/TCRBOA7-T", + "reports/markduplicates/TCRBOA7-T/TCRBOA7-T.md.cram.metrics", + "reports/mosdepth", + "reports/mosdepth/TCRBOA7-N", + "reports/mosdepth/TCRBOA7-N/TCRBOA7-N.md.mosdepth.global.dist.txt", + "reports/mosdepth/TCRBOA7-N/TCRBOA7-N.md.mosdepth.summary.txt", + "reports/mosdepth/TCRBOA7-N/TCRBOA7-N.md.per-base.bed.gz", + "reports/mosdepth/TCRBOA7-N/TCRBOA7-N.md.per-base.bed.gz.csi", + "reports/mosdepth/TCRBOA7-N/TCRBOA7-N.recal.mosdepth.global.dist.txt", + "reports/mosdepth/TCRBOA7-N/TCRBOA7-N.recal.mosdepth.summary.txt", + "reports/mosdepth/TCRBOA7-N/TCRBOA7-N.recal.per-base.bed.gz", + "reports/mosdepth/TCRBOA7-N/TCRBOA7-N.recal.per-base.bed.gz.csi", + "reports/mosdepth/TCRBOA7-T", + "reports/mosdepth/TCRBOA7-T/TCRBOA7-T.md.mosdepth.global.dist.txt", + "reports/mosdepth/TCRBOA7-T/TCRBOA7-T.md.mosdepth.summary.txt", + "reports/mosdepth/TCRBOA7-T/TCRBOA7-T.md.per-base.bed.gz", + "reports/mosdepth/TCRBOA7-T/TCRBOA7-T.md.per-base.bed.gz.csi", + "reports/mosdepth/TCRBOA7-T/TCRBOA7-T.recal.mosdepth.global.dist.txt", + "reports/mosdepth/TCRBOA7-T/TCRBOA7-T.recal.mosdepth.summary.txt", + "reports/mosdepth/TCRBOA7-T/TCRBOA7-T.recal.per-base.bed.gz", + "reports/mosdepth/TCRBOA7-T/TCRBOA7-T.recal.per-base.bed.gz.csi", + "reports/samtools", + "reports/samtools/TCRBOA7-N", + "reports/samtools/TCRBOA7-N/TCRBOA7-N.recal.cram.stats", + "reports/samtools/TCRBOA7-T-RNA", + "reports/samtools/TCRBOA7-T-RNA/TCRBOA7-T-RNA.idxstats", + "reports/samtools/TCRBOA7-T-RNA/TCRBOA7-T-RNA.stats", + "reports/samtools/markduplicates", + "reports/samtools/markduplicates/samtools_stats", + "reports/samtools/markduplicates/samtools_stats/TCRBOA7-N.md.cram.stats", + "reports/vcftools", + "reports/vcftools/strelka", + "reports/vcftools/strelka/TCRBOA7-T_vs_TCRBOA7-N", + "reports/vcftools/strelka/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.strelka.variants.FILTER.summary", + "reports/vcftools/strelka/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.strelka.variants.TsTv.count", + "reports/vcftools/strelka/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.strelka.variants.TsTv.qual", + "samtools", + "samtools/TCRBOA7-T-RNA.flagstat", + "variant_calling", + "variant_calling/strelka", + "variant_calling/strelka/TCRBOA7-T_vs_TCRBOA7-N", + "variant_calling/strelka/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.strelka.variants.vcf.gz", + "variant_calling/strelka/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.strelka.variants.vcf.gz.tbi" + ], + [ + "TCRBOA7-T_vs_TCRBOA7-N.strelka.maf:md5,fae7532e022765fcbeaf2f1419a2139f", + "TCRBOA7-T_vs_TCRBOA7-N.filtered.maf:md5,84d4dafe5b00520c66adf090208e8f5c", + "TCRBOA7-N.recal.table:md5,4771abf3f2f413562282d88d16fd6ad0", + "TCRBOA7-T.recal.table:md5,9730abf3cc295cdab573dde542116517", + "TCRBOA7-T_vs_TCRBOA7-N.strelka.variants.bcftools_stats.txt:md5,3b3ca259d254d3a5d5e1b55c5305e451", + "TCRBOA7-N.md.mosdepth.global.dist.txt:md5,c3850b2f2be5742f87bab3f446aed477", + "TCRBOA7-N.md.mosdepth.summary.txt:md5,c9b752548642fb18f2ec818db5db6475", + "TCRBOA7-N.md.per-base.bed.gz:md5,db5b8c4b07a8494a03d6cd17a834b7d5", + "TCRBOA7-N.md.per-base.bed.gz.csi:md5,7c54e9e69d5061a757bd08d1d2d34a2b", + "TCRBOA7-N.recal.mosdepth.global.dist.txt:md5,c3850b2f2be5742f87bab3f446aed477", + "TCRBOA7-N.recal.mosdepth.summary.txt:md5,c9b752548642fb18f2ec818db5db6475", + "TCRBOA7-N.recal.per-base.bed.gz:md5,db5b8c4b07a8494a03d6cd17a834b7d5", + "TCRBOA7-N.recal.per-base.bed.gz.csi:md5,7c54e9e69d5061a757bd08d1d2d34a2b", + "TCRBOA7-T.md.mosdepth.global.dist.txt:md5,c001a2f095b4f6c00af48264d41730ea", + "TCRBOA7-T.md.mosdepth.summary.txt:md5,0daef9dceaa0e33a59b678a63db883f4", + "TCRBOA7-T.md.per-base.bed.gz:md5,aeed88b4172eb605a610e295a459f053", + "TCRBOA7-T.md.per-base.bed.gz.csi:md5,f992ff01a33640fd56108000e914d24e", + "TCRBOA7-T.recal.mosdepth.global.dist.txt:md5,c001a2f095b4f6c00af48264d41730ea", + "TCRBOA7-T.recal.mosdepth.summary.txt:md5,0daef9dceaa0e33a59b678a63db883f4", + "TCRBOA7-T.recal.per-base.bed.gz:md5,aeed88b4172eb605a610e295a459f053", + "TCRBOA7-T.recal.per-base.bed.gz.csi:md5,f992ff01a33640fd56108000e914d24e", + "TCRBOA7-T_vs_TCRBOA7-N.strelka.variants.FILTER.summary:md5,6c47080ddcb5a1ff8c690732f3a81eff", + "TCRBOA7-T_vs_TCRBOA7-N.strelka.variants.TsTv.count:md5,5b63c8b3aa96cf92726b576d2cb7da12", + "TCRBOA7-T_vs_TCRBOA7-N.strelka.variants.TsTv.qual:md5,29da677ef4e152719905df4b2b7cb798" + ] + ], + "timestamp": "2026-06-17T09:50:54.534498102", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.3" + } + }, + "Run with -profile test_full": { + "content": [ + 174, + { + "BCFTOOLS_STATS": { + "bcftools": "1.23.1" + }, + "BGZIPTABIX_VC_SAGE": { + "htslib": "1.23.1", + "xz": "5.8.3" + }, + "CALCULATECONTAMINATION": { + "gatk4": "4.6.2.0" + }, + "CAT_FASTQ": { + "cat": 9.5 + }, + "COLLATE_FASTQ_MAP": { + "samtools": "1.23.1" + }, + "COLLATE_FASTQ_UNMAP": { + "samtools": "1.23.1" + }, + "CONVERT_CRAM2BAM": { + "samtools": "1.23.1" + }, + "FILTERING": { + "python": "3.9.13" + }, + "FILTERMUTECTCALLS": { + "gatk4": "4.6.2.0" + }, + "GATK4_CREATESEQUENCEDICTIONARY": { + "gatk4": "4.6.2.0" + }, + "GATK4_MARKDUPLICATES": { + "gatk4": "4.6.2.0", + "samtools": 1.21 + }, + "GATK4_SPLITNCIGARREADS": { + "gatk4": "4.6.2.0", + "samtools": 1.21 + }, + "GETPILEUPSUMMARIES_NORMAL": { + "gatk4": "4.6.2.0" + }, + "GETPILEUPSUMMARIES_TUMOR": { + "gatk4": "4.6.2.0" + }, + "GUNZIP_FASTA": { + "gunzip": 1.13 + }, + "GUNZIP_VCF2MAF": { + "gunzip": 1.13 + }, + "HISAT2_BUILD": { + "hisat2": "2.2.2" + }, + "HISAT2_EXTRACTSPLICESITES": { + "hisat2": "2.2.1" + }, + "INDEX_CRAM": { + "samtools": "1.23.1" + }, + "LEARNREADORIENTATIONMODEL": { + "gatk4": "4.6.2.0" + }, + "MERGE_STRELKA": { + "gatk4": "4.6.2.0" + }, + "MOSDEPTH": { + "gzip": 1.14, + "mosdepth": "0.3.14" + }, + "MUTECT2_PAIRED": { + "gatk4": "4.6.2.0" + }, + "PICARD_FILTERSAMREADS": { + "picard": "3.4.0" + }, + "RNA_FILTERING": { + "python": "3.9.19" + }, + "SAGE": { + "SAGE": "3.2.3" + }, + "SAMTOOLS_FAIDX": { + "samtools": "1.23.1" + }, + "SAMTOOLS_MERGE_UNMAP": { + "samtools": "1.23.1" + }, + "SAMTOOLS_STATS": { + "samtools": "1.23.1" + }, + "SAMTOOLS_VIEW_MAP_MAP": { + "samtools": "1.23.1" + }, + "SAMTOOLS_VIEW_MAP_UNMAP": { + "samtools": "1.23.1" + }, + "SAMTOOLS_VIEW_UNMAP_MAP": { + "samtools": "1.23.1" + }, + "SAMTOOLS_VIEW_UNMAP_UNMAP": { + "samtools": "1.23.1" + }, + "STRELKA_SOMATIC": { + "strelka": "2.9.10" + }, + "TABIX_DBSNP": { + "htslib": "1.23.1", + "xz": "5.8.3" + }, + "TABIX_GERMLINE_RESOURCE": { + "htslib": "1.23.1", + "xz": "5.8.3" + }, + "UNZIP_SAGE_ENSEMBL": { + "7za": 16.02 + }, + "UNZIP_VEP_CACHE": { + "7za": 16.02 + }, + "VCF2MAF": { + "vcf2maf": "1.6.22" + }, + "VCFTOOLS_TSTV_COUNT": { + "vcftools": "0.1.16" + }, + "VT_DECOMPOSE": { + "vt": "2015.11.10" + }, + "VT_NORMALIZE": { + "vt": "2015.11.10" + }, + "Workflow": { + "nf-core/rnadnavar": "v1.0.0" + } + }, + [ + "annotation", + "annotation/mutect2", + "annotation/mutect2/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign", + "annotation/mutect2/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.mutect2.filtered.dec.norm_VEP.ann.vcf.gz", + "annotation/mutect2/TCRBOA7-T-RNA_vs_TCRBOA7-N", + "annotation/mutect2/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.mutect2.filtered.dec.norm_VEP.ann.vcf.gz", + "annotation/mutect2/TCRBOA7-T_vs_TCRBOA7-N", + "annotation/mutect2/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.mutect2.filtered.dec.norm_VEP.ann.vcf.gz", + "annotation/sage", + "annotation/sage/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign", + "annotation/sage/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.sage.dec.norm_VEP.ann.vcf.gz", + "annotation/sage/TCRBOA7-T-RNA_vs_TCRBOA7-N", + "annotation/sage/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.sage.dec.norm_VEP.ann.vcf.gz", + "annotation/sage/TCRBOA7-T_vs_TCRBOA7-N", + "annotation/sage/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.sage.dec.norm_VEP.ann.vcf.gz", + "annotation/strelka", + "annotation/strelka/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign", + "annotation/strelka/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.strelka.variants.dec.norm_VEP.ann.vcf.gz", + "annotation/strelka/TCRBOA7-T-RNA_vs_TCRBOA7-N", + "annotation/strelka/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.strelka.variants.dec.norm_VEP.ann.vcf.gz", + "annotation/strelka/TCRBOA7-T_vs_TCRBOA7-N", + "annotation/strelka/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.strelka.variants.dec.norm_VEP.ann.vcf.gz", + "consensus", + "consensus/consensus", + "consensus/consensus/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign", + "consensus/consensus/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.consensus.maf", + "consensus/consensus/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.consensus_mutect2.maf", + "consensus/consensus/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.consensus_sage.maf", + "consensus/consensus/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.consensus_strelka.maf", + "consensus/consensus/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign_with_TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_vs_TCRBOA7-N", + "consensus/consensus/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign_with_TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign_with_TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_vs_TCRBOA7-N.consensus.maf", + "consensus/consensus/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign_with_TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign_with_TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_vs_TCRBOA7-N.consensus_consensus.maf", + "consensus/consensus/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign_with_TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign_with_TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_vs_TCRBOA7-N.consensus_mutect2.maf", + "consensus/consensus/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign_with_TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign_with_TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_vs_TCRBOA7-N.consensus_sage.maf", + "consensus/consensus/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign_with_TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign_with_TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_vs_TCRBOA7-N.consensus_strelka.maf", + "consensus/consensus/TCRBOA7-T-RNA_vs_TCRBOA7-N", + "consensus/consensus/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.consensus.maf", + "consensus/consensus/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.consensus_mutect2.maf", + "consensus/consensus/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.consensus_sage.maf", + "consensus/consensus/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.consensus_strelka.maf", + "consensus/consensus/TCRBOA7-T-RNA_vs_TCRBOA7-N_with_TCRBOA7-T_vs_TCRBOA7-N", + "consensus/consensus/TCRBOA7-T-RNA_vs_TCRBOA7-N_with_TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N_with_TCRBOA7-T_vs_TCRBOA7-N.consensus.maf", + "consensus/consensus/TCRBOA7-T-RNA_vs_TCRBOA7-N_with_TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N_with_TCRBOA7-T_vs_TCRBOA7-N.consensus_consensus.maf", + "consensus/consensus/TCRBOA7-T-RNA_vs_TCRBOA7-N_with_TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N_with_TCRBOA7-T_vs_TCRBOA7-N.consensus_mutect2.maf", + "consensus/consensus/TCRBOA7-T-RNA_vs_TCRBOA7-N_with_TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N_with_TCRBOA7-T_vs_TCRBOA7-N.consensus_sage.maf", + "consensus/consensus/TCRBOA7-T-RNA_vs_TCRBOA7-N_with_TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N_with_TCRBOA7-T_vs_TCRBOA7-N.consensus_strelka.maf", + "consensus/consensus/TCRBOA7-T_vs_TCRBOA7-N", + "consensus/consensus/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.consensus.maf", + "consensus/consensus/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.consensus_mutect2.maf", + "consensus/consensus/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.consensus_sage.maf", + "consensus/consensus/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.consensus_strelka.maf", + "consensus/consensus/TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign", + "consensus/consensus/TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign/TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.consensus.maf", + "consensus/consensus/TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign/TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.consensus_consensus.maf", + "consensus/consensus/TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign/TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.consensus_mutect2.maf", + "consensus/consensus/TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign/TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.consensus_sage.maf", + "consensus/consensus/TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign/TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.consensus_strelka.maf", + "consensus/consensus/TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_vs_TCRBOA7-N", + "consensus/consensus/TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_vs_TCRBOA7-N.consensus.maf", + "consensus/consensus/TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_vs_TCRBOA7-N.consensus_consensus.maf", + "consensus/consensus/TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_vs_TCRBOA7-N.consensus_mutect2.maf", + "consensus/consensus/TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_vs_TCRBOA7-N.consensus_sage.maf", + "consensus/consensus/TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_vs_TCRBOA7-N.consensus_strelka.maf", + "consensus/vcf2maf", + "consensus/vcf2maf/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign", + "consensus/vcf2maf/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.mutect2.maf", + "consensus/vcf2maf/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.sage.maf", + "consensus/vcf2maf/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.strelka.maf", + "consensus/vcf2maf/TCRBOA7-T-RNA_vs_TCRBOA7-N", + "consensus/vcf2maf/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.mutect2.maf", + "consensus/vcf2maf/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.sage.maf", + "consensus/vcf2maf/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.strelka.maf", + "consensus/vcf2maf/TCRBOA7-T_vs_TCRBOA7-N", + "consensus/vcf2maf/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.mutect2.maf", + "consensus/vcf2maf/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.sage.maf", + "consensus/vcf2maf/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.strelka.maf", + "convert", + "convert/TCRBOA7-N_realign.bam", + "convert/TCRBOA7-N_realign.bam.bai", + "convert/TCRBOA7-T-RNA_realign.bam", + "convert/TCRBOA7-T-RNA_realign.bam.bai", + "csv", + "csv/annotated.csv", + "csv/consensus.csv", + "csv/consensus_realigned.csv", + "csv/markduplicates_no_table.csv", + "csv/normalized.csv", + "csv/rescued.csv", + "csv/rescued_realigned.csv", + "csv/variantcalled.csv", + "filtering", + "filtering/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign_with_TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_vs_TCRBOA7-N", + "filtering/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign_with_TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign_with_TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_vs_TCRBOA7-N.filtered.maf", + "filtering/TCRBOA7-T-RNA_vs_TCRBOA7-N_with_TCRBOA7-T_vs_TCRBOA7-N", + "filtering/TCRBOA7-T-RNA_vs_TCRBOA7-N_with_TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N_with_TCRBOA7-T_vs_TCRBOA7-N.filtered.maf", + "filtering/TCRBOA7-T-RNA_with_TCRBOA7-T-RNA_realign", + "filtering/TCRBOA7-T-RNA_with_TCRBOA7-T-RNA_realign/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign_with_TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_vs_TCRBOA7-N.filtered.withRNAfilters.maf", + "filtering/TCRBOA7-T-RNA_with_TCRBOA7-T-RNA_realign/TCRBOA7-T-RNA_vs_TCRBOA7-N_with_TCRBOA7-T_vs_TCRBOA7-N.filtered.withRNAfilters.maf", + "filtering/TCRBOA7-T-RNA_with_TCRBOA7-T-RNA_realign/TCRBOA7-T-RNA_with_TCRBOA7-T-RNA_realign.rna_filt.maf", + "filtering/TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign", + "filtering/TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign/TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.filtered.maf", + "filtering/TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_vs_TCRBOA7-N", + "filtering/TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_vs_TCRBOA7-N.filtered.maf", + "gunzip", + "gunzip/GRCh38.d1.vd1.chr7.mini.fa", + "normalised", + "normalised/mutect2", + "normalised/mutect2/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign", + "normalised/mutect2/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.mutect2.filtered.dec.norm.vcf.gz", + "normalised/mutect2/TCRBOA7-T-RNA_vs_TCRBOA7-N", + "normalised/mutect2/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.mutect2.filtered.dec.norm.vcf.gz", + "normalised/mutect2/TCRBOA7-T_vs_TCRBOA7-N", + "normalised/mutect2/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.mutect2.filtered.dec.norm.vcf.gz", + "normalised/sage", + "normalised/sage/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign", + "normalised/sage/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.sage.dec.norm.vcf.gz", + "normalised/sage/TCRBOA7-T-RNA_vs_TCRBOA7-N", + "normalised/sage/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.sage.dec.norm.vcf.gz", + "normalised/sage/TCRBOA7-T_vs_TCRBOA7-N", + "normalised/sage/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.sage.dec.norm.vcf.gz", + "normalised/strelka", + "normalised/strelka/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign", + "normalised/strelka/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.strelka.variants.dec.norm.vcf.gz", + "normalised/strelka/TCRBOA7-T-RNA_vs_TCRBOA7-N", + "normalised/strelka/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.strelka.variants.dec.norm.vcf.gz", + "normalised/strelka/TCRBOA7-T_vs_TCRBOA7-N", + "normalised/strelka/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.strelka.variants.dec.norm.vcf.gz", + "pipeline_info", + "pipeline_info/nf_core_rnadnavar_software_mqc_versions.yml", + "preprocessing", + "preprocessing/markduplicates", + "preprocessing/markduplicates/TCRBOA7-N_realign", + "preprocessing/markduplicates/TCRBOA7-N_realign/TCRBOA7-N_realign.md.cram", + "preprocessing/markduplicates/TCRBOA7-N_realign/TCRBOA7-N_realign.md.cram.crai", + "preprocessing/markduplicates/TCRBOA7-T-RNA_realign", + "preprocessing/markduplicates/TCRBOA7-T-RNA_realign/TCRBOA7-T-RNA_realign.md.cram", + "preprocessing/markduplicates/TCRBOA7-T-RNA_realign/TCRBOA7-T-RNA_realign.md.cram.crai", + "preprocessing/realignment", + "preprocessing/realignment/maf2bed", + "preprocessing/realignment/maf2bed/TCRBOA7-N_realign", + "preprocessing/realignment/maf2bed/TCRBOA7-N_realign/TCRBOA7-N_realign.bed", + "preprocessing/realignment/maf2bed/TCRBOA7-T-RNA_realign", + "preprocessing/realignment/maf2bed/TCRBOA7-T-RNA_realign/TCRBOA7-T-RNA_realign.bed", + "preprocessing/realignment/readids", + "preprocessing/realignment/readids/TCRBOA7-N_realign", + "preprocessing/realignment/readids/TCRBOA7-N_realign/TCRBOA7-N_realign_IDs_all.txt", + "preprocessing/realignment/readids/TCRBOA7-T-RNA_realign", + "preprocessing/realignment/readids/TCRBOA7-T-RNA_realign/TCRBOA7-T-RNA_realign_IDs_all.txt", + "preprocessing/splitncigarreads", + "preprocessing/splitncigarreads/TCRBOA7-T-RNA_realign", + "preprocessing/splitncigarreads/TCRBOA7-T-RNA_realign/TCRBOA7-T-RNA_realign.sncr.cram", + "preprocessing/splitncigarreads/TCRBOA7-T-RNA_realign/TCRBOA7-T-RNA_realign.sncr.cram.crai", + "reports", + "reports/EnsemblVEP", + "reports/EnsemblVEP/mutect2", + "reports/EnsemblVEP/mutect2/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign", + "reports/EnsemblVEP/mutect2/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.mutect2.filtered.dec.norm_VEP.ann.vcf.gz_summary.html", + "reports/EnsemblVEP/mutect2/TCRBOA7-T-RNA_vs_TCRBOA7-N", + "reports/EnsemblVEP/mutect2/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.mutect2.filtered.dec.norm_VEP.ann.vcf.gz_summary.html", + "reports/EnsemblVEP/mutect2/TCRBOA7-T_vs_TCRBOA7-N", + "reports/EnsemblVEP/mutect2/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.mutect2.filtered.dec.norm_VEP.ann.vcf.gz_summary.html", + "reports/EnsemblVEP/sage", + "reports/EnsemblVEP/sage/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign", + "reports/EnsemblVEP/sage/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.sage.dec.norm_VEP.ann.vcf.gz_summary.html", + "reports/EnsemblVEP/sage/TCRBOA7-T-RNA_vs_TCRBOA7-N", + "reports/EnsemblVEP/sage/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.sage.dec.norm_VEP.ann.vcf.gz_summary.html", + "reports/EnsemblVEP/sage/TCRBOA7-T_vs_TCRBOA7-N", + "reports/EnsemblVEP/sage/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.sage.dec.norm_VEP.ann.vcf.gz_summary.html", + "reports/EnsemblVEP/strelka", + "reports/EnsemblVEP/strelka/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign", + "reports/EnsemblVEP/strelka/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.strelka.variants.dec.norm_VEP.ann.vcf.gz_summary.html", + "reports/EnsemblVEP/strelka/TCRBOA7-T-RNA_vs_TCRBOA7-N", + "reports/EnsemblVEP/strelka/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.strelka.variants.dec.norm_VEP.ann.vcf.gz_summary.html", + "reports/EnsemblVEP/strelka/TCRBOA7-T_vs_TCRBOA7-N", + "reports/EnsemblVEP/strelka/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.strelka.variants.dec.norm_VEP.ann.vcf.gz_summary.html", + "reports/bcftools", + "reports/bcftools/mutect2", + "reports/bcftools/mutect2/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign", + "reports/bcftools/mutect2/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.mutect2.filtered.bcftools_stats.txt", + "reports/bcftools/mutect2/TCRBOA7-T-RNA_vs_TCRBOA7-N", + "reports/bcftools/mutect2/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.mutect2.filtered.bcftools_stats.txt", + "reports/bcftools/mutect2/TCRBOA7-T_vs_TCRBOA7-N", + "reports/bcftools/mutect2/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.mutect2.filtered.bcftools_stats.txt", + "reports/bcftools/sage", + "reports/bcftools/sage/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign", + "reports/bcftools/sage/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.sage.bcftools_stats.txt", + "reports/bcftools/sage/TCRBOA7-T-RNA_vs_TCRBOA7-N", + "reports/bcftools/sage/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.sage.bcftools_stats.txt", + "reports/bcftools/sage/TCRBOA7-T_vs_TCRBOA7-N", + "reports/bcftools/sage/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.sage.bcftools_stats.txt", + "reports/bcftools/strelka", + "reports/bcftools/strelka/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign", + "reports/bcftools/strelka/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.strelka.variants.bcftools_stats.txt", + "reports/bcftools/strelka/TCRBOA7-T-RNA_vs_TCRBOA7-N", + "reports/bcftools/strelka/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.strelka.variants.bcftools_stats.txt", + "reports/bcftools/strelka/TCRBOA7-T_vs_TCRBOA7-N", + "reports/bcftools/strelka/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.strelka.variants.bcftools_stats.txt", + "reports/consensus", + "reports/consensus/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.consensus.pdf", + "reports/consensus/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign_with_TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_vs_TCRBOA7-N.consensus.pdf", + "reports/consensus/TCRBOA7-T-RNA_vs_TCRBOA7-N.consensus.pdf", + "reports/consensus/TCRBOA7-T-RNA_vs_TCRBOA7-N_with_TCRBOA7-T_vs_TCRBOA7-N.consensus.pdf", + "reports/consensus/TCRBOA7-T_vs_TCRBOA7-N.consensus.pdf", + "reports/consensus/TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.consensus.pdf", + "reports/consensus/TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_vs_TCRBOA7-N.consensus.pdf", + "reports/markduplicates", + "reports/markduplicates/TCRBOA7-N_realign", + "reports/markduplicates/TCRBOA7-N_realign/TCRBOA7-N_realign.md.cram.metrics", + "reports/markduplicates/TCRBOA7-T-RNA_realign", + "reports/markduplicates/TCRBOA7-T-RNA_realign/TCRBOA7-T-RNA_realign.md.cram.metrics", + "reports/mosdepth", + "reports/mosdepth/TCRBOA7-N_realign", + "reports/mosdepth/TCRBOA7-N_realign/TCRBOA7-N_realign.md.mosdepth.global.dist.txt", + "reports/mosdepth/TCRBOA7-N_realign/TCRBOA7-N_realign.md.mosdepth.summary.txt", + "reports/mosdepth/TCRBOA7-N_realign/TCRBOA7-N_realign.md.per-base.bed.gz", + "reports/mosdepth/TCRBOA7-N_realign/TCRBOA7-N_realign.md.per-base.bed.gz.csi", + "reports/mosdepth/TCRBOA7-T-RNA_realign", + "reports/mosdepth/TCRBOA7-T-RNA_realign/TCRBOA7-T-RNA_realign.md.mosdepth.global.dist.txt", + "reports/mosdepth/TCRBOA7-T-RNA_realign/TCRBOA7-T-RNA_realign.md.mosdepth.summary.txt", + "reports/mosdepth/TCRBOA7-T-RNA_realign/TCRBOA7-T-RNA_realign.md.per-base.bed.gz", + "reports/mosdepth/TCRBOA7-T-RNA_realign/TCRBOA7-T-RNA_realign.md.per-base.bed.gz.csi", + "reports/multiqc_data", + "reports/multiqc_plots", + "reports/samtools", + "reports/vcftools", + "reports/vcftools/mutect2", + "reports/vcftools/mutect2/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign", + "reports/vcftools/mutect2/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.mutect2.filtered.FILTER.summary", + "reports/vcftools/mutect2/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.mutect2.filtered.TsTv.count", + "reports/vcftools/mutect2/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.mutect2.filtered.TsTv.qual", + "reports/vcftools/mutect2/TCRBOA7-T-RNA_vs_TCRBOA7-N", + "reports/vcftools/mutect2/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.mutect2.filtered.FILTER.summary", + "reports/vcftools/mutect2/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.mutect2.filtered.TsTv.count", + "reports/vcftools/mutect2/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.mutect2.filtered.TsTv.qual", + "reports/vcftools/mutect2/TCRBOA7-T_vs_TCRBOA7-N", + "reports/vcftools/mutect2/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.mutect2.filtered.FILTER.summary", + "reports/vcftools/mutect2/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.mutect2.filtered.TsTv.count", + "reports/vcftools/mutect2/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.mutect2.filtered.TsTv.qual", + "reports/vcftools/sage", + "reports/vcftools/sage/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign", + "reports/vcftools/sage/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.sage.FILTER.summary", + "reports/vcftools/sage/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.sage.TsTv.count", + "reports/vcftools/sage/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.sage.TsTv.qual", + "reports/vcftools/sage/TCRBOA7-T-RNA_vs_TCRBOA7-N", + "reports/vcftools/sage/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.sage.FILTER.summary", + "reports/vcftools/sage/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.sage.TsTv.count", + "reports/vcftools/sage/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.sage.TsTv.qual", + "reports/vcftools/sage/TCRBOA7-T_vs_TCRBOA7-N", + "reports/vcftools/sage/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.sage.FILTER.summary", + "reports/vcftools/sage/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.sage.TsTv.count", + "reports/vcftools/sage/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.sage.TsTv.qual", + "reports/vcftools/strelka", + "reports/vcftools/strelka/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign", + "reports/vcftools/strelka/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.strelka.variants.FILTER.summary", + "reports/vcftools/strelka/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.strelka.variants.TsTv.count", + "reports/vcftools/strelka/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.strelka.variants.TsTv.qual", + "reports/vcftools/strelka/TCRBOA7-T-RNA_vs_TCRBOA7-N", + "reports/vcftools/strelka/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.strelka.variants.FILTER.summary", + "reports/vcftools/strelka/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.strelka.variants.TsTv.count", + "reports/vcftools/strelka/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.strelka.variants.TsTv.qual", + "reports/vcftools/strelka/TCRBOA7-T_vs_TCRBOA7-N", + "reports/vcftools/strelka/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.strelka.variants.FILTER.summary", + "reports/vcftools/strelka/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.strelka.variants.TsTv.count", + "reports/vcftools/strelka/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.strelka.variants.TsTv.qual", + "reports/vt", + "reports/vt/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign", + "reports/vt/TCRBOA7-T-RNA_vs_TCRBOA7-N", + "reports/vt/TCRBOA7-T_vs_TCRBOA7-N", + "unzip", + "unzip/sage_ensembl", + "unzip/sage_ensembl/ensembl_gene_data.csv", + "unzip/sage_ensembl/ensembl_protein_features.csv", + "unzip/sage_ensembl/ensembl_trans_exon_data.csv", + "unzip/sage_ensembl/ensembl_trans_splice_data.csv", + "unzip/vep_hs", + "unzip/vep_hs/homo_sapiens", + "unzip/vep_hs/homo_sapiens/999_GRCh38", + "unzip/vep_hs/homo_sapiens/999_GRCh38/7", + "unzip/vep_hs/homo_sapiens/999_GRCh38/7/116000001-117000000.gz", + "unzip/vep_hs/homo_sapiens/999_GRCh38/7/116000001-117000000_reg.gz", + "unzip/vep_hs/homo_sapiens/999_GRCh38/7/18000001-19000000.gz", + "unzip/vep_hs/homo_sapiens/999_GRCh38/7/18000001-19000000_reg.gz", + "unzip/vep_hs/homo_sapiens/999_GRCh38/7/29000001-30000000.gz", + "unzip/vep_hs/homo_sapiens/999_GRCh38/7/29000001-30000000_reg.gz", + "unzip/vep_hs/homo_sapiens/999_GRCh38/7/44000001-45000000.gz", + "unzip/vep_hs/homo_sapiens/999_GRCh38/7/44000001-45000000_reg.gz", + "unzip/vep_hs/homo_sapiens/999_GRCh38/7/all_vars", + "unzip/vep_hs/homo_sapiens/999_GRCh38/7/all_vars.gz", + "unzip/vep_hs/homo_sapiens/999_GRCh38/7/all_vars.gz.csi", + "unzip/vep_hs/homo_sapiens/999_GRCh38/info.txt", + "variant_calling", + "variant_calling/mutect2", + "variant_calling/mutect2/TCRBOA7-N", + "variant_calling/mutect2/TCRBOA7-N/TCRBOA7-N.mutect2.pileups.table", + "variant_calling/mutect2/TCRBOA7-T", + "variant_calling/mutect2/TCRBOA7-T-RNA", + "variant_calling/mutect2/TCRBOA7-T-RNA/TCRBOA7-T-RNA.mutect2.pileups.table", + "variant_calling/mutect2/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign", + "variant_calling/mutect2/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.mutect2.filtered.vcf.gz", + "variant_calling/mutect2/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.mutect2.filtered.vcf.gz.filteringStats.tsv", + "variant_calling/mutect2/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.mutect2.filtered.vcf.gz.tbi", + "variant_calling/mutect2/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.mutect2.vcf.gz", + "variant_calling/mutect2/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.mutect2.vcf.gz.stats", + "variant_calling/mutect2/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.mutect2.vcf.gz.tbi", + "variant_calling/mutect2/TCRBOA7-T-RNA_vs_TCRBOA7-N", + "variant_calling/mutect2/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.mutect2.artifactprior.tar.gz", + "variant_calling/mutect2/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.mutect2.contamination.table", + "variant_calling/mutect2/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.mutect2.filtered.vcf.gz", + "variant_calling/mutect2/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.mutect2.filtered.vcf.gz.filteringStats.tsv", + "variant_calling/mutect2/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.mutect2.filtered.vcf.gz.tbi", + "variant_calling/mutect2/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.mutect2.segmentation.table", + "variant_calling/mutect2/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.mutect2.vcf.gz", + "variant_calling/mutect2/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.mutect2.vcf.gz.stats", + "variant_calling/mutect2/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.mutect2.vcf.gz.tbi", + "variant_calling/mutect2/TCRBOA7-T/TCRBOA7-T.mutect2.pileups.table", + "variant_calling/mutect2/TCRBOA7-T_vs_TCRBOA7-N", + "variant_calling/mutect2/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.mutect2.artifactprior.tar.gz", + "variant_calling/mutect2/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.mutect2.contamination.table", + "variant_calling/mutect2/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.mutect2.filtered.vcf.gz", + "variant_calling/mutect2/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.mutect2.filtered.vcf.gz.filteringStats.tsv", + "variant_calling/mutect2/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.mutect2.filtered.vcf.gz.tbi", + "variant_calling/mutect2/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.mutect2.segmentation.table", + "variant_calling/mutect2/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.mutect2.vcf.gz", + "variant_calling/mutect2/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.mutect2.vcf.gz.stats", + "variant_calling/mutect2/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.mutect2.vcf.gz.tbi", + "variant_calling/sage", + "variant_calling/sage/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign", + "variant_calling/sage/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.sage.vcf.gz", + "variant_calling/sage/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.sage.vcf.gz.tbi", + "variant_calling/sage/TCRBOA7-T-RNA_vs_TCRBOA7-N", + "variant_calling/sage/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.sage.vcf.gz", + "variant_calling/sage/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.sage.vcf.gz.tbi", + "variant_calling/sage/TCRBOA7-T_vs_TCRBOA7-N", + "variant_calling/sage/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.sage.vcf.gz", + "variant_calling/sage/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.sage.vcf.gz.tbi", + "variant_calling/strelka", + "variant_calling/strelka/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign", + "variant_calling/strelka/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.strelka.variants.vcf.gz", + "variant_calling/strelka/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.strelka.variants.vcf.gz.tbi", + "variant_calling/strelka/TCRBOA7-T-RNA_vs_TCRBOA7-N", + "variant_calling/strelka/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.strelka.variants.vcf.gz", + "variant_calling/strelka/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.strelka.variants.vcf.gz.tbi", + "variant_calling/strelka/TCRBOA7-T_vs_TCRBOA7-N", + "variant_calling/strelka/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.strelka.variants.vcf.gz", + "variant_calling/strelka/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.strelka.variants.vcf.gz.tbi" + ] + ], + "timestamp": "2026-06-24T16:38:39.016235561", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.3" + } + } +} \ No newline at end of file diff --git a/workflows/rnadnavar.nf b/workflows/rnadnavar.nf deleted file mode 100644 index cc5c73d3..00000000 --- a/workflows/rnadnavar.nf +++ /dev/null @@ -1,115 +0,0 @@ -/* -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - IMPORT MODULES / SUBWORKFLOWS / FUNCTIONS -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -*/ -include { FASTQC } from '../modules/nf-core/fastqc/main' -include { MULTIQC } from '../modules/nf-core/multiqc/main' -include { paramsSummaryMap } from 'plugin/nf-schema' -include { paramsSummaryMultiqc } from '../subworkflows/nf-core/utils_nfcore_pipeline' -include { softwareVersionsToYAML } from '../subworkflows/nf-core/utils_nfcore_pipeline' -include { methodsDescriptionText } from '../subworkflows/local/utils_nfcore_rnadnavar_pipeline' - -/* -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - RUN MAIN WORKFLOW -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -*/ - -workflow RNADNAVAR { - - take: - ch_samplesheet // channel: samplesheet read in from --input - main: - - ch_versions = channel.empty() - ch_multiqc_files = channel.empty() - // - // MODULE: Run FastQC - // - FASTQC ( - ch_samplesheet - ) - ch_multiqc_files = ch_multiqc_files.mix(FASTQC.out.zip.collect{it[1]}) - ch_versions = ch_versions.mix(FASTQC.out.versions.first()) - - // - // Collate and save software versions - // - def topic_versions = Channel.topic("versions") - .distinct() - .branch { entry -> - versions_file: entry instanceof Path - versions_tuple: true - } - - def topic_versions_string = topic_versions.versions_tuple - .map { process, tool, version -> - [ process[process.lastIndexOf(':')+1..-1], " ${tool}: ${version}" ] - } - .groupTuple(by:0) - .map { process, tool_versions -> - tool_versions.unique().sort() - "${process}:\n${tool_versions.join('\n')}" - } - - softwareVersionsToYAML(ch_versions.mix(topic_versions.versions_file)) - .mix(topic_versions_string) - .collectFile( - storeDir: "${params.outdir}/pipeline_info", - name: 'nf_core_' + 'rnadnavar_software_' + 'mqc_' + 'versions.yml', - sort: true, - newLine: true - ).set { ch_collated_versions } - - - // - // MODULE: MultiQC - // - ch_multiqc_config = channel.fromPath( - "$projectDir/assets/multiqc_config.yml", checkIfExists: true) - ch_multiqc_custom_config = params.multiqc_config ? - channel.fromPath(params.multiqc_config, checkIfExists: true) : - channel.empty() - ch_multiqc_logo = params.multiqc_logo ? - channel.fromPath(params.multiqc_logo, checkIfExists: true) : - channel.empty() - - summary_params = paramsSummaryMap( - workflow, parameters_schema: "nextflow_schema.json") - ch_workflow_summary = channel.value(paramsSummaryMultiqc(summary_params)) - ch_multiqc_files = ch_multiqc_files.mix( - ch_workflow_summary.collectFile(name: 'workflow_summary_mqc.yaml')) - ch_multiqc_custom_methods_description = params.multiqc_methods_description ? - file(params.multiqc_methods_description, checkIfExists: true) : - file("$projectDir/assets/methods_description_template.yml", checkIfExists: true) - ch_methods_description = channel.value( - methodsDescriptionText(ch_multiqc_custom_methods_description)) - - ch_multiqc_files = ch_multiqc_files.mix(ch_collated_versions) - ch_multiqc_files = ch_multiqc_files.mix( - ch_methods_description.collectFile( - name: 'methods_description_mqc.yaml', - sort: true - ) - ) - - MULTIQC ( - ch_multiqc_files.collect(), - ch_multiqc_config.toList(), - ch_multiqc_custom_config.toList(), - ch_multiqc_logo.toList(), - [], - [] - ) - - emit:multiqc_report = MULTIQC.out.report.toList() // channel: /path/to/multiqc_report.html - versions = ch_versions // channel: [ path(versions.yml) ] - -} - -/* -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - THE END -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -*/ diff --git a/workflows/rnadnavar/main.nf b/workflows/rnadnavar/main.nf new file mode 100644 index 00000000..31abc654 --- /dev/null +++ b/workflows/rnadnavar/main.nf @@ -0,0 +1,389 @@ +/* +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + IMPORT MODULES / SUBWORKFLOWS / FUNCTIONS +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +*/ + +include { MULTIQC } from '../../modules/nf-core/multiqc' +include { paramsSummaryMap } from 'plugin/nf-schema' +include { paramsSummaryMultiqc } from '../../subworkflows/nf-core/utils_nfcore_pipeline' +include { processVersionsFromYAML } from '../../subworkflows/nf-core/utils_nfcore_pipeline' +include { workflowVersionToYAML } from '../../subworkflows/nf-core/utils_nfcore_pipeline' +include { methodsDescriptionText } from '../../subworkflows/local/utils_nfcore_rnadnavar_pipeline' + + +/* +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + IMPORT LOCAL/NF-CORE MODULES/SUBWORKFLOWS +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +*/ +// +// SUBWORKFLOW: Consisting of a mix of local and nf-core/modules +// +// Build the genome index and other reference files +include { PREPARE_REFERENCE_AND_INTERVALS } from '../../subworkflows/local/prepare_reference_and_intervals' +include { PREPARE_INTERVALS as PREPARE_INTERVALS_FOR_REALIGNMENT } from '../../subworkflows/local/prepare_intervals' +// Download annotation cache if needed +include { ENSEMBLVEP_DOWNLOAD } from '../../modules/nf-core/ensemblvep/download' +include { UNZIP as UNZIP_VEP_CACHE } from '../../modules/nf-core/unzip' +include { ANNOTATION_CACHE_INITIALISATION } from '../../subworkflows/local/annotation_cache_initialisation' + +// Alignment +include { BAM_ALIGN } from '../../subworkflows/local/bam_align' + +// Core subworkflows of the pipeline +include { BAM_VARIANT_CALLING_PRE_POST_PROCESSING as BAM_PROCESSING } from '../../subworkflows/local/bam_variant_calling_pre_post_processing' + +// Second run +include { BAM_EXTRACT_READS_HISAT2_ALIGN as PREPARE_REALIGNMENT } from '../../subworkflows/local/prepare_realignment' +include { BAM_VARIANT_CALLING_PRE_POST_PROCESSING as REALIGNMENT } from '../../subworkflows/local/bam_variant_calling_pre_post_processing' + +// Filter RNA +include { MAF_FILTERING_RNA } from '../../subworkflows/local/maf_rna_filtering' + + +/* +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + RUN MAIN WORKFLOW +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +*/ + +workflow RNADNAVAR { + take: + ch_samplesheet // channel: samplesheet read in from --input + + main: + // To gather all QC reports for MultiQC + ch_multiqc_files = Channel.empty() + multiqc_report = Channel.empty() + reports = Channel.empty() + // To gather used softwares versions for MultiQC + versions = Channel.empty() + + // The samplesheet channel was already parsed and validated during pipeline initialisation. + input_sample = ch_samplesheet + mutect2_alleles = params.mutect2_alleles ? Channel.value(file(params.mutect2_alleles, checkIfExists: true)) : Channel.value([]) + mutect2_alleles_tbi = params.mutect2_alleles_tbi ? Channel.value(file(params.mutect2_alleles_tbi, checkIfExists: true)) : Channel.value([]) + + + // Initialise singleton MultiQC assets as plain file objects. This mirrors the + // nf-core rnaseq / sarek style more closely and avoids reshaping path channels + // through nested combine() calls, which can corrupt the staged config argument. + multiqc_config = [file("${projectDir}/assets/multiqc_config.yml", checkIfExists: true)] + multiqc_custom_config = params.multiqc_config ? [file(params.multiqc_config, checkIfExists: true)] : [] + multiqc_logo = params.multiqc_logo ? [file(params.multiqc_logo, checkIfExists: true)] : [file("${projectDir}/assets/nf-core-rnadnavar_logo_light.png", checkIfExists: true)] + ch_multiqc_custom_methods_description = params.multiqc_methods_description ? file(params.multiqc_methods_description, checkIfExists: true) : file("${projectDir}/assets/methods_description_template.yml", checkIfExists: true) + + // Download cache if needed + if (params.download_cache) { + ensemblvep_info = Channel.of([[id: "${params.vep_cache_version}_${params.vep_genome}"], params.vep_genome, params.vep_species, params.vep_cache_version]) + ENSEMBLVEP_DOWNLOAD(ensemblvep_info, false) + vep_cache = ENSEMBLVEP_DOWNLOAD.out.cache.first() + versions = versions.mix(ENSEMBLVEP_DOWNLOAD.out.versions_ensemblvep) + versions = versions.mix(ENSEMBLVEP_DOWNLOAD.out.versions_perlmathcdf) + } + else if (params.vep_cache && params.vep_cache.endsWith(".zip")) { + UNZIP_VEP_CACHE(Channel.fromPath(params.vep_cache).collect().map { it -> [[id: it[0].baseName], it] }) + vep_cache = UNZIP_VEP_CACHE.out.unzipped_archive.first() + versions = versions.mix(UNZIP_VEP_CACHE.out.versions_7za) + } + else { + // Assuming that if the cache is provided, the user has already downloaded it + ANNOTATION_CACHE_INITIALISATION( + (params.vep_cache && (params.tools && params.tools.split(',').contains("vep") || params.tools && params.tools.split(',').contains("realignment"))), + params.vep_cache, + params.vep_species, + params.vep_cache_version, + params.vep_genome, + params.vep_custom_args, + "Please refer to https://nf-co.re/rnadnavar/docs/usage/#how-to-customise-vep-annotation for more information.") + vep_cache = ANNOTATION_CACHE_INITIALISATION.out.ensemblvep_cache + } + + + // STEP 0: Build reference and indices if needed + PREPARE_REFERENCE_AND_INTERVALS( + params.dbsnp, + params.known_snps, + params.fasta, + params.germline_resource, + params.known_indels, + params.pon, + params.whitelist, + params.bwa, + params.bwamem2, + params.dragmap, + params.hisat2_index, + params.splicesites, + params.dict, + params.fasta_fai, + params.dbsnp_tbi, + params.germline_resource_tbi, + params.known_indels_tbi, + params.known_snps_tbi, + params.pon_tbi, + params.intervals, + params.no_intervals, + params.step, + params.nucleotides_per_second, + params.wes, + ) + versions = versions.mix(PREPARE_REFERENCE_AND_INTERVALS.out.versions) + + // Reference and intervals variables + fasta = PREPARE_REFERENCE_AND_INTERVALS.out.fasta + fasta_fai = PREPARE_REFERENCE_AND_INTERVALS.out.fasta_fai + dict = PREPARE_REFERENCE_AND_INTERVALS.out.dict + germline_resource = PREPARE_REFERENCE_AND_INTERVALS.out.germline_resource + germline_resource_tbi = PREPARE_REFERENCE_AND_INTERVALS.out.germline_resource_tbi + intervals = PREPARE_REFERENCE_AND_INTERVALS.out.intervals + intervals_for_preprocessing = PREPARE_REFERENCE_AND_INTERVALS.out.intervals_for_preprocessing + // specific for variant calling + intervals_bed_combined = PREPARE_REFERENCE_AND_INTERVALS.out.intervals_bed_combined + intervals_bed_gz_tbi = PREPARE_REFERENCE_AND_INTERVALS.out.intervals_bed_gz_tbi + intervals_bed_gz_tbi_combined = PREPARE_REFERENCE_AND_INTERVALS.out.intervals_bed_gz_tbi_combined + dbsnp = PREPARE_REFERENCE_AND_INTERVALS.out.dbsnp + dbsnp_tbi = PREPARE_REFERENCE_AND_INTERVALS.out.dbsnp_tbi + pon = PREPARE_REFERENCE_AND_INTERVALS.out.pon + pon_tbi = PREPARE_REFERENCE_AND_INTERVALS.out.pon_tbi + known_sites_indels = PREPARE_REFERENCE_AND_INTERVALS.out.known_sites_indels + known_sites_indels_tbi = PREPARE_REFERENCE_AND_INTERVALS.out.known_sites_indels_tbi + known_sites_snps = PREPARE_REFERENCE_AND_INTERVALS.out.known_sites_snps + known_sites_snps_tbi = PREPARE_REFERENCE_AND_INTERVALS.out.known_sites_snps_tbi + + intervals_and_num_intervals = intervals.map { interval, num_intervals -> + if (num_intervals < 1) { + [[], num_intervals] + } + else { + [interval, num_intervals] + } + } + // STEP 1: ALIGNMENT PREPROCESSING + BAM_ALIGN( + PREPARE_REFERENCE_AND_INTERVALS.out.bwa, + PREPARE_REFERENCE_AND_INTERVALS.out.bwamem2, + PREPARE_REFERENCE_AND_INTERVALS.out.dragmap, + PREPARE_REFERENCE_AND_INTERVALS.out.star_index, + PREPARE_REFERENCE_AND_INTERVALS.out.gtf, + fasta, + fasta_fai, + input_sample, + ) + + reports = reports.mix(BAM_ALIGN.out.reports) + versions = versions.mix(BAM_ALIGN.out.versions) + // 5 MAIN STEPS: GATK PREPROCESING - VARIANT CALLING - NORMALIZATION - CONSENSUS - ANNOTATION + BAM_PROCESSING( + input_sample, + BAM_ALIGN.out.bam_mapped, + BAM_ALIGN.out.cram_mapped, + fasta, + fasta_fai, + dict, + dbsnp, + dbsnp_tbi, + pon, + pon_tbi, + mutect2_alleles, + mutect2_alleles_tbi, + known_sites_indels, + known_sites_indels_tbi, + germline_resource, + germline_resource_tbi, + intervals, + intervals_for_preprocessing, + intervals_bed_gz_tbi, + intervals_bed_combined, + intervals_and_num_intervals, + intervals_bed_gz_tbi_combined, + vep_cache, + null, + null, + false, + params.no_intervals, + ) + filtered_maf = BAM_PROCESSING.out.maf + reports = reports.mix(BAM_PROCESSING.out.reports) + versions = versions.mix(BAM_PROCESSING.out.versions) + if (params.tools && params.tools.split(',').contains('realignment')) { + // fastq will not be split when realignment + params.split_fastq = 0 + // reset intervals to none (realignment files are smaller) + PREPARE_INTERVALS_FOR_REALIGNMENT( + fasta_fai, + null, + true, + params.step, + params.nucleotides_per_second, + params.wes, + ) + // hisat2 alignment + PREPARE_REALIGNMENT( + input_sample, + filtered_maf, + BAM_PROCESSING.out.cram_variant_calling, + fasta, + fasta_fai, + dict, + PREPARE_REFERENCE_AND_INTERVALS.out.hisat2_index, + PREPARE_REFERENCE_AND_INTERVALS.out.splicesites, + BAM_PROCESSING.out.dna_consensus_maf, + BAM_PROCESSING.out.dna_varcall_mafs, + ) + + versions = versions.mix(PREPARE_REALIGNMENT.out.versions) + + REALIGNMENT( + Channel.empty(), + PREPARE_REALIGNMENT.out.bam_mapped, + Channel.empty(), + fasta, + fasta_fai, + dict, + dbsnp, + dbsnp_tbi, + pon, + pon_tbi, + mutect2_alleles, + mutect2_alleles_tbi, + known_sites_indels, + known_sites_indels_tbi, + germline_resource, + germline_resource_tbi, + PREPARE_INTERVALS_FOR_REALIGNMENT.out.intervals_bed, + PREPARE_INTERVALS_FOR_REALIGNMENT.out.intervals_for_preprocessing, + PREPARE_INTERVALS_FOR_REALIGNMENT.out.intervals_bed_gz_tbi, + PREPARE_INTERVALS_FOR_REALIGNMENT.out.intervals_bed_combined, + PREPARE_INTERVALS_FOR_REALIGNMENT.out.intervals_and_num_intervals, + PREPARE_INTERVALS_FOR_REALIGNMENT.out.intervals_bed_gz_tbi_combined, + vep_cache, + PREPARE_REALIGNMENT.out.dna_consensus_maf, + PREPARE_REALIGNMENT.out.dna_varcall_mafs, + true, + true, + ) + + reports = reports.mix(REALIGNMENT.out.reports) + versions = versions.mix(REALIGNMENT.out.versions) + realigned_filtered_maf = REALIGNMENT.out.maf + } + else { + realigned_filtered_maf = Channel.empty() + } + filtered_maf.dump(tag: "filtered_maf") + realigned_filtered_maf.dump(tag: "realigned_filtered_maf") + MAF_FILTERING_RNA( + filtered_maf.branch { + dna: it[0].status < 2 + rna: it[0].status >= 2 + }.rna, + realigned_filtered_maf.branch { + dna: it[0].status < 2 + rna: it[0].status >= 2 + }.rna, + fasta, + fasta_fai, + input_sample, + ) + versions = versions.mix(MAF_FILTERING_RNA.out.versions) + // + // REPORTING + // + version_yaml = Channel.empty() + if (!(params.skip_tools && params.skip_tools.split(',').contains('versions'))) { + // The versions channel currently mixes legacy versions.yml files from local + // modules with modern nf-core [process, tool, version] tuples. + topic_versions = versions + .unique() + .branch { entry -> + versions_file: entry instanceof Path + versions_tuple: true + } + + topic_versions_string = topic_versions.versions_tuple + .map { process_name, tool_name, tool_version -> + [process_name.toString().tokenize(':')[-1], " ${tool_name}: ${tool_version}"] + } + .groupTuple(by: 0) + .map { process_name, tool_versions -> + "${process_name}:\n${tool_versions.unique().sort().join('\n')}" + } + + version_yaml = topic_versions.versions_file + .map { version_file -> processVersionsFromYAML(version_file.text) } + .mix(topic_versions_string) + .unique() + .mix(channel.of(workflowVersionToYAML())) + .collectFile(storeDir: "${params.outdir}/pipeline_info", name: 'nf_core_rnadnavar_software_mqc_versions.yml', sort: true, newLine: true) + } + + if (!(params.skip_tools && params.skip_tools.split(',').contains('multiqc'))) { + summary_params = paramsSummaryMap(workflow, parameters_schema: "nextflow_schema.json") + ch_workflow_summary = Channel.value(paramsSummaryMultiqc(summary_params)) + ch_multiqc_custom_methods_description = params.multiqc_methods_description ? file(params.multiqc_methods_description, checkIfExists: true) : file("${projectDir}/assets/methods_description_template.yml", checkIfExists: true) + ch_methods_description = Channel.value(methodsDescriptionText(ch_multiqc_custom_methods_description)) + ch_multiqc_files = ch_multiqc_files.mix(ch_workflow_summary.collectFile(name: 'workflow_summary_mqc.yaml')) + ch_multiqc_files = ch_multiqc_files.mix(version_yaml) + ch_multiqc_files = ch_multiqc_files.mix(reports) + ch_multiqc_files = ch_multiqc_files.mix(ch_methods_description.collectFile(name: 'methods_description_mqc.yaml', sort: true)) + + // Some local subworkflows still emit report tuples as [meta, file]. MultiQC + // expects only staged file paths here, so strip any metadata before collect(). + ch_multiqc_input = ch_multiqc_files + .flatMap { entry -> + if (entry instanceof Path) { + [entry] + } else if (entry instanceof List) { + entry.flatten().findAll { item -> item instanceof Path } + } else { + [] + } + } + .collect() + .map { multiqc_files -> + [[id: 'multiqc'], multiqc_files, multiqc_config + multiqc_custom_config, multiqc_logo, [], []] + } + + MULTIQC(ch_multiqc_input) + multiqc_report = MULTIQC.out.report.toList() + } + + emit: + multiqc_report = multiqc_report // channel: /path/to/multiqc_report.html + versions = versions // channel: [ path(versions.yml) ] +} + +/* +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + FUNCTIONS +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +*/ +// Parse first line of a FASTQ file, return the flowcell id and lane number. +def flowcellLaneFromFastq(path) { + // expected format: + // xx:yy:FLOWCELLID:LANE:... (seven fields) + // or + // FLOWCELLID:LANE:xx:... (five fields) + def line + path.withInputStream { + def InputStream gzipStream = new java.util.zip.GZIPInputStream(it) + def Reader decoder = new InputStreamReader(gzipStream, 'ASCII') + def BufferedReader buffered = new BufferedReader(decoder) + line = buffered.readLine() + } + assert line.startsWith('@') + line = line.substring(1) + def fields = line.split(':') + def String fcid + + if (fields.size() >= 7) { + // CASAVA 1.8+ format, from https://support.illumina.com/help/BaseSpace_OLH_009008/Content/Source/Informatics/BS/FileFormat_FASTQ-files_swBS.htm + // "@::::::: :::" + fcid = fields[2] + } + else if (fields.size() == 5) { + fcid = fields[0] + } + return fcid +}