一般来说,10X技术的单细胞转录组每个样品最好是有3个fq文件,分别是I1,R1,R2,其中I1理论上也可以抛弃,但是呢,很多情况下,我们同一个样品会有多个R1,R2,因为测序的 时候的上机的安排:
就面临改名的问题。比如:
touch {A..X}_S1_L001_R1_001.fastq.gz {A..X}_S1_L001_R2_001.fastq.gz
ls *gz|cat |head
A_S1_L001_R1_001.fastq.gz
A_S1_L001_R2_001.fastq.gz
B_S1_L001_R1_001.fastq.gz
B_S1_L001_R2_001.fastq.gz
C_S1_L001_R1_001.fastq.gz
C_S1_L001_R2_001.fastq.gz
D_S1_L001_R1_001.fastq.gz
D_S1_L001_R2_001.fastq.gz
这个时候假设我们的 A,B,C,D四个fq文件其实是同一个病人的10x,就需要改名;
首先,我们使用如下所示的R代码来模拟的一个情况是:6个病人的样品,但是有24个fq文件:
df = data.frame(patients=paste0('p',rep(1:6,each=4)),
samples=LETTERS[1:24])
df
每个fq文件都是独立的:
> df
patients samples
1 p1 A
2 p1 B
3 p1 C
4 p1 D
5 p2 E
6 p2 F
7 p2 G
8 p2 H
9 p3 I
10 p3 J
11 p3 K
12 p3 L
我们其实是需要改名的, 代码如下所示:
s=0
p='p1'
apply(df,1,function(x){
raw=paste0(x[2],'_S1_L001_R1_001.fastq.gz')
# ifelse(x[1]==p,s=s+1,s=0)
if(x[1]==p){
s<<-s+1
}else{
s <<- 1
p <<- x[1]
}
print(p)
new=paste0(x[1],'_S',s,'_L001_R1_001.fastq.gz')
paste0('mv ',raw," ", new)
})
可以看到,修改名字很成功:
[1] "mv X_S1_L001_R1_001.fastq.gz p6_S4_L001_R1_001.fastq.gz"
[1] "mv A_S1_L001_R1_001.fastq.gz p1_S1_L001_R1_001.fastq.gz"
[2] "mv B_S1_L001_R1_001.fastq.gz p1_S2_L001_R1_001.fastq.gz"
[3] "mv C_S1_L001_R1_001.fastq.gz p1_S3_L001_R1_001.fastq.gz"
[4] "mv D_S1_L001_R1_001.fastq.gz p1_S4_L001_R1_001.fastq.gz"
[5] "mv E_S1_L001_R1_001.fastq.gz p2_S1_L001_R1_001.fastq.gz"
[6] "mv F_S1_L001_R1_001.fastq.gz p2_S2_L001_R1_001.fastq.gz"
[7] "mv G_S1_L001_R1_001.fastq.gz p2_S3_L001_R1_001.fastq.gz"
[8] "mv H_S1_L001_R1_001.fastq.gz p2_S4_L001_R1_001.fastq.gz"
[9] "mv I_S1_L001_R1_001.fastq.gz p3_S1_L001_R1_001.fastq.gz"
[10] "mv J_S1_L001_R1_001.fastq.gz p3_S2_L001_R1_001.fastq.gz"
[11] "mv K_S1_L001_R1_001.fastq.gz p3_S3_L001_R1_001.fastq.gz"
[12] "mv L_S1_L001_R1_001.fastq.gz p3_S4_L001_R1_001.fastq.gz"
把同一个样品会有多个R1,R2,修改为同样的规则,这样后续跑单细胞转录组定量流程就很容易啦。
使用纯shell脚本完成这个改名操作:
touch {A..X}_S1_L001_R1_001.fastq.gz {A..X}_S1_L001_R2_001.fastq.gz
26个fq文件的样品,对应的是6个病人,所以修改名字从S字符串开始递增即可。可以仔细观察fastq文件的名字,就会发现规律,如果以下划线为分隔符,那么
正常走cellranger的定量流程即可,代码我已经是多次分享了。参考:
差不多几个小时就可以完成全部的样品的cellranger的定量流程。基础知识非常重要,我们在单细胞天地多次分享过cellranger流程的笔记(2019年5月),大家可以自行前往学习,如下: