Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.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
&引用;查找和提取单次命中的匹配项”;从blat输出来看,Mac与linux的语法是什么?_Linux_Sed_Filtering_Blat - Fatal编程技术网

&引用;查找和提取单次命中的匹配项”;从blat输出来看,Mac与linux的语法是什么?

&引用;查找和提取单次命中的匹配项”;从blat输出来看,Mac与linux的语法是什么?,linux,sed,filtering,blat,Linux,Sed,Filtering,Blat,问题:输出文件“single_hits.txt”为空: cut -f10 genome_v_trans.pslx | sort | uniq -c | grep ' 1 ' | sed -e 's/ 1 /\\\</' -e 's/$/\\\>/' > single_hits.txt 然后这个脚本应该删除相同的contig,比如前两个(m.1)这似乎对您提供的有限数据有效 grep -v `awk '{print $10}' genome_v_trans.

问题:输出文件“single_hits.txt”为空:

cut -f10 genome_v_trans.pslx | sort | uniq -c | grep '      1 ' | sed -e 's/      1 /\\\</' -e 's/$/\\\>/' > single_hits.txt

然后这个脚本应该删除相同的contig,比如前两个(m.1)

这似乎对您提供的有限数据有效

grep -v `awk '{print $10}' genome_v_trans.pslx | uniq -d` genome_v_trans.pslx
除非您希望它代替重复项,否则您可以替换重复项,然后可以执行以下操作:

IFS=$(echo-en“\n\b”)和&in$(awk'{print$10}'基因组_v_trans.pslx | uniq-d);do sed-i“s/$a//g”基因组_v_trans.pslx;已完成和取消设置IFS

结果:

964 0 0 0 3 292+1461 0 964 3592203

501030468-146196014615269699

116800127232-m.7292117011705233270

或者,如果您希望在singlehits文件中显示:

IFS=$(echo-en“\n\b”)&对于$(awk'{print$10}'dna.txt | uniq-d)中的a;do sed“s/$a//g”dna.txt>>singlehits.txt;已完成和取消设置IFS

SINGLE\u TMP=/TMP/\u SINGLE\u TMP$$&&awk{if($10==“”)print}'singlehits.txt>“$SINGLE\u TMP”和&mv“$SINGLE\u TMP”singlehits.txt&&unset SINGLE\u TMP

或者更优雅:
sed-ni'//p'singlehits.txt

singlehits.txt:

964 0 0 0 3 292+1461 0 964 3592203


501 0 0 0 0 3 468-1461 960 1461 5269699…

问题顶部的脚本和底部的脚本是否应该有所不同?您可以使用
uniq-u
仅打印未重复的行,不要将管道连接到
grep
。确保
.pslx
文件中的字段用制表符分隔,而不是空格。这就是
cut
使用的默认字段分隔符。或者你可以使用
awk'{print$10}'
,它可以处理任何类型的空白。你试图获取字段10,但在你的描述中你提到了字段10和11(m.1 1461)。@Barmar uniq-u确实识别匹配项,但似乎只是删除了一个命中项,而不是两个。
grep -v `awk '{print $10}' genome_v_trans.pslx | uniq -d` genome_v_trans.pslx