Mis a jour le 2025-04-14, 12:10

DNA feature viewer

C'est une librairie pour tracer des cartes de features sur l'ADN, en se servant de matplotlib.
Utilisation :
  • from dna_features_viewer import GraphicFeature, GraphicRecord
    features = [GraphicFeature(start = 1, end = 10, strand = 1, color = 'red', label = 'myFeature1'),    
                GraphicFeature(start = 20, end = 30, strand = -1, color = 'blue', label = 'myFeature2')]
    record = GraphicRecord(sequence_length = 30, features = features, plots_indexing = 'genbank')
    ax, _ = record.plot()
    pyplot.savefig('myImage.png')
    pyplot.close()
        
  • attention, utiliser plots_indexing = 'genbank' pour avoir des positions qui commencent à 1, et end est la position + 1
Paramètres de GraphicFeature :
  • on peut faire strand = 0 pour ne pas orienter la feature.
  • thickness = 20 : l'épaisseur de la boite de la feature.
  • linewidth = 4 : l'épaisseur des traits de la boite de la feature.
  • linecolor = 'violet' : la couleur des traits de la boite de la feature.
  • box_color = 'yellow' : la couleur de fond de la boite contenant le label quand il ne tient pas dans la feature.
  • box_linewidth = 2 : l'épaisseur du trait de la boite contenant le label quand il ne tient pas dans la feature.
  • fontdict = {'fontsize': 15, 'weight': 'bold', color = 'green'} : permet de modifier les caractéristiques du label
Paramètres de GraphicRecord :
  • sequence_length = 30 : la longueur de la séquence.
  • first_index = 123456 : la première valeur de position à tracer (utile si les features sont localisées sur une petite région d'une grande séquence).
  • plots_indexing = 'genbank' : commence la numérotation à 1 plutôt qu'à 0 avec le défaut plots_indexing = 'biopython'
  • feature_level_height = 2 : règle l'écartement en hauteur entre les features et entre les labels
  • ticks_resolution = 10 : tous les combien il faut indiquer les graduations de positions.
  • sequence = 'ACGATCGACGTATGATGCTAGGATGATTAC' : la séquence (si on veut l'afficher, voir plot ci-dessous).
  • feature_level_height = 1.5 : permet d'augmenter la hauteur des features (1 par défaut).
record.plot :
  • ax = myAxis : pour donner le axis sur lequel le graphe est tracé (sinon, un nouvel axis est crée et c'est le premier argument renvoyé par record.plot : myAxis, _ = record.plot().
  • figure_width = 8 : la largeur de la figure, si nouvellement crée.
  • figure_height = 4 : la hauteur de la figure, si nouvellement crée.
  • plot_sequence = True : indique la séquence en-dessous.
record.plot_on_multiple_lines(n_lines = 2, ...) : permet de tracer les features sur plusieurs lignes.
record.plot_translation(ax, location = (1, 9), translation = 'TID') : permet de faire figure la traduction en-dessous de la séquence.
On peut aussi utiliser CircularGraphicRecord à la place de GraphicRecord pour faire des cartes circulaires, mais toutes les options ne sont possibles (par exemple, pas de séquence).

Copyright python-simple.com
programmer en python, tutoriel python, graphes en python, Aymeric Duclert