最近需要做转座子分析,查找发现可以使用 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. Linux kernel 内核学习路线

    看了下各位大神的推荐路线,总结如下: 0. 跟着项目走: 1. 学会用.熟练用linux系统: 2. Linux Kernel Development. 3. Understanding the Li ...

  2. ***apache做301重定向的方法

    将不带www的定向到带www去 方法一:加在httpd.conf 1.这里我使用mod_rewrite重写URL的方式来做,做之前朋友记得检查一下你的apache是否已经加载了rewrite模块.如图 ...

  3. topcoder 650 srm div2 1000pts

    (15) 也是 DIV1 500 题意是给定 一个无向图 删去一条边以后 可不可以是完全二叉树. 细节点很多,开始做法居然求到桥去了,最近强联通写傻了. 最多1024-1个点 1024-1条边枚举 所 ...

  4. POJ 3264 Balanced Lineup(RMQ_ST)

    题目链接:http://poj.org/problem? id=3264 Description For the daily milking, Farmer John's N cows (1 ≤ N  ...

  5. 【Mongodb教程 第十五课 】MongoDB 限制记录

    Limit() 方法 要限制 MongoDB 中的记录,需要使用 limit() 方法. limit() 方法接受一个数字型的参数,这是要显示的文档数. 语法: limit() 方法的基本语法如下 & ...

  6. React Native入门——布局实践:开发京东client首页(一)

    有了一些对React Native开发的简单了解,让我们从实战出发.一起来构建一个简单的京东client. 这个client是仿照之前版本号的京东client开发的Android版应用,来源于CSDN ...

  7. DBscan算法及其Python实现

    DBSCAN简介: 1.简介 DBSCAN 算法是一种基于密度的空间聚类算法.该算法利用基于密度的聚类的概念,即要求聚类空间中的一定区域内所包含对象(点或其它空间对象)的数目不小于某一给定阀值.DBS ...

  8. js的几种循环语句

    //js种的循环语句 //while与do while的区别是while是满足条件后才执行 //do while是不管满不满足条件都会执行一次 //for 循环与while,do while相比循环结 ...

  9. 2016/3/31 ①全选时 下面选项全选中 ② 下面不选中时 全选取消 ③在“” 中 转义字符的使用\ onclick=\"Checkpa(this,'flall')\"; ④区别于分别实现 重点在于两种情况合并实现

    testxuanbuxuan.php <!DOCTYPE html> <html lang="en"> <head> <meta char ...

  10. 2016/3/27 PHP中include和require的区别详解

    1.概要 require()语句的性能与include()相类似,都是包括并运行指定文件.不同之处在于:对include()语句来说,在执行文件时每次都要进行读取和评估:而对于require()来说, ...