Drugbank

目标:1.从full database.xml中设计出一个可以利用的表
drug_info(drugid,drugname,structure,FDA_approved,Eu_approved)
drug_target(drugid,gene_name,genbank protein id, genbank gene id, uniprot id, uniprot title,
pdb id ,genecard id, genatlas id, HGNCid Species)
Drugbank版本:2025-10-11
导入路径:75.2:~Drugbank/import_drugbank.py
表结构如下:-- 药物基本信息表
CREATE TABLE IF NOT EXISTS drugs (
    drugbank_id VARCHAR(20) PRIMARY KEY,
    name VARCHAR(255),
    description TEXT,
    cas_number VARCHAR(50),
    state VARCHAR(50)
);
-- 药物结构信息表
CREATE TABLE IF NOT EXISTS structures (
    drugbank_id VARCHAR(20),
    inchi_key VARCHAR(255),
    molecular_formula VARCHAR(100),
    smiles TEXT,
    inchi TEXT,
    PRIMARY KEY (drugbank_id),
    FOREIGN KEY (drugbank_id) REFERENCES drugs(drugbank_id)
);
-- 药物靶点信息表
CREATE TABLE IF NOT EXISTS targets (
    id INT AUTO_INCREMENT PRIMARY KEY,
    drugbank_id VARCHAR(20),
    gene_name VARCHAR(100),
    uniprot_id VARCHAR(20),
    locus VARCHAR(100),
    specific_function TEXT,
    FOREIGN KEY (drugbank_id) REFERENCES drugs(drugbank_id)
);
-- 药物批准信息表
CREATE TABLE IF NOT EXISTS drug_approvals (
    id INT AUTO_INCREMENT PRIMARY KEY,
    drugbank_id VARCHAR(20),
    country VARCHAR(50),
    status VARCHAR(50),
    approval_date DATE,
    FOREIGN KEY (drugbank_id) REFERENCES drugs(drugbank_id)
);
-- 药物相互作用表
CREATE TABLE IF NOT EXISTS drug_interactions (
    id INT AUTO_INCREMENT PRIMARY KEY,
    drugbank_id VARCHAR(20),
    interactant_id VARCHAR(20),
    description TEXT,
    effect VARCHAR(100),
    FOREIGN KEY (drugbank_id) REFERENCES drugs(drugbank_id),
    FOREIGN KEY (interactant_id) REFERENCES drugs(drugbank_id)
);
2025-10-13:想死了,全库文件中8.9%的药物有结构信息,我再检查下药物基本信息表,好吧也有些不全,不过都还好。现在写一个脚本利用chemspider补全structures表。
先总结下import_drugbank.py肯定是根据sql文件创建表,然后把full database中内容解析进数据库。
补全脚本:
supplement_structures.py 利用chemspider补全structures表,chemspider被封了,用cas_common chemistry
完成了补全,用fix_structures脚本去除了属性的多余字符。
以上两个脚本python * 即可。
####################补充内容#################################
药物在不同疾病的中可能有不同的审批状态,比如在糖尿病中approved,但是在肿瘤中investigational。
2025-10-28:
##验证药物审批状态