String 细胞间间隙
我有个问题,你能帮我吗? 我有一个.txt文件,我使用awk代码使用制表符分隔函数分隔列。 我收到了align列,但如果缺少一些信息,整行将向左移动,信息将转移到另一列。你能帮我吗?我怎么能 加入到这个代码中?非常感谢你String 细胞间间隙,string,bash,text,awk,gaps-in-data,String,Bash,Text,Awk,Gaps In Data,我有个问题,你能帮我吗? 我有一个.txt文件,我使用awk代码使用制表符分隔函数分隔列。 我收到了align列,但如果缺少一些信息,整行将向左移动,信息将转移到另一列。你能帮我吗?我怎么能 加入到这个代码中?非常感谢你 #!/bin/bash for f in *.vcf; do awk 'BEGIN {OFS = "\t"} /^##/ {next} /^#/ {sub(/^#/,"",$1)} {$1=$1; print} '
#!/bin/bash
for f
in *.vcf;
do awk 'BEGIN {OFS = "\t"}
/^##/ {next}
/^#/ {sub(/^#/,"",$1)}
{$1=$1; print}
' "$f" > "${f/%vcf/tsv}"
done
> INPUT:
>
> CHROM ID REF ALT
chr1 235 A B
chr2 A B
chr3 225 B
输出:
这个问题有歧义。看看数据:
chr1 235 A B
chr2 A B
chr3 225 B
也许在chr2
行中,我们可以猜测ID
列缺失,因为ID
s是数字。我们缺少一列,它是数字列,因此它必须是ID
但是在第三行中,我们如何知道REF
列缺失,而不是ALT
如果ALT
从未丢失,那么它很简单。但如果其中任何一个都可能失踪,那就不可能了
在任何情况下,在编写程序代码将数据重新规范化为适当的列之前,您必须能够清楚地说明识别缺少哪些列的规则,否则就必须认识到这是不可能的,并放弃
您可能只需要向上游查找相同数据的更好来源,而这些数据不包含munged列。列是如何对齐的?您可以发布示例数据吗?您可以检查字段数(NF)是否等于预期值,否则跳过该行。顺便说一句,脚本来自是不是我的脚本,glen先生是作者,但这是否有问题?如果是这样的话,我很抱歉。这些列仅由制表符分隔,ALT从不丢失
chr1 235 A B
chr2 A B
chr3 225 B