美文网首页
2022-07-28 判断是否是链特异性文库测序

2022-07-28 判断是否是链特异性文库测序

作者: 生信圈 | 来源:发表于2022-07-27 15:40 被阅读0次

    利用RseQC进行判断,其python小脚本infer_experiment.py可以帮助我们判断链特异性测序。

    准备bed文件:

    convert2bed

    convert2bed是BEDOPS软件包里非常常用的函数,可以把常见的二进制或者文本基因组文件(BAM, GFF, GTF, GVF, PSL, OUT, SAM, VCF,WIG)转换成bed格式。这里的bed格式大部分都是bed6格式。

    conda install -c bioconda bedops

    convert2bed -i gff < A.gff3 > A.bed

    此时为6位bed,还要转换为12位

    bed6Tobed12.py

    从Ensembl数据库网站下载的gtf或gff文件,利用convertbed可以轻松转换成bed文件,但是不能直接转成bed12格式。笔者利用python3写了一个脚本bed6Tobed12.py,可以实现将bed6文件转换成bed12格式。

    脚本根据bed6文件中的第四列ID值,将ID值相同的行抽取出来,根据基因组坐标排序,计算行数及每行相对第一行的起始位置,转换成bed12格式输出。

    注意,相同ID的行之间基因组坐标不能相互重合,重合的行可以先利用bedtools merge合并,再转换成bed12格式。

    # 下载脚本

    wget https://github.com/ustbcaoqi/biotools/archive/master.zip

    unzip master.zip

    # 进行转换

    python3 biotools-master/bed6Tobed12.py file.bed(6)>file_new.bed(12)

    得到12位bed文件

    安装rseqc(可尝试python2环境安装):

    conda install -c bioconda rseqc

    安装完成后发现,其实并没有安装软件,而是多了一些脚本,其中有一个就叫infer_experiment.py

    使用

    基本使用格式如下:

    Usage: infer_experiment.py [options]

    Options:

      --version            show program's version number and exit

      -h, --help            show this help message and exit

      -i INPUT_FILE, --input-file=INPUT_FILE

                            Input alignment file in SAM or BAM format

      -r REFGENE_BED, --refgene=REFGENE_BED

                            Reference gene model in bed fomat.

      -s SAMPLE_SIZE, --sample-size=SAMPLE_SIZE

                            Number of reads sampled from SAM/BAM file.

                            default=200000

      -q MAP_QUAL, --mapq=MAP_QUAL

                            Minimum mapping quality (phred scaled) for an

                            alignment to be considered as "uniquely mapped".

                            default=30

    部分参数:

    (1) -i      比对生成的bam文件(可以不用排序)

    (2) -r      gtf转bed12文件产生的bed文件。技能——gtf转为bed12

    (3) -s      从所有的reads中抽取多少进行统计(默认200k)

    (4) -q      unique map的mapq阈值

    双端实例

    infer_experiment.py -i D0-1.bam -r ../bed12.bed -q 20

    Reading reference gene model /share/home/ShuiKM/reference/refdata-GRCm39/GRCm39.genes.bed ... Done

    Loading SAM/BAM file ...  Total 200000 usable reads were sampled

    This is PairEnd Data

    Fraction of reads failed to determine: 0.0712

    Fraction of reads explained by "1++,1--,2+-,2-+": 0.4649

    Fraction of reads explained by "1+-,1-+,2++,2--": 0.4640

    这个双端测序的数据显然是非链特异性的,详细来看:

    1++,1--,2+-,2-+表示read1比对上的链和基因所在的链一样,read2比对上的链和基因所在的链是相反的;

    1+-,1-+,2++,2--表示read1比对上的链和基因所在的链是相反的,read2比对上的链和基因所在的链一样。

    问题就在于这两种情况的占比是几乎一样的,说明read的链与基因所在的链完全是随机的,显然就不是链特异性测序了。

    链特异性

    转自作者:Bio_Infor、清昭_QCao

    转自链接:https://www.jianshu.com/p/109997345a67

    链接:https://www.jianshu.com/p/847801e8bf92

    相关文章

      网友评论

          本文标题:2022-07-28 判断是否是链特异性文库测序

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