欢迎使用 WordPress。这是系统自动生成的演示文章。编辑或者删除它,然后开始您的博客!
Kate dNA安装时的注意事项
Qt4.7.0文档翻译:QDesktopServices类参考,QDesktopServices Class Reference
Qt4.7.0文档翻译:QDesktopServices类参考,QDesktopServices Class Reference
详细描述
QDesktopServices类提供咯一些方法用来使用常规的桌面服务。
很多桌面系统都提供一些可被程序用来进行常规工作的服务,例如打开一个网页,并且是使用一种一致的却又兼顾到用户的偏好设置的方式。
这个类就包含咯一些为这些服务提供咯简单的接口的函数,它们还会告诉你的代码那些服务是成功咯还是失败咯。
openUrl()函数用来在外部程序中打开位于任意URL的文件。对于那些指向本地文件系统的URL(那种情况下URL 的模式是”file”),会使用一个适当的程序来打开;否则的话,就会使用一个网页浏览器来下载并且显示那个文件。
用户的桌面设置选项控制的是某些特定的可执行文件是应该打开来浏览还是应该直接执行。某些桌面环境会阻止用户执行从外部URL下载来的文件,或者在执行之前要求用户确认权限。
URL处理器
openUrl()函数的行为可针对单个URL 模式而定制,以便允许程序针对特定类型的URL来替换掉默认的处理行为。
分发机制只允许对每个URL 模式有一个自定义的处理器;这个东西是使用setUrlHandler()函数来设置的。每个处理器都被实现成一个信号槽,它接收一个QUrl作为参数。
针对每个模式的已有的处理器可使用unsetUrlHandler()函数来去除。这将会使得针对给定的模式的处理行为恢复成默认的行为。
举个例子,这个系统使得实现一个帮助系统非常容易。帮助信息可以在文本标签和文本浏览器中提供,使用help://myapplication/mytopic这样的URL,再注册一个处理器,这样就可以在程序内部显示帮助信息咯。
class MyHelpHandler : public QObject
{
Q_OBJECT
public:
…
public slots:
void showHelp(const QUrl &url);
};
QDesktopServices::setUrlHandler(“help”, helpInstance, “showHelp”);
如果你在处理器中认为你无法打开某个URL 的话,那么你可以只管再次带着相同的参数调用QDesktopServices::openUrl(),那样的话它会使用用户的桌面环境中的合适的机制来尝试打开那个URL。参考QSystemTrayIcon和QProcess。
成员函数文档
bool QDesktopServices::openUrl ( const QUrl & url ) [静态]
使用用户的桌面环境中的适当的网页浏览器打开指定的url,如果成功则返回真;否则返回假。
如果那个URL 是指向一个本地文件的话(也就是说,URL 模式是”file”),那么会使用一个适当的程序打开它,而不是使用网页浏览器。
下面这个例子打开Windows 文件系统中某个包含空格的路径中的一个文件:
QDesktopServices::openUrl(QUrl(“file:///C:/Documents and Settings/All Users/Desktop”, QUrl::TolerantMode));
如果指定的是一个mailto URL 的话,那么就会使用用户的电子邮件客户端来处理,它会打开一个编写窗口,其中会包含URL 中指定的那些选项。这一切与一个网页浏览器处理一个mailto链接的过程是何等的类似。
例如,下面的URL 中包含一个收件人(user@foo.com)、一个主题(Test)和一个邮件正文(Just a test):
mailto:user@foo.com?subject=Test&body=Just a test
警告:尽管很多邮件客户端都可以发送附件并且能识别Unicode,但是用户可能会在设置中取消这些特性。另外,某些邮件客户端(比如Lotus Notes)在处理长 URL时会有问题。
参考setUrlHandler()。
Qt4.7.0文档翻译:QWidget类参考,QWidget Class Reference
Qt4.7.0文档翻译:QWidget类参考,QWidget Class Reference
属性文档
visible : 逻辑值
这个属性管理的是这个部件是否可见.
在这个窗口的全部亲代部件都可见的情况下,调用setVisible(true)或者show()会将这个部件设置为可见状态.如果某个祖先部件不可见的话,那么这个部件不会变成可见状态,直到所有的祖先都显示出来才会变成可见状态.如果它的大小或者位置发生咯改变,那么Qt会确保它在显示之前接收到移动和改变大小事件.如果这个部件还没有改变过大小的话,那么Qt 会使用adjustSize()来将它的大小调整成一个适当的默认值.
调用setVisible(false)或者hide()会显式地将一个部件隐藏起来.对于一个显式隐藏的部件来说,除非你显示(show)它,否则,即使它的全部祖先部件都可见的话它也不会变得可见.
当一个部件的可见性发生改变时,会接收到显示和隐藏事件.在一个隐藏事件和一个显示事件之间,没必要浪费 CPU 时间片来准备或者向用户显示信息咯.比如说,一个视频程序在这个时候就可以简单地停止生成新的帧.
一个偶然被屏幕上其它窗口挡住的部件仍然被认为是可见的.对于图标化的窗口和位于其它(在支持这个概念的平台上)虚拟桌面上的窗口也是一样.当一个部件的映射状态被窗口系统改变时,它会接收到自然的显示和隐藏事件.例如,当用户将窗口最小化时,窗口会接收到一个自然的隐藏事件,当窗口被恢复时,又会接收到一个自然的显示事件.
你几乎不需要重载setVisible()函数.如果你需要在一个部件显示出来之前改变某些设置的话,就使用showEvent().如果你需要做一些延迟性的初始化的话,那么就使用传递给event()函数的光泽(Polish)事件.
访问函数:
|
bool |
isVisible () const |
|
virtual void |
setVisible ( bool visible ) |
参考show()、hide()、isHidden()、isVisibleTo()、isMinimized()、showEvent()和hideEvent()。
BioPython中全部翻译表名字的截图
BioPython中全部翻译表名字的截图
Kate dNA新功能:翻译时指定翻译表,导出串联重复序列为表格
Kate dNA新功能:翻译时指定翻译表,导出串联重复序列为表格
看演示。
像往常一样先载入3个序列。
进行比对并且计算进化树。
比对结果出来咯。分别为每个序列指定起始、终止位置以及翻译表。这里,关于位置的选项我们使用默认的。重点在翻译表的选择,有没有看到位置选择器的上方有个“Translation table:”选项?这就是选择翻译表的地方。需要针对每个序列选择翻译表,并且需要手动选择,程序目前无法为你推断出应当使用哪个翻译表。刚才本座是随便选的。
单击“Find tandeam repeats and translate”按钮,以开始寻找串联重复序列和翻译成蛋白质。
计算完毕。看看翻译出来的蛋白质序列。
另一个功能是导出串联重复序列为表格。
有个新菜单“Export”。按顺序单击“Export”->“Tandem repeats”->“Spread sheets”。弹出一个对话框让你选择要将导出之后的表格文件放在哪个目录下。在其中选好你要放置表格的目录,再单击“确定”。对话框关闭之后会马上执行导出动作。所以现在已经导出完毕咯,去刚才选择的目录下去看看。在文件管理器中选中的6个文件就是刚才导出的东西,因为一共有3个序列,每个序列分别使用Tandem Repeats Finder和Mreps计算过,所以一共有6个结果。随便打开一个看看吧。由于这是csv文件,并不能算是真正的表格文件,所以在你的操作系统中不一定会默认使用表格程序打开它。那种情况下,就单击右键,选择使用表格程序来打开它。看到没有?刚才本座选择的分隔符为“逗号”,这是csv文件使用的默认分隔符。表格程序会按照这个选项来将csv文件中的内容一个个分隔成单元格。表格看起来就是这个样子的。你可以修改之后再自行保存成真正的表格格式。
完咯。
录像可在这里观看:http://www.youtube.com/watch?v=TMTpiGBsIeo
BioPython教程翻译:3.10 翻译表,3.10 Translation Tables
BioPython教程翻译:3.10 翻译表,3.10 Translation Tables
本翻译文章来自Kate dNA的勃客:http://stupidbeauty.com/KNA/2011/06/biopython%e6%95%99%e7%a8%8b%e7%bf%bb%e8%af%91%ef%bc%9a3-10-%e7%bf%bb%e8%af%91%e8%a1%a8%ef%bc%8c3-10-translation-tables/,英文原文见BioPython文档:http://biopython.org/DIST/docs/tutorial/Tutorial.html#htoc26
3.10 翻译表
在上一小节中我们讲咯一下Seq 对象的翻译方法(并且还提到咯Bio.Seq 模块中的等价函数–参见3.14小节)。这些函数在内部使用的是从ftp://ftp.ncbi.nlm.nih.gov/entrez/misc/data/gc.prt 处的 NCBI 信息衍生出来的编码表对象,那些翻译表也可以在 http://www.ncbi.nlm.nih.gov/Taxonomy/Utils/wprintgc.cgi 看到,并且更易于阅读。
跟以前一样,让我们仅仅关注两个选项:标准(Standard)翻译表和脊椎动物的线粒体(Vertebrate Mitochondrial)DNA 的翻译表。
>>> from Bio.Data import CodonTable
>>> standard_table = CodonTable.unambiguous_dna_by_name["Standard"]
>>> mito_table = CodonTable.unambiguous_dna_by_name["Vertebrate Mitochondrial"]
或者,也可以使用编号(ID)来指定翻译表,这两个翻译表的编号分别是1 和2:
>>> from Bio.Data import CodonTable
>>> standard_table = CodonTable.unambiguous_dna_by_id[1]
>>> mito_table = CodonTable.unambiguous_dna_by_id[2]
你可以将它们输出,以便直观地进行比较:
>>> print standard_table
Table 1 Standard, SGC0
| T | C | A | G |
–+———+———+———+———+–
T | TTT F | TCT S | TAT Y | TGT C | T
T | TTC F | TCC S | TAC Y | TGC C | C
T | TTA L | TCA S | TAA Stop| TGA Stop| A
T | TTG L(s)| TCG S | TAG Stop| TGG W | G
–+———+———+———+———+–
C | CTT L | CCT P | CAT H | CGT R | T
C | CTC L | CCC P | CAC H | CGC R | C
C | CTA L | CCA P | CAA Q | CGA R | A
C | CTG L(s)| CCG P | CAG Q | CGG R | G
–+———+———+———+———+–
A | ATT I | ACT T | AAT N | AGT S | T
A | ATC I | ACC T | AAC N | AGC S | C
A | ATA I | ACA T | AAA K | AGA R | A
A | ATG M(s)| ACG T | AAG K | AGG R | G
–+———+———+———+———+–
G | GTT V | GCT A | GAT D | GGT G | T
G | GTC V | GCC A | GAC D | GGC G | C
G | GTA V | GCA A | GAA E | GGA G | A
G | GTG V | GCG A | GAG E | GGG G | G
–+———+———+———+———+–
以及:
>>> print mito_table
Table 2 Vertebrate Mitochondrial, SGC1
| T | C | A | G |
–+———+———+———+———+–
T | TTT F | TCT S | TAT Y | TGT C | T
T | TTC F | TCC S | TAC Y | TGC C | C
T | TTA L | TCA S | TAA Stop| TGA W | A
T | TTG L | TCG S | TAG Stop| TGG W | G
–+———+———+———+———+–
C | CTT L | CCT P | CAT H | CGT R | T
C | CTC L | CCC P | CAC H | CGC R | C
C | CTA L | CCA P | CAA Q | CGA R | A
C | CTG L | CCG P | CAG Q | CGG R | G
–+———+———+———+———+–
A | ATT I(s)| ACT T | AAT N | AGT S | T
A | ATC I(s)| ACC T | AAC N | AGC S | C
A | ATA M(s)| ACA T | AAA K | AGA Stop| A
A | ATG M(s)| ACG T | AAG K | AGG Stop| G
–+———+———+———+———+–
G | GTT V | GCT A | GAT D | GGT G | T
G | GTC V | GCC A | GAC D | GGC G | C
G | GTA V | GCA A | GAA E | GGA G | A
G | GTG V(s)| GCG A | GAG E | GGG G | G
–+———+———+———+———+–
你可能会觉得以下属性很有用–比如说你想尝试进行你自己的基因查找的话:
>>> mito_table.stop_codons
['TAA', 'TAG', 'AGA', 'AGG']
>>> mito_table.start_codons
['ATT', 'ATC', 'ATA', 'ATG', 'GTG']
>>> mito_table.forward_table["ACG"]
‘T’
Qt4.7.0文档翻译:QFontComboBox类参考,QFontComboBox Class Reference
Qt4.7.0文档翻译:QFontComboBox类参考,QFontComboBox Class Reference
详细描述
QFontComboBox部件是一个允许用户选择字体族的组合框。
这个组合框会填充上一个按字母排序的字体族名字列表,比如Arial、Helvetica和Times New Roman。在可能的情况下,字体族名字是使用实际的字体来显示的。对于某些字体,例如Symbol,字体名字无法使用字体本身来显示,所以会在字体名旁边显示出一个样例。
QFontComboBox经常用于工具条中,旁边带上一个QComboBox用于控制字体大小,再加上2个QToolButton用于控制粗体和斜体。
当用户选择一个新的字体时,会发射currentFontChanged()和currentIndexChanged()信号。
调用setWritingSystem()来告诉QFontComboBox 只显示支持某种书写系统的字体。调用setFontFilters()来过滤掉某些类型的字体,例如不可放大的字体或者等宽字体。
参见QComboBox、QFont、QFontInfo、QFontMetrics、QFontDatabase和字符映射(Character Map)示例。
Kate dNA预览版安装教程,2011.6.4
Kate dNA预览版安装教程,2011.6.4
这个是Windows版的安装过程。GNU/Linux版的教程暂时没有,因为GNU/Linux下安装会方便得多。
Kate dNA依赖好多开源软件,所以在安装Kate dNA之前需要把它们都安装好。为咯用户的方便,在打包的时候把能带上的软件都带上咯,但还是有三个软件必须由用户自己来安装的:
-
1.ActivePerl
-
2.ActivePython
-
3.BioPython
下面就说明这三个软件。如果你安装过它们,就不用再安装咯。
ActivePerl
去activePerl网站上下载ActivePerl并安装。你可以直接点这个链接来下载已有的一个版本。安装过程中可以一直“下一步”直到结束。
ActivePython
同样去ActivePython网站上下载并安装。可以点这个链接直接下载。
BioPython
去bioPython网站上下载。可以点这个链接直接下载。
这三个软件安装好咯之后,就可以安装Kate dNA咯,也是直接“下一步”就行咯。
BioPython教程翻译:3.9 翻译,3.9 Translation
BioPython教程翻译:3.9 翻译,3.9 Translation
本文来自于Kate dNA的勃客:http://stupidbeauty.com/KNA/2011/05/biopython%e6%95%99%e7%a8%8b%e7%bf%bb%e8%af%91%ef%bc%9a3-9-%e7%bf%bb%e8%af%91%ef%bc%8c3-9-translation/,英文原文来自于:http://biopython.org/DIST/docs/tutorial/Tutorial.html#htoc25
3.9 翻译
在上一节中,我们研究咯转录,现在让我们来把这个mRNA 翻译成蛋白质序列-我们再次利用Seq 对象的一个生物学方法:
>>> from Bio.Seq import Seq
>>> from Bio.Alphabet import IUPAC
>>> messenger_rna = Seq(“AUGGCCAUUGUAAUGGGCCGCUGAAAGGGUGCCCGAUAG”, IUPAC.unambiguous_rna)
>>> messenger_rna
Seq(‘AUGGCCAUUGUAAUGGGCCGCUGAAAGGGUGCCCGAUAG’, IUPACUnambiguousRNA())
>>> messenger_rna.translate()
Seq(‘MAIVMGR*KGAR*’, HasStopCodon(IUPACProtein(), ‘*’))
你还可以直接从编码链DNA 序列翻译过来:
>>> from Bio.Seq import Seq
>>> from Bio.Alphabet import IUPAC
>>> coding_dna = Seq(“ATGGCCATTGTAATGGGCCGCTGAAAGGGTGCCCGATAG”, IUPAC.unambiguous_dna)
>>> coding_dna
Seq(‘ATGGCCATTGTAATGGGCCGCTGAAAGGGTGCCCGATAG’, IUPACUnambiguousDNA())
>>> coding_dna.translate()
Seq(‘MAIVMGR*KGAR*’, HasStopCodon(IUPACProtein(), ‘*’))
应当注意,在上面的蛋白质序列中,除咯最后的停止符号以外,在中间也有一个停止字符。这个例子是有意设计的,因为它能引出某些可选参数,包括不同的翻译表(基因编码(Genetic Codes))。
Biopython 中可用的翻译表是基于NCBI上的翻译表的(参见此教程的下一小节)。默认情况下,在翻译过程中会使用标准基因编码(编号为 1 的NCBI编码表)。假设我们在处理一个线粒体序列。我们需要告诉翻译函数要使用适当的基因编码:
>>> coding_dna.translate(table=”Vertebrate Mitochondrial”)
Seq(‘MAIVMGRWKGAR*’, HasStopCodon(IUPACProtein(), ‘*’))
你还可以使用NCBI 编码表编号来指定编码表,它更短,并且通常会包含在GenBank 文件的特性注释中:
>>> coding_dna.translate(table=2)
Seq(‘MAIVMGRWKGAR*’, HasStopCodon(IUPACProtein(), ‘*’))
现在,你可能想要翻译到第一个停止符号就结束(自然界就是这样的):
>>> coding_dna.translate()
Seq(‘MAIVMGR*KGAR*’, HasStopCodon(IUPACProtein(), ‘*’))
>>> coding_dna.translate(to_stop=True)
Seq(‘MAIVMGR’, IUPACProtein())
>>> coding_dna.translate(table=2)
Seq(‘MAIVMGRWKGAR*’, HasStopCodon(IUPACProtein(), ‘*’))
>>> coding_dna.translate(table=2, to_stop=True)
Seq(‘MAIVMGRWKGAR’, IUPACProtein())
注意,当你使用to_stop 参数时,终止密码子本身不会被翻译出来-因此停止符号也不会出现在你的蛋白质序列的末尾。
如果你不喜欢采用默认的星号做停止符号的话,你甚至还可以指定一个停止字符:
>>> coding_dna.translate(table=2, stop_symbol=”@”)
Seq(‘MAIVMGRWKGAR@’, HasStopCodon(IUPACProtein(), ‘@’))
现在,假设你有一个完整编码序列CDS,它是一个有整数个数的密码子(也就是说,长度是3的整数倍)的核苷酸序列(比如说,信使RNA–已经过修剪),以一个启动密码子开始,以一个终止密码子结束,并且在中间没有终止密码子。一般来说,给定一个完整的编码序列的话,默认的翻译方法会为你做出正确的事(也许你会指定to_stop 选项)。然而,要是你的序列使用咯一个非标准的启动密码子勒?对于细菌经常发生这种事–比如说E. coli K12:中的基因yaaX:
>>> from Bio.Seq import Seq
>>> from Bio.Alphabet import generic_dna
>>> gene = Seq(“GTGAAAAAGATGCAATCTATCGTACTCGCACTTTCCCTGGTTCTGGTCGCTCCCATGGCA” +
… ”GCACAGGCTGCGGAAATTACGTTAGTCCCGTCAGTAAAATTACAGATAGGCGATCGTGAT” +
… ”AATCGTGGCTATTACTGGGATGGAGGTCACTGGCGCGACCACGGCTGGTGGAAACAACAT” +
… ”TATGAATGGCGAGGCAATCGCTGGCACCTACACGGACCGCCGCCACCGCCGCGCCACCAT” +
… ”AAGAAAGCTCCTCATGATCATCACGGCGGTCATGGTCCAGGCAAACATCACCGCTAA”,
… generic_dna)
>>> gene.translate(table=”Bacterial”)
Seq(‘VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDH…HR*’,
HasStopCodon(ExtendedIUPACProtein(), ‘*’)
>>> gene.translate(table=”Bacterial”, to_stop=True)
Seq(‘VKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDH…HHR’,
ExtendedIUPACProtein())
在细菌的基因编码中,GTG 是一个有效的启动密码子,而且,尽管它一般情况下是编码缬氨酸的,但是如果是用作启动密码子的话,它应当被翻译成甲硫氨酸。如果你告诉Biopython 说你的序列是一个完整的CDS 的话,就会发生这种事:
>>> gene.translate(table=”Bacterial”, cds=True)
Seq(‘MKKMQSIVLALSLVLVAPMAAQAAEITLVPSVKLQIGDRDNRGYYWDGGHWRDH…HHR’,
ExtendedIUPACProtein())
除咯告诉将某个启动密码子翻译成甲硫氨酸之外,使用这个选项还能确认你的序列真的是一个有效的CDS(如果不是的话,你会遇到一个异常)。
在16.1.2 小节中的例子将 Seq 对象的翻译方法与Bio.SeqIO 结合,以进行序列的输入/输出。
注意:Seq对象的translate 方法是在Biopython 1.49 中新加的。对于旧版本,你需要使用Bio.Seq 模块的translate 函数,参见3.14小节。cds 选项是在Biopython 1.51 中新加的,并且在旧版本的Biopython 中,无法轻易地做到这一点。