使用deeptools将bam文件转换为bw文件

使用deeptools将bam文件转换为bw文件,第1张

deeptools 提供两个bam转换为bw的命令,分别是 bamCoverage 和 bamCompare 。两者的区别在于 bamCoverage 是对单个bam文件进行转换,而 bamCompare 接受两个bam文件,生成两者信号比值的bw文件。 以下是ChIP-seq 数据转换的一个示例用法-b, --bam : 输入的bam文件-o :输出的bw文件-bs, --binSize :分割的bin size--normalizeUsing :每个bins中read counts的校正单位,可以从 RPKM , CPM , BPM , RPM , RPGC 中选择--effectiveGenomeSize :可比对基因组区域的大小(bp),可以从这里查 http://deeptools.readthedocs.io/en/latest/content/feature/effectiveGenomeSize.html --scaleFactor :数值,可以是由spike-in推算的校正因子--numberOfProcessors, -p :使用的线程数bamCompare 的基本用法如下 其中,-b1 :处理组的bam文件-b2 :控制组的bam文件-o :输出的bw文件--scaleFactorsMethod : Possible choices: readCount, SES, None。用于校正样本间文库测序深度的方法,也可以将该参数设置为 None ,然后使用 --normalizeUsing 进行校正。--operation :Possible choices: log2, ratio, subtract, add, mean, reciprocal_ratio, first, second.--pseudocount : 添加一个较小的数值避免分母为0,默认是 1 另外, bamCoverage 中使用的多数参数在 bamCompare 中都能使用。 本文只是简单总结了 bamCoverge , bamCompare 两个命令中的部分参数,关于其详细的参数列表可以到其官方文档,或者在linux下加上 --help 参数查看。 完。

IPCONFIG /ALL或者是PING命令。

拓展资料:

CMD查看本机IP地址

如图:

点击系统桌面左下角的“开始”,然后在搜索框内输入“cmd”。

注:如果是XP系统,请依次点击“开始”再点击“运行”,接着在窗口中输入“cmd”就可以了,其它步骤相同!

在d出的CMD命令中输入:ipconfig /all,并回车。

之后,我们会得到如下图的信息。

这里,我们只需要查看IPv4 地址,默认网关和DNS服务器就可以了。

如图标记的一样,IPv4 地址为我们本机的IP地址,剩余的默认网管和DNS服务器也是我们本机的默认网管和DNS地址。

注:因为我本机是连接无线路由器的,所以IP地址显示的是局域网内的IP地址,如果是通过拨号方式上网,则IP地址和网关、DNS显示的是电信或联通、移动的IP地址和网管、DNS。

如果想要查询电信、联通或铁通分配给我们的IP地址,可以通过百度搜索“IP地址”查看自己的外网IP。

由于 Docker 编译需要依赖于 Docker Daemon ,所以只能在 64 位的 Linux 环境下先安装 Docker 程序,再从 Github 上克隆 Docker 的代码进行编译。

在 Docker 的目录下执行 make 命令将默认执行 Makefile 中 make binary 指令进行编译。

?

default: binary

all: build

$(DOCKER_RUN_DOCKER) hack/make.sh

binary: build

$(DOCKER_RUN_DOCKER) hack/make.sh binary

cross: build

$(DOCKER_RUN_DOCKER) hack/make.sh binary cross

从以上的 Makefile 可以看出,执行 make、make binary、make all 或 make cross 都可以得到可运行的 Docker 程序。

在 Mac OS 环境下使用 brew 的命令安装 Docker ,只能得到一个 docker client 的二进制程序,如果以 daemon 的方式运行,会得到 ‘This is a client-only binary - running the Docker daemon is not supported.’ 的错误提示信息。

方法 1.

使用 VirtualBox 或者 VMWare Workstation 安装一个 Linux 的虚拟机。宿主机使用 VPN 等方案使网络“正常”访问各种“服务”,虚拟机网卡使用 NAT 模式。在 Linux 虚拟机内使用 make 进行编译 Docker 不会有任何网络问题。只是编译速度受限于 VPN 等网络解决方案,有可能等待时间很长。

方法 2.

Docker 每次发布新版本,都会在 docker-dev 的镜像仓库发布一个新的标签,这个镜像仓库包含了编译 Docker 镜像所依赖的所有环境,只需替换 Docker 代码目录下的 Dockerfile 即可实现编译 Docker 。

?

FROM docker.cn/docker/docker-dev:v1.2.0

VOLUME /var/lib/docker

WORKDIR /go/src/github.com/docker/docker

ENV DOCKER_BUILDTAGS apparmor selinux

ENTRYPOINT [“hack/dind”]

COPY . /go/src/github.com/docker/docker

Dockerfile 中只保留必要的步骤就可以实现编译了。

方法 3.

