最近需要做转座子分析,查找发现可以使用 TransposonPSI 来进行分析。但是登陆官网,该软件 update 时间为 2013 年,但是因为时间紧迫,暂时还没有进行其他方法的调研,所以先选用该软件进行了分析。

一、TransposonPSI 安装及使用

1. TransposonPSI 安装

官网: http://transposonpsi.sourceforge.net

下载地址:https://sourceforge.net/projects/transposonpsi/

压缩包非常小,只有 10M 左右,解压后修改主角本 transposonPSI.pl 中三个软件的路径(blastall, formatdb, blastpgp),即可食用。

目录结构:

README
docs/
PerlLib/
scripts/
transposon_ORF_lib/
transposon_PSI_LIB/
misc/
transposonPSIcreate/
TransposonWeb/
transposonPSI.pl
test/

2. TransposonPSI 使用入门

直接进入 test 目录,执行 runMe.sh 即可进行测试,非常简单。查看 runMe.sh 发现,输入文件是我们需要进行分析的数据序列,nuc 表示核酸序列,prot 表示蛋白序列。

if [ -e target_test_genome_seq.fasta.gz ] && ! [ -e target_test_genome_seq.fasta ]
then
gunzip target_test_genome_seq.fasta.gz
fi ../transposonPSI.pl target_test_genome_seq.fasta nuc

runMe.sh

二、TransposonPSI 流程解读

对 transposonPSI.pl 进行 Linux 脚本复现

