数据分析流程 订阅
数据流程分析就是把数据在现行系统内部的流动情况抽象出来,舍去了具体组织机构、信息载体、处理工作等物理组成,单纯从数据流动过程来考察实际业务的数据处理模式。数据流程分析主要包括对信息的流动、变换、存贮等的分析。其目的是要发现和解决数据流动中的问题。现有的数据流程分析多是通过分层的数据流程图(data flow diagram,简称DFD)来实现的。 展开全文
数据流程分析就是把数据在现行系统内部的流动情况抽象出来,舍去了具体组织机构、信息载体、处理工作等物理组成,单纯从数据流动过程来考察实际业务的数据处理模式。数据流程分析主要包括对信息的流动、变换、存贮等的分析。其目的是要发现和解决数据流动中的问题。现有的数据流程分析多是通过分层的数据流程图(data flow diagram,简称DFD)来实现的。
信息
内    容
流动、变换、存贮
载    体
数据是信息的载体
中文名
数据流程分析
组    成
组织机构、信息载体、处理工作
数据流程分析包括的内容
数据流程分析主要包括对信息的流动、变换、存贮等的分析。其目的是要发现和解决数据流动中的问题。这些问题有:数据流程不畅,前后数据不匹配,数据处理过程不合理等等。问题产生的原因有的是属于现行管理混乱,数据处理流程本身有问题,有的也可能是我们调查了解数据流程有误或作图有误。调查的目的就是要尽量地暴露系统存在的问题,并找出加以解决的方法。
收起全文
精华内容
下载资源
问答
  • 数据分析流程

    2015-03-18 10:13:57
    数据分析是基于商业目的,有目的的进行收集、整理、加工和分析数据,提炼有价信息的一个过程。 其过程概括起来主要包括:明确分析目的与框架、数据收集、数据处理、数据分析、数据展现和撰写报告等6个阶段。 1、...
    数据分析是基于商业目的,有目的的进行收集、整理、加工和分析数据,提炼有价信息的一个过程。
    其过程概括起来主要包括:明确分析目的与框架、数据收集、数据处理、数据分析、数据展现和撰写报告等6个阶段。


    1、明确分析目的与框架

    一个分析项目,你的数据对象是谁?商业目的是什么?要解决什么业务问题?数据分析师对这些都要了然于心。
    基于商业的理解,整理分析框架和分析思路。例如,减少新客户的流失、优化活动效果、提高客户响应率等等。不同的项目对数据的要求,使用的分析手段也是不一样的。

    2、数据收集
    数据收集是按照确定的数据分析和框架内容,有目的的收集、整合相关数据的一个过程,它是数据分析的一个基础。

    3、数据处理
    数据处理是指对收集到的数据进行加工、整理,以便开展数据分析,它是数据分析前必不可少的阶段。这个过程是数据分析整个过程中最占据时间的,也在一定程度上取决于数据仓库的搭建和数据质量的保证。
    数据处理主要包括数据清洗、数据转化等处理方法。


    4、数据分析

    数据分析是指通过分析手段、方法和技巧对准备好的数据进行探索、分析,从中发现因果关系、内部联系和业务规律,为商业目提供决策参考。
    到了这个阶段,要能驾驭数据、开展数据分析,就要涉及到工具和方法的使用。其一要熟悉常规数据分析方法,最基本的要了解例如方差、回归、因子、聚类、分类、时间序列等多元和数据分析方法的原理、使用范围、优缺点和结果的解释;其二是熟悉1+1种数据分析工具,Excel是最常见,一般的数据分析我们可以通过Excel完成,后而要熟悉一个专业的分析软件,如数据分析工具SPSS/SAS/R/Matlab等,便于进行一些专业的统计分析、数据建模等。

    5、数据展现
    一般情况下,数据分析的结果都是通过图、表的方式来呈现,俗话说:字不如表,表不如图。。借助数据展现手段,能更直观的让数据分析师表述想要呈现的信息、观点和建议。。
    常用的图表包括饼图、折线图、柱形图/条形图、散点图、雷达图等、金字塔图、矩阵图、漏斗图、帕雷托图等。

    6、撰写报告
    最后阶段,就是撰写数据分析报告,这是对整个数据分析成果的一个呈现。通过分析报告,把数据分析的目的、过程、结果及方案完整呈现出来,以供商业目的提供参考。
    一份好的数据分析报告,首先需要有一个好的分析框架,并且图文并茂,层次明晰,能够让阅读者一目了然。结构清晰、主次分明可以使阅读者正确理解报告内容;图文并茂,可以令数据更加生动活泼,提高视觉冲击力,有助于阅读者更形象、直观地看清楚问题和结论,从而产生思考。

    另外,数据分析报告需要有明确的结论、建议和解决方案,不仅仅是找出问题,后者是更重要的,否则称不上好的分析,同时也失去了报告的意义,数据的初衷就是为解决一个商业目的才进行的分析,不能舍本求末。
    展开全文
  • ETL数据分析流程

    千次阅读 2019-11-24 22:34:13
    认识ETL数据分析流程 一、商业BI中的应用 ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据。 ETL是BI项目...
     

    认识ETL数据分析流程

    一、商业BI中的应用

    ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据。 ETL是BI项目重要的一个环节。 通常情况下,在BI项目中ETL会花掉整个项目至少1/3的时间,ETL设计的好坏直接关接到BI项目的成败。

    ETL的设计分三部分:数据抽取、数据的清洗转换、数据的加载。在设计ETL的时候我们也是从这三部分出发。数据的抽取是从各个不同的数据源抽取到ODS(Operational Data Store,操作型数据存储)中——这个过程也可以做一些数据的清洗和转换),在抽取的过程中需要挑选不同的抽取方法,尽可能的提高ETL的运行效率。ETL三个部分中,花费时间最长的是“T”(Transform,清洗、转换)的部分,一般情况下这部分工作量是整个ETL的2/3。数据的加载一般在数据清洗完了之后直接写入DW(Data Warehousing,数据仓库)中去。

    ETL的实现有多种方法,常用的有三种。一种是借助ETL工具(如Oracle的OWB、SQL Server 2000的DTS、SQL Server2005的SSIS服务、Informatic等)实现,一种是SQL方式实现,另外一种是ETL工具和SQL相结合。前两种方法各有各的优缺点,借助工具可以快速的建立起ETL工程,屏蔽了复杂的编码任务,提高了速度,降低了难度,但是缺少灵活性。SQL的方法优点是灵活,提高ETL运行效率,但是编码复杂,对技术要求比较高。第三种是综合了前面二种的优点,会极大地提高ETL的开发速度和效率。

    二、 数据的抽取(Extract)

    这一部分需要在调研阶段做大量的工作,首先要搞清楚数据是从几个业务系统中来,各个业务系统的数据库服务器运行什么DBMS,是否存在手工数据,手工数据量有多大,是否存在非结构化的数据等等,当收集完这些信息之后才可以进行数据抽取的设计。
      一般情况下,数据仓库分为ODS、DW两部分。

    1、对于与存放DW的数据库系统相同的数据源处理方法

    这一类数据源在设计上比较容易。一般情况下,DBMS(SQLServer、Oracle)都会提供数据库链接功能,在DW数据库服务器和原业务系统之间建立直接的链接关系就可以写Select 语句直接访问。

    2、对于与DW数据库系统不同的数据源的处理方法

    对于这一类数据源,一般情况下也可以通过ODBC的方式建立数据库链接——如SQL Server和Oracle之间。如果不能建立数据库链接,可以有两种方式完成,一种是通过工具将源数据导出成.txt或者是.xls文件,然后再将这些源系统文件导入到ODS中。另外一种方法是通过程序接口来完成。

    3、对于文件类型数据源(.txt,.xls),业务人员可以利用数据库工具将这些数据导入到指定的数据库,然后从指定的数据库中抽取。或者还可以借助工具实现。

    4、增量更新的问题

    对于数据量大的系统,必须考虑增量抽取。一般情况下,业务系统会记录业务发生的时间,我们可以用来做增量的标志,每次抽取之前首先判断ODS中记录最大的时间,然后根据这个时间去业务系统取大于这个时间所有的记录。利用业务系统的时间戳,一般情况下,业务系统没有或者部分有时间戳。

    三、数据的清洗(Cleaning)

    一般情况下,数据仓库分为ODS、DW两部分。通常的做法是从业务系统到ODS做清洗,将脏数据和不完整数据过滤掉,在从ODS到DW的过程中转换,进行一些业务规则的计算和聚合。

    数据清洗的任务是过滤那些不符合要求的数据,将过滤的结果交给业务主管部门,确认是否过滤掉还是由业务单位修正之后再进行抽取。

    不符合要求的数据主要是有不完整的数据、错误的数据、重复的数据三大类。

    1.不完整的数据:

    这一类数据主要是一些应该有的信息缺失,如供应商的名称、分公司的名称、客户的区域信息缺失、业务系统中主表与明细表不能匹配等。对于这一类数据过滤出来,按缺失的内容分别写入不同Excel文件向客户提交,要求在规定的时间内补全。补全后才写入数据仓库。

    2.错误的数据:

    这一类错误产生的原因是业务系统不够健全,在接收输入后没有进行判断直接写入后台数据库造成的,比如数值数据输成全角数字字符、字符串数据后面有一个回车操作、日期格式不正确、日期越界等。这一类数据也要分类,对于类似于全角字符、数据前后有不可见字符的问题,只能通过写SQL语句的方式找出来,然后要求客户在业务系统修正之后抽取。日期格式不正确的或者是日期越界的这一类错误会导致ETL运行失败,这一类错误需要去业务系统数据库用SQL的方式挑出来,交给业务主管部门要求限期修正,修正之后再抽取。

    3.重复的数据:

    对于这一类数据——特别是维表中会出现这种情况——将重复数据记录的所有字段导出来,让客户确认并整理。

    数据清洗是一个反复的过程,不可能在几天内完成,只有不断的发现问题,解决问题。对于是否过滤,是否修正一般要求客户确认,对于过滤掉的数据,写入Excel文件或者将过滤数据写入数据表,在ETL开发的初期可以每天向业务单位发送过滤数据的邮件,促使他们尽快地修正错误,同时也可以做为将来验证数据的依据。数据清洗需要注意的是不要将有用的数据过滤掉,对于每个过滤规则认真进行验证,并要用户确认。

    四、 数据转换(Transform)

    数据转换的任务主要进行不一致的数据转换、数据粒度的转换,以及一些商务规则的计算。

    1.不一致数据转换:这个过程是一个整合的过程,将不同业务系统的相同类型的数据统一,比如同一个供应商在结算系统的编码是XX0001,而在CRM中编码是YY0001,这样在抽取过来之后统一转换成一个编码。

    2.数据粒度的转换:业务系统一般存储非常明细的数据,而数据仓库中数据是用来分析的,不需要非常明细的数据。一般情况下,会将业务系统数据按照数据仓库粒度进行聚合。

    3.商务规则的计算:不同的企业有不同的业务规则、不同的数据指标,这些指标有的时候不是简单的加加减减就能完成,这个时候需要在ETL中将这些数据指标计算好了之后存储在数据仓库中,以供分析使用。

    五、ETL日志、警告发送

    1、 ETL日志

    ETL日志分为三类。

    (1)执行过程日志,这一部分日志是在ETL执行过程中每执行一步的记录,记录每次运行每一步骤的起始时间,影响了多少行数据,流水账形式。

    (2)错误日志,当某个模块出错的时候写错误日志,记录每次出错的时间、出错的模块以及出错的信息等。

    (3)总体日志,只记录ETL开始时间、结束时间是否成功信息。如果使用ETL工具,ETL工具会自动产生一些日志,这一类日志也可以作为ETL日志的一部分。

    记录日志的目的是随时可以知道ETL运行情况,如果出错了,可以知道哪里出错。

    2、 警告发送

    如果ETL出错了,不仅要形成ETL出错日志,而且要向系统管理员发送警告。发送警告的方式多种,一般常用的就是给系统管理员发送邮件,并附上出错的信息,方便管理员排查错误。

    ETL是BI项目的关键部分,也是一个长期的过程,只有不断的发现问题并解决问题,才能使ETL运行效率更高,为BI项目后期开发提供准确与高效的数据。

    后记

    ​ 做数据仓库系统,ETL是关键的一环。说大了,ETL是数据整合解决方案,说小了,就是倒数据的工具。回忆一下工作这么长时间以来,处理数据迁移、转换的工作倒还真的不少。但是那些工作基本上是一次性工作或者很小数据量。可是在数据仓库系统中,ETL上升到了一定的理论高度,和原来小打小闹的工具使用不同了。究竟什么不同,从名字上就可以看到,人家已经将倒数据的过程分成3个步骤,E、T、L分别代表抽取、转换和装载。

    其实ETL过程就是数据流动的过程,从不同的数据源流向不同的目标数据。但在数据仓库中,

    ETL有几个特点

    一是数据同步,它不是一次性倒完数据就拉到,它是经常性的活动,按照固定周期运行的,甚至现在还有人提出了实时ETL的概念。

    二是数据量,一般都是巨大的,值得你将数据流动的过程拆分成E、T和L。

    ​ 现在有很多成熟的工具提供ETL功能,且不说他们的好坏。从应用角度来说,ETL的过程其实不是非常复杂,这些工具给数据仓库工程带来和很大的便利性,特别是开发的便利和维护的便利。但另一方面,开发人员容易迷失在这些工具中。举个例子,VB是一种非常简单的语言并且也是非常易用的编程工具,上手特别快,但是真正VB的高手有多少?微软设计的产品通常有个原则是“将使用者当作傻瓜”,在这个原则下,微软的东西确实非常好用,但是对于开发者,如果你自己也将自己当作傻瓜,那就真的傻了。ETL工具也是一样,这些工具为我们提供图形化界面,让我们将主要的精力放在规则上,以期提高开发效率。从使用效果来说,确实使用这些工具能够非常快速地构建一个job来处理某个数据,不过从整体来看,并不见得他的整体效率会高多少。问题主要不是出在工具上,而是在设计、开发人员上。他们迷失在工具中,没有去探求ETL的本质。可以说这些工具应用了这么长时间,在这么多项目、环境中应用,它必然有它成功之处,它必定体现了ETL的本质。如果我们不透过表面这些工具的简单使用去看它背后蕴涵的思想,最终我们作出来的东西也就是一个个独立的job,将他们整合起来仍然有巨大的工作量。大家都知道“理论与实践相结合”,如果在一个领域有所超越,必须要在理论水平上达到一定的高度.

    展开全文
  • RNA-Seq数据分析流程

    千次阅读 2020-11-03 13:09:43
    文章目录RNA-seq 数据分析流程相关软件安装下载数据sra转fastq格式数据质控数据质控,过滤低质量reads,去接头比对首先下载参考基因组及注释文件,建立索引比对sam文件转bam为bam文件建立索引reads的比对情况统计...

    RNA-seq 数据分析流程

    相关软件安装

    可以安装 conda,在后续其他软件安装时非常好用。可自行百度进行安装
    可根据文献调研,转录组数据分析所需软件列表:
    质控
    fastqc , multiqc, trimmomatic, cutadapt ,trim-galore
    比对
    star, hisat2, bowtie2, tophat, bwa, subread
    计数
    htseq, bedtools, deeptools, salmon

    在安装之前可以先 search一下安装包是否存在

    # conda search packagename
    conda install -y sra-tools
    conda install -y trimmomatic
    conda install -y cutadapt multiqc 
    conda install -y trim-galore
    conda install -y star hisat2 bowtie2
    conda install -y subread tophat htseq bedtools deeptools
    conda install -y salmon
    

    软件安装时,可以使用conda一步安装,也可以自行百度,下载源码,解压后添加环境变量,使用。
    但是在使用sra-tookit时出现了问题,因为已经提前用conda安装好了sra-tools,后面我在网页下载解压了sratoolkit,并且在环境变量中添加好了,导致两个软件版本不合,使用prefetch下载网页数据时总是报错。所以需要卸载其中一种,保持版本一致。
    自行安装sratoolkit可参考:sratoolkit安装

    下载数据

    进入网页,得到SRR_Acc_list.txt

    SRR957677
    SRR957678
    SRR957679
    SRR957680
    

    批量下载

    wkd=/home/meiling/baiduyundisk/RNA-seq #设置工作目录
    cat SRR_Acc_List.txt | while read id; do (nohup prefetch  ${id} &);done
    #ps -ef | grep prefetch | awk '{print $2}' | while read id; do kill ${id}; done #在内地下载速度很慢,所以我杀掉这些下载进程
    

    当显示所有下载都sucessful时,可以进行下一步
    在这里插入图片描述
    下载完成之后,文件会自动保存在目录:~/ncbi/public/sra/

    mv ~/ncbi/public/sra/*.sra $wkd/rawdata
    

    sra转fastq格式

    使用fastq-dump

    wkd=/home/meiling/baiduyundisk/RNA-seq #设置工作目录
    
    for i in $wkd/rawdata/*sra
    do
            echo $i
            fastq-dump --split-3 --skip-technical --clip --gzip $i  ## 批量转换
    done
    

    原始数据如果是双端测序结果,fastq-dump配合–split-3参数,一个样本被拆分成两个fastq文件,如果是单端测序,就只生成一个文件

    数据质控

    fastqc生成质控报告,multiqc将各个样本的质控报告整合为一个。

    wkd=/home/meiling/baiduyundisk/RNA-seq #设置工作目录
    
    ls $wkd/rawdata/*gz | xargs fastqc -t 2
    multiqc ./ 
    

    得到结果如下:

    ├── [4.0K]  multiqc_data
    │   ├── [2.1M]  multiqc_data.json
    │   ├── [6.8K]  multiqc_fastqc.txt
    │   ├── [2.2K]  multiqc_general_stats.txt
    │   ├── [ 16K]  multiqc.log
    │   └── [3.4K]  multiqc_sources.txt
    ├── [1.5M]  multiqc_report.html
    ├── [236K]  SRR1039508_1_fastqc.html
    ├── [279K]  SRR1039508_1_fastqc.zip
    ├── [238K]  SRR1039508_2_fastqc.html
    ├── [286K]  SRR1039508_2_fastqc.zip
    

    每个id_fastqc.html都是一个质量报告,multiqc_report.html是所有样本的整合报告

    数据质控,过滤低质量reads,去接头

    如果双端测序,运行一下代码,得到两列数据,config文件

    mkdir $wkd/clean 
    cd $wkd/clean 
    ls /home/jmzeng/project/airway/raw/*_1.fastq.gz >1
    ls /home/jmzeng/project/airway/raw/*_2.fastq.gz >2
    paste 1 2  > config
    

    并打开qc.sh,写入一下内容:

    bin_trim_galore=trim_galore
    dir='/home/jmzeng/project/airway/clean'
    cat $1 |while read id
    do
            arr=(${id})
            fq1=${arr[0]}
            fq2=${arr[1]} 
     $bin_trim_galore -q 25 --phred33 --length 36 --stringency 3 --paired -o $dir  $fq1 $fq2 
    done 
    

    单端测序:

    wkd=/home/meiling/baiduyundisk/RNA-seq #设置工作目录
    mkdir $wkd/cleandata 
    cd $wkd/cleandata 
    ls /home/meiling/baiduyundisk/RNA-seq/rawdata/*.fastq.gz >config
    #ls /home/jmzeng/project/airway/raw/*_2.fastq.gz >2
    #paste 1 2  > config
    

    qc.sh

    wkd=/home/meiling/baiduyundisk/RNA-seq/cleandata #设置工作目录
    cd $wkd
    cat config |while read id
    do
            arr=(${id})
            fq1=${arr[0]}
    #       fq2=${arr[1]} 
        trim_galore -q 25 --phred33 --length 36 --stringency 3 -o $wkd  $fq1 
    done
    

    其他软件,对于单端测序和双端测序的不同用法,可以自行百度具体软件用法,都有解释,参考官方参数即可。

    比对

    首先下载参考基因组及注释文件,建立索引

    基因组相关内容大家可以自行百度,但是参考基因组和注释文件一定要对应在同一个网站,同一个版本。可以下载的网站有UCSC,NCBI,ENSEMBEL
    我是在ENSEMBEL上面下载的,一般选择primary参考基因组,注释文件选择scaff
    复制链接地址后,axel 下载,非常快。下载后解压。

    axel -n 20 ftp://ftp.ensembl.org/pub/release-101/fasta/homo_sapiens/dna/Homo_sapiens.GRCh38.dna.primary_assembly.fa.gz
    axel -n 20 ftp://ftp.ensembl.org/pub/release-101/gtf/homo_sapiens/Homo_sapiens.GRCh38.101.chr_patch_hapl_scaff.gtf.gz
    ls
    #Homo_sapiens.GRCh38.101.chr_patch_hapl_scaff.gtf.gz
    #Homo_sapiens.GRCh38.dna.primary_assembly.fa.gz
    ##解压
    gzip -d Homo_sapiens.GRCh38.101.chr_patch_hapl_scaff.gtf.gz
    gzip -d Homo_sapiens.GRCh38.dna.primary_assembly.fa.gz
    ls -lh
    total 4.3G
    drwxr-xr-x 2 meiling meiling 4.0K Nov  2 21:26 hisat2_index
    -rw-r--r-- 1 meiling meiling 1.3G Nov  1 20:48 Homo_sapiens.GRCh38.101.chr_patch_hapl_scaff.gtf
    -rw-r--r-- 1 meiling meiling 3.0G Nov  1 20:50 Homo_sapiens.GRCh38.dna.primary_assembly.fa
    ##建立索引
    hisat2-build Homo_sapiens.GRCh38.dna.primary_assembly.fa hisat2_index/hisat_hg38
    

    在这里插入图片描述

    比对

    star, hisat2, bowtie2, tophat, bwa, subread都是可以用于比到的软件
    批量比对:

    wkd=/home/meiling/baiduyundisk/RNA-seq #设置工作目录
    
    cd $wkd/cleandata 
    ls *gz|cut -d"_" -f 1 |sort -u |while read id;do
    ##单端测序
    ls -lh ${id}_trimmed.fq.gz
    hisat2 -q -p 10 -x $wkd/reference/hg38/hisat2_index/hisat_hg38 -U ${id}_trimmed.fq.gz -S $wkd/align/${id}.hisat.sam
    ##双端测序
    #ls -lh ${id}_1_val_1.fq.gz   ${id}_2_val_2.fq.gz 
    #hisat2 -p 10 -x $wkd/reference/hg38/hisat2_index/hisat_hg38 -1 ${id}_1_val_1.fq.gz   -2 ${id}_2_val_2.fq.gz  -S ${id}.hisat.sam
    # subjunc -T 5  -i /public/reference/index/subread/hg38 -r ${id}_1_val_1.fq.gz -R ${id}_2_val_2.fq.gz -o ${id}.subjunc.sam
    # bowtie2 -p 10 -x /public/reference/index/bowtie/hg38  -1 ${id}_1_val_1.fq.gz   -2 ${id}_2_val_2.fq.gz  -S ${id}.bowtie.sam
    # bwa mem -t 5 -M  /public/reference/index/bwa/hg38   ${id}_1_val_1.fq.gz   ${id}_2_val_2.fq.gz > ${id}.bwa.sam
    done
    

    这里是演示多个比对工具,但事实上,对RNA-seq数据来说,不要使用bwa和bowtie这样的软件,它需要的是能进行跨越内含子比对的工具。
    比对结果输出:

    bash align.sh > align.log 2>&1
    ##打开align.log
    ###单端测序比对结果输出
    -rw-r--r-- 1 meiling meiling 984M Nov  2 16:33 SRR957677_trimmed.fq.gz
      File "/opt/software/hisat2-2.2.0/hisat2_read_statistics.py", line 182
        length_map = sorted(length_map.iteritems(), key=lambda (k,v):(v,k), reverse=True)
                                                               ^
    SyntaxError: invalid syntax
    20498068 reads; of these:
      20498068 (100.00%) were unpaired; of these:
        689901 (3.37%) aligned 0 times
        17438548 (85.07%) aligned exactly 1 time
        2369619 (11.56%) aligned >1 times
    96.63% overall alignment rate
    

    在这里插入图片描述

    sam文件转bam

    wkd=/home/meiling/baiduyundisk/RNA-seq #设置工作目录
    cd $wkd/align 
    ls *.sam|cut -d"." -f 1 |while read id ;do
        samtools view -@ 8 -S {$id}.sam -1b -o {$id}.bam
        samtools sort -@ 8 -l 5 -o {$id}.sort.bam {$id}.bam
    done
    #rm *.sam 
    

    在这里插入图片描述

    为bam文件建立索引

    ls *.sort.bam |xargs -i samtools index {}
    

    reads的比对情况统计

    ls *.sort.bam |while read id ;do ( samtools flagstat -@ 1 $id >  $(basename ${id} ".bam").flagstat  );done
    

    在这里插入图片描述

    计数 counts

    首先安装featurecounts,这个软件已经整合到subread里面了

    axel -n 20 https://udomain.dl.sourceforge.net/project/subread/subread-2.0.1/subread-2.0.1-Linux-x86_64.tar.gz
    tar -zxvf subread-2.0.1-Linux-x86_64.tar.gz 
    cd subread-2.0.1-Linux-x86_64/
    cd bin
    pwd
    #添加环境变量
    

    计数

    wkd=/home/meiling/baiduyundisk/RNA-seq #设置工作目录
    cd $wkd/align 
    # 如果一个个样本单独计数,输出多个文件使用代码是:
    for fn in {508..523}
    do
    featureCounts -T 5 -p -t exon -g gene_id  -a $gtf -o $fn.counts.txt SRR1039$fn.bam
    done
    # 如果是批量样本的bam进行计数,使用代码是:
    wkd=/home/meiling/baiduyundisk/RNA-seq #设置工作目录
    cd $wkd/align 
    # 如果一个个样本单独计数,输出多个文件使用代码是:
    # for fn in {508..523}
    # do
    # featureCounts -T 5 -p -t exon -g gene_id  -a /public/reference/gtf/gencode/gencode.v25.annotation.gtf.gz -o $fn.counts.txt SRR1039$fn.bam
    # done
    # 运行featureCounts对所有样本进行基因水平定量
    # 如果是批量样本的bam进行计数,使用代码是:
    # 设置featureCounts所需要的gtf文件位置(注释文件)
    gtf="$wkd/reference/hg38/Homo_sapiens.GRCh38.101.chr_patch_hapl_scaff.gtf.gz"   
    featureCounts -T 5 -t exon -g gene_id  -a $gtf -o  $wkd/counts/all.id.txt  *.sort.bam  1>counts.id.log 2>&1
    #解释:-T 1:线程数为1;-p:表示数据为paired-end,双末端测序数据;-t exon表示 feature名称为exon;-g gene_id表示meta-feature名称为gene_id(ensembl名称);-a $gtf 表示输入的GTF基因组注释文件;-o all.id.txt 设置输出文件类型;*.sort.bam是被分析的bam文件。featureCounts支持通配符*
    # 这样得到的  all.id.txt  文件就是表达矩阵啦,但是,这个 featureCounts有非常多的参数可以调整。
    cd $wkd/counts 
    # 使用multiqc对featureCounts统计结果进行可视化。
    multiqc all.id.txt.summary
    # 只保留all.id.txt文件的【基因名】和【样本counts】
    cat all.id.txt | cut -f 1,7 |grep -v '^#' > counts.txt
    

    运行结束:
    在这里插入图片描述
    得到以下文件:
    在这里插入图片描述

    # Program:featureCounts v2.0.1; Command:"featureCounts" "-T" "5" "-t" "exon" "-g" "gene_id" "-a" "/home/meiling/baiduyundisk/RNA-seq/reference/hg38/Homo_sapiens.GRCh38.101.chr_patch_hapl_scaff.gtf.gz" "-o" "/home/meiling/baiduyundisk/RNA-seq/counts/all.id.txt" "SRR957677.sort.bam" "SRR957678.sort.bam" "SRR957679.sort.bam" "SRR957680.sort.bam" 
    Geneid	Chr	Start	End	Strand	Length	SRR957677.sort.bam	SRR957678.sort.bam	SRR957679.sort.bam	SRR957680.sort.bam
    ENSG00000223972	1;1;1;1;1;1;1;1;1	11869;12010;12179;12613;12613;12975;13221;13221;13453	12227;12057;12227;12721;12697;13052;13374;14409;13670	+;+;+;+;+;+;+;+;+	1735	0	0	0	0
    ENSG00000227232	1;1;1;1;1;1;1;1;1;1;1	14404;15005;15796;16607;16858;17233;17606;17915;18268;24738;29534	14501;15038;15947;16765;17055;17368;17742;18061;18366;24891;29570	-;-;-;-;-;-;-;-;-;-;-	1351	7	1	2	3
    ENSG00000278267	1	17369	17436	-	68	0	0	0	0
    ENSG00000243485	1;1;1;1;1	29554;30267;30564;30976;30976	30039;30667;30667;31109;31097	+;+;+;+;+	1021	0	0	0	0
    ENSG00000284332	1	30366	30503	+	138	0	0	0	0
    ENSG00000237613	1;1;1;1;1	34554;35245;35277;35721;35721	35174;35481;35481;36081;36073	-;-;-;-;-	1219	0	0	0	0
    ENSG00000268020	1	52473	53312	+	840	0	0	0	0
    ENSG00000240361	1;1;1;1	57598;58700;62916;62949	57653;58856;64116;63887	+;+;+;+1414	0	0	0	0
    

    可以单个样本计数,之后在进行合并,使用Python脚本或者R语言merge
    具体可以参考这里
    或者直接批量比对,输出的all.id.txt即为合并后的表达矩阵。可以在这里选择注释,或者找完差异基因后在进行注释。

    差异基因分析

    后续需要在R里面进行差异基因分析,DESeq和edger里面自带标准化的函数,后续还可以进行KEGG,GSEA,GO富集分析

    展开全文
  • 离线数据分析流程介绍

    万次阅读 2017-08-12 13:34:52
    3. 离线数据分析流程介绍 注:本环节主要感受数据分析系统的宏观概念及处理流程,初步理解hadoop等框架在其中的应用环节,不用过于关注代码细节   一个应用广泛的数据分析系统:“web日志数据挖掘”     3.1 ...
    3. 离线数据分析流程介绍
    

    注:本环节主要感受数据分析系统的宏观概念及处理流程,初步理解hadoop等框架在其中的应用环节,不用过于关注代码细节

     

    一个应用广泛的数据分析系统:“web日志数据挖掘”

     

     

    3.1 需求分析

    3.1.1 案例名称

    “网站或APP点击流日志数据挖掘系统”

     

    3.1.2 案例需求描述

    Web点击流日志”包含着网站运营很重要的信息,通过日志分析,我们可以知道网站的访问量,哪个网页访问人数最多,哪个网页最有价值,广告转化率、访客的来源信息,访客的终端信息等。

     

    3.1.3 数据来源

    本案例的数据主要由用户的点击行为记录

    获取方式:在页面预埋一段js程序,为页面上想要监听的标签绑定事件,只要用户点击或移动到标签,即可触发ajax请求到后台servlet程序,用log4j记录下事件信息,从而在web服务器(nginxtomcat等)上形成不断增长的日志文件。

    形如:

    58.215.204.118 - - [18/Sep/2013:06:51:35 +0000] "GET /wp-includes/js/jquery/jquery.js?ver=1.10.2 HTTP/1.1" 304 0 "http://blog.fens.me/nodejs-socketio-chat/" "Mozilla/5.0 (Windows NT 5.1; rv:23.0) Gecko/20100101 Firefox/23.0"

     

     

     

    3.2 数据处理流程

    3.2.1 流程图解析

    本案例跟典型的BI系统极其类似,整体流程如下:

     

     

    但是,由于本案例的前提处理海量数据,因而,流程中各环节所使用的技术则跟传统BI完全不同,后续课程都会一一讲解:

    1) 数据采集:定制开发采集程序,或使用开源框架FLUME

    2) 数据预处理:定制开发mapreduce程序运行于hadoop集群

    3) 数据仓库技术:基于hadoop之上的Hive

    4) 数据导出:基于hadoopsqoop数据导入导出工具

    5) 数据可视化:定制开发web程序或使用kettle等产品

    6) 整个过程的流程调度:hadoop生态圈中的oozie工具或其他类似开源产品

     

    3.2.2 项目技术架构图

     

    3.2.3 项目相关截图(感性认识,欣赏即可)

    a) Mapreudce程序运行

     

     

     

    b) Hive中查询数据

     

     

     

    c) 将统计结果导入mysql

    ./sqoop export --connect jdbc:mysql://localhost:3306/weblogdb --username root --password root  --table t_display_xx  --export-dir /user/hive/warehouse/uv/dt=2014-08-03

     

     

     

     

     

    3.3 项目最终效果

    经过完整的数据处理流程后,会周期性输出各类统计指标的报表,在生产实践中,最终需要将这些报表数据以可视化的形式展现出来,本案例采用web程序来实现数据可视化

    效果如下所示:

     

    展开全文
  • 完整的数据分析流程

    2017-07-03 11:50:31
    完整的数据分析流程第一部分 定义研究问题 定义理想的数据集 确定能够获取什么数据 获取数据 清理数据 第二部分 探索性分析(数据可视化) 统计分析/建模(机器学习)等 第三部分 解释/交流结果(数据可视化)...
  •  大数据分析流程都包含哪些步骤  1、数据收集  大数据处理的第一步是数据的收集。现在的中大型项目通常采用微服务架构进行分布式部署,所以数据的采集需要在多台服务器上进行,且采集过程不能影响正常业务...
  • SPSS数据分析流程

    千次阅读 2017-08-19 11:20:54
    任何一个数据分析项目,如果按照整个分析过程的流程结构来看,都可以被分解为大致7个阶段:计划阶段、数据收集、数据获取、数据准备、数据分析、结果报告和模型发布阶段。这里详细解释一下数据分析、结果报告和模型...
  • 本门课程作为电商数据分析师的开篇导论,将从数据分析师的岗位及透过岗位理解业务为切入点,讲解数据分析师的职业诉求,发展路径,及数据分析在业务中的存在价值,如何通过数据分析理解业务的价值和发现机会点。...
  • 相比于数据挖掘,数据分析更多在于利用一定的工具和一定的专业知识分析数据。最初的数据分析来源于统计学家和经济学家的一些理论,进而结合一定的实际应用场景解决问题。数据分析更多的是偏重于业务层次的,对于...
  • 数据分析流程与方法

    2020-05-17 13:00:35
    数据分析流程 明确问题:明确数据分析中的每一步,必须明确数据分析的真实需求。 理解数据:数据获取和数据探索。 数据清洗:一个数据分析项目大部分时间花在数据清洗上。 数据分析和可视化:对清洗后...
  • python数据分析流程

    千次阅读 2018-01-29 22:17:13
    一般可以安装“数据获取-->数据存储与提取-->数据预处理-->数据建模与分析-->数据可视化”这样的步骤来实施一个数据分析项目。该流程需要掌握的知识点如下: 1)数据获取: 1.1.了解公开数据集的渠道 1.2.用爬虫...
  • 数据统计分析(1):数据分析流程

    千次阅读 多人点赞 2019-04-08 16:44:38
    首先,数据分析能力是一项综合性的能力。 数据分析过程如下: 1.明确分析目的和思路 1.1 明确分析目的 做任何事情都有一个目标,数据分析也不例外。如果目的明确,所有问题都可以迎刃而解。所以在开展数据...
  • 数据分析流程

    千次阅读 2019-07-31 21:58:07
    一、为什么要做一份数据报告你是一个在校学生,上着自己喜欢或不喜欢的课,闲来无事,你打开知乎,看到了数据分析话题,你下定决心要成为一个数据分析师,你搞来一堆学习资料和在线课...
  • 商业数据分析实战(酒卷隆志/里洋平)——第二章商业数据分析流程 一、数据分析的5个流程 现状和预期->发现问题->数据的收集和加工->数据分析->解决对策 二、现状和预期的整理 现状和预期结果有了...
  • 【完整的数据分析流程

    千次阅读 2013-03-13 11:32:23
    一个完整的数据分析流程,应该包括以下几个方面,建议收藏此图仔细阅读。完整的数据分析流程:1、业务建模。2、经验分析。3、数据准备。4、数据处理。5、数据分析与展现。6、专业报告。7、持续验证与跟踪。
  • 三、数据分析 四、关于预处理流程 五、其他设置 一、数据准备 (1)如果是数据的DICOM格式,整理成以下格式(注意文件夹的命名方式): 如果觉得不是很清楚,可以在官网下载Demo数据(http://rfmri.org/DemoData)...
  • WES数据分析流程

    2019-07-31 09:22:00
    https://www.jianshu.com/p/4519d2e64a49 转载于:https://www.cnblogs.com/0820LL/p/11274106.html
  • 关于数据分析流程详解

    千次阅读 2018-02-05 19:35:24
    数据分析过程中,主要是以下几个过程: 一、明确分析目的 首先要明确自己的分析目的,只有明确目的的分析才能更有效的解决自己的问题,打到自己的目的。(大量数据,试探性的分析除外,但是即使是试探性的分析...
  • 数据分析流程框架

    2019-04-04 21:54:33
    因为大部分都是自学的,如果有不足的地方,希望各位大牛指正,活到老学到老……
  • 认识ETL数据分析流程

    千次阅读 2019-07-10 16:39:26
    ETL,是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过萃取(extract)、转置(transform)、加载(load)至目的端的过程。常愈大量的数据、复杂的转换逻辑、目的端为较强运算能力的数据库,愈偏向...
  • 因此优秀的企业为了分析收集来的海量数据,会毫不犹豫地雇佣专业级的数据分析师来帮助公司进行决策,创造价值。 据某招聘网站调查,一名有经验的数据分析师的年薪不低于20万。而数据工程师、数据科学家等则收入更...
  • SPSS数据分析流程经验总结

    千次阅读 2017-08-22 14:05:11
    最近几日忙于在淘宝上接单做数据分析,从接单的情况来看,数据分析主要的对象是在校大学生和部分在职公职人员。 分析的主要问题包括对问卷的数据分析与简单的模型建立。 SPSS对于问卷的数据分析: 1.数据的...
  • 世界上最深入人心的数据分析工具,是Excel,在日本的程序员考试中,程序语言部分,是可以选择Excel表格工具作为考试选项的。可见其重要性。数据分析的步...
  • 本文通过对一个简单的电商零售数据案例进行粗略分析,介绍做数据分析时的项目流程。 工具:python jupyter-notebook
  • 1、离线数据(日志)分析流程离线数据分析是一种非实时数据分析,主要是分析日志、用户操作历史或者对已有历史数据分析。本文将以最常见的日志分析作为介绍,其他类似,只是数据收集方式可能不一样。1.1、数据来源...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 28,845
精华内容 11,538
关键字:

数据分析流程