关注罕见病:低磷性佝偻病基因检测怎么做?
发布日期:2022-03-25
导读:有这样一群人,和我们不同:他们下肢畸形、步态蹒跚;他们跟不上同学操场的步伐,跳不过低矮的隔断;他们爬不上高层建筑的楼梯,拎不起外出时沉重的行李;他们矮小的身材总被出行的人流淹没。
这就是罕见病人群——低磷佝偻病患群。
疾病概述:什么是低磷性佝偻病?
低磷性佝偻病(Hypophosphatemicriskers)是儿童常见的代谢性骨病,由于遗传性或获得性的原因致使肾小管对磷酸盐的重吸收障碍,大量磷从尿中丢失,导致血磷降低和骨矿化障碍所致的一组骨骼疾病,被纳入《第一批罕见病目录》第51号罕见病。
低磷性佝偻病发病率约为1:25,000,其中X连锁低磷性佝偻病最为常见,在活产婴儿中发病率为1:20,000,占家族性低磷性佝偻病的80%以上,其他遗传性低磷性佝偻病较为罕见,仅见个别家系报道。
图片来源于网络
低磷性佝偻病临床症状表现
遗传性低磷性佝偻病发病较早,多在幼儿期学走路时被发现,男女均可发病,一般男性比女性严重。患者症状轻重不同,临床表现多样,有明显的临床异质性,患儿常在出生后不久即出现低磷血症,如无明确家族史,多在幼儿期开始走路、骨骼逐渐负重后才被发现。
患者在儿童期主要表现为身材矮小,上下部量比例异常,下肢短,骨骼畸形:
(1)下肢畸形,多发生在膝关节附近,常见膝内翻、膝外翻、胫骨扭转、胫骨股骨弯曲等;
(2) 胸廓畸形,主要表现为肋串珠、鸡胸、漏斗胸;
(3) 颅骨软化、方颅、脊柱侧弯等;
(4) 骨痛及活动受限症状;
(5)特殊步态,步态不稳或步态摇晃。
其他临床特征包括:
(1) 牙质矿化缺陷,主要表现有牙脓肿、釉质发育不全、龋齿、牙齿排列不齐和年轻成人牙齿过早脱落等。
(2)颅缝早闭和其他颅面异常。
(3)成年后有轻至中度听力损失,偶有耳鸣和梅尼埃病,可能由于耳囊的骨软化症迁延所致。
分类:低磷性佝偻病具有多种遗传方式
低磷性佝偻病主要包括以下几种类型:X-连锁低磷性佝偻病(XLH);常染色体显性遗传性低磷性佝偻病(ADHR)、常染色体隐性遗传性低磷性佝偻病(ARRH)、伴高钙尿症的遗传性低磷性佝偻病(HHRH)和肿瘤相关性低磷性骨软化症( TIO)等。
遗传性低磷性佝偻病致病基因解析
目前已发现多个导致遗传性低磷性佝偻病的基因,包括FGF23、PHEX、DMP-1、CLCN5、ENPP1等,其中PHEX基因异常导致的X连锁低磷性佝偻病最为常见。PHEX基因位于染色体Xp22.11,包括22个外显子,大小为219kb。50%-70%的XLHR患者中可检测到PHEX基因突变。除了点突变、小片段的插入缺失外,大约22%-43%的PHEX基因异常是由大片段的插入或者缺失造成的,所以没有一代或者二代测序没有找到致病性突变的低磷性佝偻病患者可以关注下PHEX基因的拷贝数变异。
遗传性低血磷性佝偻病的致病基因总结
基因检测:助力罕见病低磷性佝偻病诊断治疗
目前低磷性佝偻病的常规检查包括尿检、血液和生化检测、影像学检查等,由于X-连锁显性低磷性佝偻病是最常见的遗传性佝偻病,占家族性低磷性佝偻病的80%以上,50%~70%的X-连锁显性低磷性佝偻病患者能检测到PHEX突变,基因检测可帮助疾病的确诊与优生优育。
对于有阳性家族史、起病年龄较早或未明确发现症状的患者,应完善PHEX、FGF23、DMP1、ENPP1、SLC34A3等基因检测,明确是否为已知致病基因突变所致的遗传性低血磷性佝偻病。
研究发现,明确病因后再进行治疗的患者,病情明显都有一个非常好的改善。对于遗传性低磷性佝偻病患者,可以根据遗传方式的不同对其家系成员进行相应的生化指标、骨骼影像学或基因突变的筛查,以尽早诊断和治疗,在妊娠期应尽早进行产前遗传咨询。
案例分享:韦翰斯低磷性佝偻病基因检测案例
受检者信息:男,1岁10个月
临床表型:双下肢O型改变,骨密度严重不足,血磷0.68mmol/l,低磷性抗维D佝偻病。母亲1.38米,有矮小,O型腿;父亲有小儿麻痹驼背。
检测项目:代谢性遗传病基因包
检测结果:在受检者 PHEX 基因上检测到 1 个半合无义变异,测序结果显示受检者该变异遗传自母亲,受检者父亲未检出该变异。PHEX 基因异常导致 X 连锁显性遗传的低磷性佝偻病(OMIM#307800)。
变异验证:
引发类型为“System.OutOfMemoryException”的异常。
在 System.String.CreateStringFromEncoding(Byte* bytes, Int32 byteLength, Encoding encoding) 在 System.Text.UnicodeEncoding.GetString(Byte[] bytes, Int32 index, Int32 count) 在 System.Data.SqlClient.TdsParserStateObject.TryReadString(Int32 length, String& value) 在 System.Data.SqlClient.TdsParser.TryReadSqlStringValue(SqlBuffer value, Byte type, Int32 length, Encoding encoding, Boolean isPlp, TdsParserStateObject stateObj) 在 System.Data.SqlClient.TdsParser.TryReadSqlValue(SqlBuffer value, SqlMetaDataPriv md, Int32 length, TdsParserStateObject stateObj) 在 System.Data.SqlClient.SqlDataReader.TryReadColumnInternal(Int32 i, Boolean readHeaderOnly) 在 System.Data.SqlClient.SqlDataReader.TryReadColumn(Int32 i, Boolean setTimeout, Boolean allowPartiallyReadColumn) 在 System.Data.SqlClient.SqlDataReader.GetValues(Object[] values) 在 System.Data.ProviderBase.DataReaderContainer.CommonLanguageSubsetDataReader.GetValues(Object[] values) 在 System.Data.ProviderBase.SchemaMapping.LoadDataRow() 在 System.Data.Common.DataAdapter.FillLoadDataRow(SchemaMapping mapping) 在 System.Data.Common.DataAdapter.FillFromReader(DataSet dataset, DataTable datatable, String srcTable, DataReaderContainer dataReader, Int32 startRecord, Int32 maxRecords, DataColumn parentChapterColumn, Object parentChapterValue) 在 System.Data.Common.DataAdapter.Fill(DataSet dataSet, String srcTable, IDataReader dataReader, Int32 startRecord, Int32 maxRecords) 在 System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) 在 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) 在 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet) 在 Whir.Repository.Database.Query(String sql, Object[] args) 在 Whir.Label.Dynamic.Content.GetColumnFileValue() 在 Whir.Label.Dynamic.Content.Render(HtmlTextWriter output) ''标签解析异常!
引发类型为“System.OutOfMemoryException”的异常。
在 System.String.CreateStringFromEncoding(Byte* bytes, Int32 byteLength, Encoding encoding) 在 System.Text.UnicodeEncoding.GetString(Byte[] bytes, Int32 index, Int32 count) 在 System.Data.SqlClient.TdsParserStateObject.TryReadString(Int32 length, String& value) 在 System.Data.SqlClient.TdsParser.TryReadSqlStringValue(SqlBuffer value, Byte type, Int32 length, Encoding encoding, Boolean isPlp, TdsParserStateObject stateObj) 在 System.Data.SqlClient.TdsParser.TryReadSqlValue(SqlBuffer value, SqlMetaDataPriv md, Int32 length, TdsParserStateObject stateObj) 在 System.Data.SqlClient.SqlDataReader.TryReadColumnInternal(Int32 i, Boolean readHeaderOnly) 在 System.Data.SqlClient.SqlDataReader.TryReadColumn(Int32 i, Boolean setTimeout, Boolean allowPartiallyReadColumn) 在 System.Data.SqlClient.SqlDataReader.GetValues(Object[] values) 在 System.Data.ProviderBase.DataReaderContainer.CommonLanguageSubsetDataReader.GetValues(Object[] values) 在 System.Data.ProviderBase.SchemaMapping.LoadDataRow() 在 System.Data.Common.DataAdapter.FillLoadDataRow(SchemaMapping mapping) 在 System.Data.Common.DataAdapter.FillFromReader(DataSet dataset, DataTable datatable, String srcTable, DataReaderContainer dataReader, Int32 startRecord, Int32 maxRecords, DataColumn parentChapterColumn, Object parentChapterValue) 在 System.Data.Common.DataAdapter.Fill(DataSet dataSet, String srcTable, IDataReader dataReader, Int32 startRecord, Int32 maxRecords) 在 System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) 在 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) 在 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet) 在 Whir.Repository.Database.Query(String sql, Object[] args) 在 Whir.Label.Dynamic.Content.GetColumnFileValue() 在 Whir.Label.Dynamic.Content.Render(HtmlTextWriter output)



