跳转到内容

Posts

nvim中配置lsp

在进行这一步之前,确保已安装telescope和aerial插件

创建 ~/.config/nvim/lua/lsp.lua 并写入以下内容

vim.api.nvim_create_autocmd("LspAttach", {
group = vim.api.nvim_create_augroup("lsp-attach", { clear = true }),
callback = function(event)
local map = function(keys, func, desc, mode)
mode = mode or "n"
vim.keymap.set(mode, keys, func, { buffer = event.buf, desc = "LSP: " .. desc })
end
-- 设置一些快捷键,你可以使用这些快捷键进行LSP有关的操作
-- 你需要安装 Telescope
map("grn", vim.lsp.buf.rename, "[R]ename")
map("grs", require("telescope").extensions.aerial.aerial, "LSP Symbols")
map("gra", vim.lsp.buf.code_action, "[G]oto Code [A]ction", { "n", "x" })
map("grr", require("telescope.builtin").lsp_references, "[G]oto [R]eferences")
map("gri", require("telescope.builtin").lsp_implementations, "[G]oto [I]mplementation")
map("grd", require("telescope.builtin").lsp_definitions, "[G]oto [D]efinition")
map("grD", vim.lsp.buf.declaration, "[G]oto [D]eclaration")
map("gO", require("telescope.builtin").lsp_document_symbols, "Open Document Symbols")
map("grw", require("telescope.builtin").lsp_dynamic_workspace_symbols, "Open Workspace Symbols")
map("grt", require("telescope.builtin").lsp_type_definitions, "[G]oto [T]ype Definition")
map("grh", vim.lsp.buf.hover, "Hover")
local function client_supports_method(client, method, bufnr) return client:supports_method(method, bufnr) end
-- 自动高亮你光标下内容的引用,并在光标移动时清除
local client = vim.lsp.get_client_by_id(event.data.client_id)
if
client
and client_supports_method(client, vim.lsp.protocol.Methods.textDocument_documentHighlight, event.buf)
then
local highlight_augroup = vim.api.nvim_create_augroup("lsp-highlight", { clear = false })
vim.api.nvim_create_autocmd({ "CursorHold", "CursorHoldI" }, {
buffer = event.buf,
group = highlight_augroup,
callback = vim.lsp.buf.document_highlight,
})
vim.api.nvim_create_autocmd({ "CursorMoved", "CursorMovedI" }, {
buffer = event.buf,
group = highlight_augroup,
callback = vim.lsp.buf.clear_references,
})
vim.api.nvim_create_autocmd("LspDetach", {
group = vim.api.nvim_create_augroup("lsp-detach", { clear = true }),
callback = function(event2)
vim.lsp.buf.clear_references()
vim.api.nvim_clear_autocmds {
group = "lsp-highlight",
buffer = event2.buf,
}
end,
})
end
-- 创建一个快捷键,以便切换是否启用 Inlay Hints(如果可用)
if client and client_supports_method(client, vim.lsp.protocol.Methods.textDocument_inlayHint, event.buf) then
vim.lsp.inlay_hint.enable(true) -- 默认启用,你可以把它改为false
vim.keymap.set("n", "<leader>uh", function()
vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled { bufnr = event.buf })
if vim.lsp.inlay_hint.is_enabled { bufnr = event.buf } then
vim.notify("Inlay hints: " .. "ON")
else
vim.notify("Inlay hints: " .. "OFF")
end
end, { desc = "Toggle Inlay Hints" })
end
end,
})
-- 诊断信息设置
-- 查看 :help vim.diagnostic.Opts
vim.diagnostic.config {
severity_sort = true,
float = { border = "rounded", source = "if_many" },
underline = { severity = vim.diagnostic.severity.ERROR },
signs = {
text = {
[vim.diagnostic.severity.ERROR] = " ", -- 这里配置“错误”的图标,需要nerd font字体
[vim.diagnostic.severity.WARN] = " ",
[vim.diagnostic.severity.INFO] = " ",
[vim.diagnostic.severity.HINT] = " ",
},
},
virtual_text = {
source = "if_many",
spacing = 2,
format = function(diagnostic)
local diagnostic_message = {
[vim.diagnostic.severity.ERROR] = diagnostic.message,
[vim.diagnostic.severity.WARN] = diagnostic.message,
[vim.diagnostic.severity.INFO] = diagnostic.message,
[vim.diagnostic.severity.HINT] = diagnostic.message,
}
return diagnostic_message[diagnostic.severity]
end,
},
}
-- 下面这一堆是跳转到诊断信息的快捷键
vim.keymap.set(
"n",
"[h",
function() vim.diagnostic.jump { severity = vim.diagnostic.severity.HINT, count = -1 } end,
{ desc = "Previous hint" }
)
vim.keymap.set(
"n",
"]h",
function() vim.diagnostic.jump { severity = vim.diagnostic.severity.HINT, count = 1 } end,
{ desc = "Next hint" }
)
vim.keymap.set(
"n",
"[i",
function() vim.diagnostic.jump { severity = vim.diagnostic.severity.INFO, count = -1 } end,
{ desc = "Previous info" }
)
vim.keymap.set(
"n",
"]i",
function() vim.diagnostic.jump { severity = vim.diagnostic.severity.INFO, count = 1 } end,
{ desc = "Next info" }
)
vim.keymap.set(
"n",
"[w",
function() vim.diagnostic.jump { severity = vim.diagnostic.severity.WARN, count = -1 } end,
{ desc = "Previous warning" }
)
vim.keymap.set(
"n",
"]w",
function() vim.diagnostic.jump { severity = vim.diagnostic.severity.WARN, count = 1 } end,
{ desc = "Next warning" }
)
vim.keymap.set(
"n",
"[e",
function() vim.diagnostic.jump { severity = vim.diagnostic.severity.ERROR, count = -1 } end,
{ desc = "Previous error" }
)
vim.keymap.set(
"n",
"]e",
function() vim.diagnostic.jump { severity = vim.diagnostic.severity.ERROR, count = 1 } end,
{ desc = "Next error" }
)
-- 当光标处有诊断信息时自动显示vim.api.nvim_create_autocmd("CursorHold", {
pattern = "*",
callback = function()
vim.diagnostic.open_float(nil, {
focusable = false,
close_events = { "CursorMoved", "CursorMovedI", "BufHidden", "InsertCharPre" },
border = "rounded",
scope = "cursor",
})
end,
})

