基因组学基因组结构变异

【基因组学】从基因组中提取基因序列,一段序列及相应的注释文件

2021-04-05  本文已影响0人  巩翔宇Ibrahimovic

写在前面
要让从基因组中获取信息变得像喝水那样简单。 --by zhougengxu

预先准备

我以水稻基因组为例,像大家介绍如何提取序列。

基因组文件:水稻基因组,水稻注释文件,水稻CDS文件(用作检验)
工具:samtools,bedtools,awk

1.下载文件

wget https://rapdb.dna.affrc.go.jp/download/archive/irgsp1/IRGSP-1.0_genome.fasta.gz
gunzip IRGSP-1.0_genome.fasta.gz
wget https://rapdb.dna.affrc.go.jp/download/archive/irgsp1/IRGSP-1.0_representative_2020-12-02.tar.gz
tar xvf IRGSP-1.0_representative_2020-12-02.tar.gz

2.提取基因序列

2.1提取gff文件的所有基因位置,并转换成bed格式

awk '{if($3~/^gene$/)print}' locus.gff > genes.gff
gff2bed <genes.gff> genes.bed

2.2计算染色体长度

samtools faidx IRGSP-1.0_genome.fasta
cut -f 1,2 IRGSP-1.0_genome.fasta.fai > sizes.chr

2.3在基因组序列中抓取基因的序列

bedtools getfasta -s -fi IRGSP-1.0_genome.fasta -bed genes.bed -fo genes.fa -name

打包成脚本如下

#bin/bash
GFF=locus.gff
GENOME=IRGSP-1.0_genome.fasta
awk '{if($3~/^gene$/)print}' $GFF > genes.gff
gff2bed <genes.gff> genes.bed
samtools faidx $GENOME
cut -f 1,2 $GENOME.fai > sizes.chr
bedtools getfasta -s -fi $GENOME -bed genes.bed -fo genes.fa -name

3.提取基因组中的一段序列

比如我只想提取一号染色体上的10000-50000这一段序列。
首先建立索引。

samtools faidx IRGSP-1.0_genome.fasta

然后根据染色体信息和物理位置直接提取。这里注意,如何要和目的4连用的话,要修改>后面的值与gff文件一致才可以。

samtools faidx IRGSP-1.0_genome.fasta chr01:10000-50000 > chr1.fa
>chr01:10000-50000
TAAGGAAAGTATAGTCAGGTTTACTTATAATGCAACTTATTGGCATATTAATGCATGTTT
ATTGTTTGCACTCCTGAAGTTGAGTTGGTCAATTTTTTCCATAGATGTTCAATGATAATA
TGCTGAAGATCAATGTAAAAAGATGCGTACGCATGGCTATCAAGCTGAGGAAGAagtata
tttacaaggtaaattgtgataagcatacatgagcaccatccatgtttttcaggtatattt
acaaggtaagttctaaTTTGGTCTTGGGATACAGTTATTGAAGGGGGGCTCGGAATGATG
AAAAAGTGGAAACTGAAGTTGAGAAATCGCCCTGGGGAACTAGATGTTTTTCAACCATGA
ACTTCTCGTAATTATGGGTGATGGAACTTTATATATTCATTAGAAGTCCAAAAAAAATCC
GTATACTCACGGTATGGATTCCCTCTTTCTGTTTATGTTTTGTTAGAGATGGATGACGTA
CATAATCTGCTTGTCTTGTTTCAGGGAATCTGTACATATGCACAGTATACTTGAAAACAA。。。。

4.提取3中对应的gff文件

首先提取目的区域的文件。

