介绍
- 香榧基因组的注释文件(单条染色体),一次pasa更新需要大约13个小时,两次的话需要一天,而且一个基因组有11条,有5个基因......需要个便利的shell脚本;这样就只需要敲一次命令行就可以了,缩短了等待时间,也不用等一次型更新,再次敲键盘进行第二次更新,自动化
- 输入参数4个,对应4个输入文件
- evm整合后的gff3文件
- pasa回帖后生成的转录本文件
- alignassembly.config,pasa回帖时用到的参数设定文件
- annotCompare.config,参数文件
- c和d都是参数文件,这部分还是需要手动填写,毕竟涉及到数据库的调用
- /home/annotCompare_base.config,文件的路径设置;还有,一般应该吧数据放在当前运行的文件夹下方,这样能够写入到annotCompare_base.config文件中
- 总结:看了一下,参数设定和文件设置方面还是需要修改一下,只放一个脚本可能不够,毕竟是配合镜像和配置文件一起使用的,这部分后续有机会再更新好了。
示例命令
- g,注释文件,以下全部使用绝对路径
- t,转录本文件
- a,alignassembly.config
- f,基因组文件
- n,指定几号染色体,输入数字,用于最终文件命名
nohup bash /home/pasa_update.sh \
-g /home/trinity/06trinity_out_dir/06evm.out.gff3 \
-t /home/trinity/06trinity_out_dir/pasa/06.assemblies.fasta \
-a /home/trinity/06trinity_out_dir/alignAssembly.config \
-f /home/trinity/female.hap2.hicsc.0006.fasta \
-n 06 &
第一版
#!/bin/bash
#初始化变量
gff3="";trans="";align="";fasta="";num=""
#使用getopts来处理输入参数,进行赋值
while getopts "g:t:a:f:n:" opt; do
case $opt in
g) #evm整合后的gff3文件
gff3=$OPTARG ;;
t) #pasa回帖得到的转录本
trans=$OPTARG ;;
a) #pasa回帖时用到的文档
align=$OPTARG ;;
f) #指定基因组文件
fasta=$OPTARG ;;
n) #指定编号
num=$OPTARG ;;
esac
done
#1. 创建文件夹,用于存储第一次update的注释文件,避免产生混乱
dir=$(pwd)
mkdir update1
cd update1
#2. 检查gff3文件和pasa兼容性
/usr/local/src/PASApipeline/misc_utilities/pasa_gff3_validator.pl $gff3
#3. 将需要更新的gff文件上传到pasa数据库
/usr/local/src/PASApipeline/scripts/Load_Current_Gene_Annotations.dbi \
-c $align -g $fasta \
-P $gff3
#4. 修改配置文件annotCompare.config,只需要增加一个数据库路径就可以了,其他保持不变,这里仿照evm.sh,设置一个base文档,然后拿来利用
#DATABASE=
cp /home/annotCompare_base.config ./
mv annotCompare_base.config annotCompare.config
echo "DATABASE=$dir/$num" >> annotCompare.config
#5. 注释比较和更新
/usr/local/src/PASApipeline/Launch_PASA_pipeline.pl \
-c annotCompare.config -A \
-g $fasta \
-t $trans \
--CPU 1
#6. 移动文件
mkdir ../update2
cd ../update2
#7. 提交更新后的gff3文件到pasa数据库
/usr/local/src/PASApipeline/scripts/Load_Current_Gene_Annotations.dbi \
-c $align -g $fasta \
-P ../update1/*.gff3
#8. 第二次注释更新
/usr/local/src/PASApipeline/Launch_PASA_pipeline.pl \
-c ../update1/annotCompare.config -A \
-g $fasta \
-t $trans \
--CPU 1 &
#9. 文件重命名
mv *.gff3 ${num}evm.update.gff3