init.lua 中加入这一行:

require("lsp")

安装自动补全插件 blink.cmp

-- Lua/plugins/blink-cmp.lua
local function has_words_before()
local line, col = (unpack or table.unpack)(vim.api.nvim_win_get_cursor(0))
return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match "%s" == nil
end
return {
"Saghen/blink.cmp",
dependencies = {
"xzbdmw/colorful-menu.nvim",
"rafamadriz/friendly-snippets",
},
version = "1.*",
event = { "InsertEnter", "CmdlineEnter" },
opts = {
keymap = {
["<Up>"] = { "select_prev", "fallback" },
["<Down>"] = { "select_next", "fallback" },
["<C-U>"] = { "scroll_documentation_up", "fallback" },
["<C-D>"] = { "scroll_documentation_down", "fallback" },
["<C-e>"] = { "hide", "fallback" },
["<CR>"] = { "accept", "fallback" },
["<Tab>"] = {
"snippet_forward",
"select_next",
function(cmp)
if has_words_before() or vim.api.nvim_get_mode().mode == "c" then return cmp.show() end
end,
"fallback",
},
["<S-Tab>"] = {
"select_prev",
"snippet_backward",
function(cmp)
if vim.api.nvim_get_mode().mode == "c" then return cmp.show() end
end,
"fallback",
},
},
completion = {
list = { selection = { preselect = false } },
documentation = { auto_show = true },
menu = {
border = "rounded",
draw = {
columns = { { "kind_icon" }, { "label", gap = 1 } },
components = {
label = {
text = function(ctx) return require("colorful-menu").blink_components_text(ctx) end,
highlight = function(ctx) return require("colorful-menu").blink_components_highlight(ctx) end,
},
},
},
},
},
signature = {
enabled = true,
},
cmdline = {
completion = {
list = { selection = { preselect = false } },
menu = {
auto_show = true,
},
},
},
sources = {
default = { "lsp", "path", "snippets", "buffer" },
},
},
opts_extend = { "sources.default" },
}

将以下内容写入 ~/.config/nvim/lsp/lua_ls.lua

return {
cmd = { 'lua-language-server' },
filetypes = { 'lua' },
root_markers = {
'.luarc.json',
'.luarc.jsonc',
'.luacheckrc',
'.stylua.toml',
'stylua.toml',
'selene.toml',
'selene.yml',
'.git',
},
}

