如何从基于基因组的GFF文件中提取FASTA,然后合并同一转录本的FASTA并输出

-2 投票
1 回答
775 浏览
提问于 2025-04-30 08:53

谢谢你的帮助。我想提取特定的内含子 fasta 文件,然后把这个内含子 fasta 文件和 CDS fasta 文件合并,最后输出我想要的特定转录本。我该怎么用 biopython 或者 python 来实现呢?

我的 gff 文件示例:

1   ensembl intron  7904    9192    .   -   .   Parent=GRMZM2G059865_T01;Name=intron.71462
1   ensembl intron  6518    6638    .   -   .   Parent=GRMZM2G059865_T01;Name=intron.71465
1   ensembl intron  6266    6361    .   -   .   Parent=GRMZM2G059865_T01;Name=intron.71466
1   ensembl intron  5976    6107    .   -   .   Parent=GRMZM2G059865_T01;Name=intron.71467
1   ensembl intron  5189    5341    .   -   .   Parent=GRMZM2G059865_T01;Name=intron.71469
1   ensembl CDS 9193    9519    .   -   .   Parent=GRMZM2G059865_T01;Name=CDS.71479
1   ensembl CDS 7594    7903    .   -   0   Parent=GRMZM2G059865_T01;Name=CDS.71480
1   ensembl CDS 6918    7120    .   -   1   Parent=GRMZM2G059865_T01;Name=CDS.71481
1   ensembl CDS 6639    6797    .   -   0   Parent=GRMZM2G059865_T01;Name=CDS.71482
1   ensembl CDS 6362    6517    .   -   0   Parent=GRMZM2G059865_T01;Name=CDS.71483
1   ensembl CDS 6108    6265    .   -   0   Parent=GRMZM2G059865_T01;Name=CDS.71484
1   ensembl CDS 5857    5975    .   -   2   Parent=GRMZM2G059865_T01;Name=CDS.71485
1   ensembl CDS 5342    5407    .   -   1   Parent=GRMZM2G059865_T01;Name=CDS.71486
1   ensembl CDS 5127    5188    .   -   1   Parent=GRMZM2G059865_T01;Name=CDS.71487
1   ensembl intron  39443409    39443716    .   +   .   Parent=GRMZM2G441511_T01;Name=intron.100057
1   ensembl intron  39445109    39445314    .   +   .   Parent=GRMZM2G441511_T01;Name=intron.100061
1   ensembl intron  39450586    39450706    .   +   .   Parent=GRMZM2G441511_T01;Name=intron.100066
1   ensembl CDS 39443355    39443408    .   +   0   Parent=GRMZM2G441511_T01;Name=CDS.100082    
1   ensembl CDS 39443717    39443785    .   +   0   Parent=GRMZM2G441511_T01;Name=CDS.100083
1   ensembl CDS 39444013    39444161    .   +   0   Parent=GRMZM2G441511_T01;Name=CDS.100084
1   ensembl CDS 39444634    39444721    .   +   2   Parent=GRMZM2G441511_T01;Name=CDS.100085
1   ensembl CDS 39445026    39445108    .   +   0   Parent=GRMZM2G441511_T01;Name=CDS.100086
1   ensembl CDS 39445315    39445486    .   +   2   Parent=GRMZM2G441511_T01;Name=CDS.100087
1   ensembl CDS 39447442    39447548    .   +   0   Parent=GRMZM2G441511_T01;Name=CDS.100088
1   ensembl CDS 39449775    39449850    .   +   2   Parent=GRMZM2G441511_T01;Name=CDS.100089
1   ensembl CDS 39449938    39450049    .   +   0   Parent=GRMZM2G441511_T01;Name=CDS.100090
1   ensembl CDS 39450433    39450585    .   +   1   Parent=GRMZM2G441511_T01;Name=CDS.100091
1   ensembl CDS 39450707    39450822    .   +   1   Parent=GRMZM2G441511_T01;Name=CDS.100092
1   ensembl CDS 39450992    39451159    .   +   0   Parent=GRMZM2G441511_T01;Name=CDS.100093
1   ensembl CDS 39451204    39451266    .   +   0   Parent=GRMZM2G441511_T01;Name=CDS.100094
........
暂无标签

1 个回答

0

这个问题太模糊了,答案也是。你可以使用Biopython中的一个简单的Seq对象,来加载最初的或来源的(完整基因?)序列:

from Bio.Seq import Seq
from Bio.Alphabet import IUPAC

seq = Seq("ATCAGCATCAGCATCGACTAGCATCGCATCAGC", IUPAC.unambiguous_dna)
# Select this ^^^^^^^^          ^^    

print seq[3:10] + seq[20:23]
# AGCATCAGCA

撰写回答