PhenoTips™ is a software tool for collecting and analyzing phenotypic information for patients with genetic disorders.
Phenotips是一款分析基因疾病的Web工具。以它的源碼作為起點,我會隨看隨寫一些經(jīng)驗下來與大家分享。由于我不是做生物信息的,所以里面會穿插很多相關(guān)的基本知識,行家直接跳過
項目源碼托管在Github中,從首頁底下就可以找到 鏈接 。
Clone的過程比較久,主要里面包含了一些數(shù)據(jù)庫。項目很活躍,很贊。

Phenotips.Build.0
按照README里的步驟走下來,JDK,Maven,git clone,調(diào)高M(jìn)aven內(nèi)存, mvn install ,就可以等著啦。
表型 ( phenotype )
表型,又稱表現(xiàn)型,對于一個生物而言,表示它某一特定的物理外觀或成分。一個人是否有耳珠、植物的高度、人的血型、蛾的顏色等等,都是表型的例子。
表型可分為連續(xù)變異或不連續(xù)變異的。前者比如身高、智力,后者比如血型(ABO那些)、卷舌。
基因突變 ( genetic disorder )
基因突變很容易理解,就是遺傳過程中,一個或多個基因位的異常變化,這種變化有可能造成一些很罕見的疾病。這里指的罕見幾萬,幾百萬分之一這種概率。
我猜你看到這里, mvn install 還沒結(jié)束。所以這里再做一個建議:使用intelliJ打開Phenotips工程,打開的時候選擇maven項目。當(dāng)然,用intelliJ打開以后依然會maven install一堆東西。此時建議你把它打開,放到一個好的網(wǎng)絡(luò)環(huán)境內(nèi),然后去吃個飯。
Quick Phenotype Search
使用intelliJ打開工程以后就可以發(fā)現(xiàn)這是一個規(guī)劃的挺好的項目。

components, distribution, resources劃分的很明確。邏輯模塊都在components里,每一個模塊基本都按這樣組織。api, 各種ui。

由表及里,我們找一個入口切入來開始分析之旅。我們來挑選Quick Phenotype Search作為第一步。這個功能的主要作用是把醫(yī)生輸入的癥狀文字轉(zhuǎn)換為HPO(Human Phenotype alt="物聯(lián)網(wǎng)" width="550" height="552" />
中文人類表型標(biāo)準(zhǔn)用語 ( Human Phenotype alt="物聯(lián)網(wǎng)" width="550" height="349" />
GET bin/get/PhenoTips/SolrService
q:fever
defType:edismax
spellcheck.collate:true
spellcheck:true
lowercaseOperators:false
幾個參數(shù)有用的基本就是那個q啦。API里面還有SolrService,看來使用了Solr作為搜索引擎。那我們就去IntelliJ里去找Solr和這堆參數(shù)就好,挑個最難重名的來搜就好,就lowercaseOperators了。

找到4個有用的,再看看后面所在文件,就最后那個啦。簡單的就跟到了search這個函數(shù),AbstractOBOSolrVocabulary,DefaultVocabularyTermSuggestionsResource,xwiki這種看起來很牛的庫。