根据特定列中的值将.txt中的行合并在一起

时间:2019-05-07 10:04:16

标签: python

请原谅,我是一名从事生物学的生物学家,负责看起来很简单的bash或python工作。

我希望获取一个9列的文本文件,并根据第9列中的共享词(基因名称)合并其中的行。 在此示例中:第3、4、5行在第9列中分别具有YAR014C [分别为3'UTR,基因和5'UTR]

然后将第4列和第5列(起始和结束坐标)中的值替换为原始行的第4列值,并在其中添加“ 3UTR”,在原始行的第5列值中将其替换为“ 5UTR”

整个文件不遵循第9列中的3UTR,基因和5UTR命名约定,因此它必须基于第9列中的特定值,而不是行号。

这是txt文件的一部分:

I   martin  exon    160597  164187  .   -   .   gene_id "YAR009C_ORF";
I   martin  exon    164544  165866  .   -   .   gene_id "YAR010C_ORF";
I   martin  exon    166574  166741  .   -   .   gene_id "YAR014C_3UTR";
I   martin  exon    166742  168871  .   -   .   gene_id "YAR014C_ORF";
I   martin  exon    168872  169022  .   -   .   gene_id "YAR014C_5UTR";
I   martin  exon    170352  170395  .   -   .   gene_id "YAR018C_3UTR";
I   martin  exon    170396  171703  .   -   .   gene_id "YAR018C_ORF";
I   martin  exon    171704  171743  .   -   .   gene_id "YAR018C_5UTR";
I   martin  exon    172136  172210  .   -   .   gene_id "YAR019C_3UTR";
I   martin  exon    172211  175135  .   -   .   gene_id "YAR019C_ORF";
I   martin  exon    176856  177023  .   -   .   gene_id "YAR020C_ORF";
I   martin  exon    179241  179280  .   -   .   gene_id "YAR023C_3UTR";
I   martin  exon    179281  179820  .   -   .   gene_id "YAR023C_ORF";
I   martin  exon    179821  180087  .   -   .   gene_id "YAR023C_5UTR";
I   martin  exon    186512  186853  .   -   .   gene_id "YAR030C_ORF";

所以我想要的第3、4、5行的结果是: 我马丁外显子166574 169022。 -。 gene_id“ YAR014C”;

0 个答案:

没有答案