我有一个现有的 perl one-liner(来自 Edwards 实验室),它可以很好地读取ids.file
包含一列 ID 的文本文件(fasta.file
名为格式)并返回与第一个文件中的 ID 匹配的序列。我希望扩展这个脚本来做两件额外的事情:
- 当前的 perl one-liner似乎仅
ids.file
在包含一列数据时才有效。我希望它适用于包含两列(由空格分隔)的文件,并作用于第二列数据(嗯,实际上是任何数据列,但我认为如果有人调整它会很明显可以使用第二列举个例子) - 我想将从搜索输出返回的任何结果附加到第三列,而不仅仅是一个新文件。
如果有人愿意提供一个示例,但只有时间或意愿来处理其中一个问题,我希望您尝试解决 #2 - 我已经接近解决 #1 的 for 循环,该循环仅使用 awk使用第二列中的 Perl 代码 - 我还没有得到它,但已经接近了,所以 #2 对我来说似乎更难。
perl 一号线如下:
perl -ne 'if(/^>(\S+)/){$c=$i{$1}}$c?print:chomp;$i{$_}=1 if @ARGV' ids.file fasta.file
感谢您提供的任何帮助!