INNER CODE UNIT · Python

ordered_common_names

MariaNattestad/assemblytics · assemblytics/dotplot.py:28

    ordered_common_names = [str(i) for i in range(1, 101)] + \
                           [f"chr{i}" for i in range(1, 101)] + \
                           [f"Chr{i}" for i in range(1, 101)] + \
                           ["X", "Y", "M", "MT", "Chr0", "chr0", "0"]
    
    unique_refs = coords['ref'].unique()
    all_refs_ordered = [r for r in ordered_common_names if r in unique_refs] + \
                       [r for r in unique_refs if r not in ordered_common_names]
    
    coords['ref'] = pd.Categorical(coords['ref'], categories=all_refs_ordered, ordered=True)
    coords = coords.sort_values('ref')

    # Get chromosome lengths and calculate offsets
    chr_lengths = coords.groupby('ref', observed=False)['ref_length'].max().reindex(all_refs_ordered).fillna(0)
    chr_offsets = chr_lengths.cumsum().shift(1).fillna(0)

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

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…