基因組作圖軟件GenomeDiagram_第1頁(yè)
基因組作圖軟件GenomeDiagram_第2頁(yè)
基因組作圖軟件GenomeDiagram_第3頁(yè)
基因組作圖軟件GenomeDiagram_第4頁(yè)
基因組作圖軟件GenomeDiagram_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第17章 Graphics模塊中的基因組可視化包GenomeDiagramBio.Graphics模塊基于Python的第三方擴(kuò)展庫(kù)ReportLab,ReportLab主要生成PDF文件,同時(shí)也能生成EPS(Encapsulated Postscript)文件和SVG文件。ReportLa可以導(dǎo)出矢量圖,如果安裝依賴關(guān)系(Dependencies),比如PIL(Python Imaging Library),ReportLab也可以導(dǎo)出JPEG, PNG, GIF, BMP和PICT格式的位圖(Bitmap image)。17.1 基因組可視化包GenomeDiagram17.1.1 Gen

2、omeDiagram簡(jiǎn)介Bio.Graphics.GenomeDiagram包被整合到Biopython 1.50版之前,就已經(jīng)是Biopython的獨(dú)立模塊。GenomeDiagram包首次出現(xiàn)在2006年P(guān)ritchard等人在Bioinformatics雜志的一篇文章 :ref:2 ,文中展示了一些圖像示例,更多圖像示例請(qǐng)查看GenomeDiagram手冊(cè)/DIST/docs/GenomeDiagram/userguide.pdf。正如“GenomeDiagram”名稱所指,它主要用于可視化全基因組(特別是原核生物基因組),即可繪制線型圖也可繪制環(huán)形

3、圖,Toth等人在2006年發(fā)表的文章 :ref:3 中圖2就是一個(gè)示例。Van der Auwera 等人在2009年發(fā)表的文章 :ref:4 中圖1和圖2也進(jìn)一步說(shuō)明,GenomeDiagram適用于噬菌體、質(zhì)粒和線粒體等微小基因組的可視化。如果存儲(chǔ)基因組信息的是從GenBank文件中下載的SeqRecord話,它會(huì)包含許多SeqFeature,那么用這個(gè)模塊處理就很簡(jiǎn)單(詳見 第:ref:4 章和第:ref:5 章)。17.1.2 圖形,軌跡, 特征集和特征GenomeDiagram使用一組嵌套的對(duì)象,圖層中沿著水平軸或圓圈的圖形對(duì)象(diagram object)表示一個(gè)序列(sequ

4、ence)或序列區(qū)域(sequence region)。一個(gè)圖形可以包含多個(gè)軌跡(track),呈現(xiàn)為橫向排列或者環(huán)形放射圖。這些軌跡的長(zhǎng)度通常相等,代表相同的序列區(qū)域。可用一個(gè)軌跡表示基因的位置,另一個(gè)軌跡表示調(diào)節(jié)區(qū)域,第三個(gè)軌跡表示GC含量??蓪⒆畛S密壽E的特征打包為一個(gè)特征集(feature-sets)。CDS的特征可以用一個(gè)特征集,而tRNA的特征可以用另外一個(gè)特征集。這不是強(qiáng)制性的要求,你可以在diagram中用同樣的特征集。如果diagram中用不同的特征集,修改一個(gè)特征會(huì)很容易,比如把所有tRNA的特征都變?yōu)榧t色,你只需選擇tRNA的特征就行。新建圖形主要有兩種方式。第一種是自上

5、而下的方法(Top-Down),首先新建diagram對(duì)象,然后用diagram的方法來(lái)添加track(s),最后用track的方法添加特征。第二種是自下而上的方法(Bottom-Up),首先單獨(dú)新建對(duì)象,然后再將其進(jìn)行組合。17.1.3 自上而下的實(shí)例我們用一個(gè)從GenBank文件中讀取出來(lái)的SeqRecord來(lái)繪制全基因組(詳見第:ref:5 章)。這里用鼠疫桿菌Yersinia pestis biovar Microtus的pPCP1質(zhì)粒,元數(shù)據(jù)文件NC_.gb在Biopython中GenBank的tests目錄下,NC_.gb也可下載from reportlab.lib import

