├── .dockerignore ├── .github └── workflows │ └── autobuilds.yml ├── .gitignore ├── Dockerfile ├── README.md ├── docker_build.sh ├── pkg_check.R ├── sigflow.R ├── sigflow.Rproj └── test ├── example_cn.tsv ├── example_mat.csv ├── tcga_laml.maf.gz ├── test.sh ├── test_docker.sh └── vcf ├── test1.vcf ├── test2.vcf └── test3.vcf /.dockerignore: -------------------------------------------------------------------------------- 1 | .gitignore 2 | README.md 3 | sigflow.Rproj 4 | docker_build.sh 5 | test/test_docker.sh 6 | docs/ 7 | site/ 8 | mkdocs.yml 9 | -------------------------------------------------------------------------------- /.github/workflows/autobuilds.yml: -------------------------------------------------------------------------------- 1 | name: Auto-builds docker image 2 | 3 | on: 4 | push: 5 | branches: 6 | - 'master' 7 | tags: 8 | - '*.*.*' 9 | 10 | jobs: 11 | docker: 12 | runs-on: ubuntu-latest 13 | steps: 14 | - name: Checkout 15 | uses: actions/checkout@v4 16 | - name: Docker meta 17 | id: meta 18 | uses: docker/metadata-action@v5 19 | with: 20 | # list of Docker images to use as base name for tags 21 | images: | 22 | shixiangwang/sigflow 23 | ghcr.io/shixiangwang/sigflow 24 | # generate Docker tags based on the following events/attributes 25 | tags: | 26 | type=schedule 27 | type=ref,event=branch 28 | type=ref,event=pr 29 | type=semver,pattern={{version}} 30 | type=semver,pattern={{major}}.{{minor}} 31 | type=semver,pattern={{major}} 32 | type=sha 33 | - name: Set up QEMU 34 | uses: docker/setup-qemu-action@v3 35 | - name: Set up Docker Buildx 36 | uses: docker/setup-buildx-action@v3 37 | - name: Login to Docker Hub 38 | if: github.event_name != 'pull_request' 39 | uses: docker/login-action@v3 40 | with: 41 | username: ${{ secrets.DOCKERHUB_USERNAME }} 42 | password: ${{ secrets.DOCKERHUB_TOKEN }} 43 | - name: Login to GHCR 44 | if: github.event_name != 'pull_request' 45 | uses: docker/login-action@v3 46 | with: 47 | registry: ghcr.io 48 | username: ${{ github.actor }} 49 | password: ${{ secrets.GITHUB_TOKEN }} 50 | - name: Build and push 51 | uses: docker/build-push-action@v5 52 | with: 53 | context: . 54 | push: ${{ github.event_name != 'pull_request' }} 55 | tags: ${{ steps.meta.outputs.tags }} 56 | labels: ${{ steps.meta.outputs.labels }} 57 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .Rproj.user 2 | .Rhistory 3 | .RData 4 | .Ruserdata 5 | test_results 6 | .DS_Store 7 | Rplots.pdf 8 | site 9 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM r-base:4.3.2 2 | 3 | LABEL \ 4 | author="Shixiang Wang" \ 5 | maintainer="Shixiang Wang" \ 6 | email="wangshx@shanghaitech.edu.cn" \ 7 | description="Docker Image for Sigflow" \ 8 | org.label-schema.license="Academic Free License v.3.0" \ 9 | org.label-schema.vcs-url="https://github.com/ShixiangWang/sigflow/" \ 10 | org.label-schema.vendor="XSLiu Lab Project" 11 | 12 | ## Install system dependencies 13 | RUN apt update -y && apt install -y libcurl4-openssl-dev libxml2-dev libssl-dev cmake build-essential 14 | ## Install R packages which are easy to install 15 | ## Install reference genome packages which are big 16 | ## Install sigminer 17 | RUN R -e "install.packages('BiocManager', repos = 'https://cloud.r-project.org')" && \ 18 | R -e "BiocManager::install(c('remotes', 'data.table', 'dplyr', 'purrr', 'tidyr', 'furrr', 'Rcpp', 'cowplot', 'NMF', 'ggpubr', 'cli', 'reticulate', 'roxygen2'))" && \ 19 | R -e "BiocManager::install('BSgenome')" && \ 20 | R -e "BiocManager::install('BSgenome.Hsapiens.UCSC.hg19')" && \ 21 | R -e "BiocManager::install('BSgenome.Hsapiens.UCSC.hg38')" && \ 22 | R -e "BiocManager::install('BSgenome.Mmusculus.UCSC.mm10')" && \ 23 | R -e "BiocManager::install('ShixiangWang/sigminer@v2.3.0', dependencies = TRUE)" && \ 24 | R -e "library('sigminer'); load(system.file('extdata', 'toy_copynumber_tally_W.RData', package = 'sigminer', mustWork = TRUE)); mat = cn_tally_W[['nmf_matrix']]; print(mat);" 25 | ## Copy sigflow program and run test 26 | ## It is strange that the docopt cannot be installed to the first location 27 | ENV PATH /root/.local/share/r-miniconda/bin:$PATH 28 | COPY sigflow.R pkg_check.R /opt/ 29 | COPY ./test/ /opt/test/ 30 | RUN chmod -R a+w /usr/local/lib/R/site-library && \ 31 | R --vanilla -f /opt/pkg_check.R && \ 32 | R -e "install.packages('docopt', lib = .libPaths()[2])" && \ 33 | chmod u+x /opt/sigflow.R && ln -s /opt/sigflow.R /usr/bin/sigflow && \ 34 | cd /opt/test && chmod u+x test.sh && ./test.sh && rm -rf test_results && cd /root && \ 35 | apt autoremove -y && apt clean -y && apt purge -y && rm -rf /tmp/* /var/tmp/* 36 | WORKDIR /root 37 | ## Deploy 38 | ## When ENTRYPOINT is used, the docker can be only run as a command 39 | ## unless specify --entrypoint /bin/bash to access docker terminal 40 | ## see: https://phoenixnap.com/kb/docker-run-override-entrypoint 41 | ## sudo docker run -it --rm --entrypoint bash shixiangwang/sigflow 42 | ENTRYPOINT [ "sigflow" ] 43 | CMD [ "--help" ] 44 | ## Can entrypoint directly input outside files? 45 | ## CMD ["sigflow", "--help"] 46 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Sigflow: Streamline Analysis Workflows for Mutational Signatures 2 | 3 | GitHub repo size Docker Automated build Docker Image Version (latest by date) Docker Image Size (latest by date) Docker Pulls 4 | 5 | ``` 6 | .__ _____.__ 7 | _____|__| _____/ ____\ | ______ _ __ 8 | / ___/ |/ ___\ __\| | / _ \ \/ \/ / 9 | \___ \| / /_/ > | | |_( <_> ) / 10 | /____ >__\___ /|__| |____/\____/ \/\_/ 11 | \/ /_____/ 12 | ``` 13 | 14 | **Sigflow** provides useful mutational signature analysis workflows. It can auto-extract mutational signatures, 15 | fit mutation data to all/specified COSMIC reference signatures (SBS/DBS/INDEL) and run bootstrapping analysis for 16 | studying signature stability. 17 | 18 | > Any bugs or suggestions please report to [GitHub issues](https://github.com/ShixiangWang/sigflow/issues), I will respond as soon as possible. 19 | 20 |
21 | Table of content 22 | 23 | - [Sigflow: Streamline Analysis Workflows for Mutational Signatures](#sigflow-streamline-analysis-workflows-for-mutational-signatures) 24 | - [Installation](#installation) 25 | - [Use Sigflow docker image](#use-sigflow-docker-image) 26 | - [Usage](#usage) 27 | - [Commands and options](#commands-and-options) 28 | - [Input](#input) 29 | - [Use cases](#use-cases) 30 | - [`extract` command](#extract-command) 31 | - [`fit` command](#fit-command) 32 | - [`bt` command](#bt-command) 33 | - [`show` command](#show-command) 34 | - [How to use Docker to run Sigflow](#how-to-use-docker-to-run-sigflow) 35 | - [Updates](#updates) 36 | - [Test](#test) 37 | - [Other tools](#other-tools) 38 | - [Citation](#citation) 39 | - [License](#license) 40 | 41 |
42 | 43 | ## Installation 44 | 45 | If you would like to use [Docker](https://hub.docker.com/r/shixiangwang/sigflow), skip the following installation step and go to PART ['Use Sigflow docker image'](#use-sigflow-docker-image) directly. 46 | 47 | > Using Sigflow Docker image is recommended for users without experiences in programming, especially in R. 48 | 49 | Requirements: 50 | 51 | - R (>3.6). 52 | - R package [sigminer](https://github.com/ShixiangWang/sigminer). 53 | - R package [docopt](https://cran.r-project.org/package=docopt). 54 | 55 | Steps: 56 | 57 | 1. Install R - follow the instructions at . 58 | 2. Install R packages, run 59 | 60 | ```r 61 | install.packages("docopt") 62 | install.packages("BiocManager") 63 | BiocManager::install("sigminer", dependencies = TRUE) 64 | # Update Sigminer version 65 | install.packages("remotes") 66 | remotes::install_github("ShixiangWang/sigminer") 67 | # Install specific version by 68 | # remotes::install_github("ShixiangWang/sigminer@v1.0.17") 69 | ``` 70 | 71 | 3. Clone this repository, run 72 | 73 | ```bash 74 | $ git clone https://github.com/ShixiangWang/sigflow 75 | ``` 76 | 77 | 4. Link the R script as a executable file (command) 78 | 79 | ```bash 80 | $ cd sigflow 81 | $ ln -s $PWD/sigflow.R /usr/local/bin/sigflow # You can choose another place instead of /usr/bin/sigflow 82 | ``` 83 | 84 | 5. Try calling `sigflow` 85 | 86 | ```bash 87 | sigflow -h 88 | ``` 89 | 90 | > Maybe you need to restart your terminal. 91 | 92 | ## Use Sigflow docker image 93 | 94 | Use specified version (recommended way): 95 | 96 | ```bash 97 | # docker pull shixiangwang/sigflow:version, e.g. 98 | $ docker pull shixiangwang/sigflow:1.0 99 | ``` 100 | 101 | > NOTE: Sigflow version has no prefix `v`. 102 | 103 | Current available tag versions: 104 | 105 | - Docker Image Version Docker Image Size (tag) 106 | - Docker Image Version Docker Image Size (tag) 107 | - Docker Image Version Docker Image Size (tag) 108 | - Docker Image Version Docker Image Size (tag) 109 | - Docker Image Version Docker Image Size (tag) 110 | - Docker Image Version Docker Image Size (tag) 111 | - Docker Image Version Docker Image Size (tag) 112 | - Docker Image Version Docker Image Size (tag) 113 | - Docker Image Version Docker Image Size (tag) 114 | 115 | Use latest version: 116 | 117 | ```bash 118 | $ docker pull shixiangwang/sigflow:latest 119 | ``` 120 | 121 | > The latest version uses the latest (successful build) commit from GitHub, so it may have not been 122 | > prepared or fully tested. **So, be careful!** 123 | 124 | Run the docker by: 125 | 126 | ```bash 127 | $ docker run shixiangwang/sigflow 128 | ``` 129 | 130 | See [test/test_docker.sh](test/test_docker.sh) for examples. 131 | 132 | If you want to go into the docker container terminal, run 133 | 134 | ```bash 135 | $ docker run --rm --entrypoint /bin/bash -it shixiangwang/sigflow 136 | ``` 137 | 138 | ## Usage 139 | 140 | ### Commands and options 141 | 142 | All Sigflow commands and options are described as the following. 143 | 144 | ``` 145 | ================================================================= 146 | sigflow: Streamline Analysis Workflows for Mutational Signatures. 147 | 148 | Author: Shixiang Wang (wangshx@shanghaitech.edu.cn) 149 | Copyright: AFL@2020 [https://opensource.org/licenses/AFL-3.0] 150 | 151 | Desc: 152 | There are several subcommands. 153 | == 154 | extract - extract signatures by either automatic or semi-automatic way. 155 | Of note, when you use manual way, you need to run 2 times, 156 | firstly you should set --manual to get signature estimation results, 157 | and secondly you should set --manual --number N to get N signatures. 158 | == 159 | fit - fit signatures in >=1 samples based on COSMIC reference signatures. 160 | == 161 | bt - run bootstrap signature fitting analysis in >=1 samples. 162 | == 163 | show - show some useful information or plots. See README for details. 164 | 165 | Usage: 166 | sigflow extract --input= [--output=] [--mode=] [--manual --number ] [--max ] [--genome=] [--nrun=] [--cores=] [--sigprofiler] [--refit] [--hyper] [--verbose] 167 | sigflow fit --input= [--output=] [--index=] [--mode=] [--genome=] [--verbose] 168 | sigflow bt --input= [--output=] [--index=] [--mode=] [--genome=] [--nrun=] [--verbose] 169 | sigflow show [--isearch=] [--index= --mode=] [--output=] [--verbose] 170 | sigflow (-h | --help) 171 | sigflow --version 172 | 173 | Options: 174 | -h --help Show help message. 175 | --version Show version. 176 | -i , --input input CSV/EXCEL/MAF file or VCF directory path. 177 | -o , --output output directory path [default: ./sigflow_result/]. 178 | --index reference signature index separated by comma, e.g. '1,2,3' [default: ALL]. 179 | -m , --mode extract/fit mode, can be one of SBS, DBS, ID, MAF (for three types), CN (not supported in fit subcommand) [default: SBS]. 180 | --manual enable manual extraction, set -N=0 for outputing signature estimation firstly. 181 | -N , --number extract specified number of signatures [default: 0]. 182 | --max maximum signature number, default is auto-configured, should >2 [default: -1]. 183 | -g , --genome genome build, can be hg19, hg38 or mm10, [default: hg19]. 184 | -r , --nrun run times of NMF (extract) or bootstrapping (bt) to get results [default: 30]. 185 | -T , --cores cores to run the program, large dataset will benefit from it [default: 1]. 186 | --refit refit the de-novo signatures with quadratic programming or nnls (SigProfiler). 187 | --hyper enable hyper mutation handling in COSMIC signatures (not used by SigProfiler approach). 188 | --sigprofiler enable automatic extraction by SigProfiler software. 189 | --isearch search and how cancer type specific reference signature index by keyword, e.g. breast. 190 | -v, --verbose print verbose message. 191 | 192 | ================================================================= 193 | ``` 194 | 195 | ### Input 196 | 197 | Sigflow supports input data in VCF/MAF/CSV/EXCEL format. The file format is auto-detected by Sigflow. 198 | 199 | For SBS/DBS/INDEL data in CSV (including TSV) or EXCEL format, the following columns typically described in MAF format are necessary: 200 | 201 | - `Hugo_Symbol`: gene symbol 202 | - `Chromosome`: chromosome name, e.g. "chr1" 203 | - `Start_Position`: start positionof the variant (1-based) 204 | - `End_Position`: end position of the variant (1-based) 205 | - `Reference_Allele`: reference allele of the variant, e.g. "C" 206 | - `Tumor_Seq_Allele2`: tumor sequence allele, e.g. "T" 207 | - `Variant_Classification`: variant classification, e.g. "Missense_Mutation" 208 | - `Variant_Type`: variant type, e.g. "SNP" 209 | - `Tumor_Sample_Barcode`: sample identifier 210 | 211 | For copy number segment data in in CSV (including TSV) or EXCEL format, the following columns are necessary: 212 | 213 | - `Chromosome`: chromosome name, e.g. "chr1" 214 | - `Start.bp`: start breakpoint position of segment 215 | - `End.bp`: end breakpoint position of segment 216 | - `modal_cn`: integer copy number value 217 | - `sample`: sample identifier 218 | 219 | ## Use cases 220 | 221 | Example datasets along with many example code are available in clone repository above (you can read it online at [here](https://github.com/ShixiangWang/sigflow/tree/master/test)). 222 | 223 | The following parts give an example for each command. 224 | 225 | Result directory of any command has the following structure. 226 | 227 | - Files with extension`.RData` and `.rds` are R related files to reproduce the results, and can be imported into R for further analysis and visualization. 228 | - Files with extension`.pdf` are common visualization results used for communication. 229 | - Files with extension `.csv` are formated data tables used for inspection, communication or further analysis. 230 | 231 | #### `extract` command 232 | 233 | ```sh 234 | $ # Assume you have done the clone step 235 | $ # git clone https://github.com/ShixiangWang/sigflow 236 | $ cd sigflow/test 237 | $ sigflow extract -i tcga_laml.maf.gz -o test_results/test_maf -m MAF -r 10 -T 4 --max 10 238 | ``` 239 | 240 | This will auto-extract SBS/DBS/INDEL signatures from data `toga_laml.maf.gz` (a gzipped MAF file from [Maftools](https://github.com/PoisonAlien/maftools)) by 10 Bayesian NMF runs with 4 computer threads and output results to directory `test_results/test_maf`. At default, **Bayesian NMF** approach is used, it starts from 10 signatures (set by `--max`) and reduces to a optimal signature number. If `--sigprofiler` is enabled, i.e. 241 | 242 | ```sh 243 | $ sigflow extract -i tcga_laml.maf.gz -o test_results/test_maf -m MAF -r 10 -T 4 --max 10 --sigprofiler 244 | ``` 245 | 246 | Sigflow will use the [SigProfiler](https://github.com/AlexandrovLab/SigProfilerExtractor) to auto-extract signatures, here it will extract 2 to 10 signatures and determine the optimal solution. 247 | 248 | > NOTE, **in practice, set `-r` to a value `>=10` is recommended** for auto-extraction with Bayesian NMF, `>=100` for semi-automatic extraction with basic NMF and automatic extraction with SigProfiler (enabled by `--sigprofiler`). 249 | 250 | Results of `extract` command have the following structure: 251 | 252 | ![](https://gitee.com/ShixiangWang/ImageCollection/raw/master/png/20200909141307.png) 253 | 254 | > Here, no DBS records found in input data, so no corresponding result files exist. 255 | 256 | - Tally: mutation catalogue data and plots of all samples or individual samples are stored in files/directory contains `tally`. 257 | 258 | ![](https://gitee.com/ShixiangWang/ImageCollection/raw/master/png/20200909144059.png) 259 | 260 | ![](https://gitee.com/ShixiangWang/ImageCollection/raw/master/png/20200909143533.png) 261 | 262 | ![](https://gitee.com/ShixiangWang/ImageCollection/raw/master/png/20200909143624.png) 263 | 264 | - Signature: signature profile (relative contribution in each signature) data and plots of all samples are stored in files contains `signature`. 265 | 266 | ![](https://gitee.com/ShixiangWang/ImageCollection/raw/master/png/20200909144133.png) 267 | 268 | ![](https://gitee.com/ShixiangWang/ImageCollection/raw/master/png/20200909143815.png) 269 | 270 | ![](https://gitee.com/ShixiangWang/ImageCollection/raw/master/png/20200909143950.png) 271 | 272 | - Exposure: exposure profile (relative and absolute contribution of each signature to each sample) data and plots of all samples are stored in files contains `exposure`. 273 | 274 | ![](https://gitee.com/ShixiangWang/ImageCollection/raw/master/png/20200909144214.png) 275 | 276 | ![](https://gitee.com/ShixiangWang/ImageCollection/raw/master/png/20200909144310.png) 277 | 278 | ![](https://gitee.com/ShixiangWang/ImageCollection/raw/master/png/20200909144402.png) 279 | 280 | - Similarity: to understand the etiologies of extracted signatures, cosine similarity analysis is applied to extracted signatures and reference signatures from COSMIC database. The result files contains `similarity` and `best_match`. 281 | 282 | ![image-20200909144940222](https://gitee.com/ShixiangWang/ImageCollection/raw/master/png/20200909144940.png) 283 | 284 | ![image-20200909145001347](https://gitee.com/ShixiangWang/ImageCollection/raw/master/png/20200909145001.png) 285 | 286 | ![image-20200909145039312](https://gitee.com/ShixiangWang/ImageCollection/raw/master/png/20200909145039.png) 287 | 288 | ![image-20200909145114261](https://gitee.com/ShixiangWang/ImageCollection/raw/master/png/20200909145114.png) 289 | 290 | ![image-20200909145214337](https://gitee.com/ShixiangWang/ImageCollection/raw/master/png/20200909145214.png) 291 | 292 | - Clustering: the samples can be clustered based on signature relative exposure. This analysis is done by kmeans and the results are outputed (Note, the cluster number is same as signature number). 293 | 294 | ![image-20200909145522952](https://gitee.com/ShixiangWang/ImageCollection/raw/master/png/20200909145523.png) 295 | 296 | ![image-20200909145546261](https://gitee.com/ShixiangWang/ImageCollection/raw/master/png/20200909145546.png) 297 | 298 | ![image-20200909145649068](https://gitee.com/ShixiangWang/ImageCollection/raw/master/png/20200909145649.png) 299 | 300 | 301 | 302 | #### `fit` command 303 | 304 | ```sh 305 | $ # Assume you have done the clone step 306 | $ # git clone https://github.com/ShixiangWang/sigflow 307 | $ cd sigflow/test 308 | $ sigflow fit -i tcga_laml.maf.gz -o test_results/test_fitting -m MAF 309 | ``` 310 | 311 | This will auto-fit input data `tcga_laml.maf.gz` to COSMIC SBS/DBS/INDEL signatures. Signature exposure data tables and plots are outputed. 312 | 313 | Results of `fit` command have the following structure: 314 | 315 | ![image-20200909150037803](https://gitee.com/ShixiangWang/ImageCollection/raw/master/png/20200909150037.png) 316 | 317 | > Here, no DBS records found in input data, so no corresponding result files exist. 318 | > 319 | > `legacy` represents COSMIC v2 SBS signatures and `SBS` represents COSMIC v3 SBS signatures. 320 | 321 | - Tally: same as results from `extract` command. 322 | 323 | - Fitting: fitted relative/absolute signature exposure, reconstructed error (calculated by Frobenius norm) data and corresponding plots of all samples are stored in files contains `fitting`. 324 | 325 | ![image-20200909150444291](https://gitee.com/ShixiangWang/ImageCollection/raw/master/png/20200909150444.png) 326 | 327 | ![image-20200909151002018](https://gitee.com/ShixiangWang/ImageCollection/raw/master/png/20200909151002.png) 328 | 329 | > Relative signature exposure in each sample. 330 | 331 | ![image-20200909150607896](https://gitee.com/ShixiangWang/ImageCollection/raw/master/png/20200909150608.png) 332 | 333 | > Absolute signature exposure in each sample. 334 | 335 | ![image-20200909150902466](https://gitee.com/ShixiangWang/ImageCollection/raw/master/png/20200909150902.png) 336 | 337 | > Visualization of relative signature exposure. 338 | 339 | ![image-20200909150743352](https://gitee.com/ShixiangWang/ImageCollection/raw/master/png/20200909150743.png) 340 | 341 | > Visualization of absolute signature exposure. 342 | 343 | 344 | 345 | ![image-20200909150646872](https://gitee.com/ShixiangWang/ImageCollection/raw/master/png/20200909150646.png) 346 | 347 | > Reconstructed error for each sample. 348 | 349 | 350 | 351 | #### `bt` command 352 | 353 | Bootstrapping analysis was performed to evaluate the stability of signature exposure. For a tumor, this analysis firstly resamples mutations based on the observed mutation type (component) frequency and then applies signature fitting to the bootstrapping samples. For example, if a tumor harbors 100 mutations and 20 mutations are classified into T[C>T]T, then we resample 100 mutations and the probability to assign these mutation to T[C>T]T is 0.2. If we repeat such process many times, we can estimate the confidence interval of exposure of a signature in this tumor. 354 | 355 | > More details please read paper [Detecting presence of mutational signatures in cancer with confidence](https://academic.oup.com/bioinformatics/article/34/2/330/4209996). 356 | 357 | ```sh 358 | $ # Assume you have done the clone step 359 | $ # git clone https://github.com/ShixiangWang/sigflow 360 | $ cd sigflow/test 361 | $ sigflow bt -i tcga_laml.maf.gz -o test_results/test_bt -m SBS -r 5 362 | ``` 363 | 364 | This will resample mutation catalogue of each sample based on observed mutation type frequency and run signature fitting using COSMIC SBS/DBS/INDEL signatures. The process is repeated multiple times and controlled by option `-r` (here is 5). This bootstrap analysis is used to estimate the instability of signature exposure. Data tables and plots of bootstrap signature exposures, errors and p values under different exposure cutoff are outputed. 365 | 366 | > NOTE, in practice, set `-r` to a value `>=100` is recommended. 367 | 368 | Results of `bt` command have the following structure: 369 | 370 | ![image-20200909152336875](https://gitee.com/ShixiangWang/ImageCollection/raw/master/png/20200909152337.png) 371 | 372 | - Tally: same as results from `extract` command. 373 | 374 | - Bootstrap fitting: fitted relative/absolute signature exposure, reconstructed error (calculated by Frobenius norm of residue), signature instability data and corresponding plots of all bootstrapping samples and individual samples are stored in files/directory contains `bootstrap`. 375 | 376 | ![image-20200909153710051](https://gitee.com/ShixiangWang/ImageCollection/raw/master/png/20200909153710.png) 377 | 378 | ![image-20200909153800225](https://gitee.com/ShixiangWang/ImageCollection/raw/master/png/20200909153800.png) 379 | 380 | > Bootstrap signature exposure distribution. 381 | 382 | ![image-20200909154812780](https://gitee.com/ShixiangWang/ImageCollection/raw/master/png/20200909154812.png) 383 | 384 | > For each sample, the distribution of bootstrap exposures is plotted as boxplot and the fitting result with original input data is labelled by triangle. 385 | 386 | ![image-20200909154022111](https://gitee.com/ShixiangWang/ImageCollection/raw/master/png/20200909154022.png) 387 | 388 | > Note, the sample data without bootstrapping process are also fitted and labelled as `type = "optimal"` 389 | 390 | ![image-20200909153952230](https://gitee.com/ShixiangWang/ImageCollection/raw/master/png/20200909153952.png) 391 | 392 | ![image-20200909154325658](https://gitee.com/ShixiangWang/ImageCollection/raw/master/png/20200909154325.png) 393 | 394 | > The p values are calculated as the proportion of how many bootstrapping samples have exposures under specified exposure cutoff. 395 | 396 | ![image-20200909154555142](https://gitee.com/ShixiangWang/ImageCollection/raw/master/png/20200909154555.png) 397 | 398 | > Signature exposure instability is measured as MRSE between exposures in bootstrap samples and exposures in the original samples for each tumor/patient. 399 | 400 | 401 | 402 | 403 | #### `show` command 404 | 405 | `show` command provides extra information to help user analyze signatures. This includes: 406 | 407 | 1. Search cancer type specific signature indices, this may help user to set the reference indices in `fit` and `bt` commands. This information could read [online](https://shixiangwang.github.io/sigminer-doc/sigflow.html#cancer-type-specific-signature-index-database). 408 | 2. Generate COSMIC reference signature profiles. 409 | 410 | For the no.1 task, one could run 411 | 412 | ```sh 413 | $ sigflow show --isearch breast 414 | ``` 415 | 416 | This will generate the following output: 417 | 418 | ![image-20200918150257473](https://gitee.com/ShixiangWang/ImageCollection/raw/master/png/20200918150257.png) 419 | 420 | For the no.2 task, one could run 421 | 422 | ```sh 423 | sigflow show --mode SBS --index 1,2,3,7a -o test_show_sig_profile 424 | ``` 425 | 426 | This will generate signature profile for signature 1,2,3,7. For SBS, two versions of plots exist. 427 | 428 | ![image-20200918150649303](https://gitee.com/ShixiangWang/ImageCollection/raw/master/png/20200918150649.png) 429 | 430 | COSMIC v2: 431 | 432 | ![image-20200918150754770](https://gitee.com/ShixiangWang/ImageCollection/raw/master/png/20200918150754.png) 433 | 434 | COSMIC v3: 435 | 436 | ![image-20200918150825289](https://gitee.com/ShixiangWang/ImageCollection/raw/master/png/20200918150825.png) 437 | 438 | #### How to use Docker to run Sigflow 439 | 440 | If you use Docker to run Sigflow, you cannot directly call `sigflow` command. Instead, you should use `sudo docker run --rm -v /your_local_path:/docker_path shixiangwang/sigflow` to start a Docker container. 441 | 442 | For example, if you want to accomplish the same task shown in `extract` command above, you need to run: 443 | 444 | ```sh 445 | $ sudo docker run --rm -v /your_local_path:/docker_path shixiangwang/sigflow \ 446 | extract -i /docker_path/tcga_laml.maf.gz \ 447 | -o /docker_path/test_maf \ 448 | -m MAF -r 10 -T 4 --max 10 449 | ``` 450 | 451 | Here, 452 | 453 | - `--rm` will delete this container when this task is finished. 454 | - `-v` is used for mounting your local directory `/your_local_path` as `/docker_path` in Docker image. **This is important**. You need to use the Docker container path in Sigflow arguments. So there must be a file called `/your_local_path/tcga_laml.maf.gz` exists in your computer, it will be treated as `/docker_path/test_maf` in the container. 455 | 456 | ## Updates 457 | 458 | - 2024-04-01: upgraded sigminer to v2.3. 459 | - 2023-06-08: add thread controls in boostrap fit instead of using all available cores as workers. 460 | - 2022-02-13: add troubleshooting section. 461 | - 2021-06-17: upgraded sigminer to v2.0.2 to fix [issue #31](https://github.com/ShixiangWang/sigflow/issues/31). 462 | - 2021-04-02: upgraded sigminer to v2.0. 463 | - 2021-03-29: 464 | - enhanced data check. 465 | - upgraded sigminer to v1.9 (the alpha version for sigminer v2). 466 | - 2020-12-01: Another typo for hg38 reference genome build, thanks to @PalashPandey. 467 | - 2020-11-30: Fix a typo which incorrectly assign the reference genome, thanks to @PalashPandey. 468 | - 2020-10-19: Update citation paper. 469 | - 2020-09-28: Copy signature estimation output pdf file from SigProfiler to result directory, **release Sigflow 1.3**. 470 | - 2020-09-18: Update doc for `bt` command and add doc for `show` command. 471 | - 2020-09-15: Release **Sigflow 1.2** 472 | - Upgrade sigminer version (v1.0.18) to fix bug when outputing results for only one signatures ([#17](https://github.com/ShixiangWang/sigflow/issues/17)). 473 | - 2020-09-15: Prepare and try to release **Sigflow 1.1**. This is a version with its co-evolutionary R package Sigminer v1.0.17 and gold-standard de-novo signature extraction tool SigProfilerExtractor v1.0.17 as backends. 474 | - 2020-09-14: 475 | - Add new command `show` to search cancer type specific reference signature indices and plot COSMIC signatures. 476 | - Support `--refit` in SigProfiler calling. 477 | - Fix a bug in identifying COSMIC v2 indices in signature fitting. 478 | - Upgrade sigminer version to v1.0.17. 479 | - 2020-09-09: 480 | - Update README and documentation of input and usage. 481 | - 2020-09-03: 482 | - Use sigminer v1.0.15 and support inputing reference signature index in `fit` and `bt` commands. 483 | - Allow users to decide if refit the signature exposures after *de novo* extraction with `refit` option. 484 | - Support matrix as input. 485 | - 2020-08-14: Use sigminer v1.0.11 to use SigProfilerExtractor v1.0.15 to avoid issue raised from SigProfilerExtractor updates. 486 | - 2020-08-05: **Release Sigflow 1.0** and related Docker image. This version is based on Sigminer v1.0.10, R v4.0.2 and SigProfilerExtractor v.1.0.15. 487 | - Support SigProfiler. 488 | - Add `verbose` option. 489 | - Add `max` option. 490 | - Add `hyper` option. 491 | - More flexible and reasonable configuration. 492 | - 2020-07-29: **Release Sigflow 0.1** using Docker. Sigflow 0.1 is based on Sigminer v1.0.9 and R v4.0.2 493 | 494 | 495 | 496 | ## Test 497 | 498 | There are some example data sets in this repository, you can find how to test different workflows in [test/test.sh](test/test.sh). 499 | It is time consuming to run all tests, just pick an example test similar to your task and see how it works. Before releasing a new version of **Sigflow**, I would run all tests to make sure they work well. 500 | 501 | ## Troubleshooting 502 | 503 | 1. Error like `the supplied end is > refwidth`. ([[#32](https://github.com/ShixiangWang/sigflow/issues/32)]) 504 | 505 | The reference genome for variant calling is not (perfectly) match the specified genome in `sig_tally()`. If you make sure the reference genome is correct, please try finding the variant records with uncompatible position and removing them before rerun. 506 | 507 | 508 | ## Other tools 509 | 510 | - For interactive analysis and visualization, please refer to its co-evolutionary R package [sigminer](https://github.com/ShixiangWang/sigminer). 511 | - For mutation analysis, please refer to [Maftools](https://github.com/PoisonAlien/maftools). 512 | 513 | ## Citation 514 | 515 | If you are using **Sigflow** fow now in academic field, please cite: 516 | 517 | Shixiang Wang, Ziyu Tao, Tao Wu, Xue-Song Liu, Sigflow: An Automated And Comprehensive Pipeline For Cancer Genome Mutational Signature Analysis, Bioinformatics, btaa895, https://doi.org/10.1093/bioinformatics/btaa895 518 | 519 | ## License 520 | 521 | This software is released under [Academic Free License ("AFL") v.3.0](https://opensource.org/licenses/AFL-3.0) 522 | 523 | Copyright 2020 © Shixiang Wang, Xue-Song Liu 524 | -------------------------------------------------------------------------------- /docker_build.sh: -------------------------------------------------------------------------------- 1 | docker build -t sigflow . 2 | # Push steps: 3 | # docker login --username shixiangwang 4 | # docker tag bb389 shixiangwang/sigflow:tagname 5 | # docker push shixiangwang/sigflow:tagname -------------------------------------------------------------------------------- /pkg_check.R: -------------------------------------------------------------------------------- 1 | ## Modify based on code from https://stackoverflow.com/questions/46902203/verify-r-packages-installed-into-docker-container 2 | c("remotes", "sigminer", "BSgenome.Hsapiens.UCSC.hg38", "BSgenome.Mmusculus.UCSC.mm10") -> chk_pkgs 3 | 4 | ret <- suppressPackageStartupMessages( 5 | sapply(chk_pkgs, require, character.only = TRUE, quietly = FALSE, warn.conflicts = FALSE) 6 | ) 7 | 8 | missing_pkgs <- names(ret[!ret]) 9 | 10 | if (length(missing_pkgs) > 0) { 11 | warning("The following packages are not installed: ", 12 | paste0(sprintf(" - %s", missing_pkgs), collapse = "\n"), 13 | immediate. = TRUE 14 | ) 15 | message("Try installing them...") 16 | 17 | if ("sigminer" %in% missing_pkgs) { 18 | BiocManager::install("ShixiangWang/sigminer@v2.3.0", dependencies = TRUE) 19 | } 20 | 21 | rem_pkgs <- setdiff(missing_pkgs, "sigminer") 22 | 23 | if (length(rem_pkgs) > 0) { 24 | BiocManager::install(rem_pkgs) 25 | } 26 | 27 | ret <- suppressPackageStartupMessages( 28 | sapply(chk_pkgs, require, character.only = TRUE, quietly = FALSE, warn.conflicts = FALSE) 29 | ) 30 | 31 | missing_pkgs <- names(ret[!ret]) 32 | 33 | if (length(missing_pkgs) > 0) { 34 | warning("Still cannot fix installing problem, quit with -1.", immediate. = TRUE) 35 | } 36 | } 37 | 38 | data_type = c("chr_size", "centro_loc", "cytobands", "transcript", "gene") 39 | 40 | for (i in data_type) { 41 | sigminer::get_genome_annotation(data_type = i, genome_build = "hg19") 42 | sigminer::get_genome_annotation(data_type = i, genome_build = "hg38") 43 | sigminer::get_genome_annotation(data_type = i, genome_build = "mm10") 44 | } 45 | 46 | quit(save = "no", status = ifelse(length(missing_pkgs) == 0, 0, -1), runLast = FALSE) 47 | -------------------------------------------------------------------------------- /sigflow.R: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env Rscript 2 | 3 | "================================================================= 4 | sigflow: Streamline Analysis Workflows for Mutational Signatures. 5 | 6 | Author: Shixiang Wang (wangshx@shanghaitech.edu.cn) 7 | Copyright: AFL@2020-2023 [https://opensource.org/licenses/AFL-3.0] 8 | 9 | Desc: 10 | There are several subcommands. 11 | == 12 | extract - extract signatures by either automatic or semi-automatic way. 13 | Of note, when you use manual way, you need to run 2 times, 14 | firstly you should set --manual to get signature estimation results, 15 | and secondly you should set --manual --number N to get N signatures. 16 | == 17 | fit - fit signatures in >=1 samples based on COSMIC reference signatures. 18 | == 19 | bt - run bootstrap signature fitting analysis in >=1 samples. 20 | == 21 | show - show some useful information or plots. See README for details. 22 | 23 | Usage: 24 | sigflow extract --input= [--output=] [--mode=] [--manual --number ] [--max ] [--genome=] [--nrun=] [--cores=] [--sigprofiler] [--refit] [--hyper] [--verbose] 25 | sigflow fit --input= [--output=] [--index=] [--mode=] [--genome=] [--verbose] 26 | sigflow bt --input= [--output=] [--index=] [--mode=] [--genome=] [--nrun=] [--cores=] [--verbose] 27 | sigflow show [--isearch=] [--index= --mode=] [--output=] [--verbose] 28 | sigflow (-h | --help) 29 | sigflow --version 30 | 31 | Options: 32 | -h --help Show help message. 33 | --version Show version. 34 | -i , --input input CSV/EXCEL/MAF file or VCF directory path. 35 | -o , --output output directory path [default: ./sigflow_result/]. 36 | --index reference signature index separated by comma, e.g. '1,2,3' [default: ALL]. 37 | -m , --mode extract/fit mode, can be one of SBS, DBS, ID, MAF (for three types), CN (not supported in fit subcommand) [default: SBS]. 38 | --manual enable manual extraction, set -N=0 for outputing signature estimation firstly. 39 | -N , --number extract specified number of signatures [default: 0]. 40 | --max maximum signature number, default is auto-configured, should >2 [default: -1]. 41 | -g , --genome genome build, can be hg19, hg38 or mm10, [default: hg19]. 42 | -r , --nrun run times of NMF (extract) or bootstrapping (bt) to get results [default: 30]. 43 | -T , --cores cores to run the program, large dataset will benefit from it [default: 1]. 44 | --refit refit the de-novo signatures with quadratic programming or nnls (SigProfiler). 45 | --hyper enable hyper mutation handling in COSMIC signatures (not used by SigProfiler approach). 46 | --sigprofiler enable automatic extraction by SigProfiler software. 47 | --isearch search and how cancer type specific reference signature index by keyword, e.g. breast. 48 | -v, --verbose print verbose message. 49 | 50 | ================================================================= 51 | " -> doc 52 | 53 | if (!suppressMessages(require("docopt"))) { 54 | install.packages("docopt", repos = "https://cloud.r-project.org") 55 | } 56 | 57 | library("docopt") 58 | arguments <- docopt(doc, version = "sigflow v2.1\n") 59 | 60 | ## Stop error parsing 61 | if (!exists("arguments")) { 62 | quit("no", status = -1) 63 | } 64 | 65 | message(" 66 | ================================================================= 67 | 68 | .__ _____.__ 69 | _____|__| _____/ ____\\ | ______ _ __ 70 | / ___/ |/ ___\\ __\\| | / _ \\ \\/ \\/ / 71 | \\___ \\| / /_/ > | | |_( <_> ) / 72 | /____ >__\\___ /|__| |____/\\____/ \\/\\_/ 73 | \\/ /_____/ 74 | 75 | Name : sigflow 76 | Author : Shixiang Wang 77 | Version: 2.2 78 | License: AFL 3.0 79 | Link : https://github.com/ShixiangWang/sigflow 80 | Doc : https://github.com/ShixiangWang/sigflow 81 | ============================== START 82 | ") 83 | 84 | 85 | # Parsing input ----------------------------------------------------------- 86 | 87 | ARGS <- arguments[!startsWith(names(arguments), "--")] 88 | if (!is.null(ARGS$input) | ARGS$verbose) { 89 | message("Parsing parameters...\n------") 90 | for (i in seq_along(ARGS)) { 91 | if (names(ARGS)[i] %in% "sigprofiler") { 92 | message(names(ARGS)[i], "\t: ", ARGS[i]) 93 | } else { 94 | message(names(ARGS)[i], "\t\t: ", ARGS[i]) 95 | } 96 | } 97 | message("------\n") 98 | } 99 | 100 | message("User command calling: ", paste(commandArgs(), collapse = " ")) 101 | message("------\n") 102 | # Function part ----------------------------------------------------------- 103 | ## Program to go 104 | 105 | flow_extraction <- function(obj, genome_build, mode, manual_step, nrun, cores, result_dir, 106 | max_number = 100, 107 | refit = TRUE, 108 | rm_hyper = FALSE, sigprofiler = FALSE) { 109 | if (!dir.exists(file.path(result_dir, "results"))) { 110 | dir.create(file.path(result_dir, "results"), recursive = TRUE) 111 | } 112 | 113 | timer <- Sys.time() 114 | sigminer:::send_info("Pipeline for extraction started.") 115 | on.exit(sigminer:::send_elapsed_time(timer)) 116 | 117 | ref_genome <- switch( 118 | genome_build, 119 | hg19 = "BSgenome.Hsapiens.UCSC.hg19", 120 | hg38 = "BSgenome.Hsapiens.UCSC.hg38", 121 | mm10 = "BSgenome.Mmusculus.UCSC.mm10") 122 | 123 | if (!suppressMessages(require(ref_genome, character.only = TRUE))) { 124 | sigminer:::send_info("Package ", ref_genome, " not found, try installing.") 125 | BiocManager::install(ref_genome) 126 | } 127 | 128 | if (mode != "CN") { 129 | if (mode == "MAF") { 130 | mode <- "ALL" 131 | } 132 | if (manual_step <= 0) { 133 | if (!is.matrix(obj)) { 134 | tally_list <- sig_tally(obj, mode = "ALL", ref_genome = ref_genome) 135 | } else { 136 | ## Construct a fake tally result 137 | ## In this situation, mode cannot be ALL 138 | mm <- switch(mode, 139 | SBS = "SBS_96", 140 | DBS = "DBS_78", 141 | ID = "ID_83" 142 | ) 143 | tally_list <- list() 144 | tally_list[[mm]] <- obj %>% t() 145 | } 146 | save(tally_list, file = file.path(result_dir, "maf_tally.RData")) 147 | if (!is.null(tally_list$SBS_96) & mode %in% c("SBS", "ALL")) { 148 | output_tally(tally_list$SBS_96[rowSums(tally_list$SBS_96) > 0, , drop = FALSE] %>% t(), result_dir = file.path(result_dir, "results"), mut_type = "SBS") 149 | } 150 | if (!is.null(tally_list$DBS_78) & mode %in% c("DBS", "ALL")) { 151 | output_tally(tally_list$DBS_78[rowSums(tally_list$DBS_78) > 0, , drop = FALSE] %>% t(), result_dir = file.path(result_dir, "results"), mut_type = "DBS") 152 | } 153 | if (!is.null(tally_list$ID_83) & mode %in% c("ID", "ALL")) { 154 | output_tally(tally_list$ID_83[rowSums(tally_list$ID_83) > 0, , drop = FALSE] %>% t(), result_dir = file.path(result_dir, "results"), mut_type = "ID") 155 | } 156 | } 157 | } else { 158 | if (manual_step <= 0) { 159 | if (!is.matrix(obj)) { 160 | tally_list <- sig_tally(obj, ignore_chrs = c("chrX", "chrY"), cores = cores) 161 | } else { 162 | tally_list <- list() 163 | tally_list[["nmf_matrix"]] <- obj %>% t() 164 | } 165 | save(tally_list, file = file.path(result_dir, "cn_tally.RData")) 166 | output_tally(tally_list, result_dir = file.path(result_dir, "results"), mut_type = "CN") 167 | } 168 | } 169 | 170 | if (min(dim(tally_list[[1]])) < 2) { 171 | sigminer:::send_error("`extract` command is not designed for data from one sample! Please switch to `fit` command") 172 | stop("normally quit") 173 | } 174 | 175 | if (manual_step < 0) { 176 | ## auto-extract 177 | if (mode == "CN") { 178 | if (sigprofiler) { 179 | sigprofiler_extract( 180 | nmf_matrix = tally_list$nmf_matrix, 181 | output = file.path(result_dir, "SigProfiler_CN"), 182 | range = 2:min(30, nrow(tally_list$nmf_matrix) - 1, max_number), 183 | nrun = nrun, 184 | refit = refit, 185 | cores = cores, 186 | use_conda = TRUE 187 | ) 188 | f <- list.files(file.path(result_dir, "SigProfiler_CN"), 189 | "selection_plot.pdf", all.files = TRUE, full.names = TRUE, recursive = TRUE) 190 | if (file.exists(f)) { 191 | file.copy(f, to = file.path(result_dir, "results", "SigProfiler_CN_signature_number_selection.pdf"), overwrite = TRUE) 192 | } 193 | sigs_CN <- sigprofiler_import(file.path(result_dir, "SigProfiler_CN"), type = if (refit) "refit" else "suggest") 194 | data.table::fwrite(sigs_CN$all_stats, file = file.path(result_dir, "results", "SigProfiler_CN_stats.csv")) 195 | sigs_CN <- sigs_CN$solution 196 | } else { 197 | sigminer:::send_info("Auto extract copy number signatures.") 198 | sigs_CN <- sig_auto_extract( 199 | nmf_matrix = tally_list$nmf_matrix, 200 | result_prefix = "BayesianNMF_CN", 201 | destdir = file.path(result_dir, "BayesianNMF"), 202 | strategy = "stable", 203 | K0 = min(30, nrow(tally_list$nmf_matrix) - 1, max_number), 204 | nrun = nrun, 205 | cores = cores, 206 | optimize = refit, 207 | skip = TRUE 208 | ) 209 | } 210 | } else { 211 | if (mode == "ALL" | mode == "SBS") { 212 | mat <- tally_list$SBS_96 213 | if (!is.null(mat)) { 214 | sigminer:::send_info("Auto extract SBS signatures.") 215 | if (sigprofiler) { 216 | sigprofiler_extract( 217 | nmf_matrix = mat, 218 | output = file.path(result_dir, "SigProfiler_SBS"), 219 | range = 2:min(30, nrow(mat) - 1, max_number), 220 | nrun = nrun, 221 | refit = refit, 222 | cores = cores, 223 | use_conda = TRUE 224 | ) 225 | f <- list.files(file.path(result_dir, "SigProfiler_SBS"), 226 | "selection_plot.pdf", all.files = TRUE, full.names = TRUE, recursive = TRUE) 227 | if (file.exists(f)) { 228 | file.copy(f, to = file.path(result_dir, "results", "SigProfiler_SBS_signature_number_selection.pdf"), overwrite = TRUE) 229 | } 230 | sigs_SBS <- sigprofiler_import(file.path(result_dir, "SigProfiler_SBS"), type = if (refit) "refit" else "suggest") 231 | data.table::fwrite(sigs_SBS$all_stats, file = file.path(result_dir, "results", "SigProfiler_SBS_stats.csv")) 232 | sigs_SBS <- sigs_SBS$solution 233 | } else { 234 | if (rm_hyper) { 235 | mat <- sigminer::handle_hyper_mutation(mat) 236 | } 237 | sigs_SBS <- sig_auto_extract( 238 | nmf_matrix = mat, 239 | result_prefix = "BayesianNMF_SBS", 240 | destdir = file.path(result_dir, "BayesianNMF"), 241 | strategy = "stable", 242 | K0 = min(30, nrow(mat) - 1, max_number), 243 | nrun = nrun, 244 | cores = cores, 245 | optimize = refit, 246 | skip = TRUE 247 | ) 248 | } 249 | } else { 250 | sigminer:::send_info("SBS_96 matrix is NULL, skip extracting.") 251 | } 252 | } 253 | if (mode == "ALL" | mode == "DBS") { 254 | mat <- tally_list$DBS_78 255 | if (!is.null(mat)) { 256 | sigminer:::send_info("Auto extract DBS signatures.") 257 | if (sigprofiler) { 258 | sigprofiler_extract( 259 | nmf_matrix = mat, 260 | output = file.path(result_dir, "SigProfiler_DBS"), 261 | range = 2:min(15, nrow(mat) - 1, max_number), 262 | nrun = nrun, 263 | refit = refit, 264 | cores = cores, 265 | use_conda = TRUE 266 | ) 267 | f <- list.files(file.path(result_dir, "SigProfiler_DBS"), 268 | "selection_plot.pdf", all.files = TRUE, full.names = TRUE, recursive = TRUE) 269 | if (file.exists(f)) { 270 | file.copy(f, to = file.path(result_dir, "results", "SigProfiler_DBS_signature_number_selection.pdf"), overwrite = TRUE) 271 | } 272 | sigs_DBS <- sigprofiler_import(file.path(result_dir, "SigProfiler_DBS"), type = if (refit) "refit" else "suggest") 273 | data.table::fwrite(sigs_DBS$all_stats, file = file.path(result_dir, "results", "SigProfiler_DBS_stats.csv")) 274 | sigs_DBS <- sigs_DBS$solution 275 | } else { 276 | if (rm_hyper) { 277 | mat <- sigminer::handle_hyper_mutation(mat) 278 | } 279 | sigs_DBS <- sig_auto_extract( 280 | nmf_matrix = mat, 281 | result_prefix = "BayesianNMF_DBS", 282 | destdir = file.path(result_dir, "BayesianNMF"), 283 | strategy = "stable", 284 | K0 = min(15, nrow(mat) - 1, max_number), 285 | nrun = nrun, 286 | cores = cores, 287 | optimize = refit, 288 | skip = TRUE 289 | ) 290 | } 291 | } else { 292 | sigminer:::send_info("DBS_78 matrix is NULL, skip extracting.") 293 | } 294 | } 295 | if (mode == "ALL" | mode == "ID") { 296 | mat <- tally_list$ID_83 297 | if (!is.null(mat)) { 298 | sigminer:::send_info("Auto extract ID signatures.") 299 | if (sigprofiler) { 300 | sigprofiler_extract( 301 | nmf_matrix = mat, 302 | output = file.path(result_dir, "SigProfiler_ID"), 303 | range = 2:min(20, nrow(mat) - 1, max_number), 304 | nrun = nrun, 305 | refit = refit, 306 | cores = cores, 307 | use_conda = TRUE 308 | ) 309 | f <- list.files(file.path(result_dir, "SigProfiler_ID"), 310 | "selection_plot.pdf", all.files = TRUE, full.names = TRUE, recursive = TRUE) 311 | if (file.exists(f)) { 312 | file.copy(f, to = file.path(result_dir, "results", "SigProfiler_ID_signature_number_selection.pdf"), overwrite = TRUE) 313 | } 314 | sigs_ID <- sigprofiler_import(file.path(result_dir, "SigProfiler_ID"), type = if (refit) "refit" else "suggest") 315 | data.table::fwrite(sigs_ID$all_stats, file = file.path(result_dir, "results", "SigProfiler_ID_stats.csv")) 316 | sigs_ID <- sigs_ID$solution 317 | } else { 318 | if (rm_hyper) { 319 | mat <- sigminer::handle_hyper_mutation(mat) 320 | } 321 | sigs_ID <- sig_auto_extract( 322 | nmf_matrix = mat, 323 | result_prefix = "BayesianNMF_ID", 324 | destdir = file.path(result_dir, "BayesianNMF"), 325 | strategy = "stable", 326 | K0 = min(20, nrow(mat) - 1, max_number), 327 | nrun = nrun, 328 | cores = cores, 329 | optimize = refit, 330 | skip = TRUE 331 | ) 332 | } 333 | } else { 334 | sigminer:::send_info("ID_83 matrix is NULL, skip extracting.") 335 | } 336 | } 337 | } 338 | } else { 339 | ## manual-extract 340 | if (manual_step == 0) { 341 | suppressPackageStartupMessages(library("NMF")) 342 | ## do signature estimation 343 | if (mode == "CN") { 344 | est_CN <- sig_estimate( 345 | nmf_matrix = tally_list$nmf_matrix, 346 | nrun = nrun, 347 | range = 2:min(30, max_number), 348 | cores = cores, 349 | save_plots = TRUE, 350 | plot_basename = file.path(result_dir, "manual_extraction", "CN_sig_number"), 351 | verbose = TRUE 352 | ) 353 | 354 | data.table::fwrite(est_CN$survey, file = file.path(result_dir, "manual_extraction", "CN_sig_number_survey.csv")) 355 | p <- show_sig_number_survey(est_CN$survey) 356 | ggsave(file.path(result_dir, "manual_extraction", "CN_sig_number_survey_simple.pdf"), 357 | plot = p, 358 | width = 10, height = 6 359 | ) 360 | } else { 361 | if (mode == "ALL" | mode == "SBS") { 362 | mat <- tally_list$SBS_96 363 | 364 | if (!is.null(mat)) { 365 | est_SBS <- sig_estimate( 366 | nmf_matrix = mat, 367 | nrun = nrun, 368 | range = 2:min(30, max_number), 369 | cores = cores, 370 | save_plots = TRUE, 371 | plot_basename = file.path(result_dir, "manual_extraction", "SBS_sig_number"), 372 | verbose = TRUE 373 | ) 374 | 375 | data.table::fwrite(est_SBS$survey, file = file.path(result_dir, "manual_extraction", "SBS_sig_number_survey.csv")) 376 | p <- show_sig_number_survey(est_SBS$survey) 377 | ggsave(file.path(result_dir, "manual_extraction", "SBS_sig_number_survey_simple.pdf"), 378 | plot = p, 379 | width = 10, height = 6 380 | ) 381 | } 382 | } 383 | if (mode == "ALL" | mode == "DBS") { 384 | mat <- tally_list$DBS_78 385 | 386 | if (!is.null(mat)) { 387 | est_DBS <- sig_estimate( 388 | nmf_matrix = mat, 389 | nrun = nrun, 390 | range = 2:min(15, max_number), 391 | cores = cores, 392 | save_plots = TRUE, 393 | plot_basename = file.path(result_dir, "manual_extraction", "DBS_sig_number"), 394 | verbose = TRUE 395 | ) 396 | 397 | data.table::fwrite(est_DBS$survey, file = file.path(result_dir, "manual_extraction", "DBS_sig_number_survey.csv")) 398 | p <- show_sig_number_survey(est_DBS$survey) 399 | ggsave(file.path(result_dir, "manual_extraction", "DBS_sig_number_survey_simple.pdf"), 400 | plot = p, 401 | width = 10, height = 6 402 | ) 403 | } 404 | } 405 | if (mode == "ALL" | mode == "ID") { 406 | mat <- tally_list$ID_83 407 | 408 | if (!is.null(mat)) { 409 | est_ID <- sig_estimate( 410 | nmf_matrix = mat, 411 | nrun = nrun, 412 | range = 2:min(20, max_number), 413 | cores = cores, 414 | save_plots = TRUE, 415 | plot_basename = file.path(result_dir, "manual_extraction", "ID_sig_number"), 416 | verbose = TRUE 417 | ) 418 | 419 | data.table::fwrite(est_ID$survey, file = file.path(result_dir, "manual_extraction", "ID_sig_number_survey.csv")) 420 | p <- show_sig_number_survey(est_ID$survey) 421 | ggsave(file.path(result_dir, "manual_extraction", "ID_sig_number_survey_simple.pdf"), 422 | plot = p, 423 | width = 10, height = 6 424 | ) 425 | } 426 | } 427 | } 428 | 429 | message("==============================") 430 | message( 431 | "Checking plots in ", 432 | file.path(result_dir, "manual_extraction"), 433 | " to choose a proper signature number for running the next step." 434 | ) 435 | message("NOTE: if you run all mutation types in this steps, you have to extract them one by one.") 436 | message("==============================") 437 | } else { 438 | suppressPackageStartupMessages(library("NMF")) 439 | ## extract specified signatures 440 | if (mode == "CN") { 441 | load(file = file.path(result_dir, "cn_tally.RData")) 442 | 443 | sigs_CN <- sig_extract( 444 | nmf_matrix = tally_list$nmf_matrix, 445 | n_sig = manual_step, 446 | nrun = nrun, 447 | cores = cores, 448 | optimize = refit 449 | ) 450 | } else { 451 | load(file = file.path(result_dir, "maf_tally.RData")) 452 | 453 | if (mode == "ALL") { 454 | sigminer:::send_warning("In the step 2 of manual extraction, you can only extract one type of signature (SBS/DBS/ID).") 455 | sigminer:::send_warning("Set mode to 'SBS'.") 456 | mode <- "SBS" 457 | } 458 | 459 | if (mode == "SBS") { 460 | mat <- tally_list$SBS_96 461 | 462 | if (!is.null(mat)) { 463 | if (rm_hyper) { 464 | mat <- sigminer::handle_hyper_mutation(mat) 465 | } 466 | sigs_SBS <- sig_extract( 467 | nmf_matrix = mat, 468 | n_sig = manual_step, 469 | nrun = nrun, 470 | cores = cores, 471 | optimize = refit 472 | ) 473 | } 474 | } 475 | if (mode == "DBS") { 476 | mat <- tally_list$DBS_78 477 | 478 | if (!is.null(mat)) { 479 | if (rm_hyper) { 480 | mat <- sigminer::handle_hyper_mutation(mat) 481 | } 482 | sigs_DBS <- sig_extract( 483 | nmf_matrix = mat, 484 | n_sig = manual_step, 485 | nrun = nrun, 486 | cores = cores, 487 | optimize = refit 488 | ) 489 | } 490 | } 491 | if (mode == "ID") { 492 | mat <- tally_list$ID_83 493 | 494 | if (!is.null(mat)) { 495 | if (rm_hyper) { 496 | mat <- sigminer::handle_hyper_mutation(mat) 497 | } 498 | sigs_ID <- sig_extract( 499 | nmf_matrix = mat, 500 | n_sig = manual_step, 501 | nrun = nrun, 502 | cores = cores, 503 | optimize = refit 504 | ) 505 | } 506 | } 507 | } 508 | } 509 | } 510 | 511 | ## Outputing to result sub-directories: CN, SBS, DBS, ID, etc. 512 | if (exists("sigs_CN")) { 513 | output_sig(sigs_CN, result_dir = file.path(result_dir, "results"), mut_type = "CN") 514 | } 515 | if (exists("sigs_SBS")) { 516 | output_sig(sigs_SBS, result_dir = file.path(result_dir, "results"), mut_type = "SBS") 517 | } 518 | if (exists("sigs_DBS")) { 519 | output_sig(sigs_DBS, result_dir = file.path(result_dir, "results"), mut_type = "DBS") 520 | } 521 | if (exists("sigs_ID")) { 522 | output_sig(sigs_ID, result_dir = file.path(result_dir, "results"), mut_type = "ID") 523 | } 524 | 525 | return(invisible(NULL)) 526 | } 527 | 528 | 529 | flow_fitting <- function(obj, genome_build, mode, result_dir, nrun = NULL, 530 | index = "ALL", cores = 1, 531 | prog = c("fit", "bootstrap")) { 532 | prog <- match.arg(prog) 533 | if (!dir.exists(file.path(result_dir, "results"))) { 534 | dir.create(file.path(result_dir, "results"), recursive = TRUE) 535 | } 536 | 537 | timer <- Sys.time() 538 | sigminer:::send_info("Pipeline for (bootstrap) fitting started.") 539 | on.exit(sigminer:::send_elapsed_time(timer)) 540 | 541 | ref_genome <- switch( 542 | genome_build, 543 | hg19 = "BSgenome.Hsapiens.UCSC.hg19", 544 | hg38 = "BSgenome.Hsapiens.UCSC.hg38", 545 | mm10 = "BSgenome.Mmusculus.UCSC.mm10") 546 | 547 | if (!suppressMessages(require(ref_genome, character.only = TRUE))) { 548 | sigminer:::send_info("Package ", ref_genome, " not found, try installing.") 549 | BiocManager::install(ref_genome) 550 | } 551 | 552 | if (mode != "CN") { 553 | if (mode == "MAF") { 554 | mode <- "ALL" 555 | } 556 | tally_list <- sig_tally(obj, mode = "ALL", ref_genome = ref_genome) 557 | save(tally_list, file = file.path(result_dir, "maf_tally.RData")) 558 | if (!is.null(tally_list$SBS_96) & mode %in% c("SBS", "ALL")) { 559 | output_tally(tally_list$SBS_96[rowSums(tally_list$SBS_96) > 0, , drop = FALSE] %>% t(), result_dir = file.path(result_dir, "results"), mut_type = "SBS") 560 | } 561 | 562 | if (!is.null(tally_list$DBS_78) & mode %in% c("DBS", "ALL")) { 563 | output_tally(tally_list$DBS_78[rowSums(tally_list$DBS_78) > 0, , drop = FALSE] %>% t(), result_dir = file.path(result_dir, "results"), mut_type = "DBS") 564 | } 565 | if (!is.null(tally_list$ID_83) & mode %in% c("ID", "ALL")) { 566 | output_tally(tally_list$ID_83[rowSums(tally_list$ID_83) > 0, , drop = FALSE] %>% t(), result_dir = file.path(result_dir, "results"), mut_type = "ID") 567 | } 568 | } else { 569 | stop("Fitting reference signatures for CN is not supported for now!") 570 | # tally_list <- sig_tally(obj, ignore_chrs = c("chrX", "chrY"), cores = parallel::detectCores()) 571 | # save(tally_list, file = file.path(result_dir, "cn_tally.RData")) 572 | # output_tally(tally_list, result_dir = file.path(result_dir, "results"), mut_type = "CN") 573 | } 574 | 575 | if (prog == "fit") { 576 | if (mode == "ALL" | mode == "SBS") { 577 | mat <- tally_list$SBS_96 578 | 579 | if (!is.null(mat)) { 580 | mat <- t(mat) 581 | ## COSMIC V2 SBS 582 | if (index == "ALL") { 583 | index2 <- "ALL" 584 | } else { 585 | sigminer:::send_info("Only keep index <= 30 when using legacy signature database.") 586 | index2 <- gsub("[A-Za-z]", "", index) 587 | index2 <- as.integer(sigminer:::split_seq(index2)) 588 | index2 <- as.character(index2[index2 <= 30]) 589 | } 590 | fit_legacy <- sig_fit( 591 | catalogue_matrix = mat, 592 | sig_index = index2, 593 | sig_db = "legacy", 594 | mode = "SBS", 595 | return_class = "data.table", 596 | return_error = TRUE 597 | ) 598 | output_fit(fit_legacy, result_dir = file.path(result_dir, "results"), mut_type = "legacy") 599 | fit_SBS <- sig_fit( 600 | catalogue_matrix = mat, 601 | sig_index = index, 602 | sig_db = "SBS", 603 | mode = "SBS", 604 | return_class = "data.table", 605 | return_error = TRUE 606 | ) 607 | output_fit(fit_SBS, result_dir = file.path(result_dir, "results"), mut_type = "SBS") 608 | } 609 | } 610 | if (mode == "ALL" | mode == "DBS") { 611 | mat <- tally_list$DBS_78 612 | 613 | if (!is.null(mat)) { 614 | mat <- t(mat) 615 | fit_DBS <- sig_fit( 616 | catalogue_matrix = mat, 617 | sig_index = index, 618 | sig_db = "DBS", 619 | mode = "DBS", 620 | return_class = "data.table", 621 | return_error = TRUE 622 | ) 623 | output_fit(fit_DBS, result_dir = file.path(result_dir, "results"), mut_type = "DBS") 624 | } 625 | } 626 | if (mode == "ALL" | mode == "ID") { 627 | mat <- tally_list$ID_83 628 | 629 | if (!is.null(mat)) { 630 | mat <- t(mat) 631 | fit_ID <- sig_fit( 632 | catalogue_matrix = mat, 633 | sig_index = index, 634 | sig_db = "ID", 635 | mode = "ID", 636 | return_class = "data.table", 637 | return_error = TRUE 638 | ) 639 | output_fit(fit_ID, result_dir = file.path(result_dir, "results"), mut_type = "ID") 640 | } 641 | } 642 | } else { 643 | ## bootstrap fitting 644 | sigminer:::send_info("Set bootstrap fitting with cores: ", cores) 645 | if (mode == "ALL" | mode == "SBS") { 646 | mat <- tally_list$SBS_96 647 | 648 | if (!is.null(mat)) { 649 | mat <- t(mat) 650 | ## COSMIC V2 SBS 651 | if (index == "ALL") { 652 | index2 <- "ALL" 653 | } else { 654 | sigminer:::send_info("Only keep index <= 30 when using legacy signature database.") 655 | index2 <- gsub("[A-Za-z]", "", index) 656 | index2 <- as.integer(sigminer:::split_seq(index2)) 657 | index2 <- as.character(index2[index2 <= 30]) 658 | } 659 | bt_legacy <- sig_fit_bootstrap_batch( 660 | catalogue_matrix = mat, 661 | sig_index = index2, 662 | sig_db = "legacy", 663 | mode = "SBS", 664 | n = nrun, 665 | p_val_thresholds = c(0.01, 0.05, 0.10, 0.25), 666 | use_parallel = cores, 667 | job_id = "legacy", 668 | result_dir = file.path(result_dir, "bootstrap"), 669 | ) 670 | 671 | output_bootstrap(bt_legacy, result_dir = file.path(result_dir, "results"), mut_type = "legacy") 672 | 673 | bt_SBS <- sig_fit_bootstrap_batch( 674 | catalogue_matrix = mat, 675 | sig_index = index, 676 | sig_db = "SBS", 677 | mode = "SBS", 678 | n = nrun, 679 | p_val_thresholds = c(0.01, 0.05, 0.10, 0.25), 680 | use_parallel = cores, 681 | job_id = "SBS", 682 | result_dir = file.path(result_dir, "bootstrap"), 683 | ) 684 | 685 | output_bootstrap(bt_SBS, result_dir = file.path(result_dir, "results"), mut_type = "SBS") 686 | } 687 | } 688 | if (mode == "ALL" | mode == "DBS") { 689 | mat <- tally_list$DBS_78 690 | 691 | if (!is.null(mat)) { 692 | mat <- t(mat) 693 | bt_DBS <- sig_fit_bootstrap_batch( 694 | catalogue_matrix = mat, 695 | sig_index = index, 696 | sig_db = "DBS", 697 | mode = "DBS", 698 | n = nrun, 699 | p_val_thresholds = c(0.01, 0.05, 0.10, 0.25), 700 | use_parallel = cores, 701 | job_id = "DBS", 702 | result_dir = file.path(result_dir, "bootstrap"), 703 | ) 704 | 705 | output_bootstrap(bt_DBS, result_dir = file.path(result_dir, "results"), mut_type = "DBS") 706 | } 707 | } 708 | if (mode == "ALL" | mode == "ID") { 709 | mat <- tally_list$ID_83 710 | 711 | if (!is.null(mat)) { 712 | mat <- t(mat) 713 | bt_ID <- sig_fit_bootstrap_batch( 714 | catalogue_matrix = mat, 715 | sig_index = index, 716 | sig_db = "ID", 717 | mode = "ID", 718 | n = nrun, 719 | p_val_thresholds = c(0.01, 0.05, 0.10, 0.25), 720 | use_parallel = cores, 721 | job_id = "ID", 722 | result_dir = file.path(result_dir, "bootstrap"), 723 | ) 724 | 725 | output_bootstrap(bt_ID, result_dir = file.path(result_dir, "results"), mut_type = "ID") 726 | } 727 | } 728 | } 729 | } 730 | 731 | # Action part ------------------------------------------------------------- 732 | ## Check inputs and call the working functions 733 | suppressMessages(library("sigminer")) 734 | suppressMessages(library("ggplot2")) 735 | suppressMessages(library("pheatmap")) 736 | 737 | if (ARGS$verbose) { 738 | message() 739 | message("Library:\t", paste(.libPaths(), collapse = "\t")) 740 | print(utils::sessionInfo()) 741 | } 742 | 743 | if (!is.null(ARGS$input)) message("Reading file...\n------") 744 | 745 | mode <- ARGS$mode 746 | input <- ARGS$input 747 | genome_build <- ARGS$genome 748 | result_dir <- path.expand(ARGS$output) 749 | 750 | if (!dir.exists(result_dir)) { 751 | dir.create(result_dir, recursive = TRUE) 752 | if (ARGS$verbose) message("Result directory ", result_dir, " created.") 753 | } else { 754 | if (ARGS$verbose) message("Result directory ", result_dir, " existed.") 755 | } 756 | 757 | if (!is.null(input)) { 758 | if (any(endsWith(input, c("xls", "xlsx")))) { 759 | if (!suppressMessages(require("readxl"))) { 760 | message("readxl not found, try installing.") 761 | install.packages("readxl") 762 | library("readxl") 763 | } 764 | input <- readxl::read_excel(input) 765 | } 766 | 767 | if (mode == "CN") { 768 | isCN <- TRUE 769 | } else { 770 | isCN <- FALSE 771 | } 772 | 773 | if (!isCN) { 774 | if (!file.exists(file.path(result_dir, "maf_obj.RData"))) { 775 | if (dir.exists(input)) { 776 | fs <- list.files(input, pattern = "*.vcf", full.names = TRUE) 777 | if (length(fs) < 1) { 778 | message("When input is a directory, it should contain VCF files!") 779 | quit("no", status = -1) 780 | } 781 | message("Try parsing VCF files...") 782 | obj <- sigminer::read_vcf(fs, genome_build = genome_build, keep_only_pass = FALSE, verbose = TRUE) 783 | } else { 784 | message("Try reading as a MAF file.") 785 | if (!is.data.frame(input)) { 786 | obj <- suppressMessages(data.table::fread(input, header = TRUE, data.table = FALSE)) 787 | } else { 788 | obj <- input 789 | } 790 | if (!"Tumor_Sample_Barcode" %in% colnames(obj)) { 791 | message("No 'Tumor_Sample_Barcode' column detected, try parsing as a component-by-sample matrix.") 792 | rownames(obj) <- obj[[1]] 793 | obj[[1]] <- NULL 794 | obj <- as.matrix(obj) 795 | message("Read as a matrix done.") 796 | } else { 797 | obj <- tryCatch( 798 | sigminer::read_maf(obj, verbose = TRUE), 799 | error = function(e) { 800 | message("Read input as a MAF file failed, try parsing as a component-by-sample matrix.") 801 | rownames(obj) <- obj[[1]] 802 | obj[[1]] <- NULL 803 | obj <- as.matrix(obj) 804 | message("Read as a matrix done.") 805 | return(obj) 806 | } 807 | ) 808 | } 809 | } 810 | save(obj, file = file.path(result_dir, "maf_obj.RData")) 811 | } else { 812 | load(file = file.path(result_dir, "maf_obj.RData")) 813 | } 814 | } else { 815 | if (!file.exists(file.path(result_dir, "cn_obj.RData"))) { 816 | message("Try reading as a Segment file.") 817 | if (!is.data.frame(input)) { 818 | obj <- suppressMessages(data.table::fread(input, header = TRUE, data.table = FALSE)) 819 | } else { 820 | obj <- input 821 | } 822 | if (!"sample" %in% colnames(obj)) { 823 | message("No 'sample' column detected, try parsing as a component-by-sample matrix.") 824 | rownames(obj) <- obj[[1]] 825 | obj[[1]] <- NULL 826 | obj <- as.matrix(obj) 827 | message("Read as a matrix done.") 828 | } else { 829 | obj <- tryCatch( 830 | sigminer::read_copynumber(obj, genome_build = genome_build, verbose = TRUE), 831 | error = function(e) { 832 | message("Read input as a Segment file failed, try parsing as a component-by-sample matrix.") 833 | rownames(obj) <- obj[[1]] 834 | obj[[1]] <- NULL 835 | obj <- as.matrix(obj) 836 | message("Read as a matrix done.") 837 | return(obj) 838 | } 839 | ) 840 | } 841 | save(obj, file = file.path(result_dir, "cn_obj.RData")) 842 | } else { 843 | load(file = file.path(result_dir, "cn_obj.RData")) 844 | } 845 | } 846 | } 847 | 848 | if (!is.null(ARGS$input)) message("------\n") 849 | 850 | if (ARGS$extract) { 851 | message("Running signature extraction pipeline...\n------") 852 | if (!ARGS$manual) { 853 | manual_step <- -1L 854 | } else { 855 | manual_step <- as.integer(ARGS$number) 856 | } 857 | nrun <- as.integer(ARGS$nrun) 858 | cores <- min(as.integer(ARGS$cores), parallel::detectCores()) 859 | if (as.integer(ARGS$max) < 2) { 860 | max_number <- 100 861 | } else { 862 | max_number <- as.integer(ARGS$max) 863 | } 864 | tryCatch( 865 | { 866 | if (ARGS$verbose) { 867 | flow_extraction( 868 | obj = obj, genome_build = genome_build, mode = ARGS$mode, 869 | manual_step = manual_step, nrun = nrun, cores = cores, 870 | result_dir = result_dir, 871 | max_number = max_number, 872 | refit = ARGS$refit, 873 | rm_hyper = ARGS$hyper, 874 | sigprofiler = ARGS$sigprofiler 875 | ) 876 | } else { 877 | suppressMessages( 878 | flow_extraction( 879 | obj = obj, genome_build = genome_build, mode = ARGS$mode, 880 | manual_step = manual_step, nrun = nrun, cores = cores, 881 | result_dir = result_dir, 882 | max_number = max_number, 883 | refit = ARGS$refit, 884 | rm_hyper = ARGS$hyper, 885 | sigprofiler = ARGS$sigprofiler 886 | ) 887 | ) 888 | } 889 | }, 890 | error = function(e) { 891 | message("An error is detected in extract process. Quit the program!") 892 | message(e$message) 893 | quit("no", -1) 894 | } 895 | ) 896 | } else if (ARGS$fit) { 897 | message("Running signature fitting pipeline...\n------") 898 | tryCatch( 899 | { 900 | if (ARGS$verbose) { 901 | flow_fitting( 902 | obj = obj, genome_build = genome_build, mode = ARGS$mode, 903 | result_dir = result_dir, index = ARGS$index, prog = "fit" 904 | ) 905 | } else { 906 | suppressMessages( 907 | flow_fitting( 908 | obj = obj, genome_build = genome_build, mode = ARGS$mode, 909 | result_dir = result_dir, index = ARGS$index, prog = "fit" 910 | ) 911 | ) 912 | } 913 | }, 914 | error = function(e) { 915 | message("An error is detected in fitting process. Quit the program!") 916 | message(e$message) 917 | quit("no", -1) 918 | } 919 | ) 920 | } else if (ARGS$bt) { 921 | message("Running signature bootstrap fitting pipeline...\n------") 922 | nrun <- as.integer(ARGS$nrun) 923 | cores <- min(as.integer(ARGS$cores), parallel::detectCores()) 924 | tryCatch( 925 | { 926 | if (ARGS$verbose) { 927 | flow_fitting( 928 | obj = obj, genome_build = genome_build, mode = ARGS$mode, cores = cores, 929 | result_dir = result_dir, nrun = nrun, index = ARGS$index, prog = "bootstrap" 930 | ) 931 | } else { 932 | suppressMessages( 933 | flow_fitting( 934 | obj = obj, genome_build = genome_build, mode = ARGS$mode, cores = cores, 935 | result_dir = result_dir, nrun = nrun, index = ARGS$index, prog = "bootstrap" 936 | ) 937 | ) 938 | } 939 | }, 940 | error = function(e) { 941 | message("An error is detected in bootstrap fitting process. Quit the program!") 942 | message(e$message) 943 | quit("no", -1) 944 | } 945 | ) 946 | } else if (ARGS$show) { 947 | message("Running Sigflow 'show' subcommand...\n------") 948 | 949 | if (!is.null(ARGS$isearch)) { 950 | message("Searching cancer-type specific indices with keyword: ", ARGS$isearch) 951 | message("===") 952 | sigminer::get_sig_cancer_type_index(keyword = ARGS$isearch) 953 | #message("\nFor online search, please go to:\n\thttps://shixiangwang.github.io/sigminer-doc/sigflow.html#cancer-type-specific-signature-index-database") 954 | message("===") 955 | } else { 956 | if (!mode %in% c("SBS", "DBS", "ID")) { 957 | message("Error: valid signature modes to plot are 'SBS', 'DBS' and 'ID'.") 958 | quit(save = "no", -1) 959 | } 960 | 961 | message("Plotting COSMIC reference signatures...") 962 | message("===") 963 | index <- ARGS$index 964 | 965 | width <- 12 966 | base_h <- 1.5 967 | if (!"ALL" %in% index) { 968 | index <- sigminer:::split_seq(index) 969 | height <- base_h * length(index) 970 | } 971 | 972 | if (mode == "SBS") { 973 | if ("ALL" %in% index) { 974 | index2 <- "ALL" 975 | height2 <- 30 * base_h 976 | } else { 977 | index2 <- as.integer(gsub("[A-Za-z]", "", index)) 978 | index2 <- as.character(index2[index2 <= 30]) 979 | height2 <- base_h * length(index2) 980 | } 981 | 982 | outpath <- file.path(result_dir, "SBS_signature_profile_cosmic_v2.pdf") 983 | message("Outputing to ", outpath) 984 | 985 | p_legacy <- show_cosmic_sig_profile(sig_index = index2, style = "cosmic") 986 | ggplot2::ggsave(outpath, plot = p_legacy, width = width, height = height2, limitsize = FALSE) 987 | } 988 | 989 | outpath <- file.path(result_dir, paste0(mode, "_signature_profile_cosmic_v3.pdf")) 990 | message("Outputing to ", outpath) 991 | if ("ALL" %in% index) { 992 | height <- switch(mode, 993 | SBS = 67 * base_h, 994 | DBS = 11 * base_h, 995 | ID = 17 * base_h 996 | ) 997 | } 998 | p <- show_cosmic_sig_profile(sig_index = index, sig_db = mode, style = "cosmic") 999 | ggplot2::ggsave(outpath, plot = p, width = width, height = height, limitsize = FALSE) 1000 | 1001 | message("Done.") 1002 | } 1003 | } 1004 | 1005 | # End part ---------------------------------------------------------------- 1006 | 1007 | message(" 1008 | If there are output files for your command. Please check the output directory. 1009 | Thanks for using Sigflow! 1010 | ============================== END 1011 | ") 1012 | -------------------------------------------------------------------------------- /sigflow.Rproj: -------------------------------------------------------------------------------- 1 | Version: 1.0 2 | 3 | RestoreWorkspace: Default 4 | SaveWorkspace: Default 5 | AlwaysSaveHistory: Default 6 | 7 | EnableCodeIndexing: Yes 8 | UseSpacesForTab: Yes 9 | NumSpacesForTab: 2 10 | Encoding: UTF-8 11 | 12 | RnwWeave: Sweave 13 | LaTeX: pdfLaTeX 14 | 15 | AutoAppendNewline: Yes 16 | -------------------------------------------------------------------------------- /test/example_cn.tsv: -------------------------------------------------------------------------------- 1 | sample Chromosome Start.bp End.bp modal_cn 2 | TCGA-A8-A07S-01A-11D-A036-01 1 3218923 8209130 2 3 | TCGA-A8-A07S-01A-11D-A036-01 1 8217087 120523902 2 4 | TCGA-A8-A07S-01A-11D-A036-01 1 149879545 247812431 4 5 | TCGA-A8-A07S-01A-11D-A036-01 2 499482 242471730 2 6 | TCGA-A8-A07S-01A-11D-A036-01 3 2217011 197534959 2 7 | TCGA-A8-A07S-01A-11D-A036-01 4 1053934 61327312 2 8 | TCGA-A8-A07S-01A-11D-A036-01 4 61336390 67129353 2 9 | TCGA-A8-A07S-01A-11D-A036-01 4 67139034 188763651 2 10 | TCGA-A8-A07S-01A-11D-A036-01 5 918523 180359733 2 11 | TCGA-A8-A07S-01A-11D-A036-01 6 1016984 62112600 2 12 | TCGA-A8-A07S-01A-11D-A036-01 6 62236967 108935132 1 13 | TCGA-A8-A07S-01A-11D-A036-01 6 108952337 109049607 2 14 | TCGA-A8-A07S-01A-11D-A036-01 6 109058427 113178302 1 15 | TCGA-A8-A07S-01A-11D-A036-01 6 113202257 113621794 2 16 | TCGA-A8-A07S-01A-11D-A036-01 6 113632282 118543515 1 17 | TCGA-A8-A07S-01A-11D-A036-01 6 119219141 123475005 2 18 | TCGA-A8-A07S-01A-11D-A036-01 6 123479765 131772441 1 19 | TCGA-A8-A07S-01A-11D-A036-01 6 131778942 147768294 2 20 | TCGA-A8-A07S-01A-11D-A036-01 6 147796293 149675272 2 21 | TCGA-A8-A07S-01A-11D-A036-01 6 149693137 170898549 1 22 | TCGA-A8-A07S-01A-11D-A036-01 7 746917 158385118 2 23 | TCGA-A8-A07S-01A-11D-A036-01 8 617885 41614715 1 24 | TCGA-A8-A07S-01A-11D-A036-01 8 41618213 42749688 2 25 | TCGA-A8-A07S-01A-11D-A036-01 8 42773009 47706157 1 26 | TCGA-A8-A07S-01A-11D-A036-01 8 47707074 48347696 2 27 | TCGA-A8-A07S-01A-11D-A036-01 8 48352405 49285399 1 28 | TCGA-A8-A07S-01A-11D-A036-01 8 49290573 145225107 2 29 | TCGA-A8-A07S-01A-11D-A036-01 9 790234 140938075 2 30 | TCGA-A8-A07S-01A-11D-A036-01 10 423671 135224372 2 31 | TCGA-A8-A07S-01A-11D-A036-01 11 458784 134142530 2 32 | TCGA-A8-A07S-01A-11D-A036-01 12 889902 133161346 2 33 | TCGA-A8-A07S-01A-11D-A036-01 13 19450806 114987333 2 34 | TCGA-A8-A07S-01A-11D-A036-01 14 20501368 105971894 2 35 | TCGA-A8-A07S-01A-11D-A036-01 15 23688944 34118396 2 36 | TCGA-A8-A07S-01A-11D-A036-01 15 34123532 40848351 2 37 | TCGA-A8-A07S-01A-11D-A036-01 15 40851755 101884307 2 38 | TCGA-A8-A07S-01A-11D-A036-01 16 655262 31850299 3 39 | TCGA-A8-A07S-01A-11D-A036-01 16 46534977 89379936 1 40 | TCGA-A8-A07S-01A-11D-A036-01 17 987221 80909157 2 41 | TCGA-A8-A07S-01A-11D-A036-01 18 331827 77109240 2 42 | TCGA-A8-A07S-01A-11D-A036-01 19 292583 58866434 2 43 | TCGA-A8-A07S-01A-11D-A036-01 20 456452 62219837 2 44 | TCGA-A8-A07S-01A-11D-A036-01 21 15372509 47678774 2 45 | TCGA-A8-A07S-01A-11D-A036-01 22 17423930 49331012 2 46 | TCGA-B6-A0X5-01A-21D-A107-01 1 3218923 247812431 2 47 | TCGA-B6-A0X5-01A-21D-A107-01 2 499482 165846592 2 48 | TCGA-B6-A0X5-01A-21D-A107-01 2 165865439 234297156 2 49 | TCGA-B6-A0X5-01A-21D-A107-01 2 234299919 242471730 2 50 | TCGA-B6-A0X5-01A-21D-A107-01 3 2217011 61126821 2 51 | TCGA-B6-A0X5-01A-21D-A107-01 3 61136874 197534959 2 52 | TCGA-B6-A0X5-01A-21D-A107-01 4 1053934 25009679 2 53 | TCGA-B6-A0X5-01A-21D-A107-01 4 25012126 188763651 2 54 | TCGA-B6-A0X5-01A-21D-A107-01 5 918523 119641025 2 55 | TCGA-B6-A0X5-01A-21D-A107-01 5 119650893 180359733 2 56 | TCGA-B6-A0X5-01A-21D-A107-01 6 1016984 31107648 2 57 | TCGA-B6-A0X5-01A-21D-A107-01 6 31113214 38399960 2 58 | TCGA-B6-A0X5-01A-21D-A107-01 6 38404801 170898549 2 59 | TCGA-B6-A0X5-01A-21D-A107-01 7 746917 158385118 2 60 | TCGA-B6-A0X5-01A-21D-A107-01 8 617885 34655740 1 61 | TCGA-B6-A0X5-01A-21D-A107-01 8 34659237 145225107 3 62 | TCGA-B6-A0X5-01A-21D-A107-01 9 790234 140938075 2 63 | TCGA-B6-A0X5-01A-21D-A107-01 10 423671 135224372 2 64 | TCGA-B6-A0X5-01A-21D-A107-01 11 458784 134142530 2 65 | TCGA-B6-A0X5-01A-21D-A107-01 12 889902 91236097 2 66 | TCGA-B6-A0X5-01A-21D-A107-01 12 91247202 133161346 2 67 | TCGA-B6-A0X5-01A-21D-A107-01 13 19450806 19986472 3 68 | TCGA-B6-A0X5-01A-21D-A107-01 13 20105323 20563229 1 69 | TCGA-B6-A0X5-01A-21D-A107-01 13 20566297 21311695 3 70 | TCGA-B6-A0X5-01A-21D-A107-01 13 21322123 22698505 1 71 | TCGA-B6-A0X5-01A-21D-A107-01 13 22703530 23235285 3 72 | TCGA-B6-A0X5-01A-21D-A107-01 13 23241969 99091634 1 73 | TCGA-B6-A0X5-01A-21D-A107-01 13 99094902 114987333 1 74 | TCGA-B6-A0X5-01A-21D-A107-01 14 20501368 83062276 2 75 | TCGA-B6-A0X5-01A-21D-A107-01 14 83066038 105971894 2 76 | TCGA-B6-A0X5-01A-21D-A107-01 15 23688944 101884307 2 77 | TCGA-B6-A0X5-01A-21D-A107-01 16 655262 85308799 2 78 | TCGA-B6-A0X5-01A-21D-A107-01 16 85313335 89379936 2 79 | TCGA-B6-A0X5-01A-21D-A107-01 17 987221 58930921 2 80 | TCGA-B6-A0X5-01A-21D-A107-01 17 58934747 74735676 2 81 | TCGA-B6-A0X5-01A-21D-A107-01 17 74749273 80909157 2 82 | TCGA-B6-A0X5-01A-21D-A107-01 18 331827 77109240 2 83 | TCGA-B6-A0X5-01A-21D-A107-01 19 292583 58866434 2 84 | TCGA-B6-A0X5-01A-21D-A107-01 20 456452 62219837 2 85 | TCGA-B6-A0X5-01A-21D-A107-01 21 15372509 26587168 2 86 | TCGA-B6-A0X5-01A-21D-A107-01 21 26605984 47678774 2 87 | TCGA-B6-A0X5-01A-21D-A107-01 22 17423930 49331012 2 88 | TCGA-A5-A0G2-01A-11D-A042-01 1 3218923 62510154 1 89 | TCGA-A5-A0G2-01A-11D-A042-01 1 62510457 62576042 1 90 | TCGA-A5-A0G2-01A-11D-A042-01 1 62579823 120328527 1 91 | TCGA-A5-A0G2-01A-11D-A042-01 1 120333201 218008788 3 92 | TCGA-A5-A0G2-01A-11D-A042-01 1 218009496 247812431 3 93 | TCGA-A5-A0G2-01A-11D-A042-01 2 499482 42112809 3 94 | TCGA-A5-A0G2-01A-11D-A042-01 2 42118216 140652420 2 95 | TCGA-A5-A0G2-01A-11D-A042-01 2 140657370 242471730 2 96 | TCGA-A5-A0G2-01A-11D-A042-01 3 2217011 197534959 2 97 | TCGA-A5-A0G2-01A-11D-A042-01 4 1053934 14509817 1 98 | TCGA-A5-A0G2-01A-11D-A042-01 4 14522601 14708941 1 99 | TCGA-A5-A0G2-01A-11D-A042-01 4 14715841 182405735 1 100 | TCGA-A5-A0G2-01A-11D-A042-01 4 182407633 182637590 0 101 | TCGA-A5-A0G2-01A-11D-A042-01 4 182641166 188763651 1 102 | TCGA-A5-A0G2-01A-11D-A042-01 5 918523 32101168 1 103 | TCGA-A5-A0G2-01A-11D-A042-01 5 32179286 32378785 0 104 | TCGA-A5-A0G2-01A-11D-A042-01 5 32388471 58337549 1 105 | TCGA-A5-A0G2-01A-11D-A042-01 5 58342315 58851811 0 106 | TCGA-A5-A0G2-01A-11D-A042-01 5 58855925 64930807 1 107 | TCGA-A5-A0G2-01A-11D-A042-01 5 64934391 65353169 0 108 | TCGA-A5-A0G2-01A-11D-A042-01 5 65366645 130717550 1 109 | TCGA-A5-A0G2-01A-11D-A042-01 5 130739664 131051328 1 110 | TCGA-A5-A0G2-01A-11D-A042-01 5 131055546 180359733 1 111 | TCGA-A5-A0G2-01A-11D-A042-01 6 1016984 57206230 2 112 | TCGA-A5-A0G2-01A-11D-A042-01 6 62236967 154445215 1 113 | TCGA-A5-A0G2-01A-11D-A042-01 6 154449850 154551118 1 114 | TCGA-A5-A0G2-01A-11D-A042-01 6 154560337 170898549 1 115 | TCGA-A5-A0G2-01A-11D-A042-01 7 746917 158385118 2 116 | TCGA-A5-A0G2-01A-11D-A042-01 8 617885 145225107 2 117 | TCGA-A5-A0G2-01A-11D-A042-01 9 790234 29032372 1 118 | TCGA-A5-A0G2-01A-11D-A042-01 9 29040151 140938075 2 119 | TCGA-A5-A0G2-01A-11D-A042-01 10 423671 135224372 2 120 | TCGA-A5-A0G2-01A-11D-A042-01 11 458784 134142530 2 121 | TCGA-A5-A0G2-01A-11D-A042-01 12 889902 133161346 3 122 | TCGA-A5-A0G2-01A-11D-A042-01 13 19450806 114987333 1 123 | TCGA-A5-A0G2-01A-11D-A042-01 14 20501368 105971894 2 124 | TCGA-A5-A0G2-01A-11D-A042-01 15 23688944 101884307 2 125 | TCGA-A5-A0G2-01A-11D-A042-01 16 655262 89379936 2 126 | TCGA-A5-A0G2-01A-11D-A042-01 17 987221 80909157 2 127 | TCGA-A5-A0G2-01A-11D-A042-01 18 331827 77109240 2 128 | TCGA-A5-A0G2-01A-11D-A042-01 19 292583 58866434 2 129 | TCGA-A5-A0G2-01A-11D-A042-01 20 456452 25846494 1 130 | TCGA-A5-A0G2-01A-11D-A042-01 20 25849038 62219837 3 131 | TCGA-A5-A0G2-01A-11D-A042-01 21 15372509 47678774 2 132 | TCGA-A5-A0G2-01A-11D-A042-01 22 17423930 28076208 2 133 | TCGA-A5-A0G2-01A-11D-A042-01 22 28078535 28170166 3 134 | TCGA-A5-A0G2-01A-11D-A042-01 22 28171510 49331012 2 135 | TCGA-DF-A2KN-01A-11D-A17U-01 1 3218923 247812431 2 136 | TCGA-DF-A2KN-01A-11D-A17U-01 2 499482 242471730 2 137 | TCGA-DF-A2KN-01A-11D-A17U-01 3 2217011 69104752 2 138 | TCGA-DF-A2KN-01A-11D-A17U-01 3 69121641 69544452 2 139 | TCGA-DF-A2KN-01A-11D-A17U-01 3 69544463 197534959 2 140 | TCGA-DF-A2KN-01A-11D-A17U-01 4 1053934 188763651 2 141 | TCGA-DF-A2KN-01A-11D-A17U-01 5 918523 180359733 2 142 | TCGA-DF-A2KN-01A-11D-A17U-01 6 1016984 42674983 2 143 | TCGA-DF-A2KN-01A-11D-A17U-01 6 42689755 43038063 2 144 | TCGA-DF-A2KN-01A-11D-A17U-01 6 43045462 170898549 2 145 | TCGA-DF-A2KN-01A-11D-A17U-01 7 746917 158385118 2 146 | TCGA-DF-A2KN-01A-11D-A17U-01 8 617885 145225107 2 147 | TCGA-DF-A2KN-01A-11D-A17U-01 9 790234 117504285 2 148 | TCGA-DF-A2KN-01A-11D-A17U-01 9 117517606 140938075 2 149 | TCGA-DF-A2KN-01A-11D-A17U-01 10 423671 135224372 2 150 | TCGA-DF-A2KN-01A-11D-A17U-01 11 458784 134142530 2 151 | TCGA-DF-A2KN-01A-11D-A17U-01 12 889902 133161346 2 152 | TCGA-DF-A2KN-01A-11D-A17U-01 13 19450806 104708034 2 153 | TCGA-DF-A2KN-01A-11D-A17U-01 13 104711816 104750929 2 154 | TCGA-DF-A2KN-01A-11D-A17U-01 13 104752634 114987333 2 155 | TCGA-DF-A2KN-01A-11D-A17U-01 14 20501368 105971894 2 156 | TCGA-DF-A2KN-01A-11D-A17U-01 15 23688944 101884307 2 157 | TCGA-DF-A2KN-01A-11D-A17U-01 16 655262 89379936 2 158 | TCGA-DF-A2KN-01A-11D-A17U-01 17 987221 80909157 2 159 | TCGA-DF-A2KN-01A-11D-A17U-01 18 331827 74245597 2 160 | TCGA-DF-A2KN-01A-11D-A17U-01 18 74251782 74360560 2 161 | TCGA-DF-A2KN-01A-11D-A17U-01 18 74367462 74582340 3 162 | TCGA-DF-A2KN-01A-11D-A17U-01 18 74598408 77109240 2 163 | TCGA-DF-A2KN-01A-11D-A17U-01 19 292583 58866434 2 164 | TCGA-DF-A2KN-01A-11D-A17U-01 20 456452 14690185 2 165 | TCGA-DF-A2KN-01A-11D-A17U-01 20 15166775 15283418 1 166 | TCGA-DF-A2KN-01A-11D-A17U-01 20 15287316 62219837 2 167 | TCGA-DF-A2KN-01A-11D-A17U-01 21 15372509 47678774 2 168 | TCGA-DF-A2KN-01A-11D-A17U-01 22 17423930 29440692 2 169 | TCGA-DF-A2KN-01A-11D-A17U-01 22 29442666 29805407 3 170 | TCGA-DF-A2KN-01A-11D-A17U-01 22 29824523 47176707 2 171 | TCGA-DF-A2KN-01A-11D-A17U-01 22 47184783 47249551 2 172 | TCGA-DF-A2KN-01A-11D-A17U-01 22 47258179 49331012 2 173 | TCGA-06-0644-01A-02D-0310-01 1 3218923 104393357 2 174 | TCGA-06-0644-01A-02D-0310-01 1 104418619 149879545 1 175 | TCGA-06-0644-01A-02D-0310-01 1 149885583 247812431 2 176 | TCGA-06-0644-01A-02D-0310-01 2 499482 242471730 2 177 | TCGA-06-0644-01A-02D-0310-01 3 2217011 72626248 2 178 | TCGA-06-0644-01A-02D-0310-01 3 72627568 72747263 2 179 | TCGA-06-0644-01A-02D-0310-01 3 72756306 168950999 2 180 | TCGA-06-0644-01A-02D-0310-01 3 168962600 178631965 3 181 | TCGA-06-0644-01A-02D-0310-01 3 178661606 182026373 4 182 | TCGA-06-0644-01A-02D-0310-01 3 182041909 184090266 3 183 | TCGA-06-0644-01A-02D-0310-01 3 184092481 197534959 2 184 | TCGA-06-0644-01A-02D-0310-01 4 1053934 93412956 2 185 | TCGA-06-0644-01A-02D-0310-01 4 93414365 93547575 1 186 | TCGA-06-0644-01A-02D-0310-01 4 93592657 181240134 2 187 | TCGA-06-0644-01A-02D-0310-01 4 181251312 183203354 1 188 | TCGA-06-0644-01A-02D-0310-01 4 183207209 183532267 2 189 | TCGA-06-0644-01A-02D-0310-01 4 184215832 184330919 1 190 | TCGA-06-0644-01A-02D-0310-01 4 184334102 188763651 2 191 | TCGA-06-0644-01A-02D-0310-01 5 918523 180359733 2 192 | TCGA-06-0644-01A-02D-0310-01 6 1016984 170898549 2 193 | TCGA-06-0644-01A-02D-0310-01 7 746917 158385118 4 194 | TCGA-06-0644-01A-02D-0310-01 8 617885 100549757 2 195 | TCGA-06-0644-01A-02D-0310-01 8 100582032 100670473 1 196 | TCGA-06-0644-01A-02D-0310-01 8 100696695 145225107 2 197 | TCGA-06-0644-01A-02D-0310-01 9 790234 15555458 2 198 | TCGA-06-0644-01A-02D-0310-01 9 15566017 20850204 1 199 | TCGA-06-0644-01A-02D-0310-01 9 20876259 25623738 0 200 | TCGA-06-0644-01A-02D-0310-01 9 25627885 25691032 1 201 | TCGA-06-0644-01A-02D-0310-01 9 25695174 25840670 0 202 | TCGA-06-0644-01A-02D-0310-01 9 25845410 26109419 1 203 | TCGA-06-0644-01A-02D-0310-01 9 26113423 26775374 0 204 | TCGA-06-0644-01A-02D-0310-01 9 26776084 29069305 1 205 | TCGA-06-0644-01A-02D-0310-01 9 29069900 132319215 2 206 | TCGA-06-0644-01A-02D-0310-01 9 132321716 132423168 2 207 | TCGA-06-0644-01A-02D-0310-01 9 132425233 140938075 2 208 | TCGA-06-0644-01A-02D-0310-01 10 423671 135224372 1 209 | TCGA-06-0644-01A-02D-0310-01 11 458784 134142530 2 210 | TCGA-06-0644-01A-02D-0310-01 12 889902 133161346 2 211 | TCGA-06-0644-01A-02D-0310-01 13 19450806 114987333 2 212 | TCGA-06-0644-01A-02D-0310-01 14 20501368 105971894 1 213 | TCGA-06-0644-01A-02D-0310-01 15 23688944 101884307 2 214 | TCGA-06-0644-01A-02D-0310-01 16 655262 89379936 2 215 | TCGA-06-0644-01A-02D-0310-01 17 987221 80909157 2 216 | TCGA-06-0644-01A-02D-0310-01 18 331827 77109240 2 217 | TCGA-06-0644-01A-02D-0310-01 19 292583 58866434 2 218 | TCGA-06-0644-01A-02D-0310-01 20 456452 62219837 2 219 | TCGA-06-0644-01A-02D-0310-01 21 15372509 47678774 2 220 | TCGA-06-0644-01A-02D-0310-01 22 17423930 49331012 2 221 | TCGA-19-2621-01B-01D-0911-01 1 3218923 118662302 2 222 | TCGA-19-2621-01B-01D-0911-01 1 118678953 149879545 2 223 | TCGA-19-2621-01B-01D-0911-01 1 149885583 203890813 2 224 | TCGA-19-2621-01B-01D-0911-01 1 203905103 205040943 1 225 | TCGA-19-2621-01B-01D-0911-01 1 205044339 247812431 2 226 | TCGA-19-2621-01B-01D-0911-01 2 499482 242471730 2 227 | TCGA-19-2621-01B-01D-0911-01 3 2217011 90283951 2 228 | TCGA-19-2621-01B-01D-0911-01 3 93737580 119415831 1 229 | TCGA-19-2621-01B-01D-0911-01 3 119424206 131493730 1 230 | TCGA-19-2621-01B-01D-0911-01 3 131498897 197534959 2 231 | TCGA-19-2621-01B-01D-0911-01 4 1053934 188763651 2 232 | TCGA-19-2621-01B-01D-0911-01 5 918523 180359733 2 233 | TCGA-19-2621-01B-01D-0911-01 6 1016984 54269501 2 234 | TCGA-19-2621-01B-01D-0911-01 6 54278274 134764428 2 235 | TCGA-19-2621-01B-01D-0911-01 6 134771326 170898549 2 236 | TCGA-19-2621-01B-01D-0911-01 7 746917 54442785 2 237 | TCGA-19-2621-01B-01D-0911-01 7 54471184 54905350 12 238 | TCGA-19-2621-01B-01D-0911-01 7 54910663 56393852 13 239 | TCGA-19-2621-01B-01D-0911-01 7 56479241 102406570 2 240 | TCGA-19-2621-01B-01D-0911-01 7 102418720 102807116 2 241 | TCGA-19-2621-01B-01D-0911-01 7 102828569 158385118 2 242 | TCGA-19-2621-01B-01D-0911-01 8 617885 145225107 2 243 | TCGA-19-2621-01B-01D-0911-01 9 790234 33893073 2 244 | TCGA-19-2621-01B-01D-0911-01 9 33903184 34903675 2 245 | TCGA-19-2621-01B-01D-0911-01 9 34911879 104757230 2 246 | TCGA-19-2621-01B-01D-0911-01 9 104989486 105872628 3 247 | TCGA-19-2621-01B-01D-0911-01 9 105874524 140938075 2 248 | TCGA-19-2621-01B-01D-0911-01 10 423671 52709886 1 249 | TCGA-19-2621-01B-01D-0911-01 10 52709983 59724110 1 250 | TCGA-19-2621-01B-01D-0911-01 10 59724388 122880681 1 251 | TCGA-19-2621-01B-01D-0911-01 10 122880694 135224372 1 252 | TCGA-19-2621-01B-01D-0911-01 11 458784 134142530 2 253 | TCGA-19-2621-01B-01D-0911-01 12 889902 97684396 2 254 | TCGA-19-2621-01B-01D-0911-01 12 97685197 133161346 2 255 | TCGA-19-2621-01B-01D-0911-01 13 19450806 51694325 1 256 | TCGA-19-2621-01B-01D-0911-01 13 51708406 100581539 1 257 | TCGA-19-2621-01B-01D-0911-01 13 100582834 114987333 1 258 | TCGA-19-2621-01B-01D-0911-01 14 20501368 105971894 2 259 | TCGA-19-2621-01B-01D-0911-01 15 23688944 101884307 2 260 | TCGA-19-2621-01B-01D-0911-01 16 655262 89379936 2 261 | TCGA-19-2621-01B-01D-0911-01 17 987221 80909157 2 262 | TCGA-19-2621-01B-01D-0911-01 18 331827 77109240 2 263 | TCGA-19-2621-01B-01D-0911-01 19 292583 58866434 2 264 | TCGA-19-2621-01B-01D-0911-01 20 456452 62219837 2 265 | TCGA-19-2621-01B-01D-0911-01 21 15372509 47678774 2 266 | TCGA-19-2621-01B-01D-0911-01 22 17423930 49331012 2 267 | TCGA-26-6174-01A-21D-1842-01 1 3218923 40612199 2 268 | TCGA-26-6174-01A-21D-1842-01 1 40612369 41017955 2 269 | TCGA-26-6174-01A-21D-1842-01 1 41021036 247812431 2 270 | TCGA-26-6174-01A-21D-1842-01 2 499482 219319657 2 271 | TCGA-26-6174-01A-21D-1842-01 2 219319885 219750746 2 272 | TCGA-26-6174-01A-21D-1842-01 2 219774700 242471730 2 273 | TCGA-26-6174-01A-21D-1842-01 3 2217011 197534959 2 274 | TCGA-26-6174-01A-21D-1842-01 4 1053934 188763651 2 275 | TCGA-26-6174-01A-21D-1842-01 5 918523 180359733 2 276 | TCGA-26-6174-01A-21D-1842-01 6 1016984 26229148 2 277 | TCGA-26-6174-01A-21D-1842-01 6 26235966 170898549 2 278 | TCGA-26-6174-01A-21D-1842-01 7 746917 158385118 3 279 | TCGA-26-6174-01A-21D-1842-01 8 617885 145225107 2 280 | TCGA-26-6174-01A-21D-1842-01 9 790234 19604078 2 281 | TCGA-26-6174-01A-21D-1842-01 9 19608187 22565072 0 282 | TCGA-26-6174-01A-21D-1842-01 9 22579813 22856899 1 283 | TCGA-26-6174-01A-21D-1842-01 9 22860886 26444299 0 284 | TCGA-26-6174-01A-21D-1842-01 9 26472639 36590688 2 285 | TCGA-26-6174-01A-21D-1842-01 9 36603818 140938075 3 286 | TCGA-26-6174-01A-21D-1842-01 10 423671 135224372 2 287 | TCGA-26-6174-01A-21D-1842-01 11 458784 134142530 2 288 | TCGA-26-6174-01A-21D-1842-01 12 889902 3542675 2 289 | TCGA-26-6174-01A-21D-1842-01 12 3543326 3980956 2 290 | TCGA-26-6174-01A-21D-1842-01 12 3987115 133161346 2 291 | TCGA-26-6174-01A-21D-1842-01 13 19450806 90441758 2 292 | TCGA-26-6174-01A-21D-1842-01 13 90457024 90552861 3 293 | TCGA-26-6174-01A-21D-1842-01 13 90557832 114987333 2 294 | TCGA-26-6174-01A-21D-1842-01 14 20501368 59329044 2 295 | TCGA-26-6174-01A-21D-1842-01 14 59332166 105971894 2 296 | TCGA-26-6174-01A-21D-1842-01 15 23688944 53084353 1 297 | TCGA-26-6174-01A-21D-1842-01 15 53088423 58338052 2 298 | TCGA-26-6174-01A-21D-1842-01 15 58353205 75384227 2 299 | TCGA-26-6174-01A-21D-1842-01 15 75384375 90809633 1 300 | TCGA-26-6174-01A-21D-1842-01 15 90815287 91215416 1 301 | TCGA-26-6174-01A-21D-1842-01 15 91221045 101884307 1 302 | TCGA-26-6174-01A-21D-1842-01 16 655262 89379936 2 303 | TCGA-26-6174-01A-21D-1842-01 17 987221 80909157 2 304 | TCGA-26-6174-01A-21D-1842-01 18 331827 77109240 2 305 | TCGA-26-6174-01A-21D-1842-01 19 292583 16185110 2 306 | TCGA-26-6174-01A-21D-1842-01 19 16189243 16629189 2 307 | TCGA-26-6174-01A-21D-1842-01 19 16631776 58866434 2 308 | TCGA-26-6174-01A-21D-1842-01 20 456452 47243164 2 309 | TCGA-26-6174-01A-21D-1842-01 20 47245761 47663944 2 310 | TCGA-26-6174-01A-21D-1842-01 20 47670546 62219837 2 311 | TCGA-26-6174-01A-21D-1842-01 21 15372509 47678774 2 312 | TCGA-26-6174-01A-21D-1842-01 22 17423930 26359777 2 313 | TCGA-26-6174-01A-21D-1842-01 22 26361327 26816558 2 314 | TCGA-26-6174-01A-21D-1842-01 22 26831077 38753956 2 315 | TCGA-26-6174-01A-21D-1842-01 22 38771840 39210829 2 316 | TCGA-26-6174-01A-21D-1842-01 22 39214146 49331012 2 317 | TCGA-CV-7432-01A-11D-2128-01 1 3218923 247812431 2 318 | TCGA-CV-7432-01A-11D-2128-01 2 499482 71848388 1 319 | TCGA-CV-7432-01A-11D-2128-01 2 71848412 72868280 2 320 | TCGA-CV-7432-01A-11D-2128-01 2 72898099 95341388 2 321 | TCGA-CV-7432-01A-11D-2128-01 2 95358799 242471730 2 322 | TCGA-CV-7432-01A-11D-2128-01 3 2217011 90283951 1 323 | TCGA-CV-7432-01A-11D-2128-01 3 93737580 197534959 2 324 | TCGA-CV-7432-01A-11D-2128-01 4 1053934 48068783 2 325 | TCGA-CV-7432-01A-11D-2128-01 4 48076562 188763651 3 326 | TCGA-CV-7432-01A-11D-2128-01 5 918523 180359733 2 327 | TCGA-CV-7432-01A-11D-2128-01 6 1016984 170898549 2 328 | TCGA-CV-7432-01A-11D-2128-01 7 746917 158385118 2 329 | TCGA-CV-7432-01A-11D-2128-01 8 617885 145225107 2 330 | TCGA-CV-7432-01A-11D-2128-01 9 790234 9176870 1 331 | TCGA-CV-7432-01A-11D-2128-01 9 9180827 9530755 0 332 | TCGA-CV-7432-01A-11D-2128-01 9 9579104 9662940 0 333 | TCGA-CV-7432-01A-11D-2128-01 9 9664440 10189333 0 334 | TCGA-CV-7432-01A-11D-2128-01 9 10193737 71039044 1 335 | TCGA-CV-7432-01A-11D-2128-01 9 71039940 140938075 2 336 | TCGA-CV-7432-01A-11D-2128-01 10 423671 130675517 2 337 | TCGA-CV-7432-01A-11D-2128-01 10 130677267 130717935 1 338 | TCGA-CV-7432-01A-11D-2128-01 10 130718015 135224372 2 339 | TCGA-CV-7432-01A-11D-2128-01 11 458784 68902701 2 340 | TCGA-CV-7432-01A-11D-2128-01 11 68903833 71427509 12 341 | TCGA-CV-7432-01A-11D-2128-01 11 71464076 84068534 5 342 | TCGA-CV-7432-01A-11D-2128-01 11 84188490 96822055 4 343 | TCGA-CV-7432-01A-11D-2128-01 11 96823102 101417340 4 344 | TCGA-CV-7432-01A-11D-2128-01 11 101424576 102270820 2 345 | TCGA-CV-7432-01A-11D-2128-01 11 102281614 103215818 1 346 | TCGA-CV-7432-01A-11D-2128-01 11 103220278 134142530 1 347 | TCGA-CV-7432-01A-11D-2128-01 12 889902 116539384 2 348 | TCGA-CV-7432-01A-11D-2128-01 12 116558916 133161346 2 349 | TCGA-CV-7432-01A-11D-2128-01 13 19450806 114987333 2 350 | TCGA-CV-7432-01A-11D-2128-01 14 20501368 41723585 1 351 | TCGA-CV-7432-01A-11D-2128-01 14 41727450 105971894 2 352 | TCGA-CV-7432-01A-11D-2128-01 15 23688944 101884307 1 353 | TCGA-CV-7432-01A-11D-2128-01 16 655262 89379936 2 354 | TCGA-CV-7432-01A-11D-2128-01 17 987221 55678575 2 355 | TCGA-CV-7432-01A-11D-2128-01 17 55698233 80909157 2 356 | TCGA-CV-7432-01A-11D-2128-01 18 331827 77109240 2 357 | TCGA-CV-7432-01A-11D-2128-01 19 292583 58866434 2 358 | TCGA-CV-7432-01A-11D-2128-01 20 456452 53739121 2 359 | TCGA-CV-7432-01A-11D-2128-01 20 53746962 53780251 1 360 | TCGA-CV-7432-01A-11D-2128-01 20 53783203 62219837 2 361 | TCGA-CV-7432-01A-11D-2128-01 21 15372509 47678774 2 362 | TCGA-CV-7432-01A-11D-2128-01 22 17423930 49331012 2 363 | TCGA-05-4417-01A-22D-1854-01 1 3218923 116319008 2 364 | TCGA-05-4417-01A-22D-1854-01 1 116324707 120523902 1 365 | TCGA-05-4417-01A-22D-1854-01 1 149879545 161395555 4 366 | TCGA-05-4417-01A-22D-1854-01 1 161398414 247812431 4 367 | TCGA-05-4417-01A-22D-1854-01 2 499482 117951931 3 368 | TCGA-05-4417-01A-22D-1854-01 2 117969169 118387410 0 369 | TCGA-05-4417-01A-22D-1854-01 2 118418815 171265546 4 370 | TCGA-05-4417-01A-22D-1854-01 2 171268878 171546213 5 371 | TCGA-05-4417-01A-22D-1854-01 2 171558098 242471730 4 372 | TCGA-05-4417-01A-22D-1854-01 3 2217011 163915341 2 373 | TCGA-05-4417-01A-22D-1854-01 3 163927147 172831219 4 374 | TCGA-05-4417-01A-22D-1854-01 3 172835125 197534959 2 375 | TCGA-05-4417-01A-22D-1854-01 4 1053934 25773510 2 376 | TCGA-05-4417-01A-22D-1854-01 4 25775034 28122494 12 377 | TCGA-05-4417-01A-22D-1854-01 4 28148505 31149725 4 378 | TCGA-05-4417-01A-22D-1854-01 4 31158655 43686159 6 379 | TCGA-05-4417-01A-22D-1854-01 4 43686963 174966483 3 380 | TCGA-05-4417-01A-22D-1854-01 4 174983285 188763651 1 381 | TCGA-05-4417-01A-22D-1854-01 5 918523 50121623 3 382 | TCGA-05-4417-01A-22D-1854-01 5 50133344 64609974 1 383 | TCGA-05-4417-01A-22D-1854-01 5 64625512 180359733 2 384 | TCGA-05-4417-01A-22D-1854-01 6 1016984 15177232 5 385 | TCGA-05-4417-01A-22D-1854-01 6 15201779 170898549 3 386 | TCGA-05-4417-01A-22D-1854-01 7 746917 66136549 4 387 | TCGA-05-4417-01A-22D-1854-01 7 66153101 158385118 2 388 | TCGA-05-4417-01A-22D-1854-01 8 617885 58337296 4 389 | TCGA-05-4417-01A-22D-1854-01 8 58343134 145225107 5 390 | TCGA-05-4417-01A-22D-1854-01 9 790234 8343488 3 391 | TCGA-05-4417-01A-22D-1854-01 9 8348417 29302701 3 392 | TCGA-05-4417-01A-22D-1854-01 9 29308040 140938075 3 393 | TCGA-05-4417-01A-22D-1854-01 10 423671 135224372 3 394 | TCGA-05-4417-01A-22D-1854-01 11 458784 19461653 3 395 | TCGA-05-4417-01A-22D-1854-01 11 19464596 94962427 3 396 | TCGA-05-4417-01A-22D-1854-01 11 94965293 124102960 2 397 | TCGA-05-4417-01A-22D-1854-01 11 124105630 134142530 2 398 | TCGA-05-4417-01A-22D-1854-01 12 889902 20810511 5 399 | TCGA-05-4417-01A-22D-1854-01 12 20834242 31998994 4 400 | TCGA-05-4417-01A-22D-1854-01 12 32072546 32556989 2 401 | TCGA-05-4417-01A-22D-1854-01 12 32563932 84990701 3 402 | TCGA-05-4417-01A-22D-1854-01 12 84991348 133161346 4 403 | TCGA-05-4417-01A-22D-1854-01 13 19450806 114987333 2 404 | TCGA-05-4417-01A-22D-1854-01 14 20501368 25183181 4 405 | TCGA-05-4417-01A-22D-1854-01 14 25189706 42840592 7 406 | TCGA-05-4417-01A-22D-1854-01 14 42864428 105971894 3 407 | TCGA-05-4417-01A-22D-1854-01 15 23688944 101884307 2 408 | TCGA-05-4417-01A-22D-1854-01 16 655262 89379936 3 409 | TCGA-05-4417-01A-22D-1854-01 17 987221 30124080 2 410 | TCGA-05-4417-01A-22D-1854-01 17 30139622 30315147 4 411 | TCGA-05-4417-01A-22D-1854-01 17 30328605 80909157 3 412 | TCGA-05-4417-01A-22D-1854-01 18 331827 77109240 2 413 | TCGA-05-4417-01A-22D-1854-01 19 292583 58866434 3 414 | TCGA-05-4417-01A-22D-1854-01 20 456452 25078498 4 415 | TCGA-05-4417-01A-22D-1854-01 20 25096494 62219837 2 416 | TCGA-05-4417-01A-22D-1854-01 21 15372509 47678774 2 417 | TCGA-05-4417-01A-22D-1854-01 22 17423930 49331012 2 418 | TCGA-99-7458-01A-11D-2035-01 1 3218923 247812431 2 419 | TCGA-99-7458-01A-11D-2035-01 2 499482 138022356 2 420 | TCGA-99-7458-01A-11D-2035-01 2 138027100 242471730 2 421 | TCGA-99-7458-01A-11D-2035-01 3 2217011 146303165 2 422 | TCGA-99-7458-01A-11D-2035-01 3 146304597 197534959 2 423 | TCGA-99-7458-01A-11D-2035-01 4 1053934 188763651 2 424 | TCGA-99-7458-01A-11D-2035-01 5 918523 2974992 4 425 | TCGA-99-7458-01A-11D-2035-01 5 2983203 18365460 2 426 | TCGA-99-7458-01A-11D-2035-01 5 18373492 28593918 1 427 | TCGA-99-7458-01A-11D-2035-01 5 28615745 33628171 4 428 | TCGA-99-7458-01A-11D-2035-01 5 33631616 34882421 8 429 | TCGA-99-7458-01A-11D-2035-01 5 34888884 36171933 2 430 | TCGA-99-7458-01A-11D-2035-01 5 36178293 37299007 4 431 | TCGA-99-7458-01A-11D-2035-01 5 37299049 180359733 2 432 | TCGA-99-7458-01A-11D-2035-01 6 1016984 67968844 2 433 | TCGA-99-7458-01A-11D-2035-01 6 67984746 69726515 2 434 | TCGA-99-7458-01A-11D-2035-01 6 69728452 79894654 1 435 | TCGA-99-7458-01A-11D-2035-01 6 79901340 80463089 2 436 | TCGA-99-7458-01A-11D-2035-01 6 80463149 89230496 1 437 | TCGA-99-7458-01A-11D-2035-01 6 89237691 89421458 2 438 | TCGA-99-7458-01A-11D-2035-01 6 89427358 135674944 1 439 | TCGA-99-7458-01A-11D-2035-01 6 135692671 170898549 2 440 | TCGA-99-7458-01A-11D-2035-01 7 746917 158385118 2 441 | TCGA-99-7458-01A-11D-2035-01 8 617885 40501168 1 442 | TCGA-99-7458-01A-11D-2035-01 8 40515088 80278805 2 443 | TCGA-99-7458-01A-11D-2035-01 8 80305930 85360962 3 444 | TCGA-99-7458-01A-11D-2035-01 8 85365475 145225107 2 445 | TCGA-99-7458-01A-11D-2035-01 9 790234 140938075 1 446 | TCGA-99-7458-01A-11D-2035-01 10 423671 135224372 2 447 | TCGA-99-7458-01A-11D-2035-01 11 458784 134142530 2 448 | TCGA-99-7458-01A-11D-2035-01 12 889902 133161346 1 449 | TCGA-99-7458-01A-11D-2035-01 13 19450806 114987333 1 450 | TCGA-99-7458-01A-11D-2035-01 14 20501368 35735967 1 451 | TCGA-99-7458-01A-11D-2035-01 14 35742486 37160114 7 452 | TCGA-99-7458-01A-11D-2035-01 14 37173235 60233616 2 453 | TCGA-99-7458-01A-11D-2035-01 14 60243594 63337177 1 454 | TCGA-99-7458-01A-11D-2035-01 14 63352686 105971894 2 455 | TCGA-99-7458-01A-11D-2035-01 15 23688944 101884307 1 456 | TCGA-99-7458-01A-11D-2035-01 16 655262 4016943 2 457 | TCGA-99-7458-01A-11D-2035-01 16 4021734 4297651 3 458 | TCGA-99-7458-01A-11D-2035-01 16 4304349 83793995 2 459 | TCGA-99-7458-01A-11D-2035-01 16 83794096 89379936 1 460 | TCGA-99-7458-01A-11D-2035-01 17 987221 17121624 1 461 | TCGA-99-7458-01A-11D-2035-01 17 17126041 80909157 2 462 | TCGA-99-7458-01A-11D-2035-01 18 331827 77109240 2 463 | TCGA-99-7458-01A-11D-2035-01 19 292583 58866434 1 464 | TCGA-99-7458-01A-11D-2035-01 20 456452 32791520 1 465 | TCGA-99-7458-01A-11D-2035-01 20 32809249 33406339 2 466 | TCGA-99-7458-01A-11D-2035-01 20 33407715 62219837 1 467 | TCGA-99-7458-01A-11D-2035-01 21 15372509 47678774 2 468 | TCGA-99-7458-01A-11D-2035-01 22 17423930 49331012 1 469 | -------------------------------------------------------------------------------- /test/example_mat.csv: -------------------------------------------------------------------------------- 1 | rn,TCGA-05-4417-01A-22D-1854-01,TCGA-06-0644-01A-02D-0310-01,TCGA-19-2621-01B-01D-0911-01,TCGA-26-6174-01A-21D-1842-01,TCGA-99-7458-01A-11D-2035-01,TCGA-A5-A0G2-01A-11D-A042-01,TCGA-A8-A07S-01A-11D-A036-01,TCGA-B6-A0X5-01A-21D-A107-01,TCGA-CV-7432-01A-11D-2128-01,TCGA-DF-A2KN-01A-11D-A17U-01 2 | BP10MB[0],275,289,294,288,284,289,291,297,286,295 3 | BP10MB[1],20,5,2,4,9,5,6,2,11,0 4 | BP10MB[2],5,4,3,7,5,6,1,0,2,4 5 | BP10MB[3],0,0,1,1,1,0,1,0,1,1 6 | BP10MB[4],0,1,0,0,1,0,0,1,0,0 7 | BP10MB[5],0,0,0,0,0,0,1,0,0,0 8 | BP10MB[>5],0,1,0,0,0,0,0,0,0,0 9 | BPArm[0],28,37,39,37,35,35,41,42,36,40 10 | BPArm[1],8,2,1,0,3,4,0,1,4,0 11 | BPArm[2],5,2,3,4,3,4,1,0,3,2 12 | BPArm[3],1,0,1,0,0,0,1,0,0,1 13 | BPArm[4],2,1,0,2,1,1,0,0,0,1 14 | BPArm[5],0,0,0,1,0,0,0,1,0,0 15 | BPArm[6],0,1,0,0,1,0,0,0,0,0 16 | BPArm[7],0,0,0,0,1,0,0,0,1,0 17 | BPArm[8],0,1,0,0,0,0,0,0,0,0 18 | BPArm[9],0,0,0,0,0,0,1,0,0,0 19 | BPArm[10],0,0,0,0,0,0,0,0,0,0 20 | BPArm[>10 & <=20],0,0,0,0,0,0,0,0,0,0 21 | BPArm[>20 & <=30],0,0,0,0,0,0,0,0,0,0 22 | BPArm[>30],0,0,0,0,0,0,0,0,0,0 23 | CN[0],0,3,0,2,0,4,0,0,1,0 24 | CN[1],4,11,3,3,16,12,9,4,8,1 25 | CN[2],15,27,25,30,22,18,27,20,24,27 26 | CN[3],12,3,3,8,5,5,1,4,3,4 27 | CN[4],13,2,0,0,2,0,1,0,1,1 28 | CN[>4 & <=8],7,0,0,0,3,0,0,0,2,0 29 | CN[>8],1,0,2,0,0,0,0,0,1,0 30 | CNCP[0],9,17,19,15,15,14,18,20,14,18 31 | CNCP[1],8,24,9,17,14,15,14,0,14,10 32 | CNCP[2],13,0,0,4,7,2,2,6,2,1 33 | CNCP[3],6,0,0,0,1,0,0,0,0,0 34 | CNCP[4],1,0,0,0,1,0,0,0,0,0 35 | CNCP[>4 & <=8],0,0,0,0,3,0,0,0,1,0 36 | CNCP[>8],2,0,2,0,0,0,0,0,1,0 37 | OsCN[0],19,18,21,15,21,18,20,21,22,19 38 | OsCN[1],3,4,2,4,6,2,0,0,3,2 39 | OsCN[2],0,0,0,0,1,1,0,0,0,0 40 | OsCN[3],0,0,1,3,0,0,0,0,0,1 41 | OsCN[4],0,0,0,0,0,0,1,1,0,0 42 | OsCN[>4 & <=10],0,2,0,0,0,1,1,0,0,0 43 | OsCN[>10],0,0,0,0,0,0,0,0,0,0 44 | SS[<=2],0,0,0,0,0,0,0,0,0,0 45 | SS[>2 & <=3],0,0,0,0,0,0,0,0,0,0 46 | SS[>3 & <=4],0,0,0,0,0,0,0,0,0,0 47 | SS[>4 & <=5],0,2,0,1,0,1,1,0,2,2 48 | SS[>5 & <=6],4,7,3,7,4,5,3,4,2,4 49 | SS[>6 & <=7],5,9,2,4,11,2,6,1,6,2 50 | SS[>7 & <=8],35,18,19,19,23,19,18,11,20,13 51 | SS[>8],8,10,9,12,10,12,10,12,10,12 52 | NC50[<=2],0,1,1,0,0,0,1,1,1,1 53 | NC50[3],0,0,0,1,0,1,0,0,0,0 54 | NC50[4],0,0,0,0,1,0,0,0,0,0 55 | NC50[5],1,0,0,0,0,0,0,0,0,0 56 | NC50[6],0,0,0,0,0,0,0,0,0,0 57 | NC50[7],0,0,0,0,0,0,0,0,0,0 58 | NC50[>7],0,0,0,0,0,0,0,0,0,0 59 | BoChr[1],2,1,0,0,1,2,1,0,0,0 60 | BoChr[2],5,0,0,0,0,1,0,0,1,0 61 | BoChr[3],1,3,1,0,0,0,0,0,1,0 62 | BoChr[4],5,3,0,0,0,3,0,0,1,0 63 | BoChr[5],2,0,0,0,5,7,0,0,0,0 64 | BoChr[6],2,0,0,0,4,2,5,0,0,0 65 | BoChr[7],1,1,3,1,0,0,0,0,0,0 66 | BoChr[8],2,1,0,0,2,0,3,2,0,0 67 | BoChr[9],1,8,2,3,0,1,0,0,3,0 68 | BoChr[10],1,1,1,0,0,0,0,0,1,0 69 | BoChr[11],3,0,0,0,0,0,0,0,6,0 70 | BoChr[12],4,0,0,1,1,1,0,0,0,0 71 | BoChr[13],0,0,1,1,1,1,0,6,0,1 72 | BoChr[14],3,1,0,0,3,0,0,0,1,0 73 | BoChr[15],0,0,0,3,1,0,0,0,1,0 74 | BoChr[16],1,0,0,0,2,0,2,0,0,0 75 | BoChr[17],2,0,0,0,1,0,0,0,0,0 76 | BoChr[18],0,0,0,0,0,0,0,0,0,2 77 | BoChr[19],1,0,0,1,1,0,0,0,0,0 78 | BoChr[20],1,0,0,1,3,2,0,0,1,1 79 | BoChr[21],0,0,0,0,0,0,0,0,0,0 80 | BoChr[22],0,0,0,2,1,1,0,0,0,2 81 | BoChr[23],0,0,0,0,0,0,0,0,0,0 82 | -------------------------------------------------------------------------------- /test/tcga_laml.maf.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShixiangWang/sigflow/75521a290746144a59960a40a4140cf36e0f1dfd/test/tcga_laml.maf.gz -------------------------------------------------------------------------------- /test/test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | #ln -s ~/Documents/GitHub/sigflow/sigflow.R ~/.local/bin/sigflow 3 | 4 | ## Extraction PART: 5 | 6 | #1 7 | sigflow extract -i tcga_laml.maf.gz -o test_results/test_maf -m MAF -r 10 -T 4 --max 10 --refit --hyper 8 | if [ $? -ne 0 ]; then 9 | t1="failed at 'test_maf' in mode 'MAF'" 10 | else 11 | t1="succeed in test #1" 12 | fi 13 | 14 | #2 15 | sigflow extract -i tcga_laml.maf.gz -o test_results/test_maf_SBS -m SBS -r 10 -T 4 --max 10 16 | if [ $? -ne 0 ]; then 17 | t2="failed at 'test_maf' in mode 'SBS'" 18 | else 19 | t2="succeed in test #2" 20 | fi 21 | 22 | #3 23 | sigflow extract -i tcga_laml.maf.gz -o test_results/test_maf_ID -m ID -r 10 -T 4 --max 10 24 | if [ $? -ne 0 ]; then 25 | t3="failed at 'test_maf' in mode 'ID'" 26 | else 27 | t3="succeed in test #3" 28 | fi 29 | 30 | #4 31 | sigflow extract -i vcf/ -o test_results/test_vcf -m MAF -r 10 -T 4 --max 10 32 | if [ $? -ne 0 ]; then 33 | t4="failed at 'test_vcf' in mode 'MAF'" 34 | else 35 | t4="succeed in test #4" 36 | fi 37 | 38 | #5 39 | sigflow extract -i example_cn.tsv -o test_results/test_cn -m CN -r 10 -T 4 --max 5 40 | if [ $? -ne 0 ]; then 41 | t5="failed at 'test_cn' in mode 'CN'" 42 | else 43 | t5="succeed in test #5" 44 | fi 45 | 46 | #10 47 | sigflow extract -i example_mat.csv -o test_results/test_cn_mat -m CN -r 10 -T 4 --max 5 48 | if [ $? -ne 0 ]; then 49 | t10="failed at 'test_cn_mat' in mode 'CN'" 50 | else 51 | t10="succeed in test #10" 52 | fi 53 | 54 | #6 55 | sigflow extract -i tcga_laml.maf.gz -o test_results/test_maf_manual -m SBS -r 10 -T 4 --manual -g hg19 56 | if [ $? -ne 0 ]; then 57 | t6_1="failed at 'test_manual' step 1 in mode 'SBS'" 58 | else 59 | t6_1="succeed in test #6 step 1" 60 | fi 61 | 62 | sigflow extract -i tcga_laml.maf.gz -o test_results/test_maf_manual -m SBS -r 10 -T 4 --manual -N 3 63 | if [ $? -ne 0 ]; then 64 | t6_2="failed at 'test_manual' step 2 in mode 'SBS'" 65 | else 66 | t6_2="succeed in test #6 step 2" 67 | fi 68 | 69 | ## Fitting PART: 70 | 71 | #7 72 | sigflow fit -i tcga_laml.maf.gz -o test_results/test_fitting -m MAF 73 | if [ $? -ne 0 ]; then 74 | t7="failed at 'test_fitting' in mode 'MAF'" 75 | else 76 | t7="succeed in test #7" 77 | fi 78 | 79 | #8 80 | sigflow bt -i tcga_laml.maf.gz -o test_results/test_bt -m SBS -r 5 --verbose 81 | if [ $? -ne 0 ]; then 82 | t8="failed at 'test_bt' in mode 'SBS'" 83 | else 84 | t8="succeed in test #8" 85 | fi 86 | 87 | # Show PART 88 | sigflow show --isearch breast 89 | if [ $? -ne 0 ]; then 90 | t11="failed at testing search cancer type specific indices" 91 | else 92 | t11="succeed in test #11" 93 | fi 94 | 95 | sigflow show --mode SBS --index 1,2,3,7a -o test_results/test_show_sig_profile 96 | if [ $? -ne 0 ]; then 97 | t12="failed at plotting COSMIC reference signatures" 98 | else 99 | t12="succeed in test #12" 100 | fi 101 | 102 | ## Output test results 103 | echo =========================================== 104 | echo " Test Results " 105 | echo $t1 106 | echo $t2 107 | echo $t3 108 | echo $t4 109 | echo $t5 110 | echo "$t6_1; $t6_2" 111 | echo $t7 112 | echo $t8 113 | echo $t10 114 | echo $t11 115 | echo $t12 116 | echo =========================================== 117 | -------------------------------------------------------------------------------- /test/test_docker.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | CURRENT_DIR=$(cd `dirname $0`; pwd) 3 | sudo docker run --rm shixiangwang/sigflow extract -i /opt/test/tcga_laml.maf.gz -o /opt/test/test_results/test_docker -m SBS -r 3 4 | sudo docker run --rm -v $CURRENT_DIR:/root/test/ shixiangwang/sigflow extract -i /root/test/tcga_laml.maf.gz -o /root/test/test_results/test_docker -m SBS -r 3 5 | -------------------------------------------------------------------------------- /test/vcf/test1.vcf: -------------------------------------------------------------------------------- 1 | #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT NORMAL TUMOUR 2 | 1 13079 595026967 C G . MQ;AN DP=135;MP=1.0e+00;GP=1.7e-17;TG=CC/CCCCG;TP=1.0e+00;SG=CC/CCCCC;SP=4.2e-03 GT:AA:CA:GA:TA:PM 0/0:0:65:0:0:0.0e+00 0/1:0:65:5:0:7.1e-02 3 | 1 13418 595026968 G A . UM;MQ;AN DP=311;MP=1.0e+00;GP=6.2e-39;TG=GG/AGGGG;TP=1.0e+00;SG=GG/AAGGG;SP=3.9e-06 GT:AA:CA:GA:TA:PM 0/0:0:0:139:0:0.0e+00 0/1:36:0:136:0:2.1e-01 4 | 1 15072 595026969 G C . MQ;AN DP=150;MP=1.0e+00;GP=6.8e-26;TG=GG/CCGGG;TP=9.9e-01;SG=GG/CGGGG;SP=6.4e-03 GT:AA:CA:GA:TA:PM 0/0:0:0:94:0:0.0e+00 0/1:0:21:35:0:3.8e-01 5 | 1 16957 595026970 G T . MQ;AN DP=83;MP=1.0e+00;GP=5.8e-10;TG=GG/GGGTT;TP=5.9e-01;SG=GG/GGTTT;SP=4.1e-01 GT:AA:CA:GA:TA:PM 0/0:0:0:39:0:0.0e+00 0/1:0:0:23:21:4.8e-01 6 | 1 17594 595026971 C T . AN DP=106;MP=1.0e+00;GP=1.0e-13;TG=CC/CCCCT;TP=1.0e+00;SG=CC/CCCTT;SP=3.0e-04 GT:AA:CA:GA:TA:PM 0/0:0:52:0:0:0.0e+00 0/1:0:47:0:7:1.3e-01 7 | 1 17626 595026972 G A . AN DP=141;MP=1.0e+00;GP=1.7e-19;TG=GG/AGGGG;TP=1.0e+00;SG=GG/AAGGG;SP=8.7e-05 GT:AA:CA:GA:TA:PM 0/0:0:0:72:0:0.0e+00 0/1:10:0:59:0:1.4e-01 8 | 1 63697 595026973 T C . UM;AN DP=407;MP=1.0e+00;GP=1.1e-11;TG=TT/CCCTT;TP=1.0e+00;SG=TT/CCTTT;SP=7.5e-06 GT:AA:CA:GA:TA:PM 0/0:0:0:0:45:0.0e+00 0/1:0:191:0:171:5.3e-01 9 | 1 129315 595026974 A G . UM;MQ;AN DP=288;MP=1.0e+00;GP=2.3e-09;TG=AA/AAAAG;TP=1.0e+00;SG=AG/AAAAG;SP=2.3e-09 GT:AA:CA:GA:TA:PM 0/0:37:0:0:0:0.0e+00 0/1:220:0:31:0:1.2e-01 10 | 1 753277 595026975 G A . MQ;AN DP=176;MP=1.0e+00;GP=2.7e-34;TG=GG/AGGGG;TP=1.0e+00;SG=GG/AAGGG;SP=1.0e-03 GT:AA:CA:GA:TA:PM 0/0:0:0:123:0:0.0e+00 0/1:8:0:45:0:1.5e-01 11 | 1 809091 595026976 A G . UM;MQ;AN DP=494;MP=9.8e-01;GP=2.2e-51;TG=AA/AAAAG;TP=9.8e-01;SG=AA/AAAAA;SP=2.4e-02 GT:AA:CA:GA:TA:PM 0/0:182:0:0:0:0.0e+00 0/1:298:0:14:0:4.5e-02 12 | 1 809261 595026977 C T . UM;MQ;AN DP=435;MP=1.0e+00;GP=1.8e-28;TG=CC/CCCCT;TP=1.0e+00;SG=CC/CCCCC;SP=1.0e-19 GT:AA:CA:GA:TA:PM 0/0:0:103:0:0:0.0e+00 0/1:0:310:0:22:6.6e-02 13 | 1 809319 595026978 C T . UM;MQ;AN DP=364;MP=1.0e+00;GP=3.6e-08;TG=CC/CCCCT;TP=1.0e+00;SG=CT/CCCCT;SP=3.6e-08 GT:AA:CA:GA:TA:PM 0/0:0:33:0:0:0.0e+00 0/1:0:300:0:31:9.4e-02 14 | 1 809351 595026979 T G . PH;DP;AN DP=298;MP=9.9e-01;GP=2.5e-16;TG=TT/GTTTT;TP=9.9e-01;SG=TT/TTTTT;SP=8.3e-03 GT:AA:CA:GA:TA:PM 0/0:0:0:0:61:0.0e+00 0/1:0:0:22:215:9.3e-02 15 | 1 809361 595026980 A C . PH;DP;AN DP=352;MP=1.0e+00;GP=4.0e-22;TG=AA/AAAAC;TP=1.0e+00;SG=AA/AAAAA;SP=2.2e-08 GT:AA:CA:GA:TA:PM 0/0:81:0:0:0:0.0e+00 0/1:250:21:0:0:7.7e-02 16 | 1 874865 595026981 T C . TI DP=35;MP=8.7e-01;GP=1.3e-01;TG=TT/CTTTT;TP=7.6e-01;SG=CT/CTTTT;SP=1.1e-01;VD=NOC2L|CCDS3.1|downstream;VW=SAMD11|CCDS2.2|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:0:10:0.0e+00 0/1:0:5:1:19:2.0e-01 17 | 1 915246 595026982 T G . PH;DP DP=95;MP=1.0e+00;GP=9.1e-06;TG=TT/GTTTT;TP=1.0e+00;SG=TT/GGTTT;SP=4.7e-03;CA;VD=PLEKHN1|CCDS4.1|downstream;VW=C1orf170|ENST00000433179|r.882a>c|c.882A>C|p.T294T GT:AA:CA:GA:TA:PM 0/0:0:1:0:24:0.0e+00 0/1:0:0:15:55:2.1e-01 18 | 1 915369 595026983 T G . PH;DP;UM;MN DP=149;MP=9.4e-01;GP=5.1e-02;TG=TT/GTTTT;TP=9.4e-01;SG=GT/GTTTT;SP=5.1e-02;CA;VD=PLEKHN1|CCDS4.1|downstream;VW=C1orf170|ENST00000433179|r.759a>c|c.759A>C|p.T253T GT:AA:CA:GA:TA:PM 0/0:0:0:1:18:5.3e-02 0/1:0:0:12:118:9.2e-02 19 | 1 915459 595026984 T G . PH DP=99;MP=9.3e-01;GP=7.2e-02;TG=TT/GTTTT;TP=9.3e-01;SG=GT/GTTTT;SP=7.2e-02;CA;VD=PLEKHN1|CCDS4.1|downstream;VW=C1orf170|ENST00000433179|r.669a>c|c.669A>C|p.T223T GT:AA:CA:GA:TA:PM 0/0:0:0:0:11:0.0e+00 0/1:0:0:9:79:1.0e-01 20 | 1 981307 595026985 A C . PH;DP DP=59;MP=1.0e+00;GP=3.7e-04;TG=AA/AAAAC;TP=8.4e-01;SG=AA/AAACC;SP=1.6e-01;VD=AGRN|CCDS30551.1|intronic;VW=AGRN|CCDS30551.1|intronic GT:AA:CA:GA:TA:PM 0/0:19:0:0:0:0.0e+00 0/1:30:10:0:0:2.5e-01 21 | 1 1203428 595026986 T C . PH;DP DP=213;MP=9.8e-01;GP=3.4e-17;TG=TT/CTTTT;TP=9.8e-01;SG=TT/TTTTT;SP=2.1e-02;VD=UBE2J2|CCDS16.1|intronic;VW=UBE2J2|CCDS16.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:0:64:0.0e+00 0/1:0:15:0:134:1.0e-01 22 | 1 1225535 595026987 T C . SR DP=24;MP=9.1e-01;GP=9.7e-03;TG=TT/CCTTT;TP=4.4e-01;SG=TT/CTTTT;SP=3.7e-01;VD=ACAP3|CCDS19.2|downstream;VW=SCNN1D|CCDS18.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:0:14:0.0e+00 0/1:0:3:0:7:3.0e-01 23 | 1 1249680 595026988 C T . PASS DP=29;MP=9.8e-01;GP=2.0e-02;TG=CC/CCCTT;TP=5.6e-01;SG=CC/CCCCT;SP=3.6e-01;CA;VD=CPSF3L|CCDS21.1|r.850+1g>a|c.767+1G>A|p.?;VW=CPSF3L|CCDS21.1|r.850+1g>a|c.767+1G>A|p.? GT:AA:CA:GA:TA:PM 0/0:0:13:0:0:0.0e+00 0/1:0:11:0:5:3.1e-01 24 | 1 1264136 595026989 A T . PASS DP=63;MP=1.0e+00;GP=6.3e-08;TG=AA/AAAAT;TP=8.6e-01;SG=AA/AAATT;SP=1.4e-01;SNP;VD=GLTPD1|CCDS30555.1|r.2049a>u|c.?|p.?;VW=GLTPD1|CCDS30555.1|r.2049a>u|c.?|p.? GT:AA:CA:GA:TA:PM 0/0:32:0:0:0:0.0e+00 0/1:24:0:0:7:2.3e-01 25 | 1 1268403 595026990 G A . PASS DP=83;MP=1.0e+00;GP=1.5e-12;TG=GG/AAAGG;TP=9.3e-01;SG=GG/AAGGG;SP=3.8e-02;CA;VD=TAS1R3|CCDS30556.1|r.1410g>a|c.1378G>A|p.V460M;VW=TAS1R3|CCDS30556.1|r.1410g>a|c.1378G>A|p.V460M GT:AA:CA:GA:TA:PM 0/0:0:0:48:0:0.0e+00 0/1:21:0:14:0:6.0e-01 26 | 1 1273314 595026991 G A . SR DP=15;MP=8.6e-01;GP=1.3e-01;TG=GG/AAAGG;TP=3.6e-01;SG=GG/AAGGG;SP=2.3e-01;VD=TAS1R3|CCDS30556.1|downstream;VW=DVL1L1|CCDS22.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:10:0:0.0e+00 0/1:3:0:2:0:6.0e-01 27 | 1 1275688 595026992 G A . PASS DP=105;MP=1.0e+00;GP=7.2e-15;TG=GG/AAAGG;TP=9.6e-01;SG=GG/AAGGG;SP=3.5e-02;CA;VD=DVL1L1|CCDS22.1|r.755c>u|c.708C>T|p.S236S;VW=DVL1L1|CCDS22.1|r.755c>u|c.708C>T|p.S236S GT:AA:CA:GA:TA:PM 0/0:0:0:56:0:0.0e+00 0/1:28:0:21:0:5.7e-01 28 | 1 1374508 595026993 G A . PASS DP=40;MP=1.0e+00;GP=9.8e-05;TG=GG/AAGGG;TP=5.4e-01;SG=GG/AAAGG;SP=4.4e-01;CA;VD=VWA1|CCDS27.1|r.757g>a|c.679G>A|p.G227S;VW=VWA1|CCDS27.1|r.757g>a|c.679G>A|p.G227S GT:AA:CA:GA:TA:PM 0/0:0:0:21:0:0.0e+00 0/1:9:0:10:0:4.7e-01 29 | 1 1390967 595026994 C A . PASS DP=51;MP=1.0e+00;GP=2.7e-03;TG=CC/AACCC;TP=8.0e-01;SG=CC/ACCCC;SP=1.9e-01;VD=ATAD3C|CCDS44039.1|intronic;VW=ATAD3C|CCDS44039.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:16:0:0:0.0e+00 0/1:11:23:1:0:3.1e-01 30 | 1 1391374 595026995 T C . PASS DP=49;MP=1.0e+00;GP=5.1e-05;TG=TT/CCTTT;TP=5.3e-01;SG=TT/CCCTT;SP=4.7e-01;VD=ATAD3C|CCDS44039.1|intronic;VW=ATAD3C|CCDS44039.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:0:22:0.0e+00 0/1:0:13:0:14:4.8e-01 31 | 1 1391459 595026996 T C . PASS DP=16;MP=9.2e-01;GP=7.1e-02;TG=TT/CCCTT;TP=3.9e-01;SG=TT/CCTTT;SP=2.4e-01;SNP;VD=ATAD3C|CCDS44039.1|intronic;VW=ATAD3C|CCDS44039.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:0:11:0.0e+00 0/1:0:3:0:2:6.0e-01 32 | 1 1417704 595026997 G C . RP DP=33;MP=8.8e-01;GP=3.5e-02;TG=GG/CGGGG;TP=8.4e-01;SG=GG/GGGGG;SP=8.2e-02;VD=ATAD3B|CCDS30.1|intronic;VW=ATAD3B|CCDS30.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:12:0:0.0e+00 0/1:0:3:18:0:1.4e-01 33 | 1 1418004 595026998 T C . UM;MQ DP=303;MP=1.0e+00;GP=9.0e-41;TG=TT/CCTTT;TP=1.0e+00;SG=TT/CTTTT;SP=1.3e-03;CA;SNP;VD=ATAD3B|CCDS30.1|r.866+10u>c|c.750+10T>C|p.?;VW=ATAD3B|ENST00000378741|r.882u>c|c.760T>C|p.F254L GT:AA:CA:GA:TA:PM 0/0:1:0:0:146:0.0e+00 0/1:0:51:0:105:3.3e-01 34 | 1 1571841 595026999 A C . PASS DP=281;MP=1.0e+00;GP=8.8e-09;TG=AA/AAAAC;TP=1.0e+00;SG=AA/AAACC;SP=1.6e-06;CA;VD=MMP23B|CCDS30559.1|downstream;VW=CDK11B|ENST00000340677|r.1965u>g|c.1965T>G|p.D655E GT:AA:CA:GA:TA:PM 0/0:35:0:0:0:0.0e+00 0/1:190:56:0:0:2.3e-01 35 | 1 1571888 595027000 G A . PASS DP=207;MP=1.0e+00;GP=3.1e-10;TG=GG/AGGGG;TP=1.0e+00;SG=GG/AAGGG;SP=4.4e-08;VD=MMP23B|CCDS30559.1|downstream;VW=CDK11B|ENST00000407249|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:40:0:0.0e+00 0/1:30:0:137:0:1.8e-01 36 | 1 1572760 595027001 G C . MQ DP=278;MP=1.0e+00;GP=7.8e-22;TG=GG/CGGGG;TP=1.0e+00;SG=GG/CCGGG;SP=2.4e-17;VD=MMP23B|CCDS30559.1|downstream;VW=CDK11B|ENST00000340677|r.1615+10c>g|c.1615+10C>G|p.? GT:AA:CA:GA:TA:PM 0/0:0:0:80:0:0.0e+00 0/1:0:17:181:0:8.6e-02 37 | 1 1572893 595027002 G A . MQ DP=378;MP=1.0e+00;GP=1.9e-26;TG=GG/AGGGG;TP=1.0e+00;SG=GG/AAGGG;SP=3.0e-10;VD=MMP23B|CCDS30559.1|downstream;VW=CDK11B|ENST00000407249|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:96:0:0.0e+00 0/1:57:1:224:0:2.0e-01 38 | 1 1573340 595027003 G C . MQ DP=229;MP=1.0e+00;GP=1.9e-24;TG=GG/CGGGG;TP=1.0e+00;SG=GG/GGGGG;SP=1.4e-06;VD=MMP23B|CCDS30559.1|downstream;VW=CDK11B|ENST00000407249|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:89:0:0.0e+00 0/1:0:8:132:0:5.7e-02 39 | 1 1573392 595027004 C T . PASS DP=150;MP=1.0e+00;GP=1.2e-09;TG=CC/CCCCT;TP=1.0e+00;SG=CC/CCCTT;SP=1.4e-03;VD=MMP23B|CCDS30559.1|downstream;VW=CDK11B|ENST00000407249|intronic GT:AA:CA:GA:TA:PM 0/0:0:38:0:0:0.0e+00 0/1:0:87:0:25:2.2e-01 40 | 1 1575715 595027005 C T . MQ DP=316;MP=1.0e+00;GP=4.1e-22;TG=CC/CCCCT;TP=1.0e+00;SG=CC/CCCTT;SP=3.6e-11;CA;VD=CDK11B|ENST00000340677|r.1219g>a|c.1219G>A|p.D407N;VW=CDK11B|ENST00000340677|r.1219g>a|c.1219G>A|p.D407N GT:AA:CA:GA:TA:PM 0/0:0:81:0:0:0.0e+00 0/1:0:193:0:42:1.8e-01 41 | 1 1576586 595027006 C G . PASS DP=121;MP=1.0e+00;GP=9.1e-07;TG=CC/CCCCG;TP=1.0e+00;SG=CC/CCCGG;SP=7.6e-04;VD=CDK11B|ENST00000407249|intronic;VW=CDK11B|ENST00000407249|intronic GT:AA:CA:GA:TA:PM 0/0:0:28:0:0:0.0e+00 0/1:0:74:19:0:2.0e-01 42 | 1 1580806 595027007 T G . MQ DP=36;MP=1.0e+00;GP=9.8e-05;TG=TT/GGGGG;TP=9.7e-01;SG=TT/GGGGT;SP=2.9e-02;VD=CDK11B|ENST00000407249|intronic;VW=CDK11B|ENST00000407249|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:0:21:0.0e+00 1/1:0:0:15:0:1.0e+00 43 | 1 1581888 595027008 T C . TI;RP DP=246;MP=8.4e-01;GP=5.3e-59;TG=TT/CTTTT;TP=8.4e-01;SG=TT/TTTTT;SP=1.6e-01;VD=CDK11B|ENST00000407249|intronic;VW=CDK11B|ENST00000407249|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:0:208:0.0e+00 0/1:0:4:0:34:1.1e-01 44 | 1 1581889 595027009 C A . TI;RP DP=235;MP=1.0e+00;GP=1.7e-57;TG=CC/ACCCC;TP=9.5e-01;SG=CC/AACCC;SP=4.7e-02;VD=CDK11B|ENST00000407249|intronic;VW=CDK11B|ENST00000407249|intronic GT:AA:CA:GA:TA:PM 0/0:0:203:0:0:0.0e+00 0/1:6:26:0:0:1.9e-01 45 | 1 1581890 595027010 G A . PASS DP=226;MP=1.0e+00;GP=1.9e-55;TG=GG/AAGGG;TP=8.8e-01;SG=GG/AGGGG;SP=7.6e-02;VD=CDK11B|ENST00000407249|intronic;VW=CDK11B|ENST00000407249|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:196:0:0.0e+00 0/1:11:0:19:0:3.7e-01 46 | 1 1581892 595027011 A C . TI DP=212;MP=1.0e+00;GP=1.1e-53;TG=AA/CCCCC;TP=9.9e-01;SG=AA/ACCCC;SP=9.6e-03;VD=CDK11B|ENST00000407249|intronic;VW=CDK11B|ENST00000407249|intronic GT:AA:CA:GA:TA:PM 0/0:190:0:0:0:0.0e+00 1/1:0:13:0:9:5.9e-01 47 | 1 1581893 595027012 G C . TI;RP DP=205;MP=1.0e+00;GP=9.3e-52;TG=GG/CCGGG;TP=5.1e-01;SG=GG/CGGGG;SP=4.8e-01;VD=CDK11B|ENST00000407249|intronic;VW=CDK11B|ENST00000407249|intronic GT:AA:CA:GA:TA:PM 0/0:1:0:183:0:0.0e+00 0/1:0:6:15:0:2.9e-01 48 | 1 1586649 595027013 T A . RP DP=20;MP=9.9e-01;GP=5.3e-03;TG=TT/AAAAT;TP=5.6e-01;SG=TT/AAATT;SP=3.3e-01;VD=CDK11B|ENST00000407249|intronic;VW=CDK11B|ENST00000407249|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:0:15:0.0e+00 0/1:4:0:0:1:8.0e-01 49 | 1 1586650 595027014 C G . TI;RP DP=21;MP=9.9e-01;GP=5.3e-03;TG=CC/CGGGG;TP=6.5e-01;SG=CC/CCGGG;SP=2.9e-01;VD=CDK11B|ENST00000407249|intronic;VW=CDK11B|ENST00000407249|intronic GT:AA:CA:GA:TA:PM 0/0:0:15:0:0:0.0e+00 0/1:0:1:5:0:8.3e-01 50 | 1 1588535 595027015 C A . MN;RP DP=29;MP=9.6e-01;GP=3.8e-02;TG=CC/AAAAC;TP=5.4e-01;SG=CC/AAACC;SP=3.2e-01;VD=ENSG00000189339|CCDS44041.1|downstream;VW=CDK11B|ENST00000407249|intronic GT:AA:CA:GA:TA:PM 0/0:1:22:1:0:4.2e-02 0/1:4:1:0:0:8.0e-01 51 | 1 1591593 595027016 A C . MQ DP=284;MP=1.0e+00;GP=8.4e-20;TG=AA/AAAAC;TP=1.0e+00;SG=AA/AAACC;SP=2.0e-04;CA;VD=ENSG00000189339|CCDS44041.1|downstream;VW=AL691432.2|ENST00000508906|r.442u>g GT:AA:CA:GA:TA:PM 0/0:73:0:0:0:0.0e+00 0/1:160:51:0:0:2.4e-01 52 | 1 1636188 595027017 G A . PASS DP=156;MP=1.0e+00;GP=1.1e-11;TG=GG/AGGGG;TP=1.0e+00;SG=GG/AAGGG;SP=4.8e-03;VD=CDK11B|CCDS44042.1|intronic;VW=CDK11B|CCDS44042.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:45:0:0.0e+00 0/1:26:0:85:0:2.3e-01 53 | 1 1636355 595027018 A G . UM;MQ DP=356;MP=1.0e+00;GP=8.1e-63;TG=AA/GGGGG;TP=1.0e+00;SG=AA/AGGGG;SP=2.6e-14;CA;SNP;VD=CDK11B|CCDS44042.1|r.1526u>c|c.1446T>C|p.I482I;VW=CDK11B|CCDS44042.1|r.1526u>c|c.1446T>C|p.I482I GT:AA:CA:GA:TA:PM 0/0:221:1:0:0:0.0e+00 1/1:0:0:134:0:1.0e+00 54 | 1 1636559 595027019 G C . MQ DP=137;MP=1.0e+00;GP=1.2e-18;TG=GG/CCCCG;TP=1.0e+00;SG=GG/CCCCC;SP=2.2e-03;VD=CDK11B|CCDS44042.1|intronic;VW=CDK11B|CCDS44042.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:69:0:0.0e+00 0/1:0:65:3:0:9.6e-01 55 | 1 1636611 595027020 C T . MQ DP=45;MP=1.0e+00;GP=4.4e-09;TG=CC/CTTTT;TP=8.3e-01;SG=CC/CCTTT;SP=1.5e-01;VD=CDK11B|CCDS44042.1|intronic;VW=CDK11B|CCDS44042.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:36:0:0:0.0e+00 0/1:0:1:0:8:8.9e-01 56 | 1 1639062 595027021 T C . UM;MQ DP=135;MP=1.0e+00;GP=1.9e-35;TG=TT/CCCCT;TP=7.7e-01;SG=TT/CCCTT;SP=1.9e-01;SNP;VD=CDK11B|CCDS44042.1|intronic;VW=CDK11B|CCDS44042.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:0:127:0.0e+00 0/1:0:7:0:1:8.8e-01 57 | 1 1647778 595027022 C G . UM;MN DP=855;MP=1.0e+00;GP=1.3e-17;TG=CC/CCCCG;TP=1.0e+00;SG=CG/CCCCG;SP=1.3e-17;SNP;VD=CDK11B|CCDS44042.1|r.568+7g>c|c.488+7G>C|p.?;VW=CDK11B|CCDS44042.1|r.568+7g>c|c.488+7G>C|p.? GT:AA:CA:GA:TA:PM 0/0:0:331:24:0:6.8e-02 0/1:3:430:67:0:1.3e-01 58 | 1 1647939 595027023 T A . TI DP=289;MP=1.0e+00;GP=3.3e-46;TG=TT/ATTTT;TP=1.0e+00;SG=TT/AATTT;SP=3.8e-05;VD=CDK11B|CCDS44042.1|intronic;VW=CDK11B|CCDS44042.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:0:164:0.0e+00 0/1:25:0:0:100:2.0e-01 59 | 1 1647940 595027024 G T . PASS DP=285;MP=1.0e+00;GP=3.3e-46;TG=GG/GGGGT;TP=1.0e+00;SG=GG/GGGTT;SP=1.6e-09;VD=CDK11B|CCDS44042.1|intronic;VW=CDK11B|CCDS44042.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:164:0:0.0e+00 0/1:8:0:100:13:1.1e-01 60 | 1 1647941 595027025 C T . TI DP=284;MP=1.0e+00;GP=1.9e-46;TG=CC/CCCCT;TP=1.0e+00;SG=CC/ACCCC;SP=1.2e-04;VD=CDK11B|CCDS44042.1|intronic;VW=CDK11B|CCDS44042.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:165:0:0:0.0e+00 0/1:8:102:0:9:7.6e-02 61 | 1 1650940 595027026 G A . UM;MN DP=841;MP=1.0e+00;GP=1.3e-56;TG=GG/AGGGG;TP=1.0e+00;SG=GG/GGGGG;SP=3.4e-09;VD=CDK11B|CCDS44042.1|intronic;VW=CDK11B|CCDS44042.1|intronic GT:AA:CA:GA:TA:PM 0/0:13:0:328:0:3.8e-02 0/1:25:0:475:0:5.0e-02 62 | 1 1656882 595027027 A C . MQ DP=161;MP=1.0e+00;GP=2.1e-22;TG=AA/AACCC;TP=9.5e-01;SG=AA/AAACC;SP=5.4e-02;VD=CDK11B|CCDS44042.1|upstream;VW=SLC35E2|ENST00000355439|intronic GT:AA:CA:GA:TA:PM 0/0:82:0:0:0:0.0e+00 0/1:37:42:0:0:5.3e-01 63 | 1 1685616 595027028 C T . PASS DP=194;MP=1.0e+00;GP=3.7e-15;TG=CC/CCTTT;TP=5.8e-01;SG=CC/CTTTT;SP=4.2e-01;CA;VD=NADK|CCDS30565.1|r.1197g>a|c.975G>A|p.T325T;VW=NADK|CCDS30565.1|r.1197g>a|c.975G>A|p.T325T GT:AA:CA:GA:TA:PM 0/0:0:57:0:0:0.0e+00 0/1:0:42:0:95:6.9e-01 64 | 1 1685859 595027029 G A . TI;RP DP=48;MP=9.7e-01;GP=2.6e-05;TG=GG/AGGGG;TP=9.2e-01;SG=GG/AAGGG;SP=4.5e-02;VD=NADK|CCDS30565.1|intronic;VW=NADK|CCDS30565.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:23:0:0.0e+00 0/1:4:0:21:0:1.6e-01 65 | 1 1887055 595027030 C T . PASS DP=559;MP=1.0e+00;GP=3.4e-57;TG=CC/CTTTT;TP=1.0e+00;SG=CC/CCTTT;SP=6.6e-07;CA;VD=KIAA1751|ENST00000270720|r.2407g>a|c.2251G>A|p.G751R;VW=KIAA1751|ENST00000270720|r.2407g>a|c.2251G>A|p.G751R GT:AA:CA:GA:TA:PM 0/0:0:202:0:0:0.0e+00 0/1:0:94:0:263:7.4e-01 66 | 1 1888133 595027031 A G . PASS DP=138;MP=1.0e+00;GP=1.1e-11;TG=AA/AAAAG;TP=9.1e-01;SG=AA/AAAGG;SP=9.1e-02;CA;VD=KIAA1751|ENST00000434971|r.2098u>c|c.1942T>C|p.L648L;VW=KIAA1751|ENST00000434971|r.2098u>c|c.1942T>C|p.L648L GT:AA:CA:GA:TA:PM 0/0:45:0:0:0:0.0e+00 0/1:69:0:24:0:2.6e-01 67 | 1 1920435 595027032 A T . UM;TI DP=125;MP=1.0e+00;GP=4.6e-15;TG=AA/AAAAT;TP=1.0e+00;SG=AA/AAATT;SP=9.9e-04;VD=KIAA1751|ENST00000270720|intronic;VW=KIAA1751|ENST00000270720|intronic GT:AA:CA:GA:TA:PM 0/0:70:0:0:2:2.8e-02 0/1:45:0:0:8:1.5e-01 68 | 1 1990991 595027033 A C . PH;DP DP=149;MP=1.0e+00;GP=6.9e-06;TG=AA/AAAAC;TP=1.0e+00;SG=AC/AAAAC;SP=6.9e-06;CA;VD=PRKCZ|CCDS37.1|r.456a>c|c.295A>C|p.T99P;VW=PRKCZ|CCDS37.1|r.456a>c|c.295A>C|p.T99P GT:AA:CA:GA:TA:PM 0/0:29:1:0:0:3.3e-02 0/1:101:18:0:0:1.5e-01 69 | 1 2105217 595027034 G A . PASS DP=112;MP=1.0e+00;GP=1.5e-12;TG=GG/AGGGG;TP=8.9e-01;SG=GG/AAGGG;SP=1.1e-01;VD=PRKCZ|CCDS37.1|intronic;VW=PRKCZ|CCDS37.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:48:0:0.0e+00 0/1:16:0:48:0:2.5e-01 70 | 1 2160966 595027035 A C . PH;MN DP=101;MP=9.4e-01;GP=2.4e-05;TG=AA/AAAAC;TP=9.4e-01;SG=AA/AAAAA;SP=5.9e-02;CA;VD=SKI|CCDS39.1|r.833a>c|c.761A>C|p.Y254S;VW=SKI|CCDS39.1|r.833a>c|c.761A>C|p.Y254S GT:AA:CA:GA:TA:PM 0/0:23:0:0:0:0.0e+00 0/1:71:7:0:0:9.0e-02 71 | 1 2283210 595027036 G T . TI;RP DP=105;MP=1.0e+00;GP=1.2e-18;TG=GG/GGGGT;TP=9.9e-01;SG=GG/GGGTT;SP=6.2e-03;VD=MORN1|CCDS40.1|intronic;VW=MORN1|CCDS40.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:69:0:0.0e+00 0/1:0:0:31:5:1.4e-01 72 | 1 2288813 595027037 A C . PH;DP;MN DP=134;MP=9.9e-01;GP=1.1e-04;TG=AA/AAAAC;TP=9.9e-01;SG=AA/AAAAA;SP=1.3e-02;VD=MORN1|CCDS40.1|intronic;VW=MORN1|CCDS40.1|intronic GT:AA:CA:GA:TA:PM 0/0:45:4:0:0:8.2e-02 0/1:77:8:0:0:9.4e-02 73 | 1 2319644 595027038 A G . TI DP=171;MP=1.0e+00;GP=3.8e-24;TG=AA/AAAAG;TP=9.7e-01;SG=AA/AAAGG;SP=3.1e-02;VD=MORN1|CCDS40.1|intronic;VW=MORN1|CCDS40.1|intronic GT:AA:CA:GA:TA:PM 0/0:88:0:0:0:0.0e+00 0/1:63:0:20:0:2.4e-01 74 | 1 2319645 595027039 A G . TI;RP DP=173;MP=9.3e-01;GP=1.8e-24;TG=AA/AAAAG;TP=9.3e-01;SG=AA/AAAAA;SP=6.6e-02;VD=MORN1|CCDS40.1|intronic;VW=MORN1|CCDS40.1|intronic GT:AA:CA:GA:TA:PM 0/0:89:0:0:0:0.0e+00 0/1:78:0:6:0:7.1e-02 75 | 1 2334328 595027040 T C . PASS DP=90;MP=1.0e+00;GP=3.5e-06;TG=TT/CCCTT;TP=6.3e-01;SG=TT/CCCCT;SP=3.7e-01;VD=PEX10|CCDS41.1|downstream;VW=RER1|CCDS41232.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:0:26:0.0e+00 0/1:0:44:0:20:6.9e-01 76 | 1 2436267 595027041 T G . DP;MN DP=100;MP=1.0e+00;GP=2.6e-04;TG=TT/GTTTT;TP=1.0e+00;SG=GT/GTTTT;SP=2.6e-04;CA;VD=PANK4|CCDS42.1|downstream;VW=PLCH2|ENST00000378486|r.4140u>g|c.3866T>G|p.V1289G GT:AA:CA:GA:TA:PM 0/0:0:0:1:23:4.2e-02 0/1:1:0:11:64:1.4e-01 77 | 1 2436282 595027042 T G . PH DP=100;MP=9.8e-01;GP=6.7e-06;TG=TT/GTTTT;TP=9.8e-01;SG=TT/TTTTT;SP=1.9e-02;CA;VD=PANK4|CCDS42.1|downstream;VW=PLCH2|ENST00000378486|r.4155u>g|c.3881T>G|p.V1294G GT:AA:CA:GA:TA:PM 0/0:0:0:0:25:0.0e+00 0/1:0:0:8:67:1.1e-01 78 | 1 2522924 595027043 C G . PASS DP=275;MP=1.0e+00;GP=6.4e-17;TG=CC/CCCCG;TP=9.8e-01;SG=CC/CCCGG;SP=2.1e-02;VD=MMEL1|CCDS30569.1|intronic;VW=MMEL1|CCDS30569.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:63:0:0:0.0e+00 0/1:1:155:56:0:2.6e-01 79 | 1 2525240 595027044 G T . PASS DP=150;MP=1.0e+00;GP=3.6e-15;TG=GG/GTTTT;TP=7.9e-01;SG=GG/GGTTT;SP=2.1e-01;VD=MMEL1|CCDS30569.1|intronic;VW=MMEL1|CCDS30569.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:57:0:0.0e+00 0/1:0:0:27:66:7.1e-01 80 | 1 2985808 595027045 T C . PH;DP DP=68;MP=9.6e-01;GP=3.8e-02;TG=TT/CTTTT;TP=9.5e-01;SG=CT/CTTTT;SP=3.8e-02;VD=PRDM16|CCDS41236.1|r.48u>c|c.?|p.?;VW=PRDM16|CCDS41236.1|r.48u>c|c.?|p.? GT:AA:CA:GA:TA:PM 0/0:0:0:0:12:0.0e+00 0/1:0:10:0:46:1.8e-01 81 | 1 3322125 595027046 G C . MN DP=211;MP=1.0e+00;GP=4.0e-11;TG=GG/CGGGG;TP=1.0e+00;SG=GG/GGGGG;SP=1.2e-05;CA;VD=PRDM16|CCDS41236.1|r.1162g>c|c.1099G>C|p.A367P;VW=PRDM16|CCDS41236.1|r.1162g>c|c.1099G>C|p.A367P GT:AA:CA:GA:TA:PM 0/0:0:3:69:0:4.2e-02 0/1:0:10:129:0:7.2e-02 82 | 1 3331097 595027047 T G . PH;DP DP=58;MP=9.8e-01;GP=2.0e-02;TG=TT/GTTTT;TP=9.7e-01;SG=GT/GTTTT;SP=2.0e-02;VD=PRDM16|CCDS44048.1|intronic;VW=PRDM16|CCDS44048.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:0:13:0.0e+00 0/1:0:1:7:37:1.6e-01 83 | 1 3543897 595027048 C T . SR DP=63;MP=1.0e+00;GP=5.0e-05;TG=CC/CCCCT;TP=9.3e-01;SG=CC/CCCTT;SP=7.2e-02;VD=TPRG1L|CCDS47.1|intronic;VW=TPRG1L|CCDS47.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:22:0:0:0.0e+00 0/1:0:32:0:9:2.2e-01 84 | 1 3599757 595027049 G C . TI;RP DP=136;MP=1.0e+00;GP=1.4e-23;TG=GG/CGGGG;TP=1.0e+00;SG=GG/CCGGG;SP=9.0e-04;SNP;VD=TP73|CCDS49.1|intronic;VW=TP73|CCDS49.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:86:0:0.0e+00 0/1:0:7:43:0:1.4e-01 85 | 1 3599758 595027050 C T . TI;RP DP=139;MP=1.0e+00;GP=8.8e-24;TG=CC/CCCCT;TP=1.0e+00;SG=CC/CCCCC;SP=3.7e-04;VD=TP73|CCDS49.1|intronic;VW=TP73|CCDS49.1|intronic GT:AA:CA:GA:TA:PM 0/0:1:86:0:0:0.0e+00 0/1:0:46:0:6:1.2e-01 86 | 1 3788978 595027051 G A . TI DP=57;MP=1.0e+00;GP=1.2e-06;TG=GG/AAGGG;TP=5.4e-01;SG=GG/AAAGG;SP=4.4e-01;VD=DFFB|CCDS52.1|intronic;VW=DFFB|CCDS52.1|intronic GT:AA:CA:GA:TA:PM 0/0:1:0:37:0:2.6e-02 0/1:9:0:10:0:4.7e-01 87 | 1 5923252 595027052 A G . PH;DP;MN DP=128;MP=9.1e-01;GP=8.5e-02;TG=AA/AAAAG;TP=9.1e-01;SG=AG/AAAAG;SP=8.5e-02;VD=NPHP4|CCDS44052.1|r.4620u>c|c.?|p.?;VW=NPHP4|CCDS44052.1|r.4620u>c|c.?|p.? GT:AA:CA:GA:TA:PM 0/0:24:0:2:0:7.7e-02 0/1:81:0:21:0:2.1e-01 88 | 1 5927887 595027053 C T . PASS DP=345;MP=1.0e+00;GP=1.1e-22;TG=CC/CCCCT;TP=1.0e+00;SG=CC/CCCTT;SP=2.3e-03;CA;VD=NPHP4|CCDS44052.1|r.3651g>a|c.3385G>A|p.V1129M;VW=NPHP4|CCDS44052.1|r.3651g>a|c.3385G>A|p.V1129M GT:AA:CA:GA:TA:PM 0/0:0:83:0:0:0.0e+00 0/1:0:194:0:68:2.6e-01 89 | 1 5987592 595027054 C T . PASS DP=54;MP=9.9e-01;GP=5.3e-03;TG=CC/CCTTT;TP=5.3e-01;SG=CC/CTTTT;SP=4.6e-01;VD=NPHP4|CCDS44052.1|intronic;VW=NPHP4|CCDS44052.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:15:0:0:0.0e+00 0/1:0:12:0:27:6.9e-01 90 | 1 6101958 595027055 A C . PH;DP DP=293;MP=1.0e+00;GP=1.0e-15;TG=AA/AAAAC;TP=1.0e+00;SG=AA/AAACC;SP=4.7e-10;VD=KCNAB2|CCDS55.1|intronic;VW=KCNAB2|CCDS55.1|intronic GT:AA:CA:GA:TA:PM 0/0:85:6:0:0:6.6e-02 0/1:165:37:0:0:1.8e-01 91 | 1 6142344 595027056 T G . RP DP=198;MP=1.0e+00;GP=5.5e-32;TG=TT/GTTTT;TP=1.0e+00;SG=TT/TTTTT;SP=3.9e-04;VD=KCNAB2|CCDS55.1|r.845+10u>g|c.281+10T>G|p.?;VW=KCNAB2|CCDS55.1|r.845+10u>g|c.281+10T>G|p.? GT:AA:CA:GA:TA:PM 0/0:0:0:0:115:0.0e+00 0/1:3:0:5:75:6.0e-02 92 | 1 6142346 595027057 T G . PASS DP=198;MP=1.0e+00;GP=2.9e-32;TG=TT/GTTTT;TP=1.0e+00;SG=TT/GGTTT;SP=9.5e-07;VD=KCNAB2|CCDS55.1|intronic;VW=KCNAB2|CCDS55.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:0:116:0.0e+00 0/1:0:0:9:73:1.1e-01 93 | 1 6170421 595027058 C G . UM;SRP;TI;RP DP=69;MP=8.8e-01;GP=1.4e-10;TG=CC/CCCCG;TP=7.2e-01;SG=CC/CCCGG;SP=1.6e-01;VD=CHD5|CCDS57.1|intronic;VW=CHD5|CCDS57.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:52:1:0:1.9e-02 0/1:0:13:3:0:1.9e-01 94 | 1 6170425 595027059 G C . UM;MN;TI DP=78;MP=1.0e+00;GP=1.7e-06;TG=GG/CCCCG;TP=9.2e-01;SG=GG/CCCCC;SP=7.3e-02;VD=CHD5|CCDS57.1|intronic;VW=CHD5|CCDS57.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:2:50:1:3.8e-02 0/1:0:18:1:6:7.2e-01 95 | 1 6170426 595027060 T G . UM;TI;RP DP=82;MP=9.8e-01;GP=5.1e-14;TG=TT/GTTTT;TP=9.6e-01;SG=TT/TTTTT;SP=2.4e-02;VD=CHD5|CCDS57.1|intronic;VW=CHD5|CCDS57.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:0:53:0.0e+00 0/1:0:0:4:25:1.4e-01 96 | 1 6184037 595027061 T G . PH;DP DP=64;MP=1.0e+00;GP=3.8e-04;TG=TT/GTTTT;TP=9.8e-01;SG=TT/GGTTT;SP=1.8e-02;CA;VD=CHD5|CCDS57.1|r.4770a>c|c.4670A>C|p.H1557P;VW=CHD5|CCDS57.1|r.4770a>c|c.4670A>C|p.H1557P GT:AA:CA:GA:TA:PM 0/0:0:0:0:19:0.0e+00 0/1:0:0:9:36:2.0e-01 97 | 1 6202442 595027062 A C . PH;DP DP=127;MP=1.0e+00;GP=9.2e-07;TG=AA/AAAAC;TP=1.0e+00;SG=AA/AAAAA;SP=2.3e-04;VD=CHD5|CCDS57.1|intronic;VW=CHD5|CCDS57.1|intronic GT:AA:CA:GA:TA:PM 0/0:28:0:0:0:0.0e+00 0/1:89:10:0:0:1.0e-01 98 | 1 6252975 595027063 A T . UM;TI;RP DP=150;MP=1.0e+00;GP=4.0e-31;TG=AA/AAAAT;TP=1.0e+00;SG=AA/AAATT;SP=1.9e-03;SNP;VD=RPL22|CCDS58.1|intronic;VW=RPL22|CCDS58.1|intronic GT:AA:CA:GA:TA:PM 0/0:112:0:0:0:0.0e+00 0/1:33:0:1:4:1.1e-01 99 | 1 6272651 595027064 T G . PH;DP DP=209;MP=8.7e-01;GP=6.7e-17;TG=TT/GTTTT;TP=8.7e-01;SG=TT/TTTTT;SP=1.3e-01;VD=RNF207|CCDS59.2|intronic;VW=RNF207|CCDS59.2|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:0:63:0.0e+00 0/1:1:0:13:132:8.9e-02 100 | 1 6291933 595027065 G A . PH;DP;UM;TI DP=206;MP=1.0e+00;GP=2.5e-13;TG=GG/AGGGG;TP=1.0e+00;SG=GG/AAGGG;SP=1.6e-10;SNP;VD=ICMT|CCDS61.1|intronic;VW=ICMT|CCDS61.1|intronic GT:AA:CA:GA:TA:PM 0/0:2:0:63:0:3.1e-02 0/1:17:0:124:0:1.2e-01 101 | -------------------------------------------------------------------------------- /test/vcf/test2.vcf: -------------------------------------------------------------------------------- 1 | 1 13079 595026967 C G . MQ;AN DP=135;MP=1.0e+00;GP=1.7e-17;TG=CC/CCCCG;TP=1.0e+00;SG=CC/CCCCC;SP=4.2e-03 GT:AA:CA:GA:TA:PM 0/0:0:65:0:0:0.0e+00 0/1:0:65:5:0:7.1e-02 2 | 1 13418 595026968 G A . UM;MQ;AN DP=311;MP=1.0e+00;GP=6.2e-39;TG=GG/AGGGG;TP=1.0e+00;SG=GG/AAGGG;SP=3.9e-06 GT:AA:CA:GA:TA:PM 0/0:0:0:139:0:0.0e+00 0/1:36:0:136:0:2.1e-01 3 | 1 15072 595026969 G C . MQ;AN DP=150;MP=1.0e+00;GP=6.8e-26;TG=GG/CCGGG;TP=9.9e-01;SG=GG/CGGGG;SP=6.4e-03 GT:AA:CA:GA:TA:PM 0/0:0:0:94:0:0.0e+00 0/1:0:21:35:0:3.8e-01 4 | 1 16957 595026970 G T . MQ;AN DP=83;MP=1.0e+00;GP=5.8e-10;TG=GG/GGGTT;TP=5.9e-01;SG=GG/GGTTT;SP=4.1e-01 GT:AA:CA:GA:TA:PM 0/0:0:0:39:0:0.0e+00 0/1:0:0:23:21:4.8e-01 5 | 1 17594 595026971 C T . AN DP=106;MP=1.0e+00;GP=1.0e-13;TG=CC/CCCCT;TP=1.0e+00;SG=CC/CCCTT;SP=3.0e-04 GT:AA:CA:GA:TA:PM 0/0:0:52:0:0:0.0e+00 0/1:0:47:0:7:1.3e-01 6 | 1 17626 595026972 G A . AN DP=141;MP=1.0e+00;GP=1.7e-19;TG=GG/AGGGG;TP=1.0e+00;SG=GG/AAGGG;SP=8.7e-05 GT:AA:CA:GA:TA:PM 0/0:0:0:72:0:0.0e+00 0/1:10:0:59:0:1.4e-01 7 | 1 63697 595026973 T C . UM;AN DP=407;MP=1.0e+00;GP=1.1e-11;TG=TT/CCCTT;TP=1.0e+00;SG=TT/CCTTT;SP=7.5e-06 GT:AA:CA:GA:TA:PM 0/0:0:0:0:45:0.0e+00 0/1:0:191:0:171:5.3e-01 8 | 1 129315 595026974 A G . UM;MQ;AN DP=288;MP=1.0e+00;GP=2.3e-09;TG=AA/AAAAG;TP=1.0e+00;SG=AG/AAAAG;SP=2.3e-09 GT:AA:CA:GA:TA:PM 0/0:37:0:0:0:0.0e+00 0/1:220:0:31:0:1.2e-01 9 | 1 753277 595026975 G A . MQ;AN DP=176;MP=1.0e+00;GP=2.7e-34;TG=GG/AGGGG;TP=1.0e+00;SG=GG/AAGGG;SP=1.0e-03 GT:AA:CA:GA:TA:PM 0/0:0:0:123:0:0.0e+00 0/1:8:0:45:0:1.5e-01 10 | 1 809091 595026976 A G . UM;MQ;AN DP=494;MP=9.8e-01;GP=2.2e-51;TG=AA/AAAAG;TP=9.8e-01;SG=AA/AAAAA;SP=2.4e-02 GT:AA:CA:GA:TA:PM 0/0:182:0:0:0:0.0e+00 0/1:298:0:14:0:4.5e-02 11 | 1 809261 595026977 C T . UM;MQ;AN DP=435;MP=1.0e+00;GP=1.8e-28;TG=CC/CCCCT;TP=1.0e+00;SG=CC/CCCCC;SP=1.0e-19 GT:AA:CA:GA:TA:PM 0/0:0:103:0:0:0.0e+00 0/1:0:310:0:22:6.6e-02 12 | 1 809319 595026978 C T . UM;MQ;AN DP=364;MP=1.0e+00;GP=3.6e-08;TG=CC/CCCCT;TP=1.0e+00;SG=CT/CCCCT;SP=3.6e-08 GT:AA:CA:GA:TA:PM 0/0:0:33:0:0:0.0e+00 0/1:0:300:0:31:9.4e-02 13 | 1 809351 595026979 T G . PH;DP;AN DP=298;MP=9.9e-01;GP=2.5e-16;TG=TT/GTTTT;TP=9.9e-01;SG=TT/TTTTT;SP=8.3e-03 GT:AA:CA:GA:TA:PM 0/0:0:0:0:61:0.0e+00 0/1:0:0:22:215:9.3e-02 14 | 1 809361 595026980 A C . PH;DP;AN DP=352;MP=1.0e+00;GP=4.0e-22;TG=AA/AAAAC;TP=1.0e+00;SG=AA/AAAAA;SP=2.2e-08 GT:AA:CA:GA:TA:PM 0/0:81:0:0:0:0.0e+00 0/1:250:21:0:0:7.7e-02 15 | 1 874865 595026981 T C . TI DP=35;MP=8.7e-01;GP=1.3e-01;TG=TT/CTTTT;TP=7.6e-01;SG=CT/CTTTT;SP=1.1e-01;VD=NOC2L|CCDS3.1|downstream;VW=SAMD11|CCDS2.2|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:0:10:0.0e+00 0/1:0:5:1:19:2.0e-01 16 | 1 915246 595026982 T G . PH;DP DP=95;MP=1.0e+00;GP=9.1e-06;TG=TT/GTTTT;TP=1.0e+00;SG=TT/GGTTT;SP=4.7e-03;CA;VD=PLEKHN1|CCDS4.1|downstream;VW=C1orf170|ENST00000433179|r.882a>c|c.882A>C|p.T294T GT:AA:CA:GA:TA:PM 0/0:0:1:0:24:0.0e+00 0/1:0:0:15:55:2.1e-01 17 | 1 915369 595026983 T G . PH;DP;UM;MN DP=149;MP=9.4e-01;GP=5.1e-02;TG=TT/GTTTT;TP=9.4e-01;SG=GT/GTTTT;SP=5.1e-02;CA;VD=PLEKHN1|CCDS4.1|downstream;VW=C1orf170|ENST00000433179|r.759a>c|c.759A>C|p.T253T GT:AA:CA:GA:TA:PM 0/0:0:0:1:18:5.3e-02 0/1:0:0:12:118:9.2e-02 18 | 1 915459 595026984 T G . PH DP=99;MP=9.3e-01;GP=7.2e-02;TG=TT/GTTTT;TP=9.3e-01;SG=GT/GTTTT;SP=7.2e-02;CA;VD=PLEKHN1|CCDS4.1|downstream;VW=C1orf170|ENST00000433179|r.669a>c|c.669A>C|p.T223T GT:AA:CA:GA:TA:PM 0/0:0:0:0:11:0.0e+00 0/1:0:0:9:79:1.0e-01 19 | 1 981307 595026985 A C . PH;DP DP=59;MP=1.0e+00;GP=3.7e-04;TG=AA/AAAAC;TP=8.4e-01;SG=AA/AAACC;SP=1.6e-01;VD=AGRN|CCDS30551.1|intronic;VW=AGRN|CCDS30551.1|intronic GT:AA:CA:GA:TA:PM 0/0:19:0:0:0:0.0e+00 0/1:30:10:0:0:2.5e-01 20 | 1 1203428 595026986 T C . PH;DP DP=213;MP=9.8e-01;GP=3.4e-17;TG=TT/CTTTT;TP=9.8e-01;SG=TT/TTTTT;SP=2.1e-02;VD=UBE2J2|CCDS16.1|intronic;VW=UBE2J2|CCDS16.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:0:64:0.0e+00 0/1:0:15:0:134:1.0e-01 21 | 1 1225535 595026987 T C . SR DP=24;MP=9.1e-01;GP=9.7e-03;TG=TT/CCTTT;TP=4.4e-01;SG=TT/CTTTT;SP=3.7e-01;VD=ACAP3|CCDS19.2|downstream;VW=SCNN1D|CCDS18.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:0:14:0.0e+00 0/1:0:3:0:7:3.0e-01 22 | 1 1249680 595026988 C T . PASS DP=29;MP=9.8e-01;GP=2.0e-02;TG=CC/CCCTT;TP=5.6e-01;SG=CC/CCCCT;SP=3.6e-01;CA;VD=CPSF3L|CCDS21.1|r.850+1g>a|c.767+1G>A|p.?;VW=CPSF3L|CCDS21.1|r.850+1g>a|c.767+1G>A|p.? GT:AA:CA:GA:TA:PM 0/0:0:13:0:0:0.0e+00 0/1:0:11:0:5:3.1e-01 23 | 1 1264136 595026989 A T . PASS DP=63;MP=1.0e+00;GP=6.3e-08;TG=AA/AAAAT;TP=8.6e-01;SG=AA/AAATT;SP=1.4e-01;SNP;VD=GLTPD1|CCDS30555.1|r.2049a>u|c.?|p.?;VW=GLTPD1|CCDS30555.1|r.2049a>u|c.?|p.? GT:AA:CA:GA:TA:PM 0/0:32:0:0:0:0.0e+00 0/1:24:0:0:7:2.3e-01 24 | 1 1268403 595026990 G A . PASS DP=83;MP=1.0e+00;GP=1.5e-12;TG=GG/AAAGG;TP=9.3e-01;SG=GG/AAGGG;SP=3.8e-02;CA;VD=TAS1R3|CCDS30556.1|r.1410g>a|c.1378G>A|p.V460M;VW=TAS1R3|CCDS30556.1|r.1410g>a|c.1378G>A|p.V460M GT:AA:CA:GA:TA:PM 0/0:0:0:48:0:0.0e+00 0/1:21:0:14:0:6.0e-01 25 | 1 1273314 595026991 G A . SR DP=15;MP=8.6e-01;GP=1.3e-01;TG=GG/AAAGG;TP=3.6e-01;SG=GG/AAGGG;SP=2.3e-01;VD=TAS1R3|CCDS30556.1|downstream;VW=DVL1L1|CCDS22.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:10:0:0.0e+00 0/1:3:0:2:0:6.0e-01 26 | 1 1275688 595026992 G A . PASS DP=105;MP=1.0e+00;GP=7.2e-15;TG=GG/AAAGG;TP=9.6e-01;SG=GG/AAGGG;SP=3.5e-02;CA;VD=DVL1L1|CCDS22.1|r.755c>u|c.708C>T|p.S236S;VW=DVL1L1|CCDS22.1|r.755c>u|c.708C>T|p.S236S GT:AA:CA:GA:TA:PM 0/0:0:0:56:0:0.0e+00 0/1:28:0:21:0:5.7e-01 27 | 1 1374508 595026993 G A . PASS DP=40;MP=1.0e+00;GP=9.8e-05;TG=GG/AAGGG;TP=5.4e-01;SG=GG/AAAGG;SP=4.4e-01;CA;VD=VWA1|CCDS27.1|r.757g>a|c.679G>A|p.G227S;VW=VWA1|CCDS27.1|r.757g>a|c.679G>A|p.G227S GT:AA:CA:GA:TA:PM 0/0:0:0:21:0:0.0e+00 0/1:9:0:10:0:4.7e-01 28 | 1 1390967 595026994 C A . PASS DP=51;MP=1.0e+00;GP=2.7e-03;TG=CC/AACCC;TP=8.0e-01;SG=CC/ACCCC;SP=1.9e-01;VD=ATAD3C|CCDS44039.1|intronic;VW=ATAD3C|CCDS44039.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:16:0:0:0.0e+00 0/1:11:23:1:0:3.1e-01 29 | 1 1391374 595026995 T C . PASS DP=49;MP=1.0e+00;GP=5.1e-05;TG=TT/CCTTT;TP=5.3e-01;SG=TT/CCCTT;SP=4.7e-01;VD=ATAD3C|CCDS44039.1|intronic;VW=ATAD3C|CCDS44039.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:0:22:0.0e+00 0/1:0:13:0:14:4.8e-01 30 | 1 1391459 595026996 T C . PASS DP=16;MP=9.2e-01;GP=7.1e-02;TG=TT/CCCTT;TP=3.9e-01;SG=TT/CCTTT;SP=2.4e-01;SNP;VD=ATAD3C|CCDS44039.1|intronic;VW=ATAD3C|CCDS44039.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:0:11:0.0e+00 0/1:0:3:0:2:6.0e-01 31 | 1 1417704 595026997 G C . RP DP=33;MP=8.8e-01;GP=3.5e-02;TG=GG/CGGGG;TP=8.4e-01;SG=GG/GGGGG;SP=8.2e-02;VD=ATAD3B|CCDS30.1|intronic;VW=ATAD3B|CCDS30.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:12:0:0.0e+00 0/1:0:3:18:0:1.4e-01 32 | 1 1418004 595026998 T C . UM;MQ DP=303;MP=1.0e+00;GP=9.0e-41;TG=TT/CCTTT;TP=1.0e+00;SG=TT/CTTTT;SP=1.3e-03;CA;SNP;VD=ATAD3B|CCDS30.1|r.866+10u>c|c.750+10T>C|p.?;VW=ATAD3B|ENST00000378741|r.882u>c|c.760T>C|p.F254L GT:AA:CA:GA:TA:PM 0/0:1:0:0:146:0.0e+00 0/1:0:51:0:105:3.3e-01 33 | 1 1571841 595026999 A C . PASS DP=281;MP=1.0e+00;GP=8.8e-09;TG=AA/AAAAC;TP=1.0e+00;SG=AA/AAACC;SP=1.6e-06;CA;VD=MMP23B|CCDS30559.1|downstream;VW=CDK11B|ENST00000340677|r.1965u>g|c.1965T>G|p.D655E GT:AA:CA:GA:TA:PM 0/0:35:0:0:0:0.0e+00 0/1:190:56:0:0:2.3e-01 34 | 1 1571888 595027000 G A . PASS DP=207;MP=1.0e+00;GP=3.1e-10;TG=GG/AGGGG;TP=1.0e+00;SG=GG/AAGGG;SP=4.4e-08;VD=MMP23B|CCDS30559.1|downstream;VW=CDK11B|ENST00000407249|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:40:0:0.0e+00 0/1:30:0:137:0:1.8e-01 35 | 1 1572760 595027001 G C . MQ DP=278;MP=1.0e+00;GP=7.8e-22;TG=GG/CGGGG;TP=1.0e+00;SG=GG/CCGGG;SP=2.4e-17;VD=MMP23B|CCDS30559.1|downstream;VW=CDK11B|ENST00000340677|r.1615+10c>g|c.1615+10C>G|p.? GT:AA:CA:GA:TA:PM 0/0:0:0:80:0:0.0e+00 0/1:0:17:181:0:8.6e-02 36 | 1 1572893 595027002 G A . MQ DP=378;MP=1.0e+00;GP=1.9e-26;TG=GG/AGGGG;TP=1.0e+00;SG=GG/AAGGG;SP=3.0e-10;VD=MMP23B|CCDS30559.1|downstream;VW=CDK11B|ENST00000407249|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:96:0:0.0e+00 0/1:57:1:224:0:2.0e-01 37 | 1 1573340 595027003 G C . MQ DP=229;MP=1.0e+00;GP=1.9e-24;TG=GG/CGGGG;TP=1.0e+00;SG=GG/GGGGG;SP=1.4e-06;VD=MMP23B|CCDS30559.1|downstream;VW=CDK11B|ENST00000407249|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:89:0:0.0e+00 0/1:0:8:132:0:5.7e-02 38 | 1 1573392 595027004 C T . PASS DP=150;MP=1.0e+00;GP=1.2e-09;TG=CC/CCCCT;TP=1.0e+00;SG=CC/CCCTT;SP=1.4e-03;VD=MMP23B|CCDS30559.1|downstream;VW=CDK11B|ENST00000407249|intronic GT:AA:CA:GA:TA:PM 0/0:0:38:0:0:0.0e+00 0/1:0:87:0:25:2.2e-01 39 | 1 1575715 595027005 C T . MQ DP=316;MP=1.0e+00;GP=4.1e-22;TG=CC/CCCCT;TP=1.0e+00;SG=CC/CCCTT;SP=3.6e-11;CA;VD=CDK11B|ENST00000340677|r.1219g>a|c.1219G>A|p.D407N;VW=CDK11B|ENST00000340677|r.1219g>a|c.1219G>A|p.D407N GT:AA:CA:GA:TA:PM 0/0:0:81:0:0:0.0e+00 0/1:0:193:0:42:1.8e-01 40 | 1 1576586 595027006 C G . PASS DP=121;MP=1.0e+00;GP=9.1e-07;TG=CC/CCCCG;TP=1.0e+00;SG=CC/CCCGG;SP=7.6e-04;VD=CDK11B|ENST00000407249|intronic;VW=CDK11B|ENST00000407249|intronic GT:AA:CA:GA:TA:PM 0/0:0:28:0:0:0.0e+00 0/1:0:74:19:0:2.0e-01 41 | 1 1580806 595027007 T G . MQ DP=36;MP=1.0e+00;GP=9.8e-05;TG=TT/GGGGG;TP=9.7e-01;SG=TT/GGGGT;SP=2.9e-02;VD=CDK11B|ENST00000407249|intronic;VW=CDK11B|ENST00000407249|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:0:21:0.0e+00 1/1:0:0:15:0:1.0e+00 42 | 1 1581888 595027008 T C . TI;RP DP=246;MP=8.4e-01;GP=5.3e-59;TG=TT/CTTTT;TP=8.4e-01;SG=TT/TTTTT;SP=1.6e-01;VD=CDK11B|ENST00000407249|intronic;VW=CDK11B|ENST00000407249|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:0:208:0.0e+00 0/1:0:4:0:34:1.1e-01 43 | 1 1581889 595027009 C A . TI;RP DP=235;MP=1.0e+00;GP=1.7e-57;TG=CC/ACCCC;TP=9.5e-01;SG=CC/AACCC;SP=4.7e-02;VD=CDK11B|ENST00000407249|intronic;VW=CDK11B|ENST00000407249|intronic GT:AA:CA:GA:TA:PM 0/0:0:203:0:0:0.0e+00 0/1:6:26:0:0:1.9e-01 44 | 1 1581890 595027010 G A . PASS DP=226;MP=1.0e+00;GP=1.9e-55;TG=GG/AAGGG;TP=8.8e-01;SG=GG/AGGGG;SP=7.6e-02;VD=CDK11B|ENST00000407249|intronic;VW=CDK11B|ENST00000407249|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:196:0:0.0e+00 0/1:11:0:19:0:3.7e-01 45 | 1 1581892 595027011 A C . TI DP=212;MP=1.0e+00;GP=1.1e-53;TG=AA/CCCCC;TP=9.9e-01;SG=AA/ACCCC;SP=9.6e-03;VD=CDK11B|ENST00000407249|intronic;VW=CDK11B|ENST00000407249|intronic GT:AA:CA:GA:TA:PM 0/0:190:0:0:0:0.0e+00 1/1:0:13:0:9:5.9e-01 46 | 1 1581893 595027012 G C . TI;RP DP=205;MP=1.0e+00;GP=9.3e-52;TG=GG/CCGGG;TP=5.1e-01;SG=GG/CGGGG;SP=4.8e-01;VD=CDK11B|ENST00000407249|intronic;VW=CDK11B|ENST00000407249|intronic GT:AA:CA:GA:TA:PM 0/0:1:0:183:0:0.0e+00 0/1:0:6:15:0:2.9e-01 47 | 1 1586649 595027013 T A . RP DP=20;MP=9.9e-01;GP=5.3e-03;TG=TT/AAAAT;TP=5.6e-01;SG=TT/AAATT;SP=3.3e-01;VD=CDK11B|ENST00000407249|intronic;VW=CDK11B|ENST00000407249|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:0:15:0.0e+00 0/1:4:0:0:1:8.0e-01 48 | 1 1586650 595027014 C G . TI;RP DP=21;MP=9.9e-01;GP=5.3e-03;TG=CC/CGGGG;TP=6.5e-01;SG=CC/CCGGG;SP=2.9e-01;VD=CDK11B|ENST00000407249|intronic;VW=CDK11B|ENST00000407249|intronic GT:AA:CA:GA:TA:PM 0/0:0:15:0:0:0.0e+00 0/1:0:1:5:0:8.3e-01 49 | 1 1588535 595027015 C A . MN;RP DP=29;MP=9.6e-01;GP=3.8e-02;TG=CC/AAAAC;TP=5.4e-01;SG=CC/AAACC;SP=3.2e-01;VD=ENSG00000189339|CCDS44041.1|downstream;VW=CDK11B|ENST00000407249|intronic GT:AA:CA:GA:TA:PM 0/0:1:22:1:0:4.2e-02 0/1:4:1:0:0:8.0e-01 50 | 1 1591593 595027016 A C . MQ DP=284;MP=1.0e+00;GP=8.4e-20;TG=AA/AAAAC;TP=1.0e+00;SG=AA/AAACC;SP=2.0e-04;CA;VD=ENSG00000189339|CCDS44041.1|downstream;VW=AL691432.2|ENST00000508906|r.442u>g GT:AA:CA:GA:TA:PM 0/0:73:0:0:0:0.0e+00 0/1:160:51:0:0:2.4e-01 51 | 1 1636188 595027017 G A . PASS DP=156;MP=1.0e+00;GP=1.1e-11;TG=GG/AGGGG;TP=1.0e+00;SG=GG/AAGGG;SP=4.8e-03;VD=CDK11B|CCDS44042.1|intronic;VW=CDK11B|CCDS44042.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:45:0:0.0e+00 0/1:26:0:85:0:2.3e-01 52 | 1 1636355 595027018 A G . UM;MQ DP=356;MP=1.0e+00;GP=8.1e-63;TG=AA/GGGGG;TP=1.0e+00;SG=AA/AGGGG;SP=2.6e-14;CA;SNP;VD=CDK11B|CCDS44042.1|r.1526u>c|c.1446T>C|p.I482I;VW=CDK11B|CCDS44042.1|r.1526u>c|c.1446T>C|p.I482I GT:AA:CA:GA:TA:PM 0/0:221:1:0:0:0.0e+00 1/1:0:0:134:0:1.0e+00 53 | 1 1636559 595027019 G C . MQ DP=137;MP=1.0e+00;GP=1.2e-18;TG=GG/CCCCG;TP=1.0e+00;SG=GG/CCCCC;SP=2.2e-03;VD=CDK11B|CCDS44042.1|intronic;VW=CDK11B|CCDS44042.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:69:0:0.0e+00 0/1:0:65:3:0:9.6e-01 54 | 1 1636611 595027020 C T . MQ DP=45;MP=1.0e+00;GP=4.4e-09;TG=CC/CTTTT;TP=8.3e-01;SG=CC/CCTTT;SP=1.5e-01;VD=CDK11B|CCDS44042.1|intronic;VW=CDK11B|CCDS44042.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:36:0:0:0.0e+00 0/1:0:1:0:8:8.9e-01 55 | 1 1639062 595027021 T C . UM;MQ DP=135;MP=1.0e+00;GP=1.9e-35;TG=TT/CCCCT;TP=7.7e-01;SG=TT/CCCTT;SP=1.9e-01;SNP;VD=CDK11B|CCDS44042.1|intronic;VW=CDK11B|CCDS44042.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:0:127:0.0e+00 0/1:0:7:0:1:8.8e-01 56 | 1 1647778 595027022 C G . UM;MN DP=855;MP=1.0e+00;GP=1.3e-17;TG=CC/CCCCG;TP=1.0e+00;SG=CG/CCCCG;SP=1.3e-17;SNP;VD=CDK11B|CCDS44042.1|r.568+7g>c|c.488+7G>C|p.?;VW=CDK11B|CCDS44042.1|r.568+7g>c|c.488+7G>C|p.? GT:AA:CA:GA:TA:PM 0/0:0:331:24:0:6.8e-02 0/1:3:430:67:0:1.3e-01 57 | 1 1647939 595027023 T A . TI DP=289;MP=1.0e+00;GP=3.3e-46;TG=TT/ATTTT;TP=1.0e+00;SG=TT/AATTT;SP=3.8e-05;VD=CDK11B|CCDS44042.1|intronic;VW=CDK11B|CCDS44042.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:0:164:0.0e+00 0/1:25:0:0:100:2.0e-01 58 | 1 1647940 595027024 G T . PASS DP=285;MP=1.0e+00;GP=3.3e-46;TG=GG/GGGGT;TP=1.0e+00;SG=GG/GGGTT;SP=1.6e-09;VD=CDK11B|CCDS44042.1|intronic;VW=CDK11B|CCDS44042.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:164:0:0.0e+00 0/1:8:0:100:13:1.1e-01 59 | 1 1647941 595027025 C T . TI DP=284;MP=1.0e+00;GP=1.9e-46;TG=CC/CCCCT;TP=1.0e+00;SG=CC/ACCCC;SP=1.2e-04;VD=CDK11B|CCDS44042.1|intronic;VW=CDK11B|CCDS44042.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:165:0:0:0.0e+00 0/1:8:102:0:9:7.6e-02 60 | 1 1650940 595027026 G A . UM;MN DP=841;MP=1.0e+00;GP=1.3e-56;TG=GG/AGGGG;TP=1.0e+00;SG=GG/GGGGG;SP=3.4e-09;VD=CDK11B|CCDS44042.1|intronic;VW=CDK11B|CCDS44042.1|intronic GT:AA:CA:GA:TA:PM 0/0:13:0:328:0:3.8e-02 0/1:25:0:475:0:5.0e-02 61 | 1 1656882 595027027 A C . MQ DP=161;MP=1.0e+00;GP=2.1e-22;TG=AA/AACCC;TP=9.5e-01;SG=AA/AAACC;SP=5.4e-02;VD=CDK11B|CCDS44042.1|upstream;VW=SLC35E2|ENST00000355439|intronic GT:AA:CA:GA:TA:PM 0/0:82:0:0:0:0.0e+00 0/1:37:42:0:0:5.3e-01 62 | 1 1685616 595027028 C T . PASS DP=194;MP=1.0e+00;GP=3.7e-15;TG=CC/CCTTT;TP=5.8e-01;SG=CC/CTTTT;SP=4.2e-01;CA;VD=NADK|CCDS30565.1|r.1197g>a|c.975G>A|p.T325T;VW=NADK|CCDS30565.1|r.1197g>a|c.975G>A|p.T325T GT:AA:CA:GA:TA:PM 0/0:0:57:0:0:0.0e+00 0/1:0:42:0:95:6.9e-01 63 | 1 1685859 595027029 G A . TI;RP DP=48;MP=9.7e-01;GP=2.6e-05;TG=GG/AGGGG;TP=9.2e-01;SG=GG/AAGGG;SP=4.5e-02;VD=NADK|CCDS30565.1|intronic;VW=NADK|CCDS30565.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:23:0:0.0e+00 0/1:4:0:21:0:1.6e-01 64 | 1 1887055 595027030 C T . PASS DP=559;MP=1.0e+00;GP=3.4e-57;TG=CC/CTTTT;TP=1.0e+00;SG=CC/CCTTT;SP=6.6e-07;CA;VD=KIAA1751|ENST00000270720|r.2407g>a|c.2251G>A|p.G751R;VW=KIAA1751|ENST00000270720|r.2407g>a|c.2251G>A|p.G751R GT:AA:CA:GA:TA:PM 0/0:0:202:0:0:0.0e+00 0/1:0:94:0:263:7.4e-01 65 | 1 1888133 595027031 A G . PASS DP=138;MP=1.0e+00;GP=1.1e-11;TG=AA/AAAAG;TP=9.1e-01;SG=AA/AAAGG;SP=9.1e-02;CA;VD=KIAA1751|ENST00000434971|r.2098u>c|c.1942T>C|p.L648L;VW=KIAA1751|ENST00000434971|r.2098u>c|c.1942T>C|p.L648L GT:AA:CA:GA:TA:PM 0/0:45:0:0:0:0.0e+00 0/1:69:0:24:0:2.6e-01 66 | 1 1920435 595027032 A T . UM;TI DP=125;MP=1.0e+00;GP=4.6e-15;TG=AA/AAAAT;TP=1.0e+00;SG=AA/AAATT;SP=9.9e-04;VD=KIAA1751|ENST00000270720|intronic;VW=KIAA1751|ENST00000270720|intronic GT:AA:CA:GA:TA:PM 0/0:70:0:0:2:2.8e-02 0/1:45:0:0:8:1.5e-01 67 | 1 1990991 595027033 A C . PH;DP DP=149;MP=1.0e+00;GP=6.9e-06;TG=AA/AAAAC;TP=1.0e+00;SG=AC/AAAAC;SP=6.9e-06;CA;VD=PRKCZ|CCDS37.1|r.456a>c|c.295A>C|p.T99P;VW=PRKCZ|CCDS37.1|r.456a>c|c.295A>C|p.T99P GT:AA:CA:GA:TA:PM 0/0:29:1:0:0:3.3e-02 0/1:101:18:0:0:1.5e-01 68 | 1 2105217 595027034 G A . PASS DP=112;MP=1.0e+00;GP=1.5e-12;TG=GG/AGGGG;TP=8.9e-01;SG=GG/AAGGG;SP=1.1e-01;VD=PRKCZ|CCDS37.1|intronic;VW=PRKCZ|CCDS37.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:48:0:0.0e+00 0/1:16:0:48:0:2.5e-01 69 | 1 2160966 595027035 A C . PH;MN DP=101;MP=9.4e-01;GP=2.4e-05;TG=AA/AAAAC;TP=9.4e-01;SG=AA/AAAAA;SP=5.9e-02;CA;VD=SKI|CCDS39.1|r.833a>c|c.761A>C|p.Y254S;VW=SKI|CCDS39.1|r.833a>c|c.761A>C|p.Y254S GT:AA:CA:GA:TA:PM 0/0:23:0:0:0:0.0e+00 0/1:71:7:0:0:9.0e-02 70 | 1 2283210 595027036 G T . TI;RP DP=105;MP=1.0e+00;GP=1.2e-18;TG=GG/GGGGT;TP=9.9e-01;SG=GG/GGGTT;SP=6.2e-03;VD=MORN1|CCDS40.1|intronic;VW=MORN1|CCDS40.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:69:0:0.0e+00 0/1:0:0:31:5:1.4e-01 71 | 1 2288813 595027037 A C . PH;DP;MN DP=134;MP=9.9e-01;GP=1.1e-04;TG=AA/AAAAC;TP=9.9e-01;SG=AA/AAAAA;SP=1.3e-02;VD=MORN1|CCDS40.1|intronic;VW=MORN1|CCDS40.1|intronic GT:AA:CA:GA:TA:PM 0/0:45:4:0:0:8.2e-02 0/1:77:8:0:0:9.4e-02 72 | 1 2319644 595027038 A G . TI DP=171;MP=1.0e+00;GP=3.8e-24;TG=AA/AAAAG;TP=9.7e-01;SG=AA/AAAGG;SP=3.1e-02;VD=MORN1|CCDS40.1|intronic;VW=MORN1|CCDS40.1|intronic GT:AA:CA:GA:TA:PM 0/0:88:0:0:0:0.0e+00 0/1:63:0:20:0:2.4e-01 73 | 1 2319645 595027039 A G . TI;RP DP=173;MP=9.3e-01;GP=1.8e-24;TG=AA/AAAAG;TP=9.3e-01;SG=AA/AAAAA;SP=6.6e-02;VD=MORN1|CCDS40.1|intronic;VW=MORN1|CCDS40.1|intronic GT:AA:CA:GA:TA:PM 0/0:89:0:0:0:0.0e+00 0/1:78:0:6:0:7.1e-02 74 | 1 2334328 595027040 T C . PASS DP=90;MP=1.0e+00;GP=3.5e-06;TG=TT/CCCTT;TP=6.3e-01;SG=TT/CCCCT;SP=3.7e-01;VD=PEX10|CCDS41.1|downstream;VW=RER1|CCDS41232.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:0:26:0.0e+00 0/1:0:44:0:20:6.9e-01 75 | 1 2436267 595027041 T G . DP;MN DP=100;MP=1.0e+00;GP=2.6e-04;TG=TT/GTTTT;TP=1.0e+00;SG=GT/GTTTT;SP=2.6e-04;CA;VD=PANK4|CCDS42.1|downstream;VW=PLCH2|ENST00000378486|r.4140u>g|c.3866T>G|p.V1289G GT:AA:CA:GA:TA:PM 0/0:0:0:1:23:4.2e-02 0/1:1:0:11:64:1.4e-01 76 | 1 2436282 595027042 T G . PH DP=100;MP=9.8e-01;GP=6.7e-06;TG=TT/GTTTT;TP=9.8e-01;SG=TT/TTTTT;SP=1.9e-02;CA;VD=PANK4|CCDS42.1|downstream;VW=PLCH2|ENST00000378486|r.4155u>g|c.3881T>G|p.V1294G GT:AA:CA:GA:TA:PM 0/0:0:0:0:25:0.0e+00 0/1:0:0:8:67:1.1e-01 77 | 1 2522924 595027043 C G . PASS DP=275;MP=1.0e+00;GP=6.4e-17;TG=CC/CCCCG;TP=9.8e-01;SG=CC/CCCGG;SP=2.1e-02;VD=MMEL1|CCDS30569.1|intronic;VW=MMEL1|CCDS30569.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:63:0:0:0.0e+00 0/1:1:155:56:0:2.6e-01 78 | 1 2525240 595027044 G T . PASS DP=150;MP=1.0e+00;GP=3.6e-15;TG=GG/GTTTT;TP=7.9e-01;SG=GG/GGTTT;SP=2.1e-01;VD=MMEL1|CCDS30569.1|intronic;VW=MMEL1|CCDS30569.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:57:0:0.0e+00 0/1:0:0:27:66:7.1e-01 79 | 1 2985808 595027045 T C . PH;DP DP=68;MP=9.6e-01;GP=3.8e-02;TG=TT/CTTTT;TP=9.5e-01;SG=CT/CTTTT;SP=3.8e-02;VD=PRDM16|CCDS41236.1|r.48u>c|c.?|p.?;VW=PRDM16|CCDS41236.1|r.48u>c|c.?|p.? GT:AA:CA:GA:TA:PM 0/0:0:0:0:12:0.0e+00 0/1:0:10:0:46:1.8e-01 80 | 1 3322125 595027046 G C . MN DP=211;MP=1.0e+00;GP=4.0e-11;TG=GG/CGGGG;TP=1.0e+00;SG=GG/GGGGG;SP=1.2e-05;CA;VD=PRDM16|CCDS41236.1|r.1162g>c|c.1099G>C|p.A367P;VW=PRDM16|CCDS41236.1|r.1162g>c|c.1099G>C|p.A367P GT:AA:CA:GA:TA:PM 0/0:0:3:69:0:4.2e-02 0/1:0:10:129:0:7.2e-02 81 | 1 3331097 595027047 T G . PH;DP DP=58;MP=9.8e-01;GP=2.0e-02;TG=TT/GTTTT;TP=9.7e-01;SG=GT/GTTTT;SP=2.0e-02;VD=PRDM16|CCDS44048.1|intronic;VW=PRDM16|CCDS44048.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:0:13:0.0e+00 0/1:0:1:7:37:1.6e-01 82 | 1 3543897 595027048 C T . SR DP=63;MP=1.0e+00;GP=5.0e-05;TG=CC/CCCCT;TP=9.3e-01;SG=CC/CCCTT;SP=7.2e-02;VD=TPRG1L|CCDS47.1|intronic;VW=TPRG1L|CCDS47.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:22:0:0:0.0e+00 0/1:0:32:0:9:2.2e-01 83 | 1 3599757 595027049 G C . TI;RP DP=136;MP=1.0e+00;GP=1.4e-23;TG=GG/CGGGG;TP=1.0e+00;SG=GG/CCGGG;SP=9.0e-04;SNP;VD=TP73|CCDS49.1|intronic;VW=TP73|CCDS49.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:86:0:0.0e+00 0/1:0:7:43:0:1.4e-01 84 | 1 3599758 595027050 C T . TI;RP DP=139;MP=1.0e+00;GP=8.8e-24;TG=CC/CCCCT;TP=1.0e+00;SG=CC/CCCCC;SP=3.7e-04;VD=TP73|CCDS49.1|intronic;VW=TP73|CCDS49.1|intronic GT:AA:CA:GA:TA:PM 0/0:1:86:0:0:0.0e+00 0/1:0:46:0:6:1.2e-01 85 | 1 3788978 595027051 G A . TI DP=57;MP=1.0e+00;GP=1.2e-06;TG=GG/AAGGG;TP=5.4e-01;SG=GG/AAAGG;SP=4.4e-01;VD=DFFB|CCDS52.1|intronic;VW=DFFB|CCDS52.1|intronic GT:AA:CA:GA:TA:PM 0/0:1:0:37:0:2.6e-02 0/1:9:0:10:0:4.7e-01 86 | 1 5923252 595027052 A G . PH;DP;MN DP=128;MP=9.1e-01;GP=8.5e-02;TG=AA/AAAAG;TP=9.1e-01;SG=AG/AAAAG;SP=8.5e-02;VD=NPHP4|CCDS44052.1|r.4620u>c|c.?|p.?;VW=NPHP4|CCDS44052.1|r.4620u>c|c.?|p.? GT:AA:CA:GA:TA:PM 0/0:24:0:2:0:7.7e-02 0/1:81:0:21:0:2.1e-01 87 | 1 5927887 595027053 C T . PASS DP=345;MP=1.0e+00;GP=1.1e-22;TG=CC/CCCCT;TP=1.0e+00;SG=CC/CCCTT;SP=2.3e-03;CA;VD=NPHP4|CCDS44052.1|r.3651g>a|c.3385G>A|p.V1129M;VW=NPHP4|CCDS44052.1|r.3651g>a|c.3385G>A|p.V1129M GT:AA:CA:GA:TA:PM 0/0:0:83:0:0:0.0e+00 0/1:0:194:0:68:2.6e-01 88 | 1 5987592 595027054 C T . PASS DP=54;MP=9.9e-01;GP=5.3e-03;TG=CC/CCTTT;TP=5.3e-01;SG=CC/CTTTT;SP=4.6e-01;VD=NPHP4|CCDS44052.1|intronic;VW=NPHP4|CCDS44052.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:15:0:0:0.0e+00 0/1:0:12:0:27:6.9e-01 89 | 1 6101958 595027055 A C . PH;DP DP=293;MP=1.0e+00;GP=1.0e-15;TG=AA/AAAAC;TP=1.0e+00;SG=AA/AAACC;SP=4.7e-10;VD=KCNAB2|CCDS55.1|intronic;VW=KCNAB2|CCDS55.1|intronic GT:AA:CA:GA:TA:PM 0/0:85:6:0:0:6.6e-02 0/1:165:37:0:0:1.8e-01 90 | 1 6142344 595027056 T G . RP DP=198;MP=1.0e+00;GP=5.5e-32;TG=TT/GTTTT;TP=1.0e+00;SG=TT/TTTTT;SP=3.9e-04;VD=KCNAB2|CCDS55.1|r.845+10u>g|c.281+10T>G|p.?;VW=KCNAB2|CCDS55.1|r.845+10u>g|c.281+10T>G|p.? GT:AA:CA:GA:TA:PM 0/0:0:0:0:115:0.0e+00 0/1:3:0:5:75:6.0e-02 91 | 1 6142346 595027057 T G . PASS DP=198;MP=1.0e+00;GP=2.9e-32;TG=TT/GTTTT;TP=1.0e+00;SG=TT/GGTTT;SP=9.5e-07;VD=KCNAB2|CCDS55.1|intronic;VW=KCNAB2|CCDS55.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:0:116:0.0e+00 0/1:0:0:9:73:1.1e-01 92 | 1 6170421 595027058 C G . UM;SRP;TI;RP DP=69;MP=8.8e-01;GP=1.4e-10;TG=CC/CCCCG;TP=7.2e-01;SG=CC/CCCGG;SP=1.6e-01;VD=CHD5|CCDS57.1|intronic;VW=CHD5|CCDS57.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:52:1:0:1.9e-02 0/1:0:13:3:0:1.9e-01 93 | 1 6170425 595027059 G C . UM;MN;TI DP=78;MP=1.0e+00;GP=1.7e-06;TG=GG/CCCCG;TP=9.2e-01;SG=GG/CCCCC;SP=7.3e-02;VD=CHD5|CCDS57.1|intronic;VW=CHD5|CCDS57.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:2:50:1:3.8e-02 0/1:0:18:1:6:7.2e-01 94 | 1 6170426 595027060 T G . UM;TI;RP DP=82;MP=9.8e-01;GP=5.1e-14;TG=TT/GTTTT;TP=9.6e-01;SG=TT/TTTTT;SP=2.4e-02;VD=CHD5|CCDS57.1|intronic;VW=CHD5|CCDS57.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:0:53:0.0e+00 0/1:0:0:4:25:1.4e-01 95 | 1 6184037 595027061 T G . PH;DP DP=64;MP=1.0e+00;GP=3.8e-04;TG=TT/GTTTT;TP=9.8e-01;SG=TT/GGTTT;SP=1.8e-02;CA;VD=CHD5|CCDS57.1|r.4770a>c|c.4670A>C|p.H1557P;VW=CHD5|CCDS57.1|r.4770a>c|c.4670A>C|p.H1557P GT:AA:CA:GA:TA:PM 0/0:0:0:0:19:0.0e+00 0/1:0:0:9:36:2.0e-01 96 | 1 6202442 595027062 A C . PH;DP DP=127;MP=1.0e+00;GP=9.2e-07;TG=AA/AAAAC;TP=1.0e+00;SG=AA/AAAAA;SP=2.3e-04;VD=CHD5|CCDS57.1|intronic;VW=CHD5|CCDS57.1|intronic GT:AA:CA:GA:TA:PM 0/0:28:0:0:0:0.0e+00 0/1:89:10:0:0:1.0e-01 97 | 1 6252975 595027063 A T . UM;TI;RP DP=150;MP=1.0e+00;GP=4.0e-31;TG=AA/AAAAT;TP=1.0e+00;SG=AA/AAATT;SP=1.9e-03;SNP;VD=RPL22|CCDS58.1|intronic;VW=RPL22|CCDS58.1|intronic GT:AA:CA:GA:TA:PM 0/0:112:0:0:0:0.0e+00 0/1:33:0:1:4:1.1e-01 98 | 1 6272651 595027064 T G . PH;DP DP=209;MP=8.7e-01;GP=6.7e-17;TG=TT/GTTTT;TP=8.7e-01;SG=TT/TTTTT;SP=1.3e-01;VD=RNF207|CCDS59.2|intronic;VW=RNF207|CCDS59.2|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:0:63:0.0e+00 0/1:1:0:13:132:8.9e-02 99 | 1 6291933 595027065 G A . PH;DP;UM;TI DP=206;MP=1.0e+00;GP=2.5e-13;TG=GG/AGGGG;TP=1.0e+00;SG=GG/AAGGG;SP=1.6e-10;SNP;VD=ICMT|CCDS61.1|intronic;VW=ICMT|CCDS61.1|intronic GT:AA:CA:GA:TA:PM 0/0:2:0:63:0:3.1e-02 0/1:17:0:124:0:1.2e-01 100 | 1 6341373 595027066 G C . RP DP=91;MP=1.0e+00;GP=1.8e-15;TG=GG/CGGGG;TP=9.9e-01;SG=GG/CCGGG;SP=5.3e-03;VD=ACOT7|CCDS30573.1|intronic;VW=ACOT7|CCDS30573.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:58:0:0.0e+00 0/1:0:4:29:0:1.2e-01 101 | -------------------------------------------------------------------------------- /test/vcf/test3.vcf: -------------------------------------------------------------------------------- 1 | ##fileformat=VCFv4.1 2 | ##FILTER= 3 | ##FILTER= 4 | ##FILTER= 5 | ##FILTER= 6 | ##FILTER= 7 | ##FILTER= 8 | ##FILTER= 9 | ##FILTER= 10 | ##FILTER= 11 | ##FILTER= 12 | ##FILTER= 13 | ##FILTER= 14 | ##FILTER= 15 | ##FORMAT= 16 | ##FORMAT= 17 | ##FORMAT= 18 | ##FORMAT= 19 | ##FORMAT= 20 | ##FORMAT= 21 | ##INFO= 22 | ##INFO= 23 | ##INFO= 24 | ##INFO= 25 | ##INFO= 26 | ##INFO= 27 | ##INFO= 28 | ##INFO= 29 | ##INFO= 30 | ##INFO= 31 | ##INFO= 32 | ##INFO= 33 | ##SAMPLE= 34 | ##SAMPLE= 35 | ##cavemanParams="NORMAL_CONTAMINATION=0.0;REF_BIAS=0.950000;MUT_RATE=0.000006;SNP_RATE=0.001000;MUT_CUTOFF=0.80;SNP_CUTOFF=0.95;MAX_READ_DEPTH_PER_SAMPLE=500" 36 | ##cavemanVersion=V|0_5_1|31_03_11 37 | ##cgpAnalysisProc_20130323.1=934452 38 | ##cgpAnalysisProc_20130326.1=934666 39 | ##cgpAnalysisProc_20130326.2=950997 40 | ##contig= 41 | ##contig= 42 | ##contig= 43 | ##contig= 44 | ##contig= 45 | ##contig= 46 | ##contig= 47 | ##contig= 48 | ##contig= 49 | ##contig= 50 | ##contig= 51 | ##contig= 52 | ##contig= 53 | ##contig= 54 | ##contig= 55 | ##contig= 56 | ##contig= 57 | ##contig= 58 | ##contig= 59 | ##contig= 60 | ##contig= 61 | ##contig= 62 | ##contig= 63 | ##contig= 64 | ##contig= 65 | ##fileDate=20130223 66 | ##reference=genome.fa 67 | ##source_20130323.1=CavemanMerge2Vcf.pl 68 | ##source_20130326.1=VcfAnnotate.pl 69 | ##vcfProcessLog_20130323.1=,InputVCFSource=,InputVCFVer=<1.1>,InputVCFParam=> 70 | ##vcfProcessLog_20130326.1=,InputVCFSource=,InputVCFVer=<0.16.1>,InputVCFParam=> 71 | ##vcfProcessLog_20130326.2=,InputVCFSource=,InputVCFVer=<0.6.3>,InputVCFParam=> 72 | #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT NORMAL TUMOUR 73 | 1 13079 595026967 C G . MQ;AN DP=135;MP=1.0e+00;GP=1.7e-17;TG=CC/CCCCG;TP=1.0e+00;SG=CC/CCCCC;SP=4.2e-03 GT:AA:CA:GA:TA:PM 0/0:0:65:0:0:0.0e+00 0/1:0:65:5:0:7.1e-02 74 | 1 13418 595026968 G A . UM;MQ;AN DP=311;MP=1.0e+00;GP=6.2e-39;TG=GG/AGGGG;TP=1.0e+00;SG=GG/AAGGG;SP=3.9e-06 GT:AA:CA:GA:TA:PM 0/0:0:0:139:0:0.0e+00 0/1:36:0:136:0:2.1e-01 75 | 1 15072 595026969 G C . MQ;AN DP=150;MP=1.0e+00;GP=6.8e-26;TG=GG/CCGGG;TP=9.9e-01;SG=GG/CGGGG;SP=6.4e-03 GT:AA:CA:GA:TA:PM 0/0:0:0:94:0:0.0e+00 0/1:0:21:35:0:3.8e-01 76 | 1 16957 595026970 G T . MQ;AN DP=83;MP=1.0e+00;GP=5.8e-10;TG=GG/GGGTT;TP=5.9e-01;SG=GG/GGTTT;SP=4.1e-01 GT:AA:CA:GA:TA:PM 0/0:0:0:39:0:0.0e+00 0/1:0:0:23:21:4.8e-01 77 | 1 17594 595026971 C T . AN DP=106;MP=1.0e+00;GP=1.0e-13;TG=CC/CCCCT;TP=1.0e+00;SG=CC/CCCTT;SP=3.0e-04 GT:AA:CA:GA:TA:PM 0/0:0:52:0:0:0.0e+00 0/1:0:47:0:7:1.3e-01 78 | 1 17626 595026972 G A . AN DP=141;MP=1.0e+00;GP=1.7e-19;TG=GG/AGGGG;TP=1.0e+00;SG=GG/AAGGG;SP=8.7e-05 GT:AA:CA:GA:TA:PM 0/0:0:0:72:0:0.0e+00 0/1:10:0:59:0:1.4e-01 79 | 1 63697 595026973 T C . UM;AN DP=407;MP=1.0e+00;GP=1.1e-11;TG=TT/CCCTT;TP=1.0e+00;SG=TT/CCTTT;SP=7.5e-06 GT:AA:CA:GA:TA:PM 0/0:0:0:0:45:0.0e+00 0/1:0:191:0:171:5.3e-01 80 | 1 129315 595026974 A G . UM;MQ;AN DP=288;MP=1.0e+00;GP=2.3e-09;TG=AA/AAAAG;TP=1.0e+00;SG=AG/AAAAG;SP=2.3e-09 GT:AA:CA:GA:TA:PM 0/0:37:0:0:0:0.0e+00 0/1:220:0:31:0:1.2e-01 81 | 1 753277 595026975 G A . MQ;AN DP=176;MP=1.0e+00;GP=2.7e-34;TG=GG/AGGGG;TP=1.0e+00;SG=GG/AAGGG;SP=1.0e-03 GT:AA:CA:GA:TA:PM 0/0:0:0:123:0:0.0e+00 0/1:8:0:45:0:1.5e-01 82 | 1 809091 595026976 A G . UM;MQ;AN DP=494;MP=9.8e-01;GP=2.2e-51;TG=AA/AAAAG;TP=9.8e-01;SG=AA/AAAAA;SP=2.4e-02 GT:AA:CA:GA:TA:PM 0/0:182:0:0:0:0.0e+00 0/1:298:0:14:0:4.5e-02 83 | 1 809261 595026977 C T . UM;MQ;AN DP=435;MP=1.0e+00;GP=1.8e-28;TG=CC/CCCCT;TP=1.0e+00;SG=CC/CCCCC;SP=1.0e-19 GT:AA:CA:GA:TA:PM 0/0:0:103:0:0:0.0e+00 0/1:0:310:0:22:6.6e-02 84 | 1 809319 595026978 C T . UM;MQ;AN DP=364;MP=1.0e+00;GP=3.6e-08;TG=CC/CCCCT;TP=1.0e+00;SG=CT/CCCCT;SP=3.6e-08 GT:AA:CA:GA:TA:PM 0/0:0:33:0:0:0.0e+00 0/1:0:300:0:31:9.4e-02 85 | 1 809351 595026979 T G . PH;DP;AN DP=298;MP=9.9e-01;GP=2.5e-16;TG=TT/GTTTT;TP=9.9e-01;SG=TT/TTTTT;SP=8.3e-03 GT:AA:CA:GA:TA:PM 0/0:0:0:0:61:0.0e+00 0/1:0:0:22:215:9.3e-02 86 | 1 809361 595026980 A C . PH;DP;AN DP=352;MP=1.0e+00;GP=4.0e-22;TG=AA/AAAAC;TP=1.0e+00;SG=AA/AAAAA;SP=2.2e-08 GT:AA:CA:GA:TA:PM 0/0:81:0:0:0:0.0e+00 0/1:250:21:0:0:7.7e-02 87 | 1 874865 595026981 T C . TI DP=35;MP=8.7e-01;GP=1.3e-01;TG=TT/CTTTT;TP=7.6e-01;SG=CT/CTTTT;SP=1.1e-01;VD=NOC2L|CCDS3.1|downstream;VW=SAMD11|CCDS2.2|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:0:10:0.0e+00 0/1:0:5:1:19:2.0e-01 88 | 1 915246 595026982 T G . PH;DP DP=95;MP=1.0e+00;GP=9.1e-06;TG=TT/GTTTT;TP=1.0e+00;SG=TT/GGTTT;SP=4.7e-03;CA;VD=PLEKHN1|CCDS4.1|downstream;VW=C1orf170|ENST00000433179|r.882a>c|c.882A>C|p.T294T GT:AA:CA:GA:TA:PM 0/0:0:1:0:24:0.0e+00 0/1:0:0:15:55:2.1e-01 89 | 1 915369 595026983 T G . PH;DP;UM;MN DP=149;MP=9.4e-01;GP=5.1e-02;TG=TT/GTTTT;TP=9.4e-01;SG=GT/GTTTT;SP=5.1e-02;CA;VD=PLEKHN1|CCDS4.1|downstream;VW=C1orf170|ENST00000433179|r.759a>c|c.759A>C|p.T253T GT:AA:CA:GA:TA:PM 0/0:0:0:1:18:5.3e-02 0/1:0:0:12:118:9.2e-02 90 | 1 915459 595026984 T G . PH DP=99;MP=9.3e-01;GP=7.2e-02;TG=TT/GTTTT;TP=9.3e-01;SG=GT/GTTTT;SP=7.2e-02;CA;VD=PLEKHN1|CCDS4.1|downstream;VW=C1orf170|ENST00000433179|r.669a>c|c.669A>C|p.T223T GT:AA:CA:GA:TA:PM 0/0:0:0:0:11:0.0e+00 0/1:0:0:9:79:1.0e-01 91 | 1 981307 595026985 A C . PH;DP DP=59;MP=1.0e+00;GP=3.7e-04;TG=AA/AAAAC;TP=8.4e-01;SG=AA/AAACC;SP=1.6e-01;VD=AGRN|CCDS30551.1|intronic;VW=AGRN|CCDS30551.1|intronic GT:AA:CA:GA:TA:PM 0/0:19:0:0:0:0.0e+00 0/1:30:10:0:0:2.5e-01 92 | 1 1203428 595026986 T C . PH;DP DP=213;MP=9.8e-01;GP=3.4e-17;TG=TT/CTTTT;TP=9.8e-01;SG=TT/TTTTT;SP=2.1e-02;VD=UBE2J2|CCDS16.1|intronic;VW=UBE2J2|CCDS16.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:0:64:0.0e+00 0/1:0:15:0:134:1.0e-01 93 | 1 1225535 595026987 T C . SR DP=24;MP=9.1e-01;GP=9.7e-03;TG=TT/CCTTT;TP=4.4e-01;SG=TT/CTTTT;SP=3.7e-01;VD=ACAP3|CCDS19.2|downstream;VW=SCNN1D|CCDS18.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:0:14:0.0e+00 0/1:0:3:0:7:3.0e-01 94 | 1 1249680 595026988 C T . PASS DP=29;MP=9.8e-01;GP=2.0e-02;TG=CC/CCCTT;TP=5.6e-01;SG=CC/CCCCT;SP=3.6e-01;CA;VD=CPSF3L|CCDS21.1|r.850+1g>a|c.767+1G>A|p.?;VW=CPSF3L|CCDS21.1|r.850+1g>a|c.767+1G>A|p.? GT:AA:CA:GA:TA:PM 0/0:0:13:0:0:0.0e+00 0/1:0:11:0:5:3.1e-01 95 | 1 1264136 595026989 A T . PASS DP=63;MP=1.0e+00;GP=6.3e-08;TG=AA/AAAAT;TP=8.6e-01;SG=AA/AAATT;SP=1.4e-01;SNP;VD=GLTPD1|CCDS30555.1|r.2049a>u|c.?|p.?;VW=GLTPD1|CCDS30555.1|r.2049a>u|c.?|p.? GT:AA:CA:GA:TA:PM 0/0:32:0:0:0:0.0e+00 0/1:24:0:0:7:2.3e-01 96 | 1 1268403 595026990 G A . PASS DP=83;MP=1.0e+00;GP=1.5e-12;TG=GG/AAAGG;TP=9.3e-01;SG=GG/AAGGG;SP=3.8e-02;CA;VD=TAS1R3|CCDS30556.1|r.1410g>a|c.1378G>A|p.V460M;VW=TAS1R3|CCDS30556.1|r.1410g>a|c.1378G>A|p.V460M GT:AA:CA:GA:TA:PM 0/0:0:0:48:0:0.0e+00 0/1:21:0:14:0:6.0e-01 97 | 1 1273314 595026991 G A . SR DP=15;MP=8.6e-01;GP=1.3e-01;TG=GG/AAAGG;TP=3.6e-01;SG=GG/AAGGG;SP=2.3e-01;VD=TAS1R3|CCDS30556.1|downstream;VW=DVL1L1|CCDS22.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:0:10:0:0.0e+00 0/1:3:0:2:0:6.0e-01 98 | 1 1275688 595026992 G A . PASS DP=105;MP=1.0e+00;GP=7.2e-15;TG=GG/AAAGG;TP=9.6e-01;SG=GG/AAGGG;SP=3.5e-02;CA;VD=DVL1L1|CCDS22.1|r.755c>u|c.708C>T|p.S236S;VW=DVL1L1|CCDS22.1|r.755c>u|c.708C>T|p.S236S GT:AA:CA:GA:TA:PM 0/0:0:0:56:0:0.0e+00 0/1:28:0:21:0:5.7e-01 99 | 1 1374508 595026993 G A . PASS DP=40;MP=1.0e+00;GP=9.8e-05;TG=GG/AAGGG;TP=5.4e-01;SG=GG/AAAGG;SP=4.4e-01;CA;VD=VWA1|CCDS27.1|r.757g>a|c.679G>A|p.G227S;VW=VWA1|CCDS27.1|r.757g>a|c.679G>A|p.G227S GT:AA:CA:GA:TA:PM 0/0:0:0:21:0:0.0e+00 0/1:9:0:10:0:4.7e-01 100 | 1 1390967 595026994 C A . PASS DP=51;MP=1.0e+00;GP=2.7e-03;TG=CC/AACCC;TP=8.0e-01;SG=CC/ACCCC;SP=1.9e-01;VD=ATAD3C|CCDS44039.1|intronic;VW=ATAD3C|CCDS44039.1|intronic GT:AA:CA:GA:TA:PM 0/0:0:16:0:0:0.0e+00 0/1:11:23:1:0:3.1e-01 101 | --------------------------------------------------------------------------------