根据已知的参考基因组和GTF创建适合自己分析的基因组和GTF

  • A+
所属分类:生物信息学

###############################################################

######################## Genome build #########################

###############################################################

###删除染色体号后面的内容(包括空格)

###写了一个perl程序,可以切除匹配项之后的信息,得到匹配上的项。

###Perl 名 :cut_space.pl,以下就是程序内的语句:(不同文件需要修改染色体号)

#!/usr/bin/perl
open(FR,"10.fa")||die;
open(FW,">10_cut.fa")||die;

while(<FR>) {
chomp;
if ($_=~/(>\d+)/)
{
print FW "$1\n";
}
else {print FW "$_\n";}
}
close FR;
close FW;

###有些时候染色体号前需要加上chr,可以用perl程序:

###程序名:fa_add_chr.pl:

#!/usr/bin/perl
open(FR,"10.fa")||die;
open(FW,">10_add_chr.fa")||die;

while(<FR>) {
chomp;
if($_ =~/^>/)
{
$_ =~ s/>/>chr/g;
print FW "$_\n"
}
else {print FW "$_\n";}
}
close FR;
close FW;

###############################################################

######################## Ref GTF build ########################

###############################################################

###两种方法:一种是直接通过perl实现:

###一、perl程序:两步;

###1、删除没用的染色体:gtf_del_useless_chr.pl

#!/usr/bin/perl
open(FW,"Macaca_mulatta.MMUL_1.73.gtf")||die;
open(FM,">DEL_Macaca_mulatta.MMUL_1.73_del_un.gtf")||die;
while(<FW>)
{
chomp;
if($_=~/^1099*/)
{
print FM ""
}
else
{
print FM "$_\n"
}
}
close FW;
close FM;

###2、在染色体号前加chr:gtf_add_chr.pl

#!/usr/bin/perl
#first chr numble must add chr.
open(FR,"DEL_Macaca_mulatta.MMUL_1.73_del_un.gtf")||die;
open(FW,">Add_chr_Macaca_mulatta.MMUL_1.73_del_un.gtf")||die;

while(<FR>) {
chomp;
if($_=~/^\d/ or $_=~/^X/ or $_=~/^MT/)
{print FW "chr$_\n"}
else {print FW "\n"}
}
close FR;
close FW;

###二、Linux shell实现:

###1、导出每个染色体的GTF:

for i in `seq 20`
do
grep '^'${i}''$'\t' Macaca_mulatta.MMUL_1.73.gtf >${i}.gtf
done

grep '^X'$'\t' Macaca_mulatta.MMUL_1.73.gtf >X.gtf
grep '^MT'$'\t' Macaca_mulatta.MMUL_1.73.gtf >MT.gtf

cat *.gtf >Macaca_mulatta_1.73_final.gtf #合并每个GTF;

###2、在染色体号前加chr:gtf_add_chr.pl,同perl的方法相同。(略)

  • 蛋白质组学业务咨询
  • 扫码咨询相关问题
  • weinxin
  • 代谢组学业务咨询
  • 扫码咨询相关问题
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: