Bio.Graphics.BasicChromosome 模組
繪製帶有附加資訊的生物體染色體表示圖。
這些類別旨在模擬染色體圖片的繪製。這對於很多事情都很有用,包括在染色體上顯示標記(例如,用於基因作圖)以及顯示兩個染色體之間的同線性。
這些類別的結構旨在作為一個組合,以便輕鬆插入和切換不同的部分,而不會破壞系統的一般繪圖功能。類別之間的關係是,所有內容都源自 _ChromosomeComponent,它指定了整體介面。然後,各部分相關聯,以便生物體包含染色體,而這些染色體包含染色體片段。此表示形式與典型的組合結構不同,因為我們在這裡沒有真正的「葉」節點——所有組件都可能包含子組件。
在大多數情況下,ChromosomeSegment 類別是您想要自訂以用於特定繪圖任務的類別。
為了提供繪圖功能,這些類別使用 reportlab
這提供了 PDF、SVG 和 postscript 的良好輸出。如果您安裝了 reportlab 的 renderPM 模組,您也可以使用 PNG 等格式。
- class Bio.Graphics.BasicChromosome.Organism(output_format='pdf')
基礎:
_ChromosomeComponent
用於繪製染色體的頂層類別。
此類別保留有關生物體及其所有染色體的資訊,並提供可用於繪製生物體染色體表示圖的頂層物件。
應透過 add 和 remove 函數將染色體新增和移除生物體。
- __init__(output_format='pdf')
初始化類別。
- draw(output_file, title)
繪製生物體的資訊。
- 引數
output_file – 指定應儲存文件位置的檔案名稱,或要寫入的控制代碼。輸出格式是在建立 Organism 物件時設定的。或者,output_file=None 將使用低階 ReportLab 物件傳回繪圖(用於進一步處理,例如在寫入之前新增額外圖形)。
title – 產生文件的輸出標題。
- class Bio.Graphics.BasicChromosome.Chromosome(chromosome_name)
基礎:
_ChromosomeComponent
用於繪製生物體染色體的類別。
這會組織單一生物體染色體的繪圖。可以直接實例化此類別,但 draw 方法在生物體的上下文中呼叫最有意義。
- __init__(chromosome_name)
初始化要繪製的染色體。
- 引數
chromosome_name - 染色體的標籤。
- 屬性
start_x_position、end_x_position - 頁面上繪製染色體時的 x 位置。這允許在單一頁面上繪製多個染色體。
start_y_position、end_y_position - 頁面上應包含染色體的 y 位置。
- 設定屬性
title_size - 染色體標題的大小。
scale_num - 用於縮放繪圖的數字。如果您想以相同的比例繪製多個不同大小的染色體,這會很有用。如果未設定此值,則染色體繪圖將根據染色體中的片段數量進行縮放(因此每個染色體的最終大小都完全相同)。
- subcomponent_size()
傳回此組件所有子組件的縮放大小。
- draw(cur_drawing)
在指定的範本上繪製染色體。
理想情況下,應在繪製之前設定 x_position 和 y_*_position 屬性——否則我們將會遇到一些問題。
- class Bio.Graphics.BasicChromosome.ChromosomeSegment
基礎:
_ChromosomeComponent
繪製染色體的片段。
此類別提供繪製染色體的重要可設定功能。每個片段都可以在此處進行一些自訂,或可以子類化以定義其他功能。大多數有趣的繪圖內容可能會在 ChromosomeSegment 層級發生。
- __init__()
初始化 ChromosomeSegment。
- 屬性
start_x_position、end_x_position - 定義我們必須繪圖的 x 範圍。
start_y_position、end_y_position - 定義我們必須繪圖的 y 範圍。
- 設定屬性
scale - 組件的縮放值。預設情況下,此值設定為 1(即 - 與其他所有項目具有相同的比例)。較高的值會給予組件更多的大小,較小的值會給予較少。
fill_color - 用於填滿片段的顏色。顏色可在 reportlab.lib.colors 中取得
label - 要放置在染色體片段上的標籤。這應該是一個文字字串,指定要在標籤中包含的內容。
label_size - 標籤的大小。
chr_percent - 染色體片段佔用的面積百分比。
- draw(cur_drawing)
繪製染色體片段。
在繪圖之前,需要設定我們正在繪圖的範圍。
- class Bio.Graphics.BasicChromosome.AnnotatedChromosomeSegment(bp_length, features, default_feature_color=colors.blue, name_qualifiers=('gene', 'label', 'name', 'locus_tag', 'product'))
-
帶註釋的染色體片段。
這類似於 ChromosomeSegment,但接受特徵清單。
- __init__(bp_length, features, default_feature_color=colors.blue, name_qualifiers=('gene', 'label', 'name', 'locus_tag', 'product'))
初始化。
特徵可以是 SeqFeature 物件,或數值的元組:start (int)、end (int)、strand (+1、-1、O 或 None)、label (string)、ReportLab 顏色 (string 或物件) 和可選的 ReportLab 填滿顏色。
請注意,我們要求 0 <= start <= end <= bp_length,並且在此區段分配的垂直空間內,線條將根據起始/結束座標放置(從頂部開始)。
正向鏈的特徵繪製在右側,負向鏈的特徵繪製在左側,否則會橫跨整個區域。
我們建議所有區段的比例值使用一致的單位(例如,它們以鹼基對為單位的長度)。
當以 SeqFeature 物件提供特徵時,將使用預設顏色,除非特徵的修飾符包含 Artemis 顏色字串(此功能也存在於 GenomeDiagram 中)。標題也遵循 GenomeDiagram 的方法,並從 name_qualifiers 中指定的列表或元組中獲取第一個修飾符。
請注意,額外的屬性 label_sep_percent 控制染色體區段佔用的區域百分比,預設為 chr_percent 屬性的一半(25% 的一半,即 12.5%)。
- class Bio.Graphics.BasicChromosome.TelomereSegment(inverted=0)
-
位於線性染色體末端的區段。
這就像一個常規區段,但它會繪製一個以半圓表示的染色體末端。這只是覆蓋了 ChromosomeSegment 的 _draw_segment 類別,以提供這種特殊的繪製方式。
- __init__(inverted=0)
初始化染色體末端的區段。
有關可以在端粒區段中自訂的所有屬性,請參閱 ChromosomeSegment。
- 引數
inverted – 端粒是否應該反轉(即繪製在染色體的底部)。