6、colorsfrom reportlab.lib.units import cmfrom Bio.Graphics import GenomeDiagramfrom Bio import SeqIOrecord = SeqIO.read(NC_.gb, genbank)這里用自上而下的方法,導(dǎo)入目標(biāo)序列后,新建一個(gè)diagram,然后新建一個(gè)track,最后新建一個(gè)特征集(feature set):gd_diagram = GenomeDiagram.Diagram(Yersinia pestis biovar Microtus plasmid pPCP1)gd_track_for_featu

7、res = gd_diagram.new_track(1, name=Annotated Features)gd_feature_set = gd_track_for_features.new_set()接下來(lái)的部分最有趣,提取SeqRecord中每個(gè)基因的SeqFeature對(duì)象,就會(huì)為diagram生成一個(gè)相應(yīng)的特征(feature),將其顏色設(shè)置為藍(lán)色,分別用深藍(lán)和淺藍(lán)表示。for feature in record.features: if feature.type != gene: #Exclude this feature continue if len(gd_feature_se

8、t) % 2 = 0: color = colors.blue else: color = colors.lightblue gd_feature_set.add_feature(feature, color=color, label=True)創(chuàng)建導(dǎo)出文件需要兩步,首先是draw方法,它用ReportLab對(duì)象生成全部圖形。然后是write方法,將圖形存儲(chǔ)到格式文件。注意:輸出文件格式不止一種。gd_diagram.draw(format=linear, orientation=landscape, pagesize=A4, fragments=4, start=0, end=len(rec

9、ord)gd_diagram.write(plasmid_linear.pdf, PDF)gd_diagram.write(plasmid_linear.eps, EPS)gd_diagram.write(plasmid_linear.svg, SVG)如果安裝了依賴關(guān)系(Dependencies),也可以生成位圖(Bitmap image),代碼如下:gd_diagram.write(plasmid_linear.png, PNG)注意,我們將代碼中的fragments變量設(shè)置為“4”,基因組就會(huì)被分為“4”個(gè)片段。如果想要環(huán)形圖,可以試試以下的代碼:gd_diagram.draw(form

10、at=circular, circular=True, pagesize=(20*cm,20*cm), start=0, end=len(record), circle_core=0.7)gd_diagram.write(plasmid_circular.pdf, PDF)示例圖不是非常精彩,但這僅僅是精彩的開始。17.1.4 自下而上的實(shí)例現(xiàn)在,用“自下而上”的方法來(lái)創(chuàng)建相同的圖形。首先新建不同的對(duì)象(可以是任何順序),然后將其組合。from reportlab.lib import colorsfrom reportlab.lib.units import cmfrom Bio.Graph

11、ics import GenomeDiagramfrom Bio import SeqIOrecord = SeqIO.read(NC_.gb, genbank)#Create the feature set and its feature objects,gd_feature_set = GenomeDiagram.FeatureSet()for feature in record.features: if feature.type != gene: #Exclude this feature continue if len(gd_feature_set) % 2 = 0: color =

12、colors.blue else: color = colors.lightblue gd_feature_set.add_feature(feature, color=color, label=True)#(this for loop is the same as in the previous example)#Create a track, and a diagramgd_track_for_features = GenomeDiagram.Track(name=Annotated Features)gd_diagram = GenomeDiagram.Diagram(Yersinia

13、pestis biovar Microtus plasmid pPCP1)#Now have to glue the bits together.gd_track_for_features.add_set(gd_feature_set)gd_diagram.add_track(gd_track_for_features, 1)同樣,利用draw和write方法來(lái)創(chuàng)建線形圖或者環(huán)形圖,結(jié)果應(yīng)該完全相同(“draw”和“write”部分的代碼見17.1.3)。17.1.5 簡(jiǎn)單的Feature以上示例中,創(chuàng)建diagram使用的SeqRecord的SeqFeature對(duì)象( 詳見:ref:4.3

