为什么我不能删除空行?

时间:2017-04-23 14:50:40

标签: perl

文件A包含如下所示的一行

SNP1 AA TT GGSNP2 GG CC AASNP3 GG CC AA...

我想更改格式并将其设为这样,

SNP1    TT      AA      TT      GG      CC      AA
SNP2    AA      GG      CC      TT      GG      CC
SNP3    GG      AA      TT      TT      CC      TT

... (每行以SNP_开头) 我写了一个perl脚本用\ nSNP替换SNP,但输出文件的第一行总是空的,虽然我已经尝试删除第一行了。 那么,对我有什么建议吗?或者另一种获取最终输出文件的方法。 非常感谢。

2 个答案:

答案 0 :(得分:2)

确保在您改变的每个myfun <- function(item, sales, mean_trajectory, week) { sale_row<- filter(sales, item_code == item$item_code) data.frame( LTF_t_minus_1 = mean_trajectory$sales[[week-1]], LTF_t = mean_trajectory$sales[[week]], LTF_t_plus_1 = mean_trajectory$sales[[week+1]], RS_t_minus_1 = sale_row$sales[[week-1]], RS_t = sale_row$sales[[week]], STF_t_plus_1 = sale_row$sales[[week+1]]) } system.time({ lapply(in_cluster, myfun, sales= sales, mean_trajectory = mean_trajectory) %>% bind_rows() }) 之前都有一个角色:

lapply

答案 1 :(得分:0)

open $file_in...
open $file_out...
local $/ = 'SNP';
<$file_in>; # discard empty row
while ( my $record = <$file_in> ) {
    chomp $record;
    # make changes to $record, which will start as e.g. "1 AA TT GG"
    ....
    print $file_out "SNP$record\n";
}