title: 二代测序数据处理(二)从CleanData到表达矩阵 tags: [] id: '1475' categories:
内有 name_R1.fq.gz 和 name_R2.fq.gz
大鼠的索引文件
上面的染色体模板命名不规范,使用下面脚本修改
#!/bin/bash
for file in `ls /home/lxb/gene_template/rat/gene/Rattus_norvegicus.Rnor_6.0.dna.chromosome.*.fa`
do
newFile='/home/gene/xuchen/ratgene/'`echo $file sed 's/\(.*\)\/.*\.\([0-9XYMT]\+.fa\)$/\2/'`
echo $newFile
cp $file $newFile
done
规范后的染色体命名
两份注释文件的差别,一般使用不带chr的文件
nohup /home/gene/xuchen/gp1.bash > /home/gene/xuchen/1.log 2>&1 &
#!/bin/sh
#设置CleanData存放目录
export CLEAN=/home/gene/upload/xc-lz/gp
#设置idx存放目录
export HISAT_IDX=/home/lxb/gene_template/rat/idx/rat.hisat2.idx
#设置这一步的输出目录
export WORK=/home/gene/xuchen/output_gp
export CDIR=$(basename `pwd`)
echo $CDIR
echo $CLEAN
for file in $CLEAN/*
do
echo $file
SAMPLE=${file##*/}
echo $SAMPLE
r1=${SAMPLE}"_R1.fq.gz"
r2=${SAMPLE}"_R2.fq.gz"
echo $r1
echo $r2
hisat2 -p 12 --dta-cufflinks -x $HISAT_IDX -1 $CLEAN/$SAMPLE/$r1 -2 $CLEAN/$SAMPLE/$r2 -S $WORK/$SAMPLE.sam
samtools view -bS $WORK/${SAMPLE}".sam" > $WORK/${SAMPLE}".bam"
# 内存使用量为 6000M * 6 = 36G
samtools sort -m 6000M -@ 6 -o $WORK/${SAMPLE}".sorted.bam" $WORK/${SAMPLE}".bam"
#没用的东西删掉
rm $WORK/${SAMPLE}".sam"
rm $WORK/${SAMPLE}".bam"
done
查看 1.log 确保匹配率高于80%,下图为 95.01%
nohup /home/gene/xuchen/gp2.bash > /home/gene/xuchen/2.log 2>&1 &
#上一步的输出目录
export CLEAN_OUT=/home/gene/xuchen/output_gp
cd $CLEAN_OUT
#规范命名后的染色体模板数据
export GRCh38=/home/gene/xuchen/ratgene
#GTF数据,一般使用不带chr的
export GTF=/home/lxb/gene_template/rat/gtf/Rattus_norvegicus.Rnor_6.0.90.gtf
#整理样本列表, 空格分隔
export SAMPLES="A34 C15 C41 C8 M7 X24 X28"
#用来生csv的表头,逗号分隔,与样本列表对应
export LABLES="A34,C15,C41,C8,M7,X24,X28"
#设置输出目录
export WORK=/home/gene/xuchen/diffout_gp
export LIST=""
for file in $SAMPLES
do
LIST=$LIST" "$CLEAN_OUT/$file".sorted.bam"
done
echo $LIST
cuffdiff -L $LABLES -o $WORK -b $GRCh38 -p 12 -u $GTF $LIST
查看处理进度 tail -f /home/gene/xuchen/2.log
更简单的代码:
#!/bin/bash
#上一步的输出目录
export CLEAN_OUT=/home/gene/xuchen/output_gp
#设置这一步的输出目录
export WORK=/home/gene/xuchen/diffout_gp
#规范命名后的染色体模板数据
export GRCh38=/home/gene/xuchen/ratgene
#GTF数据,一般使用不带chr的
export GTF=/home/lxb/gene_template/rat/gtf/Rattus_norvegicus.Rnor_6.0.90.gtf
LIST=""
LABLES=""
for file in `ls $CLEAN_OUT`
do
file=`echo $file sed 's/\(.*\).sorted.bam$/\1/'`
echo $file
LIST=$LIST" "$CLEAN_OUT/$file".sorted.bam"
LABLES=$LABLES","$file
done
LABLES=`echo ${LABLES: 1}`
echo $LIST
echo $LABLES
cd $CLEAN_OUT
cuffdiff -L $LABLES -o $WORK -b $GRCh38 -p 12 -u $GTF $LIST
最终结果
gp <- read.table('~/gene/xuchen/diffout_gp/genes.fpkm_tracking', header = T)
sampleN <- stringr::str_detect(colnames(gp),'FPKM')
sampleN <- colnames(gp)[sampleN]
gp_filter <- gp[,c('gene_id', 'gene_short_name', sampleN)]
write.csv(gp_filter, file='gp.csv')
gp的内容
gp.csv的内容