对 Docker 代码中的 Docker 进行彻底的改造,用国内的各种镜像替换其中不能在“正常”网络条件下访问的镜像,使得代码能够快速编译通过。

?

FROM docker.cn/docker/ubuntu:14.04.1

MAINTAINER Meaglith Ma <genedna@gmail.com>(@genedna)

RUN echo "deb http://mirrors.aliyun.com/ubuntu trusty main universe" >/etc/apt/sources.list &&echo "deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted" >>/etc/apt/sources.list &&echo "deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted" >>/etc/apt/sources.list &&echo "deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted" >>/etc/apt/sources.list &&echo "deb http://mirrors.aliyun.com/ubuntu/ trusty universe" >>/etc/apt/sources.list &&echo "deb-src http://mirrors.aliyun.com/ubuntu/ trusty universe" >>/etc/apt/sources.list &&echo "deb http://mirrors.aliyun.com/ubuntu/ trusty-updates universe" >>/etc/apt/sources.list &&echo "deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates universe" >>/etc/apt/sources.list &&echo "deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted" >>/etc/apt/sources.list &&echo "deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted" >>/etc/apt/sources.list &&echo "deb http://mirrors.aliyun.com/ubuntu/ trusty-security universe" >>/etc/apt/sources.list &&echo "deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security universe" >>/etc/apt/sources.list

RUN apt-get update &&apt-get install -y \

aufs-tools \

automake \

btrfs-tools \

build-essential \

curl \

dpkg-sig \

git \

iptables \

libapparmor-dev \

libcap-dev \

libsqlite3-dev \

lxc=1.0* \

mercurial \

parallel \

reprepro \

ruby1.9.1 \

ruby1.9.1-dev \

s3cmd=1.1.0* \

unzip \

--no-install-recommends

RUN git clone --no-checkout https://coding.net/genedna/lvm2.git /usr/local/lvm2 &&cd /usr/local/lvm2 &&git checkout -q v2_02_103

RUN cd /usr/local/lvm2 &&./configure --enable-static_link &&make device-mapper &&make install_device-mapper

RUN curl -sSL http://docker-cn.qiniudn.com/go1.3.1.src.tar.gz | tar -v -C /usr/local -xz

ENV PATH/usr/local/go/bin:$PATH

ENV GOPATH /go:/go/src/github.com/docker/docker/vendor

ENV PATH /go/bin:$PATH

RUN cd /usr/local/go/src &&./make.bash --no-clean 2>&1

ENV DOCKER_CROSSPLATFORMS \

linux/386 linux/arm \

darwin/amd64 darwin/386 \

freebsd/amd64 freebsd/386 freebsd/arm

ENV GOARM 5

RUN cd /usr/local/go/src &&bash -xc 'for platform in $DOCKER_CROSSPLATFORMSdo GOOS=${platform%/*} GOARCH=${platform##*/} ./make.bash --no-clean 2>&1done'

RUN mkdir -p /go/src/github.com/gpmgo \

&&cd /go/src/github.com/gpmgo \

&&curl -o gopm.zip http://gopm.io/api/v1/download?pkgname=github.com/gpmgo/gopm\&revision=dev --location \

&&unzip gopm.zip \

&&mv $(ls | grep "gopm-") gopm \

&&rm gopm.zip \

&&cd gopm \

&&go install

RUN gopm bin -v code.google.com/p/go.tools/cmd/cover

RUN gem sources --remove https://rubygems.org/ \

&&gem sources -a https://ruby.taobao.org/ \

&&gem install --no-rdoc --no-ri fpm --version 1.0.2

RUN gopm bin -v -d /go/bin github.com/cpuguy83/go-md2man@tag:v1

RUN git clone -b buildroot-2014.02 https://github.com/jpetazzo/docker-busybox.git /docker-busybox

RUN /bin/echo -e '[default]\naccess_key=$AWS_ACCESS_KEY\nsecret_key=$AWS_SECRET_KEY' >/.s3cfg

RUN git config --global user.email 'docker-dummy@example.com'

RUN groupadd -r docker

RUN useradd --create-home --gid docker unprivilegeduser

VOLUME /var/lib/docker

WORKDIR /go/src/github.com/docker/docker

ENV DOCKER_BUILDTAGSapparmor selinux

ENTRYPOINT ["hack/dind"]

COPY. /go/src/github.com/docker/docker

以上的命令把 Ubuntu 镜像中的源替换为国内速度较快的阿里源;把 lvm2 镜像到国内的 Git 托管服务 coding.net;从 七牛云存储 保存的 Golang 源码进行获取和编译;使用 gopm 下载编译所需要的 Library ;最后把其中 gem 源切换到淘宝。至此,可以在“特殊”的网络条件下快速编译 Docker 。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7344135.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存