-1

次のようなものを取得する必要があります。

ここに画像の説明を入力

ただし、続行する方法がわかりません...今、私はこれを持っています:

ここに画像の説明を入力

つまり... タグの付け方や対応するトランスクリプト、CDS などがわからないのです。

現在の私のコードは次のとおりです。

#!/usr/bin/perl

#use strict;
use Bio::Graphics;
use Bio::SeqFeature::Generic;

my $panel = Bio::Graphics::Panel->new(
                                      -length => 20000,
                                      -width  => 800
                                     );

my $full_length = Bio::SeqFeature::Generic->new(
                                                -start => 1,
                                                -end   => 20000,
                                               );



$panel->add_track($full_length,
                  -key     => "hola",
                  -glyph   => 'arrow',
                  -tick    => 2,
                  -fgcolor => 'black',
                  -double  => 1,
                 );

my $track = $panel->add_track(
                              -glyph => 'generic',
                              -label => 1
                             );

my $track = $panel->add_track(
                              -glyph => 'generic',
                              -label => 1
                             );


$seq = "";
$seqlength = length($seq);
$count = 0;
while (<>) {
  chomp;
  next if /^\#/;
  my @gff_data = split /\t+/;
  next if ($gff_data[2] ne "gene");
  my $feature = Bio::SeqFeature::Generic->new(

                                              -display_name => $gff_data[8],
                                              -score        => $gff_data[5],
                                              -start        => $gff_data[3],
                                              -end          => $gff_data[4],
                                             );
  $track->add_feature($feature);
}

print $panel->png;

私もCPAN情報を読みましたが、手がかりはありません... NCBIファイルには多くの情報がありますが、GFFには何もありません...

私のデータ:

313-9640000-9660000:19634:fwd   maker   gene    1978    7195    .   +   .   ID=maker-313-9640000-9660000%3A19634%3Afwd-augustus-gene-0.10;Name=maker-313-9640000-9660000%253A19634%253Afwd-augustus-gene-0.10
313-9640000-9660000:19634:fwd   maker   mRNA    1978    7195    .   +   .   ID=maker-313-9640000-9660000%3A19634%3Afwd-augustus-gene-0.10-mRNA-1;Name=maker-313-9640000-9660000%253A19634%253Afwd-augustus-gene-0.10-mRNA-1;Parent=maker-313-9640000-9660000%3A19634%3Afwd-augustus-gene-0.10
313-9640000-9660000:19634:fwd   maker   exon    1978    2207    0.48    +   .   Parent=maker-313-9640000-9660000%3A19634%3Afwd-augustus-gene-0.10-mRNA-1
313-9640000-9660000:19634:fwd   maker   exon    3081    3457    0.48    +   .   Parent=maker-313-9640000-9660000%3A19634%3Afwd-augustus-gene-0.10-mRNA-1
313-9640000-9660000:19634:fwd   maker   exon    3535    3700    0.48    +   .   Parent=maker-313-9640000-9660000%3A19634%3Afwd-augustus-gene-0.10-mRNA-1

どんな助けでも大歓迎です。

4

3 に答える 3

1
use Bio::Graphics;
use Bio::Tools::GFF;
use Bio::SeqFeature::Generic;

$gfffile = shift;
my $gff = Bio::Tools::GFF->new(-file => $gfffile, -gff_version => 3);

while($feature = $gff->next_feature()) {
  $tag = $feature->primary_tag;
  push @{$hash{$tag}}, $feature;
}
$gff->close();

my $panel = Bio::Graphics::Panel->new(
                                  -length => 20000,
                                  -width  => 800,
                                  -key_style => 'between',
                                 );

my $full_length = Bio::SeqFeature::Generic->new(
                                            -start => 1,
                                            -end   => 20000,
                                           );

$panel->add_track($full_length,
              -key     => "hola",
              -glyph   => 'arrow',
              -tick    => 2,
              -fgcolor => 'black',
              -double  => 1,
             );

my @colors = qw(cyan orange blue);
my $idx    = 0;
for my $tag (sort keys %hash) {
  my $features = $hash{$tag};
  $panel->add_track($features,
                -glyph       =>  'generic',
                -bgcolor     =>  $colors[$idx++ % @colors],
                -fgcolor     => 'black',
                -font2color  => 'red',
                -key         => "${tag}s",
                -bump        => +1,
                -height      => 8,
                -label       => 1,
                -description => 1,
               );
} 
print $panel->png;
于 2015-01-15T08:34:38.913 に答える
0

私はあなたと同じ問題を抱えていました。このことは、説明するのが非常に簡単ではありません。最後に私はそれを解決し、私の数字はあなたのものとかなり似ています。私の場合、いくつかの遺伝子の 5' UTR でいくつかのエンコード データを接続したいと考えました。そして、このエンコードデータは破線で結ばれているはずです。そこで、Bio::SeqFeature::Generic オブジェクトを作成し、内部にプロットする情報がエンコード領域であるため、このエンコード領域は内部に sub_locate する必要があります。

my $splitlocation = Bio::Location::Split->new();
foreach $encode_regions ....{
    $splitlocation->add_sub_Location(Bio::Location::Simple->new(-start=>$start,-end=>$end,-  strand=>$strand,-splittype=>"join"));
}

$exones = new Bio::SeqFeature::Generic(
    -primary_tag => 'Encode Regions',
    -location=>$splitlocation
);
于 2014-01-21T16:26:30.227 に答える
0

最初のスクリーン キャプチャに表示されているのは GBrowse のものである可能性が高く、トラック ラベル (「タグ」とはこれを意味していると思います) は構成ファイルで定義されています。オブジェクトの作成時に 'label' および 'label_feat' 属性を設定することで、機能ラベルのオン/オフを切り替えることができます。MAKER によって ID として設定された長い文字列が気に入らない場合は、ファイルを手動で編集する必要があります。

別のグリフを選択することで、各フィーチャの外観を変更できます。たとえば、「一般的な」グリフを選択した場合、機能の場所を示す非常に一般的なボックスが表示されます。見栄えの良いトランスクリプトについては、'processed_transcript' および 'decorated_transcript' グリフをご覧ください。

コードには、特定のセクションの重複などの問題もありますが、コードのコピーと貼り付けが原因である可能性があります。

于 2014-01-19T16:43:49.883 に答える