将两个文本中相同内容的记录做合并
【问题】
I have one file that looks like this
>Unc14086
AGAGUUUGAU
>Unc35443
GCACGAGAAA
So, every n (n may vary) lines the next line starts with “>”, that is the beginning of a new block of information.
I have another tab-delimited file:
Unc14086 InformationalTextExample
Unc35443 InformationalTextExampleII
My goal is to parse the second file with information found in lines starting with “>” in the first file. Whenever a matching pair occurs, i want to write “InformationalTextExample” in that line, possibly separated by “_”:
>Unc14086_InformationalTextExample
AGAGUUUGAU
>Unc35443_InformationalTextExampleII
GCACGAGAAA
How would that be possible?
Thank you!
【回答】
Perl 的解法虽然结构清晰,但脚本还是太长了.这类结构化计算用集算器的循环函数会比较简单,SPL 如下:
A |
|
1 |
=file("one.txt").read@n() |
2 |
=file("another.txt").import() |
3 |
=A1.(if(left(~,1)!=">",~,A2.select@1(mid(A1.~,2)==_1).(">"+_1+"_"+_2))) |
更多关于循环函数的详细用法可参考【SQL 难点解决:循环计算】。