zl程序教程

您现在的位置是:首页 >  其他

当前栏目

Liftoff:基因组注释映射工具

2023-02-19 12:23:53 时间

工具设计背景

由于DNA 测序技术和计算方法的进步,许多物种的中不同个体的高质量基因组组装的变得非常容易。如果要了解这些基因组中蕴含的生物学特性,基因特征和其功能注释是一定需要的;然而,目前的现状是,对于大多数物种,只有单一的参考基因组得到了较好的注释(一般第一个发表的基因组都会得到比较好的注释),其它新组装的基因组或者泛基因组,由于注释的方法的不同或者RNA-seq数据的缺乏,注释质量都会和参考基因组有所差异。

为了解决这个难题,注释新的或提升的基因组组装的,其中一种策略是使用映射将来自先前注释好的参考基因组的基因,映射到新组装的基因组中。在这里,研究者因此创建了 Liftoff工具。这是一种新的基因组注释映射和提升工具,能将在相同或密切相关物种的两个基因组之间进行基因映射。

Liftoff工具介绍

Liftoff 能将参考基因组中的基因与目标基因组进行比对,并找到最大化序列一致性,同时保留每个外显子、转录本和基因结构的映射。研究者发现,Liftoff 可以准确地映射两个版本的人类参考基因组之间 99.9% 的基因,平均序列同一性 >99.9%。

Liftoff 可以通过成功地将超过 98.3% 的人类蛋白质编码基因提升到序列同一性为 98.2% 的黑猩猩基因组组装来绘制跨物种基因注释。

Liftoff 可以在相同或密切相关物种的基因组之间准确地映射 GFF 或 GTF 中的注释。Liftoff 是一个独立的工具,它将两个基因组组装和一个参考注释作为输入并输出目标基因组的注释。Liftoff 使用 Minimap2 将参考基因组中的基因序列与目标基因组进行比对。对于每个基因,Liftoff 找到外显子的比对,以最大化序列同一性,同时保留转录本和基因结构。如果两个基因错误地映射到重叠的位点,Liftoff 会确定哪个基因最有可能被错误映射,并尝试重新映射它。Liftoff 还可以找到目标组件中存在的未在参考中注释的其他基因拷贝。

工具安装和使用

可以通过conda直接安装

<span class="hljs-attribute" style="color: rgb(238, 220, 112); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">conda install -c bioconda liftoff
</span class="hljs-attribute" style="color: rgb(238, 220, 112); word-wrap: inherit !important; word-break: inherit !important;">

或者通过GitHub来安装

git <span class="hljs-built_in" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">clone https://github.com/agshumate/Liftoff liftoff 
<span class="hljs-built_in" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">cd liftoff
python setup.py install
pip install Liftoff
</span class="hljs-built_in" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-built_in" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;">

使用的方法和一些参数

usage: liftoff [-h] (-g GFF | -db DB) [-o FILE] [-u FILE] [-exclude_partial]
               [<span class="hljs-meta" style="color: rgb(91, 218, 237); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">-dir DIR] [-mm2_options =STR] [-a A] [-s S] [-d D] [-flank F]
               [<span class="hljs-meta" style="color: rgb(91, 218, 237); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">-V] [-p P] [-m PATH] [-f TYPES] [-infer_genes]
               [<span class="hljs-meta" style="color: rgb(91, 218, 237); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">-infer_transcripts] [-chroms TXT] [-unplaced TXT] [-copies]
               [<span class="hljs-meta" style="color: rgb(91, 218, 237); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">-sc SC] [-overlap O] [-mismatch M] [-gap_open GO]
               [<span class="hljs-meta" style="color: rgb(91, 218, 237); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">-gap_extend GE]
               target reference
</span class="hljs-meta" style="color: rgb(91, 218, 237); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-meta" style="color: rgb(91, 218, 237); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-meta" style="color: rgb(91, 218, 237); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-meta" style="color: rgb(91, 218, 237); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-meta" style="color: rgb(91, 218, 237); word-wrap: inherit !important; word-break: inherit !important;">

输入文件

需要的输入文件包括,参考基因组序列(fasta 格式)、目标基因组序列(fasta 格式)和参考注释或者特征数据库。如果使用 -g 参数,并提供注释文件,工具将自动构建一个特征数据库,并可通过提供 -db 参数用于注释的提升。

