Linux下的文本排序让我很意外

Linux下的文本排序让我很意外,第1张

我分享给大家的ngs流程里面经常是需要制作配置文件,里面的每个样品名字都有两个测序文件,因为目前都是双端测序,制作配置文件的过程其实就是Linux下的文本处理,代码如下所示:

echo A_{1..25}_2.fq.gz |sed 's/\s/\n/g'|sort  >2
echo A_{1..25}_1.fq.gz |sed 's/\s/\n/g'|sort >1
paste 1 2 

这里就是{1..25}语法,是shell的扩展,shell扩展有以下几种,并按以下顺序处理,当然如果没找到匹配的扩展格式,那就不处理:

  • brace expansion 大括号({})扩展
  • tilde expansion ~字符扩展
  • parameter and variable expansion 参数和变量扩展
  • arithmetic expansion 算术扩展
  • command substitution 命令替换
  • process substitution 过程替换
  • word splitting
  • Filename Expansion 通配符扩展

以上扩展中,只有brace expansion,word splitting,filename expansion 三种扩展可以改变token个数,我们演示的{1..25}语法就是这个大括号扩展(brace expansion)的序列输出功能,其中两个点是进行序列输出,然后外面套的大括号是进行扩展。这个文本处理的结果如下所示:

A_10_1.fq.gz A_10_2.fq.gz
A_11_1.fq.gz A_11_2.fq.gz
A_1_1.fq.gz  A_12_2.fq.gz
A_12_1.fq.gz A_1_2.fq.gz
A_13_1.fq.gz A_13_2.fq.gz
A_14_1.fq.gz A_14_2.fq.gz
A_15_1.fq.gz A_15_2.fq.gz
A_16_1.fq.gz A_16_2.fq.gz
A_17_1.fq.gz A_17_2.fq.gz
A_18_1.fq.gz A_18_2.fq.gz
A_19_1.fq.gz A_19_2.fq.gz
A_20_1.fq.gz A_20_2.fq.gz
A_21_1.fq.gz A_21_2.fq.gz
A_2_1.fq.gz  A_22_2.fq.gz
A_22_1.fq.gz A_2_2.fq.gz
A_23_1.fq.gz A_23_2.fq.gz
A_24_1.fq.gz A_24_2.fq.gz
A_25_1.fq.gz A_25_2.fq.gz
A_3_1.fq.gz  A_3_2.fq.gz
A_4_1.fq.gz  A_4_2.fq.gz
A_5_1.fq.gz  A_5_2.fq.gz
A_6_1.fq.gz  A_6_2.fq.gz
A_7_1.fq.gz  A_7_2.fq.gz
A_8_1.fq.gz  A_8_2.fq.gz
A_9_1.fq.gz  A_9_2.fq.gz

眼尖的小伙伴应该是已经看到了问题所在:

A_1_1.fq.gz  A_12_2.fq.gz
A_12_1.fq.gz A_1_2.fq.gz

A_2_1.fq.gz  A_22_2.fq.gz
A_22_1.fq.gz A_2_2.fq.gz

出现了少量样品的排序混乱情况。

确实让人有点费解啊!

引用:

书籍+视频+习题配套练习

视频都在B站,大家把R语言和linux一起学习,数十万人观看的教学视频,你值得拥有:

Linux下的文本排序让我很意外,第2张

书籍我推荐两本:

Linux下的文本排序让我很意外,第3张

作业的话,力推我设计的5套习题,加油,在生物信息学的路上等大家!

  • 最低要求是完成我的 linux 20题 /2900.html

  • 其次完成生物信息学数据格式的习题(blast/blat/fa-fq/sam-bam/vcf/bed/gtf-gff),收集这些格式的说明书。

  • fasta和fastq格式文件的shell小练习 /3575.html

  • sam和bam格式文件的shell小练习 /3578.html

  • VCF格式文件的shell小练习 /3577.html

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » Linux下的文本排序让我很意外

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情