YT ATAC数据整理

ls *1.fq.gz > ../config/1
ls *2.fq.gz > ../config/2
ls *1.fq.gz| cut -d'_' -f 1 > ../config/0
cd ../config/
paste 0 1 2 > raw.config

 Raw data triming 

aligning to genome 

rmdup

filtering to lastbam

以上四部分操作整合到一个脚本中,直接可以从raw fq.gz转换到lastbam

#整体于rnaseq环境下执行
#用于trim接头和低质量序列

#/home/xintong/ATAC_Project/yt_ATAC 脚本在此文件夹下
mkdir -p clean
mkdir -p align
mkdir -p rmdup
mkdir -p lastbam
#./config/raw.config已构建

cat ./config/raw.config  |while read id;
do echo $id
arr=($id)
fq2=${arr[2]}
fq1=${arr[1]}
sample=${arr[0]}
echo Now I am processing the raw data $sample
echo $fq1
echo $fq2
trim_galore -q 25 --phred33 --length 35 -e 0.1 --stringency 4 --paired -o ./clean  ./raw/$fq1   ./raw/$fq2

cd /home/xintong/ATAC_Project/yt_ATAC/clean
echo ${fq1%.fq.gz}_val_1.fq.gz
echo ${fq2%.fq.gz}_val_2.fq.gz
#bowtie2.sh
bowtie2 -p 25 --very-sensitive -X 2000 -x /home/ruiqing/reference/ricegenome -1 ${fq1%.fq.gz}_val_1.fq.gz -2 ${fq2%.fq.gz}_val_2.fq.gz | samtools sort -T ./ -O bam -@ 25 -o - > /home/xintong/ATAC_Project/yt_ATAC/align/${sample}.bam
samtools index /home/xintong/ATAC_Project/yt_ATAC/align/${sample}.bam
samtools flagstat /home/xintong/ATAC_Project/yt_ATAC/align/${sample}.bam > /home/xintong/ATAC_Project/yt_ATAC/align/${sample}.stat
#flagstat需要写绝对路径


sambamba markdup --overflow-list-size 600000 -t 20 --tmpdir='./' -r /home/xintong/ATAC_Project/yt_ATAC/align/${sample}.bam  /home/xintong/ATAC_Project/yt_ATAC/rmdup/${sample}.rmdup.bam
samtools index /home/xintong/ATAC_Project/yt_ATAC/rmdup/${sample}.rmdup.bam
samtools flagstat /home/xintong/ATAC_Project/yt_ATAC/rmdup/${sample}.rmdup.bam > /home/xintong/ATAC_Project/yt_ATAC/rmdup/${sample}.rmdup.stat

samtools view -h -f 2 -q 30 /home/xintong/ATAC_Project/yt_ATAC/rmdup/${sample}.rmdup.bam |grep -v ChrUn|grep -v ChrSy|samtools sort -T ./ -O bam -@ 20 -o - > /home/xintong/ATAC_Project/yt_ATAC/lastbam/${sample}.last.bam
samtools index /home/xintong/ATAC_Project/yt_ATAC/lastbam/${sample}.last.bam
samtools flagstat /home/xintong/ATAC_Project/yt_ATAC/lastbam/${sample}.last.bam > /home/xintong/ATAC_Project/yt_ATAC/lastbam/${sample}.last.stat
bedtools bamtobed -i /home/xintong/ATAC_Project/yt_ATAC/lastbam/${sample}.last.bam  > /home/xintong/ATAC_Project/yt_ATAC/lastbam/${sample}.last.bed
done

 bam to bw and ploting

###atac_seq虚拟环境
Projpath=/home/xintong/ATAC_Project/yt_ATAC
mkdir -p ${Projpath}/bw
cd ${Projpath}/lastbam

ls *.bam |while read id;do
echo $id
bamCoverage -p 30 -bs 10  --normalizeUsing RPKM --smoothLength 20 -b $id -o ${Projpath}/bw/${id%%.*}.bw 
done