Gff文件的格式 默认情况下,gff文件包括基因的所有子特征(即转录本、mRNA、外显子、CDS、UTR)。-f 参数可用于指定包含你希望提升的其特征类型列表的文件。注意:每个要素的要素 ID 必须是唯一的,并且不能包含空格。

序列相似性和比对覆盖率 在Liftoff中,如果子特征(通常是外显子/CDS)中的比对覆盖率和序列同一性 >= 50%,则基因将被视为成功映射。这可以使用 -a 和 -s 选项更改。默认情况下,映射低于这些阈值的基因将包含在 gff 文件中,最后一列中有 partial_mapping=True 和 low_identity=True。要从最终 GFF 中排除这些部分/低质量映射,请使用 -exclude_partial,这些基因将改为写入 unmapped_features.txt 文件序列相似性和比对覆盖率会在 feach 基因的输出 GFF 的最后一列中记录。

minimap2的参数

默认情况下,liftoff 对 minimap2 对齐使用以下参数 -a --eqx --end-bonus 5 -N 50 -p 0.5 -a 和 --eqx 指定输出应为 SAM 格式。指定的 -N 和 -p 参数允许考虑更多的二级比对,这有助于解决多基因家族。--end-bonus 参数有利于基因的端到端比对。

Polish外显子/CDS 注释 使用 -polish 选项,Liftoff 将重新比对外显子,以在 lift-over 导致起始/终止密码子丢失或引入终止密码子的情况下,尝试恢复正确的编码序列。这将增加运行时间,但会让CDS 注释提供进一步的改进。使用 polish 选项,将创建 2 个输出 GFF/GTF 文件,名为 {output}.gff 和 {output}.gff_polished。{output}.gff 包含Polish步骤之前的注释,{output}.gff_polished 包含Polish后的注释。

跨物种的基因结构映射 当参考基因组和目标基因组中的基因结构(即内含子大小)相似时,Liftoff 效果最好。当基因组差异很大时,映射会比较分散,并且基因开头或结尾的小外显子通常比对不上。在某些情况下,使用 -flank 选项将一定百分比的侧翼序列,添加和比对到基因,来改善这一点。此外,增加 -d 参数将允许映射目标基因组中的基因比参考基因组中的基因大小大得多。

染色体之间的映射 默认情况下,所有基因都将与整个目标基因组进行映射。然而,对于同一物种的染色体组装,-chroms 选项可用于逐个染色体执行 lift-over映射 进一步提高准确性。在逐个染色体移出完成后,任何未映射的基因将与整个基因组进行映射。对于不同染色体上有许多相似基因的重复/多倍体基因组,强烈建议使用此方法。可以通过使用 -chroms 参数提供一个逗号分隔的文件 chroms.txt 以及相应的染色体名称来启用此选项。对于每对相应的染色体,文件的每一行都应遵循 {ref_chrom_name},{target_chrom_name}。例如,从 Genbank 人类装配到 Refseq 人类组装的提升将具有以下 chroms.txt 文件。

