【发布时间】:2018-12-30 04:30:00
【问题描述】:
第一次发帖,很高兴能成为这个社区的一员。
我是初学者,主要使用命令行进行下一代测序 (NGS) 分析。
我有一个包含来自音序器的数据的文件列表,如下所示:
[agh8423@quser12 all_fastq]$ ls Bio5* -al
-rw-r--r-- 1 agh8423 p30592 253029870 Jul 19 11:10 Bio5-H3K27ac-Dox-no_S5_L001_R1_001.fastq.gz
-rw-r--r-- 1 agh8423 p30592 248177942 Jul 19 11:11 Bio5-H3K27ac-Dox-no_S5_L002_R1_001.fastq.gz
-rw-r--r-- 1 agh8423 p30592 256860841 Jul 19 11:11 Bio5-H3K27ac-Dox-no_S5_L003_R1_001.fastq.gz
-rw-r--r-- 1 agh8423 p30592 253399957 Jul 19 11:12 Bio5-H3K27ac-Dox-no_S5_L004_R1_001.fastq.gz
-rw-r--r-- 1 agh8423 p30592 246636194 Jul 19 11:12 Bio5-H3K27ac-Dox-yes_S6_L001_R1_001.fastq.gz
-rw-r--r-- 1 agh8423 p30592 242114964 Jul 19 11:13 Bio5-H3K27ac-Dox-yes_S6_L002_R1_001.fastq.gz
-rw-r--r-- 1 agh8423 p30592 249862612 Jul 19 11:13 Bio5-H3K27ac-Dox-yes_S6_L003_R1_001.fastq.gz
-rw-r--r-- 1 agh8423 p30592 247798281 Jul 19 11:14 Bio5-H3K27ac-Dox-yes_S6_L004_R1_001.fastq.gz
-rw-r--r-- 1 agh8423 p30592 234917538 Jul 19 11:14 Bio5-H3K4me3-Dox-no_S3_L001_R1_001.fastq.gz
-rw-r--r-- 1 agh8423 p30592 230571628 Jul 19 11:14 Bio5-H3K4me3-Dox-no_S3_L002_R1_001.fastq.gz
-rw-r--r-- 1 agh8423 p30592 233025109 Jul 19 11:15 Bio5-H3K4me3-Dox-no_S3_L003_R1_001.fastq.gz
-rw-r--r-- 1 agh8423 p30592 230268463 Jul 19 11:15 Bio5-H3K4me3-Dox-no_S3_L004_R1_001.fastq.gz
-rw-r--r-- 1 agh8423 p30592 246254343 Jul 19 11:15 Bio5-H3K4me3-Dox-yes_S4_L001_R1_001.fastq.gz
-rw-r--r-- 1 agh8423 p30592 241866406 Jul 19 11:16 Bio5-H3K4me3-Dox-yes_S4_L002_R1_001.fastq.gz
-rw-r--r-- 1 agh8423 p30592 247044518 Jul 19 11:16 Bio5-H3K4me3-Dox-yes_S4_L003_R1_001.fastq.gz
-rw-r--r-- 1 agh8423 p30592 243759599 Jul 19 11:17 Bio5-H3K4me3-Dox-yes_S4_L004_R1_001.fastq.gz
-rw-r--r-- 1 agh8423 p30592 251009676 Jul 19 11:17 Bio5-Input-Dox-no_S1_L001_R1_001.fastq.gz
-rw-r--r-- 1 agh8423 p30592 246054510 Jul 19 11:18 Bio5-Input-Dox-no_S1_L002_R1_001.fastq.gz
-rw-r--r-- 1 agh8423 p30592 255798685 Jul 19 11:18 Bio5-Input-Dox-no_S1_L003_R1_001.fastq.gz
-rw-r--r-- 1 agh8423 p30592 253896496 Jul 19 11:19 Bio5-Input-Dox-no_S1_L004_R1_001.fastq.gz
-rw-r--r-- 1 agh8423 p30592 232179873 Jul 19 11:19 Bio5-Input-Dox-yes_S2_L001_R1_001.fastq.gz
-rw-r--r-- 1 agh8423 p30592 227146014 Jul 19 11:19 Bio5-Input-Dox-yes_S2_L002_R1_001.fastq.gz
-rw-r--r-- 1 agh8423 p30592 236543332 Jul 19 11:20 Bio5-Input-Dox-yes_S2_L003_R1_001.fastq.gz
-rw-r--r-- 1 agh8423 p30592 234698786 Jul 19 11:20 Bio5-Input-Dox-yes_S2_L004_R1_001.fastq.gz
如果您注意到,除了文件名的“L001/2/3/4”部分不同外,有些文件名几乎相同。这些本质上是复制样本,对于下游流程,我想连接这些文件(但这些信息可能与我的问题无关)
我想要的:创建一个父目录,其目录名称为“_S(*)_L00(1/2/3/4)_Ri_001.fastq.gz”左侧的所有内容(例如,第一个文件将有一个名为“Bio5-H3K27ac-Dox-no”的目录)。除了制作这个目录之外,我还想将所有具有上述文件前缀的文件(即所有 L001/2/3/4 的前缀名称为 Bio5-H3K27ac-Dox-no)放入该新目录中。从那里开始的计划是运行 zcat 并将文件连接成一个更容易分析的文件。
以下是我的尝试:
for file in ./*_L001_R1_001.fastq.gz.txt; do
dir=${file%_L001_R1_001.fastq.gz.txt}
mkdir -p "./$dir" &&
mv -iv "$file" "./$dir"
mv -iv "$dir"_L00* "./$dir"
done
如果我是我的目录,我会得到以下信息。
[agh8423@quser11 test]$ ls -al
total 36
drwxrwsr-x 8 agh8423 p30592 4096 Jul 22 18:27 .
drwxrwsr-x 3 agh8423 p30592 32768 Jul 22 17:27 ..
drwxrwsr-x 2 agh8423 p30592 4096 Jul 22 18:27 Bio1-Input-Dox-no_S12
drwxrwsr-x 2 agh8423 p30592 4096 Jul 22 18:27 Bio1-Input-Dox-yes_S11
drwxrwsr-x 2 agh8423 p30592 4096 Jul 22 18:27 Bio1-MYC-Dox-no_S2
drwxrwsr-x 2 agh8423 p30592 4096 Jul 22 18:27 Bio1-MYC-Dox-yes_S3
drwxrwsr-x 2 agh8423 p30592 4096 Jul 22 18:27 Bio1-WDR5-Dox-no_S5
drwxrwsr-x 2 agh8423 p30592 4096 Jul 22 18:27 Bio1-WDR5-Dox-yes_S10
-rwxrwxr-x 1 agh8423 p30592 178 Jul 22 18:29 test1.sh
我不想要的部分是目录名称末尾的 _S12 等,但我希望它保留在已移动到新目录的文件名中。
-奥斯汀
【问题讨论】:
-
好吧,这听起来很有趣,让我们知道你是怎么做的!但说真的,SO 用户会在您完成工作后帮助您,并且在您自己研究后无法找到答案的问题上陷入困境。对于这样的脚本,您需要
mkdir、mv,您可以使用find,不要解析ls输出,... -
不要连接文件,这不是一个好主意。独立对齐它们并将正确的读取组放入每个文件中。对生成的 bam 进行排序和合并。分析那些包含单个样本所有数据的 bam。
-
Nic3500- 感谢您对未来帖子的建议。如果您不介意,我希望您对我在下面发布的答案提供反馈。感谢您推动我自己解决问题。
-
Poshi-我拥有的当前管道将对齐所有四个 (L001/2/3/4) 文件并将结果输出到单个 bam 文件中。这些 L001/2/3/4 文件是从一个样本中获得的,但更多的是来自一个生物样本的技术复制。你有理由认为你的方法会提供不同的东西吗?谢谢!
-
一方面,保留不同的数据(因为数据不同,它们在不同的通道中运行)更有意义,可以通过将它们保存在单独的文件中或通过单独识别每个读取来轻松识别在具有正确读取组的 bam 文件中。
标签: regex bash directory filenames bioinformatics