From 5e5b507cdf2cf58a90171ae4a3b32f3fda20d10d Mon Sep 17 00:00:00 2001 From: sigven Date: Fri, 14 Apr 2017 23:31:55 +0200 Subject: [PATCH] cna bug and docs update --- README.md | 15 ++++++++------- docs/_build/doctrees/environment.pickle | Bin 20720 -> 20720 bytes docs/_build/doctrees/getting_started.doctree | Bin 32704 -> 32749 bytes .../html/_sources/getting_started.rst.txt | 12 ++++++------ docs/_build/html/getting_started.html | 12 ++++++------ docs/_build/html/searchindex.js | 2 +- docs/getting_started.md | 12 ++++++------ docs/getting_started.rst | 12 ++++++------ pcgr.py | 6 +++--- src/Dockerfile | 2 +- src/R/pcgrr2/R/utils.R | 12 +++++++----- src/R/pcgrr2_0.1.0.tar.gz | Bin 37086 -> 37095 bytes src/pcgr.tgz | Bin 22217 -> 22217 bytes 13 files changed, 44 insertions(+), 41 deletions(-) diff --git a/README.md b/README.md index 4a6d975e..67bf1c35 100644 --- a/README.md +++ b/README.md @@ -53,15 +53,16 @@ A local installation of Python (it has been tested with [version 2.7.13](https:/ #### STEP 2: Download PCGR -April 12th 2017: New release (v0.3) -1. Download and unpack the [latest release (v0.3)](https://github.com/sigven/pcgr/releases/latest) +April 12th 2017: New release (0.3.1) + +1. Download and unpack the [latest release (0.3.1)](https://github.com/sigven/pcgr/releases/latest) 2. Download and unpack the data bundle (approx. 17Gb) in the PCGR directory - * Download [the latest data bundle](https://drive.google.com/file/d/0B8aYD2TJ472mQjZOMmg4djZfT1k/) from Google Drive to `~/pcgr-X.X` (replace _X.X_ with the version number, e.g `~/pcgr-0.3`) + * Download [the latest data bundle](https://drive.google.com/file/d/0B8aYD2TJ472mQjZOMmg4djZfT1k/) from Google Drive to `~/pcgr-X.X` (replace _X.X_ with the version number, e.g `~/pcgr-0.3.1`) * Unpack the data bundle, e.g. through the following Unix command: `gzip -dc pcgr.databundle.GRCh37.YYYYMMDD.tgz | tar xvf -` A _data/_ folder within the _pcgr-X.X_ software folder should now have been produced -3. Pull the [PCGR Docker image (v0.3)](https://hub.docker.com/r/sigven/pcgr/) from DockerHub (3.1Gb): - * `docker pull sigven/pcgr:0.3` (PCGR annotation engine) +3. Pull the [PCGR Docker image (0.3.1)](https://hub.docker.com/r/sigven/pcgr/) from DockerHub (3.1Gb): + * `docker pull sigven/pcgr:0.3.1` (PCGR annotation engine) #### STEP 3: Input preprocessing @@ -111,7 +112,7 @@ A tumor sample report is generated by calling the Python script __pcgr.py__ in t positional arguments: pcgr_dir PCGR base directory with accompanying data directory, - e.g. ~/pcgr-0.3 + e.g. ~/pcgr-0.3.1 output_dir Output directory sample_id Tumor sample/cancer genome identifier - prefix for output files @@ -145,7 +146,7 @@ A tumor sample report is generated by calling the Python script __pcgr.py__ in t The _examples_ folder contain sample files from TCGA. A report for a colorectal tumor case can be generated through the following command: -`python pcgr.py --input_vcf tumor_sample.COAD.vcf.gz --input_cna_segments tumor_sample.COAD.cna.tsv ~/pcgr-0.3 ~/pcgr-0.3/examples tumor_sample.COAD` +`python pcgr.py --input_vcf tumor_sample.COAD.vcf.gz --input_cna_segments tumor_sample.COAD.cna.tsv ~/pcgr-0.3.1 ~/pcgr-0.3.1/examples tumor_sample.COAD` This command will run the Docker-based PCGR workflow and produce the following output files in the _examples_ folder: diff --git a/docs/_build/doctrees/environment.pickle b/docs/_build/doctrees/environment.pickle index 1c389d7f16d2247d8dcb2501d51d3742f18d9896..b362ed944bcf210acf161dae74b4f7396f738a64 100644 GIT binary patch delta 6526 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 delta 6328 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 diff --git a/docs/_build/html/_sources/getting_started.rst.txt b/docs/_build/html/_sources/getting_started.rst.txt index 4faca462..35ddf1c0 100644 --- a/docs/_build/html/_sources/getting_started.rst.txt +++ b/docs/_build/html/_sources/getting_started.rst.txt @@ -42,10 +42,10 @@ terminal window. Download PCGR ^^^^^^^^^^^^^ -**April 12th 2017**: New release (v0.3) +**April 14th 2017**: New release (0.3.1) - Download and unpack the `latest release - (v0.3) `__ + (0.3.1) `__ - Download and unpack the data bundle (approx. 17Gb) in the PCGR directory @@ -53,7 +53,7 @@ Download PCGR - Download `the latest data bundle `__ from Google Drive to ``~/pcgr-X.X`` (replace *X.X* with the - version number, e.g. ``~/pcgr-0.3``) + version number, e.g. ``~/pcgr-0.3.1``) - Decompress and untar the bundle, e.g. through the following Unix command: ``gzip -dc pcgr.databundle.GRCh37.YYYYMMDD.tgz | tar xvf -`` @@ -62,10 +62,10 @@ Download PCGR have been produced - Pull the `PCGR Docker image - - v0.3 `__ from DockerHub + 0.3.1 `__ from DockerHub (3.1Gb) : - - ``docker pull sigven/pcgr:0.3`` (PCGR annotation engine) + - ``docker pull sigven/pcgr:0.3.1`` (PCGR annotation engine) Run test - generation of clinical report for a cancer genome ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -125,7 +125,7 @@ sequenced within TCGA. A report for a colorectal tumor case can be generated by running the following command in your terminal window: ``python pcgr.py --input_vcf examples/tumor_sample.COAD.vcf.gz --input_cna_segments`` -``examples/tumor_sample.COAD.cna.tsv ~/pcgr-0.3 ~/pcgr-0.3/examples tumor_sample.COAD`` +``examples/tumor_sample.COAD.cna.tsv ~/pcgr-0.3.1 ~/pcgr-0.3.1/examples tumor_sample.COAD`` This command will run the Docker-based PCGR workflow and produce the following output files in the *examples* folder: diff --git a/docs/_build/html/getting_started.html b/docs/_build/html/getting_started.html index 929ef471..3aa6e24b 100644 --- a/docs/_build/html/getting_started.html +++ b/docs/_build/html/getting_started.html @@ -189,10 +189,10 @@

Python

Download PCGRΒΆ

-

April 12th 2017: New release (v0.3)

+

April 14th 2017: New release (0.3.1)

  • Download and unpack the latest release -(v0.3)

    +(0.3.1)

  • Download and unpack the data bundle (approx. 17Gb) in the PCGR directory

    @@ -200,7 +200,7 @@

    Download PCGRthe latest data bundle from Google Drive to ~/pcgr-X.X (replace X.X with the -version number, e.g. ~/pcgr-0.3)

  • +version number, e.g. ~/pcgr-0.3.1)
  • Decompress and untar the bundle, e.g. through the following Unix command: gzip -dc pcgr.databundle.GRCh37.YYYYMMDD.tgz | tar xvf -
  • @@ -209,10 +209,10 @@

    Download PCGRPull the PCGR Docker image - -v0.3 from DockerHub +0.3.1 from DockerHub (3.1Gb) :

      -
    • docker pull sigven/pcgr:0.3 (PCGR annotation engine)
    • +
    • docker pull sigven/pcgr:0.3.1 (PCGR annotation engine)

@@ -272,7 +272,7 @@

Run test - generation of clinical report for a cancer genomepython pcgr.py --input_vcf examples/tumor_sample.COAD.vcf.gz --input_cna_segments -examples/tumor_sample.COAD.cna.tsv ~/pcgr-0.3 ~/pcgr-0.3/examples tumor_sample.COAD

+examples/tumor_sample.COAD.cna.tsv ~/pcgr-0.3.1 ~/pcgr-0.3.1/examples tumor_sample.COAD

This command will run the Docker-based PCGR workflow and produce the following output files in the examples folder:

    diff --git a/docs/_build/html/searchindex.js b/docs/_build/html/searchindex.js index efe27231..713fb367 100644 --- a/docs/_build/html/searchindex.js +++ b/docs/_build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["about","annotation_resources","getting_started","index","output"],envversion:50,filenames:["about.rst","annotation_resources.rst","getting_started.rst","index.rst","output.rst"],objects:{},objnames:{},objtypes:{},terms:{"1000g":4,"1000genom":1,"12th":2,"140453136a":1,"16gb":[],"17gb":2,"17th":[],"1gb":2,"1kg":[],"2016_03":[],"2016_09":1,"2020plu":2,"28th":[],"2gb":[],"5gb":2,"5th":1,"8th":1,"abstract":1,"case":[1,2,4],"class":4,"default":2,"function":[2,3,4],"import":[0,2,4],"new":2,"public":4,"short":[1,4],CDS:4,EAS:4,For:[1,2,4],IDs:4,POS:[],SAS:4,The:[0,1,2,4],There:0,These:[],_strong:[],abber:3,aberr:[0,2,4],about:3,abov:4,accept:4,acceptor:4,access:[0,4],accompani:2,accord:[2,4],acid:4,acquir:0,across:4,action:4,actual:1,ada:[],adapt:4,add:4,adddit:4,addit:[0,4],adenoma:1,adjust:4,advanc:2,af_norm:[],af_tumor:[],affect:4,affected_spl:[],affili:0,afr:4,afr_af_1kg:4,afr_af_exac:4,afr_af_gnomad:4,african:4,after:4,aggreg:4,aid:0,algorithm:4,align:4,all:[0,1],allel:4,allele_num:4,alon:0,alreadi:[1,2],also:1,alt:4,alter:[2,4],altern:4,american:4,amino:4,amino_acid:4,among:[],amplif:2,amr:4,amr_af_1kg:4,amr_af_exac:4,amr_af_gnomad:4,analys:2,analysi:0,analyz:4,ani:[2,4],annot:[0,2,3],annotation_resourc:[],antineoplast:[1,4],antineoplastic_drug_interact:4,antineoplastic_drugs_dgidb:4,appli:4,applic:[0,4],appri:4,approv:4,approx:2,april:[1,2],argument:2,asian:4,assembl:4,assign:2,associ:2,attach:[0,4],aug:[],b147:1,base:[2,3,4],basic:[0,2,3,4],been:[0,1,2,4],below:4,benign:[],best:4,betweeen:1,bgzip:4,bind:4,biocomput:4,bioconductor:4,biologi:0,biomark:[0,1,2],biotyp:4,block:4,block_substitut:[],bm_citat:4,bm_clinical_signific:4,bm_disease_nam:4,bm_drug_nam:4,bm_evidence_direct:4,bm_evidence_level:4,bm_evidence_typ:4,bm_rate:4,bool:[],boost:4,both:[0,4],braf:1,breast:4,browser:4,build:4,bundl:[0,1,2],cadd:4,call:2,call_confid:[],caller:4,can:[0,2,4],cancer:4,cancer_census_germlin:4,cancer_census_somat:4,cancer_mutation_hotspot:4,cancer_typ:4,cancerhotspot:4,candid:4,canon:4,cap:4,caption:[],care:0,carri:4,catalog:[1,4],catalogu:1,categori:4,caus:4,causal:4,cbmdb:1,cbmdb_id:4,ccd:4,cdna:4,cdna_posit:4,cds:[],cds_chang:4,cds_end_nf:4,cds_posit:4,cds_start_nf:4,cell:4,cell_typ:4,cellular:[],cencu:1,censu:4,challeng:0,chang:[2,4],check:2,chr1:4,chr7:1,chr:4,chrom:4,chrome:4,chromosom:4,citat:[],cite:4,civic:[1,4],civic_id:4,civic_id_2:4,classif:4,clin:[],clin_sig:4,clinic:[0,3],clinvar:[1,4],clinvar_msid:4,clinvar_pmid:4,clinvar_sig:4,clinvar_variant_origin:4,cluster:4,cna:2,cna_seg:[2,4],cnminor:[],cntotal:[],cnv:[],coad:2,code:3,codon:[1,4],codon_numb:4,cohort:1,collect:1,colorect:[2,4],column:4,com:[],come:1,command:2,common:4,complet:[2,4],complex:0,composit:4,comprehens:0,compress:4,comput:2,concern:3,confer:1,confid:[],confirmed_somat:1,consensu:4,consequ:3,consid:4,consortium:[0,1,4],constitut:4,contain:[0,2,4],content:[3,4],context:0,contribut:[2,4],convent:4,coordin:4,copi:[0,2,3],correctli:4,correspond:1,cosmic:[1,4],cosmic_cancer_type_al:4,cosmic_cancer_type_gw:4,cosmic_codon_count_gw:4,cosmic_codon_frac_gw:4,cosmic_consequ:4,cosmic_count_gw:4,cosmic_drug_resist:4,cosmic_fathmm_pr:4,cosmic_mutation_id:4,cosmic_sample_sourc:4,cosmic_site_histolog:4,cosmic_vartyp:4,count:4,cover:4,cpu:2,creat:[],criteria:1,csq:4,curat:[1,4],current:4,damag:[],data:[0,2,3,4],databas:3,databundl:2,dataset:3,date:0,dbnsfp:[1,4],dbnsfp_consensus_lr:4,dbnsfp_consensus_svm:4,dbsnp:[1,4],dbsnp_mappingstatu:4,dbsnp_submiss:4,dbsnp_valid:4,dbsnpbuildid:4,dbsnprsid:4,dec:1,decompos:4,decompress:2,deconstructsig:4,dedic:[],defin:4,delet:[2,4],delin:4,denot:4,depend:0,depth:4,deriv:4,describ:4,descript:4,determin:[],develop:[0,4],dgidb:1,diagnosi:2,diagnost:[0,4],differ:[2,4],direct:[],directori:2,discov:1,diseas:4,distanc:4,distribut:4,dna:4,doc:[],docker:3,dockerhub:2,docm:1,docm_diseas:4,docm_pmid:4,document:[],domain:[3,4],done:4,donor:4,download:[],downstream:2,dp_normal:[],dp_tumor:[],drive:2,driver:[1,4],drug:[1,2,4],dure:2,each:4,eas_af_1kg:4,eas_af_exac:4,eas_af_gnomad:4,east:4,effect:[0,3],effect_predict:4,either:[1,4],emerg:4,end:4,engin:2,ensembl:[0,4],ensembl_gene_id:4,ensembl_transcript_id:4,ensp:4,entrez:4,entrez_id:4,error:2,estim:2,etc:[1,4],etiolog:[2,4],eur:4,eur_af_1kg:4,european:4,event:4,evid:[2,4],exac:[1,4],exampl:[2,4],exist:[2,4],existing_vari:4,exit:2,exom:[1,4],exon:[1,4],experi:4,experienc:4,experiment:4,expert:0,explor:4,extend:0,facet:[],factor:4,fail:2,fall:4,fals:2,famili:1,fathmm:4,fathmm_mkl:4,fda:1,featur:[3,4],feature_typ:4,feb:[],februai:1,februari:1,figur:0,file:[2,4],fin:[],fin_af_exac:4,fin_af_gnomad:4,find:[0,4],finnish:4,firefox:4,first:4,flag:[2,4],flag_pick_allel:4,flank:4,flexibl:0,focu:[],folder:2,follow:[1,2,4],forc:2,force_overwrit:2,fork:2,form:0,format:0,found:[1,2,4],four:4,frac:[],fraction:[],fraction_mut:4,frameshift:4,frequenc:3,from:[0,1,2,4],g12:1,gain:4,gencod:[1,4],gencode_tag:4,gencode_transcript_typ:4,gencode_v19:4,gene:[0,2,3],gene_biotyp:4,gene_nam:4,gene_pheno:4,gene_symbol:4,gener:[0,3,4],genet:1,genindex:[],genom:4,genome_vers:4,genomic_chang:4,genotyp:4,germlin:1,gerp:4,get:3,getting_start:[],given:4,global:4,global_af_1kg:4,global_af_exac:4,global_af_gnomad:4,gnomad:1,googl:[2,4],grch37:[1,2,4],great:0,guidelin:[1,4],gwa:4,gwas_catalog_pmid:4,gwas_catalog_trait_uri:4,gz_:[],gzip:2,handl:4,has:[0,2,4],have:[0,1,2,4],hdiv:4,help:[2,4],here:4,hgnc:[],hgnc_id:4,hgv:[1,4],hgvs_offset:4,hgvsc:4,hgvsp:4,hgvsp_short:4,high:4,high_inf_po:4,higher:[],highlight:0,histolog:[1,4],hit:4,homozyg:2,hospit:0,host:2,hotspot:[1,4],how:4,howev:1,html:[0,2,3],http:4,human:[1,4],humdiv:[],hvar:4,icgc:[1,4],icgc_project:4,identifi:[1,2,4],iii:0,imag:[0,2],impact:4,implic:4,improv:4,includ:[1,4],incomplet:4,indel:[0,2,3],index:4,indic:4,individu:[0,4],inf:[],infer:4,inferenti:4,info:4,inform:1,initi:4,input:[2,3],input_cna_seg:2,input_vcf:2,insert:4,insilico:3,instal:0,institut:0,instruct:2,integr:[0,4],intend:0,interact:[1,2,3],intern:1,interpret:[0,1,2],interrog:0,intersect:4,intogen:[1,4],intogen_driv:4,intogen_driver_mut:4,intro:[],intron:4,isoform:4,isol:0,item:[2,4],its:4,jan:4,june:[],kit:1,knowledg:[0,3],knowledgebas:1,known:[1,2,4],kra:1,lack:4,larg:[],latest:2,least:[],length:4,level:[0,1,4],librari:0,lies:4,like:[],limit:1,line:[],link:4,linux:2,list:[],literatur:[1,4],log:[2,4],logist:4,logr:4,logr_threshold_amplif:2,logr_threshold_homozygous_delet:2,lost:4,low:4,lrt:4,mac:2,machin:[2,4],maf:2,mai:[1,4],make:[],malign:1,mani:4,map:3,mappabl:4,mappingstatu:[],march:1,marker:1,master:[],match:4,matter:4,maxdepth:[],measur:4,memori:2,messag:2,met:4,minim:2,minimum:[],minor:[],missens:4,mix:4,mkdir:[],mkl:[],modifi:4,modindex:[],modul:[],most:[0,1,4],motif:4,motif_nam:4,motif_po:4,motif_score_chang:4,motiffeatur:4,mozilla:4,mrna:4,msid:[],multipl:4,must:[1,2,4],mut:[],mutat:[0,1,2],mutational_signatur:[2,4],mutationassessor:4,mutationtast:4,mutect:[],mutpr:4,mutsigcv:2,name:4,navig:0,nccn:1,ncgc:[],need:0,nfe:[],nfe_af_exac:4,nfe_af_gnomad:4,nomenclatur:1,non:[1,4],none:2,normal:4,norwegian:0,notat:4,note:[3,4],nov:4,novemb:1,novo:4,now:2,nucleotid:[2,4],num:[],num_vcfanno_process:2,num_vep_fork:2,number:[0,2,3],numer:4,observ:4,obtain:4,oct:[],offset:[],oncogen:[1,4],oncolog:[0,2],oncologist:0,oncoscor:4,one:4,onli:[0,1,4],ontolog:4,option:[2,4],order:4,org:4,organ:[2,4],origin:4,oslo:0,osx:[],oth:[],oth_af_exac:4,oth_af_gnomad:4,other:[2,3],out:4,output:[2,3],output_dir:2,overlap:[2,4],overview:[],overwrit:2,packag:[0,4],page:[],pair:4,pars:4,part:[1,4],particular:4,pass:4,pcgr:[1,3,4],pcgr_dir:2,pcgr_directori:[],pcgreport:[],percent:4,person:2,pfam:1,phase3:1,phase:4,pheno:4,phenotyp:4,phred:[],pick:4,pipelin:4,platform:2,pmid:4,point:4,polyp:1,polyphen2:4,portrai:4,pose:0,posit:[2,4],possibl:1,potenti:4,pre:4,precis:[0,2],pred:[],predict:[3,4],predictor:[0,1],predispos:4,predisposit:4,prefer:2,prefix:2,prerequisit:3,present:[0,4],primari:4,princip:4,prinicip:[],priorit:0,process:[2,4],produc:[0,2],product:4,profil:4,prognosi:2,prognost:[0,4],program:2,project:4,properli:4,proport:1,propos:4,proposed_aetiolog:4,prot:4,protein:3,protein_chang:4,protein_domain:4,protein_posit:4,provean:4,provid:4,pubm:4,pull:2,python:[],qualiti:[3,4],queri:[2,4],quickstart:[],ram:2,rang:4,rate:4,ratio:[2,4],raw:4,recommend:4,record:4,ref:[],refer:[1,4],reflect:4,refseq:4,refseq_match:4,refut:4,regress:4,regulatori:4,regulatoryfeatur:4,rel:4,relat:[0,1],releas:[1,2,4],relev:[0,2,4],replac:2,report:1,reported_in_another_cancer_sample_as_somat:1,repres:2,represent:4,requir:[0,1,2,4],research:0,resist:[2,4],resourc:[0,2,3],respect:4,restart:2,result:[0,2,4],retriev:[0,4],revel:4,rich:2,robust:4,root:[],rsid:4,run:[3,4],run_pcgr:[],safari:4,sampl:[1,2,4],sample_id:[2,4],sample_pair_identifi:[],sampleid:4,sas_af_1kg:4,sas_af_exac:4,sas_af_gnomad:4,satisfi:1,scale:4,scarciti:0,scientif:1,scientist:0,score:4,screen:4,script:2,search:[],segment:2,segment_end:4,segment_length:4,segment_mean:4,segment_start:4,sensit:[2,4],sep:[],separ:2,sequenc:[1,2,4],set:[0,2,4],sever:0,shift:4,shortest:4,should:2,show:[2,4],sift:4,sig:[],sigantur:[],signatur:2,signature_id:4,signific:[1,4],sigven:2,similarli:2,singl:4,site:[1,4],snv:[0,2,3],snvs_indel:[2,4],softwar:[0,2],somat:[0,1,2,3],sort:4,sourc:4,south:4,specif:4,sphinx:[],splice:4,splice_site_effect_ada:4,splice_site_effect_bool:[],splice_site_effect_rf:4,split:4,stabl:4,stand:0,standard:4,star:4,start:[3,4],statement:4,statist:1,statu:[1,4],step:[],stop:4,strand:4,strelka:[],strip:4,strive:4,strong:[],strongli:4,structur:4,studi:4,subject:4,submiss:4,subset:1,substitut:[],subtyp:4,support:4,suppressor:[1,4],svm:[],swiss:4,swissprot:[1,4],symbol:4,symbol_sourc:4,synonym:[1,4],systemat:0,tab:2,tabix:4,tabl:3,tag:4,take:2,taken:0,tar:2,target:4,tcga:[2,4],technolog:3,termin:2,test:[3,4],test_sampl:[],tfbp:4,tgz:2,thei:1,therapeut:[0,4],therapi:4,thi:[1,2,4],through:[0,2,4],throughput:[],thu:0,tier:[0,2,4],tier_descript:4,toctre:[],todo:[],tool:[0,2],toolbar:2,total:4,trait:4,transcript:[2,4],transcript_end:4,transcript_overlap_perc:4,transcript_start:4,transvar:1,treatment:4,trembl:4,treshold:2,trial:[1,4],trust:4,tsgene:[1,4],tsgene_oncogen:4,tsl:4,tsv:2,tumor:[0,1,2,4],tumor_sampl:2,tumor_suppressor:4,tumor_typ:4,tumorigenesi:4,two:[2,4],type:[2,4],unambigu:1,unannot:4,underli:[2,4],uniform:4,uniparc:4,uniprot:[1,4],uniprot_featur:4,uniprot_id:4,uniprotkb:4,uniqu:4,univers:0,unix:2,unpack:2,untar:2,upcom:4,upon:[],upper:4,uri:4,usag:2,use:[2,3],used:[1,2],user:4,using:[0,2,4],util:3,v15:[],v19:[1,4],v22:[],v23:1,v30:[],v31:1,v600e:1,v78:[],v80:1,v85:1,valid:4,valu:2,variabl:4,variant:[0,2,3],variant_class:4,variat:4,variou:4,vartyp:[],vcf:2,vcf_sample_id:4,vcfanno:[0,2],vcfbreakmulti:4,vcflib:4,vcftool:4,vector:4,vep:[0,1,2],vep_all_consequ:4,veri:2,version:[2,4],view:4,virtual:2,weak:[],weak_mutect:[],weak_strelka:[],weight:4,what:3,whenev:1,where:4,whether:4,which:[0,1,2,4],why:3,wide:[1,4],window:2,within:[1,2,4],work:4,workflow:[0,2,4],working_directori:[],wtsi:4,xvf:2,you:2,your:2,yyyymmdd:2},titles:["About","Annotation resources","Getting started","Welcome to Personal Cancer Genome Reporter’s documentation!","Input & output"],titleterms:{"function":1,abber:4,about:0,all:4,among:4,annot:[1,4],associ:4,base:[0,1],basic:1,biomark:4,both:[],call:4,cancer:[0,1,2,3],clinic:[1,2,4],code:[1,4],concern:1,consequ:[1,4],copi:4,data:1,databas:[1,4],dataset:1,differ:[],dna:[],docker:[0,2],document:3,domain:1,download:2,drug:[],effect:[1,4],etc:[],exampl:[],featur:1,format:4,frequenc:[1,4],gene:[1,4],gener:2,genom:[0,1,2,3],germlin:4,get:2,hotspot:[],html:4,includ:[],indel:4,indic:[],inform:4,input:4,insilico:1,instal:2,interact:4,introduct:[],knowledg:1,list:4,map:1,marker:[],mutat:4,ncgc:[],note:1,number:4,oncovarexplor:[],other:[1,4],output:4,packag:[],pcgr:[0,2],person:[0,3],predict:1,preprocess:[],prerequisit:2,protein:[1,4],python:2,qualiti:1,report:[0,2,3,4],resourc:1,run:2,segment:4,sensit:[],separ:4,signatur:4,snv:4,somat:4,sourc:[],start:2,tab:4,tabl:[],technolog:0,test:2,tsv:4,tumor:[],type:[],use:0,util:1,valu:4,variant:[1,4],variat:[],vcf:4,vep:4,welcom:3,what:0,why:0}}) \ No newline at end of file +Search.setIndex({docnames:["about","annotation_resources","getting_started","index","output"],envversion:50,filenames:["about.rst","annotation_resources.rst","getting_started.rst","index.rst","output.rst"],objects:{},objnames:{},objtypes:{},terms:{"1000g":4,"1000genom":1,"12th":[],"140453136a":1,"14th":2,"16gb":[],"17gb":2,"17th":[],"1gb":2,"1kg":[],"2016_03":[],"2016_09":1,"2020plu":2,"28th":[],"2gb":[],"5gb":2,"5th":1,"8th":1,"abstract":1,"case":[1,2,4],"class":4,"default":2,"function":[2,3,4],"import":[0,2,4],"new":2,"public":4,"short":[1,4],CDS:4,EAS:4,For:[1,2,4],IDs:4,POS:[],SAS:4,The:[0,1,2,4],There:0,These:[],_strong:[],abber:3,aberr:[0,2,4],about:3,abov:4,accept:4,acceptor:4,access:[0,4],accompani:2,accord:[2,4],acid:4,acquir:0,across:4,action:4,actual:1,ada:[],adapt:4,add:4,adddit:4,addit:[0,4],adenoma:1,adjust:4,advanc:2,af_norm:[],af_tumor:[],affect:4,affected_spl:[],affili:0,afr:4,afr_af_1kg:4,afr_af_exac:4,afr_af_gnomad:4,african:4,after:4,aggreg:4,aid:0,algorithm:4,align:4,all:[0,1],allel:4,allele_num:4,alon:0,alreadi:[1,2],also:1,alt:4,alter:[2,4],altern:4,american:4,amino:4,amino_acid:4,among:[],amplif:2,amr:4,amr_af_1kg:4,amr_af_exac:4,amr_af_gnomad:4,analys:2,analysi:0,analyz:4,ani:[2,4],annot:[0,2,3],annotation_resourc:[],antineoplast:[1,4],antineoplastic_drug_interact:4,antineoplastic_drugs_dgidb:4,appli:4,applic:[0,4],appri:4,approv:4,approx:2,april:[1,2],argument:2,asian:4,assembl:4,assign:2,associ:2,attach:[0,4],aug:[],b147:1,base:[2,3,4],basic:[0,2,3,4],been:[0,1,2,4],below:4,benign:[],best:4,betweeen:1,bgzip:4,bind:4,biocomput:4,bioconductor:4,biologi:0,biomark:[0,1,2],biotyp:4,block:4,block_substitut:[],bm_citat:4,bm_clinical_signific:4,bm_disease_nam:4,bm_drug_nam:4,bm_evidence_direct:4,bm_evidence_level:4,bm_evidence_typ:4,bm_rate:4,bool:[],boost:4,both:[0,4],braf:1,breast:4,browser:4,build:4,bundl:[0,1,2],cadd:4,call:2,call_confid:[],caller:4,can:[0,2,4],cancer:4,cancer_census_germlin:4,cancer_census_somat:4,cancer_mutation_hotspot:4,cancer_typ:4,cancerhotspot:4,candid:4,canon:4,cap:4,caption:[],care:0,carri:4,catalog:[1,4],catalogu:1,categori:4,caus:4,causal:4,cbmdb:1,cbmdb_id:4,ccd:4,cdna:4,cdna_posit:4,cds:[],cds_chang:4,cds_end_nf:4,cds_posit:4,cds_start_nf:4,cell:4,cell_typ:4,cellular:[],cencu:1,censu:4,challeng:0,chang:[2,4],check:2,chr1:4,chr7:1,chr:4,chrom:4,chrome:4,chromosom:4,citat:[],cite:4,civic:[1,4],civic_id:4,civic_id_2:4,classif:4,clin:[],clin_sig:4,clinic:[0,3],clinvar:[1,4],clinvar_msid:4,clinvar_pmid:4,clinvar_sig:4,clinvar_variant_origin:4,cluster:4,cna:2,cna_seg:[2,4],cnminor:[],cntotal:[],cnv:[],coad:2,code:3,codon:[1,4],codon_numb:4,cohort:1,collect:1,colorect:[2,4],column:4,com:[],come:1,command:2,common:4,complet:[2,4],complex:0,composit:4,comprehens:0,compress:4,comput:2,concern:3,confer:1,confid:[],confirmed_somat:1,consensu:4,consequ:3,consid:4,consortium:[0,1,4],constitut:4,contain:[0,2,4],content:[3,4],context:0,contribut:[2,4],convent:4,coordin:4,copi:[0,2,3],correctli:4,correspond:1,cosmic:[1,4],cosmic_cancer_type_al:4,cosmic_cancer_type_gw:4,cosmic_codon_count_gw:4,cosmic_codon_frac_gw:4,cosmic_consequ:4,cosmic_count_gw:4,cosmic_drug_resist:4,cosmic_fathmm_pr:4,cosmic_mutation_id:4,cosmic_sample_sourc:4,cosmic_site_histolog:4,cosmic_vartyp:4,count:4,cover:4,cpu:2,creat:[],criteria:1,csq:4,curat:[1,4],current:4,damag:[],data:[0,2,3,4],databas:3,databundl:2,dataset:3,date:0,dbnsfp:[1,4],dbnsfp_consensus_lr:4,dbnsfp_consensus_svm:4,dbsnp:[1,4],dbsnp_mappingstatu:4,dbsnp_submiss:4,dbsnp_valid:4,dbsnpbuildid:4,dbsnprsid:4,dec:1,decompos:4,decompress:2,deconstructsig:4,dedic:[],defin:4,delet:[2,4],delin:4,denot:4,depend:0,depth:4,deriv:4,describ:4,descript:4,determin:[],develop:[0,4],dgidb:1,diagnosi:2,diagnost:[0,4],differ:[2,4],direct:[],directori:2,discov:1,diseas:4,distanc:4,distribut:4,dna:4,doc:[],docker:3,dockerhub:2,docm:1,docm_diseas:4,docm_pmid:4,document:[],domain:[3,4],done:4,donor:4,download:[],downstream:2,dp_normal:[],dp_tumor:[],drive:2,driver:[1,4],drug:[1,2,4],dure:2,each:4,eas_af_1kg:4,eas_af_exac:4,eas_af_gnomad:4,east:4,effect:[0,3],effect_predict:4,either:[1,4],emerg:4,end:4,engin:2,ensembl:[0,4],ensembl_gene_id:4,ensembl_transcript_id:4,ensp:4,entrez:4,entrez_id:4,error:2,estim:2,etc:[1,4],etiolog:[2,4],eur:4,eur_af_1kg:4,european:4,event:4,evid:[2,4],exac:[1,4],exampl:[2,4],exist:[2,4],existing_vari:4,exit:2,exom:[1,4],exon:[1,4],experi:4,experienc:4,experiment:4,expert:0,explor:4,extend:0,facet:[],factor:4,fail:2,fall:4,fals:2,famili:1,fathmm:4,fathmm_mkl:4,fda:1,featur:[3,4],feature_typ:4,feb:[],februai:1,februari:1,figur:0,file:[2,4],fin:[],fin_af_exac:4,fin_af_gnomad:4,find:[0,4],finnish:4,firefox:4,first:4,flag:[2,4],flag_pick_allel:4,flank:4,flexibl:0,focu:[],folder:2,follow:[1,2,4],forc:2,force_overwrit:2,fork:2,form:0,format:0,found:[1,2,4],four:4,frac:[],fraction:[],fraction_mut:4,frameshift:4,frequenc:3,from:[0,1,2,4],g12:1,gain:4,gencod:[1,4],gencode_tag:4,gencode_transcript_typ:4,gencode_v19:4,gene:[0,2,3],gene_biotyp:4,gene_nam:4,gene_pheno:4,gene_symbol:4,gener:[0,3,4],genet:1,genindex:[],genom:4,genome_vers:4,genomic_chang:4,genotyp:4,germlin:1,gerp:4,get:3,getting_start:[],given:4,global:4,global_af_1kg:4,global_af_exac:4,global_af_gnomad:4,gnomad:1,googl:[2,4],grch37:[1,2,4],great:0,guidelin:[1,4],gwa:4,gwas_catalog_pmid:4,gwas_catalog_trait_uri:4,gz_:[],gzip:2,handl:4,has:[0,2,4],have:[0,1,2,4],hdiv:4,help:[2,4],here:4,hgnc:[],hgnc_id:4,hgv:[1,4],hgvs_offset:4,hgvsc:4,hgvsp:4,hgvsp_short:4,high:4,high_inf_po:4,higher:[],highlight:0,histolog:[1,4],hit:4,homozyg:2,hospit:0,host:2,hotspot:[1,4],how:4,howev:1,html:[0,2,3],http:4,human:[1,4],humdiv:[],hvar:4,icgc:[1,4],icgc_project:4,identifi:[1,2,4],iii:0,imag:[0,2],impact:4,implic:4,improv:4,includ:[1,4],incomplet:4,indel:[0,2,3],index:4,indic:4,individu:[0,4],inf:[],infer:4,inferenti:4,info:4,inform:1,initi:4,input:[2,3],input_cna_seg:2,input_vcf:2,insert:4,insilico:3,instal:0,institut:0,instruct:2,integr:[0,4],intend:0,interact:[1,2,3],intern:1,interpret:[0,1,2],interrog:0,intersect:4,intogen:[1,4],intogen_driv:4,intogen_driver_mut:4,intro:[],intron:4,isoform:4,isol:0,item:[2,4],its:4,jan:4,june:[],kit:1,knowledg:[0,3],knowledgebas:1,known:[1,2,4],kra:1,lack:4,larg:[],latest:2,least:[],length:4,level:[0,1,4],librari:0,lies:4,like:[],limit:1,line:[],link:4,linux:2,list:[],literatur:[1,4],log:[2,4],logist:4,logr:4,logr_threshold_amplif:2,logr_threshold_homozygous_delet:2,lost:4,low:4,lrt:4,mac:2,machin:[2,4],maf:2,mai:[1,4],make:[],malign:1,mani:4,map:3,mappabl:4,mappingstatu:[],march:1,marker:1,master:[],match:4,matter:4,maxdepth:[],measur:4,memori:2,messag:2,met:4,minim:2,minimum:[],minor:[],missens:4,mix:4,mkdir:[],mkl:[],modifi:4,modindex:[],modul:[],most:[0,1,4],motif:4,motif_nam:4,motif_po:4,motif_score_chang:4,motiffeatur:4,mozilla:4,mrna:4,msid:[],multipl:4,must:[1,2,4],mut:[],mutat:[0,1,2],mutational_signatur:[2,4],mutationassessor:4,mutationtast:4,mutect:[],mutpr:4,mutsigcv:2,name:4,navig:0,nccn:1,ncgc:[],need:0,nfe:[],nfe_af_exac:4,nfe_af_gnomad:4,nomenclatur:1,non:[1,4],none:2,normal:4,norwegian:0,notat:4,note:[3,4],nov:4,novemb:1,novo:4,now:2,nucleotid:[2,4],num:[],num_vcfanno_process:2,num_vep_fork:2,number:[0,2,3],numer:4,observ:4,obtain:4,oct:[],offset:[],oncogen:[1,4],oncolog:[0,2],oncologist:0,oncoscor:4,one:4,onli:[0,1,4],ontolog:4,option:[2,4],order:4,org:4,organ:[2,4],origin:4,oslo:0,osx:[],oth:[],oth_af_exac:4,oth_af_gnomad:4,other:[2,3],out:4,output:[2,3],output_dir:2,overlap:[2,4],overview:[],overwrit:2,packag:[0,4],page:[],pair:4,pars:4,part:[1,4],particular:4,pass:4,pcgr:[1,3,4],pcgr_dir:2,pcgr_directori:[],pcgreport:[],percent:4,person:2,pfam:1,phase3:1,phase:4,pheno:4,phenotyp:4,phred:[],pick:4,pipelin:4,platform:2,pmid:4,point:4,polyp:1,polyphen2:4,portrai:4,pose:0,posit:[2,4],possibl:1,potenti:4,pre:4,precis:[0,2],pred:[],predict:[3,4],predictor:[0,1],predispos:4,predisposit:4,prefer:2,prefix:2,prerequisit:3,present:[0,4],primari:4,princip:4,prinicip:[],priorit:0,process:[2,4],produc:[0,2],product:4,profil:4,prognosi:2,prognost:[0,4],program:2,project:4,properli:4,proport:1,propos:4,proposed_aetiolog:4,prot:4,protein:3,protein_chang:4,protein_domain:4,protein_posit:4,provean:4,provid:4,pubm:4,pull:2,python:[],qualiti:[3,4],queri:[2,4],quickstart:[],ram:2,rang:4,rate:4,ratio:[2,4],raw:4,recommend:4,record:4,ref:[],refer:[1,4],reflect:4,refseq:4,refseq_match:4,refut:4,regress:4,regulatori:4,regulatoryfeatur:4,rel:4,relat:[0,1],releas:[1,2,4],relev:[0,2,4],replac:2,report:1,reported_in_another_cancer_sample_as_somat:1,repres:2,represent:4,requir:[0,1,2,4],research:0,resist:[2,4],resourc:[0,2,3],respect:4,restart:2,result:[0,2,4],retriev:[0,4],revel:4,rich:2,robust:4,root:[],rsid:4,run:[3,4],run_pcgr:[],safari:4,sampl:[1,2,4],sample_id:[2,4],sample_pair_identifi:[],sampleid:4,sas_af_1kg:4,sas_af_exac:4,sas_af_gnomad:4,satisfi:1,scale:4,scarciti:0,scientif:1,scientist:0,score:4,screen:4,script:2,search:[],segment:2,segment_end:4,segment_length:4,segment_mean:4,segment_start:4,sensit:[2,4],sep:[],separ:2,sequenc:[1,2,4],set:[0,2,4],sever:0,shift:4,shortest:4,should:2,show:[2,4],sift:4,sig:[],sigantur:[],signatur:2,signature_id:4,signific:[1,4],sigven:2,similarli:2,singl:4,site:[1,4],snv:[0,2,3],snvs_indel:[2,4],softwar:[0,2],somat:[0,1,2,3],sort:4,sourc:4,south:4,specif:4,sphinx:[],splice:4,splice_site_effect_ada:4,splice_site_effect_bool:[],splice_site_effect_rf:4,split:4,stabl:4,stand:0,standard:4,star:4,start:[3,4],statement:4,statist:1,statu:[1,4],step:[],stop:4,strand:4,strelka:[],strip:4,strive:4,strong:[],strongli:4,structur:4,studi:4,subject:4,submiss:4,subset:1,substitut:[],subtyp:4,support:4,suppressor:[1,4],svm:[],swiss:4,swissprot:[1,4],symbol:4,symbol_sourc:4,synonym:[1,4],systemat:0,tab:2,tabix:4,tabl:3,tag:4,take:2,taken:0,tar:2,target:4,tcga:[2,4],technolog:3,termin:2,test:[3,4],test_sampl:[],tfbp:4,tgz:2,thei:1,therapeut:[0,4],therapi:4,thi:[1,2,4],through:[0,2,4],throughput:[],thu:0,tier:[0,2,4],tier_descript:4,toctre:[],todo:[],tool:[0,2],toolbar:2,total:4,trait:4,transcript:[2,4],transcript_end:4,transcript_overlap_perc:4,transcript_start:4,transvar:1,treatment:4,trembl:4,treshold:2,trial:[1,4],trust:4,tsgene:[1,4],tsgene_oncogen:4,tsl:4,tsv:2,tumor:[0,1,2,4],tumor_sampl:2,tumor_suppressor:4,tumor_typ:4,tumorigenesi:4,two:[2,4],type:[2,4],unambigu:1,unannot:4,underli:[2,4],uniform:4,uniparc:4,uniprot:[1,4],uniprot_featur:4,uniprot_id:4,uniprotkb:4,uniqu:4,univers:0,unix:2,unpack:2,untar:2,upcom:4,upon:[],upper:4,uri:4,usag:2,use:[2,3],used:[1,2],user:4,using:[0,2,4],util:3,v15:[],v19:[1,4],v22:[],v23:1,v30:[],v31:1,v600e:1,v78:[],v80:1,v85:1,valid:4,valu:2,variabl:4,variant:[0,2,3],variant_class:4,variat:4,variou:4,vartyp:[],vcf:2,vcf_sample_id:4,vcfanno:[0,2],vcfbreakmulti:4,vcflib:4,vcftool:4,vector:4,vep:[0,1,2],vep_all_consequ:4,veri:2,version:[2,4],view:4,virtual:2,weak:[],weak_mutect:[],weak_strelka:[],weight:4,what:3,whenev:1,where:4,whether:4,which:[0,1,2,4],why:3,wide:[1,4],window:2,within:[1,2,4],work:4,workflow:[0,2,4],working_directori:[],wtsi:4,xvf:2,you:2,your:2,yyyymmdd:2},titles:["About","Annotation resources","Getting started","Welcome to Personal Cancer Genome Reporter’s documentation!","Input & output"],titleterms:{"function":1,abber:4,about:0,all:4,among:4,annot:[1,4],associ:4,base:[0,1],basic:1,biomark:4,both:[],call:4,cancer:[0,1,2,3],clinic:[1,2,4],code:[1,4],concern:1,consequ:[1,4],copi:4,data:1,databas:[1,4],dataset:1,differ:[],dna:[],docker:[0,2],document:3,domain:1,download:2,drug:[],effect:[1,4],etc:[],exampl:[],featur:1,format:4,frequenc:[1,4],gene:[1,4],gener:2,genom:[0,1,2,3],germlin:4,get:2,hotspot:[],html:4,includ:[],indel:4,indic:[],inform:4,input:4,insilico:1,instal:2,interact:4,introduct:[],knowledg:1,list:4,map:1,marker:[],mutat:4,ncgc:[],note:1,number:4,oncovarexplor:[],other:[1,4],output:4,packag:[],pcgr:[0,2],person:[0,3],predict:1,preprocess:[],prerequisit:2,protein:[1,4],python:2,qualiti:1,report:[0,2,3,4],resourc:1,run:2,segment:4,sensit:[],separ:4,signatur:4,snv:4,somat:4,sourc:[],start:2,tab:4,tabl:[],technolog:0,test:2,tsv:4,tumor:[],type:[],use:0,util:1,valu:4,variant:[1,4],variat:[],vcf:4,vep:4,welcom:3,what:0,why:0}}) \ No newline at end of file diff --git a/docs/getting_started.md b/docs/getting_started.md index 9399eae5..3e800218 100644 --- a/docs/getting_started.md +++ b/docs/getting_started.md @@ -23,18 +23,18 @@ An installation of Python (version 2.7.13) is required to run PCGR. Check that P #### Download PCGR -__April 12th 2017__: New release (v0.3) +__April 14th 2017__: New release (0.3.1) -* Download and unpack the [latest release (v0.3)](https://github.com/sigven/pcgr/releases/latest) +* Download and unpack the [latest release (0.3.1)](https://github.com/sigven/pcgr/releases/latest) * Download and unpack the data bundle (approx. 17Gb) in the PCGR directory - * Download [the latest data bundle](https://drive.google.com/file/d/0B8aYD2TJ472mQjZOMmg4djZfT1k/) from Google Drive to `~/pcgr-X.X` (replace _X.X_ with the version number, e.g. `~/pcgr-0.3`) + * Download [the latest data bundle](https://drive.google.com/file/d/0B8aYD2TJ472mQjZOMmg4djZfT1k/) from Google Drive to `~/pcgr-X.X` (replace _X.X_ with the version number, e.g. `~/pcgr-0.3.1`) * Decompress and untar the bundle, e.g. through the following Unix command: `gzip -dc pcgr.databundle.GRCh37.YYYYMMDD.tgz | tar xvf -` A _data/_ folder within the _pcgr-X.X_ software folder should now have been produced -* Pull the [PCGR Docker image - v0.3](https://hub.docker.com/r/sigven/pcgr/) from DockerHub (3.1Gb) : - * `docker pull sigven/pcgr:0.3` (PCGR annotation engine) +* Pull the [PCGR Docker image - 0.3.1](https://hub.docker.com/r/sigven/pcgr/) from DockerHub (3.1Gb) : + * `docker pull sigven/pcgr:0.3.1` (PCGR annotation engine) ### Run test - generation of clinical report for a cancer genome @@ -90,7 +90,7 @@ A tumor sample report is generated by calling the Python script __pcgr.py__, whi The _examples_ folder contain input files from two tumor samples sequenced within TCGA. A report for a colorectal tumor case can be generated by running the following command in your terminal window: `python pcgr.py --input_vcf examples/tumor_sample.COAD.vcf.gz --input_cna_segments ` -`examples/tumor_sample.COAD.cna.tsv ~/pcgr-0.3 ~/pcgr-0.3/examples tumor_sample.COAD` +`examples/tumor_sample.COAD.cna.tsv ~/pcgr-0.3.1 ~/pcgr-0.3.1/examples tumor_sample.COAD` This command will run the Docker-based PCGR workflow and produce the following output files in the _examples_ folder: diff --git a/docs/getting_started.rst b/docs/getting_started.rst index 4faca462..35ddf1c0 100644 --- a/docs/getting_started.rst +++ b/docs/getting_started.rst @@ -42,10 +42,10 @@ terminal window. Download PCGR ^^^^^^^^^^^^^ -**April 12th 2017**: New release (v0.3) +**April 14th 2017**: New release (0.3.1) - Download and unpack the `latest release - (v0.3) `__ + (0.3.1) `__ - Download and unpack the data bundle (approx. 17Gb) in the PCGR directory @@ -53,7 +53,7 @@ Download PCGR - Download `the latest data bundle `__ from Google Drive to ``~/pcgr-X.X`` (replace *X.X* with the - version number, e.g. ``~/pcgr-0.3``) + version number, e.g. ``~/pcgr-0.3.1``) - Decompress and untar the bundle, e.g. through the following Unix command: ``gzip -dc pcgr.databundle.GRCh37.YYYYMMDD.tgz | tar xvf -`` @@ -62,10 +62,10 @@ Download PCGR have been produced - Pull the `PCGR Docker image - - v0.3 `__ from DockerHub + 0.3.1 `__ from DockerHub (3.1Gb) : - - ``docker pull sigven/pcgr:0.3`` (PCGR annotation engine) + - ``docker pull sigven/pcgr:0.3.1`` (PCGR annotation engine) Run test - generation of clinical report for a cancer genome ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -125,7 +125,7 @@ sequenced within TCGA. A report for a colorectal tumor case can be generated by running the following command in your terminal window: ``python pcgr.py --input_vcf examples/tumor_sample.COAD.vcf.gz --input_cna_segments`` -``examples/tumor_sample.COAD.cna.tsv ~/pcgr-0.3 ~/pcgr-0.3/examples tumor_sample.COAD`` +``examples/tumor_sample.COAD.cna.tsv ~/pcgr-0.3.1 ~/pcgr-0.3.1/examples tumor_sample.COAD`` This command will run the Docker-based PCGR workflow and produce the following output files in the *examples* folder: diff --git a/pcgr.py b/pcgr.py index 6e7ad23d..7b1167e7 100755 --- a/pcgr.py +++ b/pcgr.py @@ -18,12 +18,12 @@ def __main__(): parser.add_argument('--num_vcfanno_processes', dest = "num_vcfanno_processes", default=4, type=int, help='Number of processes used during vcfanno annotation') parser.add_argument('--num_vep_forks', dest = "num_vep_forks", default=4, type=int, help='Number of forks (--forks option in VEP) used during VEP annotation') parser.add_argument('--force_overwrite', action = "store_true", help='By default, the script will fail with an error if any output file already exists. You can force the overwrite of existing result files by using this flag') - parser.add_argument('--version', action='version', version='%(prog)s 0.3') - parser.add_argument('pcgr_dir',help='PCGR base directory with accompanying data directory, e.g. ~/pcgr-0.3') + parser.add_argument('--version', action='version', version='%(prog)s 0.3.1') + parser.add_argument('pcgr_dir',help='PCGR base directory with accompanying data directory, e.g. ~/pcgr-0.3.1') parser.add_argument('output_dir',help='Output directory') parser.add_argument('sample_id',help="Tumor sample/cancer genome identifier - prefix for output files") - docker_image_version = 'sigven/pcgr:0.3' + docker_image_version = 'sigven/pcgr:0.3.1' args = parser.parse_args() overwrite = 0 diff --git a/src/Dockerfile b/src/Dockerfile index 601812a5..abcf74e5 100755 --- a/src/Dockerfile +++ b/src/Dockerfile @@ -15,7 +15,7 @@ ENV PACKAGE_BIO="tabix samtools libhts1 bedtools" ENV PACKAGE_DEV="perl debconf-utils build-essential gfortran python-dev python-pip gcc-multilib autoconf zlib1g-dev git libncurses5-dev libblas-dev liblapack-dev cpanminus libcurl4-gnutls-dev libssh2-1-dev libxml2-dev vim libssl-dev openssl libcairo2-dev" ENV PYTHON_MODULES="numpy cython scipy transvar bx-python pyvcf cyvcf cyvcf2 biopython crossmap pandas" -ENV R_BASE_VERSION 3.3.2 +ENV R_BASE_VERSION 3.3.3 USER root WORKDIR / diff --git a/src/R/pcgrr2/R/utils.R b/src/R/pcgrr2/R/utils.R index 6fee795c..1291b1e8 100644 --- a/src/R/pcgrr2/R/utils.R +++ b/src/R/pcgrr2/R/utils.R @@ -311,8 +311,8 @@ cna_segment_annotation <- function(cna_file, logR_threshold_amplification, logR_ names(civic_cna_biomarkers) <- toupper(names(civic_cna_biomarkers)) civic_cna_biomarkers <- dplyr::rename(civic_cna_biomarkers, GENE = GENESYMBOL, CNA_TYPE = CIVIC_CONSEQUENCE, DESCRIPTION = EVIDENCE_DESCRIPTION, CITATION = PUBMED_HTML_LINK) - cna_biomarkers <- NULL - cna_biomarker_segments <- NULL + cna_biomarkers <- data.frame() + cna_biomarker_segments <- data.frame() if(!is.null(tsgene_homozygous_deletion)){ if(nrow(tsgene_homozygous_deletion) > 0){ civic_biomarker_hits1 <- dplyr::inner_join(tsgene_homozygous_deletion, civic_cna_biomarkers, by=c("GENE","CNA_TYPE")) @@ -327,9 +327,11 @@ cna_segment_annotation <- function(cna_file, logR_threshold_amplification, logR_ } if(!is.null(cna_biomarkers)){ - cna_biomarkers <- cna_biomarkers[c("CHROMOSOME","GENE","CNA_TYPE","EVIDENCE_LEVEL","CLINICAL_SIGNIFICANCE","EVIDENCE_TYPE","DESCRIPTION","DISEASE_NAME","EVIDENCE_DIRECTION","DRUG_NAMES","CITATION","RATING","GENE_NAME","CANCER_CENSUS_SOMATIC","KEGG_PATHWAY","ANTINEOPLASTIC_DRUG_INTERACTIONS","SEGMENT_LENGTH", "SEGMENT","LogR")] - cna_biomarkers <- cna_biomarkers %>% dplyr::arrange(EVIDENCE_LEVEL,RATING) - cna_biomarker_segments <- dplyr::select(cna_biomarkers, SEGMENT, LogR) %>% dplyr::distinct() + if(nrow(cna_biomarkers) > 0){ + cna_biomarkers <- cna_biomarkers[c("CHROMOSOME","GENE","CNA_TYPE","EVIDENCE_LEVEL","CLINICAL_SIGNIFICANCE","EVIDENCE_TYPE","DESCRIPTION","DISEASE_NAME","EVIDENCE_DIRECTION","DRUG_NAMES","CITATION","RATING","GENE_NAME","CANCER_CENSUS_SOMATIC","KEGG_PATHWAY","ANTINEOPLASTIC_DRUG_INTERACTIONS","SEGMENT_LENGTH", "SEGMENT","LogR")] + cna_biomarkers <- cna_biomarkers %>% dplyr::arrange(EVIDENCE_LEVEL,RATING) + cna_biomarker_segments <- dplyr::select(cna_biomarkers, SEGMENT, LogR) %>% dplyr::distinct() + } } cna_data <- list(ranked_segments = cna_segments_filtered, oncogene_amplified = oncogene_amplified, tsgene_homozygous_deletion = tsgene_homozygous_deletion,cna_df_for_print = df_print_sorted, cna_biomarkers = cna_biomarkers, cna_biomarker_segments = cna_biomarker_segments) diff --git a/src/R/pcgrr2_0.1.0.tar.gz b/src/R/pcgrr2_0.1.0.tar.gz index e7a20197a5fb61562347e2d778713b441e2b09b3..e14a4d291cb29ed830c7594a94151f038d4fe872 100644 GIT binary patch delta 18459 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