这里的 cmd 是语言服务器的可执行文件。在 0.11 版本中,不需要使用 nvim-lspconfig 插件。

将以下内容添加到 ~/.config/nvim/lua/lsp.lua ,用于启动这个配置:

vim.lsp.enable('lua_ls')

enable 后面的参数 lua_ls ,对应 lsp 文件夹内的 lua_ls.lua

安装三个插件

{
"mason-org/mason.nvim",
event = "VeryLazy",
keys = {
{
"<leader>M",
"<cmd>Mason<cr>",
desc = "Open Mason",
},
},
opts = {
ui = {
icons = {
package_installed = "●",
package_pending = "○",
package_uninstalled = "○",
},
},
},
},
{
"WhoIsSethDaniel/mason-tool-installer.nvim",
event = "VeryLazy",
},
{
"mason-org/mason-lspconfig.nvim",
event = "VeryLazy",
config = function()
local capabilities = require("blink.cmp").get_lsp_capabilities()
-- Enable the following language servers
-- Feel free to add/remove any LSPs that you want here. They will automatically be installed.
--
-- Add any additional override configuration in the following tables. Available keys are:
-- - cmd (table): Override the default command used to start the server
-- - filetypes (table): Override the default list of associated filetypes for the server
-- - capabilities (table): Override fields in capabilities. Can be used to disable certain LSP features.
-- - settings (table): Override the default settings passed when initializing the server.
-- For example, to see the options for `lua_ls`, you could go to: https://luals.github.io/wiki/settings/
local servers = {
lua_ls = {},
}
local formatting_tools = {
"stylua",
}
local ensure_installed = vim.list_extend(vim.tbl_keys(servers), formatting_tools)
ensure_installed = vim.list_extend(ensure_installed, dap)
require("mason").setup {}
require("mason-lspconfig").setup {
automatic_installation = false,
automatic_enable = {
"lua_ls",
},
handlers = {
function(server_name)
local server = servers[server_name] or {}
-- This handles overriding only values explicitly passed
-- by the server configuration above. Useful when disabling
-- certain features of an LSP (for example, turning off formatting for ts_ls)
server.capabilities = vim.tbl_deep_extend("force", {}, capabilities, server.capabilities or {})
vim.lsp.config(server_name, server)
end,
},
}
require("mason-tool-installer").setup {
ensure_installed = ensure_installed,
run_on_start = false,
start_delay = 0,
}
vim.cmd "MasonToolsUpdate"
end,
},

servers 变量中可以覆盖服务器的默认设置。插件会自动安装其中 servers, formatting_tools, dap 三个变量里面的工具。

lazydev.nvim 插件提供了增强Lua补全功能,可以更好地适配Neovim的配置功能

若使用此插件,删除 lsp.lua 中的 vim.lsp.enable('lua_ls') ,插件会自动调用这个函数

安装插件:

{
"folke/lazydev.nvim",
ft = "lua",
opts = {
library = {
-- Load luvit types when the `vim.uv` word is found
{ path = "${3rd}/luv/library", words = { "vim%.uv" } },
},
},
}

细菌的遗传和变异

细菌的遗传 (heredity): 细菌保持物种遗传物质和生物学特性相对稳定,世代相传的能力。 细菌的变异 (variation): 细菌子代与亲代之间生物学特性出现的差异。

  • 细菌基因组
    • 染色体
    • 质粒
  • 移动元件
    • 插入序列
    • 转座子
    • 整合子
  • 噬菌体

细菌染色体之外的遗传物质,是一类闭环dsDNA

  • 附加体 (episome)可以与染色体整合参与遗传,也可以游离存在的一类质粒
  • 质粒存在三种构型: 共价闭环型、开环型、线性型 -质粒的特点:
    1. 自我复制
    2. 编码细菌细胞的大量辅助性的性状
    3. 可通过结合、转化等方式在细菌间转移。根据是否能通过结合转移,可分为:
    • 结合性质粒
    • 非结合性质粒
    1. 可丢失
    2. 相容性 (compatibility)和不相容性 (incompatibility): 序列结构相似、亲缘密切相关的质粒不可稳定共存于同一宿主;同源性互不相关的质粒可稳定共存

