Skip to content

Commit

Permalink
[doc]build a more accessible mkdocs wiki website
Browse files Browse the repository at this point in the history
  • Loading branch information
ZhenHuangLab committed Mar 1, 2024
1 parent 64aed5e commit 744d9af
Show file tree
Hide file tree
Showing 99 changed files with 9,161 additions and 6 deletions.
28 changes: 28 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: ci
on:
push:
branches:
- main
permissions:
contents: write
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Configure Git Credentials
run: |
git config user.name github-actions[bot]
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
- uses: actions/setup-python@v5
with:
python-version: 3.x
- run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
- uses: actions/cache@v4
with:
key: mkdocs-material-${{ env.cache_id }}
path: .cache
restore-keys: |
mkdocs-material-
- run: pip install mkdocs-material
- run: mkdocs gh-deploy --force
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,12 @@ This software utilizes 2D averages and their corresponding alignment information

## Requirements

* This software requires a GPU and CUDA acceleration, necessitating the installation of CUDA drivers and libraries, as well as the cupy library.
* In some cases, [pyem](https://github.com/asarnow/pyem) is also needed to convert cryoSPARC’s `.cs` files to Relion’s `.star` format for processing.
* This software requires a GPU and CUDA acceleration. So, the installation of CUDA drivers and libraries is necessary.
* [pyem](https://github.com/asarnow/pyem) is also needed to convert cryoSPARC’s `.cs` files to Relion’s `.star` format for processing.

## Installation

For specific installation methods, please refer to the installation document: [[Installation Document]](./doc/en/Installation_en.md) [[安装文档]](./doc/zh-CN/Installation_zh-CN.md)
For specific installation methods, please refer to the wiki installation section.

## Usage

Expand All @@ -34,15 +34,15 @@ MemXTerminator gui &

```

For detailed usage tutorials, please refer to the documentation: [[Usage Index]](./doc/index.md)
For detailed usage tutorials, please refer to the wiki usage section.

## License

This software is licensed under GPL v3.0.

## Acknowledgement

Thanks to Jack Zhang@Yale MBB for his guidance.
Thanks to Jack(Kai) Zhang@Yale MBB for his guidance.

## Contributing

Expand All @@ -52,4 +52,4 @@ I am still working on improving this software. More exciting features are on the

## Contact

If you have any questions, please contact me: [email protected]
If you have any questions, please contact me: [[email protected]](mailto:[email protected])
119 changes: 119 additions & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
site_name: MemXTerminator Wiki
repo_url: https://github.com/ZhenHuangLab/MemXTerminator
repo_name: MemXTerminator
site_description: A simple and beautiful wiki for MemXTerminator
site_author: Zhen Huang

theme:
name: material
custom_dir: ./wiki/overrides
language: en
favicon: assets/icons/favicon.svg
icon:
logo: simple/gitbook
font:
text: "Roboto Slab"
code: "Roboto Mono"
palette:
- media: "(prefers-color-scheme)"
toggle:
icon: material/brightness-auto
name: Switch to dark mode

# Palette toggle for light mode
- media: "(prefers-color-scheme: light)"
scheme: default
toggle:
icon: material/brightness-7
name: Switch to system preference

# Palette toggle for dark mode
- media: "(prefers-color-scheme: dark)"
scheme: slate
toggle:
icon: material/brightness-4
name: Switch to light mode
features:
- navigation.instant
- navigation.instant.progress
- navigation.path
- navigation.indexes
- navigation.footer
- announce.dismiss
- toc.follow
- content.code.copy
- navigation.top
- search.suggest
- search.highlight
- search.share

docs_dir: ./wiki/docs
site_dir: ./wiki/site

plugins:
- search

markdown_extensions:
# Python Markdown
- abbr
- admonition
- attr_list
- pymdownx.emoji:
emoji_index: !!python/name:material.extensions.emoji.twemoji
emoji_generator: !!python/name:material.extensions.emoji.to_svg
- def_list
- footnotes
- md_in_html
- toc:
permalink: true

# Python Markdown Extensions
- pymdownx.arithmatex:
generic: true
- pymdownx.betterem:
smart_enable: all
- pymdownx.caret
- pymdownx.critic
- pymdownx.details
- pymdownx.highlight
- pymdownx.inlinehilite
- pymdownx.keys
- pymdownx.mark
- pymdownx.smartsymbols
- pymdownx.superfences
- pymdownx.tabbed:
alternate_style: true
- pymdownx.tasklist:
custom_checkbox: true
- pymdownx.tilde

extra_javascript:
- javascripts/mathjax.js
- javascripts/katex.js
- javascripts/extra.js
- https://polyfill.io/v3/polyfill.min.js?features=es6
- https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js
- https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.7/katex.min.js
- https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.7/contrib/auto-render.min.js

extra_css:
- https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.7/katex.min.css
- stylesheets/extra.css
nav:
- Home: index.md
- Installation: ./tutorials/installation.md
- Usage: ./tutorials/usage.md
- Tutorials:
- "Basic workflow": ./tutorials/basic-workflow.md
- "Preprocessing": ./tutorials/preprocessing.md
- Radonfit:
- ./tutorials/radonfit-tutorials/index.md
- Particle Membrane Analysis: ./tutorials/radonfit-tutorials/radonfit-mem-analysis.md
- Particle Membrane Subtraction: ./tutorials/radonfit-tutorials/radonfit-particle-mem-subtraction.md
- Micrograph Membrane Subtraction: ./tutorials/radonfit-tutorials/radonfit-mms.md
- Bezierfit:
- ./tutorials/bezierfit-tutorials/index.md
- Particle Membrane Analysis: ./tutorials/bezierfit-tutorials/bezierfit-mem-analysis.md
- Particle Membrane Subtraction: ./tutorials/bezierfit-tutorials/bezierfit-particle-mem-subtraction.md
- Micrograph Membrane Subtraction: ./tutorials/bezierfit-tutorials/bezierfit-mms.md
- Frequently Asked Questions: ./tutorials/faq.md
1 change: 1 addition & 0 deletions wiki/docs/assets/icons/favicon.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added wiki/docs/assets/images/0-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added wiki/docs/assets/images/1_1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added wiki/docs/assets/images/1_2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added wiki/docs/assets/images/1_3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added wiki/docs/assets/images/1_4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added wiki/docs/assets/images/1_5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added wiki/docs/assets/images/1_6.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added wiki/docs/assets/images/2_1-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added wiki/docs/assets/images/2_1-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added wiki/docs/assets/images/2_1-3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added wiki/docs/assets/images/2_1-4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added wiki/docs/assets/images/2_1-5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added wiki/docs/assets/images/2_1-6.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added wiki/docs/assets/images/2_1-7.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added wiki/docs/assets/images/2_1-8.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added wiki/docs/assets/images/2_1-9.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added wiki/docs/assets/images/2_2-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added wiki/docs/assets/images/3_1-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added wiki/docs/assets/images/3_1-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added wiki/docs/assets/images/3_2-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added wiki/docs/assets/images/3_2-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added wiki/docs/assets/images/4_1-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added wiki/docs/assets/images/4_1-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added wiki/docs/assets/images/4_2-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added wiki/docs/assets/images/4_2-2.png
Binary file added wiki/docs/assets/images/kappa-templates-image.gif
59 changes: 59 additions & 0 deletions wiki/docs/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
---
comments: true
---
# Welcome to MemXTerminator Wiki!

A software for membrane analysis and subtraction in cryo-EM.

![MemXTerminator](./assets/images/0-1.png)
<span class="caption">MemXTerminator</span>

## Overview

This software utilizes 2D averages and their corresponding alignment information, employing methods such as Radon transformation, cross-correlation, L1 norm, Bezier curves, Monte Carlo simulations, and genetic algorithms. It analyzes and subtracts membranes of any shape in cryo-EM, ultimately producing particle stacks and micrographs with membrane signals removed, suitable for subsequent membrane protein analysis.

## Features

* Capable of analyzing biological membranes of any shape, including simple lines and arcs, as well as more complex shapes like S or W curves;
* Accurately locates and subtracts biological membrane signals;
* Utilizes GPU and CUDA acceleration to enhance computational speed;
* Features a user-friendly GUI for ease of use.

## Requirements

* This software requires a GPU and CUDA acceleration. So, the installation of CUDA drivers and libraries is necessary.
* [pyem](https://github.com/asarnow/pyem) is also needed to convert cryoSPARC’s `.cs` files to Relion’s `.star` format for processing.

## Installation

For specific installation methods, please refer to the installation section.

## Usage

This software has a user-friendly GUI. To use this software, simply type:

```bash

MemXTerminator gui &

```

For detailed usage tutorials, please refer to the usage section.

## License

This software is licensed under GPL v3.0.

## Acknowledgement

Thanks to Jack(Kai) Zhang@Yale MBB for his guidance.

## Contributing

**Always welcome!** This software may still has room for improvement such as updating the usage documentation, improving the GUI design, and enhancing the software's usability.

I am still working on improving this software. More exciting features are on the way!

## Contact

If you have any questions, please contact me: [[email protected]](mailto:[email protected])
37 changes: 37 additions & 0 deletions wiki/docs/javascripts/extra.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
document.addEventListener('DOMContentLoaded', (event) => {

const overlay = document.createElement('div');
overlay.style.cssText = 'position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.8); display: none; align-items: center; justify-content: center; z-index: 1000; transition: opacity 0.5s;';
overlay.style.cursor = 'zoom-out';
document.body.appendChild(overlay);

const overlayImg = document.createElement('img');
overlayImg.style.cssText = 'max-width: 90%; max-height: 90%; transition: transform 0.3s;';
overlay.appendChild(overlayImg);

document.body.addEventListener('click', function (e) {
if (e.target.tagName === 'IMG') {
e.target.style.cursor = 'zoom-in';
overlayImg.src = e.target.src;
overlayImg.style.transform = 'scale(0)';
overlay.style.display = 'flex';
overlayImg.style.cursor = 'zoom-out';
setTimeout(() => {
overlay.style.opacity = '1';
overlayImg.style.transform = 'scale(1)';
}, 0);
}
});

const closeOverlay = () => {
overlay.style.opacity = '0';
setTimeout(() => {
overlayImg.style.transform = 'scale(0)';
}, 50);
setTimeout(() => { overlay.style.display = 'none'; }, 500);
};

overlay.addEventListener('click', function () {
closeOverlay();
});
});
10 changes: 10 additions & 0 deletions wiki/docs/javascripts/katex.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
document$.subscribe(({ body }) => {
renderMathInElement(body, {
delimiters: [
{ left: "$$", right: "$$", display: true },
{ left: "$", right: "$", display: false },
{ left: "\\(", right: "\\)", display: false },
{ left: "\\[", right: "\\]", display: true }
],
})
})
16 changes: 16 additions & 0 deletions wiki/docs/javascripts/mathjax.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
window.MathJax = {
tex: {
inlineMath: [["\\(", "\\)"]],
displayMath: [["\\[", "\\]"]],
processEscapes: true,
processEnvironments: true
},
options: {
ignoreHtmlClass: ".*|",
processHtmlClass: "arithmatex"
}
};

document$.subscribe(() => {
MathJax.typesetPromise()
})
64 changes: 64 additions & 0 deletions wiki/docs/stylesheets/extra.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
/* 使用黑幕,只要<span class="heimu" title="你知道的太多了">输入你想加的文字</span>即可 */

span.heimu a.external,
span.heimu a.external:visited,
span.heimu a.extiw,
span.heimu a.extiw:visited {
color: #252525;
}
.heimu,
.heimu a,
a .heimu,
.heimu a.new {
background-color: #252525;
color: #252525;
text-shadow: none;
}
body:not(.heimu_toggle_on) .heimu:hover,
body:not(.heimu_toggle_on) .heimu:active,
body:not(.heimu_toggle_on) .heimu.off {
transition: color .13s linear;
color: white;
}
body:not(.heimu_toggle_on) .heimu:hover a,
body:not(.heimu_toggle_on) a:hover .heimu,
body:not(.heimu_toggle_on) .heimu.off a,
body:not(.heimu_toggle_on) a:hover .heimu.off {
transition: color .13s linear;
color: lightblue;
}
body:not(.heimu_toggle_on) .heimu.off .new,
body:not(.heimu_toggle_on) .heimu.off .new:hover,
body:not(.heimu_toggle_on) .new:hover .heimu.off,
body:not(.heimu_toggle_on) .heimu.off .new,
body:not(.heimu_toggle_on) .heimu.off .new:hover,
body:not(.heimu_toggle_on) .new:hover .heimu.off {
transition: color .13s linear;
color: #BA0000;
}

/* 使用黑幕 */

.overlay-img {
transition: transform 0.25s;
}

.overlay {
transition: opacity 0.25s;
}

.small {
display: block;
margin: 0 auto;
width: 60%;
}

/* 添加图片说明,只要<span class="caption">输入你想加的文字</span>即可 */

.caption {
font-style: italic;
font-size: 0.8em;
color: #666;
display: block;
text-align: center;
}
Loading

0 comments on commit 744d9af

Please sign in to comment.