cd ${Projpath}/bw
computeMatrix scale-regions  -p 30  \
-b 10000 -a 10000    \
-R /home/ruiqing/reference/all.gtf  \
-S ${Projpath}/bw/*.bw  \
--skipZeros  -o matrix1_test_body.gz  \
--outFileSortedRegions matrix1_test.bed


plotProfile -m matrix1_test_body.gz  -out test_body_Profile.png
plotHeatmap -m matrix1_test_body.gz  -out test_body_Heatmap.png


mkdir -p ${Projpath}/peaks
###########如果atac_seq虚拟环境下有macs2,可执行下列脚本
cd ${Projpath}/lastbam
#callpeak.sh
ls *.bed | while read id ;do (macs2 callpeak -t $id  -g 4e8 --nomodel --shift  -100 --extsize 200  -n ${id%%.*} --outdir ${Projpath}/peaks) ;done

  peaks calling

#################rnaseq环境下
Projpath=/home/xintong/ATAC_Project/yt_ATAC
cd ${Projpath}/lastbam
#callpeak.sh
ls *.bed | while read id ;do (macs2 callpeak -t $id  -g 4e8 --nomodel --shift  -100 --extsize 200  -n ${id%%.*} --outdir ${Projpath}/peaks) ;done


 bedtools intersect -a 370-1-1_peaks.narrowPeak -b 370-1-2_peaks.narrowPeak 370-1-3_peaks.narrowPeak -wo > 370_merge.bed

 bedtools intersect -a ZH11-1-1_peaks.narrowPeak -b ZH11-1-2_peaks.narrowPeak ZH11-1-3_peaks.narrowPeak -wo >ZH11_merge.bed

 

 

### 单细胞ATAC-seq数据处理使用GATK流程 #### 工具与最佳实践概述 在单细胞水平上研究染色质开放性,scJoint集成了大规模单细胞RNA-seq和ATAC-seq数据并应用迁移学习方法来增强数据分析能力[^1]。然而,在特定于单细胞ATAC-seq的数据处理方面,通常会采用一系列专门设计的工作流来进行预处理、质量控制以及下游分析。 对于单细胞ATAC-seq数据而言,虽然GATK(Genome Analysis Toolkit)主要以其在变异检测方面的强大功能而闻名,但在某些情况下也可以用于辅助处理这类特殊类型的测序数据。不过需要注意的是,针对单细胞ATAC-seq的最佳实践中更常提及的是其他软件包如Seurat或ArchR等专用工具[^3]。 当考虑利用GATK进行单细胞ATAC-seq数据处理时,可能涉及以下几个方面: - **读取对齐**:尽管这不是严格意义上的GATK操作,但对于任何基于短读长序列的技术来说都是至关重要的一步。推荐使用BWA-MEM或其他适合的算法完成这一过程。 - **标记重复片段**:此步骤可以通过Picard Tools中的`MarkDuplicates`命令实现,它能有效识别并标记PCR扩增过程中产生的冗余分子,这对于后续统计更加精确至关重要。 - **基础替换错误校正**:如果存在已知的参考基因组版本差异,则可以借助BaseRecalibrator模块修正潜在的碱基调用偏差问题;这有助于提高SNP/InDel鉴定精度,即使这些不是单细胞ATAC-seq的主要关注点。 - **Peak Calling**:这是指确定哪些区域显示出显著高于背景信号强度的现象级特征位置的过程。MACS2是一个广泛使用的peak calling工具,它可以很好地配合GATK工作流一起运行。 - **注释与可视化**:最后阶段往往涉及到生物学意义解释环节,此时可依赖ChIPseeker之类的库帮助关联发现到peaks同已知转录因子结合位点之间的关系,并通过ggplot2绘制图形化展示结果。 值得注意的是,上述提到的一些步骤并非全部由GATK直接支持,而是结合了多个开源项目的协同作用共同构建了一个较为全面的数据处理框架。因此,在实际应用场景下应当灵活选择最合适的组件组合起来满足具体的科研需求。 ```bash # 使用 BWA 进行读取对齐 bwa mem -t 8 reference_genome.fa input_R1.fastq.gz input_R2.fastq.gz | samtools view -@ 4 -Shbo output.bam - # 标记 PCR 复制本 java -jar picard.jar MarkDuplicates I=input.bam O=marked_duplicates.bam M=duplicate_metrics.txt REMOVE_DUPLICATES=true # 基础替换误差模型训练 (仅适用于有参物种) gatk BaseRecalibrator \ -R reference_genome.fasta \ -I marked_duplicates.bam \ --known-sites dbSNP.vcf.gz \ -O recal_data.table # Peak Calling 示例代码 macs2 callpeak -t treated_sample_.bam -c control_sample.bam -f BAMPE -n sample_name --outdir ./results/ ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值