批量重命名:如果会linux呢?
测试开头

测试结尾
今天是生信星球陪你的第393天
大神一句话,菜鸟跑半年。我不是大神,但我可以缩短你走弯路的半年~
就像歌儿唱的那样,如果你不知道该往哪儿走,就留在这学点生信好不好~
这里有豆豆和花花的学习历程,从新手到进阶,生信路上有你有我!
豆豆写于19.6.13
和花花一起回家,一起回忆了花花的童年。小学已经倒闭了,但幼儿园还在,还有好多小孩在里面玩。还看了许多有意思的路边风景,在花花家炒了第一次菜
这次内容很简单,题目还是上次的:
简单回顾一下
假入现在有这些双端测序文件

# 根据下面的对应关系,首先新建这些gz文件出来,然后 shell脚本改名
# 比如 SRR6269851_1.fastq.gz 改名为 P3_DCIS_Exome_1.fastq.gz
# 以此类推
Library_Name Run
P3_DCIS_Exome SRR6269851
P4_DCIS_Exome SRR6269852
P1_DCIS_Exome SRR6269853
P2_DCIS_Exome SRR6269854
P7_DCIS_Exome SRR6269855
P5_DCIS_Exome SRR6269856
P8_DCIS_Exome SRR6269857
P6_DCIS_Exome SRR6269858
P10_DCIS_Exome SRR6269859
P9_DCIS_Exome SRR6269860
P3_INV_Exome SRR6269861
P4_INV_Exome SRR6269862
P2_INV_Exome SRR6269863
P1_INV_Exome SRR6269864
P7_INV_Exome SRR6269865
P8_INV_Exome SRR6269866
P5_INV_Exome SRR6269867
P6_INV_Exome SRR6269868
P9_INV_Exome SRR6269869
P10_INV_Exome SRR6269870
P10_Norm_Exome SRR6269871
P9_Norm_Exome SRR6269872
P4_Norm_Exome SRR6269873
P3_Norm_Exome SRR6269874
P2_Norm_Exome SRR6269875
P1_Norm_Exome SRR6269876
P8_Norm_Exome SRR6269877
P7_Norm_Exome SRR6269878
P6_Norm_Exome SRR6269879
P5_Norm_Exome SRR6269880
思路
方法有很多,你会怎么考虑呢?
-
首先用
touch
新建,结尾的id是有顺序的 -
复制这个library-run两列表,发现其中是有空行的,需要去掉空行和首行无用信息
-
结合shell的数组(array)可以获得表示列的变量
-
最后利用
mv
进行替换
# 首先生成数据
for i in $(seq 51 80);do touch SRR62698${i}_1.fastq.gz;done
for i in $(seq 51 80);do touch SRR62698${i}_2.fastq.gz;done
# 构建array
sed 1d lib_run.txt|sed '/^$/d' | cut -f1>lib
sed 1d lib_run.txt|sed '/^$/d' | cut -f2>run
paste lib run >lib_run
# 循环替换,一行行读取
cat lib_run| while read i
do
lib_run=($i)
lib=${lib_run[0]}
run=${lib_run[1]}
mv ${run}_1.fastq.gz ${lib}_1.fastq.gz
mv ${run}_2.fastq.gz ${lib}_2.fastq.gz
done
这里的重点就是数组的使用,推荐阅读:shell 13问(http://wiki.jikexueyuan.com/project/13-questions-of-shell/eight.html)
点击底部的“阅读原文”,获得更好的阅读体验哦😻
初学生信,很荣幸带你迈出第一步。
我们是生信星球,一个不拽术语、通俗易懂的生信知识平台。由于是2018年新号,竟然没有留言功能。需要帮助或提出意见请后台留言、联系微信或发送邮件到jieandze1314@gmail.com,每一条都会看到的哦~
请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!