TEsorter:TE的分类和可视化

来源于:https://github.com/zhangrengang/TEsorter
TE的鉴定可以使用LTRreviewer 或/和 repeatMasker,此处是对鉴定的TE进行分类和可视化。
实质是对TE的进一步分类,因为目前的TE分类比较粗浅Copia和Gypsy,实质上可以分的更加详细。
TEsorter只是分类器,其实是基于dante开发的。分类的依据数据库可以是REXdb或GyDB,REXdb的分类更加详细,所以TEsorter作者推荐使用这个库。

dante本身就是用于基于domain的转座子注释工具。dante github

不同数据库对Copia的分类,来源于REXdb论文

image.png

不同数据库对Gypsy的分类
image.png

Copia包括这些小类Ale , AlesiaAlesia, AngelaAngela, BiancaBianca, BrycoBryco, LycoLyco, Gymco I–IV, IkerosIkeros, IvanaIvana, OsserOsser, SIRESIRE, TARTAR, and Tork clades and the
Gypsy包括CRM, ChlamyvirChlamyvir, GaladrielGaladriel, Tcn1Tcn1, ReinaReina, TekayTekay, AthilaAthila, Tat I–III, OgreOgre, RetandRetand, PhygyPhygy, and Selgy clades.

TEsorter把Copia和Gypsy分类为如下:

  • capsid protein (GAG),
  • aspartic proteinase(AP), 或者PROT
  • integrase (INT),
  • reverse transcriptase (RT)
  • RNase H (RNaseH) 或者RH

提取的时候注意使用的数据库不同关键词略有区别rexdb和gydb的域名有些不同:PROT(rexdb)=AP(gydb),RH(rexdb)=RNaseH(gydb)

安装TEsorter

  • python >3
    • biopython: quickly install by pip install biopython or conda install biopython
    • xopen: quickly install by pip install xopen or conda install xopen
  • hmmscan 3.3x: be compatible with HMMER3/f database format. quickly install by conda install hmmer
  • blast+: quickly install by conda install blast
  • TEsorter:
git clone https://github.com/zhangrengang/TEsorter
cd TEsorter
python setup.py install

直接使用conda安装也可以conda install -c bioconda tesorter

测试TEsorter

TEsorter TEsorter/test/rice6.9.5.liban

使用参数讲解

  • -p 24 cpu数量
  • -db rexdb-plant 植物数据库 ,也可以是gydb
  • -st nucl 默认是nucl,可选值是:nucl,prot 分别表示DNA nuclear和蛋白质protein。
  • -pre prefix 指定输出文件的前缀

从基因组中提取 TE 序列用于 TEsorter

当您只有基因组序列时,以下是从广泛使用的软件的输出中提取 TE 序列的示例。

  1. 从RepeatMasker输出中提取所有 TE 序列:
#基因组RepeatMasker的下游分析,TE的分类

#指定RepeatMasker的输出文件所在的路径里的基因组.out文件
genome_out="/share/home/repeatsequence/Repeat_all_result/C.s.genome.fa.out"
#基因组位置
genome="/share/home/repeatsequence/Repeat_all_result/C.s.genome.fa"
#指定输出的前缀
prefix="C.s"
pwd="/share/home/TEsort"

cd ${pwd}
if ! [ -e Genome_TEsort ];then
    mkdir Genome_TEsort
fi
cd Genome_TEsort

# run RepeatMasker, which will generate a *.out file.
#RepeatMasker [options] genome.fa

# extract sequences
RepeatMasker.py out2seqs $genome_out $genome > ${prefix}.whole_genome_te.fa

#获取分类信息(计算非常快)
TEsorter ${prefix}.whole_genome_te.fa -db rexdb-plant -p 20

#提取domains,此处是提取所有的。 也可以只提取一种,例如GAG 或PROT,此处只提取保守的三种RH,RT,INT
concatenate_domains.py ${prefix}.rexdb-plant.cls.pep INT > ${prefix}.rexdb-plant.cls.pep.INT.aln
concatenate_domains.py ${prefix}.rexdb-plant.cls.pep TPase > ${prefix}.rexdb-plant.cls.pep.TPase.aln
cat ${prefix}.rexdb-plant.cls.pep.INT.aln ${prefix}.rexdb-plant.cls.pep.TPase.aln > ${prefix}.rexdb-plant.cls.pep.INT_TPase.faa
mafft --auto ${prefix}.rexdb-plant.cls.pep.INT_TPase.faa > ${prefix}.rexdb-plant.cls.pep.INT_TPase.aln

