-1
名单我已经写了一个Perl脚本来检索围棋注释(分子功能尤其是去ID)转到注释。为了检索去注释,我使用了一个R语句,可以在几行内做到这一点,并使用Perl来格式化输出。但它不起作用。使用Perl脚本包含R脚本以检索的accesion数
我有这个错误:
Global symbol "$lines" requires explicit package name (did you forget to declare "my $lines"?) at GO_Perl_R line 21. Global symbol "$lines" requires explicit package name (did you forget to declare "my $lines"?) at GO_Perl_R line 22. Global symbol "$hits" requires explicit package name (did you forget to declare "my $hits"?) at GO_Perl_R line 22. Global symbol "$go" requires explicit package name (did you forget to declare "my $go"?) at GO_Perl_R line 24. Global symbol "@MF" requires explicit package name (did you forget to declare "my @MF"?) at GO_Perl_R line 24. Global symbol "$id" requires explicit package name (did you forget to declare "my $id"?) at GO_Perl_R line
24. Global symbol "$lines" requires explicit package name (did you forget to declare "my $lines"?) at GO_Perl_R line 25. Global symbol "$go" requires explicit package name (did you forget to declare "my $go"?) at GO_Perl_R line 25. Global symbol "@MF" requires explicit package name (did you forget to declare "my @MF"?) at GO_Perl_R line
25. Global symbol "@id" requires explicit package name (did you forget to declare "my @id"?) at GO_Perl_R line 25. Global symbol "$go" requires explicit package name (did you forget to declare "my $go"?) at GO_Perl_R line 25. Global symbol "@MF" requires explicit package name (did you forget to declare "my @MF"?) at GO_Perl_R line 25. Global symbol "@term" requires explicit package name (did you forget to declare "my @term"?) at GO_Perl_R line 25. Execution of GO_Perl_R aborted due to compilation errors.
这是我的代码:
#! usr/bin/perl
use warnings;
use strict;
use Statistics::R;
my $R = Statistics::R->new();
my $i = 1;
# open the file containing uniprot accession numbers
open (ACC, "acc_numbers.txt") or die "Can't open acc_numbers.txt: $!\n";
while (my @lines=<ACC>) {
chomp($_);
}
$R -> startR;
$R -> send('library(mygene);');
$R -> run (q`sink('GO_MF.txt')`);
$R -> run (q`sink()`);
$R -> run (
qq`while($lines){
res<-query($lines,fields='go')$hits,
sink('GO_MF.txt', append=TRUE),
while($i <= length(res$go$MF[[1]]$id) {
print(paste($lines,"\n",res$go$MF[[1]]$id[$i],"\t",res$go$MF[[1]]$term[$i],"\n"),
sink(),
}
}`
);
exit 0;
任何解决方案使用Perl脚本,R脚本来达到我的目的或合并两者都应该是有用的。
输出文件格式是这样的:
P10214
GO:xxxxxxx "aaaaaaaaaaaaaaaaaaaaa"
GO:zzzzzzzz "bbbbbbbbbbbbbbbbbbbbb"
...................
Q34F56
GO:fffffffffff "ccccccccccccccccccccccc"
GO:gggggg "hhhhhhhhhhhhhhhhhhhh"
...................
谢谢你这么多。