zoukankan      html  css  js  c++  java
  • 基因组的外显子探究

    这是我们论坛上的一个题目:生信编程直播第一题:人类基因组的外显子区域到底有多...

    外显子组的序列仅占全基因组序列的1%左右,但大多数与疾病相关的变异位于外显子区。通过外显子组测序可鉴定约8万个变异,全基因组测序可鉴定300万个变异,因此与全基因组测序相比,外显子组测序不仅费用较低,数据阐释也更为简单。外显子组测序技术以其经济有效的优势广泛应用于孟德尔遗传病、罕见综合征及复杂疾病的研究,并于2010年被Science杂志评为十大突破之一。

    任务:外显子到底占基因组什么样的百分比,是哪些位点。

    去NCBI里面拿到 consensus coding sequence (CCDS)记录(可以查询hg19上的所有基因的位置,chromosome    nc_accession    gene    gene_id    ccds_id    ccds_status    cds_strand    cds_from    cds_to    cds_locations    match_type)

    外显子的侧翼长度:在每个断裂基因的两侧都有一段在转录调控中起重要作用的非编码序列,称为侧翼序列。侧翼基因:在第一个和最后一个外显子的外侧,都有一段不被转录的非编码区。称为侧翼序列,包括启动子(promoter),增强子(enhancer),终止子(terminator)等。侧翼序列调节基因表达。侧翼序列就是侧翼基因。侧翼区特异性可以作为基因探针,侧翼基因在第一个和最后一个外显子的外侧,都有一段不被转录的非编码区·称为侧翼序列。相当于有一个参照。

    注意,基因与基因之间是可能有交叠的区域的。

     

    1. 什么是外显子?什么是cds?

    CDS: "A contiguous sequence which begins with, and includes, a start codon and ends with, and includes, a stop codon."

    Exon: "A region of the transcript sequence within a gene which is not removed from the primary RNA transcript by RNA splicing."

    外显子是形成mRNA后剪接剩下的部分,包括UTR区与CDS,而CDS则是真正编码蛋白的Coding Sequence;

    2.此次作业虽然是统计人类基因组的外显子区域,但是还是统计CDS部分,不统计外显子

    3.去重不去除在染色体上overlap的部分,只去除完全一样的部分;

     

    1.首先,根据老师的做法是,从NCBI上下载CCDS的最新版本文件,ftp://ftp.ncbi.nlm.nih.gov/pub/C ... an/CCDS.current.txt

    import csv
     
    ncbi_file="CCDS.20160908.txt"
    with open(ncbi_file,'r')as f1:
        file=csv.reader(f1,delimiter="	")
        next(file)
        sum=0
        exon_dict={} # dict is faster than list
        for record in file:
            if record[9] != "-":
                chr=record[0]
                exon_list=record[9].lstrip("[").rstrip("]").split(", ")
                # print(exon_list)
                for range in exon_list:
                    exon=chr+":"+range
                    # print(exon)
                    if exon not in exon_dict:
                        exon_dict[exon]=""
                        exon_start=int(range.split("-")[0])
                        exon_end=int(range.split("-")[1])
                        # print(exon_start)
                        sum+=exon_end-exon_start
    print(sum)
    这里很好,使用了python的csv模块,而不必实现底层的某些细节
    2.从UCSC下载所有CDS的region来验证,下载方法是使用ucsc的table browser,链接在这里

    3.从Ensembl下载所有的CDS进行验证,使用的是Ensembl的Biomart,链接在这里

  • 相关阅读:
    做了个上传下载任意文件到数据库
    owc 的使用技巧
    设计模式
    WCF 附录 高级主题 系列文章
    .NET 3.5 中WCF客户端代理性能改进以及最佳实践
    WCF 的几个问题
    你了解 Assembly.Load 吗?
    WCF 第十三章 可编程站点 系列文章
    WCF 第十二章 对等网 系列文章
    最佳实践:显式打开共享访问的WCF客户端代理
  • 原文地址:https://www.cnblogs.com/leezx/p/6264550.html
Copyright © 2011-2022 走看看