首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >bam 转 wig 并批量处理的方法

bam 转 wig 并批量处理的方法

原创
作者头像
叶子Tenney
发布于 2024-03-17 08:21:32
发布于 2024-03-17 08:21:32
4280
举报

引言

本文将介绍一种 bam 转 wig 并批量处理的方法。需要用到的软件是来自 Augustus 的 bam2wig.

过程

软件安装

Augustus 官方 github 地址:

GitHub - Gaius-Augustus/Augustus: Genome annotation with AUGUSTUS

对于 linux 客户端,官方提供了 apt/Docker/Singularity/Building AUGUSTUS from source 四种安装方式,由于权限及软件问题,建议编译安装,非常不推荐 docker 安装。

首先需要安装依赖 (samtools 可使用 conda 版本):

sudo apt-get install samtools libhts-dev

代码语言:sh
AI代码解释
复制
git clone https://github.com/Gaius-Augustus/Augustus.git
cd Augustus
make augustus

如果只需要使用 bam2wig, 可以:

代码语言:sh
AI代码解释
复制
git clone https://github.com/Gaius-Augustus/Augustus.git
cd Augustus/auxprogs/bam2wig
make
./Augustus/bin/bam2wig

如果顺利的话,会打印出:

代码语言:txt
AI代码解释
复制
Usage: bam2wig [-r region] [-t trackname] <in.bam>
-----------------------------------------------------------------
 -r   Allows user to specify a target region, e.g. 'chr3L:10-250'
      This option can only be used if an index file exists
      See: samtools index
 -t   A string might be provided as track name

NOTE:File needs to be sorted by Reference ID (i.e. target name)
Use 'samtools sort <in.bam>' to such effect.

软件使用

bam2wig 官方提供的使用教程:

Augustus/auxprogs/bam2wig/README.md at master · Gaius-Augustus/Augustus

由打印可知,在使用 bam2wig 之前需要先进行samtools sort, 因此正确的流程是:

代码语言:sh
AI代码解释
复制
## check
samtools quickcheck SRR******.bam
## sort
samtools sort SRR******.bam -@8 -o SRR******.sorted.bam
samtools stats SRR******.sorted.bam | grep 'is sorted'
## bam2wig
bam2wig SRR******.sorted.bam > SRR6131113.wig

批量运行

批量的思路是先获取 data 文件夹内的所有文件名,然后对每个文件名依次检查,排序,转换。

其中,conda activate bulkrna需要设置为含samtools的环境名,Augustus/bin/bam2wig要设置为bam2wig的绝对路径。

1.get_raw_data.sh

代码语言:sh
AI代码解释
复制
#!/bin/bash
SHELL_FOLDER=$(cd "$(dirname "$0")";pwd)
echo $SHELL_FOLDER/data
# cd $SHELL_FOLDER/data
data_dir=$SHELL_FOLDER/data

## get filenames
samplefile="samplenames.txt"
if [ ! -d $samplefile ]; then
        filenames=$(ls $data_dir)
        for filename in $filenames
        do
                echo $filename
        done > filenames.txt
        ### get samplenames
        grep -oP ".*?(?=\.)" filenames.txt | awk ' !x[$0]++' > samplenames.txt
else
        echo "$samplename exists!"
fi

2.run.sh

代码语言:sh
AI代码解释
复制
#!/bin/bash
# 检查 env.txt 文件是否存在
if [ -f "${HOME}/env.txt" ]; then
  # 如果 env.txt 存在,则运行相应的命令
  while IFS='=' read -r key value; do
    echo "$key=$value"
    export "$key"="$value"
  done < "${HOME}/env.txt"
else
  # 运行其他命令
  echo "env.txt 文件不存在"
fi

SHELL_FOLDER=$(cd "$(dirname "$0")";pwd)
data_dir=$SHELL_FOLDER/data
results_dir=$SHELL_FOLDER/results
mkdir -p $data_dir
mkdir -p $results_dir
echo $data_dir
cd $data_dir
# samplefile=$data_dir/samplenames.txt
samplefile=$SHELL_FOLDER"/samplenames.txt"

eval "$(conda shell.bash hook)"
conda activate bulkrna

#Run
data_dir=$SHELL_FOLDER/data
data_dir_process=$SHELL_FOLDER/data_process
mkdir -p $data_dir_process

num=$(wc -l < $samplefile)
# for i in $(seq 2 2)
for i in $(seq 1 $num)
do
    echo $i
    samplename=$(sed -n "${i}p" $samplefile)
#     echo $samplename
#     cd $data_dir_process
    if [ ! -d $samplename ]; then
            echo "$samplename not completed, process in $data_dir"
            sample_file=${data_dir}/${samplename}.bam
            samtools quickcheck ${sample_file}
            echo "$samplename is checked"
            sort_file=${data_dir_process}/${samplename}.sorted.bam
            samtools sort ${sample_file} -@8 -o ${sort_file}
            samtools stats ${sort_file} | grep 'is sorted'
            Augustus/bin/bam2wig ${sort_file} > ${results_dir}/${samplename}.wig
    else
            echo "$samplename exists!"
    fi
