we present a novel method, namely prior fused boosting network inference method (PFBNet), to infer GRNs from time-series expression data by using the non-linear model of Boosting and the prior information (e.g., the knockout data) fusion scheme. The experiments on the benchmark datasets from DREAM challenge as well as the E.coli datasets show that PFBNet achieves significantly better performance than other state-of-the-art methods (HiDi, iRafNet and BiXGBoost).
Xgboost Version=0.6 Reference Link
Python version=3.7
xgboost Version>=0.6
Pandas>=0.19.x
Numpy>=1.12.x
Now, we give a code example in two data sets, dream4 and Ecoil, respectively.
from dream4.iXGBNet_dream4 import *
import pandas as pd
for i in range(1, 6):
# Read data
file_tm = "data/timeseries_data/insilico_size100_{}_timeseries.csv".format(i)
tm = pd.read_csv(file_tm).to_numpy()
file_ko = "data/knockout_data/insilico_size100_{}_knockout.csv".format(i)
ko = pd.read_csv(file_ko).to_numpy()
# Compute weights of gene regulatory network
vv = main(tm, 10, 2, 0.45, 1000, ko)
# Export result
df = pd.DataFrame(vv)
df.to_csv("result/dream4_d{}.csv".format(i), index=False)
data_tm: Time-series experimental data.
sample_num: Number of time-series experimental's samples.
k: Previous k time points.
alpha: Decay factor.
iter_num: Number of iterations in XGBoost model.
data_ko: Knockout experimental data.