资讯专栏INFORMATION COLUMN

Phenotips 项目源码分析 [0]

wpw / 770人阅读

摘要:是一款分析基因疾病的工具。项目很活跃,很赞。这里指的罕见几万,几百万分之一这种概率。这个功能的主要作用是把医生输入的症状文字转换为中文人类表型标准用语是一套描述人类疾病所致的异常表型的标准词语集,目前已经有一万多个条目。

PhenoTips™ is a software tool for collecting and analyzing phenotypic information for patients with genetic disorders.

Phenotips是一款分析基因疾病的Web工具。以它的源码作为起点,我会随看随写一些经验下来与大家分享。由于我不是做生物信息的,所以里面会穿插很多相关的基本知识,行家直接跳过

项目源码托管在Github中,从首页底下就可以找到链接。

Clone的过程比较久,主要里面包含了一些数据库。项目很活跃,很赞。

Phenotips.Build.0

按照README里的步骤走下来,JDK,Maven,git clone,调高Maven内存,mvn install ,就可以等着啦。

表型 ( phenotype )
表型,又称表现型,对于一个生物而言,表示它某一特定的物理外观或成分。一个人是否有耳珠、植物的高度、人的血型、蛾的颜色等等,都是表型的例子。
表型可分为连续变异或不连续变异的。前者比如身高、智力,后者比如血型(ABO那些)、卷舌。

基因突变 ( genetic disorder )
基因突变很容易理解,就是遗传过程中,一个或多个基因位的异常变化,这种变化有可能造成一些很罕见的疾病。这里指的罕见几万,几百万分之一这种概率。

我猜你看到这里,mvn install还没结束。所以这里再做一个建议:使用intelliJ打开Phenotips工程,打开的时候选择maven项目。当然,用intelliJ打开以后依然会maven install一堆东西。此时建议你把它打开,放到一个好的网络环境内,然后去吃个饭。

Quick Phenotype Search

使用intelliJ打开工程以后就可以发现这是一个规划的挺好的项目。

components, distribution, resources划分的很明确。逻辑模块都在components里,每一个模块基本都按这样组织。api, 各种ui。

由表及里,我们找一个入口切入来开始分析之旅。我们来挑选Quick Phenotype Search作为第一步。这个功能的主要作用是把医生输入的症状文字转换为HPO(Human Phenotype Ontology)

中文人类表型标准用语 ( Human Phenotype Ontology )
HPO是一套描述人类疾病所致的异常表型的标准词语集,目前已经有一万多个条目。也有中国的团队在做相应的中文版翻译。

这里,当用户输入文字的时候会弹出autocomplete的窗口,所以自然也会有后端的API与之对应。我们打开Chrome Dev Tools看一下就发现这里用到的API是

GET bin/get/PhenoTips/SolrService

q:fever
defType:edismax
spellcheck.collate:true
spellcheck:true
lowercaseOperators:false

几个参数有用的基本就是那个q啦。API里面还有SolrService,看来使用了Solr作为搜索引擎。那我们就去IntelliJ里去找Solr和这堆参数就好,挑个最难重名的来搜就好,就lowercaseOperators了。

找到4个有用的,再看看后面所在文件,就最后那个啦。简单的就跟到了search这个函数,AbstractOBOSolrVocabulary,DefaultVocabularyTermSuggestionsResource,xwiki这种看起来很牛的库。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/64999.html

相关文章

  • Android开源架构

    摘要:音乐团队分享数据绑定运行机制分析一个项目搞定所有主流架构单元测试一个项目搞定所有主流架构系列的第二个项目。代码开源,展示了的用法,以及如何使用进行测试,还有用框架对的进行单元测试。 Android 常用三方框架的学习 Android 常用三方框架的学习 likfe/eventbus3-intellij-plugin AS 最新可用 eventbus3 插件,欢迎品尝 简单的 MVP 模...

    sutaking 评论0 收藏0
  • Flink 源码解析 —— 分析 Batch WordCount 程序的执行过程

    摘要:批处理的程序分析博客从到学习介绍从到学习上搭建环境并构建运行简单程序入门从到学习配置文件详解从到学习介绍从到学习如何自定义从到学习介绍从到学习如何自定义从到学习转换从到学习介绍中的从到学习中的几种详解从到学习读取数据写入到从到学习项 批处理的 WordCount 程序分析: https://t.zsxq.com/YJ2Zrfi 博客 1、Flink 从0到1学习 —— Apache ...

    LdhAndroid 评论0 收藏0
  • SpringMVC之源码分析--HandlerAdapter(三)

    摘要:概述回顾上两章,我们主要分析了的概念作业以及如何使用的组件,本节以及后续几章,将介绍为我们提供的的具体实现类,基于源码和设计层面进行介绍,欢迎大家关注。本系列文章是基于。 概述 回顾上两章,我们主要分析了HandlerAdapter的概念、作业以及Spring MVC如何使用的HandlerAdapter组件,本节以及后续几章,将介绍Spring为我们提供的HandlerAdapter...

    Dionysus_go 评论0 收藏0
  • vue源码分析系列之入debug环境搭建

    摘要:目标是为了可以调试版本的,也就是下的源码,所以主要是的开启。结语至此就可以开心的研究源码啦。文章链接源码分析系列源码分析系列之入口文件分析源码分析系列之响应式数据一源码分析系列之响应式数据二 概述 为了探究vue的本质,所以想debug一下源码,但是怎么开始是个问题,于是有了这样一篇记录。目标是为了可以调试es6版本的,也就是src下的源码,所以主要是sourceMap的开启。原文来自...

    nihao 评论0 收藏0

发表评论

0条评论

wpw

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<