Renevent는 De Novo 설계, 스캐 폴드 호핑, R 그룹 교체, 링커 설계, 분자 최적화 및 기타 소분자 설계 작업을위한 분자 설계 도구입니다. Renevent는 RL (Renforcement Learning) 알고리즘을 사용하여 다중 성분 점수로 정의 된 사용자 정의 속성 프로파일을 준수하는 최적화 된 분자를 생성합니다. 전송 학습 (TL)은 입력 분자 세트에 더 가깝게 분자를 생성하는 모델을 생성하거나 사전 훈련하는 데 사용될 수 있습니다.
소프트웨어를 설명하는 논문은 Journal of Cheminformatics : Renevent 4 : Modern AI -Driven Generative 분자 설계에서 공개 액세스로 출판되었습니다. 이전 논문에 대한 참조는 저자.md를 참조하십시오.
재창조는 Linux에서 개발되고 있으며 GPU 및 CPU를 모두 지원합니다. Linux 버전은 완전히 검증되었습니다. Windows와 MacOSX를 재창조하면 GPU와 CPU가 모두 지원되지만 이러한 플랫폼에서만 부분적으로 테스트되므로 지원이 제한됩니다.
코드는 Python 3 (> = 3.10)으로 작성됩니다. 종속성 목록은 저장소에서 찾을 수 있습니다 (아래 설치 참조).
GPU는 특히 전송 학습 및 모델 교육에 대한 성능 이유에 대해 엄격하게 필요하지 않지만 강력하게 권장됩니다. 강화 학습 (RL)은 대부분의 스코어 구성 요소가 CPU에서 실행되는 점수 계산이 필요합니다. 따라서 GPU는 RL에 덜 중요합니다 (CPU에 소요되는 시간에 따라).
컴퓨터에 GPU가 설치되지 않으면 코드가 CPU에서 자동으로 실행됩니다. 재창조는 NVIDIA GPU 및 일부 AMD GPU를 지원합니다. 대부분의 디자인 작업의 경우 CPU 메인 메모리 및 GPU 메모리 모두에 대해 약 8 gib의 메모리가 충분합니다.
conda create --name reinvent4 python=3.10
conda activate reinvent4pip install -r requirements-linux-64.lockpip install torch==2.2.1 torchvision==0.17.1 torchaudio==2.2.1 --index-url https://download.pytorch.org/whl/rocm5.7requirements-macOS.lock 사용합니다.pip install --no-deps .reinvent 추가했습니다. reinvent --help재창조는 명령 줄 도구이며 주로 다음과 같이 작동합니다.
reinvent -l sampling.log sampling.toml 로깅 정보를 파일 sampling.log 에 씁니다. 화면에 이것을 쓰려면 -l sampling.log 을 남기십시오. sampling.toml 구성 파일입니다. 주요 사용자 형식은 더 친숙한 경향이 있기 때문에 TOML입니다. JSON도 ADD -f json 사용할 수 있지만 형식은 사소한 변경에 매우 민감하기 때문에 전문 편집자를 권장합니다.
모든 실행 모드의 샘플 구성 파일은 저장소 config/toml 에 있으며이 파일의 파일 경로는 로컬 설치로 조정해야합니다. 특히, 준비된 이전 모델은 priors 에 위치하고 있으며 해결하려는 연구 문제에 따라 모델과 적절한 실행 모드를 선택합니다. Toml 파일을 구성하는 방법에 대한 지침이 포함 된 여러 *.md 파일의 config/toml 에 추가 정보가 있습니다. 내부 사전은 DOT 표기법으로 참조 할 수 있습니다 ( reinvent/prior_registry.py 참조).
Jupyter 노트 기본 지침은 config/toml 의 구성 예제의 주석에서 찾을 수 있습니다.
노트북은 notebooks/ 디렉토리에 제공됩니다. JupyText "Light Script"형식의 노트북을 제공합니다. 가벼운 스크립트를 사용하려면 JupyText를 설치해야합니다. 몇 가지 다른 패키지도 유용합니다.
pip install jupytext mols2grid seaborn notebooks/ 노트북으로 변환 할 수 있습니다.
jupytext -o Reinvent_demo.ipynb Reinvent_demo.pyPip-Tools로 잠금 파일을 업데이트하십시오 (파일을 수동으로 편집하지 마십시오).
pip-compile --extra-index-url=https://download.pytorch.org/whl/cu121 --extra-index-url=https://pypi.anaconda.org/OpenEye/simple --resolver=backtracking pyproject.toml 단일 패키지를 업데이트하려면 pip-compile --upgrade-package somepackage 사용하십시오 (Pip-Tools의 설명서 참조).
스코어링 서브 시스템은 간단한 플러그인 메커니즘 (Python Native Namespace 패키지)을 사용합니다. 자신의 플러그인을 작성하려면 아래 지침을 따르십시오. 재창조 코드를 만질 필요가 없습니다. 공개 저장소에는 유용한 예제가 포함 된 Contrib 디렉토리가 포함되어 있습니다.
/top/dir/somewhere/reinvent_plugins/components 는 /top/dir/somewhere 편리한 위치입니다.reinvent_plugins 또는 components 에 __init__.py 배치 하지 마십시오 . 올바르게 가져 오는 한 components 내에서 일반 패키지를 만드는 것이 좋습니다.comp_* 로 시작하는 파일을 reinvent_plugins/components 에 배치합니다. 이름이 다른 파일은 무시됩니다. IE는 가져 오지 않았습니다. 디렉토리는 재귀 적으로 검색되므로 필요에 따라 코드를 구성하지만 디렉토리/패키지 이름은 고유해야합니다.PYTHONPATH 환경 변수를 설정하거나 ADD /top/dir/somewhere 또는 다른 메커니즘을 사용하여 sys.path 확장하십시오. 이는 주로 설치가 작동하는지 확인하려는 개발자 및 관리자/사용자를위한 것입니다. 여기의 정보는 재창조의 실제 사용과 관련이 없습니다. reinvent 명령 사용 방법에 대한 지침은 기본 사용법을 참조하십시오.
Renevent Project는 pytest 프레임 워크를 사용하여 테스트합니다. 실행하기 전에 먼저 테스트에 대한 구성 파일을 작성해야합니다.
프로젝트 디렉토리에서 configs/ directory에서 config.json 파일을 만듭니다. config example.config.json 기본으로 사용할 수 있습니다. MAIN_TEST_PATH 존재하지 않는 디렉토리로 설정했는지 확인하십시오. 테스트 중에 임시 파일이 작성되는 곳입니다. 기존 디렉토리로 설정되면 테스트가 완료되면 해당 디렉토리가 제거됩니다.
일부 테스트에는 독점적 인 Openeye 라이센스가 필요합니다. 테스트에서 라이센스를 읽을 수 있도록 몇 가지 사항을 설정해야합니다. 간단한 방법은 OE_LICENSE 환경 변수를 라이센스가 포함 된 파일의 경로로 설정하는 것입니다.
구성이 있고 라이센스를 읽을 수 있으면 테스트를 실행할 수 있습니다.
$ pytest tests --json /path/to/config.json --device cuda