In [1]:
%run ~/relmapping/annot/notebooks/annot__init__.ipynb
In [2]:
df_regl = df_regl_()
In [3]:
def name_(annot_fwd, annot_rev, locus_id_fwd, locus_id_rev, enhancer_locus_id):
if (annot_fwd in config['annot_with_gene_id']) and not(annot_rev in config['annot_with_gene_id']):
return locus_id_fwd
elif not(annot_fwd in config['annot_with_gene_id']) and (annot_rev in config['annot_with_gene_id']):
return locus_id_rev
elif (annot_fwd in config['annot_with_gene_id']) and (annot_rev in config['annot_with_gene_id']):
return '%s / %s' % (locus_id_rev, locus_id_fwd)
elif enhancer_locus_id != '.': # show "likeliest target gene for an enhancer" in brackets for all remaining (=not coding_promoter or non_coding_promoter)
return '(%s)' % (enhancer_locus_id,)
else:
return ''
df_regl['label'] = list(map(name_,
df_regl['annot_fwd'], df_regl['annot_rev'],
df_regl['promoter_locus_id_fwd'], df_regl['promoter_locus_id_rev'],
df_regl['associated_locus_id']
))
In [4]:
# Table S2 -- unstranded summary annotation
d_annot_strand_legend = collections.OrderedDict([
('coding_promoter', yp.RED),
('pseudogene_promoter', yp.ORANGE),
('non-coding_RNA', yp.BLACK),
('unknown_promoter', yp.YELLOW),
('transcription_initiation', yp.GREEN),
('no_transcription', yp.BLUE),
])
d_annot_legend = collections.OrderedDict([
('coding_promoter', yp.RED),
('pseudogene_promoter', yp.ORANGE),
('non-coding_RNA', yp.BLACK),
('unknown_promoter', yp.YELLOW),
('putative_enhancer', yp.GREEN),
('other_element', yp.BLUE),
])
write_gffbed('annot_eLife_revised/reg_elements_ce10_split_fwd.bed',
chrom = df_regl['chrom'],
start = df_regl['pos'],
end = df_regl['end'],
name = '',
strand = '.',#df_regl['strand'],
itemRgb = list(map(lambda annot: d_annot_strand_legend[annot], df_regl['annot_fwd'])),
attr = df_regl[['annot', 'annot_fwd', 'annot_detailed_fwd']],
trackline = None,
)
write_gffbed('annot_eLife_revised/reg_elements_ce10_split_rev.bed',
chrom = df_regl['chrom'],
start = df_regl['start'],
end = df_regl['end'],
name = df_regl['label'],
strand = '.',#df_regl['strand'],
itemRgb = list(map(lambda annot: d_annot_strand_legend[annot], df_regl['annot_rev'])),
attr = df_regl[['annot', 'annot_rev', 'annot_detailed_rev']],
trackline = None,
)
!cat annot_eLife_revised/reg_elements_ce10_split_fwd.bed annot_eLife_revised/reg_elements_ce10_split_rev.bed \
| sort -k1,1 -k2,2n - > annot_eLife_revised/reg_elements_eLife_revised_ce10_twocolour.bed
!sed -i '1i#track gffTags=on' annot_eLife_revised/reg_elements_eLife_revised_ce10_twocolour.bed
!rm annot_eLife_revised/reg_elements_ce10_split_fwd.bed annot_eLife_revised/reg_elements_ce10_split_rev.bed