噬菌体 (bacteriophage)是感染细菌、真菌、放线菌或螺旋体等微生物的病毒。

  1. 噬菌体的结构特征 显微镜下可见: 蝌蚪形、微球形、丝形
  • 头部
    • 衣壳
    • 核: DNA/RNA
  • 尾部: 尾领、尾鞘、尾髓、尾板、尾刺、尾丝
  1. 噬菌体的繁殖 噬菌体的繁殖过程包括吸附穿入生物合成组装释放
  1. 温和噬菌体 (temperate phage): 感染细菌后,部分噬菌体的基因组不完成组装和释放,其DNA与宿主基因组整合,随宿主菌繁殖而复制。
  • 前噬菌体 (prophage): 整合于宿主基因组的噬菌体基因组
    • 溶原性细菌
    • 溶原性噬菌体
  • 溶原性转换: 溶原性细菌由于携带的前噬菌体基因得以表达,表现出新的遗传性状
  1. 毒性噬菌体: 在宿主细菌内复制增殖并最终导致细菌裂解的噬菌体,只有溶菌性周期而无溶原性周期。

移动元件 (mobile element),也被称为转座元件 (transposable element),是一类不依赖于同源重组即可在细菌或者其它生物的基因组/质粒之间改变存在位置的特殊DNA序列。

转座元件包括:

  • 插入序列(insertion sequence, IS): 一段长度约为300~2200bp,不携带任何与转座功能无关的基因的可移动元件。
  • 转座子(transposon, Tn): 长度在2000~2500bp,除了携带与转座功能有关的基因外,还会携带其它基因,如耐药基因、毒力基因。
  • 整合子(integron, In): 整合子是一种特殊的可移动元件,其可通过整合酶介导的位点特异性重组系统捕获和重组基因盒,与细菌多重耐药性有关。

心力衰竭

  • 心力衰竭 (heart failure, HF): 各种原因导致心脏结构/功能的异常改变,使得心室收缩/充盈发生障碍,在静息或运动时出现心输出量下降或心腔内压力升高,从而引起的一组复杂的临床综合征。主要表现为:
    • 活动耐力下降 (呼吸困难、疲乏)
    • 液体潴留 (肺淤血、体循环淤血和外周水肿)
  • 心功能不全 (cardiac dysfunction): 广泛指心脏结构和功能的异常改变,伴有临床症状的心功能不全称为心力衰竭。
  • 心肌受损
    • 原发性心肌损伤: 心肌炎心肌梗死心肌病心肌中毒
    • 继发性心肌损伤: 由高血压糖尿病严重贫血等一系列因素引起的心肌代谢异常,进而慢性损伤、坏死的情况
  • 心室前负荷过重
    • 心脏瓣膜关闭不全,导致血液回流心室充盈量增加。
    • 全身高动力循环状态
      • 重度贫血
      • 甲状腺功能亢进
      • 动静脉瘘
      • 脚气病
  • 心室后负荷过重
    • 左心后负荷: 高血压、主动脉瓣狭窄、主动脉缩窄
    • 右心后负荷: 肺动脉高压、肺动脉瓣狭窄
  • 心室充盈障碍: 心包疾病、限制性心肌病
  • 心律失常
  • 感染
  • 心律失常
  • 水、电解质和酸碱平衡紊乱
    • 高钾血症
    • 酸中毒
  • 妊娠和分娩
  • 情绪激动、气候变化
  1. 按发展速度分类

补体系统

补体是一组存在于新鲜血清和动物体细胞表面的蛋白质系统,广泛参与各种免疫反应,具有调理吞噬溶解细胞介导炎症调节免疫应答清除免疫复合物等生物学功能。一般情况下大多数成分只在激活后存在生物学活性。

补体系统包括大于40种蛋白质,依据其生物学功能可以分为补体固有成分补体调节蛋白补体受体三部分。

  1. 补体固有成分: 指存在于体液中参与补体激活的蛋白质
    • 经典途径: C1q, C1r, C1s, C2, C4
    • 旁路途径: Factor B, Factor D, Properdin
    • 凝集素途径: MBL, MASP-1, MASP-2
    • 共同成分: C3, C5, C6, C7, C8, C9
  2. 补体调节蛋白: 存在于血浆和细胞膜表面,调节补体激活过程中关键酶以控制补体活化强度和范围的蛋白分子
    • 补体调节因子H、因子I
    • C4结合蛋白 (C4BP)
    • C1 抑制物 (C1-INH)
    • 膜辅蛋白 (MCP)
    • 膜反应性溶血抑制物 (MIRL)
  3. 补体受体: 存在于各种细胞表面,与补体激活后产生的活性成分结合,介导多种生物学效应的受体蛋白
    • CR1~CR5, C3aR, C2aR, C4aR
  • 肝细胞、单核巨噬细胞、角质形成细胞、内皮细胞、肠道上皮细胞和肾小球细胞等均可合成补体成分。
  • 肝细胞巨噬细胞是补体的主要产生细胞。
  • 内源性补体成分以C加数字命名。C1~C9表示补体系统中依次被发现的9种主要成分
  • 替代途径成分以字母命名,如因子B、因子D
  • 补体调节蛋白依据其功能命名,如C1INH,C4BP
  • 补体受体以CR加数字命名,如CR1~CR5
  • 裂解产物在原有成分后加a或b表示,如C3a、C3b
  • 灭活产物在原有成分前加i表示,如iC3b

