首页 > 解决方案 > Perl 编程 - 如何将一列的值与给定文件中的另一列匹配

问题描述

我是 Perl 编程的初学者。我现在正在研究的问题是如何从文本文件中获取基因长度。文本文件包含基因名称(第 10 列)、起始位点(第 6 列)、结束位点(第 7 列)。长度可以从第6列和第7列的差异得出。但是我的问题是如何将基因名称(来自第10列)与由第6列和第7列的差异得出的相应差异匹配。非常感谢!

open (IN, "Alu.txt");
open (OUT, ">Alu_lengthsubfam.csv");

while ($a = <IN>){
    @data = split (/\t/, $a);

$genelength = $data[7] - $data[6]++;
$subfam = $data[10]
}
    foreach $subfam (0...$#subfam){
        print OUT "$subfam, $genelength{$subfam}\n";
}
close (IN);
close (OUT)

标签: perl

解决方案


perl -F'\t' -lane'print $F[10], "\t", $F[7]-$F[6]' \
    < Alu.txt > Alu_lengthsubfam.csv

推荐阅读