INNER CODE UNIT · Python
granges_arr
hillerlab/TOGA · CESAR_wrapper.py:604
granges_arr = (ctypes.c_char_p * (granges_num + 1))() # granges_num + 1
granges_bytes = [gene_range.encode("utf-8")]
# need to do this tricks to pass strings array to C
granges_arr[:-1] = granges_bytes
granges_arr[granges_num] = None
raw_ch_conv_s2 = ch_lib.chain_coords_converter(
c_chain, c_shift_2, c_granges_num, granges_arr
)
chain_coords_conv_out_s2 = [] # keep lines here
# convert C output to python-readable type
for i in range(granges_num + 1):
chain_coords_conv_out_s2.append(raw_ch_conv_s2[i].decode("utf-8"))
# chain', 'chr5', '+', '137889395', '148245211', 'chr18', '+', '34409342', '44120958
chain_data = chain_coords_conv_out_s2[0].split(" ")
t_strand = True if chain_data[2] == "+" else False
q_strand = True if chain_data[7] == "+" else False
t_size = int(chain_data[3])
q_size = int(chain_data[8])