专栏首页图形化开放式生信分析系统开发图形化开放式生信分析系统开发 - 9 Illumina测序仪测序数据自动拆分
原创

图形化开放式生信分析系统开发 - 9 Illumina测序仪测序数据自动拆分

软件获取:到官网sliverworkspace.com免费下载个人版,最新版本 2.0.277363

前文讲述了从样本信息录入,分析流程的搭建/设计和运行,最终模板报告的定制与自动生成。为了实现完整的自动化,本文讲述如何与Illumina测序仪衔接,实现下机数据自动拆分(测试过的机型MiSeq,NextSeq500)。

一、bcl2fastq安装与运行

说到Illumina的下机数据拆分,就一定会用到Illumina官方的软件bcl2fastq2,目前最新版本2.20软件可以从Illumina官网下载,默认提供的是Linux rpm格式或者是源码格式。

安装

  • CentOS/Redhat:
  rpm -install -y bcl2fastq2_0v2.20.0.422-2_amd64.rpm
  • Ubuntu 可以将rpm转换为deb包格式然后安装:
  sudo apt-get install alien
  sudo alien bcl2fastq2_0v2.20.0.422-2_amd64.rpm
  dpkg -i bcl2fastq2_0v2.20.0.422-2_amd64.deb

-源码安装:

  ## For example, you can set the environment variables as:
  export TMP=/tmp
  export SOURCE=${TMP}/bcl2fastq
  export BUILD=${TMP}/bcl2fastq2-v2.19.x-build
  export INSTALL_DIR=/usr/local/bcl2fastq2-v2.19.x
  ##Build and Installthe Software
  ${TMP}/bcl2fastq:
  cd ${TMP}
  tar -xvzf bcl2fastq2-v2.19.x.tar.gz
  mkdir ${BUILD}
  cd ${BUILD}
  chmod ugo+x ${SOURCE}/src/configure
  chmod ugo+x ${SOURCE}/src/cmake/bootstrap/installCmake.sh
  ${SOURCE}/src/configure --prefix=${INSTALL_DIR}
  cd ${BUILD}
  make
  make install

Convert and Demultiplex BCL Files

<runfolder>表示下机目录,默认用于标记样本的SampleSheet.csv文件位置<runfolder>/SampleSheet.csv

运行:

  nohub nohup /usr/local/bin/bcl2fastq \
      --runfolder-dir <RunFolder>
      --output-dir <BaseCalls>
      --sample-sheet <runfolder-dir>/SampleSheet.csv

或者指定SampleSheet.csv文件位置:

  nohub nohup /usr/local/bin/bcl2fastq \
      --runfolder-dir <RunFolder>
      --output-dir <BaseCalls>

实际运行命令举例:

  bcl2fastq -r 8 -p 8 -w 8 \
      --no-lane-splitting \
      --barcode-mismatches 1 \
      --runfolder-dir /opt/ref/data/181105_NB551525_0003_AH7W7TAFXY \
      --sample-sheet  /opt/ref/data/181105_NB551525_0003_AH7W7TAFXY/SampleSheet.csv \
      --output-dir    /opt/ref/data

bcl2fastq命令参数很多,但是最常用的参数就以下几个:

  1. -r, --loading-threads 加载线程数
  2. -p, --processing-threads 拆分数据线程数
  3. -w, --writing-threads 数据写入线程数
  4. --no-lane-splitting 不按照lane拆分数据
  5. --barcode-mismatches 允许的barcode错配数
  6. --runfolder-dir / -R 下机数据目录
  7. --sample-sheet samplesheet文件所在位置
  8. --outputdir / -o 输出目录

二、如何识别下机数据目录

Illumina测序仪下机数据文件夹命名: YYMMDD_machinename_XXXX_FCXXXX

  • YYMMDD 为上机日期
  • machinename为该测序仪唯一命名编号
  • XXXX为expirement ID
  • FCXXXX为flowcell 编号

如果要使用程序扫描匹配样本系统,就需要提供至少前两个字段作为识别匹配。后两个字段,获取较难。

如何判断测序结束?一般使用该目录下RTAComplete.txt是否存在来判断测序是否完成。

三、SampleSheet.csv文件格式

SampleSheet文件最常用的有版本4 / 5,字段有些差异,但是真正在数据拆分时候起作用的,上图红色部分,其余并不重要。这里为了拆分项目通用性使用了字段 SampleProject,实际使用种大概率会出现多个项目上一张芯片。

