INNER CODE UNIT · Python

get_ref_loc

MariaNattestad/assemblytics · assemblytics/dotplot.py:44

    def get_ref_loc(chrom, pos):
        return chr_offsets[chrom] + pos

    coords['ref_loc_start'] = coords.apply(lambda row: get_ref_loc(row['ref'], row['ref_start']), axis=1)
    coords['ref_loc_stop'] = coords.apply(lambda row: get_ref_loc(row['ref'], row['ref_end']), axis=1)

    # Calculate alignment length for query ordering
    coords['alignment_length'] = abs(coords['query_start'] - coords['query_end'])

    # Pick longest alignment for each query to decide query ordering
    longest_alignments = coords.loc[coords.groupby('query')['alignment_length'].idxmax()]
    ordered_queries = longest_alignments.sort_values('ref_loc_start')['query'].tolist()

    # Get query lengths and calculate offsets
    query_lengths = coords.groupby('query')['query_length'].max().reindex(ordered_queries).fillna(0)
    query_offsets = query_lengths.cumsum().shift(1).fillna(0)

    def get_query_loc(query, pos):

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…