<span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">chr1,<span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">NC_000001<span class="hljs-selector-class" style="color: rgb(165, 218, 45); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">.10
<span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">chr2,<span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">NC_000002<span class="hljs-selector-class" style="color: rgb(165, 218, 45); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">.11
<span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">chr3,<span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">NC_000003<span class="hljs-selector-class" style="color: rgb(165, 218, 45); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">.11
<span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">chr4,<span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">NC_000004<span class="hljs-selector-class" style="color: rgb(165, 218, 45); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">.11
<span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">chr5,<span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">NC_000005<span class="hljs-selector-class" style="color: rgb(165, 218, 45); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">.9
<span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">chr6,<span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">NC_000006<span class="hljs-selector-class" style="color: rgb(165, 218, 45); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">.11
<span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">chr7,<span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">NC_000007<span class="hljs-selector-class" style="color: rgb(165, 218, 45); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">.13
<span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">chr8,<span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">NC_000008<span class="hljs-selector-class" style="color: rgb(165, 218, 45); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">.10
<span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">chr9,<span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">NC_000009<span class="hljs-selector-class" style="color: rgb(165, 218, 45); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">.11
<span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">chr10,<span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">NC_000010<span class="hljs-selector-class" style="color: rgb(165, 218, 45); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">.10
<span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">chr11,<span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">NC_000011<span class="hljs-selector-class" style="color: rgb(165, 218, 45); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">.9
<span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">chr12,<span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">NC_000012<span class="hljs-selector-class" style="color: rgb(165, 218, 45); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">.11
<span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">chr13,<span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">NC_000013<span class="hljs-selector-class" style="color: rgb(165, 218, 45); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">.10
<span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">chr14,<span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">NC_000014<span class="hljs-selector-class" style="color: rgb(165, 218, 45); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">.8
<span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">chr15,<span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">NC_000015<span class="hljs-selector-class" style="color: rgb(165, 218, 45); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">.9
<span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">chr16,<span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">NC_000016<span class="hljs-selector-class" style="color: rgb(165, 218, 45); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">.9
<span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">chr17,<span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">NC_000017<span class="hljs-selector-class" style="color: rgb(165, 218, 45); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">.10
<span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">chr18,<span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">NC_000018<span class="hljs-selector-class" style="color: rgb(165, 218, 45); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">.9
<span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">chr19,<span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">NC_000019<span class="hljs-selector-class" style="color: rgb(165, 218, 45); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">.9
<span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">chr20,<span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">NC_000020<span class="hljs-selector-class" style="color: rgb(165, 218, 45); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">.10
<span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">chr21,<span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">NC_000021<span class="hljs-selector-class" style="color: rgb(165, 218, 45); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">.8
<span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">chr22,<span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">NC_000022<span class="hljs-selector-class" style="color: rgb(165, 218, 45); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">.10
<span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">chrX,<span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">NC_000023<span class="hljs-selector-class" style="color: rgb(165, 218, 45); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">.10
<span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">chrY,<span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">NC_000024<span class="hljs-selector-class" style="color: rgb(165, 218, 45); word-wrap: inherit !important; word-break: inherit !important;" style="font-size: inherit;color: inherit;line-height: inherit;overflow-wrap: inherit !important;word-break: inherit !important;">.9
/*
* 提示:该行代码过长,系统自动注释不进行高亮。一键复制会移除系统注释 
* </span class="hljs-selector-class" style="color: rgb(165, 218, 45); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-class" style="color: rgb(165, 218, 45); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-class" style="color: rgb(165, 218, 45); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-class" style="color: rgb(165, 218, 45); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-class" style="color: rgb(165, 218, 45); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-class" style="color: rgb(165, 218, 45); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-class" style="color: rgb(165, 218, 45); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-class" style="color: rgb(165, 218, 45); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-class" style="color: rgb(165, 218, 45); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-class" style="color: rgb(165, 218, 45); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-class" style="color: rgb(165, 218, 45); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-class" style="color: rgb(165, 218, 45); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-class" style="color: rgb(165, 218, 45); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-class" style="color: rgb(165, 218, 45); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-class" style="color: rgb(165, 218, 45); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-class" style="color: rgb(165, 218, 45); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-class" style="color: rgb(165, 218, 45); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-class" style="color: rgb(165, 218, 45); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-class" style="color: rgb(165, 218, 45); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-class" style="color: rgb(165, 218, 45); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-class" style="color: rgb(165, 218, 45); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-class" style="color: rgb(165, 218, 45); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-class" style="color: rgb(165, 218, 45); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-class" style="color: rgb(165, 218, 45); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;"></span class="hljs-selector-tag" style="color: rgb(248, 35, 117); word-wrap: inherit !important; word-break: inherit !important;">
*/

额外的基因拷贝 使用 -copies 选项,Liftoff 将寻找在初始提升结束后,未在参考中注释的基因的额外的拷贝。如果一个基因拷贝不与另一个注释特征重叠,则它只会在一个基因中被注释。默认情况下,外显子/CDS 必须具有 100% 的序列同一性。额外的基因拷贝将具有与参考基因相同的 ID,并将在 GFF 文件的最后一列中标记为 extra_copy_number={copy_number}。

输出结果 输出是一个与目标基因组对应的参考注释(GFF3 或 GTF)的文件,以及一个包含未映射基因 ID 的文件。目标注释的第 9 列将包含与原始参考相同的信息。

使用感受

对于泛基因组时代的到来,特别是单个物种具有多个体组装来说,这个工具还是相当好用的,能将质量比较好的参考基因组的注释映射到其它新组装未被注释的基因组中,且准确性相当高。另外该工具提供的一些额外的功能,比如基因拷贝数的鉴定,注释的进一步提升都非常好用,值得做相关研究的小伙伴尝试。

参考资料:

https://github.com/agshumate/Liftoff

Shumate, Alaina, and Steven L. Salzberg. 2020. “Liftoff: Accurate Mapping of Gene Annotations.” Bioinformatics , December. https://doi.org/10.1093/bioinformatics/btaa1016.