Plot Biopython中的勾号和特征标签

Plot Biopython中的勾号和特征标签,plot,biopython,dna-sequence,Plot,Biopython,Dna Sequence,使用以下最小代码 from Bio.Graphics import GenomeDiagram from Bio.SeqFeature import SeqFeature, FeatureLocation gdd = GenomeDiagram.Diagram('Construct Diagram') construct_track = gdd.new_track(1, scale=True, scale_format="SInt", scale_smalltick_interval=10,

使用以下最小代码

from Bio.Graphics import GenomeDiagram
from Bio.SeqFeature import SeqFeature, FeatureLocation

gdd = GenomeDiagram.Diagram('Construct Diagram')
construct_track = gdd.new_track(1, scale=True, scale_format="SInt", scale_smalltick_interval=10, scale_largetick_interval=100, scale_ticks=True, start=0, end=2222)
track_features = construct_track.new_set()

feature = SeqFeature(FeatureLocation(50,100, strand=+1))
track_features.add_feature(feature, name="my feature name", label=True, label_angle=30)

feature2 = SeqFeature(FeatureLocation(500,550, strand=-1))
track_features.add_feature(feature2, name="my feature name", label=True, label_angle=30)

gdd.draw(format="linear", fragments=1, start=0, end=2222)
gdd.write("test.png", "PNG")
我得到了以下(可怕的)数字:

现在,图形外观可以调整到我满意的程度,但有两个显著的例外:

  • 我无法正确设置刻度标签(1Kbp和2kbp之间的所有主要刻度读数仅为“1Kbp”-我会选择1100或1.1Kbp)
  • 我无法使第二个特征的标签与第一个特征的标签一致(当前文本是朝上向下的,如果我将角度更改为210,它将开始延伸到轨迹中,而不是从轨迹中向外延伸(参见下图)


你能帮我吗?

这里有一些资源:

看起来至少有几个选项可以供您选择:

勾选标签

  • 我无法正确设置刻度标签(例如,1Kbp和2kbp之间的所有主要刻度读数仅为“1Kbp”-我会接受这两种情况 1100或1.1Kbp)
如果您在调用
gdd.new\u track()
(或不使用该参数)时使
scale\u format=None
,您将得到1100,以此类推

功能标签

  • 我无法使第二个特征的标签与第一个特征的标签一致(当前文本是上下的,如果我 将角度更改为210,它将开始向内延伸而不是向外延伸 从轨道(参见下图)
您可以尝试将
label\u position=“end”
传递到
轨迹特征。添加轨迹特征()
。如果将其与210的角度相结合,至少不会使其从轨迹向外延伸,尽管它会上升到绿色阴影区域。也许这对您来说是可以接受的


在您的示例中,将这两者结合在一起:

从Bio.Graphics导入GenomeDiagram
从Bio.SeqFeature导入SeqFeature,FeatureLocation
gdd=GenomeDiagram.Diagram('构造图')
构造轨道=gdd。新建轨道(1,比例=真,比例格式=无,比例小刻度间隔=10,比例大刻度间隔=100,比例刻度=真,开始=0,结束=2222)
track\u features=构造\u track.new\u set()
特征=序列特征(特征位置(50100,绞线=+1))
跟踪要素。添加要素(要素,name=“我的要素名称”,label=True,label\u angle=30)
feature2=SeqFeature(FeatureLocation(500550,绞线=-1))
跟踪要素。添加要素(要素2,name=“我的要素名称”,label=True,label\u angle=210,label\u position=“end”)
gdd.draw(format=“linear”,片段=1,开始=0,结束=2222)
write(“test.png”、“png”)

以下是一些参考资料:

看起来至少有几个选项可以供您选择:

勾选标签

  • 我无法正确设置刻度标签(例如,1Kbp和2kbp之间的所有主要刻度读数仅为“1Kbp”-我会接受这两种情况 1100或1.1Kbp)
如果您在调用
gdd.new\u track()
(或不使用该参数)时使
scale\u format=None
,您将得到1100,以此类推

功能标签

  • 我无法使第二个特征的标签与第一个特征的标签一致(当前文本是上下的,如果我 将角度更改为210,它将开始向内延伸而不是向外延伸 从轨道(参见下图)
您可以尝试将
label\u position=“end”
传递到
轨迹特征。添加轨迹特征()
。如果将其与210的角度相结合,至少不会使其从轨迹向外延伸,尽管它会上升到绿色阴影区域。也许这对您来说是可以接受的


在您的示例中,将这两者结合在一起:

从Bio.Graphics导入GenomeDiagram
从Bio.SeqFeature导入SeqFeature,FeatureLocation
gdd=GenomeDiagram.Diagram('构造图')
构造轨道=gdd。新建轨道(1,比例=真,比例格式=无,比例小刻度间隔=10,比例大刻度间隔=100,比例刻度=真,开始=0,结束=2222)
track\u features=构造\u track.new\u set()
特征=序列特征(特征位置(50100,绞线=+1))
跟踪要素。添加要素(要素,name=“我的要素名称”,label=True,label\u angle=30)
feature2=SeqFeature(FeatureLocation(500550,绞线=-1))
跟踪要素。添加要素(要素2,name=“我的要素名称”,label=True,label\u angle=210,label\u position=“end”)
gdd.draw(format=“linear”,片段=1,开始=0,结束=2222)
write(“test.png”、“png”)

遗憾的是,这两个建议中的后一个甚至比当前的解决方案更糟糕。你知道我如何使它从轨道向外延伸(意思是进一步向下)?此外,如果有这样的选择,我更喜欢用1.1Kbp来表示我的刻度,而不是1100。我阅读了文档,但没有一个是特别明显的。遗憾的是,两个建议中的后一个比当前的解决方案更糟糕。你知道我如何使它从轨道向外延伸(意思是进一步向下)?此外,如果有这样的选择,我更喜欢用1.1Kbp的符号来表示我的刻度,而不是1100。我阅读了文档,但这些都不是特别明显的。