#构建进化树
iqtree2 -s ${prefix}.rexdb-plant.cls.pep.INT_TPase.aln -B 1000 -T 20 -m MFP --bnni
#进化树的可视化(可视化可能会失败)
LTR_tree.R ${prefix}.rexdb-plant.cls.pep.INT_TPase.aln.treefile ${prefix}.rexdb-plant.cls.tsv ${prefix}.rexdb-plant.cls.pep.INT_TPase.aln.pdf
  1. 从LTR_retriever输出中提取所有完整的 LTR-RTs 序列:
run LTR_retriever, which generate two *.pass.list files.

LTR_retriever -genome genome.fa [options]
自动化脚本修改前3行的参数即可运行

#用于LTR-RTs的下游分析,TE的分类
LTR-RTs_genome="/share/home/LTR/C.s.genome.chr.fa" #指定LTRreviewer的输出文件所在的路径里的基因组文件
prefix="C.s" #指定输出的前缀

if ! [ -e TEsort ];then
    mkdir TEsort
fi
cd TEsort

LTR_retriever.py get_full_seqs ${LTR-RTs_genome} >${prefix}.ltr.fa
#获取LTR-RTs的分类信息(计算非常快)
TEsorter ${LTR-RTs_genome}.ltr.fa -db rexdb-plant -p 20

#提取domains,此处是提取所有的。 也可以只提取一种,例如GAG 或PROT或者RH
concatenate_domains.py ${prefix}.ltr.fa.rexdb-plant.cls.pep RH RT INT > ${prefix}.ltr.fa.rexdb-plant.cls.pep.full.aln
#构建进化树
iqtree2 -s ${prefix}.ltr.fa.rexdb-plant.cls.pep.full.aln -B 1000 -T 20 -m MFP --bnni

#进化树的可视化(可视化可能会失败)
LTR_tree.R ${prefix}.ltr.fa.rexdb-plant.cls.pep.full.aln.treefile ${prefix}.ltr.fa.rexdb-plant.cls.tsv ${prefix}.ltr.fa.rexdb-plant.cls.pep.full.aln.treefile.pdf

domains的不同种类的保守型不一致,RH RT INT的保守性比较好,所以一般用来构建进化树。GAG和PROT的保守性就没有前3者的稳定。来源于TEsorter和REXdb论文.


支持对 TE 多蛋白序列(示例)或基因蛋白序列进行分类:

TEsorter RepeatPeps.lib -st prot -p 20

从1.4版本可以直接使用基因组来鉴定

TEsorter genome.fasta -genome -p 20

输出结果

rice6.9.5.liban.rexdb.domtbl        HMMScan raw output
rice6.9.5.liban.rexdb.dom.faa       protein sequences of domain, which can be used for phylogenetic analysis.
rice6.9.5.liban.rexdb.dom.tsv       inner domains of TEs/LTR-RTs, which might be used to filter domains based on their scores and coverages.
rice6.9.5.liban.rexdb.dom.gff3      domain annotations in `gff3` format
rice6.9.5.liban.rexdb.cls.tsv       TEs/LTR-RTs classifications
    Column 1: raw id
    Column 2: Order, e.g. LTR
    Column 3: Superfamily, e.g. Copia
    Column 4: Clade, e.g. SIRE
    Column 5: Complete, "yes" means one LTR Copia/Gypsy element with full GAG-POL domains.
    Column 6: Strand, + or - or ?
    Column 7: Domains, e.g. GAG|SIRE PROT|SIRE INT|SIRE RT|SIRE RH|SIRE; `none` for pass-2 classifications
rice6.9.5.liban.rexdb.cls.lib      fasta library for RepeatMasker
rice6.9.5.liban.rexdb.cls.pep    the same sequences as `rice6.9.5.liban.rexdb.dom.faa`, but id is changed with classifications.

根据需要提取对应的domain来进行比对后构建进化树

提取的时候注意使用的数据库不同关键词略有区别rexdb和gydb的域名有些不同:PROT(rexdb)=AP(gydb),RH(rexdb)=RNaseH(gydb)
我此处使用的是rexdb,所以提取所有domain的时候使用的是PROT和RH

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,997评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,603评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,359评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,309评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,346评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,258评论 1 300
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,122评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,970评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,403评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,596评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,769评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,464评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,075评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,705评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,848评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,831评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,678评论 2 354

推荐阅读更多精彩内容