14、章節(jié))。如果你不需要SeqFeature對(duì)象,只將目標(biāo)feature定位在坐標(biāo)軸,僅需要?jiǎng)?chuàng)建minimalSeqFeature對(duì)象,方法很簡(jiǎn)單,代碼如下:from Bio.SeqFeature import SeqFeature, FeatureLocationmy_seq_feature = SeqFeature(FeatureLocation(50,100),strand=+1)對(duì)于序列來(lái)說(shuō),+1代表正向,-1代表反向,None代表兩者都有,下面舉個(gè)簡(jiǎn)單的示例:from Bio.SeqFeature import SeqFeature, FeatureLocationfrom Bio.Gr

15、aphics import GenomeDiagramfrom reportlab.lib.units import cmgdd = GenomeDiagram.Diagram(Test Diagram)gdt_features = gdd.new_track(1, greytrack=False)gds_features = gdt_features.new_set()#Add three features to show the strand options,feature = SeqFeature(FeatureLocation(25, 125), strand=+1)gds_featu

16、res.add_feature(feature, name=Forward, label=True)feature = SeqFeature(FeatureLocation(150, 250), strand=None)gds_features.add_feature(feature, name=Strandless, label=True)feature = SeqFeature(FeatureLocation(275, 375), strand=-1)gds_features.add_feature(feature, name=Reverse, label=True)gdd.draw(fo

17、rmat=linear, pagesize=(15*cm,4*cm), fragments=1, start=0, end=400)gdd.write(GD_labels_default.pdf, pdf)圖形示例結(jié)果請(qǐng)見下一節(jié)圖中的第一個(gè)圖,缺省的feature為淺綠色。注意,這里用name參數(shù)作為feature的“說(shuō)明文本”(caption text)。下文將會(huì)講述更多細(xì)節(jié)。17.1.6 Feature說(shuō)明下面代碼中,feature作為SeqFeature的對(duì)象添加到diagram。gd_feature_set.add_feature(feature, color=color, label

18、=True)前面的示例用SeqFeature的注釋為feature做了恰當(dāng)?shù)奈淖终f(shuō)明。SeqFeature對(duì)象的限定符(qualifiers dictionary)缺省值是:gene,label,name,locus_tag, 和product。簡(jiǎn)單地說(shuō),你可以定義一個(gè)名稱:gd_feature_set.add_feature(feature, color=color, label=True, name=My Gene)每個(gè)feature標(biāo)簽的說(shuō)明文本可以設(shè)置字體、位置和方向。說(shuō)明文本默認(rèn)的位置在圖形符號(hào)(sigil)的左邊,可選擇在中間或者右邊,線形圖中文本的默認(rèn)方向是45旋轉(zhuǎn)。#Large

19、 font, parallel with the trackgd_feature_set.add_feature(feature, label=True, color=green, label_size=25, label_angle=0)#Very small font, perpendicular to the track (towards it)gd_feature_set.add_feature(feature, label=True, color=purple, label_position=end, label_size=4, label_angle=90)#Small font,

20、 perpendicular to the track (away from it)gd_feature_set.add_feature(feature, label=True, color=blue, label_position=middle, label_size=6, label_angle=-90)用前面示例的代碼將這三個(gè)片段組合之后應(yīng)該可以得到如下的結(jié)果:除此之外,還可以設(shè)置“l(fā)abel_color”來(lái)調(diào)節(jié)標(biāo)簽的顏色(第:ref:17.1.9 節(jié)也將用到這一步),這里沒(méi)有進(jìn)行演示。示例中默認(rèn)的字體很小,這是比較明智的,因?yàn)橥ǔN覀儠?huì)把許多Feature同時(shí)展示,而不像這里只展示了幾

