Hi all, I am attempting to convert hg38 gtf file into a nested array so I can do binary search with it. I am trying to make the nested array based on position in which the first array is each chromosome sorted:
chromosomes = []
for i in range(1, 23):
chromosomes.append(i)
the second array would be strand (+, -)
strands = ['+', '-']
for i in range(0,len(chromosomes)):
chromosomes[i] = strands
the third array would be start, end positions
and the final array would be a list of attributes such as transcript_id and gene_id.
I am not sure the best way to iterate through the gtf file that I loaded to append my current array of arrays. I have this so far, but I am not sure if it is working or just taking a long time for the size:
for i in range(0, len(chromosomes)):
for index, row in sorted_df.iterrows():
if (str(i) == row['chr']) & (chromosomes[i][0] == row['strand']):
positions = []
positions.append(row['start'], row['end'])
chromosomes[i][0] = positions
positions.clear()
Is this the right way of thinking about this problem or is there a better way to approach it? Any help would be appreciated.