How-To-Start Guide | Reproduce the Paper | Tool README | Local Tests |
The Federated Limma Remove Batch Effect (fedRBE) is a federated implementation of the limma removeBatchEffect
algorithm, developed within the FeatureCloud platform. It enables privacy-preserving batch effect correction by keeping raw data decentralized and utilizing Secure Multiparty Computation (SMPC) for secure data aggregation.
fedRBE allows multiple participants to collaboratively remove batch effects from their data without sharing raw data, ensuring privacy. It effectively eliminates non-biological variations arising from different sources such as labs, time points, or technologies, using limma’s removeBatchEffect
. The tool supports various data formats and seamlessly integrates with the FeatureCloud platform for streamlined workflow management.
fedRBE app states. Source: ArXiv 2412.05894
The repository serves two main purposes:
batchcorrection
subfolder, providing the federated batch effect removal tool.
fedRBE architecture. Source: ArXiv 2412.05894
You can access and use the fedRBE
app directly on FeatureCloud.
For detailed usage instructions and implementation information, refer to the How To Guide and the README.
For a comprehensive overview of the workflow, please consult the How To Guide.
Before installing fedRBE
, ensure you have the following installed:
For installation and setup details, see the main README.
If you want to run the simulations locally, clone the repository (or check Quick Start below):
git clone https://github.com/Freddsle/fedRBE.git
cd fedRBE
This will clone the repository to your local machine with example files and simulation scripts.
RemoveBatchEffect
is a function from limma.For more advanced configurations and detailed explanations, see the main README and the ArXiv preprint.
If you encounter difficulties, please:
For files preparation, format, config file, and output details, refer to the How To Guide.
In summary, you need two main inputs and one optional file:
Input files required for fedRBE.
Output files include:
fedRBE
is highly configurable via the config.yml
file. This file controls data formats, normalization methods, and other essential parameters.
Example config.yml
:
flimmaBatchCorrection:
data_filename: "expression_data_client1.csv"
expression_file_flag: False
index_col: "GeneIDs"
covariates: ["Pyr"]
separator: ","
design_separator: ","
normalizationMethod: "log2(x+1)"
smpc: True
min_samples: 2
position: 1
reference_batch: ""
For a comprehensive list of configuration options, refer to the Configuration Section in the batchcorrection README.
This repository includes all necessary code and data to reproduce the analyses presented in our ArXiv preprint.
Steps to Reproduce:
featurecloud controller start
)fedRBE
app built or pulled as per the Installation sectionpython3 ./evaluation_utils/get_federated_corrected_data.py
python3 ./evaluation_utils/analyse_fedvscentral.py
For detailed instructions on reproducing the paper, refer to the Reproducibility Guide.
To simulate a federated workflow on a single machine using provided sample data:
Encountering issues? Here are some common problems and their solutions:
config.yml
and data files are in the correct directory.expression_file_flag
and index_col
settings in config.yml
.report.txt
and logs for error messages.For detailed troubleshooting tips, refer to the How To Guide.
This project is licensed under the Apache License 2.0.
If you use fedRBE
in your research, please cite our ArXiv preprint:
Burankova, Y., Klemm, J., Lohmann, J.J., Taheri, A., Probul, N., Baumbach, J. and Zolotareva, O., 2024. FedRBE–a decentralized privacy-preserving federated batch effect correction tool for omics data based on limma. arXiv preprint arXiv:2412.05894.
@misc{burankova2024fedrbedecentralizedprivacypreserving,
title={FedRBE -- a decentralized privacy-preserving federated batch effect correction tool for omics data based on limma},
author={Yuliya Burankova and Julian Klemm and Jens J. G. Lohmann and Ahmad Taheri and Niklas Probul and Jan Baumbach and Olga Zolotareva},
year={2024},
eprint={2412.05894},
archivePrefix={arXiv},
primaryClass={q-bio.QM},
url={https://arxiv.org/abs/2412.05894},
}
For questions, issues, or support, please open an issue on the GitHub repository.