21、個(gè)比較大的feature。17.1.7 表示Feature的圖形符號(hào)以上示例中Feature的圖形符號(hào)(sigil)默認(rèn)是一個(gè)方框(plain box),GenomeDiagram第一版中只有這一選項(xiàng),后來(lái)GenomeDiagram被整合到Biopython1.50時(shí),新增了箭頭狀的圖形符號(hào)(sigil)。#Default uses a BOX sigilgd_feature_set.add_feature(feature)#You can make this explicit:gd_feature_set.add_feature(feature, sigil=BOX)#Or opt for

22、an arrow:gd_feature_set.add_feature(feature, sigil=ARROW)Biopython 1.61又新增3個(gè)圖形形狀(sigil)。#Box with corners cut off (making it an octagon)gd_feature_set.add_feature(feature, sigil=OCTO)#Box with jagged edges (useful for showing breaks in contains)gd_feature_set.add_feature(feature, sigil=JAGGY)#Arrow

23、which spans the axis with strand used only for directiongd_feature_set.add_feature(feature, sigil=BIGARROW)下面就是這些新增的圖形形狀(sigil),多數(shù)的圖形形狀都在邊界框(bounding box)內(nèi)部,在坐標(biāo)軸的上/下位置代表序列(Strand)方向的正/反向,或者上下跨越坐標(biāo)軸,高度是其他圖形形狀的兩倍。“BIGARROW”有所不同,它總是跨越坐標(biāo)軸,方向由feature的序列決定。17.1.8 箭頭形狀上一部分我們簡(jiǎn)單引出了箭頭形狀。還有兩個(gè)選項(xiàng)可以對(duì)箭頭形狀進(jìn)行設(shè)置:首先根據(jù)邊

24、界框的高度比例來(lái)設(shè)置箭桿寬度。#Full height shafts, giving pointed boxes:gd_feature_set.add_feature(feature, sigil=ARROW, color=brown, arrowshaft_height=1.0)#Or, thin shafts:gd_feature_set.add_feature(feature, sigil=ARROW, color=teal, arrowshaft_height=0.2)#Or, very thin shafts:gd_feature_set.add_feature(feature, s

25、igil=ARROW, color=darkgreen, arrowshaft_height=0.1)結(jié)果見下圖:其次,根據(jù)邊界框的高度比例設(shè)置箭頭長(zhǎng)度(默認(rèn)為0.5或50%):#Short arrow heads:gd_feature_set.add_feature(feature, sigil=ARROW, color=blue, arrowhead_length=0.25)#Or, longer arrow heads:gd_feature_set.add_feature(feature, sigil=ARROW, color=orange, arrowhead_length=1)#Or

26、, very very long arrow heads (i.e. all head, no shaft, so triangles):gd_feature_set.add_feature(feature, sigil=ARROW, color=red, arrowhead_length=10000)結(jié)果見下圖:Biopython1.61新增BIGARROW箭頭形狀,它經(jīng)常跨越坐標(biāo)軸,箭頭指向”左邊“代表”反向“,指向”右邊“代表”正向“。#A large arrow straddling the axis:gd_feature_set.add_feature(feature, sigil=

27、BIGARROW)上述ARROW形狀中的箭桿和箭頭設(shè)置選項(xiàng)都適用于BIGARROW。17.1.9 完美示例回到”自上而下的示例 Section:ref:17.1.3 中鼠疫桿菌Yersinia pestis biovar Microtus的pPCP1質(zhì)粒,現(xiàn)在使用”圖形符號(hào)“的高級(jí)選項(xiàng)。箭頭表示基因,窄框穿越箭頭表示限制性內(nèi)切酶的切割位點(diǎn)。from reportlab.lib import colorsfrom reportlab.lib.units import cmfrom Bio.Graphics import GenomeDiagramfrom Bio import SeqIOfrom

28、 Bio.SeqFeature import SeqFeature, FeatureLocationrecord = SeqIO.read(NC_.gb, genbank)gd_diagram = GenomeDiagram.Diagram(record.id)gd_track_for_features = gd_diagram.new_track(1, name=Annotated Features)gd_feature_set = gd_track_for_features.new_set()for feature in record.features: if feature.type !