less -SN locus.gff | grep 'chr01' | awk '$4>=10000{print$0}' | awk '$5<=50000{print$0}' > trunted.gff
      1 chr01   irgsp1_locus    gene    11218   12435   .       +       .       ID=Os01g0100200;Name=Os01g0100200;Note=Conserved hypothetica
      2 chr01   irgsp1_locus    gene    11372   12284   .       -       .       ID=Os01g0100300;Name=Os01g0100300;Note=Cytochrome P450 domai
      3 chr01   irgsp1_locus    gene    12721   15685   .       +       .       ID=Os01g0100400;Name=Os01g0100400;Note=Similar to Pectineste
      4 chr01   irgsp1_locus    gene    12808   13978   .       -       .       ID=Os01g0100466;Name=Os01g0100466;Note=Hypothetical protein.
      5 chr01   irgsp1_locus    gene    16399   20144   .       +       .       ID=Os01g0100500;Name=Os01g0100500;Note=Immunoglobulin-like d
      6 chr01   irgsp1_locus    gene    22841   26892   .       +       .       ID=Os01g0100600;Name=Os01g0100600;Note=Single-stranded nucle
      7 chr01   irgsp1_locus    gene    25861   26424   .       -       .       ID=Os01g0100650;Name=Os01g0100650;Note=Hypothetical gene. (O
      8 chr01   irgsp1_locus    gene    27143   28644   .       +       .       ID=Os01g0100700;Name=Os01g0100700;Note=Similar to 40S riboso
      9 chr01   irgsp1_locus    gene    29818   34453   .       +       .       ID=Os01g0100800;Name=Os01g0100800;Note=Protein of unknown fu
     10 chr01   irgsp1_locus    gene    35623   41136   .       +       .       ID=Os01g0100900;Name=Os01g0100900;Note=Sphingosine-1-phospha

其次对目标区域的物理位置进行相加减,便可得出目的区域中的基因组注释信息。这里注意,减去的数值是目的位置的数值减1,具体原因就是小学的切树理论。这样才能保证你用截短的注释文件提取的序列和原文件中提取的序列保持一致。

less -SN trunted.gff | awk '{print$1"\t"$2"\t"$3"\t"$4-9999"\t"$5-9999"\t"$6"\t"$7"\t"$8"\t"$9}' > trunted2.gff
      1 chr01   irgsp1_locus    gene    1219    2436    .       +       .       ID=Os01g0100200;Name=Os01g0100200;Note=Conserved
      2 chr01   irgsp1_locus    gene    1373    2285    .       -       .       ID=Os01g0100300;Name=Os01g0100300;Note=Cytochrome
      3 chr01   irgsp1_locus    gene    2722    5686    .       +       .       ID=Os01g0100400;Name=Os01g0100400;Note=Similar
      4 chr01   irgsp1_locus    gene    2809    3979    .       -       .       ID=Os01g0100466;Name=Os01g0100466;Note=Hypothetical
      5 chr01   irgsp1_locus    gene    6400    10145   .       +       .       ID=Os01g0100500;Name=Os01g0100500;Note=Immunoglobulin-like
      6 chr01   irgsp1_locus    gene    12842   16893   .       +       .       ID=Os01g0100600;Name=Os01g0100600;Note=Single-stranded
      7 chr01   irgsp1_locus    gene    15862   16425   .       -       .       ID=Os01g0100650;Name=Os01g0100650;Note=Hypothetical
      8 chr01   irgsp1_locus    gene    17144   18645   .       +       .       ID=Os01g0100700;Name=Os01g0100700;Note=Similar
      9 chr01   irgsp1_locus    gene    19819   24454   .       +       .       ID=Os01g0100800;Name=Os01g0100800;Note=Protein
     10 chr01   irgsp1_locus    gene    25624   31137   .       +       .       ID=Os01g0100900;Name=Os01g0100900;Note=Sphingosine-1-phospha

最后得到的trunted2.gff便是我们想要的目标3里面基因组文件对应的注释文件了。

参考链接

1.https://www.omicsclass.com/article/1169
2.https://mp.weixin.qq.com/s/0CvJNGM_MJGm-wbOxtczzw

上一篇下一篇

猜你喜欢

热点阅读