补体激活三大主要通路

  1. 经典途径 (Classical Pathway)
  2. 旁路途径 (Alternative Pathway)
  3. 凝集素途径 (Lectin Pathway)

末端通路 (Terminal Pathway): 形成攻膜复合物 (MAC)的过程,是三条途径的共同终点。

酶原 (Zymogen): 补体成分在分泌后大多以酶原形式存在,需经特定酶切割后才能活化发挥功能。

  • 酶原在经切割后往往产生两个片段,分子量较大的具有酶活性,分子量较小的片段通常具有促炎活性。

补体通路示意图

经典途径主要由抗原-抗体复合物激活,结合抗原的IgG或IgM通过其Fc段与C1q结合,顺序活化C1r、C1s、C4、C2、C3,形成C3转化酶 (C4b2a)和C5转化酶 (C4b2a3b)的级联酶促反应。

参与成分: IC、C1q、C1r、C1s、C2、C4、C3、C5、C6、C7、C8、C9 活化顺序: C1q → C1r → C1s → C4 → C2 → C3 → C5 → C6 → C7 → C8 → C9

  1. 识别阶段/激活物: 抗原-抗体复合物或免疫复合物 (IC),C1可结合到IgM的CH3C_{H}3段上,或者结合到IgG1~3的CH2C_{H}2段上。
    • 激活条件:
      1. 每一个C1分子须与两个以上抗体分子的Fc段结合。因此IgG至少需要两个分子,而IgM只需一个分子,因为其为五聚体,具有多个Fc段。
      2. 只有结合抗原或细胞的抗体的Fc段才能与C1q结合。
    • 补体结合实验: 补体只能被结合抗原的抗体激活,这一特点可用于检测血清中是否存在特异性抗体。
    • IgM活化补体的能力最强
  2. 激活阶段: C3转化酶(C4b2a)、C5转化酶 (C4b2a3b)的形成。
    1. C1s裂解C4生成C4a和C4b,C4b结合到病原体表面。
    2. C1s裂解C2生成C2a和C2b,C2a与C4b结合形成C3转化酶 (C4b2a)。
    3. C3转化酶裂解C3生成C3a和C3b,C3b可与C3转化酶结合形成C5转化酶 (C4b2a3b),也可以单独结合到病原体表面。
  3. 效应阶段: C5转化酶将C5裂解为C5a和C5b,C5b结合到靶细胞表面后依次与C6、C7、C8、C9 (12~15个单体)结合形成攻膜复合物 (MAC),引起靶细胞膜的穿孔和细胞溶解。
    • MAC的效应:
      1. 细胞表面: 直接溶解靶细胞
      2. 血清中: 可作为SC5b-7、SC5b-8、SC5b-9复合物被检测出

旁路途径可被病原体表面的某些成分(LPS、酵母多糖、葡聚糖等)直接激活,无需抗体参与。其激活过程包括C3的自发水解、因子B、因子D和Properdin的参与,最终形成C3转化酶 (C3bBb)和C5转化酶 (C3bBb3b)。

参与成分: 因子B、因子D、Properdin、C3、C5、C6、C7、C8、C9 活化顺序: C3 → 因子B → 因子D → Properdin

  1. 起始阶段:
    • C3在血清中可发生自发水解,形成C3b。
    • C3b结合到病原体表面后,结合因子B,形成C3bBb复合物 (C3转化酶)。
  2. 激活阶段:
    • C3转化酶 (C3bBb)裂解更多的C3生成C3a和C3b,C3b继续结合到病原体表面,形成更多的C3转化酶,形成正反馈循环。
    • 部分C3b与C3转化酶结合形成C5转化酶 (C3bnBb)。
  3. 效应阶段:
    • C5转化酶将C5裂解为C5a和C5b,C5b后续形成攻膜复合物 (MAC),引起靶细胞溶解。

