/images/avatar.png

Xiaopeng Xu, Ph.D.

Research Scientist @ KAUST · Agentic AI for scientific discovery, protein design & synthetic biology

Recent News

Recent Notes

基于结构设计抗体

总体介绍

目前抗体圈主要是在英美。美国以 RosettaCommons 为核心,有好多人在做抗体设计。英国以 Oxford 的 Charlotte Deane 为代表,有很多研究人员做此方向。

Rosetta 目前被蛋白质设计相关组广为使用。主要是美国的一些科研机构在用。包含抗体序列numbering、抗体结构预测、抗体抗原 docking 和 抗体设计等项目的多个软件。Numbering 主要用的是 PyIgClassify (2015), 抗体结构预测包括 RosettaAntibody(2009), AbPredict (2016, 2019), 和 RosettaCM (2013),抗体抗原 docking 包括 RosettaDock (2008) 和 *SnugDock(2010),抗体设计包括 RosettaAntibodyDesign (RAbD, 2018) 和 AbDesign (2015),通过引用量来看 RosettaCM (748),RosettaAntibody (2009, 175),RosettaDock (2008, 516) 和 SnugDock (2010, 122) 用的人较多。另外,Rosetta 有个在线平台 Rosie,提供在线服务,做蛋白质结构预测和 Docking 等,https://rosie.rosettacommons.org/queue

Docker 常用命令

镜像使用

docker pull 获取镜像

docker pull informaticsmatters/rdock

docker run 从镜像创建容器

docker run -it --rm -u $(id -u):$(id -g) -v $PWD:$PWD:Z -w $PWD informaticsmatters/rdock bash # 启动 bash

在 docker 中运行命令

在启动容器时运行

docker run -it --rm ubuntu:18.04 bash

在 bash 中直接运行

docker run -it --rm ubuntu:18.04 bash
rbdock

在 DockerFile 中使用 CMD 命令运行

FROM frolvlad/alpine-oraclejre8
ARG JAR_FILE_NAME
ADD target/${JAR_FILE_NAME} app.jar
 
CMD java -jar /app.jar

外部访问容器

入门介绍

用 apt 安装:

https://yeasy.gitbook.io/docker_practice/install/ubuntu

REINVENT 系列介绍

Reinvent 系列介绍

Reinvent 是阿斯利康开发的一系列利用 AI 技术做药物研发的工具。包括:

  1. Reinvent:一个利用强化学习进行化学分析发现的工具,支持新的 scaffold 发现、基于 scaffold 的活性分子生成、分子优化等功能。后面会详细介绍。

R 常用命令

基础操作

包操作

install.packages("ggplot2") # 安装包
library(ggplot2) # 加载包

R notebook 快捷键

Ctrl+Shift+Enter # Run current chunk
Ctrl+Cmd+I # insert new chunk
Ctrl+Shift+K # Preview HTML file

更改当前目录

setwd("/path/to/my/directory")

赋值

inoutpath <- "datanew"
a = 123
fetchScholarAuthors <- T # T for True
errToFile <- F # F for False

数据操作

读取数据

train_10_scores = read.csv("result/train_10k_scores.csv")

合并 dataframe

library(gdata)
density_dat = combine(Train, Prior) # 合并后会新增 source 列,对应 Train 和 Prior

ggplot2 绘图

线图

ggplot(NULL, aes(x, y)) +  geom_line(data = data2, col = "blue") + 
labs(x="X axis", y = "Y axis") # Rename axis

点图

ggplot(NULL, aes(x, y)) +  geom_point(data = data1, col = "red")

Histogram 分布图

ggplot(df_sample, aes(x=dist, colour=source, fill=source)) +  # 设置底图和数据
geom_histogram(alpha=0.3, binwidth=1) +  # 画 histogram 图
coord_cartesian(xlim=c(0, 15)) + # 设置作图区间
labs(x="Paire-wise distance") + # 设置 x-轴名称
theme_bw() # 设置白底

Density 密度分布图

cols <- c("#1f77b4", "#ff7f0e") #, "#72D8FF")
ggplot(density_dat, aes(x=raw_FvNetCharge, colour= source, fill= source)) +  # 设置底图和数据
geom_density(alpha = 0.3) + # 画 density 图
scale_fill_manual(values=cols) + # 对下方区间染色
theme_bw() # 背景色设为白色

合并多张图

# bxp <- ggplot(...)...
# dp <- ggplot(...)...
# lp <- ggplot(...)...

figure <- ggarrange(bxp, dp, lp,
                    labels = c("A", "B", "C"),
                    ncol = 2, nrow = 2)
figure

https://xux-zotero-img.oss-cn-beijing.aliyuncs.com/img/20260613004628911.webp

Huggingface Transformer

什么是 Huggingface?

一个专门 AI 公司,维护了 python 的 transformer 库。

Transformer 介绍

https://xux-zotero-img.oss-cn-beijing.aliyuncs.com/img/20260613014626367.png

什么是 NLP?

以下是常见 NLP 任务的列表,每个任务都有一些示例:

  • 对整个句子进行分类:获取评论的情绪,检测电子邮件是否为垃圾邮件,确定句子在语法上是否正确或两个句子在逻辑上是否相关