查看: 6492|回复: 15

[其他] 【TBtools】利用gfff3和genome文件提取cds文件

  [复制链接]
  • TA的每日心情

    2018.1.11 15:26
  • 签到天数: 29 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    钵水母

    Rank: 3Rank: 3

    主题
    4
    奥币
    517
    积分
    104
    注册时间
    2016.4.10
    在线时间
    29 小时

    发表于 2016.7.22 21:44:03 | 显示全部楼层 |阅读模式

    马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    如题,能下载到一个物种的基因组序列(.fasta)和注释文件(.gff3),能不能提取到基因的cds文件。如果能,怎么实现。
    回复

    使用道具 举报

  • TA的每日心情
    忙~
    2018.5.15 08:35
  • 签到天数: 150 天

    连续签到: 1 天

    [LV.7]常住居民III

    版主

    Rank: 10Rank: 10Rank: 10

    主题
    15
    奥币
    4849
    积分
    2777
    注册时间
    2016.4.20
    在线时间
    390 小时

    突出贡献优秀版主论坛元老


    发表于 2016.7.23 21:46:46 | 显示全部楼层
    本帖最后由 Wuii 于 2016.7.23 21:48 编辑
    基迪奥-周煌凯 发表于 2016.7.22 23:38
    这个需要编程写脚本来解决,希望TBtools 整合这个功能就方便一些了。@Wuii




    谢谢 已添加
    录屏运行时间,实际是8min... 因为油菜嘛,基因组还是不小的
    暂时没考虑优化速度。

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x

    评分

    参与人数 1奥币 +15 贡献 +8 收起 理由
    基迪奥-周煌凯 + 15 + 8 厉害!

    查看全部评分

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    忙~
    2019.1.23 23:11
  • 签到天数: 104 天

    连续签到: 1 天

    [LV.6]常住居民II

    管理员

    Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

    主题
    45
    奥币
    5763
    积分
    4915
    注册时间
    2015.12.5
    在线时间
    505 小时

    活跃会员论坛元老


    发表于 2016.7.22 23:38:20 | 显示全部楼层
    这个需要编程写脚本来解决,希望TBtools 整合这个功能就方便一些了。@Wuii
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    忙~
    2019.1.23 23:11
  • 签到天数: 104 天

    连续签到: 1 天

    [LV.6]常住居民II

    管理员

    Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

    主题
    45
    奥币
    5763
    积分
    4915
    注册时间
    2015.12.5
    在线时间
    505 小时

    活跃会员论坛元老


    发表于 2016.7.22 23:38:28 | 显示全部楼层
    这个需要编程写脚本来解决,希望TBtools 整合这个功能就方便一些了。@Wuii
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2018.1.11 15:26
  • 签到天数: 29 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    钵水母

    Rank: 3Rank: 3

    主题
    4
    奥币
    517
    积分
    104
    注册时间
    2016.4.10
    在线时间
    29 小时

     楼主| 发表于 2016.7.23 00:05:20 | 显示全部楼层
    基迪奥-周煌凯 发表于 2016.7.22 23:38
    这个需要编程写脚本来解决,希望TBtools 整合这个功能就方便一些了。@Wuii

    周大大,您好,我在网上找到这样一个脚本,您帮忙看看能用吗?
    #!/usr/bin/perl
    # parse_gff3.pl
    # get the cds sequences from gff3 file.
    # usage: perl parse_gff3.pl gff3_input_file genome_sequence_directory >output.txt

    use strict;
    use warnings;

    use Bio::Tools::GFF;
    use Bio::DB::Fasta;

    my $gff3_file=$ARGV[0];  #gff3 input file
    my $genome=$ARGV[1]; #genome sequence directory
    my $gffio = Bio::Tools::GFF -> new(-file =>$gff3_file , -gff_version => 3);
    my $db    = Bio::DB::Fasta  -> new($genome);

    my $i=0;
    my $first=0;
    my $strand=0;
    my $seq='';
    while(my $feature = $gffio->next_feature()) {
    # Sometimes, the gff3 file format is a little different with the standard format,
    # So that the keys of the hashes are different.
    # Use the following lines of masked code to see the keys of the hashes. Some Change may be needed.
    #  $i++;
    #  if ($i==2){
    #    my @a=keys %{$feature};
    #    print "@a\n";
    #    my @b=keys %{$feature->{_location}};
    #    print "@b\n";
    #    print "$feature->{_primary_tag}\n";
    #  }
      if($feature->{_primary_tag}=~/mrna/i){
        $first++;
        if($first==1){
          $seq='';
        }else{
          print_sequence($seq,80,$strand);
          $seq='';
        }
        print ">$feature->{_gsf_tag_hash}->{Name}->[0]|$feature->{_gsf_tag_hash}->{ID}->[0]\n";
      }elsif($feature->{_primary_tag}=~/cds/i){
        my $seq_temp=$db->seq($feature->{_gsf_seq_id}, $feature->{_location}->{_start}=>$feature->{_location}->{_end});
        if($feature->{_location}->{_strand}=~/-/){  # to know the strand
          $seq=$seq_temp.$seq;
          $strand=0;
        }else{
          $seq.=$seq_temp;
          $strand=1;
        }
      }
    }
    print_sequence($seq,80,$strand);

    $gffio->close();

    sub print_sequence {
      my($sequence, $length,$strand) = @_;
      if($strand==0){  # if the sequence is on the minus strand, get its reverse-complement counterpart
        $sequence=~tr/ACGTacgt/TGCAtgca/;
        $sequence=reverse $sequence;
      }
      for ( my $pos = 0 ; $pos < length($sequence) ; $pos += $length ) {
        print substr($sequence, $pos, $length),"\n";
      }
    }
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    忙~
    2019.1.23 23:11
  • 签到天数: 104 天

    连续签到: 1 天

    [LV.6]常住居民II

    管理员

    Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

    主题
    45
    奥币
    5763
    积分
    4915
    注册时间
    2015.12.5
    在线时间
    505 小时

    活跃会员论坛元老


    发表于 2016.7.23 00:37:56 | 显示全部楼层
    lini828127 发表于 2016.7.23 00:05
    周大大,您好,我在网上找到这样一个脚本,您帮忙看看能用吗?
    #!/usr/bin/perl
    # parse_gff3.pl

    能不能用,试试就知道了。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    帝王蝶

    Rank: 4

    主题
    1
    奥币
    981
    积分
    462
    注册时间
    2015.12.21
    在线时间
    304 小时

    发表于 2016.7.23 10:19:13 | 显示全部楼层
    也可以试一下cufflinks里的gffread。不过GFF或GTF文件,不同数据库或网站格式会有差异,所以现成工具软件未必就好使。。。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    忙~
    2018.5.15 08:35
  • 签到天数: 150 天

    连续签到: 1 天

    [LV.7]常住居民III

    版主

    Rank: 10Rank: 10Rank: 10

    主题
    15
    奥币
    4849
    积分
    2777
    注册时间
    2016.4.20
    在线时间
    390 小时

    突出贡献优秀版主论坛元老


    发表于 2016.7.23 21:46:15 | 显示全部楼层
    gffreads在一些情况下有小bugs,

    试试 TBtools_v0.294 新加的功能
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2016.9.8 14:27
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    钵水母

    Rank: 3Rank: 3

    主题
    1
    奥币
    344
    积分
    59
    注册时间
    2016.7.26
    在线时间
    9 小时

    发表于 2016.7.26 17:57:17 | 显示全部楼层
    非常感谢Wul同志!i
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2016.8.31 19:11
  • 签到天数: 25 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    草履虫

    Rank: 2

    主题
    0
    奥币
    436
    积分
    16
    注册时间
    2016.5.27
    在线时间
    8 小时

    发表于 2016.7.27 11:25:49 | 显示全部楼层
    请问TBtools在哪可以下载使用呢
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2017.11.10 13:58
  • 签到天数: 353 天

    连续签到: 2 天

    [LV.8]以坛为家I

    管理员

    Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

    主题
    422
    奥币
    7507
    积分
    6612
    注册时间
    2015.11.23
    在线时间
    952 小时

    宣传达人优秀版主


    发表于 2016.7.27 16:45:33 | 显示全部楼层
    chency 发表于 2016.7.27 11:25
    请问TBtools在哪可以下载使用呢

    这个帖子里可以下载。
    【TBtools】工具汇总目录贴(V0.271,加入生成binGO的背景文件)
    http://www.omicshare.com/forum/thread-1062-1-7.html
    (出处: OmicShare Forum)
    有问题请发贴提问
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2016.12.8 08:24
  • 签到天数: 142 天

    连续签到: 1 天

    [LV.7]常住居民III

    帝王蝶

    Rank: 4

    主题
    6
    奥币
    1057
    积分
    335
    注册时间
    2016.5.16
    在线时间
    34 小时

    突出贡献


    发表于 2016.7.29 16:03:39 | 显示全部楼层
    看评论感觉很涨知识啊。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    忙~
    2018.5.15 16:35
  • 签到天数: 17 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    帝王蝶

    Rank: 4

    主题
    7
    奥币
    625
    积分
    222
    注册时间
    2016.4.7
    在线时间
    34 小时

    发表于 2016.8.3 16:00:06 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    草履虫

    Rank: 2

    主题
    0
    奥币
    74
    积分
    12
    注册时间
    2017.5.8
    在线时间
    0 小时

    发表于 2017.5.9 00:34:45 | 显示全部楼层

    谢谢科普!涨姿势~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    草履虫

    Rank: 2

    主题
    0
    奥币
    22
    积分
    2
    注册时间
    2019.4.13
    在线时间
    0 小时

    发表于 2019.4.13 17:36:48 | 显示全部楼层
    enen]
    回复

    使用道具 举报

  • TA的每日心情

    2017.5.19 08:26
  • 签到天数: 79 天

    连续签到: 1 天

    [LV.6]常住居民II

    帝王蝶

    Rank: 4

    主题
    4
    奥币
    25
    积分
    216
    注册时间
    2016.10.11
    在线时间
    174 小时

    发表于 2019.4.13 20:46:28 | 显示全部楼层
    很强大
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表