GithubHelp home page GithubHelp logo

amy-tree's Introduction

AMY-Tree

Y染色体分类树

AMY-TREE

AMY算法可以对确定Y染色体单倍群提供准确的意见,已经通过来自不同地区的109个男性的全基因组数据来成功的验证AMY树的准确度,AMY树搜索算法使用Y染色体单倍群树,并且可以查找步骤拆分为各个子算法来并行的加快程序的处理速度,通过判断每个节点的状态来确定样品所在的染色体单倍群,AMY树的算法如下:

(1)垂直子算法,垂直子算法能够通过检查每个叶节点的Y染色体单倍型对应的SNP位点的状态是否为真,由于这棵树所有的根节点都在左边而所有的叶节点都在右边,因此这个子算法又被称之为垂直子算法,在图中的矩形,方框中的单倍型为真,X1a,Z2b* and Z2b3,

(2)但是垂直子算法并只检查了每棵树的叶节点,没有深入到树的内部,因此不能够排除SNP位点存在假阳性的可能,从而返回了一个错误的结果,因此需要对从根出发一直到每个叶节点通过节点间的链接的水平子算法来计算,由于该算法大致上是从左到右水平判断每个节点的状态,因此这个子算法也被称之为水平子算法,这种算法从左边的根节点开始逐个的检查每个子节点的状态是否为真,知道没有节点没有其子节点或者改节点的所有子节点的状态均为否,并且返回最后一个节点的状态为True的节点,如上图水平算法返回的结果为Z2b,

(3)接下来需要中和垂直子算法和水平子算法的结果来获取更准确的判断结果,只有当垂直算法返回的叶节点同时该节点也存在于水平子算法的结果中将会直接有第三子算法返回分类的结果,但是这个算法同样会由于在水平算法中纯在假阴性的节点从而照成结果的误判,如图在垂直子算法返回了结果为X1a,Z2b* and Z2b3,水平子算法返回的结果为Z2b,由于Z1的点与水平子算法的结果Z2b并不相符,因此只保留 Z2b* and Z2b3a两个点,保留的两个点均为Z2b的子节点因此,由于SNP Calling不可避免的存在大量的误差因此,因此返回保留的两个结果。

(4)第四个子算法继续对子树经行判断,查找匹配链条最为完整的路径的叶节点并返回查找的结果,本例中,该步骤返回的结果为Z2b3a,如果存在多个匹配的结果这返回匹配结果的列表作为Amy树查找的结果。

AMY树算法的强大之处在于可以组合各种不同的策略充分的利用SNP calling的结果,从而降低由于SNP Calling或者是Y染色体单倍型树造成的负面影响。

amy-tree's People

Contributors

fjkfwz avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.