29、= gene: #Exclude this feature continue if len(gd_feature_set) % 2 = 0: color = colors.blue else: color = colors.lightblue gd_feature_set.add_feature(feature, sigil=ARROW, color=color, label=True, label_size = 14, label_angle=0)#I want to include some strandless features, so for an example#will use E

30、coRI recognition sites etc.for site, name, color in (GAATTC,EcoRI,colors.green), (CCCGGG,SmaI,colors.orange), (AAGCTT,HindIII,colors.red), (GGATCC,BamHI,colors.purple): index = 0 while True: index = record.seq.find(site, start=index) if index = -1 : break feature = SeqFeature(FeatureLocation(index,

31、index+len(site) gd_feature_set.add_feature(feature, color=color, name=name, label=True, label_size = 10, label_color=color) index += len(site)gd_diagram.draw(format=linear, pagesize=A4, fragments=4, start=0, end=len(record)gd_diagram.write(plasmid_linear_nice.pdf, PDF)gd_diagram.write(plasmid_linear

32、_nice.eps, EPS)gd_diagram.write(plasmid_linear_nice.svg, SVG)gd_diagram.draw(format=circular, circular=True, pagesize=(20*cm,20*cm), start=0, end=len(record), circle_core = 0.5)gd_diagram.write(plasmid_circular_nice.pdf, PDF)gd_diagram.write(plasmid_circular_nice.eps, EPS)gd_diagram.write(plasmid_ci

33、rcular_nice.svg, SVG)輸出結(jié)果見下圖:17.1.10 多重軌跡前面實(shí)例中都是單獨(dú)的track,我們可以創(chuàng)建多個(gè)track,比如,一個(gè)track展示基因,另一個(gè)track展示重復(fù)序列。Proux等人2002年報(bào)道的文章 5 中圖6是一個(gè)很好的范例,下面我們將三個(gè)噬菌體基因組依次進(jìn)行展示。首先需要三個(gè)噬菌體的GenBank文件。 NC_ Lactococcus phage Tuc2009, 全基因組大小 (38347 bp) AF Bacteriophage bIL285, 全基因組大小(35538 bp) NC_Listeria innocuaClip11262,我們將僅關(guān)注

34、前噬菌體5的全基因組 (長(zhǎng)度大體相同).這三個(gè)文件可以從Entrez下載,詳情請(qǐng)查閱:ref:9.6 。從三個(gè)噬菌體基因組文件中分離(slice)提取相關(guān)Features信息(請(qǐng)查閱:ref:4.6 ),保證前兩個(gè)噬菌體的反向互補(bǔ)鏈與其起始點(diǎn)對(duì)齊,再次保存Feature(詳情請(qǐng)查閱:ref:4.8 )。from Bio import SeqIOA_rec = SeqIO.read(NC_.gbk, gb)B_rec = SeqIO.read(AF.gbk, gb)C_rec = SeqIO.read(NC_.gbk, gb):.reverse_complement(name=True)圖像中用

35、不同顏色表示基因功能的差異。這需要編輯GenBank文件中每一個(gè)feature的顏色參數(shù)就像用Sangers Artemis editor處理 才能被GenomeDiagram識(shí)別。但是,這里只需要硬編碼(hard code)三個(gè)顏色列表。上述GenBank文件中的注釋信息與Proux所用的文件信息并不完全相同,他們還添加了一些未注釋的基因。from reportlab.lib.colors import red, grey, orange, green, brown, blue, lightblue, purpleA_colors = red*5 + grey*7 + orange*2 +

36、grey*2 + orange + grey*11 + green*4 + grey + green*2 + grey, green + brown*5 + blue*4 + lightblue*5 + grey, lightblue + purple*2 + greyB_colors = red*6 + grey*8 + orange*2 + grey + orange + grey*21 + green*5 + grey + brown*4 + blue*3 + lightblue*3 + grey*5 + purple*2C_colors = grey*30 + green*5 + br

37、own*4 + blue*2 + grey, blue + lightblue*2 + grey*5接下來(lái)是“draw”方法,給diagram添加3個(gè)track。我們?cè)谑纠性O(shè)置不同的開始/結(jié)束值來(lái)體現(xiàn)它們之間長(zhǎng)度不等(Biopython 1.59及更高級(jí)的版本)。from Bio.Graphics import GenomeDiagramname = Proux Fig 6gd_diagram = GenomeDiagram.Diagram(name)max_len = 0for record, gene_colors in zip(A_rec, B_rec, C_rec, A_colors

38、, B_colors, C_colors): max_len = max(max_len, len(record) gd_track_for_features = gd_diagram.new_track(1, name=, greytrack=True, start=0, end=len(record) gd_feature_set = gd_track_for_features.new_set() i = 0 for feature in record.features: if feature.type != gene: #Exclude this feature c

39、ontinue gd_feature_set.add_feature(feature, sigil=ARROW, color=gene_colorsi, label=True, name = str(i+1), label_position=start, label_size = 6, label_angle=0) i+=1gd_diagram.draw(format=linear, pagesize=A4, fragments=1, start=0, end=max_len)gd_diagram.write(name + .pdf, PDF)gd_diagram.write(name + .

40、eps, EPS)gd_diagram.write(name + .svg, SVG)結(jié)果如圖所示:在示例圖中底部的噬菌體沒(méi)有紅色或橙色的基因標(biāo)記。另外,三個(gè)噬菌體可視化圖的長(zhǎng)度不同,這是因?yàn)樗鼈兊谋壤嗤?,長(zhǎng)度卻不同。另外有一點(diǎn)不同,不同噬菌體的同源蛋白質(zhì)之間用有顏色的links相連,下一部分將解決這個(gè)問(wèn)題。17.1.11 不同Track之間的Cross-LinksBiopython 1.59新增繪制不同track之間Cross-Links的功能,這個(gè)功能可用于將要展示的簡(jiǎn)單線形圖中,也可用于將線形圖分割為短片段(fragments)和環(huán)形圖。我們接著模仿Proux等人 :ref:5 的圖像

41、,我們需要一個(gè)包含基因之間的“cross links”、“得分”或“顏色”的列表。 實(shí)際應(yīng)用中,可以從BLAST文件自動(dòng)提取這些信息,這里是手動(dòng)輸入的。噬菌體的名稱同樣表示為A,B和C。這里將要展示的是A與B之間的links,噬菌體A和B基因的相似百分比存儲(chǔ)在元組中。#Tuc2009 (NC_) vs bIL285 (AF)A_vs_B = (99, Tuc2009_01, int), (33, Tuc2009_03, orf4), (94, Tuc2009_05, orf6), (100,Tuc2009_06, orf7), (97, Tuc2009_07, orf8), (98, Tuc2

42、009_08, orf9), (98, Tuc2009_09, orf10), (100,Tuc2009_10, orf12), (100,Tuc2009_11, orf13), (94, Tuc2009_12, orf14), (87, Tuc2009_13, orf15), (94, Tuc2009_14, orf16), (94, Tuc2009_15, orf17), (88, Tuc2009_17, rusA), (91, Tuc2009_18, orf20), (93, Tuc2009_19, orf22), (71, Tuc2009_20, orf23), (51, Tuc200

43、9_22, orf27), (97, Tuc2009_23, orf28), (88, Tuc2009_24, orf29), (26, Tuc2009_26, orf38), (19, Tuc2009_46, orf52), (77, Tuc2009_48, orf54), (91, Tuc2009_49, orf55), (95, Tuc2009_52, orf60),對(duì)噬菌體B和C做同樣的處理:#bIL285 (AF) vs Listeria innocua prophage 5 (in NC_)B_vs_C = (42, orf39, lin2581), (31, orf40, lin

44、2580), (49, orf41, lin2579), #terL (54, orf42, lin2578), #portal (55, orf43, lin2577), #protease (33, orf44, lin2576), #mhp (51, orf46, lin2575), (33, orf47, lin2574), (40, orf48, lin2573), (25, orf49, lin2572), (50, orf50, lin2571), (48, orf51, lin2570), (24, orf52, lin2568), (30, orf53, lin2567),

45、(28, orf54, lin2566),噬菌體A和C的標(biāo)識(shí)符(Identifiers)是基因座標(biāo)簽(locus tags),噬菌體B沒(méi)有基因座標(biāo)簽,這里用基因名稱來(lái)代替。以下的輔助函數(shù)可用基因座標(biāo)簽或基因名稱來(lái)尋找Feature。def get_feature(features, id, tags=locus_tag, gene): Search list of SeqFeature objects for an identifier under the given tags. for f in features: for key in tags: #tag may not be prese

46、nt in this feature for x in f.qualifiers.get(key, ): if x = id: return f raise KeyError(id)現(xiàn)在將這些標(biāo)識(shí)符對(duì)(identifier pairs)的列表轉(zhuǎn)換為“SeqFeature”列表,因此來(lái)查找它們的坐標(biāo)定位?,F(xiàn)在將下列代碼添加到上段代碼中g(shù)d_diagram.draw(.)這一行之前,將cross-links添加到圖像中。示例中的腳本文件Proux_et_al_2002_Figure_6.py在Biopython源程序文件夾的Doc/examples目錄下。from Bio.Graphics.Gen

47、omeDiagram import CrossLinkfrom reportlab.lib import colors#Note it might have been clearer to assign the track numbers explicitly.for rec_X, tn_X, rec_Y, tn_Y, X_vs_Y in (A_rec, 3, B_rec, 2, A_vs_B), (B_rec, 2, C_rec, 1, B_vs_C): track_X = gd_diagram.trackstn_X track_Y = gd_diagram.trackstn_Y for s

48、core, id_X, id_Y in X_vs_Y: feature_X = get_feature(rec_X.features, id_X) feature_Y = get_feature(rec_Y.features, id_Y) color = colors.linearlyInterpolatedColor(colors.white, colors.firebrick, 0, 100, score) link_xy = CrossLink(track_X, feature_X.location.start, feature_X.location.end), (track_Y, fe

49、ature_Y.location.start, feature_Y.location.end), color, colors.lightgrey) gd_diagram.cross_track_links.append(link_xy)這段代碼有幾個(gè)要點(diǎn),第一,GenomeDiagram對(duì)象有一個(gè)cross_track_links屬性,這個(gè)屬性只是CrossLink對(duì)象的一組數(shù)據(jù)。每個(gè)CrossLink對(duì)象有兩個(gè)track-specific坐標(biāo),示例中用元組(tuples)來(lái)展現(xiàn),可用GenomeDiagram.Feature對(duì)象來(lái)代替。可選擇添加顏色和邊框顏色,還可以說(shuō)明這個(gè)link是否需要

50、翻轉(zhuǎn),這個(gè)功能易于表現(xiàn)染色體異位。你也可以看我們是如何將BLAST中特征百分比(Percentage Identity Score)轉(zhuǎn)換為白-紅的漸變色(白-0%,紅-100%)。這個(gè)實(shí)例中沒(méi)有cross-links的重疊,如果有l(wèi)inks重疊可以用ReportLab庫(kù)中的透明度(transparency)來(lái)解決,通過(guò)設(shè)置顏色的alpha通道來(lái)使用。然而,若同時(shí)使用邊框陰影和疊加透明度會(huì)增加理解的難度。結(jié)果見下圖:當(dāng)然,Biopython還有很多增強(qiáng)圖像效果的方法。首先,這個(gè)示例中的cross links是蛋白質(zhì)之間的,被呈現(xiàn)在一個(gè)鏈的固定區(qū)域(strand specific manor)??梢栽趂eature track上用 BOX sigil添加背景區(qū)域(background region)來(lái)擴(kuò)展cross link的效果。同樣,可以縮短feature tracks之間的垂直高度,使用更多的links來(lái)代替一種方法是為空的track分配空間。此外,在沒(méi)有大規(guī)?;蛑丿B的情況

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論