def excuteCreat(projdir,processes,samples):
    structure_model = directory_structure.projdirectory(projdir,directory_structure.directory)
    filtered_modelbyProcesses = final_path(structure_model,processes)
    real_structure = creatDirect(filtered_modelbyProcesses,samples)
    for adirname in real_structure:
        for aprocess in real_structure[adirname]:
            creatDir(real_structure[adirname][aprocess])
            print '\t'.join([adirname,aprocess,real_structure[adirname][aprocess]])
                            dirs[dirname][aprocess] = re.sub(p,dirname,pathes[aprocess])

    return dirs

def excuteCreat(projdir,processes,samples):
    structure_model = directory_structure.projdirectory(projdir,directory_structure.directory)
    filtered_modelbyProcesses = final_path(structure_model,processes)
    real_structure = creatDirect(filtered_modelbyProcesses,samples)
    for adirname in real_structure:
        for aprocess in real_structure[adirname]:
            creatDir(real_structure[adirname][aprocess])
            print '\t'.join([adirname,aprocess,real_structure[adirname][aprocess]])

def write_shell(shell_file,cmds):
    with open(shell_file,'w') as sh:
        sh.write('\n'.join(cmds)+'\n')

if __name__ == "__main__":
    p = directory_structure.projdirectory('d',directory_structure.directory)
    for k in p:
        print '\t'.join([k,p[k]])
    print '#################################################################'
    pp = final_path(p,['rawdata','cleandata','aln','somaticsnv','snv','somaticsv','somaticmsi'])
    for k in pp:
        print '\t'.join([k,pp[k]])
    print '#################################################################'
    dirs = creatDirect(pp,{'PA172':{'T':{'PA172TQ1':{}},'N':{'PA172NB1':{}}},'PA173':{'N':{'PA173NB1':{}}}})
    for k in dirs:
        for m in dirs[k]:
            print '\t'.join([k,m,dirs[k][m]])
Example #3
0
            for asample in datas[aperson][TorN]:
                for alib in datas[aperson][TorN][asample]:
                    for lane in datas[aperson][TorN][asample][alib]:
                        if datas[aperson][TorN][asample][alib][lane]['rawdata'] != '-':
                            if '.raw.fq.gz' not in infiles:
                                infiles['.raw.fq.gz'] = [datas[aperson][TorN][asample][alib][lane]['rawdata'].split(',')]
                            else:
                                infiles['.raw.fq.gz'].append(datas[aperson][TorN][asample][alib][lane]['rawdata'].split(','))
                        elif datas[aperson][TorN][asample][alib][lane]['cleandata'] != '-':
                            if '.clean.fq.gz' not in infiles:
                                infiles['.clean.fq.gz'] = [datas[aperson][TorN][asample][alib][lane]['cleandata'].split(',')]
                            else:
                                infiles['.clean.fq.gz'].append(datas[aperson][TorN][asample][alib][lane]['cleandata'].split(','))

    ##make dirs, and check the completeness of result files that were exsited
    p = projdirectory(projdir,directory)
    # for k in p:
    #     print '\t'.join([k,p[k]])
    # print '#################################################################'
    processes = set([wanted_jobs[ajob]['outputdir'] for ajob in wanted_jobs])
    pp = final_path(p,processes)
    # for k in pp:
    #     print '\t'.join([k,pp[k]])
    # print '#################################################################'
    dirs = creatDirect(pp,samples)
    # for k in dirs:
    #     for m in dirs[k]:
    #         print '\t'.join([k,m,dirs[k][m]])

    #寻找需要更新的bam文件和需要添加到datas中的bam文件,如以前下机的T,现在下机了N,可以做后面的somatic检测了,那就需要添加
    #需要更新的bam文件是指加测新lane