Skip to content

Commit

Permalink
Merge pull request #13 from holtgrewe/feature/config-arg
Browse files Browse the repository at this point in the history
Users can now specify the config INI file

Thanks for getting to this. I've been extremely busy over the past weeks.
  • Loading branch information
dantaki authored Jun 11, 2018
2 parents f0d4a86 + a9bdf60 commit adc8a64
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 6 deletions.
7 changes: 5 additions & 2 deletions sv2/sv2.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
-b, -bed ... bed files(s) of SVs
-snv ... snv vcf files(s), must be bgzipped and tabixed
-p, -ped ... ped files(s)
-ini ... configuration INI file (the default one lives in the sv2 package)
genotype arguments: github.com/dantaki/SV2/wiki/Options#genotype-arguments
Expand Down Expand Up @@ -84,6 +85,7 @@ def main():
inArgs.add_argument('-v','-vcf',type=str,default=None,nargs='*')
inArgs.add_argument('-snv',type=str,default=None,nargs='*')
inArgs.add_argument('-p','-ped',type=str,default=None,nargs='*')
genoArgs.add_argument('-ini',required=False,default=None,type=str)
genoArgs.add_argument('-g','-genome',required=False,default='hg19',type=str)
genoArgs.add_argument('-pcrfree',required=False,default=False,action="store_true")
genoArgs.add_argument('-M',default=False,required=False,action="store_true")
Expand All @@ -105,7 +107,7 @@ def main():
optArgs.add_argument('-O','-odir',required=False,default=os.getcwd(),type=str)
optArgs.add_argument('-h','-help',required=False,action="store_true",default=False)
args = parser.parse_args()
bams,bed,vcf,snv,ped = args.i,args.b,args.v,args.snv,args.p
bams,bed,vcf,snv,ped,ini = args.i,args.b,args.v,args.snv,args.p,args.ini
gen,pcrfree,legacy_m,merge_flag,min_ovr,anno_flag= args.g,args.pcrfree,args.M,args.merge,args.min_ovr,args.no_anno
predir,featsdir = args.pre,args.feats
clfLoad, classifier_name = args.load_clf,args.clf
Expand All @@ -124,6 +126,7 @@ def main():
olog = logfh
if olog == None: olog = 'STDOUT'
print 'sv2 version:{} report bugs to <dantaki at ucsd dot edu> error messages located in {}'.format(__version__,olog)
Config.ini=ini
Confs=Config()
if clfLoad!=None:
Confs.load_clf(clfLoad)
Expand Down Expand Up @@ -236,4 +239,4 @@ def main():
output(SV,SVs,Peds,ids,gen,outdir+ofh,anno_flag,tmp_dir)
shutil.rmtree(tmp_dir)
if logfh!=None: lfh.close()
report_time(init_time,'GENOTYPING COMPLETE')
report_time(init_time,'GENOTYPING COMPLETE')
10 changes: 8 additions & 2 deletions sv2/sv2Config.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,10 @@
__resource_url__ = 'https://github.com/dantaki/SV2/releases/download/sv2v1.4.0/sv2_resources.zip'
class Config():
def __init__(self):
self.fh=get_path()+'/config/sv2.ini'
if Config.ini:
self.fh = Config.ini
else:
self.fh=get_path()+'/config/sv2.ini'
self.json=get_path()+'/config/sv2_clf.json'
self.fasta_chr_flag=False
self.clfs=None
Expand Down Expand Up @@ -180,4 +183,7 @@ def write_config(self,hg19=None,hg38=None,mm10=None):
conf.set('FASTA_PATHS','mm10',mm10)
if self.resource != None:
conf.set('RESOURCE_DIR','sv2_resource',self.resource)
with open(self.fh,'w') as conf_fh: conf.write(conf_fh)
with open(self.fh,'w') as conf_fh: conf.write(conf_fh)

# Path to INI file, if any.
Config.ini = None
7 changes: 5 additions & 2 deletions sv2/sv2_train.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
-b, -bed ... bed files(s) of SVs
-snv ... snv vcf files(s), must be bgzipped and tabixed
-p, -ped ... ped files(s)
-ini ... path to configuration INI file, default lives in sv2 package
genotype arguments: github.com/dantaki/SV2/wiki/Options#genotype-arguments
Expand Down Expand Up @@ -67,6 +68,7 @@ def main():
inArgs.add_argument('-v','-vcf',type=str,default=None,nargs='*')
inArgs.add_argument('-snv',type=str,default=None,nargs='*')
inArgs.add_argument('-p','-ped',type=str,default=None,nargs='*')
inArgs.add_argument('-ini',type=str,default=None)
genoArgs.add_argument('-g','-genome',required=False,default='hg19',type=str)
genoArgs.add_argument('-pcrfree',required=False,default=False,action="store_true")
genoArgs.add_argument('-M',default=False,required=False,action="store_true")
Expand All @@ -79,7 +81,7 @@ def main():
optArgs.add_argument('-O','-odir',required=False,default=os.getcwd(),type=str)
optArgs.add_argument('-h','-help',required=False,action="store_true",default=False)
args = parser.parse_args()
bams,bed,vcf,snv,ped = args.i,args.b,args.v,args.snv,args.p
bams,bed,vcf,snv,ped,ini = args.i,args.b,args.v,args.snv,args.p,args.ini
gen,pcrfree,legacy_m,predir,featsdir= args.g,args.pcrfree,args.M,args.pre,args.feats
logfh, tmp_dir, seed, ofh, odir = args.L,args.T,args.s,args.o,args.O
_help = args.h
Expand All @@ -94,6 +96,7 @@ def main():
olog = logfh
if olog == None: olog = 'STDOUT'
print 'sv2 version:{} report bugs to <dantaki at ucsd dot edu> error messages located in {}'.format(__version__,olog)
Config.ini=ini
Confs=Config()
if bams==None and predir==None and featsdir==None:
print 'FATAL ERROR: No BAM file specified <-i, -bam FILE ...>'
Expand Down Expand Up @@ -183,4 +186,4 @@ def main():
sv2_train_output(feats,Peds,gen,train_dir+ofh)
shutil.rmtree(tmp_dir)
lfh.close()
report_time(init_time,'FEATURE EXTRACTION COMPLETE')
report_time(init_time,'FEATURE EXTRACTION COMPLETE')

0 comments on commit adc8a64

Please sign in to comment.