Skip to main content

Harnessing the Power of Single Cell Large Language Models with Parameter Efficient Fine-Tuning.

Project description

scPEFT

This is the official repository for Harnessing the Power of Single Cell Large Language Models with Parameter Efficient Fine-Tuning

Preprint   License

Installation

scPEFT works with Python >= 3.7.13. Please make sure you have the correct version of Python installed pre-installation.

scPEFT is available on PyPI. To install scPEFT, run the following command:

pip install scpeft

For developing, run the following command:

git clone https://github.com/SELECT-FROM/scPEFT
cd scPEFT

Note: requirements. ymal are all the dependency versions we recommend using. To ensure smooth code operation, please try to keep them consistent with these package versions as much as possible

Get Started

  1. Download the upstream model scGPT model checkpoint and place it at e.g., work_dir/scPEFT/save. We recommend using the whole-human model for most applications by default, which pretrained on 33 million normal human cells..

  2. The tutorials of scPEFT for downstream tasks in tutorial_peft. Here are the links to the downstream tasks and tutorials mentioned in our article

    Downstream task Link
    cell type identification Tutorial_Identification.ipynb
    batch correction Tutorial_BatchCorrection.ipynb
    perturbation Tutorial_Perturbation.ipynb
    cell population discovery Tutorial_CellPopulationDiscovery.ipynb
    marker gene detection Tutorial_MarkerGeneDetection.ipynb

To-do-list

  • Publish to pypi
  • Adapting scPEFT for native-attention
  • Adapting scPEFT for flash-attention
  • Only retain PEFT-related parameters when saving peft-model weights.

Contributing

We greatly welcome contributions to scPEFT. Please submit a pull request if you have any ideas or bug fixes. We also welcome any issues you encounter while using scPEFT.

Built With

We sincerely thank the authors of following open-source projects:

Citing scPEFT

@article {He2024.01.27.577455,
	author = {Fei He and Ruixin Fei and Mingyue Gao and Li Su and Xinyu Zhang and Dong Xu},
	title = {Parameter-Efficient Fine-Tuning Enhances Adaptation of Single Cell Large Language Model for Cell Type Identification},
	year = {2024},
	doi = {10.1101/2024.01.27.577455},
	publisher = {Cold Spring Harbor Laboratory},
	URL = {https://www.biorxiv.org/content/early/2024/01/30/2024.01.27.577455},
	journal = {bioRxiv}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scpeft-0.1.2.tar.gz (816.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

scpeft-0.1.2-py3-none-any.whl (837.8 kB view details)

Uploaded Python 3

File details

Details for the file scpeft-0.1.2.tar.gz.

File metadata

  • Download URL: scpeft-0.1.2.tar.gz
  • Upload date:
  • Size: 816.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.14

File hashes

Hashes for scpeft-0.1.2.tar.gz
Algorithm Hash digest
SHA256 c40594dcee1d2874f6eaf40f83e17b6999bc452d4a1c16ec0985a51f467cc698
MD5 80b6a613413e7c2374841aac11474253
BLAKE2b-256 bcc9991099fbe299ee51f0316e6e4ac00a916b0e386a89a248d1f53586d2bb91

See more details on using hashes here.

File details

Details for the file scpeft-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: scpeft-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 837.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.14

File hashes

Hashes for scpeft-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3d5aecc8c8f32537544e0016723772c96a6e08e1032f411d90f7da564679f985
MD5 d6ed9542bb2c3ac2134e12129d0acd13
BLAKE2b-256 3d7e46856016b2f7ead65950c78f8e2ae97d32af734d4887c6e58e756dc14d46

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page