def get_structures(shape_out, dot, start, end, species, tx, validate, title, savefn): out_dict = read_icshape_out(shape_out, pureID=0) dot_dict = read_dots(dot) fa_dict = read_fa(fa=None, species=species, pureID=0) # shape_null_index = read_validate(validate=validate, start=start, end=end) VARNA = "/Users/gongjing/Downloads/VARNAv3-93-src.jar" shape = out_dict[tx]['reactivity_ls'][start:end] dot = dot_dict[tx]['dotbracket'][start:end] seq = fa_dict[tx][start:end] shape = ['-1' if i == 'NULL' else '1' for i in shape] shape_null_index = [[n + 1, n + 1] for n, i in enumerate(shape) if i == '-1'] visual_cmd = Visual.Plot_RNAStructure_Shape( seq, dot, shape, mode='heatmap', title=title, VARNAProg=VARNA, highlight_region=shape_null_index, correctT=True) visual_cmd = visual_cmd.replace('outline=#FFFFFF', 'outline=#000000').replace( 'fill=00FF00', 'fill=#E6E6E6') # #000000,#9E9E9E visual_cmd += ' -o {}'.format(savefn) print(visual_cmd)
ShapeFn = "test_shape.out" shape = General.load_shape(ShapeFn, rem_tVersion=False, min_RPKM=None) dotFn = "test_structure.dot" dot = General.load_dot(dotFn, rem_tVersion=False)[] seqFn = "test_seq.fasta" fasta = General.load_fasta(seqFn, rem_tVersion=False) sequence = fasta['ENST00000558492.1'] dotBracket = dot['ENST00000558492.1'][1] shape_list = shape['ENST00000558492.1'] ##################### # Plot_RNAStructure_Shape(sequence, dot, shape_list, mode='label', correctT=True, highlight_region=[], title="", wait=True, VARNAProg=VARNAProg) ##################### print Visual.Plot_RNAStructure_Shape(sequence, dotBracket, shape_list, mode='fill') print Visual.Plot_RNAStructure_Shape(sequence, dotBracket, shape_list, mode='label') print Visual.Plot_RNAStructure_Shape(sequence, dotBracket, shape_list, mode='heatmap') ##################### # Plot_RNAStructure_Base(sequence, dot, mode='fill', correctT=True, highlight_region=[], title="", wait=True, VARNAProg=VARNAProg) ##################### print Visual.Plot_RNAStructure_Base(sequence, dotBracket, mode='fill') print Visual.Plot_RNAStructure_Base(sequence, dotBracket, mode='label') ##################### # Plot_RNAStructure_highlight(sequence, dot, hg_base_list=[], mode='fill', correctT=True, highlight_region=[], title="", wait=True, VARNAProg=VARNAProg): ##################### print Visual.Plot_RNAStructure_highlight(sequence, dotBracket, hg_base_list=range(20,90), mode='fill')
color = "#12c634" else: color = "#ed0c0c" highlight_region.append([bp[0] - start + 1, bp[0] - start + 1, color]) highlight_region.append([bp[1] - start + 1, bp[1] - start + 1, color]) subbpprob = [(d[0] - start + 1, d[1] - start + 1, d[2]) for d in bpprob if start <= d[0] < d[1] <= end] title = f"{start}-{end}" cmd = Visual.Plot_RNAStructure_Shape(sequence[start - 1:end], dot[start - 1:end], shape[start - 1:end], mode='fill', highlight_region=highlight_region, bpprob=subbpprob, bpprob_mode='both', title=title, bpwarning=False, period=100, first_base_pos=start, peroid_color='#ff5722') #cmd = manual_period(cmd, end-start+1, start, 100) print(cmd, file=OUT) start = end + 1 i += 1 OUT.close() #################### ### Frame-Shift Element ####################
shape_list=shape3, si=-0.4, sm=1.5, md=300, return_pfs=True) maxexpect_dot3 = Structure.maxExpect(input_pfs_file=pfs3, delete_pfs=True)[0] clean_dot3 = SARS2.remove_lowporb_bp(prob3, maxexpect_dot3, minprob=0.6, minDist=150) bp_prob3 = SARS2.collect_bpprob(prob3, clean_dot3) auc3 = General.calc_AUC_v2(clean_dot3, shape3) cmd3 = Visual.Plot_RNAStructure_Shape(seq3, clean_dot3, shape3, mode='label', bpprob=bp_prob3, bpprob_cutofflist=[0.6, 0.8, 0.95], bpprob_mode='both', title=f"5UTR AUC={auc5:.3}") prob5, pfs5 = Structure.partition(seq5, shape_list=shape5, si=-0.4, sm=1.5, md=300, return_pfs=True) maxexpect_dot5 = Structure.maxExpect(input_pfs_file=pfs5, delete_pfs=True)[0] clean_dot5 = SARS2.remove_lowporb_bp(prob5, maxexpect_dot5, minprob=0.6, minDist=150)