done > run.log

结论

这是一份较为通用的处理方法。

错误解决

docker 版本 bam2wig 失败

主要遇到的问题是 docker 的存储访问问题,在容器起效之后,容器其实无法访问本机的存储空间。

所以docker run -i augustus augustus --versiondocker run -i augustus bam2wig是可以使用的,但是docker run -i augustus bam2wig SRR******.bam会提示找不到文件。

引用

  1. 通过 WIG 格式将转录组数据展示到 Gbrowse2 中 | Public Library of Bioinformatics
  2. augustus 软件安装与 Docker 使用记录_augustus git-CSDN 博客
  3. 如何检测 bam 文件的完整性 - 小鲨鱼 2018 - 博客园
  4. SAMtools——bam 文件排序 - 简书

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
WGCNA升级:CCNA+WGCNA筛选更可靠的候选基因
今天给大家介绍一个WGCNA的新玩法,即一致性共表达网络分析(Consensus co-expression network analysis,CCNA),该方法于2022年9月份发表在 Journal of Advanced Research 杂志(IF=11.4)上,文献标题为:《Consensus co-expression network analysis identifies AdZAT5 regulating pectin degradation in ripening kiwifruit》。
生信技能树
2025/02/19
4421
WGCNA升级:CCNA+WGCNA筛选更可靠的候选基因
看优秀本科生如何一周内学会Linux进而搞定RNA-seq上游分析
我是武汉大学基础医学专业第一届的学生,2016年9月刚进大学的时候就选了导师进入实验室接受科研训练。虽然我们实验室不是专门做生物信息学的,但第一次和导师正式交流的时候,她就建议我要学点生信。(巧合的是2016年9月也是生信菜鸟团转型生信技能树的时间点,如果所有的导师都如此明智就好了)
生信技能树
2020/04/14
9.2K1
看优秀本科生如何一周内学会Linux进而搞定RNA-seq上游分析
ATAC-seq实操
本实操完全学习了:给学徒的ATAC-seq数据实战(附上收费视频) 的代码及流程,首先致谢!
生信技能树
2018/11/05
7.4K2
10X bam文件按barcode分割
最近遇到一个需求是将10X单细胞测序数据按照barcode分割,一般分割文件我们首先想到bamtools split,具体用法可以参考之前记录过的bamtools分割bam文件,但是由于bamtools同时打开并记录的文件数量有限制,所以用下面的分割方式会报memory error。
生信编程日常
2020/08/12
2.6K0
一个优秀的ATAC-seq数据分析资源实战(一)
之前我们给大家介绍了两篇ATAC-Seq数据分析pipeline的优秀综述:综述:ATAC-Seq 数据分析工具大全 和 Omni-ATAC:更新和优化的ATAC-seq协议(NatProtoc),我们今天就来实战介绍!
生信技能树
2025/02/27
4020
一个优秀的ATAC-seq数据分析资源实战(一)
生信技能树-day18 转录组上游分析-比对、定量
今天的是三周合计15天的数据挖掘授课学员一点一滴整理的授课知识点笔记哦,还有互动练习题哈,欢迎大家点击文末的阅读原文去关注我们学员的公众号哦!
生信菜鸟团
2024/06/25
6880
生信技能树-day18 转录组上游分析-比对、定量
流程管理工具snakemake学习笔记杂记
这里rule all的作用还是没有搞明白,看有的文档说是最终保留的文件 ,我这里rule all 只写了了最终的html和json,但是最终的结果里是有过滤后的fastq文件的
用户7010445
2022/05/23
1.1K0
流程管理工具snakemake学习笔记杂记
软件介绍之Samtools
SAMtools是一个用于操作sam和bam文件的工具合集。能够实现二进制查看、格式转换、排序及合并等功能,结合sam格式中的flag、tag等信息,还可以完成比对结果的统计汇总。同时利用linux中的grep、awk等操作命令,还可以大大扩展samtools的使用范围与功能。包含有许多命令,我这里主要介绍几个:
生信技能树
2021/07/06
2.8K0
我的第一次ChIP-seq实践
1. 软件安装 整个过程基本是从零开始,也就是说服务器没有安装任何所需软件。因为我平时会用到Python,所以第一步安装的是Anaconda,版本是Anaconda3-4.4.0-Linux-x86_64.sh. Ananconda是一个用于科学计算的Python发行版,能够方便解决多版本Python并存(后面会看到)、切换以及各种第三方包安装问题(最大的好处)。 Anaconda和整个ChIP-seq分析没关系,提到它是因为安装Anaconda后可以用BIOCONDA,能够方便安装管理生物信息软件,无需自
生信技能树
2018/03/08
3K0
我的第一次ChIP-seq实践
RNA-seq(5):序列比对:Hisat2
1 HISAT2官网下载 人类和小鼠的索引有现成的,HISAT2官网可以直接下载进行序列比对。如下图所示:选择hg19和mm10的index,文章中RNA-Seq测序数据,可以包括人类和小鼠的数据,因此需要小鼠和人类的索引。
Y大宽
2018/09/10
5.6K0
RNA-seq(5):序列比对:Hisat2
给学徒的ATAC-seq数据实战
本次给学徒讲解的文章是 :The landscape of accessible chromatin in mammalian preimplantation embryos. Nature 2016
生信技能树
2018/09/21
6.4K0
给学徒的ATAC-seq数据实战
新冠病毒分型和突变分析(SARS-CoV2_ARTIC_Nanopore)
备注:docker运行的操作系统,推荐为Linux,windows,macOS系统下docker可能部分功能(网络)不能正常运行
SliverWorkspace
2022/11/30
1.1K0
新冠病毒分型和突变分析(SARS-CoV2_ARTIC_Nanopore)
workflow03-用snakemake制作比对及变异查找流程
这个snakemake workflow 主要包括:mapping, sort >> index >> call variants
北野茶缸子
2022/07/07
1.6K0
workflow03-用snakemake制作比对及变异查找流程
snakemake杂记:多个转录组比对到多个基因组得到多个bam文件然后合并
我有10个基因组,然后又12个转录组数据,然后将这个12个基因组数据分别比对到这个10个基因组,每个基因组得到12个bam文件,然后将每个基因组的12个bam文件合并 ,最终得到10个合并的bam文件
用户7010445
2023/08/23
4750
snakemake杂记:多个转录组比对到多个基因组得到多个bam文件然后合并
用shell脚本实现转录组测序中 解压-比对-计算基因表达量 一体化
这个脚本需要的软件有:hisat2,SRA-toolkit,samtools,htseq-count 有兴趣的同学可以自己去下载并安装好,记得要配置好环境变量! 脚本所用到的参考基因组可以从hisat2官网下载,参考基因组注释文件可以从gencode数据库下载 脚本如下 #!/bin/bash #把sra文件都存放在Sra文件夹里面 #参考基因组和注释文件都在hg19文件夹里面 #qiujunhui 1801963472@qq.com mkdir Fastq_out #创建一个存放SRA-toolkit解
戈贝尔光和热
2018/12/27
1.3K0
更快的处理bam数据—Sambamba
sambamba 主要是由Artem Tarasov开发的一款高效的生物信息学工具,主要用于处理大规模的测序数据,尤其是针对SAM/BAM格式的文件。这个软件的设计目的是为了提供比现有工具(samtools)更快的性能,特别是在多核处理器系统上,它利用多核处理并显著缩短处理时间。其具有以下特性:
生信菜鸟团
2023/12/28
3.9K0
更快的处理bam数据—Sambamba
ATAC-seq或者ChIP-seq等表观测序数据处理服务
ATAC-seq或者ChIP-seq等表观测序数据,需要比对到参考基因组并且找其峰值(peaks)并且进行基因功能元件注释或者motif注释,我们仅仅是收取一个计算机资源的费用,800-1600元人民币(根据样品数量不同收费不一样)即可,并且提供全套代码。不管是公共数据集还是你自己的实验测序数据,一样的费用!我们会代替你跑如下所示的流程:
生信技能树
2021/10/21
2K0
ATAC-seq或者ChIP-seq等表观测序数据处理服务
GATK Germline_SNP_INDEL_2.0 分析遗传病(耳聋)
备注:docker运行的操作系统,推荐为Linux,windows,macOS系统改下docker可能部分功能(网络)不能正常运行
SliverWorkspace
2022/12/12
8960
GATK Germline_SNP_INDEL_2.0 分析遗传病(耳聋)
WGS分析实战-01:从SRA数据下载到构建GenomicsDatabase
用于实战的数据集来自下面这篇于2017年发表在The Plant Journal的文章《Different mutational function of low- and high-linear energy transfer heavy-ion irradiation demonstrated by whole-genome resequencing of Arabidopsis mutants》
生信菜鸟团
2022/04/08
2.4K0
WGS分析实战-01:从SRA数据下载到构建GenomicsDatabase
新冠病毒分型和突变分析(SARS-CoV2_ARTIC_Illumina)
备注:docker运行的操作系统,推荐为Linux,windows,macOS系统改下docker可能部分功能(网络)不能正常运行
SliverWorkspace
2022/11/09
1.3K0
新冠病毒分型和突变分析(SARS-CoV2_ARTIC_Illumina)
推荐阅读
相关推荐
WGCNA升级:CCNA+WGCNA筛选更可靠的候选基因
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档