Open BenjaDuran opened 4 years ago
There is no such functionality, but you can install DNA Features Viewer in editable form. After downloading, go to the folder and install with:
pip install -e .
then you can edit the plotting function locally: add a parameter in the text definition after line 256 in MatplotlibPlottableMixin.py. The section now looks like this:
text = ax.text(
x,
y,
label,
horizontalalignment="center",
verticalalignment="center",
bbox=bbox,
fontdict=fontdict,
zorder=2,
style='italic', # added line
)
Alternatively, you can set or change plotting parameters:
import matplotlib.pyplot as plt
plt.rcParams["font.style"] = "italic"
Finally, you can also save the plot in a vector graphics format (svg) and use an image editor (Inkscape) to change the text.
The font.style='italic'
is part of the fontdict, which you can customize separately for each feature in DNA Features Viewer. I don't know the use case here but something like this should work:
from dna_features_viewer import BiopythonTranslator
class MyCustomTranslator(BiopythonTranslator):
def compute_feature_fontdict(self, feature):
return {'style': 'italic'} if (feature.type == "CDS") else {}
graphic_record = MyCustomTranslator().translate_record("example_sequence.gb")
ax, _ = graphic_record.plot(figure_width=10)
If you want only part of your label to be italic, then it may be more complicated but you could try Matplotlib's Latex rendering feature
I have tried a lot of stuff, the code keeps crashing