我从初始 fasta 文件中提取了 ORF,现在我想获取每个转录本的最长 ORF。
使用 faSize 提取 ORF 的大小并按大小排序后, 我以前使用的代码是:
perl -ane'print unless $x{$F[0]}++'
这次我在使用perl命令时遇到了问题。
提取大小并对成绩单进行排序后,我得到如下内容:
Singlet_1000_61 3844
Singlet_2000_73 3508
Singlet_1000_62 3081
Singlet_2000_62 3008
Singlet_3500_48 2973
Singlet_4000_48 2964
Singlet_3500_54 2863
我想要的是:
Singlet_1000_61 3844
Singlet_2000_73 3508
Singlet_3500_48 2973
...
perl 命令在这种情况下不起作用。
您对我如何使其发挥作用有什么建议吗?
或者 awk 命令?
最佳答案
如果只看
Singlet_1000_61 3844
^^^^
没问题,
perl -F_ -ane'print unless $x{$F[1]}++'
如果你想看
Singlet_1000_61 3844
^^^^^^^^^^^^
然后
perl -ane'$F[0] =~ s/_[^_]*\z//; print unless $x{$F[0]}++'
关于perl - 打印 bash 中第一次出现的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16005841/