Beispiel #1
0
def main():
    argc = len(sys.argv)
    argv = sys.argv
    if argc == 1:
        print "Usage:  bin-seq.py  input-sequences  bin-results-filename"
        return

    # load default settings
    pre.default_settings()
    
    pre.seqs_file = argv[1]
    pre.bin_file = argv[2]
    bindistri_file = pre.bin_file + 'distri'
    
    if len(pre.seqs_file) == 0:
        print 'The sequence file is not defined.'
        return
    if not os.path.exists(pre.seqs_file):
        print 'The sequence file %s is not correctly defined.' % pre.seqs_file
        return
    
    print '  Input sequence file:', pre.seqs_file

    print_section_title('Sequence Binning')
    print '  Sequence binning model:', pre.binmodel
    print '  Taxonomy map file:', pre.taxonomy
    cmd = '%s -m %s -s %s -t %s -b %s -d %s' % \
          (pre.bin_seqs, pre.binmodel, pre.seqs_file, pre.taxonomy, pre.bin_file, bindistri_file)
    call(cmd, shell = True, stdout = PIPE)
    print '  Binning result file:', pre.bin_file
    return
Beispiel #2
0
def program_prepair():
	# define program used in this script
	programs = pre.default_settings()
	global svmscale, svmtrain
	global subset_py, grid_py, is_win32
	is_win32 = (sys.platform == 'win32')

	svmscale = pre.svm_scale
	svmtrain = pre.svm_train
	subset_py = pre.subset_py
	grid_py = pre.grid_py
Beispiel #3
0
def main():
    argc = len(sys.argv)
    argv = sys.argv
    if argc == 1:
        print "Usage:  domain-search.py  input-sequences  search-results-filename"
        return

    # load default settings
    pre.default_settings()
    pre.seqs_file = argv[1]
    pre.hit_file = argv[2]
    
    if len(pre.seqs_file) == 0:
        print 'The sequence file is not defined.'
        return
    if not os.path.exists(pre.seqs_file):
        print 'The sequence file %s is not correctly defined.' % pre.seqs_file
        return

    print_section_title('Novel predict')

    print '  Blast searches against known database:', pre.blast_db
    alc_file = pre.seqs_file + '.alc'
    csqa_file = pre.seqs_file + '.csqa'
    pre.project_name = pre.seqs_file
    pre.hit_file = argv[2]
    
    cmd = '%s -p -n %s -a -s %s' % (pre.get_data, pre.project_name, pre.seqs_file)
    call(cmd, shell = True, stdout = PIPE)
    cmd = '%s -n %s -s %s -c %s -q 1' % (pre.get_data, pre.project_name, pre.seqs_file, alc_file)
    call(cmd, shell = True, stdout = PIPE)
    cmd = '%s -i %s -d %s -m 8 -v 1 -b 1 -e 1 -o %s' % (pre.rpsblast, csqa_file, pre.blast_db, pre.hit_file)
    call(cmd, shell = True, stdout = PIPE)
    rm_files([alc_file, csqa_file])
    print '  Blast search results save in:', pre.hit_file
    return           
Beispiel #4
0
def main():
    argc = len(sys.argv)
    argv = sys.argv
    if argc == 1:
        print parse_command.__doc__
        return
    if command_line_parser(argv, '-h', '--help', False)[0]:
        print detail_help.__doc__
        return

    # load default settings
    pre.default_settings()
    
    # parse settings from command line
    parse_command(argv)
    
    if len(pre.seqs_file) == 0:
        print 'The sequence file is not defined.'
        return
    if not os.path.exists(pre.seqs_file):
        print 'The sequence file %s is not correctly defined.' % pre.seqs_file
        return

    print_section_title('Start MetaGUN Prediction')
    print '  Input sequence file:', pre.seqs_file
    print '  Project name:', pre.project_name

    print_section_title('Sequence Binning')                         
    if pre.exists_bin_file == False:
        pre.bin_file = pre.project_name + '.bin'
        bindistri_file = pre.project_name + '.bindistri'
        print '  Sequence binning model:', pre.binmodel
        print '  Taxonomy map file:', pre.taxonomy
        cmd = '%s -m %s -s %s -t %s -b %s -d %s' % \
              (pre.bin_seqs, pre.binmodel, pre.seqs_file, pre.taxonomy, pre.bin_file, bindistri_file)
        call(cmd, shell = True, stdout = PIPE)
        print '  Binning result file:', pre.bin_file
    else:
        print '  Use given binning result:', pre.bin_file
        
    uni_pred_file = pre.project_name + '.uni-pred'
    novel_pred_file = pre.project_name + '.novel-pred'
    
    if pre.run_uni_pred:
        uni_pred(uni_pred_file)
    if pre.run_novel_pred:
        novel_pred(novel_pred_file)

    metagun_file = pre.project_name + '.metagun'
    if pre.run_uni_pred and pre.run_novel_pred:
        cmd = '%s -a %s -b %s --a+b -o %s' % (pre.metalocs_operate, novel_pred_file, uni_pred_file, metagun_file)
        call(cmd, shell=True, stdout=PIPE)
        rm_files([uni_pred_file, novel_pred_file])
    elif pre.run_uni_pred and not pre.run_novel_pred:
        os.rename(uni_pred_file, metagun_file)
    elif not pre.run_uni_pred and pre.run_novel_pred:
        os.rename(novel_pred_file, metagun_file)
    if not pre.run_metatisa:
        print_section_title('MetaGUN Prediction Over')
        print '  Final predictions output', metagun_file
        return
    
    print_section_title('TIS Refinement')
    metatisa_file = metagun_file + '.metatisa'
    cmd = '%s -s %s -l %s -b %s -p %s -f MED -o %s -c %s -w %i' % \
          (pre.metatisa, pre.seqs_file, metagun_file, pre.bin_file, pre.tismodel, metatisa_file, pre.metatisa_settings, is_win)
    call(cmd, shell=True, stdout=PIPE)
    if os.path.exists(metagun_file):
        os.remove(metagun_file)
    os.rename(metatisa_file, metagun_file)
    print_section_title('MetaGUN Prediction Over')
    print '  Final predictions output', metagun_file
    return