以上SampleSheet.csv文件放在下机数据目录里,数据分拆后得到的数据是这样的:

目录结构为:

  [Sample Project]/[Sample ID]/[Sample Name]S*_R1_*.fastq.gz

记住此目录结构,为了拆分数据得到的数据与后续生信pipeline连接做全自动分析。

四、与系统交互从样本信息中生成SampleSheet.csv

如果要用程序生成SampleSheet文件,这里就会用到图形化开放式生信分析系统开发 - 2 样本信息处理文章里样本信息的字段信息。

  • 上机编号即对应于Illumina测序仪下机数据目录,前两个字段

五、与分析流程对接,实现拆分数据与数据分析联动

需要完成的工作:

  1. 请求系统根据样本信息生成SampleSheet,并下载到本地下机数据目录。
  2. 运行bcl2fastq分拆数据。
  3. 分拆成功后,更新系统中相关的Sample状态,标识该样本数据已经分拆过,避免重复运行。
  4. 在pipeline起始输入端,匹配分拆后的数据输入目录。必要时候使用正则表达式匹配。 如: ${pn}/${id}/^${sn}_S[a-zA-Z0-9_.\-]+_R1_[0-9]+.fastq.gz$ ${pn}/${id}/^${sn}_S[a-zA-Z0-9_.\-]+_R2_[0-9]+.fastq.gz$

整体的运行逻辑流程图如下:

六、拆分运行日志与报告保存

单纯的体力劳动。上两张图

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 转录组RNA-Seq使用docker+bioconda搭建分析环境

    近期学习转录组分析,从ncbi下载数据,转成fastq,STAR/hisat2 map到基因组上,使用featureCount拿到表达矩阵文件挺顺利的,就是到了...

    SliverWorkspace
  • 满分室间质评之GATK Somatic SNV+Indel+CNV+SV(下)性能优化

    #此处是原先Manta分析SV的步骤一,生成runWorkflow.py,因为这一不步速度很快,所以串行执行 rm -f ${result}/${sn}/r...

    SliverWorkspace
  • 图形化开放式生信分析系统开发 - 3 生信分析流程的进化

    接上两篇内容,本文主要讲述工作中NGS从科研进入医学临床领域,工作中接触到生信流程,以及最终在实现的过程。

    SliverWorkspace
  • 大数据将给百姓生活带来什么?

        无人驾驶的汽车,提供符合学生个性化的教学辅导材料,计算机来编辑新闻……日前,在北京召开的“首届大数据时代创新与媒介变革研讨会”上,专家们提出,大数据将给...

    腾讯研究院
  • 机器学习模型说你有精神病,信不信?

    核磁共振成像也叫磁共振成像,简称 MRI ,是一种可以对身体内部进行成像,帮助医生诊断疾病的技术。功能性磁共振成像(fMRI )属于 MRI 的一种,主要用于对...

    AI科技大本营
  • 不联网不插U盘也不一定安全 黑客能用声波攻击你的硬盘

    ­  近日,科学家公布了最新的研究成果,他们利用声波对机械硬盘进行攻击,导致使用机械硬盘的设备发生故障。那么,它造成的危害有多大?极客公园发现了讲述科学家研究成...

    企鹅号小编
  • 靠谱的iPhone批量换铃声 图文教程

    iPhone的来电铃声虽然经典,但听久了就想换换口味,这里用最简单的方式教大家自定义iPhone铃声 (2017年12月20日更新) 自定义铃声分三步 ...

    zhaoolee
  • 第十六章 分布式爬虫--准备工作

    2. 分布式架构: 每个业务模块部署多个节点, 同一个模块之间节点是如何通信的. 不同模块之间节点是如何通信的

    用户7798898
  • Appium+java+Mac自动化测试(eclipse脚本编写)

    顾翔老师开发的bugreport2script开源了,希望大家多提建议。文件在https://github.com/xianggu625/bug2testscr...

    小老鼠
  • 将 Kubernetes 证书文件全部清空了咋办?在线等!

    Kubernetes 是一个很牛很牛的平台,Kubernetes 的架构可以让你轻松应对各种故障,今天我们将来破坏我们的集群、删除证书,然后再想办法恢复我们的集...

    CNCF

扫码关注云+社区

领取腾讯云代金券