美文网首页走进转录组
day16ChIP-seq下载数据

day16ChIP-seq下载数据

作者: meraner | 来源:发表于2022-05-27 16:06 被阅读0次

    要实战之前,要有数据和软件两样。

    一、数据

    从网上下载数据,最好的办法是本节最后的方法直接用sratoolkit里的fastq-dump命令。

    下面的是学习过程,但是走弯路了,——按照day18更新版本操作更简便,而且直接能转换成样本名称

    1. jimmy大神早前的帖子里用了ChIP-seq实战

    和视频里不一样。

    2.从GEO下载数据

    可以详见手把手教你如何从GEO下载数据
    方法一:从网页下,需要在NCBI的GEO数据库中进入相应的GEO Series (GSE) study ID,如GSE42466。再选择要下载的样本GEO Sample (GSM) 样本ID,如GSM1041372 Ring1B_ChIPSeq。再点击RSA格式的文件编号,如| SRP017311。在右上角sent里面选择File,format选择run info。就会下载一个scv文件,里面有 download_path选项。copy到浏览器里就会自动下载啦。看下载进程600多M的文件大约0.5-4小时。
    SRA为了节省空间,一般上传的数据都是.sra的压缩文件,那我们如何将sra文件转化成常用的双端数据呢?这里就要用到SRA提供的一个工具:fastq-dump,
    这个软件需要在Linux系统下进行操作,命令行如下:

    fastq-dump *.sra --split-3

    这里的--split-3会把原来双端拆分成两个文件,但是原来单端并不会保存成两个文件。运行完成后就能获得原始数据了。

    方法二:从Linux系统直接下载,也需要提前在网页的GEO数据库中找到GSE42466,再点击SRA对应的ID:SRP017311 ,会出现6个文件。全部选中之后,点击sent to,选择File 和runinfo,会把这六个数据的信息全都保存在csv文件中。


    image.png

    发现这个地址和jimmy大神写指南时不一样了哦。

    for ((i=204;i<=209;i++)) ;do wget https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR620$i/SRR620$i;done
    

    3. 把下载的sra数据转成fq格式文件,需要用Sratoolkit

    找到下载地址为:https://ftp-trace.ncbi.nlm.nih.gov/sra/sdk/3.0.0/sratoolkit.3.0.0-ubuntu64.tar.gz
    可以在linux里面下载直接安装哦。

    $ wget -c --no-check-certificate https://ftp-trace.ncbi.nlm.nih.gov/sra/sdk/3.0.0/sratoolkit.3.0.0-ubuntu64.tar.gz  # --no-check-certificates 使用“不检查证书”,这样就能下载成功。且option要放到地址的前面哦。
    $ tar -xzvf sratoolkit.3.0.0-ubuntu64.tar.gz #解压缩
    $ echo 'export PATH=$PATH:~/software/sratoolkit/sratoolkit.3.0.0-ubuntu64/bin' >> ~/.bashrc
    $ source ~/.bashrc
    

    试图运行程序,提示"libc.so.6: version `GLIBC_2.14’ not found",原因是系统的glibc版本太低,软件编译时使用了较高版本的glibc引起的:
    查看系统glibc支持的版本:
    $strings /lib64/libc.so.6 | grep GLIBC

    image.png

    二、尝试升级一下GLIBC(经历很复杂,结局却反转)

    http://ftp.gnu.org/gnu/glibc/找2.14

    $wget http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz #从ftp下载加了-n这个参数怎么就不行了呢?删掉就可以了。
    $wget http://ftp.gnu.org/gnu/glibc/glibc-ports-2.14.tar.gz 
    $tar -xvf  glibc-2.14.tar.gz
    
    $tar -xvf  glibc-ports-2.14.tar.gz
    
    $mv glibc-ports-2.14 glibc-2.14/ports
    
    $mkdir glibc-2.14/build
    
    $cd glibc-2.14/build 
    #下面运行configure配置,make &&  make install
    
    $~/glibc-2.14/configure  --prefix=/data/zds209/usr/local/glibc-2.14/lib--disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
    
    #configure 一定要指定路径。上面这一步在运行了glibc-2.14文件夹里面的configure文件。该条命令会在工作目录~/glibc-2.14/build生成Makefile和其他文件。没有root权限,要把prefix设定成自己指定的。
    $make #在工作目录~/glibc-2.14/build下进行编译。要挺长时间约2小时,看着一行行跳动的字符,由衷佩服这些代码的创作者。。有人用参数-j4,让make最多允许4个编译命令同时执行,这样可以更有效的利用CPU资源。
    $make install #安装,就是把编译出来的二进制文件,库,配置文件等等放到相应目录下-就是configuration里面指定的prefix吧。
    

    没有root权限,需要添加路径到.bashrc,在bashrc里面填下面一行。
    export LD_LIBRARY_PATH=/home/username/usr/local/glibc-2.14/lib:$LD_LIBRARY_PATH#这里PATH后面的路径应该就是configuration时候的prefix啦。


    结局:
    在我折腾第二次make的时候等待中,实在忍不住了,给网管大神发了求助信息。他只回了一句:执行一下这个 export LD_LIBRARY_PATH=/data/software/glibc-2.141/lib:$LD_LIBRARY_PATH原来大神在公共文件夹下已经放了2.14在里面,我只要做网上教程里最后一个操作——添加环境变量就行了,简直不要太爽。要不要请大神吃个饭?

    三、make命令-编译

    在前面make的长时间等待中加餐点儿知识。代码变成可执行文件,叫做编译(compile);先编译这个,还是先编译那个(即编译的安排),叫做构建(build)。
    Make可以从一个名为makefile的文件中获得如何构建你所写程序的依赖关系,Makefile中列出了每个目标文件以及如何由其他文件来生成它。 当你编写一个程序时,你可以为它编写一个makefile文件,这样你就可以使用Make来编译和安装这个程序。

    四、configure命令-配置

    参数解释
    --prefix:指定生成的lib库运行时保存的路径(要写绝对路径)。最终一直glibc交付件时存放位置必须要和prefix指定路径保持一致。

    五、继续Sratoolkit的使用

    5.1 配置

    使用前在sratoolkit的安装目录下,先输入这个命令vdb-config --interactive,按入字母x。即可。

    5.2 执行

    单个文件下载+格式转换

    #定义存放输出数据的文件夹,需要先创建这个文件夹‘fastq’
    mkdir fastq
    $fqdir=~/ChIP-seqtest/data/fastq
    $fastq-dump --gzip --split-3 -X 25000 -O ${fqdir} SRR1039510 #转换单个文件,而且不用下载sra数据,直接输入SRR号码就可以啦。完美。25000这是测试用的,只转换前25000条数据。实际操作中不用这个参数。
    

    批量下载+格式转换

    建立样本名文件sample.ID
    建立sh文件,vim。
    
    fqdir=~/ChIP-seqtest/data/fastq
    cat ~/ChIP-seqtest/data/sample.ID | while read id
    do
    fastq-dump --gzip --split-3  -O ${fqdir} ${id}
    done 
    #保存为sh脚本 提交后台运行命令,脚本文件后缀为.sh
    

    sra2fq.sh 文件放到software/sratoolkit下面,以后就可以调用啦。第一次独立写脚本,开心。

    相关文章

      网友评论

        本文标题:day16ChIP-seq下载数据

        本文链接:https://www.haomeiwen.com/subject/qvkyprtx.html