Code reimplementation of some papers published in SAIL-Lab

Related tags

HardwareSAIL
Overview

SAIL

SAIL-Lab统一代码库

Motivation

创建这个项目的动机最早来源于实验室组内成员相互Debug代码的时候遇到的麻烦。由于整个小组内所做的课题非常类似,而借鉴的代码都是来自不同的人写的,尽管大部分的时候都使用Pytorch,但是每个人写的特征计算流程、数据预处理流程、模型训练流程、模型推理流程、性能评估流程千差万别,这非常不利于组内的科研交流,因此萌生了写一套完整的、统一的代码库,同时也便于实验室后续的同学继续研究相关课题。

除此之外,还有下列的一些原因帮助推动该代码库持续不断的完善和更新。

  1. 实验室内部对于特征计算以及模型性能评估的理解有所差异甚至出现错误,并且延续了多个年级的研究生。
  2. 当希望尝试加入新的计算特征时发现要对原始代码进行大规模的改动。
  3. 组内所研究的药物分子、晶体分子以及蛋白质分子属于规模复杂程度不同的图,但是很多对于药物分子有效的工程技巧未必适用于另外两者。
  4. 无法避免的batch size=1的问题。

该项目作为我的硕士毕业论文的展望与延伸部分,会持续进行更新,并且在实验室允许的范围内进行开源。

TODO

下面展示的模型代码复现主要方向为SAIL-Lab药物分子、晶体分子以及蛋白质分子相关研究的模型。

CMPNN

  • 根据Moleculenet中收集的数据集,增加Quantum Mechanics系列和Biophysics系列中提到的数据集结果。
  • 根据OGB中收集的数据集,增加结果。

CoMPT

  • 代码进度0%

CrystalNet

  • 检查重现代码的性能与原始实现性能相差较大的问题。
  • 检查由于GRU带来的晶胞图与超晶胞图性能不一致问题。

DeepANIS

  • 代码进度0%

GraphPPIS

  • 增加性能结果日志。

GraphSite

  • 代码进度60%

GraphSol

  • 增加S.cerevisiae数据集的结果。
  • 增加DeepSol数据集的结果。

SPROF

  • 代码进度95%
  • 加速Paper中超大模型的运行时间,减少消耗的显存。

Thank you

如果你觉得本项目对你的科研进展有所帮助的话,请给本项目一个star,谢谢!

Owner
Jianwen Chen
Chemistry, Math, Computer
Jianwen Chen
Pylorawan is a Micropython wrapper for lorawan devices from RAK Wireless.

pylorawan Pylorawan is a Micropython wrapper for lorawan devices from RAK Wireless. Tested on a Raspberry PI Pico with a RAK4200(H) Evaluation Board (

Peter Houghton 3 Nov 04, 2022
It is a program that displays the current temperature of the GPU and CPU in real time and stores the temperature history.

HWLogger It is a program that displays the current temperature of the GPU and CPU in real time and stores the temperature history. Sample Usage Run HW

Xeros 0 Apr 05, 2022
A Home Assistant integration for Solaredge inverters

A Home Assistant integration for Solaredge inverters. Supports multiple inverters chained through RS485.

Seth 50 Dec 23, 2022
Resmed_myair_sensors - This is a Home Assistant custom component to pull daily CPAP data from ResMed's myAir service using an undocumented API

resmed_myair This component will set up the following platforms. Platform Description sensor Show info from the myAir API. Installation Using the tool

Preston Tamkin 17 Dec 29, 2022
Scapy: the Python-based interactive packet manipulation program & library. Supports Python 2 & Python 3.

Scapy Scapy is a powerful Python-based interactive packet manipulation program and library. It is able to forge or decode packets of a wide number of

SecDev 8.3k Jan 08, 2023
Ansible tools for operating and managing fleets of Blinksticks in harmony using the Blinkstick Python library.

Ansible tools for operating and managing fleets of Blinksticks in harmony using the Blinkstick Python library.

Greg Robinson 3 Aug 10, 2022
circuitpython version of PyBasic for microcontrollers

cPyBasic Circuitpython version of PyBasic for microcontrollers Current version work only for Adafruit titano & CardKB for now. The origninal PyBasic w

BeBoXoS 3 Nov 14, 2021
iot-dashboard: Fully integrated architecture platform with a dashboard for Logistics Monitoring, Internet of Things.

Fully integrated architecture platform with a dashboard for Logistics Monitoring, Internet of Things. Written in Python. Flask applicati

2 Jul 29, 2022
DongshanPI Seven for STM32MP157DAC.

STM32MP1 Buildroot External Tree

DongshanPI 14 May 06, 2022
Volkswagen ID component for Home Assistant

Volkswagen ID component for Home Assistant This folder contains both a generic Python 3 library for the Volkswagen ID API and a component for Home Ass

55 Jan 07, 2023
FHEM Connector for FHT Heating devices

home-assistant-fht from: https://github.com/Rsclub22 FHEM Connector for FHT Heating devices (connected via FHEM) Requires FHEM to work You can find FH

5 Dec 01, 2022
2021 Real Robot Challenge Phase2 attemp

Real_Robot_Challenge_Phase2_AE_attemp We(team name:thriftysnipe) are the first place winner of Phase1 in 2021 Real Robot Challenge. Please see this pa

Qiang Wang 2 Nov 15, 2021
Alternative firmware for ESP8266 with easy configuration using webUI, OTA updates, automation using timers or rules, expandability and entirely local control over MQTT, HTTP, Serial or KNX. Full documentation at

Alternative firmware for ESP8266/ESP32 based devices with easy configuration using webUI, OTA updates, automation using timers or rules, expandability

Theo Arends 59 Dec 26, 2022
This allows you to record keyboard and mouse input, and play it back using pynput.

Record and Play with Python! This allows you to record keyboard and mouse input, and play it back (with looping) using pynput. It allows for automatio

George Jensen 45 Jan 02, 2023
Iec62056-21-mqtt - Publish DSMR P1 telegrams acquired over IEC62056-21 to MQTT

IEC 62056-21 Publish DSMR P1 telegrams acquired over IEC62056-21 to MQTT. -21 is

Marijn Suijten 1 Jun 05, 2022
Hardware: CTWingSKIT_BC28 Development Toolkit

IoT Portal Monitor Tools hardware: CTWingSKIT_BC28 Development Toolkit serial port driver: ST-LINK hardware development environment: Keli 5 MDK IoT pl

Fengming Zhang 1 Nov 07, 2021
A DUCO (Duino-Coin) miner for GigaDevice ARM boards.

GD32 Duino-Coin Miner Description Contains the firmware and miner software for mining DUCO (Duino-Coin) on GigaDevice GD32 chips. Supported boards GD3

Maximilian Gerhardt 2 Feb 20, 2022
♟️ QR Code display for P4wnP1 (SSH, VNC, any text / URL)

♟️ Display QR Codes on P4wnP1 (p4wnsolo-qr) 🟢 QR Code display for P4wnP1 w/OLED (SSH, VNC, P4wnP1 WebGUI, any text / URL / exfiltrated data) Note: Th

PawnSolo 4 Dec 19, 2022
Inykcal is a software written in python for selected E-Paper displays.

Inykcal is a software written in python for selected E-Paper displays. It converts these displays into useful information dashboards. It's open-source, free for personal use, fully modular and user-f

Ace 727 Jan 02, 2023
Sticklog2heatmap - Draw a heatmap of RC sticks from OpenTX logs or USB HID device

sticklog2heatmap Draw a heatmap of RC sticks from OpenTX logs or USB HID device

2 Feb 02, 2022