cd /Transposon/div_step/
if [ -d tmp ]
then
rm -rf tmp
fi mkdir tmp
cd tmp
ln -s ../target_test_genome_seq.fasta
/software/blast-2.2./bin/formatdb -i target_test_genome_seq.fasta -p F cd /Transposon/div_step/tmp TPSI_list=(
cacta
DDE_1
gypsy
hAT
helitron
ISa
ISb
isc1316
line
ltr_Roo
mariner_ant1
mariner
MuDR
P_element
piggybac
TY1_Copia
TyrRecombinaseCrypton
) for int in {..}
do
name=${TPSI_list[$int]}
/software/blast-2.2./bin/blastall -i /Transposon/TransposonPSI_08222010/transposon_PSI_LIB/$name.refSeq -d target_test_genome_seq.fasta -p psitblastn -R /Transposon/TransposonPSI_08222010/transposon_PSI_LIB/$name.chk -F F -M BLOSUM62 -t - -e 1e- -v -b >target_test_genome_seq.$name.psitblastn
/Transposon/TransposonPSI_08222010/scripts/BPbtab </Transposon/div_step/tmp/target_test_genome_seq.$name.psitblastn> /Transposon/div_step/tmp/target_test_genome_seq.$name.psitblastn.btab
done cat /Transposon/div_step/tmp/*btab | sort -rn -k13 >/Transposon/div_step/target_test_genome_seq.TPSI.allHits cd /Transposon/div_step/
perl /Transposon/TransposonPSI_08222010/scripts/TBLASTN_hit_chainer.pl target_test_genome_seq.TPSI.allHits btab >target_test_genome_seq.TPSI.allHits.chains
perl /Transposon/TransposonPSI_08222010/scripts/TPSI_btab_to_gff3.pl target_test_genome_seq.TPSI.allHits.chains >target_test_genome_seq.TPSI.allHits.chains.gff3
perl /Transposon/TransposonPSI_08222010/scripts/TBLASTN_hit_chainer_nonoverlapping_genome_DP_extraction.pl target_test_genome_seq.TPSI.allHits.chains >target_test_genome_seq.TPSI.allHits.chains.bestPerLocus
perl /Transposon/TransposonPSI_08222010/scripts/TPSI_chains_to_gff3.pl target_test_genome_seq.TPSI.allHits.chains.bestPerLocus >target_test_genome_seq.TPSI.allHits.chains.bestPerLocus.gff3

work.sh

1. 格式化序列数据库

这是 blast 比对的首要步骤,这里我就不多介绍了,详细的参数和使用说明很多大佬都有介绍,使用时百度即可。

/software/blast-2.2.26/bin/formatdb -i target_test_genome_seq.fasta -p F

2. 数据库列表准备

TPSI_list=(
cacta
DDE_1
gypsy
hAT
helitron
ISa
ISb
isc1316
line
ltr_Roo
mariner_ant1
mariner
MuDR
P_element
piggybac
TY1_Copia
TyrRecombinaseCrypton
)

TPSI_list

以上列表为各类转座子名称,它们存在于 transposon_PSI_LIB/ 目录中,每一种数据库有三种格式:refSeq,chk,chkp

3. 序列与各数据库进行比对

/software/blast-2.2.26/bin/blastall \
  -i /Transposon/TransposonPSI_08222010/transposon_PSI_LIB/$name.refSeq \
  -d target_test_genome_seq.fasta \
  -p psitblastn -R /Transposon/TransposonPSI_08222010/transposon_PSI_LIB/$name.chk \
  -F F \
  -M BLOSUM62 \
  -t -1 \
  -e 1e-5 \
  -v 10000 \
  -b 10000 \
>target_test_genome_seq.$name.psitblastn

特殊参数

-R  PSI-TBLASTN checkpoint file [File In]  Optional

得到比对结果。

4. BPbtab

/Transposon/TransposonPSI_08222010/scripts/BPbtab \
  </Transposon/div_step/tmp/target_test_genome_seq.$name.psitblastn> \
  /Transposon/div_step/tmp/target_test_genome_seq.$name.psitblastn.btab

将比对结果转化为 btab 格式:

 cacta            PSITBLASTN    target_test_genome_seq.fasta    genome                    81.8    81.8        54.5                Plus        1e-
cacta PSITBLASTN target_test_genome_seq.fasta genome 68.3 78.0 52.9 Plus 4e-
cacta PSITBLASTN target_test_genome_seq.fasta genome 89.7 89.7 52.2 Plus 7e-
cacta PSITBLASTN target_test_genome_seq.fasta genome 75.8 75.8 49.8 Plus 3e-
cacta PSITBLASTN target_test_genome_seq.fasta genome 68.4 71.1 49.8 Plus 3e-
cacta PSITBLASTN target_test_genome_seq.fasta genome 29.7 39.8 49.5 Plus 4e-
cacta PSITBLASTN target_test_genome_seq.fasta genome 70.3 73.0 49.1 Plus 6e-
cacta PSITBLASTN target_test_genome_seq.fasta genome 76.5 79.4 48.7 Plus 7e-
cacta PSITBLASTN target_test_genome_seq.fasta genome 33.3 46.5 48.7 Plus 7e-
cacta PSITBLASTN target_test_genome_seq.fasta genome 55.6 64.4 48.3 Plus 1e-
cacta PSITBLASTN target_test_genome_seq.fasta genome 73.5 73.5 47.2 Plus 2e-
cacta PSITBLASTN target_test_genome_seq.fasta genome 58.5 60.4 47.2 Plus 2e-
cacta PSITBLASTN target_test_genome_seq.fasta genome 62.8 62.8 46.0 Plus 5e-
cacta PSITBLASTN target_test_genome_seq.fasta genome 61.9 61.9 44.1 Plus 2e-
cacta PSITBLASTN target_test_genome_seq.fasta genome 62.5 62.5 43.7 Plus 3e-

target_test_genome_seq.cacta.psitblastn.btab

BPtab 是一个Blast输出解析器, 脚本将 WU-BLAST 或 NCBI-BLAST 输出文件解析为BTAB格式,其中每个 HSP 报告为带有制表符分隔字段的单行。

5. 统计比对结果

cat /Transposon/div_step/tmp/*btab | sort -rn -k13 >/Transposon/div_step/target_test_genome_seq.TPSI.allHits
 TY1_Copia            PSITBLASTN    target_test_genome_seq.fasta    genome                    27.2    46.4                        Plus
helitronORF PSITBLASTN target_test_genome_seq.fasta genome 53.4 64.2 Plus
Crypton PSITBLASTN target_test_genome_seq.fasta genome 40.7 57.7 Plus 1.18E-139
TY1_Copia PSITBLASTN target_test_genome_seq.fasta genome 35.3 56.2 Plus 1.00E-129
helitronORF PSITBLASTN target_test_genome_seq.fasta genome Plus 1.00E-125
gypsy PSITBLASTN target_test_genome_seq.fasta genome 26.7 46.7 Plus 1.18E-109
cacta PSITBLASTN target_test_genome_seq.fasta genome 81.8 81.8 54.5 Plus 1.18E-04

target_test_genome_seq.TPSI.allHits

BTAB 格式的具体内容并为完全掌握,暂时不提。

6. 共线性 HSPs 关联

perl /Transposon/TransposonPSI_08222010/scripts/TBLASTN_hit_chainer.pl \
  target_test_genome_seq.TPSI.allHits btab \
>target_test_genome_seq.TPSI.allHits.chains

collinear HSPs are chained together into larger chains (more complete element regions).

将共线性的 HSP 连接在一起,形成 larger chains,例如下面的文件,会将线性相关的放在一起

 #Chain  Crypton - genome  -     +       46.3
Crypton PSITBLASTN target_test_genome_seq.fasta genome 32.6 47.9 85.5 #Chain Crypton - genome - + 92.7
Crypton PSITBLASTN target_test_genome_seq.fasta genome 42.5 57.5 66.2
Crypton PSITBLASTN target_test_genome_seq.fasta genome 33.5 50.0 #Chain Crypton - genome - + 148.0
Crypton PSITBLASTN target_test_genome_seq.fasta genome 37.9 55.7
Crypton PSITBLASTN target_test_genome_seq.fasta genome 34.8 48.2

target_test_genome_seq.TPSI.allHits.chains

7. 将 larger chains 转 gff3 格式

perl /Transposon/TransposonPSI_08222010/scripts/TPSI_btab_to_gff3.pl \
  target_test_genome_seq.TPSI.allHits.chains \
>target_test_genome_seq.TPSI.allHits.chains.gff3

8. best chains :提取分数最高的 chains

perl /Transposon/TransposonPSI_08222010/scripts/TBLASTN_hit_chainer_nonoverlapping_genome_DP_extraction.pl \
  target_test_genome_seq.TPSI.allHits.chains \
>target_test_genome_seq.TPSI.allHits.chains.bestPerLocus

9. best chains 转 gff3 格式

perl /Transposon/TransposonPSI_08222010/scripts/TPSI_chains_to_gff3.pl \
  target_test_genome_seq.TPSI.allHits.chains.bestPerLocus \
>target_test_genome_seq.TPSI.allHits.chains.bestPerLocus.gff3

即为最终结果。

转载请注明出处:https://www.cnblogs.com/Shinamy/p/10956849.html

TransposonPSI——转座子分析的入门自学的更多相关文章

  1. 适合入门自学服装裁剪滴书(更新ing)

    [♣]适合入门自学服装裁剪滴书(更新ing) [♣]适合入门自学服装裁剪滴书(更新ing) 适合入门自学服装裁剪滴书(更新ing) 来自: 裁缝阿普(不为良匠,便为良医.) 2014-04-06 23 ...

  2. TypeScript 入门自学笔记 — 类型断言(二)

    码文不易,转载请带上本文链接,感谢~ https://www.cnblogs.com/echoyya/p/14558034.html 目录 码文不易,转载请带上本文链接,感谢~ https://www ...

  3. JAVA是否适合非科班者自学入行?石油工程专业从培训到JAVA入门自学亲身经历

    如今的我已经过了三十而立的年纪,虽然在三十岁我没有立下任何事业,相反,还在茫茫苦海中挣扎. 但是我并不是没有收获.当然,曾经在我拥有大好青春年华的时候选择了迷茫,以至于当我有所明悟的时候,却已经错过了 ...

  4. python-零基础入门-自学笔记

    目录 第一章:计算机基础 1.1 硬件组成 1.2 操作系统分类 1.3 解释型和编译型介绍 第二章:Python入门 2.1 介绍 2.2 python涉及领域 2.2.1 哪些公司有使用Pytho ...

  5. 给hadoop新手的一封信:Hadoop入门自学及对就业的帮助

    学习指南,刚接触这个确实有点懵逼,感觉还有很多东西要学要看,自己要逐渐构造成一个框架的体系. 附上一个学习博客地址: http://www.cnblogs.com/mephisto/p/4835386 ...

  6. 【第三课】WEBIX 入门自学-Hello World

    在看官网教程时,入门的例子就是dataTable这个空间.So,遵循官网,一起来看一下入门的DataTable组件: WEB使用时固然是先引入相应的库文件: 代码如下 <html> < ...

  7. php入门自学小展示

    <!doctype html> <html> <head> <title>PHP函数小展示</title> </head> &l ...

  8. ReentrantLock 源码分析从入门到入土

    回答一个问题 在开始本篇文章的内容讲述前,先来回答我一个问题,为什么 JDK 提供一个 synchronized 关键字之后还要提供一个 Lock 锁,这不是多此一举吗?难道 JDK 设计人员都是沙雕 ...

  9. 【第二课】WEBIX 入门自学-获取WEBIX及相关资料

    下载WEBIX组件库 http://webix.com/download/ WEBIX在线文档 http://docs.webix.com/ 离线的手册 下载

随机推荐

  1. eclispe使用

    eclipse 快捷键 ctrl+shif+o     :去除多余引用 ctrl+shift+x    :转大写 ctrl+shift+y    :转小写 ctrl+o :查找方法 Alt+ ← :回 ...

  2. 线程&线程池

    线程 进程和线程: 进程只是用来把资源集中到一起(进程只是一个资源单位,或者说资源集合),而线程才是cpu上的执行单位. 注意:两个都是过程 线程一个特点: 一个进程中,多个线程共享资源 线程和进程区 ...

  3. list如何remove

    http://blog.sina.com.cn/s/blog_621b6f0e0100s5n5.html 在java中对list进行操作很频繁,特别是进行list启遍历,这些操作我们都会,也很熟悉,但 ...

  4. hdu - 5007 Post Robot (水题)

    http://acm.hdu.edu.cn/showproblem.php?pid=5007 #include<iostream> #include<stdio.h> #inc ...

  5. [Bzoj4817] [Sdoi2017]树点涂色 (LCT神题)

    4817: [Sdoi2017]树点涂色 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 629  Solved: 371[Submit][Status ...

  6. ABP每次生成前都执行bundle设置

    ABP项目每次编译mvc项目时都会执行bundle,比较耗时. 可以在项目文件(*.csproj)中发现设置了每前生成前执行的命令 <Target Name="PreBuild&quo ...

  7. OpenWrt 安装python-sqlite3失败

    https://dev.openwrt.org/ticket/12239 #12239 reopened defect Sqlite3 missing in python 汇报人: dgspai@- ...

  8. Hadoop在window上运行 user=Administrator, access=WRITE, inode="hadoop"

    win7下eclipse中错误的详细描述如下: org.apache.hadoop.security.AccessControlException: org.apache.hadoop.securit ...

  9. Scala入门到精通——第二十四节 高级类型 (三)

    作者:摆摆少年梦 视频地址:http://blog.csdn.net/wsscy2004/article/details/38440247 本节主要内容 Type Specialization Man ...

  10. [Unit Testing] Mock an HTTP request using Nock while unit testing

    When testing functions that make HTTP requests, it's not preferable for those requests to actually r ...