2025-04-27 加了lambda过滤的那一组再做motif

直接改了/home/data/t210424/m/pcnolambda.sh的output的文件夹

peakcall0423nolambda和peakcall0427nolambda2都是以下脚本输出的

#!/bin/bash

align_dir="/home/data/t210424/m/alignment"

peak_dir="/home/data/t210424/m/peakcall0427nolambda2"

chrom_sizes="/home/data/t210424/Genome/Mouse/mm10.chrom.sizes"

mkdir -p "${peak_dir}"

    # 获取所有有效染色体列表(提前处理,避免重复读取)

    valid_chroms=$(cut -f1 "$chrom_sizes" | sort | uniq)


for i in {1..9}; do

        macs2 callpeak \

            -t "${align_dir}/RIP_${i}.sorted.bam" \

            -c "${align_dir}/In_${i}.sorted.bam" \

            -f BAMPE \

            -g mm \

            --keep-dup all \

            --bw 500 \

            --slocal 5000 \

            --llocal 10000 \

          --nomodel \

          -q 0.05 \

          --min-length 20 \

          --max-gap 30 \

            --extsize 100 \

            --bdg \

            --SPMR \

          --outdir "${peak_dir}" \

          -n "RIP_${i}_peaks" 2>&1 | tee "${peak_dir}/RIP_${i}_callpeak.log"


    # 生成标准化后的 bedGraph 用于 IGV

    macs2 bdgcmp -t ${peak_dir}/RIP_${i}_peaks_treat_pileup.bdg \

        -c ${peak_dir}/RIP_${i}_peaks_control_lambda.bdg \

        -m FE --o-prefix ${peak_dir}/RIP_${i}_FE


  # 创建日志文件

    log_file="${peak_dir}/bedgraph_to_bigwig.log"

    echo "转换日志 $(date)" > "$log_file"

    # 遍历所有 *_FE_FE.bdg 文件

    for bdg_file in "${peak_dir}"/*_FE_FE.bdg; do

            # 提取基础文件名(如 RIP_1_FE_FE)

          base_name=$(basename "$bdg_file" .bdg)

            echo "正在处理: $bdg_file" | tee -a "$log_file"

            # Step 1: 添加染色体前缀到临时文件

            tmp_bdg="${bdg_file}.tmp"

            sed 's/^/chr/' "$bdg_file" > "$tmp_bdg"

            # Step 2: 过滤无效染色体到最终文件

            filtered_bdg="${peak_dir}/${base_name}_filtered.bdg"

            awk -F'\t' 'BEGIN{OFS="\t"} NR==FNR {chrom[$1]=1; next} $1 in chrom' \

                <(echo "$valid_chroms") \

                "$tmp_bdg" > "$filtered_bdg"

          # Step 3: 转换为 bigWig

            bw_file="${peak_dir}/${base_name}.bw"

            if bedGraphToBigWig "$filtered_bdg" "$chrom_sizes" "$bw_file" 2>> "$log_file"; then

                echo "成功生成: $bw_file" | tee -a "$log_file"

                # 清理临时文件

                rm "$tmp_bdg" "$filtered_bdg"

            else

                echo "错误: $bw_file 转换失败,检查日志中的无效染色体" | tee -a "$log_file"

                exit 1

            fi

    done

done

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容