凝集素途径由甘露糖结合凝集素 (MBL)或其他凝集素识别病原体表面的特定糖类结构后激活。MBL结合到病原体表面后,激活MASP-1和MASP-2,进而裂解C4和C2,形成C3转化酶 (C4b2a)和C5转化酶 (C4b2a3b)。

参与成分: MBL、MASP-1、MASP-2、C4、C2、C3、C5、C6、C7、C8、C9 活化顺序: MBL → MASP-1/MASP-2 → C4 → C2 → C3 → C5 → C6 → C7 → C8 → C9

  • MBL的成分和经典途径中的C1q类似,均为识别分子;MASP-2类似于C1s,是酶活化分子。
  • 激活过程与经典途径/旁路途径类似,最终形成攻膜复合物 (MAC),引起靶细胞溶解。

各通路关系示意图

经典途径旁路途径凝集素途径
激活物抗原-抗体复合物病原体表面多种成分病原体表面糖类残基
识别分子C1qC3bMBL
C3转化酶C4b2aC3bBbC4b2a
C5转化酶C4b2a3bC3bnBbC4b2a3b
参与免疫的类型获得性免疫先天性免疫先天性免疫
  1. 调理吞噬作用: C3b、iC3b和C4b作为调理因子,非特异性地结合到病原体表面,增强巨噬细胞和中性粒细胞对病原体的吞噬作用。
  2. 细胞毒性作用: 攻膜复合物 (MAC)在靶细胞膜上形成孔洞,导致细胞内容物外泄,引起靶细胞溶解。
  3. 介导炎症反应: C3a、C4a和C5a作为炎症介质,促进血管扩张、增加血管通透性,吸引中性粒细胞和单核细胞到炎症部位,增强炎症反应。
  4. 清除免疫复合物: 补体系统通过结合免疫复合物,促进其溶解和在肝脏和脾脏中的清除,防止免疫复合物在组织中沉积引起损伤。
  5. 调节免疫反应:
    • 辅助APC呈递抗原
    • 促进B细胞增生和分化
    • 通过CR1促进ADCC

补体系统具有极大的潜在破坏性,正常机体内存在多种补体的调节机制,以防止补体对自身组织的损伤。

  1. 自我灭活机制: 补体成分在体内具有较短的半衰期,未被激活的补体成分会自发失活。
    • 裂解成分C3b、C4b、C5b
    • C3转化酶 (C4b2a, C3bBb)和C5转化酶 (C4b2a3b, C3bnBb)
  2. 补体调节蛋白: 多种补体调节蛋白通过不同机制抑制补体的过度激活。
    • C1抑制物 (C1-INH): 结合并抑制C1r和C1s的活性,阻止经典途径的激活。
    • C4结合蛋白 (C4BP): 结合于C4b,阻止C2a与C4b结合。
    • 因子H: 移除C3转化酶中Bb部分,抑制旁路途径的正反馈循环,还可以提高因子I的活性。
    • 因子I: 灭活C3b和C4b。
    • DAF (Decay Accelerating Factor): 结合于C4b和C2a,阻止C3转化酶的形成,还可以竞争性结合于C3b,阻止旁路途径C3转化酶的形成。
  3. MAC调节机制
    • MIRL (CD59): 干扰C5b6复合物与C7、C8的结合,阻止MAC的形成。
    • HRF (Human Restriction Factor): 防止C8和C9在细胞膜上的聚合,抑制MAC的形成。

补体受体存在于多种免疫细胞表面,能够识别和结合补体的活性片段,介导多种免疫反应。

  1. CR1 (CD35): 主要存在于红细胞、巨噬细胞和中性粒细胞表面,与C3b和C4b具有高亲和力,介导免疫黏着和调理作用。
  2. CR2 (CD21): 主要表达于B细胞表面,结合C3dg、C3d和iC3b,增强B细胞的活化和抗体产生。
    • CR2是EBV病毒的受体
  3. CR3: 由巨噬细胞、中性粒细胞、Tc细胞、B细胞和NK细胞表达,结合iC3b,介导调理作用。
  4. CR4/CR5:
    • CR4结合iC3b和C3dg,表达类似于CR3。
    • CR5是C3dg和C3d的受体,与免疫复合物的清除有关。