Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 1 DOI reference(s) in README -
✓Academic publication links
Links to: biorxiv.org -
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.8%) to scientific vocabulary
Keywords from Contributors
Repository
Code for the SAM-I riboswitch paper
Basic Info
- Host: GitHub
- Owner: cossio
- License: mit
- Language: Jupyter Notebook
- Default Branch: main
- Size: 22.7 MB
Statistics
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 1
- Releases: 0
Metadata Files
README.md
This repository hosts the source code for the paper:
Designing Molecular RNA Switches with Restricted Boltzmann Machines
by Jorge Fernandez-de-Cossio-Diaz, Pierre Hardouin, Francois-Xavier Lyonnet du Moutier, Andrea Di Gioacchino, Bertrand Marchand, Yann Ponty, Bruno Sargueil, Rémi Monasson, Simona Cocco
bioRxiv preprint: https://www.biorxiv.org/content/10.1101/2023.05.10.540155v2.abstract
If you use this code, please cite this paper (or you can use the included CITATION.bib).
Setup
The code is organized as a Julia package. If you haven't setup Julia on your computer, you can install it following the simple instructions from the official website. We have tested our package on the latest Julia version at the time of writing (v1.10.4). It should work on future non-breaking versions (v1.x.y) of Julia as well.
After having installed Julia, clone this repository locally using git, on a local directory, by running the following command from the terminal:
bash
git clone https://github.com/cossio/SamApp2024.jl.git
Then, navigate to this directory in your terminal, start Julia (by running julia in the terminal), and then activate the included Project.toml by running the command:
julia
julia> import Pkg
julia> Pkg.activate(pwd()) # activate the project in the current directory
julia> Pkg.instantiate() # install all the dependencies
The last command will install all the dependencies of this package.
Next, we will configure storage for downloading data from Rfam. Create a file named LocalPreferences.toml in the root directory of this package, and add the following lines:
toml
[Rfam]
RFAM_DIR = "[path to local Rfam directory]"
RFAM_VERSION = "14.7"
where [path to local Rfam directory] should be replaced with the path to some local directory in your system, where the package will place data downloaded from Rfam.
Lastly, import the package within a Julia session by running:
julia
julia> import SamApp2024
You can use this command in the Julia REPL. The first time you import it, it might some time for precompilation (but future imports should be faster).
At this point you can call any of the functions in the package.
Running the Pluto notebooks
The included Pluto notebooks contain the code for the downstream analysis done in the paper (which depend on the SamApp2024 package). For more information about Pluto notebooks, see: https://plutojl.org.
To setup Pluto, start a fresh Julia session, and then run the following commands:
julia
julia> import Pkg
julia> Pkg.add("Pluto")
julia> import Pluto; Pluto.run()
This starts a Pluto server. Now open your browser, and navigate to localhost:1234, which is the default address where Pluto is listening. You can then open the notebooks by navigating to the pluto directory in the repository, and opening the .jl files.
Related packages
The code implementing Restricted Boltzmann machines (training, sampling, and other functions) is provided in a separate package: https://github.com/cossio/RestrictedBoltzmannMachines.jl. Note that this package will be installed automatically as a dependency of this repository by the Julia package manager.
The code for simulations of other riboswitch families (reported in Supplementary Materials of the paper cited above) can be found at the following repository: https://github.com/cossio/RiboswitchesSimulations20240620.jl.
For an alternative implementation of Restricted Boltzmann machines in Python, see https://github.com/jertubiana/PGM. In particular, we have prepared a repository at https://github.com/cossio/SamApp2024Py, showing how to use this Python package to train an RBM on RNA sequences from the RF00162 family.
In addition, the following repository: https://github.com/2024-RNA-Chapter/2024-01-09-SAM-RBM-example, contains a self-contained example of training an RBM on an RNA family from Rfam. Two notebooks are included: one for training on CPU and another on GPU.
A Google colab notebook is also available showing how to train an RBM on the RF00162 family with a GPU.
Issues
If you encounter any problems, or need help setting up this package, please open an issue in this repository.
Owner
- Name: Jorge Fernandez-de-Cossio-Diaz
- Login: cossio
- Kind: user
- Repositories: 24
- Profile: https://github.com/cossio
Citation (CITATION.bib)
@article {Fernandez-de-Cossio-Diaz2023.05.10.540155,
author = {Fernandez-de-Cossio-Diaz, Jorge and Hardouin, Pierre and Lyonnet du Moutier, Francois-Xavier and Di Gioacchino, Andrea and Marchand, Bertrand and Ponty, Yann and Sargueil, Bruno and Monasson, R{\'e}mi and Cocco, Simona},
title = {Designing Molecular RNA Switches with Restricted Boltzmann Machines},
elocation-id = {2023.05.10.540155},
year = {2024},
doi = {10.1101/2023.05.10.540155},
publisher = {Cold Spring Harbor Laboratory},
abstract = {Riboswitches are structured allosteric RNA molecules that change conformation in response to a metabolite binding event, eventually triggering a regulatory response. Computational modelling of the structure of these molecules is complicated by a complex network of tertiary contacts, stabilized by the presence of their cognate metabolite. In this work, we focus on the aptamer domain of SAM-I riboswitches and show that Restricted Boltzmann machines (RBM), an unsupervised machine learning architecture, can capture intricate sequence dependencies induced by secondary and tertiary structure, as well as a switching mechanism between open and closed conformations. The RBM model is then used for the design of artificial allosteric SAM-I aptamers. To experimentally validate the functionality of the designed sequences, we resort to chemical probing (SHAPE-MaP), and develop a tailored analysis pipeline adequate for high-throughput tests of diverse homologous sequences. We probed a total of 476 RBM designed sequences in two experiments, showing between 20\% and 40\% divergence from any natural sequence, obtaining ≈ 30\% success rate of correctly structured aptamers that undergo a structural switch in response to SAM.Competing Interest StatementThe authors have declared no competing interest.},
URL = {https://www.biorxiv.org/content/early/2024/04/20/2023.05.10.540155},
eprint = {https://www.biorxiv.org/content/early/2024/04/20/2023.05.10.540155.full.pdf},
journal = {bioRxiv}
}
GitHub Events
Total
- Watch event: 1
- Delete event: 2
- Issue comment event: 2
- Push event: 3
- Pull request event: 4
- Create event: 1
Last Year
- Watch event: 1
- Delete event: 2
- Issue comment event: 2
- Push event: 3
- Pull request event: 4
- Create event: 1
Committers
Last synced: 11 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Jorge FdCD | j****d@i****m | 86 |
| cossio | j****z@g****m | 62 |
| dependabot[bot] | 4****] | 3 |
Issues and Pull Requests
Last synced: 11 months ago
All Time
- Total issues: 0
- Total pull requests: 13
- Average time to close issues: N/A
- Average time to close pull requests: 9 days
- Total issue authors: 0
- Total pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 0.69
- Merged pull requests: 3
- Bot issues: 0
- Bot pull requests: 13
Past Year
- Issues: 0
- Pull requests: 13
- Average time to close issues: N/A
- Average time to close pull requests: 9 days
- Issue authors: 0
- Pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 0.69
- Merged pull requests: 3
- Bot issues: 0
- Bot pull requests: 13
Top Authors
Issue Authors
Pull Request Authors
- dependabot[bot] (23)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- actions/checkout 692973e3d937129bcbf40652eb9f2f61becf3332 composite
- julia-actions/cache 580d2b69d895343992af2cbad49c32a0149c2cde composite
- julia-actions/julia-buildpkg 90dd6f23eb49626e4e6612cb9d64d456f86e6a1c composite
- julia-actions/julia-runtest d0c4f093badade621cd041bba567d1e832480ac2 composite
- julia-actions/setup-julia 780022b48dfc0c2c6b94cfee6a9284850107d037 composite