Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何使用sed或python重写文件的最后一列_Linux_Python 3.x_Awk_Sed_Grep - Fatal编程技术网

Linux 如何使用sed或python重写文件的最后一列

Linux 如何使用sed或python重写文件的最后一列,linux,python-3.x,awk,sed,grep,Linux,Python 3.x,Awk,Sed,Grep,我有一个gff文件,它似乎不符合我期望的格式。问题在于最后一列(尽管如果按制表符拆分,某些行似乎有更多的制表符)。以下是我所拥有的: scaffold10x_1000_pilon-AUGUSTUS基因12711 22079 0.67-。g1 脚手架10x_1000_pilon AUGUSTUS转录本12711 22079 0.47-。g1.t1 scaffold10x_1000_pilon AUGUSTUS stop_密码子12711 12713。-0转录本id“g1.t1”;基因id为“g1”

我有一个gff文件,它似乎不符合我期望的格式。问题在于最后一列(尽管如果按制表符拆分,某些行似乎有更多的制表符)。以下是我所拥有的:

scaffold10x_1000_pilon-AUGUSTUS基因12711 22079 0.67-。g1
脚手架10x_1000_pilon AUGUSTUS转录本12711 22079 0.47-。g1.t1
scaffold10x_1000_pilon AUGUSTUS stop_密码子12711 12713。-0转录本id“g1.t1”;基因id为“g1”;
脚手架10x_1000_pilon AUGUSTUS简介13044 13486 0.89-。转录本编号“g1.t1”;基因id为“g1”;
脚手架10x_1000_pilon AUGUSTUS简介13936 21904 0.5-。转录本编号“g1.t1”;基因id为“g1”;
scaffold10x_1000_pilon AUGUSTUS CD 12711 13043 0.99-0转录本id“g1.t1”;基因id为“g1”;
scaffold10x_1000_pilon AUGUSTUS CD 13487 13935 0.64-2转录本id“g1.t1”;基因id为“g1”;
scaffold10x_1000_pilon AUGUSTUS CD 21905 22079 0.67-0转录本id“g1.t1”;基因id为“g1”;
脚手架10X_1000_pilon AUGUSTUS起始密码子22077 22079。-0转录本id“g1.t1”;基因id为“g1”;
脚手架10x_1000_pilon AUGUSTUS转录本12711 14150 0.2-。g1.t2
scaffold10x_1000_pilon AUGUSTUS stop_密码子12711 12713。-0转录本id“g1.t2”;基因id为“g1”;
脚手架10x_1000_pilon AUGUSTUS简介13044 13486 0.91-。转录本编号“g1.t2”;基因id为“g1”;
脚手架10x_1000_pilon AUGUSTUS简介13936 14128 0.2-。转录本编号“g1.t2”;基因id为“g1”;
scaffold10x_1000_pilon AUGUSTUS CD 12711 13043 0.96-0转录本id“g1.t2”;基因id为“g1”;
scaffold10x_1000_pilon AUGUSTUS CD 13487 13935 0.45-2转录本id“g1.t2”;基因id为“g1”;
scaffold10x_1000_pilon AUGUSTUS CD 14129 14150 0.21-0转录本id“g1.t2”;基因id为“g1”;
scaffold10x_1000_pilon AUGUSTUS起始密码子14148 14150。-0转录本id“g1.t2”;基因id为“g1”;
scaffold10x_1000_pilon AUGUSTUS基因41722 42102 0.32+。g2
scaffold10x_1000_pilon AUGUSTUS转录本41722 42102 0.32+。g2.t1
scaffold10x_1000_pilon AUGUSTUS起始密码子41722 41724+0转录本id“g2.t1”;基因id“g2”;
scaffold10x_1000_pilon AUGUSTUS CD 41722 42102 0.32+0转录本id“g2.t1”;基因id“g2”;
scaffold10x_1000_pilon AUGUSTUS stop_密码子42100 42102+0转录本id“g2.t1”;基因id“g2”;
脚手架10x_1000_pilon AUGUSTUS基因106074 106640 1+。g3
脚手架10x_1000_pilon AUGUSTUS转录本106074 106640 1+。g3.t1
scaffold10x_1000_pilon AUGUSTUS起始密码子106074 106076+0转录本id“g3.t1”;基因id“g3”;
scaffold10x_1000_pilon AUGUSTUS CD 106074 106640 1+0转录本id“g3.t1”;基因id“g3”;
scaffold10x_1000_pilon AUGUSTUS stop_密码子106638 106640+0转录本id“g3.t1”;基因id“g3”;
以下是我想要的:

scaffold10x_1000_pilon-AUGUSTUS基因12711 22079 0.67-。ID=g1
脚手架10x_1000_pilon AUGUSTUS转录本12711 22079 0.47-。ID=g1.t1;父项=g1
scaffold10x_1000_pilon AUGUSTUS stop_密码子12711 12713。-0父级=g1.t1
脚手架10x_1000_pilon AUGUSTUS简介13044 13486 0.89-。父项=g1.t1
脚手架10x_1000_pilon AUGUSTUS简介13936 21904 0.5-。父项=g1.t1
脚手架10x_1000_pilon AUGUSTUS CDS 12711 13043 0.99-0 ID=g1.t1.CDS;父项=g1.t1
scaffold10x_1000_pilon AUGUSTUS CDS 13487 13935 0.64-2 ID=g1.t1.CDS;父项=g1.t1
脚手架10x_1000_pilon AUGUSTUS CDS 21905 22079 0.67-0 ID=g1.t1.CDS;父项=g1.t1
脚手架10X_1000_pilon AUGUSTUS起始密码子22077 22079。-0父级=g1.t1
脚手架10x_1000_pilon AUGUSTUS转录本12711 14150 0.2-。ID=g1.t2;父项=g1
scaffold10x_1000_pilon AUGUSTUS stop_密码子12711 12713。-0父级=g1.t2
脚手架10x_1000_pilon AUGUSTUS简介13044 13486 0.91-。父项=g1.t2
脚手架10x_1000_pilon AUGUSTUS简介13936 14128 0.2-。父项=g1.t2
脚手架10x_1000_pilon AUGUSTUS CDS 12711 13043 0.96-0 ID=g1.t2.CDS;父项=g1.t2
脚手架10x_1000_pilon AUGUSTUS CDS 13487 13935 0.45-2 ID=g1.t2.CDS;父项=g1.t2
脚手架10x_1000_pilon AUGUSTUS CDS 14129 14150 0.21-0 ID=g1.t2.CDS;父项=g1.t2
scaffold10x_1000_pilon AUGUSTUS起始密码子14148 14150。-0父级=g1.t2
scaffold10x_1000_pilon AUGUSTUS基因41722 42102 0.32+。ID=g2
scaffold10x_1000_pilon AUGUSTUS转录本41722 42102 0.32+。ID=g2.t1;父项=g2
scaffold10x_1000_pilon AUGUSTUS起始密码子41722 41724+0父级=g2.t1
脚手架10x_1000_pilon AUGUSTUS CDS 41722 42102 0.32+0 ID=g2.t1.CDS;父项=g6.t1
scaffold10x_1000_pilon AUGUSTUS stop_密码子42100 42102+0父级=g2.t1
脚手架10x_1000_pilon AUGUSTUS
$ awk -F'\t' '{match($9,"(g[0-9])",m)} 
    $3=="gene"{$9="ID="m[1]}

    # add other conditions 
    # using the same template
    # ...

    1' file