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
Plug and Play on Internet of Things with LoRa wireless modulation.

IoT-PnP Plug and Play on Internet of Things with LoRa wireless modulation. Device Side In the '505_PnP' folder has a modified ardunino template code s

Lambert Yang 1 May 19, 2022
Python para microcontroladores com MicroPyhton

MicroPython - PyBR2021 Python para microcontroladores com MicroPyhton Repositório de exemplos para tutorial "Python para microcontroladores com MicroP

gabriel aragão 1 Oct 18, 2021
Extremely simple PyBadge examples to demonstrate different aspects of CircuitPython using PyBadge hardware.

BeginnerPyBadge I purchased a PyBadge recently. I'm new to hardware. I was surprised how hard it was to find easy examples demonstrating how different

Rubini LaForest 2 Oct 21, 2021
Get the AltAz coordinates for a given object using astropy and output on a OLED screen.

Star Coordinates Get the AltAz coordinates for a given object using astropy and output on a OLED screen. As a very very newcomer to the astronomy scen

Craig Cmehil 1 Jan 31, 2022
For use with an 8-bit parallel TFT touchscreen using micropython

ILI9341-parallel-TFT-driver-for-micropython For use with an 8-bit parallel TFT touchscreen using micropython. Many thanks to prenticedavid and his MCU

3 Aug 02, 2022
Micro Displays for Raspberry Pi

micro-displays Micro Displays for Raspberry Pi Why? I'm super bored in lockdown. Add a Raspberry Pi 400 and a few tiny displays... The top half of the

ig 291 Jul 06, 2022
Rasberry Pie GPIO memory game. Press the corresponding key to the lit LED.

RPie-keyboard-game Rasberry Pie GPIO memory game. Press the corresponding key to the lit LED. Randem LED (general output) is lit up on rasberrypi rand

Shawn Dowling 1 Oct 24, 2021
Final-project-robokeeper created by GitHub Classroom

RoboKeeper! Jonny Bosnich, Joshua Cho, Lio Liang, Marco Morales, Cody Nichoson Demonstration Videos Grabbing the paddle: https://youtu.be/N0HPvFNHrTw

Cody Nichoson 1 Dec 12, 2021
Water quality integration for Home Assistant with data provided by Budapest FVM

Water Quality FVM (Budapest, HU) custom integration for Home Assistant This custom component integrates water quality information provided by Budapest

Atticus Maximus 3 Dec 23, 2021
PlatformIO development platform for GSM modules

PlatformIO development platform for GSM modules Supported Modules Quectel M66 OpenCPU Arduino - TODO other - in progress... Supported Boards Comet M66

Georgi Angelov 5 Aug 06, 2022
A low power 1U Raspberry Pi cluster server for inexpensive colocation.

Raspberry Pi 1U Server There are server colocation providers that allow hosting a 1U server for as low as $30/month, but there's a catch: There are re

Paul Brown 627 Dec 31, 2022
Mycodo is open source software for the Raspberry Pi that couples inputs and outputs in interesting ways to sense and manipulate the environment.

Mycodo Environmental Regulation System Latest version: 8.12.9 Mycodo is open source software for the Raspberry Pi that couples inputs and outputs in i

Kyle Gabriel 2.3k Dec 29, 2022
The goal of this project is for anyone with an old printer to be able to double-sided printing.

Welcome to PDF-double-side! Hi! I'm 15. I have a old printer so I can't print double-sided outs. The goal of this project is for anyone with an old pr

DejaVu 4 Dec 28, 2021
An alternative to Demise-Assistant-Batch made entirely in Python for more capabilities.

Demise-Assistant-Python An alternative to Demise-Assistant-Batch made entirely in Python for more capabilities. IMPORTANT NOTE Demise-Assistant-Batch

SkelOrganisation 1 Nov 24, 2021
CO2Ampel - This RaspberryPi project uses weather data to estimate the share of renewable energy in the power grid

CO2Ampel This RaspberryPi project uses weather data to estimate the share of ren

Felix 4 Jan 19, 2022
A python library written for the raspberry pi.

A python package for using certain components on the raspberry pi.

Builder212 1 Nov 09, 2021
Scripts for measuring and displaying thermal behavior on Voron 3D printers

Thermal Profiling Measuring gantry deflection and frame expansion This script runs a series of defined homing and probing routines designed to charact

Jon Sanders 30 Nov 27, 2022
Turn your Raspberry Pi Pico into a USB Rubber Ducky

pico-ducky Turn your Raspberry Pi Pico into a USB Rubber Ducky Install Requirements CircuitPython for the Raspberry Pi Pico adafruit-circuitpython-bun

Konstantinos 5 Nov 08, 2022
Get input from OLED Joystick, Runs command, Displays output on OLED Screen (Great for P4wnP1)

p4wnsolo-joyterm Gets text input from OLED Joystick Runs the command you typed Displays output on OLED Screen (Great for P4wnP1 - even better on Raspb

PawnSolo 7 Dec 19, 2022
Python script for printing to the Hanshow price-tag

This repository contains Python code for talking to the ATC_TLSR_Paper open-source firmware for the Hanshow e-paper pricetag. Installation # Clone the

12 Oct 06, 2022