Fanwang Meng commited on
Commit
fff07bd
·
1 Parent(s): 4594584

Update contents of book following pre-commit

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. book/content/_build/.doctrees/glue_cache.json +1 -1
  2. book/content/_build/html/_panels_static/panels-variables.06eb56fa6e07937060861dad626602ad.css +1 -1
  3. book/content/_build/html/_sources/base.rst +2 -2
  4. book/content/_build/html/_sources/dissimilarity.rst +2 -2
  5. book/content/_build/html/_sources/installation.ipynb +12 -12
  6. book/content/_build/html/_sources/intro.md +2 -2
  7. book/content/_build/html/_sources/partition.rst +2 -2
  8. book/content/_build/html/_sources/starting.ipynb +5 -5
  9. book/content/_build/html/_sources/utils.rst +2 -2
  10. book/content/_build/html/_static/basic.css +1 -1
  11. book/content/_build/html/_static/clipboard.min.js +1 -1
  12. book/content/_build/html/_static/copybutton.js +1 -1
  13. book/content/_build/html/_static/css/blank.css +1 -1
  14. book/content/_build/html/_static/css/index.ff1ffe594081f20da1ef19478df9384b.css +0 -0
  15. book/content/_build/html/_static/css/theme.css +1 -1
  16. book/content/_build/html/_static/documentation_options.js +1 -1
  17. book/content/_build/html/_static/js/index.be7d3bbb2ef33a8344ce.js +0 -0
  18. book/content/_build/html/_static/language_data.js +0 -2
  19. book/content/_build/html/_static/panels-variables.06eb56fa6e07937060861dad626602ad.css +1 -1
  20. book/content/_build/html/_static/pygments.css +1 -1
  21. book/content/_build/html/_static/togglebutton.css +1 -1
  22. book/content/_build/html/_static/underscore.js +1 -1
  23. book/content/_build/html/_static/vendor/fontawesome/5.13.0/css/all.min.css +0 -0
  24. book/content/_build/html/_static/vendor/fontawesome/5.13.0/webfonts/fa-brands-400.svg +0 -0
  25. book/content/_build/html/_static/vendor/fontawesome/5.13.0/webfonts/fa-regular-400.svg +0 -0
  26. book/content/_build/html/_static/vendor/fontawesome/5.13.0/webfonts/fa-solid-900.svg +0 -0
  27. book/content/_build/html/_static/webpack-macros.html +1 -1
  28. book/content/_build/html/base.html +49 -49
  29. book/content/_build/html/dissimilarity.html +56 -56
  30. book/content/_build/html/genindex.html +69 -69
  31. book/content/_build/html/installation.html +61 -61
  32. book/content/_build/html/intro.html +42 -42
  33. book/content/_build/html/partition.html +56 -56
  34. book/content/_build/html/py-modindex.html +43 -43
  35. book/content/_build/html/search.html +50 -50
  36. book/content/_build/html/searchindex.js +1 -1
  37. book/content/_build/html/starting.html +56 -56
  38. book/content/_build/html/utils.html +45 -45
  39. book/content/_build/jupyter_execute/installation.ipynb +13 -13
  40. book/content/_build/jupyter_execute/installation.py +52 -53
  41. book/content/_build/jupyter_execute/starting.ipynb +23 -23
  42. book/content/_build/jupyter_execute/starting.py +103 -98
  43. book/content/_config.yml +5 -5
  44. book/content/_toc.yml +1 -1
  45. book/content/base.rst +2 -2
  46. book/content/dissimilarity.rst +2 -2
  47. book/content/installation.ipynb +12 -12
  48. book/content/intro.md +2 -2
  49. book/content/partition.rst +2 -2
  50. book/content/references.bib +2 -2
book/content/_build/.doctrees/glue_cache.json CHANGED
@@ -1 +1 @@
1
- {}
 
1
+ {}
book/content/_build/html/_panels_static/panels-variables.06eb56fa6e07937060861dad626602ad.css CHANGED
@@ -4,4 +4,4 @@
4
  --tabs-color-overline: rgb(207, 236, 238);
5
  --tabs-color-underline: rgb(207, 236, 238);
6
  --tabs-size-label: 1rem;
7
- }
 
4
  --tabs-color-overline: rgb(207, 236, 238);
5
  --tabs-color-underline: rgb(207, 236, 238);
6
  --tabs-size-label: 1rem;
7
+ }
book/content/_build/html/_sources/base.rst CHANGED
@@ -1,4 +1,4 @@
1
  Base class
2
  =============
3
- .. automodule:: DiverseSelector.base
4
- :members:
 
1
  Base class
2
  =============
3
+ .. automodule:: selector.base
4
+ :members:
book/content/_build/html/_sources/dissimilarity.rst CHANGED
@@ -1,4 +1,4 @@
1
  Dissimilarity based methods
2
  =============
3
- .. automodule:: DiverseSelector.dissimilarity
4
- :members:
 
1
  Dissimilarity based methods
2
  =============
3
+ .. automodule:: selector.dissimilarity
4
+ :members:
book/content/_build/html/_sources/installation.ipynb CHANGED
@@ -16,7 +16,7 @@
16
  "We are preparing a 1.0 release. Until then, these instructions for installing a stable release will not work yet. If you enjoy living on the edge, try the development release as explained in the “Latest git revision” section below.\n",
17
  "</div>\n",
18
  "\n",
19
- "The following dependencies are required to run DiverseSelector properly,\n",
20
  "\n",
21
  "* Python >= 3.6: http://www.python.org/ \n",
22
  "* NumPy >= 1.21.5: http://www.numpy.org/\n",
@@ -29,7 +29,7 @@
29
  "\n",
30
  "## Installation with Ana- or Miniconda:\n",
31
  "\n",
32
- "1. To install DiverseSelector using the conda package management system, install [miniconda](https://conda.io/miniconda.html) or [anaconda](https://www.anaconda.com/download) first, and then:\n",
33
  "\n",
34
  "```\n",
35
  "# Activate your main conda environment if it is not loaded in your .bashrc.\n",
@@ -96,20 +96,20 @@
96
  "\n",
97
  "## Latest git revision\n",
98
  "\n",
99
- "This section shows how one can install the latest revision of DiverseSelector from the git repository. This kind of installation comes with some risks (sudden API changes, bugs, …) and so be prepared to accept them when using the following installation instructions.\n",
100
  "\n",
101
  "There are two installation methods:\n",
102
  "\n",
103
  "1. **Quick and dirty.** Of this method, there are four variants, depending on the correctness of your `PATH` variable and the presence of a virtual or conda environment. These different scenarios are explained in more detail in the previous section.\n",
104
  "```\n",
105
  "# with env, correct PATH\n",
106
- "pip install git+https://github.com/theochem/DiverseSelector.git\n",
107
  "# with env, broken PATH\n",
108
- "python -m pip install git+https://github.com/theochem/DiverseSelector.git\n",
109
  "# without env, correct PATH\n",
110
- "pip install git+https://github.com/theochem/DiverseSelector.git --user\n",
111
  "# without env, broken PATH\n",
112
- "python -m pip install git+https://github.com/theochem/DiverseSelector.git --user\n",
113
  "```\n",
114
  "\n",
115
  "2. **Slow and Smart.** In addition to the four variations in the quick and dirty method, the slow and smart can be used with `pip` or just with `setup.py`. You also have the options to use SSH or HTTPS protocols to clone the git repository. Pick whichever works best for you.\n",
@@ -117,9 +117,9 @@
117
  "# A) Clone git repo with https OR ssh:\n",
118
  "# The second one only works if you have ssh set up for Github\n",
119
  "# A1) https\n",
120
- "git clone https://github.com/theochem/DiverseSelector.git\n",
121
  "# A2) ssh\n",
122
- "git clone [email protected]:theochem/DiverseSelector.git\n",
123
  "# B) Optionally write the version string\n",
124
  "pip install roberto # or any of the three other ways of running pip, see above.\n",
125
  "rob write-version\n",
@@ -148,7 +148,7 @@
148
  "# Install pytest in your conda env.\n",
149
  "conda install pytest pytest-xdist\n",
150
  "# Then run the tests.\n",
151
- "pytest --pyargs diverseselector -n auto\n",
152
  "```\n",
153
  "\n",
154
  "With Pip:\n",
@@ -157,13 +157,13 @@
157
  "pip install pytest pytest-xdist\n",
158
  "# .. and refresh the virtual environment.\n",
159
  "# This is a venv quirk. Without it, pytest may not find IOData.\n",
160
- "deactivate && source ~/diverseselector/activate\n",
161
  "\n",
162
  "# Alternatively, install pytest in your home directory.\n",
163
  "pip install pytest pytest-xdist --user\n",
164
  "\n",
165
  "# Finally, run the tests.\n",
166
- "pytest --pyargs diverseselector -n auto\n",
167
  "```"
168
  ]
169
  }
 
16
  "We are preparing a 1.0 release. Until then, these instructions for installing a stable release will not work yet. If you enjoy living on the edge, try the development release as explained in the “Latest git revision” section below.\n",
17
  "</div>\n",
18
  "\n",
19
+ "The following dependencies are required to run selector properly,\n",
20
  "\n",
21
  "* Python >= 3.6: http://www.python.org/ \n",
22
  "* NumPy >= 1.21.5: http://www.numpy.org/\n",
 
29
  "\n",
30
  "## Installation with Ana- or Miniconda:\n",
31
  "\n",
32
+ "1. To install selector using the conda package management system, install [miniconda](https://conda.io/miniconda.html) or [anaconda](https://www.anaconda.com/download) first, and then:\n",
33
  "\n",
34
  "```\n",
35
  "# Activate your main conda environment if it is not loaded in your .bashrc.\n",
 
96
  "\n",
97
  "## Latest git revision\n",
98
  "\n",
99
+ "This section shows how one can install the latest revision of selector from the git repository. This kind of installation comes with some risks (sudden API changes, bugs, …) and so be prepared to accept them when using the following installation instructions.\n",
100
  "\n",
101
  "There are two installation methods:\n",
102
  "\n",
103
  "1. **Quick and dirty.** Of this method, there are four variants, depending on the correctness of your `PATH` variable and the presence of a virtual or conda environment. These different scenarios are explained in more detail in the previous section.\n",
104
  "```\n",
105
  "# with env, correct PATH\n",
106
+ "pip install git+https://github.com/theochem/Selector.git\n",
107
  "# with env, broken PATH\n",
108
+ "python -m pip install git+https://github.com/theochem/Selector.git\n",
109
  "# without env, correct PATH\n",
110
+ "pip install git+https://github.com/theochem/Selector.git --user\n",
111
  "# without env, broken PATH\n",
112
+ "python -m pip install git+https://github.com/theochem/Selector.git --user\n",
113
  "```\n",
114
  "\n",
115
  "2. **Slow and Smart.** In addition to the four variations in the quick and dirty method, the slow and smart can be used with `pip` or just with `setup.py`. You also have the options to use SSH or HTTPS protocols to clone the git repository. Pick whichever works best for you.\n",
 
117
  "# A) Clone git repo with https OR ssh:\n",
118
  "# The second one only works if you have ssh set up for Github\n",
119
  "# A1) https\n",
120
+ "git clone https://github.com/theochem/Selector.git\n",
121
  "# A2) ssh\n",
122
+ "git clone [email protected]:theochem/Selector.git\n",
123
  "# B) Optionally write the version string\n",
124
  "pip install roberto # or any of the three other ways of running pip, see above.\n",
125
  "rob write-version\n",
 
148
  "# Install pytest in your conda env.\n",
149
  "conda install pytest pytest-xdist\n",
150
  "# Then run the tests.\n",
151
+ "pytest --pyargs selector -n auto\n",
152
  "```\n",
153
  "\n",
154
  "With Pip:\n",
 
157
  "pip install pytest pytest-xdist\n",
158
  "# .. and refresh the virtual environment.\n",
159
  "# This is a venv quirk. Without it, pytest may not find IOData.\n",
160
+ "deactivate && source ~/selector/activate\n",
161
  "\n",
162
  "# Alternatively, install pytest in your home directory.\n",
163
  "pip install pytest pytest-xdist --user\n",
164
  "\n",
165
  "# Finally, run the tests.\n",
166
+ "pytest --pyargs selector -n auto\n",
167
  "```"
168
  ]
169
  }
book/content/_build/html/_sources/intro.md CHANGED
@@ -1,11 +1,11 @@
1
  <!-- #region -->
2
  # Welcome to QC-Selector's Documentation!
3
 
4
- [DiverseSelector](https://github.com/theochem/DiverseSelector) is a free, open-source, and cross-platform Python library designed to help you effortlessly identify the most diverse subset of molecules from your dataset. Please use the following citation in any publication using DiverseSelector library:
5
 
6
  **"QC-Selector: A Generic Python Package for Subset Selection"**, Fanwang Meng, Alireza Tehrani, Valerii Chuiko, Abigail Broscius, Abdul, Hassan, Maximilian van Zyl, Marco Martínez González, Yang, Ramón Alain Miranda-Quintana, Paul W. Ayers, and Farnaz Heidar-Zadeh"
7
 
8
- The DiverseSelector source code is hosted on [GitHub](https://github.com/theochem/DiverseSelector) and is released under the [GNU General Public License v3.0](https://github.com/theochem/DiverseSelector/blob/main/LICENSE). We welcome any contributions to the DiverseSelector library in accordance with our Code of Conduct; please see our [Contributing Guidelines](https://qcdevs.org/guidelines/QCDevsCodeOfConduct/). Please report any issues you encounter while using DiverseSelector library on [GitHub Issues](https://github.com/theochem/DiverseSelector/issues). For further information and inquiries please contact us at [email protected].
9
 
10
 
11
  ## Why QC-Selector?
 
1
  <!-- #region -->
2
  # Welcome to QC-Selector's Documentation!
3
 
4
+ [selector](https://github.com/theochem/Selector) is a free, open-source, and cross-platform Python library designed to help you effortlessly identify the most diverse subset of molecules from your dataset. Please use the following citation in any publication using selector library:
5
 
6
  **"QC-Selector: A Generic Python Package for Subset Selection"**, Fanwang Meng, Alireza Tehrani, Valerii Chuiko, Abigail Broscius, Abdul, Hassan, Maximilian van Zyl, Marco Martínez González, Yang, Ramón Alain Miranda-Quintana, Paul W. Ayers, and Farnaz Heidar-Zadeh"
7
 
8
+ The selector source code is hosted on [GitHub](https://github.com/theochem/Selector) and is released under the [GNU General Public License v3.0](https://github.com/theochem/Selector/blob/main/LICENSE). We welcome any contributions to the selector library in accordance with our Code of Conduct; please see our [Contributing Guidelines](https://qcdevs.org/guidelines/QCDevsCodeOfConduct/). Please report any issues you encounter while using selector library on [GitHub Issues](https://github.com/theochem/Selector/issues). For further information and inquiries please contact us at [email protected].
9
 
10
 
11
  ## Why QC-Selector?
book/content/_build/html/_sources/partition.rst CHANGED
@@ -1,5 +1,5 @@
1
  Partition based methods
2
  =============
3
 
4
- .. automodule:: DiverseSelector.partition
5
- :members:
 
1
  Partition based methods
2
  =============
3
 
4
+ .. automodule:: selector.partition
5
+ :members:
book/content/_build/html/_sources/starting.ipynb CHANGED
@@ -32,8 +32,8 @@
32
  "metadata": {},
33
  "outputs": [],
34
  "source": [
35
- "# install the DiverseSelector module\n",
36
- "!pip install git+https://github.com/theochem/DiverseSelector\n",
37
  "!pip install rdkit"
38
  ]
39
  },
@@ -44,7 +44,7 @@
44
  "metadata": {},
45
  "outputs": [],
46
  "source": [
47
- "import DiverseSelector\n",
48
  "import matplotlib.pyplot as plt\n",
49
  "import numpy as np\n",
50
  "from typing import Any, Tuple, Union\n",
@@ -215,8 +215,8 @@
215
  "outputs": [],
216
  "source": [
217
  "# MaxMin method\n",
218
- "from DiverseSelector.methods.partition import *\n",
219
- "from DiverseSelector.methods.dissimilarity import *\n",
220
  "\n",
221
  "# diverse subset selection from randomly generated data points\n",
222
  "selector = MaxMin()\n",
 
32
  "metadata": {},
33
  "outputs": [],
34
  "source": [
35
+ "# install the selector module\n",
36
+ "!pip install git+https://github.com/theochem/Selector\n",
37
  "!pip install rdkit"
38
  ]
39
  },
 
44
  "metadata": {},
45
  "outputs": [],
46
  "source": [
47
+ "import selector\n",
48
  "import matplotlib.pyplot as plt\n",
49
  "import numpy as np\n",
50
  "from typing import Any, Tuple, Union\n",
 
215
  "outputs": [],
216
  "source": [
217
  "# MaxMin method\n",
218
+ "from selector.methods.partition import *\n",
219
+ "from selector.methods.dissimilarity import *\n",
220
  "\n",
221
  "# diverse subset selection from randomly generated data points\n",
222
  "selector = MaxMin()\n",
book/content/_build/html/_sources/utils.rst CHANGED
@@ -1,4 +1,4 @@
1
  Utilities
2
  =============
3
- .. automodule:: DiverseSelector.utils
4
- :members:
 
1
  Utilities
2
  =============
3
+ .. automodule:: selector.utils
4
+ :members:
book/content/_build/html/_static/basic.css CHANGED
@@ -901,4 +901,4 @@ div.math:hover a.headerlink {
901
  #top-link {
902
  display: none;
903
  }
904
- }
 
901
  #top-link {
902
  display: none;
903
  }
904
+ }
book/content/_build/html/_static/clipboard.min.js CHANGED
@@ -4,4 +4,4 @@
4
  *
5
  * Licensed MIT © Zeno Rocha
6
  */
7
- !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return n={686:function(t,e,n){"use strict";n.d(e,{default:function(){return o}});var e=n(279),i=n.n(e),e=n(370),u=n.n(e),e=n(817),c=n.n(e);function a(t){try{return document.execCommand(t)}catch(t){return}}var f=function(t){t=c()(t);return a("cut"),t};var l=function(t){var e,n,o,r=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{container:document.body},i="";return"string"==typeof t?(e=t,n="rtl"===document.documentElement.getAttribute("dir"),(o=document.createElement("textarea")).style.fontSize="12pt",o.style.border="0",o.style.padding="0",o.style.margin="0",o.style.position="absolute",o.style[n?"right":"left"]="-9999px",n=window.pageYOffset||document.documentElement.scrollTop,o.style.top="".concat(n,"px"),o.setAttribute("readonly",""),o.value=e,o=o,r.container.appendChild(o),i=c()(o),a("copy"),o.remove()):(i=c()(t),a("copy")),i};function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var s=function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},e=t.action,n=void 0===e?"copy":e,o=t.container,e=t.target,t=t.text;if("copy"!==n&&"cut"!==n)throw new Error('Invalid "action" value, use either "copy" or "cut"');if(void 0!==e){if(!e||"object"!==r(e)||1!==e.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===n&&e.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===n&&(e.hasAttribute("readonly")||e.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes')}return t?l(t,{container:o}):e?"cut"===n?f(e):l(e,{container:o}):void 0};function d(t){return(d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function p(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function y(t,e){return(y=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function h(n){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(t){return!1}}();return function(){var t,e=m(n);return t=o?(t=m(this).constructor,Reflect.construct(e,arguments,t)):e.apply(this,arguments),e=this,!(t=t)||"object"!==d(t)&&"function"!=typeof t?function(t){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}}function m(t){return(m=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function v(t,e){t="data-clipboard-".concat(t);if(e.hasAttribute(t))return e.getAttribute(t)}var o=function(){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&y(t,e)}(r,i());var t,e,n,o=h(r);function r(t,e){var n;return function(t){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}(this),(n=o.call(this)).resolveOptions(e),n.listenClick(t),n}return t=r,n=[{key:"copy",value:function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{container:document.body};return l(t,e)}},{key:"cut",value:function(t){return f(t)}},{key:"isSupported",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:["copy","cut"],t="string"==typeof t?[t]:t,e=!!document.queryCommandSupported;return t.forEach(function(t){e=e&&!!document.queryCommandSupported(t)}),e}}],(e=[{key:"resolveOptions",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};this.action="function"==typeof t.action?t.action:this.defaultAction,this.target="function"==typeof t.target?t.target:this.defaultTarget,this.text="function"==typeof t.text?t.text:this.defaultText,this.container="object"===d(t.container)?t.container:document.body}},{key:"listenClick",value:function(t){var e=this;this.listener=u()(t,"click",function(t){return e.onClick(t)})}},{key:"onClick",value:function(t){var e=t.delegateTarget||t.currentTarget,t=s({action:this.action(e),container:this.container,target:this.target(e),text:this.text(e)});this.emit(t?"success":"error",{action:this.action,text:t,trigger:e,clearSelection:function(){e&&e.focus(),document.activeElement.blur(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function(t){return v("action",t)}},{key:"defaultTarget",value:function(t){t=v("target",t);if(t)return document.querySelector(t)}},{key:"defaultText",value:function(t){return v("text",t)}},{key:"destroy",value:function(){this.listener.destroy()}}])&&p(t.prototype,e),n&&p(t,n),r}()},828:function(t){var e;"undefined"==typeof Element||Element.prototype.matches||((e=Element.prototype).matches=e.matchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector),t.exports=function(t,e){for(;t&&9!==t.nodeType;){if("function"==typeof t.matches&&t.matches(e))return t;t=t.parentNode}}},438:function(t,e,n){var u=n(828);function i(t,e,n,o,r){var i=function(e,n,t,o){return function(t){t.delegateTarget=u(t.target,n),t.delegateTarget&&o.call(e,t)}}.apply(this,arguments);return t.addEventListener(n,i,r),{destroy:function(){t.removeEventListener(n,i,r)}}}t.exports=function(t,e,n,o,r){return"function"==typeof t.addEventListener?i.apply(null,arguments):"function"==typeof n?i.bind(null,document).apply(null,arguments):("string"==typeof t&&(t=document.querySelectorAll(t)),Array.prototype.map.call(t,function(t){return i(t,e,n,o,r)}))}},879:function(t,n){n.node=function(t){return void 0!==t&&t instanceof HTMLElement&&1===t.nodeType},n.nodeList=function(t){var e=Object.prototype.toString.call(t);return void 0!==t&&("[object NodeList]"===e||"[object HTMLCollection]"===e)&&"length"in t&&(0===t.length||n.node(t[0]))},n.string=function(t){return"string"==typeof t||t instanceof String},n.fn=function(t){return"[object Function]"===Object.prototype.toString.call(t)}},370:function(t,e,n){var f=n(879),l=n(438);t.exports=function(t,e,n){if(!t&&!e&&!n)throw new Error("Missing required arguments");if(!f.string(e))throw new TypeError("Second argument must be a String");if(!f.fn(n))throw new TypeError("Third argument must be a Function");if(f.node(t))return c=e,a=n,(u=t).addEventListener(c,a),{destroy:function(){u.removeEventListener(c,a)}};if(f.nodeList(t))return o=t,r=e,i=n,Array.prototype.forEach.call(o,function(t){t.addEventListener(r,i)}),{destroy:function(){Array.prototype.forEach.call(o,function(t){t.removeEventListener(r,i)})}};if(f.string(t))return t=t,e=e,n=n,l(document.body,t,e,n);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList");var o,r,i,u,c,a}},817:function(t){t.exports=function(t){var e,n="SELECT"===t.nodeName?(t.focus(),t.value):"INPUT"===t.nodeName||"TEXTAREA"===t.nodeName?((e=t.hasAttribute("readonly"))||t.setAttribute("readonly",""),t.select(),t.setSelectionRange(0,t.value.length),e||t.removeAttribute("readonly"),t.value):(t.hasAttribute("contenteditable")&&t.focus(),n=window.getSelection(),(e=document.createRange()).selectNodeContents(t),n.removeAllRanges(),n.addRange(e),n.toString());return n}},279:function(t){function e(){}e.prototype={on:function(t,e,n){var o=this.e||(this.e={});return(o[t]||(o[t]=[])).push({fn:e,ctx:n}),this},once:function(t,e,n){var o=this;function r(){o.off(t,r),e.apply(n,arguments)}return r._=e,this.on(t,r,n)},emit:function(t){for(var e=[].slice.call(arguments,1),n=((this.e||(this.e={}))[t]||[]).slice(),o=0,r=n.length;o<r;o++)n[o].fn.apply(n[o].ctx,e);return this},off:function(t,e){var n=this.e||(this.e={}),o=n[t],r=[];if(o&&e)for(var i=0,u=o.length;i<u;i++)o[i].fn!==e&&o[i].fn._!==e&&r.push(o[i]);return r.length?n[t]=r:delete n[t],this}},t.exports=e,t.exports.TinyEmitter=e}},r={},o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,{a:e}),e},o.d=function(t,e){for(var n in e)o.o(e,n)&&!o.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},o(686).default;function o(t){if(r[t])return r[t].exports;var e=r[t]={exports:{}};return n[t](e,e.exports,o),e.exports}var n,r});
 
4
  *
5
  * Licensed MIT © Zeno Rocha
6
  */
7
+ !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return n={686:function(t,e,n){"use strict";n.d(e,{default:function(){return o}});var e=n(279),i=n.n(e),e=n(370),u=n.n(e),e=n(817),c=n.n(e);function a(t){try{return document.execCommand(t)}catch(t){return}}var f=function(t){t=c()(t);return a("cut"),t};var l=function(t){var e,n,o,r=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{container:document.body},i="";return"string"==typeof t?(e=t,n="rtl"===document.documentElement.getAttribute("dir"),(o=document.createElement("textarea")).style.fontSize="12pt",o.style.border="0",o.style.padding="0",o.style.margin="0",o.style.position="absolute",o.style[n?"right":"left"]="-9999px",n=window.pageYOffset||document.documentElement.scrollTop,o.style.top="".concat(n,"px"),o.setAttribute("readonly",""),o.value=e,o=o,r.container.appendChild(o),i=c()(o),a("copy"),o.remove()):(i=c()(t),a("copy")),i};function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var s=function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},e=t.action,n=void 0===e?"copy":e,o=t.container,e=t.target,t=t.text;if("copy"!==n&&"cut"!==n)throw new Error('Invalid "action" value, use either "copy" or "cut"');if(void 0!==e){if(!e||"object"!==r(e)||1!==e.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===n&&e.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===n&&(e.hasAttribute("readonly")||e.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes')}return t?l(t,{container:o}):e?"cut"===n?f(e):l(e,{container:o}):void 0};function d(t){return(d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function p(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function y(t,e){return(y=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function h(n){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(t){return!1}}();return function(){var t,e=m(n);return t=o?(t=m(this).constructor,Reflect.construct(e,arguments,t)):e.apply(this,arguments),e=this,!(t=t)||"object"!==d(t)&&"function"!=typeof t?function(t){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}}function m(t){return(m=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function v(t,e){t="data-clipboard-".concat(t);if(e.hasAttribute(t))return e.getAttribute(t)}var o=function(){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&y(t,e)}(r,i());var t,e,n,o=h(r);function r(t,e){var n;return function(t){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}(this),(n=o.call(this)).resolveOptions(e),n.listenClick(t),n}return t=r,n=[{key:"copy",value:function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{container:document.body};return l(t,e)}},{key:"cut",value:function(t){return f(t)}},{key:"isSupported",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:["copy","cut"],t="string"==typeof t?[t]:t,e=!!document.queryCommandSupported;return t.forEach(function(t){e=e&&!!document.queryCommandSupported(t)}),e}}],(e=[{key:"resolveOptions",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};this.action="function"==typeof t.action?t.action:this.defaultAction,this.target="function"==typeof t.target?t.target:this.defaultTarget,this.text="function"==typeof t.text?t.text:this.defaultText,this.container="object"===d(t.container)?t.container:document.body}},{key:"listenClick",value:function(t){var e=this;this.listener=u()(t,"click",function(t){return e.onClick(t)})}},{key:"onClick",value:function(t){var e=t.delegateTarget||t.currentTarget,t=s({action:this.action(e),container:this.container,target:this.target(e),text:this.text(e)});this.emit(t?"success":"error",{action:this.action,text:t,trigger:e,clearSelection:function(){e&&e.focus(),document.activeElement.blur(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function(t){return v("action",t)}},{key:"defaultTarget",value:function(t){t=v("target",t);if(t)return document.querySelector(t)}},{key:"defaultText",value:function(t){return v("text",t)}},{key:"destroy",value:function(){this.listener.destroy()}}])&&p(t.prototype,e),n&&p(t,n),r}()},828:function(t){var e;"undefined"==typeof Element||Element.prototype.matches||((e=Element.prototype).matches=e.matchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector),t.exports=function(t,e){for(;t&&9!==t.nodeType;){if("function"==typeof t.matches&&t.matches(e))return t;t=t.parentNode}}},438:function(t,e,n){var u=n(828);function i(t,e,n,o,r){var i=function(e,n,t,o){return function(t){t.delegateTarget=u(t.target,n),t.delegateTarget&&o.call(e,t)}}.apply(this,arguments);return t.addEventListener(n,i,r),{destroy:function(){t.removeEventListener(n,i,r)}}}t.exports=function(t,e,n,o,r){return"function"==typeof t.addEventListener?i.apply(null,arguments):"function"==typeof n?i.bind(null,document).apply(null,arguments):("string"==typeof t&&(t=document.querySelectorAll(t)),Array.prototype.map.call(t,function(t){return i(t,e,n,o,r)}))}},879:function(t,n){n.node=function(t){return void 0!==t&&t instanceof HTMLElement&&1===t.nodeType},n.nodeList=function(t){var e=Object.prototype.toString.call(t);return void 0!==t&&("[object NodeList]"===e||"[object HTMLCollection]"===e)&&"length"in t&&(0===t.length||n.node(t[0]))},n.string=function(t){return"string"==typeof t||t instanceof String},n.fn=function(t){return"[object Function]"===Object.prototype.toString.call(t)}},370:function(t,e,n){var f=n(879),l=n(438);t.exports=function(t,e,n){if(!t&&!e&&!n)throw new Error("Missing required arguments");if(!f.string(e))throw new TypeError("Second argument must be a String");if(!f.fn(n))throw new TypeError("Third argument must be a Function");if(f.node(t))return c=e,a=n,(u=t).addEventListener(c,a),{destroy:function(){u.removeEventListener(c,a)}};if(f.nodeList(t))return o=t,r=e,i=n,Array.prototype.forEach.call(o,function(t){t.addEventListener(r,i)}),{destroy:function(){Array.prototype.forEach.call(o,function(t){t.removeEventListener(r,i)})}};if(f.string(t))return t=t,e=e,n=n,l(document.body,t,e,n);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList");var o,r,i,u,c,a}},817:function(t){t.exports=function(t){var e,n="SELECT"===t.nodeName?(t.focus(),t.value):"INPUT"===t.nodeName||"TEXTAREA"===t.nodeName?((e=t.hasAttribute("readonly"))||t.setAttribute("readonly",""),t.select(),t.setSelectionRange(0,t.value.length),e||t.removeAttribute("readonly"),t.value):(t.hasAttribute("contenteditable")&&t.focus(),n=window.getSelection(),(e=document.createRange()).selectNodeContents(t),n.removeAllRanges(),n.addRange(e),n.toString());return n}},279:function(t){function e(){}e.prototype={on:function(t,e,n){var o=this.e||(this.e={});return(o[t]||(o[t]=[])).push({fn:e,ctx:n}),this},once:function(t,e,n){var o=this;function r(){o.off(t,r),e.apply(n,arguments)}return r._=e,this.on(t,r,n)},emit:function(t){for(var e=[].slice.call(arguments,1),n=((this.e||(this.e={}))[t]||[]).slice(),o=0,r=n.length;o<r;o++)n[o].fn.apply(n[o].ctx,e);return this},off:function(t,e){var n=this.e||(this.e={}),o=n[t],r=[];if(o&&e)for(var i=0,u=o.length;i<u;i++)o[i].fn!==e&&o[i].fn._!==e&&r.push(o[i]);return r.length?n[t]=r:delete n[t],this}},t.exports=e,t.exports.TinyEmitter=e}},r={},o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,{a:e}),e},o.d=function(t,e){for(var n in e)o.o(e,n)&&!o.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},o(686).default;function o(t){if(r[t])return r[t].exports;var e=r[t]={exports:{}};return n[t](e,e.exports,o),e.exports}var n,r});
book/content/_build/html/_static/copybutton.js CHANGED
@@ -194,4 +194,4 @@ var copyTargetText = (trigger) => {
194
  })
195
  }
196
 
197
- runWhenDOMLoaded(addCopyButtonToCodeCells)
 
194
  })
195
  }
196
 
197
+ runWhenDOMLoaded(addCopyButtonToCodeCells)
book/content/_build/html/_static/css/blank.css CHANGED
@@ -1,2 +1,2 @@
1
  /* This file is intentionally left blank to override the stylesheet of the
2
- parent theme via theme.conf. The parent style we import directly in theme.css */
 
1
  /* This file is intentionally left blank to override the stylesheet of the
2
+ parent theme via theme.conf. The parent style we import directly in theme.css */
book/content/_build/html/_static/css/index.ff1ffe594081f20da1ef19478df9384b.css CHANGED
The diff for this file is too large to render. See raw diff
 
book/content/_build/html/_static/css/theme.css CHANGED
@@ -41,7 +41,7 @@
41
 
42
  /*****************************************************************************
43
  * Color
44
- *
45
  * Colors are defined in rgb string way, "red, green, blue"
46
  **/
47
  --pst-color-primary: 19, 6, 84;
 
41
 
42
  /*****************************************************************************
43
  * Color
44
+ *
45
  * Colors are defined in rgb string way, "red, green, blue"
46
  **/
47
  --pst-color-primary: 19, 6, 84;
book/content/_build/html/_static/documentation_options.js CHANGED
@@ -9,4 +9,4 @@ var DOCUMENTATION_OPTIONS = {
9
  HAS_SOURCE: true,
10
  SOURCELINK_SUFFIX: '',
11
  NAVIGATION_WITH_KEYS: true
12
- };
 
9
  HAS_SOURCE: true,
10
  SOURCELINK_SUFFIX: '',
11
  NAVIGATION_WITH_KEYS: true
12
+ };
book/content/_build/html/_static/js/index.be7d3bbb2ef33a8344ce.js CHANGED
The diff for this file is too large to render. See raw diff
 
book/content/_build/html/_static/language_data.js CHANGED
@@ -293,5 +293,3 @@ function splitQuery(query) {
293
  }
294
  return result;
295
  }
296
-
297
-
 
293
  }
294
  return result;
295
  }
 
 
book/content/_build/html/_static/panels-variables.06eb56fa6e07937060861dad626602ad.css CHANGED
@@ -4,4 +4,4 @@
4
  --tabs-color-overline: rgb(207, 236, 238);
5
  --tabs-color-underline: rgb(207, 236, 238);
6
  --tabs-size-label: 1rem;
7
- }
 
4
  --tabs-color-overline: rgb(207, 236, 238);
5
  --tabs-color-underline: rgb(207, 236, 238);
6
  --tabs-size-label: 1rem;
7
+ }
book/content/_build/html/_static/pygments.css CHANGED
@@ -71,4 +71,4 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
71
  .highlight .vg { color: #bb60d5 } /* Name.Variable.Global */
72
  .highlight .vi { color: #bb60d5 } /* Name.Variable.Instance */
73
  .highlight .vm { color: #bb60d5 } /* Name.Variable.Magic */
74
- .highlight .il { color: #208050 } /* Literal.Number.Integer.Long */
 
71
  .highlight .vg { color: #bb60d5 } /* Name.Variable.Global */
72
  .highlight .vi { color: #bb60d5 } /* Name.Variable.Instance */
73
  .highlight .vm { color: #bb60d5 } /* Name.Variable.Magic */
74
+ .highlight .il { color: #208050 } /* Literal.Number.Integer.Long */
book/content/_build/html/_static/togglebutton.css CHANGED
@@ -87,4 +87,4 @@ button.toggle-button {
87
 
88
  .toggle-button-hidden .vertical {
89
  transform: rotate(-90deg);
90
- }
 
87
 
88
  .toggle-button-hidden .vertical {
89
  transform: rotate(-90deg);
90
+ }
book/content/_build/html/_static/underscore.js CHANGED
@@ -3,4 +3,4 @@
3
  // https://underscorejs.org
4
  // (c) 2009-2021 Jeremy Ashkenas, Julian Gonggrijp, and DocumentCloud and Investigative Reporters & Editors
5
  // Underscore may be freely distributed under the MIT license.
6
- var n="1.13.1",r="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||Function("return this")()||{},t=Array.prototype,e=Object.prototype,u="undefined"!=typeof Symbol?Symbol.prototype:null,o=t.push,i=t.slice,a=e.toString,f=e.hasOwnProperty,c="undefined"!=typeof ArrayBuffer,l="undefined"!=typeof DataView,s=Array.isArray,p=Object.keys,v=Object.create,h=c&&ArrayBuffer.isView,y=isNaN,d=isFinite,g=!{toString:null}.propertyIsEnumerable("toString"),b=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],m=Math.pow(2,53)-1;function j(n,r){return r=null==r?n.length-1:+r,function(){for(var t=Math.max(arguments.length-r,0),e=Array(t),u=0;u<t;u++)e[u]=arguments[u+r];switch(r){case 0:return n.call(this,e);case 1:return n.call(this,arguments[0],e);case 2:return n.call(this,arguments[0],arguments[1],e)}var o=Array(r+1);for(u=0;u<r;u++)o[u]=arguments[u];return o[r]=e,n.apply(this,o)}}function _(n){var r=typeof n;return"function"===r||"object"===r&&!!n}function w(n){return void 0===n}function A(n){return!0===n||!1===n||"[object Boolean]"===a.call(n)}function x(n){var r="[object "+n+"]";return function(n){return a.call(n)===r}}var S=x("String"),O=x("Number"),M=x("Date"),E=x("RegExp"),B=x("Error"),N=x("Symbol"),I=x("ArrayBuffer"),T=x("Function"),k=r.document&&r.document.childNodes;"function"!=typeof/./&&"object"!=typeof Int8Array&&"function"!=typeof k&&(T=function(n){return"function"==typeof n||!1});var D=T,R=x("Object"),F=l&&R(new DataView(new ArrayBuffer(8))),V="undefined"!=typeof Map&&R(new Map),P=x("DataView");var q=F?function(n){return null!=n&&D(n.getInt8)&&I(n.buffer)}:P,U=s||x("Array");function W(n,r){return null!=n&&f.call(n,r)}var z=x("Arguments");!function(){z(arguments)||(z=function(n){return W(n,"callee")})}();var L=z;function $(n){return O(n)&&y(n)}function C(n){return function(){return n}}function K(n){return function(r){var t=n(r);return"number"==typeof t&&t>=0&&t<=m}}function J(n){return function(r){return null==r?void 0:r[n]}}var G=J("byteLength"),H=K(G),Q=/\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/;var X=c?function(n){return h?h(n)&&!q(n):H(n)&&Q.test(a.call(n))}:C(!1),Y=J("length");function Z(n,r){r=function(n){for(var r={},t=n.length,e=0;e<t;++e)r[n[e]]=!0;return{contains:function(n){return r[n]},push:function(t){return r[t]=!0,n.push(t)}}}(r);var t=b.length,u=n.constructor,o=D(u)&&u.prototype||e,i="constructor";for(W(n,i)&&!r.contains(i)&&r.push(i);t--;)(i=b[t])in n&&n[i]!==o[i]&&!r.contains(i)&&r.push(i)}function nn(n){if(!_(n))return[];if(p)return p(n);var r=[];for(var t in n)W(n,t)&&r.push(t);return g&&Z(n,r),r}function rn(n,r){var t=nn(r),e=t.length;if(null==n)return!e;for(var u=Object(n),o=0;o<e;o++){var i=t[o];if(r[i]!==u[i]||!(i in u))return!1}return!0}function tn(n){return n instanceof tn?n:this instanceof tn?void(this._wrapped=n):new tn(n)}function en(n){return new Uint8Array(n.buffer||n,n.byteOffset||0,G(n))}tn.VERSION=n,tn.prototype.value=function(){return this._wrapped},tn.prototype.valueOf=tn.prototype.toJSON=tn.prototype.value,tn.prototype.toString=function(){return String(this._wrapped)};var un="[object DataView]";function on(n,r,t,e){if(n===r)return 0!==n||1/n==1/r;if(null==n||null==r)return!1;if(n!=n)return r!=r;var o=typeof n;return("function"===o||"object"===o||"object"==typeof r)&&function n(r,t,e,o){r instanceof tn&&(r=r._wrapped);t instanceof tn&&(t=t._wrapped);var i=a.call(r);if(i!==a.call(t))return!1;if(F&&"[object Object]"==i&&q(r)){if(!q(t))return!1;i=un}switch(i){case"[object RegExp]":case"[object String]":return""+r==""+t;case"[object Number]":return+r!=+r?+t!=+t:0==+r?1/+r==1/t:+r==+t;case"[object Date]":case"[object Boolean]":return+r==+t;case"[object Symbol]":return u.valueOf.call(r)===u.valueOf.call(t);case"[object ArrayBuffer]":case un:return n(en(r),en(t),e,o)}var f="[object Array]"===i;if(!f&&X(r)){if(G(r)!==G(t))return!1;if(r.buffer===t.buffer&&r.byteOffset===t.byteOffset)return!0;f=!0}if(!f){if("object"!=typeof r||"object"!=typeof t)return!1;var c=r.constructor,l=t.constructor;if(c!==l&&!(D(c)&&c instanceof c&&D(l)&&l instanceof l)&&"constructor"in r&&"constructor"in t)return!1}o=o||[];var s=(e=e||[]).length;for(;s--;)if(e[s]===r)return o[s]===t;if(e.push(r),o.push(t),f){if((s=r.length)!==t.length)return!1;for(;s--;)if(!on(r[s],t[s],e,o))return!1}else{var p,v=nn(r);if(s=v.length,nn(t).length!==s)return!1;for(;s--;)if(p=v[s],!W(t,p)||!on(r[p],t[p],e,o))return!1}return e.pop(),o.pop(),!0}(n,r,t,e)}function an(n){if(!_(n))return[];var r=[];for(var t in n)r.push(t);return g&&Z(n,r),r}function fn(n){var r=Y(n);return function(t){if(null==t)return!1;var e=an(t);if(Y(e))return!1;for(var u=0;u<r;u++)if(!D(t[n[u]]))return!1;return n!==hn||!D(t[cn])}}var cn="forEach",ln="has",sn=["clear","delete"],pn=["get",ln,"set"],vn=sn.concat(cn,pn),hn=sn.concat(pn),yn=["add"].concat(sn,cn,ln),dn=V?fn(vn):x("Map"),gn=V?fn(hn):x("WeakMap"),bn=V?fn(yn):x("Set"),mn=x("WeakSet");function jn(n){for(var r=nn(n),t=r.length,e=Array(t),u=0;u<t;u++)e[u]=n[r[u]];return e}function _n(n){for(var r={},t=nn(n),e=0,u=t.length;e<u;e++)r[n[t[e]]]=t[e];return r}function wn(n){var r=[];for(var t in n)D(n[t])&&r.push(t);return r.sort()}function An(n,r){return function(t){var e=arguments.length;if(r&&(t=Object(t)),e<2||null==t)return t;for(var u=1;u<e;u++)for(var o=arguments[u],i=n(o),a=i.length,f=0;f<a;f++){var c=i[f];r&&void 0!==t[c]||(t[c]=o[c])}return t}}var xn=An(an),Sn=An(nn),On=An(an,!0);function Mn(n){if(!_(n))return{};if(v)return v(n);var r=function(){};r.prototype=n;var t=new r;return r.prototype=null,t}function En(n){return _(n)?U(n)?n.slice():xn({},n):n}function Bn(n){return U(n)?n:[n]}function Nn(n){return tn.toPath(n)}function In(n,r){for(var t=r.length,e=0;e<t;e++){if(null==n)return;n=n[r[e]]}return t?n:void 0}function Tn(n,r,t){var e=In(n,Nn(r));return w(e)?t:e}function kn(n){return n}function Dn(n){return n=Sn({},n),function(r){return rn(r,n)}}function Rn(n){return n=Nn(n),function(r){return In(r,n)}}function Fn(n,r,t){if(void 0===r)return n;switch(null==t?3:t){case 1:return function(t){return n.call(r,t)};case 3:return function(t,e,u){return n.call(r,t,e,u)};case 4:return function(t,e,u,o){return n.call(r,t,e,u,o)}}return function(){return n.apply(r,arguments)}}function Vn(n,r,t){return null==n?kn:D(n)?Fn(n,r,t):_(n)&&!U(n)?Dn(n):Rn(n)}function Pn(n,r){return Vn(n,r,1/0)}function qn(n,r,t){return tn.iteratee!==Pn?tn.iteratee(n,r):Vn(n,r,t)}function Un(){}function Wn(n,r){return null==r&&(r=n,n=0),n+Math.floor(Math.random()*(r-n+1))}tn.toPath=Bn,tn.iteratee=Pn;var zn=Date.now||function(){return(new Date).getTime()};function Ln(n){var r=function(r){return n[r]},t="(?:"+nn(n).join("|")+")",e=RegExp(t),u=RegExp(t,"g");return function(n){return n=null==n?"":""+n,e.test(n)?n.replace(u,r):n}}var $n={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},Cn=Ln($n),Kn=Ln(_n($n)),Jn=tn.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g},Gn=/(.)^/,Hn={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},Qn=/\\|'|\r|\n|\u2028|\u2029/g;function Xn(n){return"\\"+Hn[n]}var Yn=/^\s*(\w|\$)+\s*$/;var Zn=0;function nr(n,r,t,e,u){if(!(e instanceof r))return n.apply(t,u);var o=Mn(n.prototype),i=n.apply(o,u);return _(i)?i:o}var rr=j((function(n,r){var t=rr.placeholder,e=function(){for(var u=0,o=r.length,i=Array(o),a=0;a<o;a++)i[a]=r[a]===t?arguments[u++]:r[a];for(;u<arguments.length;)i.push(arguments[u++]);return nr(n,e,this,this,i)};return e}));rr.placeholder=tn;var tr=j((function(n,r,t){if(!D(n))throw new TypeError("Bind must be called on a function");var e=j((function(u){return nr(n,e,r,this,t.concat(u))}));return e})),er=K(Y);function ur(n,r,t,e){if(e=e||[],r||0===r){if(r<=0)return e.concat(n)}else r=1/0;for(var u=e.length,o=0,i=Y(n);o<i;o++){var a=n[o];if(er(a)&&(U(a)||L(a)))if(r>1)ur(a,r-1,t,e),u=e.length;else for(var f=0,c=a.length;f<c;)e[u++]=a[f++];else t||(e[u++]=a)}return e}var or=j((function(n,r){var t=(r=ur(r,!1,!1)).length;if(t<1)throw new Error("bindAll must be passed function names");for(;t--;){var e=r[t];n[e]=tr(n[e],n)}return n}));var ir=j((function(n,r,t){return setTimeout((function(){return n.apply(null,t)}),r)})),ar=rr(ir,tn,1);function fr(n){return function(){return!n.apply(this,arguments)}}function cr(n,r){var t;return function(){return--n>0&&(t=r.apply(this,arguments)),n<=1&&(r=null),t}}var lr=rr(cr,2);function sr(n,r,t){r=qn(r,t);for(var e,u=nn(n),o=0,i=u.length;o<i;o++)if(r(n[e=u[o]],e,n))return e}function pr(n){return function(r,t,e){t=qn(t,e);for(var u=Y(r),o=n>0?0:u-1;o>=0&&o<u;o+=n)if(t(r[o],o,r))return o;return-1}}var vr=pr(1),hr=pr(-1);function yr(n,r,t,e){for(var u=(t=qn(t,e,1))(r),o=0,i=Y(n);o<i;){var a=Math.floor((o+i)/2);t(n[a])<u?o=a+1:i=a}return o}function dr(n,r,t){return function(e,u,o){var a=0,f=Y(e);if("number"==typeof o)n>0?a=o>=0?o:Math.max(o+f,a):f=o>=0?Math.min(o+1,f):o+f+1;else if(t&&o&&f)return e[o=t(e,u)]===u?o:-1;if(u!=u)return(o=r(i.call(e,a,f),$))>=0?o+a:-1;for(o=n>0?a:f-1;o>=0&&o<f;o+=n)if(e[o]===u)return o;return-1}}var gr=dr(1,vr,yr),br=dr(-1,hr);function mr(n,r,t){var e=(er(n)?vr:sr)(n,r,t);if(void 0!==e&&-1!==e)return n[e]}function jr(n,r,t){var e,u;if(r=Fn(r,t),er(n))for(e=0,u=n.length;e<u;e++)r(n[e],e,n);else{var o=nn(n);for(e=0,u=o.length;e<u;e++)r(n[o[e]],o[e],n)}return n}function _r(n,r,t){r=qn(r,t);for(var e=!er(n)&&nn(n),u=(e||n).length,o=Array(u),i=0;i<u;i++){var a=e?e[i]:i;o[i]=r(n[a],a,n)}return o}function wr(n){var r=function(r,t,e,u){var o=!er(r)&&nn(r),i=(o||r).length,a=n>0?0:i-1;for(u||(e=r[o?o[a]:a],a+=n);a>=0&&a<i;a+=n){var f=o?o[a]:a;e=t(e,r[f],f,r)}return e};return function(n,t,e,u){var o=arguments.length>=3;return r(n,Fn(t,u,4),e,o)}}var Ar=wr(1),xr=wr(-1);function Sr(n,r,t){var e=[];return r=qn(r,t),jr(n,(function(n,t,u){r(n,t,u)&&e.push(n)})),e}function Or(n,r,t){r=qn(r,t);for(var e=!er(n)&&nn(n),u=(e||n).length,o=0;o<u;o++){var i=e?e[o]:o;if(!r(n[i],i,n))return!1}return!0}function Mr(n,r,t){r=qn(r,t);for(var e=!er(n)&&nn(n),u=(e||n).length,o=0;o<u;o++){var i=e?e[o]:o;if(r(n[i],i,n))return!0}return!1}function Er(n,r,t,e){return er(n)||(n=jn(n)),("number"!=typeof t||e)&&(t=0),gr(n,r,t)>=0}var Br=j((function(n,r,t){var e,u;return D(r)?u=r:(r=Nn(r),e=r.slice(0,-1),r=r[r.length-1]),_r(n,(function(n){var o=u;if(!o){if(e&&e.length&&(n=In(n,e)),null==n)return;o=n[r]}return null==o?o:o.apply(n,t)}))}));function Nr(n,r){return _r(n,Rn(r))}function Ir(n,r,t){var e,u,o=-1/0,i=-1/0;if(null==r||"number"==typeof r&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=er(n)?n:jn(n)).length;a<f;a++)null!=(e=n[a])&&e>o&&(o=e);else r=qn(r,t),jr(n,(function(n,t,e){((u=r(n,t,e))>i||u===-1/0&&o===-1/0)&&(o=n,i=u)}));return o}function Tr(n,r,t){if(null==r||t)return er(n)||(n=jn(n)),n[Wn(n.length-1)];var e=er(n)?En(n):jn(n),u=Y(e);r=Math.max(Math.min(r,u),0);for(var o=u-1,i=0;i<r;i++){var a=Wn(i,o),f=e[i];e[i]=e[a],e[a]=f}return e.slice(0,r)}function kr(n,r){return function(t,e,u){var o=r?[[],[]]:{};return e=qn(e,u),jr(t,(function(r,u){var i=e(r,u,t);n(o,r,i)})),o}}var Dr=kr((function(n,r,t){W(n,t)?n[t].push(r):n[t]=[r]})),Rr=kr((function(n,r,t){n[t]=r})),Fr=kr((function(n,r,t){W(n,t)?n[t]++:n[t]=1})),Vr=kr((function(n,r,t){n[t?0:1].push(r)}),!0),Pr=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;function qr(n,r,t){return r in t}var Ur=j((function(n,r){var t={},e=r[0];if(null==n)return t;D(e)?(r.length>1&&(e=Fn(e,r[1])),r=an(n)):(e=qr,r=ur(r,!1,!1),n=Object(n));for(var u=0,o=r.length;u<o;u++){var i=r[u],a=n[i];e(a,i,n)&&(t[i]=a)}return t})),Wr=j((function(n,r){var t,e=r[0];return D(e)?(e=fr(e),r.length>1&&(t=r[1])):(r=_r(ur(r,!1,!1),String),e=function(n,t){return!Er(r,t)}),Ur(n,e,t)}));function zr(n,r,t){return i.call(n,0,Math.max(0,n.length-(null==r||t?1:r)))}function Lr(n,r,t){return null==n||n.length<1?null==r||t?void 0:[]:null==r||t?n[0]:zr(n,n.length-r)}function $r(n,r,t){return i.call(n,null==r||t?1:r)}var Cr=j((function(n,r){return r=ur(r,!0,!0),Sr(n,(function(n){return!Er(r,n)}))})),Kr=j((function(n,r){return Cr(n,r)}));function Jr(n,r,t,e){A(r)||(e=t,t=r,r=!1),null!=t&&(t=qn(t,e));for(var u=[],o=[],i=0,a=Y(n);i<a;i++){var f=n[i],c=t?t(f,i,n):f;r&&!t?(i&&o===c||u.push(f),o=c):t?Er(o,c)||(o.push(c),u.push(f)):Er(u,f)||u.push(f)}return u}var Gr=j((function(n){return Jr(ur(n,!0,!0))}));function Hr(n){for(var r=n&&Ir(n,Y).length||0,t=Array(r),e=0;e<r;e++)t[e]=Nr(n,e);return t}var Qr=j(Hr);function Xr(n,r){return n._chain?tn(r).chain():r}function Yr(n){return jr(wn(n),(function(r){var t=tn[r]=n[r];tn.prototype[r]=function(){var n=[this._wrapped];return o.apply(n,arguments),Xr(this,t.apply(tn,n))}})),tn}jr(["pop","push","reverse","shift","sort","splice","unshift"],(function(n){var r=t[n];tn.prototype[n]=function(){var t=this._wrapped;return null!=t&&(r.apply(t,arguments),"shift"!==n&&"splice"!==n||0!==t.length||delete t[0]),Xr(this,t)}})),jr(["concat","join","slice"],(function(n){var r=t[n];tn.prototype[n]=function(){var n=this._wrapped;return null!=n&&(n=r.apply(n,arguments)),Xr(this,n)}}));var Zr=Yr({__proto__:null,VERSION:n,restArguments:j,isObject:_,isNull:function(n){return null===n},isUndefined:w,isBoolean:A,isElement:function(n){return!(!n||1!==n.nodeType)},isString:S,isNumber:O,isDate:M,isRegExp:E,isError:B,isSymbol:N,isArrayBuffer:I,isDataView:q,isArray:U,isFunction:D,isArguments:L,isFinite:function(n){return!N(n)&&d(n)&&!isNaN(parseFloat(n))},isNaN:$,isTypedArray:X,isEmpty:function(n){if(null==n)return!0;var r=Y(n);return"number"==typeof r&&(U(n)||S(n)||L(n))?0===r:0===Y(nn(n))},isMatch:rn,isEqual:function(n,r){return on(n,r)},isMap:dn,isWeakMap:gn,isSet:bn,isWeakSet:mn,keys:nn,allKeys:an,values:jn,pairs:function(n){for(var r=nn(n),t=r.length,e=Array(t),u=0;u<t;u++)e[u]=[r[u],n[r[u]]];return e},invert:_n,functions:wn,methods:wn,extend:xn,extendOwn:Sn,assign:Sn,defaults:On,create:function(n,r){var t=Mn(n);return r&&Sn(t,r),t},clone:En,tap:function(n,r){return r(n),n},get:Tn,has:function(n,r){for(var t=(r=Nn(r)).length,e=0;e<t;e++){var u=r[e];if(!W(n,u))return!1;n=n[u]}return!!t},mapObject:function(n,r,t){r=qn(r,t);for(var e=nn(n),u=e.length,o={},i=0;i<u;i++){var a=e[i];o[a]=r(n[a],a,n)}return o},identity:kn,constant:C,noop:Un,toPath:Bn,property:Rn,propertyOf:function(n){return null==n?Un:function(r){return Tn(n,r)}},matcher:Dn,matches:Dn,times:function(n,r,t){var e=Array(Math.max(0,n));r=Fn(r,t,1);for(var u=0;u<n;u++)e[u]=r(u);return e},random:Wn,now:zn,escape:Cn,unescape:Kn,templateSettings:Jn,template:function(n,r,t){!r&&t&&(r=t),r=On({},r,tn.templateSettings);var e=RegExp([(r.escape||Gn).source,(r.interpolate||Gn).source,(r.evaluate||Gn).source].join("|")+"|$","g"),u=0,o="__p+='";n.replace(e,(function(r,t,e,i,a){return o+=n.slice(u,a).replace(Qn,Xn),u=a+r.length,t?o+="'+\n((__t=("+t+"))==null?'':_.escape(__t))+\n'":e?o+="'+\n((__t=("+e+"))==null?'':__t)+\n'":i&&(o+="';\n"+i+"\n__p+='"),r})),o+="';\n";var i,a=r.variable;if(a){if(!Yn.test(a))throw new Error("variable is not a bare identifier: "+a)}else o="with(obj||{}){\n"+o+"}\n",a="obj";o="var __t,__p='',__j=Array.prototype.join,"+"print=function(){__p+=__j.call(arguments,'');};\n"+o+"return __p;\n";try{i=new Function(a,"_",o)}catch(n){throw n.source=o,n}var f=function(n){return i.call(this,n,tn)};return f.source="function("+a+"){\n"+o+"}",f},result:function(n,r,t){var e=(r=Nn(r)).length;if(!e)return D(t)?t.call(n):t;for(var u=0;u<e;u++){var o=null==n?void 0:n[r[u]];void 0===o&&(o=t,u=e),n=D(o)?o.call(n):o}return n},uniqueId:function(n){var r=++Zn+"";return n?n+r:r},chain:function(n){var r=tn(n);return r._chain=!0,r},iteratee:Pn,partial:rr,bind:tr,bindAll:or,memoize:function(n,r){var t=function(e){var u=t.cache,o=""+(r?r.apply(this,arguments):e);return W(u,o)||(u[o]=n.apply(this,arguments)),u[o]};return t.cache={},t},delay:ir,defer:ar,throttle:function(n,r,t){var e,u,o,i,a=0;t||(t={});var f=function(){a=!1===t.leading?0:zn(),e=null,i=n.apply(u,o),e||(u=o=null)},c=function(){var c=zn();a||!1!==t.leading||(a=c);var l=r-(c-a);return u=this,o=arguments,l<=0||l>r?(e&&(clearTimeout(e),e=null),a=c,i=n.apply(u,o),e||(u=o=null)):e||!1===t.trailing||(e=setTimeout(f,l)),i};return c.cancel=function(){clearTimeout(e),a=0,e=u=o=null},c},debounce:function(n,r,t){var e,u,o,i,a,f=function(){var c=zn()-u;r>c?e=setTimeout(f,r-c):(e=null,t||(i=n.apply(a,o)),e||(o=a=null))},c=j((function(c){return a=this,o=c,u=zn(),e||(e=setTimeout(f,r),t&&(i=n.apply(a,o))),i}));return c.cancel=function(){clearTimeout(e),e=o=a=null},c},wrap:function(n,r){return rr(r,n)},negate:fr,compose:function(){var n=arguments,r=n.length-1;return function(){for(var t=r,e=n[r].apply(this,arguments);t--;)e=n[t].call(this,e);return e}},after:function(n,r){return function(){if(--n<1)return r.apply(this,arguments)}},before:cr,once:lr,findKey:sr,findIndex:vr,findLastIndex:hr,sortedIndex:yr,indexOf:gr,lastIndexOf:br,find:mr,detect:mr,findWhere:function(n,r){return mr(n,Dn(r))},each:jr,forEach:jr,map:_r,collect:_r,reduce:Ar,foldl:Ar,inject:Ar,reduceRight:xr,foldr:xr,filter:Sr,select:Sr,reject:function(n,r,t){return Sr(n,fr(qn(r)),t)},every:Or,all:Or,some:Mr,any:Mr,contains:Er,includes:Er,include:Er,invoke:Br,pluck:Nr,where:function(n,r){return Sr(n,Dn(r))},max:Ir,min:function(n,r,t){var e,u,o=1/0,i=1/0;if(null==r||"number"==typeof r&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=er(n)?n:jn(n)).length;a<f;a++)null!=(e=n[a])&&e<o&&(o=e);else r=qn(r,t),jr(n,(function(n,t,e){((u=r(n,t,e))<i||u===1/0&&o===1/0)&&(o=n,i=u)}));return o},shuffle:function(n){return Tr(n,1/0)},sample:Tr,sortBy:function(n,r,t){var e=0;return r=qn(r,t),Nr(_r(n,(function(n,t,u){return{value:n,index:e++,criteria:r(n,t,u)}})).sort((function(n,r){var t=n.criteria,e=r.criteria;if(t!==e){if(t>e||void 0===t)return 1;if(t<e||void 0===e)return-1}return n.index-r.index})),"value")},groupBy:Dr,indexBy:Rr,countBy:Fr,partition:Vr,toArray:function(n){return n?U(n)?i.call(n):S(n)?n.match(Pr):er(n)?_r(n,kn):jn(n):[]},size:function(n){return null==n?0:er(n)?n.length:nn(n).length},pick:Ur,omit:Wr,first:Lr,head:Lr,take:Lr,initial:zr,last:function(n,r,t){return null==n||n.length<1?null==r||t?void 0:[]:null==r||t?n[n.length-1]:$r(n,Math.max(0,n.length-r))},rest:$r,tail:$r,drop:$r,compact:function(n){return Sr(n,Boolean)},flatten:function(n,r){return ur(n,r,!1)},without:Kr,uniq:Jr,unique:Jr,union:Gr,intersection:function(n){for(var r=[],t=arguments.length,e=0,u=Y(n);e<u;e++){var o=n[e];if(!Er(r,o)){var i;for(i=1;i<t&&Er(arguments[i],o);i++);i===t&&r.push(o)}}return r},difference:Cr,unzip:Hr,transpose:Hr,zip:Qr,object:function(n,r){for(var t={},e=0,u=Y(n);e<u;e++)r?t[n[e]]=r[e]:t[n[e][0]]=n[e][1];return t},range:function(n,r,t){null==r&&(r=n||0,n=0),t||(t=r<n?-1:1);for(var e=Math.max(Math.ceil((r-n)/t),0),u=Array(e),o=0;o<e;o++,n+=t)u[o]=n;return u},chunk:function(n,r){if(null==r||r<1)return[];for(var t=[],e=0,u=n.length;e<u;)t.push(i.call(n,e,e+=r));return t},mixin:Yr,default:tn});return Zr._=Zr,Zr}));
 
3
  // https://underscorejs.org
4
  // (c) 2009-2021 Jeremy Ashkenas, Julian Gonggrijp, and DocumentCloud and Investigative Reporters & Editors
5
  // Underscore may be freely distributed under the MIT license.
6
+ var n="1.13.1",r="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||Function("return this")()||{},t=Array.prototype,e=Object.prototype,u="undefined"!=typeof Symbol?Symbol.prototype:null,o=t.push,i=t.slice,a=e.toString,f=e.hasOwnProperty,c="undefined"!=typeof ArrayBuffer,l="undefined"!=typeof DataView,s=Array.isArray,p=Object.keys,v=Object.create,h=c&&ArrayBuffer.isView,y=isNaN,d=isFinite,g=!{toString:null}.propertyIsEnumerable("toString"),b=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],m=Math.pow(2,53)-1;function j(n,r){return r=null==r?n.length-1:+r,function(){for(var t=Math.max(arguments.length-r,0),e=Array(t),u=0;u<t;u++)e[u]=arguments[u+r];switch(r){case 0:return n.call(this,e);case 1:return n.call(this,arguments[0],e);case 2:return n.call(this,arguments[0],arguments[1],e)}var o=Array(r+1);for(u=0;u<r;u++)o[u]=arguments[u];return o[r]=e,n.apply(this,o)}}function _(n){var r=typeof n;return"function"===r||"object"===r&&!!n}function w(n){return void 0===n}function A(n){return!0===n||!1===n||"[object Boolean]"===a.call(n)}function x(n){var r="[object "+n+"]";return function(n){return a.call(n)===r}}var S=x("String"),O=x("Number"),M=x("Date"),E=x("RegExp"),B=x("Error"),N=x("Symbol"),I=x("ArrayBuffer"),T=x("Function"),k=r.document&&r.document.childNodes;"function"!=typeof/./&&"object"!=typeof Int8Array&&"function"!=typeof k&&(T=function(n){return"function"==typeof n||!1});var D=T,R=x("Object"),F=l&&R(new DataView(new ArrayBuffer(8))),V="undefined"!=typeof Map&&R(new Map),P=x("DataView");var q=F?function(n){return null!=n&&D(n.getInt8)&&I(n.buffer)}:P,U=s||x("Array");function W(n,r){return null!=n&&f.call(n,r)}var z=x("Arguments");!function(){z(arguments)||(z=function(n){return W(n,"callee")})}();var L=z;function $(n){return O(n)&&y(n)}function C(n){return function(){return n}}function K(n){return function(r){var t=n(r);return"number"==typeof t&&t>=0&&t<=m}}function J(n){return function(r){return null==r?void 0:r[n]}}var G=J("byteLength"),H=K(G),Q=/\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/;var X=c?function(n){return h?h(n)&&!q(n):H(n)&&Q.test(a.call(n))}:C(!1),Y=J("length");function Z(n,r){r=function(n){for(var r={},t=n.length,e=0;e<t;++e)r[n[e]]=!0;return{contains:function(n){return r[n]},push:function(t){return r[t]=!0,n.push(t)}}}(r);var t=b.length,u=n.constructor,o=D(u)&&u.prototype||e,i="constructor";for(W(n,i)&&!r.contains(i)&&r.push(i);t--;)(i=b[t])in n&&n[i]!==o[i]&&!r.contains(i)&&r.push(i)}function nn(n){if(!_(n))return[];if(p)return p(n);var r=[];for(var t in n)W(n,t)&&r.push(t);return g&&Z(n,r),r}function rn(n,r){var t=nn(r),e=t.length;if(null==n)return!e;for(var u=Object(n),o=0;o<e;o++){var i=t[o];if(r[i]!==u[i]||!(i in u))return!1}return!0}function tn(n){return n instanceof tn?n:this instanceof tn?void(this._wrapped=n):new tn(n)}function en(n){return new Uint8Array(n.buffer||n,n.byteOffset||0,G(n))}tn.VERSION=n,tn.prototype.value=function(){return this._wrapped},tn.prototype.valueOf=tn.prototype.toJSON=tn.prototype.value,tn.prototype.toString=function(){return String(this._wrapped)};var un="[object DataView]";function on(n,r,t,e){if(n===r)return 0!==n||1/n==1/r;if(null==n||null==r)return!1;if(n!=n)return r!=r;var o=typeof n;return("function"===o||"object"===o||"object"==typeof r)&&function n(r,t,e,o){r instanceof tn&&(r=r._wrapped);t instanceof tn&&(t=t._wrapped);var i=a.call(r);if(i!==a.call(t))return!1;if(F&&"[object Object]"==i&&q(r)){if(!q(t))return!1;i=un}switch(i){case"[object RegExp]":case"[object String]":return""+r==""+t;case"[object Number]":return+r!=+r?+t!=+t:0==+r?1/+r==1/t:+r==+t;case"[object Date]":case"[object Boolean]":return+r==+t;case"[object Symbol]":return u.valueOf.call(r)===u.valueOf.call(t);case"[object ArrayBuffer]":case un:return n(en(r),en(t),e,o)}var f="[object Array]"===i;if(!f&&X(r)){if(G(r)!==G(t))return!1;if(r.buffer===t.buffer&&r.byteOffset===t.byteOffset)return!0;f=!0}if(!f){if("object"!=typeof r||"object"!=typeof t)return!1;var c=r.constructor,l=t.constructor;if(c!==l&&!(D(c)&&c instanceof c&&D(l)&&l instanceof l)&&"constructor"in r&&"constructor"in t)return!1}o=o||[];var s=(e=e||[]).length;for(;s--;)if(e[s]===r)return o[s]===t;if(e.push(r),o.push(t),f){if((s=r.length)!==t.length)return!1;for(;s--;)if(!on(r[s],t[s],e,o))return!1}else{var p,v=nn(r);if(s=v.length,nn(t).length!==s)return!1;for(;s--;)if(p=v[s],!W(t,p)||!on(r[p],t[p],e,o))return!1}return e.pop(),o.pop(),!0}(n,r,t,e)}function an(n){if(!_(n))return[];var r=[];for(var t in n)r.push(t);return g&&Z(n,r),r}function fn(n){var r=Y(n);return function(t){if(null==t)return!1;var e=an(t);if(Y(e))return!1;for(var u=0;u<r;u++)if(!D(t[n[u]]))return!1;return n!==hn||!D(t[cn])}}var cn="forEach",ln="has",sn=["clear","delete"],pn=["get",ln,"set"],vn=sn.concat(cn,pn),hn=sn.concat(pn),yn=["add"].concat(sn,cn,ln),dn=V?fn(vn):x("Map"),gn=V?fn(hn):x("WeakMap"),bn=V?fn(yn):x("Set"),mn=x("WeakSet");function jn(n){for(var r=nn(n),t=r.length,e=Array(t),u=0;u<t;u++)e[u]=n[r[u]];return e}function _n(n){for(var r={},t=nn(n),e=0,u=t.length;e<u;e++)r[n[t[e]]]=t[e];return r}function wn(n){var r=[];for(var t in n)D(n[t])&&r.push(t);return r.sort()}function An(n,r){return function(t){var e=arguments.length;if(r&&(t=Object(t)),e<2||null==t)return t;for(var u=1;u<e;u++)for(var o=arguments[u],i=n(o),a=i.length,f=0;f<a;f++){var c=i[f];r&&void 0!==t[c]||(t[c]=o[c])}return t}}var xn=An(an),Sn=An(nn),On=An(an,!0);function Mn(n){if(!_(n))return{};if(v)return v(n);var r=function(){};r.prototype=n;var t=new r;return r.prototype=null,t}function En(n){return _(n)?U(n)?n.slice():xn({},n):n}function Bn(n){return U(n)?n:[n]}function Nn(n){return tn.toPath(n)}function In(n,r){for(var t=r.length,e=0;e<t;e++){if(null==n)return;n=n[r[e]]}return t?n:void 0}function Tn(n,r,t){var e=In(n,Nn(r));return w(e)?t:e}function kn(n){return n}function Dn(n){return n=Sn({},n),function(r){return rn(r,n)}}function Rn(n){return n=Nn(n),function(r){return In(r,n)}}function Fn(n,r,t){if(void 0===r)return n;switch(null==t?3:t){case 1:return function(t){return n.call(r,t)};case 3:return function(t,e,u){return n.call(r,t,e,u)};case 4:return function(t,e,u,o){return n.call(r,t,e,u,o)}}return function(){return n.apply(r,arguments)}}function Vn(n,r,t){return null==n?kn:D(n)?Fn(n,r,t):_(n)&&!U(n)?Dn(n):Rn(n)}function Pn(n,r){return Vn(n,r,1/0)}function qn(n,r,t){return tn.iteratee!==Pn?tn.iteratee(n,r):Vn(n,r,t)}function Un(){}function Wn(n,r){return null==r&&(r=n,n=0),n+Math.floor(Math.random()*(r-n+1))}tn.toPath=Bn,tn.iteratee=Pn;var zn=Date.now||function(){return(new Date).getTime()};function Ln(n){var r=function(r){return n[r]},t="(?:"+nn(n).join("|")+")",e=RegExp(t),u=RegExp(t,"g");return function(n){return n=null==n?"":""+n,e.test(n)?n.replace(u,r):n}}var $n={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},Cn=Ln($n),Kn=Ln(_n($n)),Jn=tn.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g},Gn=/(.)^/,Hn={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},Qn=/\\|'|\r|\n|\u2028|\u2029/g;function Xn(n){return"\\"+Hn[n]}var Yn=/^\s*(\w|\$)+\s*$/;var Zn=0;function nr(n,r,t,e,u){if(!(e instanceof r))return n.apply(t,u);var o=Mn(n.prototype),i=n.apply(o,u);return _(i)?i:o}var rr=j((function(n,r){var t=rr.placeholder,e=function(){for(var u=0,o=r.length,i=Array(o),a=0;a<o;a++)i[a]=r[a]===t?arguments[u++]:r[a];for(;u<arguments.length;)i.push(arguments[u++]);return nr(n,e,this,this,i)};return e}));rr.placeholder=tn;var tr=j((function(n,r,t){if(!D(n))throw new TypeError("Bind must be called on a function");var e=j((function(u){return nr(n,e,r,this,t.concat(u))}));return e})),er=K(Y);function ur(n,r,t,e){if(e=e||[],r||0===r){if(r<=0)return e.concat(n)}else r=1/0;for(var u=e.length,o=0,i=Y(n);o<i;o++){var a=n[o];if(er(a)&&(U(a)||L(a)))if(r>1)ur(a,r-1,t,e),u=e.length;else for(var f=0,c=a.length;f<c;)e[u++]=a[f++];else t||(e[u++]=a)}return e}var or=j((function(n,r){var t=(r=ur(r,!1,!1)).length;if(t<1)throw new Error("bindAll must be passed function names");for(;t--;){var e=r[t];n[e]=tr(n[e],n)}return n}));var ir=j((function(n,r,t){return setTimeout((function(){return n.apply(null,t)}),r)})),ar=rr(ir,tn,1);function fr(n){return function(){return!n.apply(this,arguments)}}function cr(n,r){var t;return function(){return--n>0&&(t=r.apply(this,arguments)),n<=1&&(r=null),t}}var lr=rr(cr,2);function sr(n,r,t){r=qn(r,t);for(var e,u=nn(n),o=0,i=u.length;o<i;o++)if(r(n[e=u[o]],e,n))return e}function pr(n){return function(r,t,e){t=qn(t,e);for(var u=Y(r),o=n>0?0:u-1;o>=0&&o<u;o+=n)if(t(r[o],o,r))return o;return-1}}var vr=pr(1),hr=pr(-1);function yr(n,r,t,e){for(var u=(t=qn(t,e,1))(r),o=0,i=Y(n);o<i;){var a=Math.floor((o+i)/2);t(n[a])<u?o=a+1:i=a}return o}function dr(n,r,t){return function(e,u,o){var a=0,f=Y(e);if("number"==typeof o)n>0?a=o>=0?o:Math.max(o+f,a):f=o>=0?Math.min(o+1,f):o+f+1;else if(t&&o&&f)return e[o=t(e,u)]===u?o:-1;if(u!=u)return(o=r(i.call(e,a,f),$))>=0?o+a:-1;for(o=n>0?a:f-1;o>=0&&o<f;o+=n)if(e[o]===u)return o;return-1}}var gr=dr(1,vr,yr),br=dr(-1,hr);function mr(n,r,t){var e=(er(n)?vr:sr)(n,r,t);if(void 0!==e&&-1!==e)return n[e]}function jr(n,r,t){var e,u;if(r=Fn(r,t),er(n))for(e=0,u=n.length;e<u;e++)r(n[e],e,n);else{var o=nn(n);for(e=0,u=o.length;e<u;e++)r(n[o[e]],o[e],n)}return n}function _r(n,r,t){r=qn(r,t);for(var e=!er(n)&&nn(n),u=(e||n).length,o=Array(u),i=0;i<u;i++){var a=e?e[i]:i;o[i]=r(n[a],a,n)}return o}function wr(n){var r=function(r,t,e,u){var o=!er(r)&&nn(r),i=(o||r).length,a=n>0?0:i-1;for(u||(e=r[o?o[a]:a],a+=n);a>=0&&a<i;a+=n){var f=o?o[a]:a;e=t(e,r[f],f,r)}return e};return function(n,t,e,u){var o=arguments.length>=3;return r(n,Fn(t,u,4),e,o)}}var Ar=wr(1),xr=wr(-1);function Sr(n,r,t){var e=[];return r=qn(r,t),jr(n,(function(n,t,u){r(n,t,u)&&e.push(n)})),e}function Or(n,r,t){r=qn(r,t);for(var e=!er(n)&&nn(n),u=(e||n).length,o=0;o<u;o++){var i=e?e[o]:o;if(!r(n[i],i,n))return!1}return!0}function Mr(n,r,t){r=qn(r,t);for(var e=!er(n)&&nn(n),u=(e||n).length,o=0;o<u;o++){var i=e?e[o]:o;if(r(n[i],i,n))return!0}return!1}function Er(n,r,t,e){return er(n)||(n=jn(n)),("number"!=typeof t||e)&&(t=0),gr(n,r,t)>=0}var Br=j((function(n,r,t){var e,u;return D(r)?u=r:(r=Nn(r),e=r.slice(0,-1),r=r[r.length-1]),_r(n,(function(n){var o=u;if(!o){if(e&&e.length&&(n=In(n,e)),null==n)return;o=n[r]}return null==o?o:o.apply(n,t)}))}));function Nr(n,r){return _r(n,Rn(r))}function Ir(n,r,t){var e,u,o=-1/0,i=-1/0;if(null==r||"number"==typeof r&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=er(n)?n:jn(n)).length;a<f;a++)null!=(e=n[a])&&e>o&&(o=e);else r=qn(r,t),jr(n,(function(n,t,e){((u=r(n,t,e))>i||u===-1/0&&o===-1/0)&&(o=n,i=u)}));return o}function Tr(n,r,t){if(null==r||t)return er(n)||(n=jn(n)),n[Wn(n.length-1)];var e=er(n)?En(n):jn(n),u=Y(e);r=Math.max(Math.min(r,u),0);for(var o=u-1,i=0;i<r;i++){var a=Wn(i,o),f=e[i];e[i]=e[a],e[a]=f}return e.slice(0,r)}function kr(n,r){return function(t,e,u){var o=r?[[],[]]:{};return e=qn(e,u),jr(t,(function(r,u){var i=e(r,u,t);n(o,r,i)})),o}}var Dr=kr((function(n,r,t){W(n,t)?n[t].push(r):n[t]=[r]})),Rr=kr((function(n,r,t){n[t]=r})),Fr=kr((function(n,r,t){W(n,t)?n[t]++:n[t]=1})),Vr=kr((function(n,r,t){n[t?0:1].push(r)}),!0),Pr=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;function qr(n,r,t){return r in t}var Ur=j((function(n,r){var t={},e=r[0];if(null==n)return t;D(e)?(r.length>1&&(e=Fn(e,r[1])),r=an(n)):(e=qr,r=ur(r,!1,!1),n=Object(n));for(var u=0,o=r.length;u<o;u++){var i=r[u],a=n[i];e(a,i,n)&&(t[i]=a)}return t})),Wr=j((function(n,r){var t,e=r[0];return D(e)?(e=fr(e),r.length>1&&(t=r[1])):(r=_r(ur(r,!1,!1),String),e=function(n,t){return!Er(r,t)}),Ur(n,e,t)}));function zr(n,r,t){return i.call(n,0,Math.max(0,n.length-(null==r||t?1:r)))}function Lr(n,r,t){return null==n||n.length<1?null==r||t?void 0:[]:null==r||t?n[0]:zr(n,n.length-r)}function $r(n,r,t){return i.call(n,null==r||t?1:r)}var Cr=j((function(n,r){return r=ur(r,!0,!0),Sr(n,(function(n){return!Er(r,n)}))})),Kr=j((function(n,r){return Cr(n,r)}));function Jr(n,r,t,e){A(r)||(e=t,t=r,r=!1),null!=t&&(t=qn(t,e));for(var u=[],o=[],i=0,a=Y(n);i<a;i++){var f=n[i],c=t?t(f,i,n):f;r&&!t?(i&&o===c||u.push(f),o=c):t?Er(o,c)||(o.push(c),u.push(f)):Er(u,f)||u.push(f)}return u}var Gr=j((function(n){return Jr(ur(n,!0,!0))}));function Hr(n){for(var r=n&&Ir(n,Y).length||0,t=Array(r),e=0;e<r;e++)t[e]=Nr(n,e);return t}var Qr=j(Hr);function Xr(n,r){return n._chain?tn(r).chain():r}function Yr(n){return jr(wn(n),(function(r){var t=tn[r]=n[r];tn.prototype[r]=function(){var n=[this._wrapped];return o.apply(n,arguments),Xr(this,t.apply(tn,n))}})),tn}jr(["pop","push","reverse","shift","sort","splice","unshift"],(function(n){var r=t[n];tn.prototype[n]=function(){var t=this._wrapped;return null!=t&&(r.apply(t,arguments),"shift"!==n&&"splice"!==n||0!==t.length||delete t[0]),Xr(this,t)}})),jr(["concat","join","slice"],(function(n){var r=t[n];tn.prototype[n]=function(){var n=this._wrapped;return null!=n&&(n=r.apply(n,arguments)),Xr(this,n)}}));var Zr=Yr({__proto__:null,VERSION:n,restArguments:j,isObject:_,isNull:function(n){return null===n},isUndefined:w,isBoolean:A,isElement:function(n){return!(!n||1!==n.nodeType)},isString:S,isNumber:O,isDate:M,isRegExp:E,isError:B,isSymbol:N,isArrayBuffer:I,isDataView:q,isArray:U,isFunction:D,isArguments:L,isFinite:function(n){return!N(n)&&d(n)&&!isNaN(parseFloat(n))},isNaN:$,isTypedArray:X,isEmpty:function(n){if(null==n)return!0;var r=Y(n);return"number"==typeof r&&(U(n)||S(n)||L(n))?0===r:0===Y(nn(n))},isMatch:rn,isEqual:function(n,r){return on(n,r)},isMap:dn,isWeakMap:gn,isSet:bn,isWeakSet:mn,keys:nn,allKeys:an,values:jn,pairs:function(n){for(var r=nn(n),t=r.length,e=Array(t),u=0;u<t;u++)e[u]=[r[u],n[r[u]]];return e},invert:_n,functions:wn,methods:wn,extend:xn,extendOwn:Sn,assign:Sn,defaults:On,create:function(n,r){var t=Mn(n);return r&&Sn(t,r),t},clone:En,tap:function(n,r){return r(n),n},get:Tn,has:function(n,r){for(var t=(r=Nn(r)).length,e=0;e<t;e++){var u=r[e];if(!W(n,u))return!1;n=n[u]}return!!t},mapObject:function(n,r,t){r=qn(r,t);for(var e=nn(n),u=e.length,o={},i=0;i<u;i++){var a=e[i];o[a]=r(n[a],a,n)}return o},identity:kn,constant:C,noop:Un,toPath:Bn,property:Rn,propertyOf:function(n){return null==n?Un:function(r){return Tn(n,r)}},matcher:Dn,matches:Dn,times:function(n,r,t){var e=Array(Math.max(0,n));r=Fn(r,t,1);for(var u=0;u<n;u++)e[u]=r(u);return e},random:Wn,now:zn,escape:Cn,unescape:Kn,templateSettings:Jn,template:function(n,r,t){!r&&t&&(r=t),r=On({},r,tn.templateSettings);var e=RegExp([(r.escape||Gn).source,(r.interpolate||Gn).source,(r.evaluate||Gn).source].join("|")+"|$","g"),u=0,o="__p+='";n.replace(e,(function(r,t,e,i,a){return o+=n.slice(u,a).replace(Qn,Xn),u=a+r.length,t?o+="'+\n((__t=("+t+"))==null?'':_.escape(__t))+\n'":e?o+="'+\n((__t=("+e+"))==null?'':__t)+\n'":i&&(o+="';\n"+i+"\n__p+='"),r})),o+="';\n";var i,a=r.variable;if(a){if(!Yn.test(a))throw new Error("variable is not a bare identifier: "+a)}else o="with(obj||{}){\n"+o+"}\n",a="obj";o="var __t,__p='',__j=Array.prototype.join,"+"print=function(){__p+=__j.call(arguments,'');};\n"+o+"return __p;\n";try{i=new Function(a,"_",o)}catch(n){throw n.source=o,n}var f=function(n){return i.call(this,n,tn)};return f.source="function("+a+"){\n"+o+"}",f},result:function(n,r,t){var e=(r=Nn(r)).length;if(!e)return D(t)?t.call(n):t;for(var u=0;u<e;u++){var o=null==n?void 0:n[r[u]];void 0===o&&(o=t,u=e),n=D(o)?o.call(n):o}return n},uniqueId:function(n){var r=++Zn+"";return n?n+r:r},chain:function(n){var r=tn(n);return r._chain=!0,r},iteratee:Pn,partial:rr,bind:tr,bindAll:or,memoize:function(n,r){var t=function(e){var u=t.cache,o=""+(r?r.apply(this,arguments):e);return W(u,o)||(u[o]=n.apply(this,arguments)),u[o]};return t.cache={},t},delay:ir,defer:ar,throttle:function(n,r,t){var e,u,o,i,a=0;t||(t={});var f=function(){a=!1===t.leading?0:zn(),e=null,i=n.apply(u,o),e||(u=o=null)},c=function(){var c=zn();a||!1!==t.leading||(a=c);var l=r-(c-a);return u=this,o=arguments,l<=0||l>r?(e&&(clearTimeout(e),e=null),a=c,i=n.apply(u,o),e||(u=o=null)):e||!1===t.trailing||(e=setTimeout(f,l)),i};return c.cancel=function(){clearTimeout(e),a=0,e=u=o=null},c},debounce:function(n,r,t){var e,u,o,i,a,f=function(){var c=zn()-u;r>c?e=setTimeout(f,r-c):(e=null,t||(i=n.apply(a,o)),e||(o=a=null))},c=j((function(c){return a=this,o=c,u=zn(),e||(e=setTimeout(f,r),t&&(i=n.apply(a,o))),i}));return c.cancel=function(){clearTimeout(e),e=o=a=null},c},wrap:function(n,r){return rr(r,n)},negate:fr,compose:function(){var n=arguments,r=n.length-1;return function(){for(var t=r,e=n[r].apply(this,arguments);t--;)e=n[t].call(this,e);return e}},after:function(n,r){return function(){if(--n<1)return r.apply(this,arguments)}},before:cr,once:lr,findKey:sr,findIndex:vr,findLastIndex:hr,sortedIndex:yr,indexOf:gr,lastIndexOf:br,find:mr,detect:mr,findWhere:function(n,r){return mr(n,Dn(r))},each:jr,forEach:jr,map:_r,collect:_r,reduce:Ar,foldl:Ar,inject:Ar,reduceRight:xr,foldr:xr,filter:Sr,select:Sr,reject:function(n,r,t){return Sr(n,fr(qn(r)),t)},every:Or,all:Or,some:Mr,any:Mr,contains:Er,includes:Er,include:Er,invoke:Br,pluck:Nr,where:function(n,r){return Sr(n,Dn(r))},max:Ir,min:function(n,r,t){var e,u,o=1/0,i=1/0;if(null==r||"number"==typeof r&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=er(n)?n:jn(n)).length;a<f;a++)null!=(e=n[a])&&e<o&&(o=e);else r=qn(r,t),jr(n,(function(n,t,e){((u=r(n,t,e))<i||u===1/0&&o===1/0)&&(o=n,i=u)}));return o},shuffle:function(n){return Tr(n,1/0)},sample:Tr,sortBy:function(n,r,t){var e=0;return r=qn(r,t),Nr(_r(n,(function(n,t,u){return{value:n,index:e++,criteria:r(n,t,u)}})).sort((function(n,r){var t=n.criteria,e=r.criteria;if(t!==e){if(t>e||void 0===t)return 1;if(t<e||void 0===e)return-1}return n.index-r.index})),"value")},groupBy:Dr,indexBy:Rr,countBy:Fr,partition:Vr,toArray:function(n){return n?U(n)?i.call(n):S(n)?n.match(Pr):er(n)?_r(n,kn):jn(n):[]},size:function(n){return null==n?0:er(n)?n.length:nn(n).length},pick:Ur,omit:Wr,first:Lr,head:Lr,take:Lr,initial:zr,last:function(n,r,t){return null==n||n.length<1?null==r||t?void 0:[]:null==r||t?n[n.length-1]:$r(n,Math.max(0,n.length-r))},rest:$r,tail:$r,drop:$r,compact:function(n){return Sr(n,Boolean)},flatten:function(n,r){return ur(n,r,!1)},without:Kr,uniq:Jr,unique:Jr,union:Gr,intersection:function(n){for(var r=[],t=arguments.length,e=0,u=Y(n);e<u;e++){var o=n[e];if(!Er(r,o)){var i;for(i=1;i<t&&Er(arguments[i],o);i++);i===t&&r.push(o)}}return r},difference:Cr,unzip:Hr,transpose:Hr,zip:Qr,object:function(n,r){for(var t={},e=0,u=Y(n);e<u;e++)r?t[n[e]]=r[e]:t[n[e][0]]=n[e][1];return t},range:function(n,r,t){null==r&&(r=n||0,n=0),t||(t=r<n?-1:1);for(var e=Math.max(Math.ceil((r-n)/t),0),u=Array(e),o=0;o<e;o++,n+=t)u[o]=n;return u},chunk:function(n,r){if(null==r||r<1)return[];for(var t=[],e=0,u=n.length;e<u;)t.push(i.call(n,e,e+=r));return t},mixin:Yr,default:tn});return Zr._=Zr,Zr}));
book/content/_build/html/_static/vendor/fontawesome/5.13.0/css/all.min.css CHANGED
The diff for this file is too large to render. See raw diff
 
book/content/_build/html/_static/vendor/fontawesome/5.13.0/webfonts/fa-brands-400.svg CHANGED
book/content/_build/html/_static/vendor/fontawesome/5.13.0/webfonts/fa-regular-400.svg CHANGED
book/content/_build/html/_static/vendor/fontawesome/5.13.0/webfonts/fa-solid-900.svg CHANGED
book/content/_build/html/_static/webpack-macros.html CHANGED
@@ -22,4 +22,4 @@
22
 
23
  {% macro body_post() %}
24
  <script src="{{ pathto('_static/js/index.be7d3bbb2ef33a8344ce.js', 1) }}"></script>
25
- {% endmacro %}
 
22
 
23
  {% macro body_post() %}
24
  <script src="{{ pathto('_static/js/index.be7d3bbb2ef33a8344ce.js', 1) }}"></script>
25
+ {% endmacro %}
book/content/_build/html/base.html CHANGED
@@ -7,11 +7,11 @@
7
  <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
8
 
9
  <title>Base class &#8212; Ayers Lab</title>
10
-
11
  <link href="_static/css/theme.css" rel="stylesheet">
12
  <link href="_static/css/index.ff1ffe594081f20da1ef19478df9384b.css" rel="stylesheet">
13
 
14
-
15
  <link rel="stylesheet"
16
  href="_static/vendor/fontawesome/5.13.0/css/all.min.css">
17
  <link rel="preload" as="font" type="font/woff2" crossorigin
@@ -19,10 +19,10 @@
19
  <link rel="preload" as="font" type="font/woff2" crossorigin
20
  href="_static/vendor/fontawesome/5.13.0/webfonts/fa-brands-400.woff2">
21
 
22
-
23
-
24
 
25
-
 
 
26
  <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
27
  <link rel="stylesheet" type="text/css" href="_static/sphinx-book-theme.css?digest=c3fdc42140077d1ad13ad2f1588a4309" />
28
  <link rel="stylesheet" type="text/css" href="_static/togglebutton.css" />
@@ -31,7 +31,7 @@
31
  <link rel="stylesheet" type="text/css" href="_static/sphinx-thebe.css" />
32
  <link rel="stylesheet" type="text/css" href="_static/panels-main.c949a650a448cc0ae9fd3441c0e17fb0.css" />
33
  <link rel="stylesheet" type="text/css" href="_static/panels-variables.06eb56fa6e07937060861dad626602ad.css" />
34
-
35
  <link rel="preload" as="script" href="_static/js/index.be7d3bbb2ef33a8344ce.js">
36
 
37
  <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
@@ -57,34 +57,34 @@
57
  <link rel="prev" title="Getting started" href="starting.html" />
58
  <meta name="viewport" content="width=device-width, initial-scale=1" />
59
  <meta name="docsearch:language" content="None">
60
-
61
 
62
  <!-- Google Analytics -->
63
-
64
  </head>
65
  <body data-spy="scroll" data-target="#bd-toc-nav" data-offset="80">
66
-
67
  <div class="container-fluid" id="banner"></div>
68
 
69
-
70
 
71
  <div class="container-xl">
72
  <div class="row">
73
-
74
  <div class="col-12 col-md-3 bd-sidebar site-navigation show" id="site-navigation">
75
-
76
  <div class="navbar-brand-box">
77
  <a class="navbar-brand text-wrap" href="index.html">
78
-
79
  <!-- `logo` is deprecated in Sphinx 4.0, so remove this when we stop supporting 3 -->
80
-
81
-
82
-
83
  <img src="_static/selector_logo.png" class="logo" alt="logo">
84
-
85
-
86
  <h1 class="site-logo" id="site-title">Ayers Lab</h1>
87
-
88
  </a>
89
  </div><form class="bd-search d-flex align-items-center" action="search.html" method="get">
90
  <i class="icon fas fa-search"></i>
@@ -153,17 +153,17 @@
153
  </div>
154
 
155
 
156
-
157
 
158
 
159
-
 
160
  <main class="col py-md-3 pl-md-4 bd-content overflow-auto" role="main">
161
-
162
  <div class="topbar container-xl fixed-top">
163
  <div class="topbar-contents row">
164
  <div class="col-12 col-md-3 bd-topbar-whitespace site-navigation show"></div>
165
  <div class="col pl-md-4 topbar-main">
166
-
167
  <button id="navbar-toggler" class="navbar-toggler ml-0" type="button" data-toggle="collapse"
168
  data-toggle="tooltip" data-placement="bottom" data-target=".site-navigation" aria-controls="navbar-menu"
169
  aria-expanded="true" aria-label="Toggle navigation" aria-controls="site-navigation"
@@ -172,15 +172,15 @@
172
  <i class="fas fa-arrow-left"></i>
173
  <i class="fas fa-arrow-up"></i>
174
  </button>
175
-
176
-
177
  <div class="dropdown-buttons-trigger">
178
  <button id="dropdown-buttons-trigger" class="btn btn-secondary topbarbtn" aria-label="Download this page"><i
179
  class="fas fa-download"></i></button>
180
 
181
  <div class="dropdown-buttons">
182
  <!-- ipynb file if we had a myst markdown file -->
183
-
184
  <!-- Download raw file -->
185
  <a class="dropdown-buttons" href="_sources/base.rst"><button type="button"
186
  class="btn btn-secondary topbarbtn" title="Download source file" data-toggle="tooltip"
@@ -198,14 +198,14 @@
198
  aria-label="Connect with source repository"><i class="fab fa-github"></i></button>
199
  <div class="dropdown-buttons sourcebuttons">
200
  <a class="repository-button"
201
- href="https://github.com/theochem/DiverseSelector"><button type="button" class="btn btn-secondary topbarbtn"
202
  data-toggle="tooltip" data-placement="left" title="Source repository"><i
203
  class="fab fa-github"></i>repository</button></a>
204
  <a class="issues-button"
205
- href="https://github.com/theochem/DiverseSelector/issues/new?title=Issue%20on%20page%20%2Fbase.html&body=Your%20issue%20content%20here."><button
206
  type="button" class="btn btn-secondary topbarbtn" data-toggle="tooltip" data-placement="left"
207
  title="Open an issue"><i class="fas fa-lightbulb"></i>open issue</button></a>
208
-
209
  </div>
210
  </div>
211
 
@@ -222,25 +222,25 @@
222
 
223
  <!-- Table of contents -->
224
  <div class="d-none d-md-block col-md-2 bd-toc show">
225
-
226
  </div>
227
  </div>
228
  </div>
229
  <div id="main-content" class="row">
230
  <div class="col-12 col-md-9 pl-md-3 pr-md-0">
231
-
232
  <div>
233
-
234
- <section id="module-DiverseSelector.base">
235
- <span id="base-class"></span><h1>Base class<a class="headerlink" href="#module-DiverseSelector.base" title="Permalink to this headline">¶</a></h1>
236
  <p>Base class for diversity based subset selection.</p>
237
  <dl class="py class">
238
- <dt class="sig sig-object py" id="DiverseSelector.base.SelectionBase">
239
- <em class="property"><span class="pre">class</span> </em><span class="sig-prename descclassname"><span class="pre">DiverseSelector.base.</span></span><span class="sig-name descname"><span class="pre">SelectionBase</span></span><a class="headerlink" href="#DiverseSelector.base.SelectionBase" title="Permalink to this definition">¶</a></dt>
240
  <dd><p>Base class for selecting subset of sample points.</p>
241
  <dl class="py method">
242
- <dt class="sig sig-object py" id="DiverseSelector.base.SelectionBase.select">
243
- <span class="sig-name descname"><span class="pre">select</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span><span class="p"><span class="pre">:</span></span> <span class="n"><span class="pre">numpy.ndarray</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">size</span></span><span class="p"><span class="pre">:</span></span> <span class="n"><span class="pre">int</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">labels</span></span><span class="p"><span class="pre">:</span></span> <span class="n"><span class="pre">Optional</span><span class="p"><span class="pre">[</span></span><span class="pre">numpy.ndarray</span><span class="p"><span class="pre">]</span></span></span> <span class="o"><span class="pre">=</span></span> <span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">numpy.ndarray</span></span></span><a class="headerlink" href="#DiverseSelector.base.SelectionBase.select" title="Permalink to this definition">¶</a></dt>
244
  <dd><p>Return indices representing subset of sample points.</p>
245
  <dl class="simple">
246
  <dt>X: ndarray of shape (n_samples, n_features) or (n_samples, n_samples)</dt><dd><p>Feature matrix of <cite>n_samples</cite> samples in <cite>n_features</cite> dimensional feature space.
@@ -260,8 +260,8 @@ If labels are provided, selection is made from each cluster.</p>
260
  </dd></dl>
261
 
262
  <dl class="py method">
263
- <dt class="sig sig-object py" id="DiverseSelector.base.SelectionBase.select_from_cluster">
264
- <em class="property"><span class="pre">abstract</span> </em><span class="sig-name descname"><span class="pre">select_from_cluster</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span><span class="p"><span class="pre">:</span></span> <span class="n"><span class="pre">numpy.ndarray</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">size</span></span><span class="p"><span class="pre">:</span></span> <span class="n"><span class="pre">int</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">labels</span></span><span class="p"><span class="pre">:</span></span> <span class="n"><span class="pre">Optional</span><span class="p"><span class="pre">[</span></span><span class="pre">numpy.ndarray</span><span class="p"><span class="pre">]</span></span></span> <span class="o"><span class="pre">=</span></span> <span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">numpy.ndarray</span></span></span><a class="headerlink" href="#DiverseSelector.base.SelectionBase.select_from_cluster" title="Permalink to this definition">¶</a></dt>
265
  <dd><p>Return indices representing subset of sample points from one cluster.</p>
266
  <dl class="simple">
267
  <dt>X: ndarray of shape (n_samples, n_features) or (n_samples, n_samples)</dt><dd><p>Feature matrix of <cite>n_samples</cite> samples in <cite>n_features</cite> dimensional feature space.
@@ -288,7 +288,7 @@ If labels are provided, selection is made from each cluster.</p>
288
  {
289
  requestKernel: true,
290
  binderOptions: {
291
- repo: "theochem/DiverseSelector",
292
  ref: "main",
293
  },
294
  codeMirrorConfig: {
@@ -305,10 +305,10 @@ If labels are provided, selection is made from each cluster.</p>
305
  <script>kernelName = 'python3'</script>
306
 
307
  </div>
308
-
309
-
310
  <!-- Previous / next buttons -->
311
- <div class='prev-next-area'>
312
  <a class='left-prev' id="prev-link" href="starting.html" title="previous page">
313
  <i class="fas fa-angle-left"></i>
314
  <div class="prev-next-info">
@@ -324,15 +324,15 @@ If labels are provided, selection is made from each cluster.</p>
324
  <i class="fas fa-angle-right"></i>
325
  </a>
326
  </div>
327
-
328
  </div>
329
  </div>
330
  <footer class="footer">
331
  <div class="container">
332
  <p>
333
-
334
  By The QC-Dev Community with the support of Digital Research Alliance of Canada and The Jupyter Book Community<br/>
335
-
336
  &copy; Copyright 2022-2023.<br/>
337
  </p>
338
  </div>
@@ -342,8 +342,8 @@ If labels are provided, selection is made from each cluster.</p>
342
 
343
  </div>
344
  </div>
345
-
346
  <script src="_static/js/index.be7d3bbb2ef33a8344ce.js"></script>
347
 
348
  </body>
349
- </html>
 
7
  <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
8
 
9
  <title>Base class &#8212; Ayers Lab</title>
10
+
11
  <link href="_static/css/theme.css" rel="stylesheet">
12
  <link href="_static/css/index.ff1ffe594081f20da1ef19478df9384b.css" rel="stylesheet">
13
 
14
+
15
  <link rel="stylesheet"
16
  href="_static/vendor/fontawesome/5.13.0/css/all.min.css">
17
  <link rel="preload" as="font" type="font/woff2" crossorigin
 
19
  <link rel="preload" as="font" type="font/woff2" crossorigin
20
  href="_static/vendor/fontawesome/5.13.0/webfonts/fa-brands-400.woff2">
21
 
 
 
22
 
23
+
24
+
25
+
26
  <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
27
  <link rel="stylesheet" type="text/css" href="_static/sphinx-book-theme.css?digest=c3fdc42140077d1ad13ad2f1588a4309" />
28
  <link rel="stylesheet" type="text/css" href="_static/togglebutton.css" />
 
31
  <link rel="stylesheet" type="text/css" href="_static/sphinx-thebe.css" />
32
  <link rel="stylesheet" type="text/css" href="_static/panels-main.c949a650a448cc0ae9fd3441c0e17fb0.css" />
33
  <link rel="stylesheet" type="text/css" href="_static/panels-variables.06eb56fa6e07937060861dad626602ad.css" />
34
+
35
  <link rel="preload" as="script" href="_static/js/index.be7d3bbb2ef33a8344ce.js">
36
 
37
  <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
 
57
  <link rel="prev" title="Getting started" href="starting.html" />
58
  <meta name="viewport" content="width=device-width, initial-scale=1" />
59
  <meta name="docsearch:language" content="None">
60
+
61
 
62
  <!-- Google Analytics -->
63
+
64
  </head>
65
  <body data-spy="scroll" data-target="#bd-toc-nav" data-offset="80">
66
+
67
  <div class="container-fluid" id="banner"></div>
68
 
69
+
70
 
71
  <div class="container-xl">
72
  <div class="row">
73
+
74
  <div class="col-12 col-md-3 bd-sidebar site-navigation show" id="site-navigation">
75
+
76
  <div class="navbar-brand-box">
77
  <a class="navbar-brand text-wrap" href="index.html">
78
+
79
  <!-- `logo` is deprecated in Sphinx 4.0, so remove this when we stop supporting 3 -->
80
+
81
+
82
+
83
  <img src="_static/selector_logo.png" class="logo" alt="logo">
84
+
85
+
86
  <h1 class="site-logo" id="site-title">Ayers Lab</h1>
87
+
88
  </a>
89
  </div><form class="bd-search d-flex align-items-center" action="search.html" method="get">
90
  <i class="icon fas fa-search"></i>
 
153
  </div>
154
 
155
 
 
156
 
157
 
158
+
159
+
160
  <main class="col py-md-3 pl-md-4 bd-content overflow-auto" role="main">
161
+
162
  <div class="topbar container-xl fixed-top">
163
  <div class="topbar-contents row">
164
  <div class="col-12 col-md-3 bd-topbar-whitespace site-navigation show"></div>
165
  <div class="col pl-md-4 topbar-main">
166
+
167
  <button id="navbar-toggler" class="navbar-toggler ml-0" type="button" data-toggle="collapse"
168
  data-toggle="tooltip" data-placement="bottom" data-target=".site-navigation" aria-controls="navbar-menu"
169
  aria-expanded="true" aria-label="Toggle navigation" aria-controls="site-navigation"
 
172
  <i class="fas fa-arrow-left"></i>
173
  <i class="fas fa-arrow-up"></i>
174
  </button>
175
+
176
+
177
  <div class="dropdown-buttons-trigger">
178
  <button id="dropdown-buttons-trigger" class="btn btn-secondary topbarbtn" aria-label="Download this page"><i
179
  class="fas fa-download"></i></button>
180
 
181
  <div class="dropdown-buttons">
182
  <!-- ipynb file if we had a myst markdown file -->
183
+
184
  <!-- Download raw file -->
185
  <a class="dropdown-buttons" href="_sources/base.rst"><button type="button"
186
  class="btn btn-secondary topbarbtn" title="Download source file" data-toggle="tooltip"
 
198
  aria-label="Connect with source repository"><i class="fab fa-github"></i></button>
199
  <div class="dropdown-buttons sourcebuttons">
200
  <a class="repository-button"
201
+ href="https://github.com/theochem/Selector"><button type="button" class="btn btn-secondary topbarbtn"
202
  data-toggle="tooltip" data-placement="left" title="Source repository"><i
203
  class="fab fa-github"></i>repository</button></a>
204
  <a class="issues-button"
205
+ href="https://github.com/theochem/Selector/issues/new?title=Issue%20on%20page%20%2Fbase.html&body=Your%20issue%20content%20here."><button
206
  type="button" class="btn btn-secondary topbarbtn" data-toggle="tooltip" data-placement="left"
207
  title="Open an issue"><i class="fas fa-lightbulb"></i>open issue</button></a>
208
+
209
  </div>
210
  </div>
211
 
 
222
 
223
  <!-- Table of contents -->
224
  <div class="d-none d-md-block col-md-2 bd-toc show">
225
+
226
  </div>
227
  </div>
228
  </div>
229
  <div id="main-content" class="row">
230
  <div class="col-12 col-md-9 pl-md-3 pr-md-0">
231
+
232
  <div>
233
+
234
+ <section id="module-selector.base">
235
+ <span id="base-class"></span><h1>Base class<a class="headerlink" href="#module-selector.base" title="Permalink to this headline">¶</a></h1>
236
  <p>Base class for diversity based subset selection.</p>
237
  <dl class="py class">
238
+ <dt class="sig sig-object py" id="selector.base.SelectionBase">
239
+ <em class="property"><span class="pre">class</span> </em><span class="sig-prename descclassname"><span class="pre">selector.base.</span></span><span class="sig-name descname"><span class="pre">SelectionBase</span></span><a class="headerlink" href="#selector.base.SelectionBase" title="Permalink to this definition">¶</a></dt>
240
  <dd><p>Base class for selecting subset of sample points.</p>
241
  <dl class="py method">
242
+ <dt class="sig sig-object py" id="selector.base.SelectionBase.select">
243
+ <span class="sig-name descname"><span class="pre">select</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span><span class="p"><span class="pre">:</span></span> <span class="n"><span class="pre">numpy.ndarray</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">size</span></span><span class="p"><span class="pre">:</span></span> <span class="n"><span class="pre">int</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">labels</span></span><span class="p"><span class="pre">:</span></span> <span class="n"><span class="pre">Optional</span><span class="p"><span class="pre">[</span></span><span class="pre">numpy.ndarray</span><span class="p"><span class="pre">]</span></span></span> <span class="o"><span class="pre">=</span></span> <span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">numpy.ndarray</span></span></span><a class="headerlink" href="#selector.base.SelectionBase.select" title="Permalink to this definition">¶</a></dt>
244
  <dd><p>Return indices representing subset of sample points.</p>
245
  <dl class="simple">
246
  <dt>X: ndarray of shape (n_samples, n_features) or (n_samples, n_samples)</dt><dd><p>Feature matrix of <cite>n_samples</cite> samples in <cite>n_features</cite> dimensional feature space.
 
260
  </dd></dl>
261
 
262
  <dl class="py method">
263
+ <dt class="sig sig-object py" id="selector.base.SelectionBase.select_from_cluster">
264
+ <em class="property"><span class="pre">abstract</span> </em><span class="sig-name descname"><span class="pre">select_from_cluster</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span><span class="p"><span class="pre">:</span></span> <span class="n"><span class="pre">numpy.ndarray</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">size</span></span><span class="p"><span class="pre">:</span></span> <span class="n"><span class="pre">int</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">labels</span></span><span class="p"><span class="pre">:</span></span> <span class="n"><span class="pre">Optional</span><span class="p"><span class="pre">[</span></span><span class="pre">numpy.ndarray</span><span class="p"><span class="pre">]</span></span></span> <span class="o"><span class="pre">=</span></span> <span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">numpy.ndarray</span></span></span><a class="headerlink" href="#selector.base.SelectionBase.select_from_cluster" title="Permalink to this definition">¶</a></dt>
265
  <dd><p>Return indices representing subset of sample points from one cluster.</p>
266
  <dl class="simple">
267
  <dt>X: ndarray of shape (n_samples, n_features) or (n_samples, n_samples)</dt><dd><p>Feature matrix of <cite>n_samples</cite> samples in <cite>n_features</cite> dimensional feature space.
 
288
  {
289
  requestKernel: true,
290
  binderOptions: {
291
+ repo: "theochem/Selector",
292
  ref: "main",
293
  },
294
  codeMirrorConfig: {
 
305
  <script>kernelName = 'python3'</script>
306
 
307
  </div>
308
+
309
+
310
  <!-- Previous / next buttons -->
311
+ <div class='prev-next-area'>
312
  <a class='left-prev' id="prev-link" href="starting.html" title="previous page">
313
  <i class="fas fa-angle-left"></i>
314
  <div class="prev-next-info">
 
324
  <i class="fas fa-angle-right"></i>
325
  </a>
326
  </div>
327
+
328
  </div>
329
  </div>
330
  <footer class="footer">
331
  <div class="container">
332
  <p>
333
+
334
  By The QC-Dev Community with the support of Digital Research Alliance of Canada and The Jupyter Book Community<br/>
335
+
336
  &copy; Copyright 2022-2023.<br/>
337
  </p>
338
  </div>
 
342
 
343
  </div>
344
  </div>
345
+
346
  <script src="_static/js/index.be7d3bbb2ef33a8344ce.js"></script>
347
 
348
  </body>
349
+ </html>
book/content/_build/html/dissimilarity.html CHANGED
@@ -7,11 +7,11 @@
7
  <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
8
 
9
  <title>Dissimilarity based methods &#8212; Ayers Lab</title>
10
-
11
  <link href="_static/css/theme.css" rel="stylesheet">
12
  <link href="_static/css/index.ff1ffe594081f20da1ef19478df9384b.css" rel="stylesheet">
13
 
14
-
15
  <link rel="stylesheet"
16
  href="_static/vendor/fontawesome/5.13.0/css/all.min.css">
17
  <link rel="preload" as="font" type="font/woff2" crossorigin
@@ -19,10 +19,10 @@
19
  <link rel="preload" as="font" type="font/woff2" crossorigin
20
  href="_static/vendor/fontawesome/5.13.0/webfonts/fa-brands-400.woff2">
21
 
22
-
23
-
24
 
25
-
 
 
26
  <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
27
  <link rel="stylesheet" type="text/css" href="_static/sphinx-book-theme.css?digest=c3fdc42140077d1ad13ad2f1588a4309" />
28
  <link rel="stylesheet" type="text/css" href="_static/togglebutton.css" />
@@ -31,7 +31,7 @@
31
  <link rel="stylesheet" type="text/css" href="_static/sphinx-thebe.css" />
32
  <link rel="stylesheet" type="text/css" href="_static/panels-main.c949a650a448cc0ae9fd3441c0e17fb0.css" />
33
  <link rel="stylesheet" type="text/css" href="_static/panels-variables.06eb56fa6e07937060861dad626602ad.css" />
34
-
35
  <link rel="preload" as="script" href="_static/js/index.be7d3bbb2ef33a8344ce.js">
36
 
37
  <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
@@ -57,34 +57,34 @@
57
  <link rel="prev" title="Base class" href="base.html" />
58
  <meta name="viewport" content="width=device-width, initial-scale=1" />
59
  <meta name="docsearch:language" content="None">
60
-
61
 
62
  <!-- Google Analytics -->
63
-
64
  </head>
65
  <body data-spy="scroll" data-target="#bd-toc-nav" data-offset="80">
66
-
67
  <div class="container-fluid" id="banner"></div>
68
 
69
-
70
 
71
  <div class="container-xl">
72
  <div class="row">
73
-
74
  <div class="col-12 col-md-3 bd-sidebar site-navigation show" id="site-navigation">
75
-
76
  <div class="navbar-brand-box">
77
  <a class="navbar-brand text-wrap" href="index.html">
78
-
79
  <!-- `logo` is deprecated in Sphinx 4.0, so remove this when we stop supporting 3 -->
80
-
81
-
82
-
83
  <img src="_static/selector_logo.png" class="logo" alt="logo">
84
-
85
-
86
  <h1 class="site-logo" id="site-title">Ayers Lab</h1>
87
-
88
  </a>
89
  </div><form class="bd-search d-flex align-items-center" action="search.html" method="get">
90
  <i class="icon fas fa-search"></i>
@@ -153,17 +153,17 @@
153
  </div>
154
 
155
 
156
-
157
 
158
 
159
-
 
160
  <main class="col py-md-3 pl-md-4 bd-content overflow-auto" role="main">
161
-
162
  <div class="topbar container-xl fixed-top">
163
  <div class="topbar-contents row">
164
  <div class="col-12 col-md-3 bd-topbar-whitespace site-navigation show"></div>
165
  <div class="col pl-md-4 topbar-main">
166
-
167
  <button id="navbar-toggler" class="navbar-toggler ml-0" type="button" data-toggle="collapse"
168
  data-toggle="tooltip" data-placement="bottom" data-target=".site-navigation" aria-controls="navbar-menu"
169
  aria-expanded="true" aria-label="Toggle navigation" aria-controls="site-navigation"
@@ -172,15 +172,15 @@
172
  <i class="fas fa-arrow-left"></i>
173
  <i class="fas fa-arrow-up"></i>
174
  </button>
175
-
176
-
177
  <div class="dropdown-buttons-trigger">
178
  <button id="dropdown-buttons-trigger" class="btn btn-secondary topbarbtn" aria-label="Download this page"><i
179
  class="fas fa-download"></i></button>
180
 
181
  <div class="dropdown-buttons">
182
  <!-- ipynb file if we had a myst markdown file -->
183
-
184
  <!-- Download raw file -->
185
  <a class="dropdown-buttons" href="_sources/dissimilarity.rst"><button type="button"
186
  class="btn btn-secondary topbarbtn" title="Download source file" data-toggle="tooltip"
@@ -198,14 +198,14 @@
198
  aria-label="Connect with source repository"><i class="fab fa-github"></i></button>
199
  <div class="dropdown-buttons sourcebuttons">
200
  <a class="repository-button"
201
- href="https://github.com/theochem/DiverseSelector"><button type="button" class="btn btn-secondary topbarbtn"
202
  data-toggle="tooltip" data-placement="left" title="Source repository"><i
203
  class="fab fa-github"></i>repository</button></a>
204
  <a class="issues-button"
205
- href="https://github.com/theochem/DiverseSelector/issues/new?title=Issue%20on%20page%20%2Fdissimilarity.html&body=Your%20issue%20content%20here."><button
206
  type="button" class="btn btn-secondary topbarbtn" data-toggle="tooltip" data-placement="left"
207
  title="Open an issue"><i class="fas fa-lightbulb"></i>open issue</button></a>
208
-
209
  </div>
210
  </div>
211
 
@@ -222,21 +222,21 @@
222
 
223
  <!-- Table of contents -->
224
  <div class="d-none d-md-block col-md-2 bd-toc show">
225
-
226
  </div>
227
  </div>
228
  </div>
229
  <div id="main-content" class="row">
230
  <div class="col-12 col-md-9 pl-md-3 pr-md-0">
231
-
232
  <div>
233
-
234
  <section id="dissimilarity-based-methods">
235
  <h1>Dissimilarity based methods<a class="headerlink" href="#dissimilarity-based-methods" title="Permalink to this headline">¶</a></h1>
236
- <span class="target" id="module-DiverseSelector.dissimilarity"></span><p>Module for Dissimilarity-Based Selection Methods.</p>
237
  <dl class="py class">
238
- <dt class="sig sig-object py" id="DiverseSelector.dissimilarity.MaxMin">
239
- <em class="property"><span class="pre">class</span> </em><span class="sig-prename descclassname"><span class="pre">DiverseSelector.dissimilarity.</span></span><span class="sig-name descname"><span class="pre">MaxMin</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">func_distance</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#DiverseSelector.dissimilarity.MaxMin" title="Permalink to this definition">¶</a></dt>
240
  <dd><p>Selecting samples using MaxMin algorithm.</p>
241
  <p>MaxMin is possibly the most widely used method for dissimilarity-based
242
  compound selection. When presented with a dataset of samples, the
@@ -253,8 +253,8 @@ in the previous step.</p></li>
253
  property‐based and fragment‐based molecular descriptions, Quantitative
254
  Structure‐Activity Relationships 21.6 (2002): 598-604.</p>
255
  <dl class="py method">
256
- <dt class="sig sig-object py" id="DiverseSelector.dissimilarity.MaxMin.select_from_cluster">
257
- <span class="sig-name descname"><span class="pre">select_from_cluster</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">size</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">labels</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#DiverseSelector.dissimilarity.MaxMin.select_from_cluster" title="Permalink to this definition">¶</a></dt>
258
  <dd><p>Return selected samples from a cluster based on MaxMin algorithm.</p>
259
  <dl class="simple">
260
  <dt>X: ndarray of shape (n_samples, n_features) or (n_samples, n_samples)</dt><dd><p>Feature matrix of <cite>n_samples</cite> samples in <cite>n_features</cite> dimensional feature space.
@@ -274,8 +274,8 @@ If fun_distance is <cite>None</cite>, this X is treated as a square pairwise dis
274
  </dd></dl>
275
 
276
  <dl class="py class">
277
- <dt class="sig sig-object py" id="DiverseSelector.dissimilarity.MaxSum">
278
- <em class="property"><span class="pre">class</span> </em><span class="sig-prename descclassname"><span class="pre">DiverseSelector.dissimilarity.</span></span><span class="sig-name descname"><span class="pre">MaxSum</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">func_distance</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#DiverseSelector.dissimilarity.MaxSum" title="Permalink to this definition">¶</a></dt>
279
  <dd><p>Selecting samples using MaxSum algorithm.</p>
280
  <p>Whereas the goal of the MaxMin algorithm is to maximize the minimum distance
281
  between any pair of distinct elements in the selected subset of a dataset,
@@ -294,8 +294,8 @@ in the previous step.</p></li>
294
  submodular functions and dynamic updates, Proceedings of the 31st ACM SIGMOD-SIGACT-SIGAI
295
  symposium on Principles of Database Systems. 2012.</p>
296
  <dl class="py method">
297
- <dt class="sig sig-object py" id="DiverseSelector.dissimilarity.MaxSum.select_from_cluster">
298
- <span class="sig-name descname"><span class="pre">select_from_cluster</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">size</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">labels</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#DiverseSelector.dissimilarity.MaxSum.select_from_cluster" title="Permalink to this definition">¶</a></dt>
299
  <dd><p>Return selected samples from a cluster based on MaxSum algorithm.</p>
300
  <dl class="simple">
301
  <dt>X: ndarray of shape (n_samples, n_features) or (n_samples, n_samples)</dt><dd><p>Feature matrix of <cite>n_samples</cite> samples in <cite>n_features</cite> dimensional feature space.
@@ -315,8 +315,8 @@ If fun_distance is <cite>None</cite>, this X is treated as a square pairwise dis
315
  </dd></dl>
316
 
317
  <dl class="py class">
318
- <dt class="sig sig-object py" id="DiverseSelector.dissimilarity.OptiSim">
319
- <em class="property"><span class="pre">class</span> </em><span class="sig-prename descclassname"><span class="pre">DiverseSelector.dissimilarity.</span></span><span class="sig-name descname"><span class="pre">OptiSim</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">r0</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">k</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">tol</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.01</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">eps</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">p</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">start_id</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">random_seed</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">42</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_iter</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#DiverseSelector.dissimilarity.OptiSim" title="Permalink to this definition">¶</a></dt>
320
  <dd><p>Selecting samples using OptiSim algorithm.</p>
321
  <p>The OptiSim algorithm selects samples from a dataset by first choosing the medoid center as the
322
  initial point. Next, points are randomly chosen and added to a subsample if they exist
@@ -326,8 +326,8 @@ to the previously selected points is chosen. Then, the subsample is cleared and
326
  repeated.</p>
327
  <p>[1] J. Chem. Inf. Comput. Sci. 1997, 37, 6, 1181–1188. <a class="reference external" href="https://doi.org/10.1021/ci970282v">https://doi.org/10.1021/ci970282v</a></p>
328
  <dl class="py method">
329
- <dt class="sig sig-object py" id="DiverseSelector.dissimilarity.OptiSim.algorithm">
330
- <span class="sig-name descname"><span class="pre">algorithm</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_size</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">list</span></span></span><a class="headerlink" href="#DiverseSelector.dissimilarity.OptiSim.algorithm" title="Permalink to this definition">¶</a></dt>
331
  <dd><p>Return selected samples based on OptiSim algorithm.</p>
332
  <dl class="simple">
333
  <dt>X<span class="classifier">np.ndarray</span></dt><dd><p>Coordinate array of samples.</p>
@@ -342,8 +342,8 @@ repeated.</p>
342
  </dd></dl>
343
 
344
  <dl class="py method">
345
- <dt class="sig sig-object py" id="DiverseSelector.dissimilarity.OptiSim.select_from_cluster">
346
- <span class="sig-name descname"><span class="pre">select_from_cluster</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">size</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">labels</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#DiverseSelector.dissimilarity.OptiSim.select_from_cluster" title="Permalink to this definition">¶</a></dt>
347
  <dd><p>Return selected samples from a cluster based on OptiSim algorithm.</p>
348
  <dl class="simple">
349
  <dt>X<span class="classifier">np.ndarray</span></dt><dd><p>Coordinate array of samples.</p>
@@ -367,7 +367,7 @@ repeated.</p>
367
  {
368
  requestKernel: true,
369
  binderOptions: {
370
- repo: "theochem/DiverseSelector",
371
  ref: "main",
372
  },
373
  codeMirrorConfig: {
@@ -384,10 +384,10 @@ repeated.</p>
384
  <script>kernelName = 'python3'</script>
385
 
386
  </div>
387
-
388
-
389
  <!-- Previous / next buttons -->
390
- <div class='prev-next-area'>
391
  <a class='left-prev' id="prev-link" href="base.html" title="previous page">
392
  <i class="fas fa-angle-left"></i>
393
  <div class="prev-next-info">
@@ -403,15 +403,15 @@ repeated.</p>
403
  <i class="fas fa-angle-right"></i>
404
  </a>
405
  </div>
406
-
407
  </div>
408
  </div>
409
  <footer class="footer">
410
  <div class="container">
411
  <p>
412
-
413
  By The QC-Dev Community with the support of Digital Research Alliance of Canada and The Jupyter Book Community<br/>
414
-
415
  &copy; Copyright 2022-2023.<br/>
416
  </p>
417
  </div>
@@ -421,8 +421,8 @@ repeated.</p>
421
 
422
  </div>
423
  </div>
424
-
425
  <script src="_static/js/index.be7d3bbb2ef33a8344ce.js"></script>
426
 
427
  </body>
428
- </html>
 
7
  <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
8
 
9
  <title>Dissimilarity based methods &#8212; Ayers Lab</title>
10
+
11
  <link href="_static/css/theme.css" rel="stylesheet">
12
  <link href="_static/css/index.ff1ffe594081f20da1ef19478df9384b.css" rel="stylesheet">
13
 
14
+
15
  <link rel="stylesheet"
16
  href="_static/vendor/fontawesome/5.13.0/css/all.min.css">
17
  <link rel="preload" as="font" type="font/woff2" crossorigin
 
19
  <link rel="preload" as="font" type="font/woff2" crossorigin
20
  href="_static/vendor/fontawesome/5.13.0/webfonts/fa-brands-400.woff2">
21
 
 
 
22
 
23
+
24
+
25
+
26
  <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
27
  <link rel="stylesheet" type="text/css" href="_static/sphinx-book-theme.css?digest=c3fdc42140077d1ad13ad2f1588a4309" />
28
  <link rel="stylesheet" type="text/css" href="_static/togglebutton.css" />
 
31
  <link rel="stylesheet" type="text/css" href="_static/sphinx-thebe.css" />
32
  <link rel="stylesheet" type="text/css" href="_static/panels-main.c949a650a448cc0ae9fd3441c0e17fb0.css" />
33
  <link rel="stylesheet" type="text/css" href="_static/panels-variables.06eb56fa6e07937060861dad626602ad.css" />
34
+
35
  <link rel="preload" as="script" href="_static/js/index.be7d3bbb2ef33a8344ce.js">
36
 
37
  <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
 
57
  <link rel="prev" title="Base class" href="base.html" />
58
  <meta name="viewport" content="width=device-width, initial-scale=1" />
59
  <meta name="docsearch:language" content="None">
60
+
61
 
62
  <!-- Google Analytics -->
63
+
64
  </head>
65
  <body data-spy="scroll" data-target="#bd-toc-nav" data-offset="80">
66
+
67
  <div class="container-fluid" id="banner"></div>
68
 
69
+
70
 
71
  <div class="container-xl">
72
  <div class="row">
73
+
74
  <div class="col-12 col-md-3 bd-sidebar site-navigation show" id="site-navigation">
75
+
76
  <div class="navbar-brand-box">
77
  <a class="navbar-brand text-wrap" href="index.html">
78
+
79
  <!-- `logo` is deprecated in Sphinx 4.0, so remove this when we stop supporting 3 -->
80
+
81
+
82
+
83
  <img src="_static/selector_logo.png" class="logo" alt="logo">
84
+
85
+
86
  <h1 class="site-logo" id="site-title">Ayers Lab</h1>
87
+
88
  </a>
89
  </div><form class="bd-search d-flex align-items-center" action="search.html" method="get">
90
  <i class="icon fas fa-search"></i>
 
153
  </div>
154
 
155
 
 
156
 
157
 
158
+
159
+
160
  <main class="col py-md-3 pl-md-4 bd-content overflow-auto" role="main">
161
+
162
  <div class="topbar container-xl fixed-top">
163
  <div class="topbar-contents row">
164
  <div class="col-12 col-md-3 bd-topbar-whitespace site-navigation show"></div>
165
  <div class="col pl-md-4 topbar-main">
166
+
167
  <button id="navbar-toggler" class="navbar-toggler ml-0" type="button" data-toggle="collapse"
168
  data-toggle="tooltip" data-placement="bottom" data-target=".site-navigation" aria-controls="navbar-menu"
169
  aria-expanded="true" aria-label="Toggle navigation" aria-controls="site-navigation"
 
172
  <i class="fas fa-arrow-left"></i>
173
  <i class="fas fa-arrow-up"></i>
174
  </button>
175
+
176
+
177
  <div class="dropdown-buttons-trigger">
178
  <button id="dropdown-buttons-trigger" class="btn btn-secondary topbarbtn" aria-label="Download this page"><i
179
  class="fas fa-download"></i></button>
180
 
181
  <div class="dropdown-buttons">
182
  <!-- ipynb file if we had a myst markdown file -->
183
+
184
  <!-- Download raw file -->
185
  <a class="dropdown-buttons" href="_sources/dissimilarity.rst"><button type="button"
186
  class="btn btn-secondary topbarbtn" title="Download source file" data-toggle="tooltip"
 
198
  aria-label="Connect with source repository"><i class="fab fa-github"></i></button>
199
  <div class="dropdown-buttons sourcebuttons">
200
  <a class="repository-button"
201
+ href="https://github.com/theochem/Selector"><button type="button" class="btn btn-secondary topbarbtn"
202
  data-toggle="tooltip" data-placement="left" title="Source repository"><i
203
  class="fab fa-github"></i>repository</button></a>
204
  <a class="issues-button"
205
+ href="https://github.com/theochem/Selector/issues/new?title=Issue%20on%20page%20%2Fdissimilarity.html&body=Your%20issue%20content%20here."><button
206
  type="button" class="btn btn-secondary topbarbtn" data-toggle="tooltip" data-placement="left"
207
  title="Open an issue"><i class="fas fa-lightbulb"></i>open issue</button></a>
208
+
209
  </div>
210
  </div>
211
 
 
222
 
223
  <!-- Table of contents -->
224
  <div class="d-none d-md-block col-md-2 bd-toc show">
225
+
226
  </div>
227
  </div>
228
  </div>
229
  <div id="main-content" class="row">
230
  <div class="col-12 col-md-9 pl-md-3 pr-md-0">
231
+
232
  <div>
233
+
234
  <section id="dissimilarity-based-methods">
235
  <h1>Dissimilarity based methods<a class="headerlink" href="#dissimilarity-based-methods" title="Permalink to this headline">¶</a></h1>
236
+ <span class="target" id="module-selector.dissimilarity"></span><p>Module for Dissimilarity-Based Selection Methods.</p>
237
  <dl class="py class">
238
+ <dt class="sig sig-object py" id="selector.dissimilarity.MaxMin">
239
+ <em class="property"><span class="pre">class</span> </em><span class="sig-prename descclassname"><span class="pre">selector.dissimilarity.</span></span><span class="sig-name descname"><span class="pre">MaxMin</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">func_distance</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#selector.dissimilarity.MaxMin" title="Permalink to this definition">¶</a></dt>
240
  <dd><p>Selecting samples using MaxMin algorithm.</p>
241
  <p>MaxMin is possibly the most widely used method for dissimilarity-based
242
  compound selection. When presented with a dataset of samples, the
 
253
  property‐based and fragment‐based molecular descriptions, Quantitative
254
  Structure‐Activity Relationships 21.6 (2002): 598-604.</p>
255
  <dl class="py method">
256
+ <dt class="sig sig-object py" id="selector.dissimilarity.MaxMin.select_from_cluster">
257
+ <span class="sig-name descname"><span class="pre">select_from_cluster</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">size</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">labels</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#selector.dissimilarity.MaxMin.select_from_cluster" title="Permalink to this definition">¶</a></dt>
258
  <dd><p>Return selected samples from a cluster based on MaxMin algorithm.</p>
259
  <dl class="simple">
260
  <dt>X: ndarray of shape (n_samples, n_features) or (n_samples, n_samples)</dt><dd><p>Feature matrix of <cite>n_samples</cite> samples in <cite>n_features</cite> dimensional feature space.
 
274
  </dd></dl>
275
 
276
  <dl class="py class">
277
+ <dt class="sig sig-object py" id="selector.dissimilarity.MaxSum">
278
+ <em class="property"><span class="pre">class</span> </em><span class="sig-prename descclassname"><span class="pre">selector.dissimilarity.</span></span><span class="sig-name descname"><span class="pre">MaxSum</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">func_distance</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#selector.dissimilarity.MaxSum" title="Permalink to this definition">¶</a></dt>
279
  <dd><p>Selecting samples using MaxSum algorithm.</p>
280
  <p>Whereas the goal of the MaxMin algorithm is to maximize the minimum distance
281
  between any pair of distinct elements in the selected subset of a dataset,
 
294
  submodular functions and dynamic updates, Proceedings of the 31st ACM SIGMOD-SIGACT-SIGAI
295
  symposium on Principles of Database Systems. 2012.</p>
296
  <dl class="py method">
297
+ <dt class="sig sig-object py" id="selector.dissimilarity.MaxSum.select_from_cluster">
298
+ <span class="sig-name descname"><span class="pre">select_from_cluster</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">size</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">labels</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#selector.dissimilarity.MaxSum.select_from_cluster" title="Permalink to this definition">¶</a></dt>
299
  <dd><p>Return selected samples from a cluster based on MaxSum algorithm.</p>
300
  <dl class="simple">
301
  <dt>X: ndarray of shape (n_samples, n_features) or (n_samples, n_samples)</dt><dd><p>Feature matrix of <cite>n_samples</cite> samples in <cite>n_features</cite> dimensional feature space.
 
315
  </dd></dl>
316
 
317
  <dl class="py class">
318
+ <dt class="sig sig-object py" id="selector.dissimilarity.OptiSim">
319
+ <em class="property"><span class="pre">class</span> </em><span class="sig-prename descclassname"><span class="pre">selector.dissimilarity.</span></span><span class="sig-name descname"><span class="pre">OptiSim</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">r0</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">k</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">tol</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.01</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">eps</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">p</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">start_id</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">random_seed</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">42</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_iter</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#selector.dissimilarity.OptiSim" title="Permalink to this definition">¶</a></dt>
320
  <dd><p>Selecting samples using OptiSim algorithm.</p>
321
  <p>The OptiSim algorithm selects samples from a dataset by first choosing the medoid center as the
322
  initial point. Next, points are randomly chosen and added to a subsample if they exist
 
326
  repeated.</p>
327
  <p>[1] J. Chem. Inf. Comput. Sci. 1997, 37, 6, 1181–1188. <a class="reference external" href="https://doi.org/10.1021/ci970282v">https://doi.org/10.1021/ci970282v</a></p>
328
  <dl class="py method">
329
+ <dt class="sig sig-object py" id="selector.dissimilarity.OptiSim.algorithm">
330
+ <span class="sig-name descname"><span class="pre">algorithm</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_size</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">list</span></span></span><a class="headerlink" href="#selector.dissimilarity.OptiSim.algorithm" title="Permalink to this definition">¶</a></dt>
331
  <dd><p>Return selected samples based on OptiSim algorithm.</p>
332
  <dl class="simple">
333
  <dt>X<span class="classifier">np.ndarray</span></dt><dd><p>Coordinate array of samples.</p>
 
342
  </dd></dl>
343
 
344
  <dl class="py method">
345
+ <dt class="sig sig-object py" id="selector.dissimilarity.OptiSim.select_from_cluster">
346
+ <span class="sig-name descname"><span class="pre">select_from_cluster</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">size</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">labels</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#selector.dissimilarity.OptiSim.select_from_cluster" title="Permalink to this definition">¶</a></dt>
347
  <dd><p>Return selected samples from a cluster based on OptiSim algorithm.</p>
348
  <dl class="simple">
349
  <dt>X<span class="classifier">np.ndarray</span></dt><dd><p>Coordinate array of samples.</p>
 
367
  {
368
  requestKernel: true,
369
  binderOptions: {
370
+ repo: "theochem/Selector",
371
  ref: "main",
372
  },
373
  codeMirrorConfig: {
 
384
  <script>kernelName = 'python3'</script>
385
 
386
  </div>
387
+
388
+
389
  <!-- Previous / next buttons -->
390
+ <div class='prev-next-area'>
391
  <a class='left-prev' id="prev-link" href="base.html" title="previous page">
392
  <i class="fas fa-angle-left"></i>
393
  <div class="prev-next-info">
 
403
  <i class="fas fa-angle-right"></i>
404
  </a>
405
  </div>
406
+
407
  </div>
408
  </div>
409
  <footer class="footer">
410
  <div class="container">
411
  <p>
412
+
413
  By The QC-Dev Community with the support of Digital Research Alliance of Canada and The Jupyter Book Community<br/>
414
+
415
  &copy; Copyright 2022-2023.<br/>
416
  </p>
417
  </div>
 
421
 
422
  </div>
423
  </div>
424
+
425
  <script src="_static/js/index.be7d3bbb2ef33a8344ce.js"></script>
426
 
427
  </body>
428
+ </html>
book/content/_build/html/genindex.html CHANGED
@@ -6,11 +6,11 @@
6
  <meta charset="utf-8" />
7
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
8
  <title>Index &#8212; Ayers Lab</title>
9
-
10
  <link href="_static/css/theme.css" rel="stylesheet">
11
  <link href="_static/css/index.ff1ffe594081f20da1ef19478df9384b.css" rel="stylesheet">
12
 
13
-
14
  <link rel="stylesheet"
15
  href="_static/vendor/fontawesome/5.13.0/css/all.min.css">
16
  <link rel="preload" as="font" type="font/woff2" crossorigin
@@ -18,10 +18,10 @@
18
  <link rel="preload" as="font" type="font/woff2" crossorigin
19
  href="_static/vendor/fontawesome/5.13.0/webfonts/fa-brands-400.woff2">
20
 
21
-
22
-
23
 
24
-
 
 
25
  <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
26
  <link rel="stylesheet" type="text/css" href="_static/sphinx-book-theme.css?digest=c3fdc42140077d1ad13ad2f1588a4309" />
27
  <link rel="stylesheet" type="text/css" href="_static/togglebutton.css" />
@@ -30,7 +30,7 @@
30
  <link rel="stylesheet" type="text/css" href="_static/sphinx-thebe.css" />
31
  <link rel="stylesheet" type="text/css" href="_static/panels-main.c949a650a448cc0ae9fd3441c0e17fb0.css" />
32
  <link rel="stylesheet" type="text/css" href="_static/panels-variables.06eb56fa6e07937060861dad626602ad.css" />
33
-
34
  <link rel="preload" as="script" href="_static/js/index.be7d3bbb2ef33a8344ce.js">
35
 
36
  <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
@@ -47,34 +47,34 @@
47
  <link rel="search" title="Search" href="search.html" />
48
  <meta name="viewport" content="width=device-width, initial-scale=1" />
49
  <meta name="docsearch:language" content="None">
50
-
51
 
52
  <!-- Google Analytics -->
53
-
54
  </head>
55
  <body data-spy="scroll" data-target="#bd-toc-nav" data-offset="80">
56
-
57
  <div class="container-fluid" id="banner"></div>
58
 
59
-
60
 
61
  <div class="container-xl">
62
  <div class="row">
63
-
64
  <div class="col-12 col-md-3 bd-sidebar site-navigation show" id="site-navigation">
65
-
66
  <div class="navbar-brand-box">
67
  <a class="navbar-brand text-wrap" href="index.html">
68
-
69
  <!-- `logo` is deprecated in Sphinx 4.0, so remove this when we stop supporting 3 -->
70
-
71
-
72
-
73
  <img src="_static/selector_logo.png" class="logo" alt="logo">
74
-
75
-
76
  <h1 class="site-logo" id="site-title">Ayers Lab</h1>
77
-
78
  </a>
79
  </div><form class="bd-search d-flex align-items-center" action="search.html" method="get">
80
  <i class="icon fas fa-search"></i>
@@ -143,17 +143,17 @@
143
  </div>
144
 
145
 
146
-
147
 
148
 
149
-
 
150
  <main class="col py-md-3 pl-md-4 bd-content overflow-auto" role="main">
151
-
152
  <div class="topbar container-xl fixed-top">
153
  <div class="topbar-contents row">
154
  <div class="col-12 col-md-3 bd-topbar-whitespace site-navigation show"></div>
155
  <div class="col pl-md-4 topbar-main">
156
-
157
  <button id="navbar-toggler" class="navbar-toggler ml-0" type="button" data-toggle="collapse"
158
  data-toggle="tooltip" data-placement="bottom" data-target=".site-navigation" aria-controls="navbar-menu"
159
  aria-expanded="true" aria-label="Toggle navigation" aria-controls="site-navigation"
@@ -162,8 +162,8 @@
162
  <i class="fas fa-arrow-left"></i>
163
  <i class="fas fa-arrow-up"></i>
164
  </button>
165
-
166
-
167
  <!-- Source interaction buttons -->
168
 
169
  <div class="dropdown-buttons-trigger">
@@ -171,14 +171,14 @@
171
  aria-label="Connect with source repository"><i class="fab fa-github"></i></button>
172
  <div class="dropdown-buttons sourcebuttons">
173
  <a class="repository-button"
174
- href="https://github.com/theochem/DiverseSelector"><button type="button" class="btn btn-secondary topbarbtn"
175
  data-toggle="tooltip" data-placement="left" title="Source repository"><i
176
  class="fab fa-github"></i>repository</button></a>
177
  <a class="issues-button"
178
- href="https://github.com/theochem/DiverseSelector/issues/new?title=Issue%20on%20page%20%2Fgenindex.html&body=Your%20issue%20content%20here."><button
179
  type="button" class="btn btn-secondary topbarbtn" data-toggle="tooltip" data-placement="left"
180
  title="Open an issue"><i class="fas fa-lightbulb"></i>open issue</button></a>
181
-
182
  </div>
183
  </div>
184
 
@@ -195,15 +195,15 @@
195
 
196
  <!-- Table of contents -->
197
  <div class="d-none d-md-block col-md-2 bd-toc show">
198
-
199
  </div>
200
  </div>
201
  </div>
202
  <div id="main-content" class="row">
203
  <div class="col-12 col-md-9 pl-md-3 pr-md-0">
204
-
205
  <div>
206
-
207
 
208
  <h1 id="index">Index</h1>
209
 
@@ -214,15 +214,15 @@
214
  | <a href="#M"><strong>M</strong></a>
215
  | <a href="#O"><strong>O</strong></a>
216
  | <a href="#S"><strong>S</strong></a>
217
-
218
  </div>
219
  <h2 id="A">A</h2>
220
  <table style="width: 100%" class="indextable genindextable"><tr>
221
  <td style="width: 33%; vertical-align: top;"><ul>
222
- <li><a href="dissimilarity.html#DiverseSelector.dissimilarity.OptiSim.algorithm">algorithm() (DiverseSelector.dissimilarity.OptiSim method)</a>
223
 
224
  <ul>
225
- <li><a href="partition.html#DiverseSelector.partition.DirectedSphereExclusion.algorithm">(DiverseSelector.partition.DirectedSphereExclusion method)</a>
226
  </li>
227
  </ul></li>
228
  </ul></td>
@@ -231,36 +231,36 @@
231
  <h2 id="D">D</h2>
232
  <table style="width: 100%" class="indextable genindextable"><tr>
233
  <td style="width: 33%; vertical-align: top;"><ul>
234
- <li><a href="partition.html#DiverseSelector.partition.DirectedSphereExclusion">DirectedSphereExclusion (class in DiverseSelector.partition)</a>
235
  </li>
236
  <li>
237
- DiverseSelector.base
238
 
239
  <ul>
240
- <li><a href="base.html#module-DiverseSelector.base">module</a>
241
  </li>
242
  </ul></li>
243
  <li>
244
- DiverseSelector.dissimilarity
245
 
246
  <ul>
247
- <li><a href="dissimilarity.html#module-DiverseSelector.dissimilarity">module</a>
248
  </li>
249
  </ul></li>
250
  </ul></td>
251
  <td style="width: 33%; vertical-align: top;"><ul>
252
  <li>
253
- DiverseSelector.partition
254
 
255
  <ul>
256
- <li><a href="partition.html#module-DiverseSelector.partition">module</a>
257
  </li>
258
  </ul></li>
259
  <li>
260
- DiverseSelector.utils
261
 
262
  <ul>
263
- <li><a href="utils.html#module-DiverseSelector.utils">module</a>
264
  </li>
265
  </ul></li>
266
  </ul></td>
@@ -269,7 +269,7 @@
269
  <h2 id="G">G</h2>
270
  <table style="width: 100%" class="indextable genindextable"><tr>
271
  <td style="width: 33%; vertical-align: top;"><ul>
272
- <li><a href="partition.html#DiverseSelector.partition.GridPartitioning">GridPartitioning (class in DiverseSelector.partition)</a>
273
  </li>
274
  </ul></td>
275
  </tr></table>
@@ -277,23 +277,23 @@
277
  <h2 id="M">M</h2>
278
  <table style="width: 100%" class="indextable genindextable"><tr>
279
  <td style="width: 33%; vertical-align: top;"><ul>
280
- <li><a href="dissimilarity.html#DiverseSelector.dissimilarity.MaxMin">MaxMin (class in DiverseSelector.dissimilarity)</a>
281
  </li>
282
- <li><a href="dissimilarity.html#DiverseSelector.dissimilarity.MaxSum">MaxSum (class in DiverseSelector.dissimilarity)</a>
283
  </li>
284
- <li><a href="partition.html#DiverseSelector.partition.Medoid">Medoid (class in DiverseSelector.partition)</a>
285
  </li>
286
  <li>
287
  module
288
 
289
  <ul>
290
- <li><a href="base.html#module-DiverseSelector.base">DiverseSelector.base</a>
291
  </li>
292
- <li><a href="dissimilarity.html#module-DiverseSelector.dissimilarity">DiverseSelector.dissimilarity</a>
293
  </li>
294
- <li><a href="partition.html#module-DiverseSelector.partition">DiverseSelector.partition</a>
295
  </li>
296
- <li><a href="utils.html#module-DiverseSelector.utils">DiverseSelector.utils</a>
297
  </li>
298
  </ul></li>
299
  </ul></td>
@@ -302,11 +302,11 @@
302
  <h2 id="O">O</h2>
303
  <table style="width: 100%" class="indextable genindextable"><tr>
304
  <td style="width: 33%; vertical-align: top;"><ul>
305
- <li><a href="utils.html#DiverseSelector.utils.optimize_radius">optimize_radius() (in module DiverseSelector.utils)</a>
306
  </li>
307
  </ul></td>
308
  <td style="width: 33%; vertical-align: top;"><ul>
309
- <li><a href="dissimilarity.html#DiverseSelector.dissimilarity.OptiSim">OptiSim (class in DiverseSelector.dissimilarity)</a>
310
  </li>
311
  </ul></td>
312
  </tr></table>
@@ -314,27 +314,27 @@
314
  <h2 id="S">S</h2>
315
  <table style="width: 100%" class="indextable genindextable"><tr>
316
  <td style="width: 33%; vertical-align: top;"><ul>
317
- <li><a href="base.html#DiverseSelector.base.SelectionBase.select">select() (DiverseSelector.base.SelectionBase method)</a>
318
  </li>
319
- <li><a href="base.html#DiverseSelector.base.SelectionBase.select_from_cluster">select_from_cluster() (DiverseSelector.base.SelectionBase method)</a>
320
 
321
  <ul>
322
- <li><a href="dissimilarity.html#DiverseSelector.dissimilarity.MaxMin.select_from_cluster">(DiverseSelector.dissimilarity.MaxMin method)</a>
323
  </li>
324
- <li><a href="dissimilarity.html#DiverseSelector.dissimilarity.MaxSum.select_from_cluster">(DiverseSelector.dissimilarity.MaxSum method)</a>
325
  </li>
326
- <li><a href="dissimilarity.html#DiverseSelector.dissimilarity.OptiSim.select_from_cluster">(DiverseSelector.dissimilarity.OptiSim method)</a>
327
  </li>
328
- <li><a href="partition.html#DiverseSelector.partition.DirectedSphereExclusion.select_from_cluster">(DiverseSelector.partition.DirectedSphereExclusion method)</a>
329
  </li>
330
- <li><a href="partition.html#DiverseSelector.partition.GridPartitioning.select_from_cluster">(DiverseSelector.partition.GridPartitioning method)</a>
331
  </li>
332
- <li><a href="partition.html#DiverseSelector.partition.Medoid.select_from_cluster">(DiverseSelector.partition.Medoid method)</a>
333
  </li>
334
  </ul></li>
335
  </ul></td>
336
  <td style="width: 33%; vertical-align: top;"><ul>
337
- <li><a href="base.html#DiverseSelector.base.SelectionBase">SelectionBase (class in DiverseSelector.base)</a>
338
  </li>
339
  </ul></td>
340
  </tr></table>
@@ -342,20 +342,20 @@
342
 
343
 
344
  </div>
345
-
346
-
347
  <!-- Previous / next buttons -->
348
  <div class='prev-next-area'>
349
  </div>
350
-
351
  </div>
352
  </div>
353
  <footer class="footer">
354
  <div class="container">
355
  <p>
356
-
357
  By The QC-Dev Community with the support of Digital Research Alliance of Canada and The Jupyter Book Community<br/>
358
-
359
  &copy; Copyright 2022-2023.<br/>
360
  </p>
361
  </div>
@@ -365,8 +365,8 @@
365
 
366
  </div>
367
  </div>
368
-
369
  <script src="_static/js/index.be7d3bbb2ef33a8344ce.js"></script>
370
 
371
  </body>
372
- </html>
 
6
  <meta charset="utf-8" />
7
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
8
  <title>Index &#8212; Ayers Lab</title>
9
+
10
  <link href="_static/css/theme.css" rel="stylesheet">
11
  <link href="_static/css/index.ff1ffe594081f20da1ef19478df9384b.css" rel="stylesheet">
12
 
13
+
14
  <link rel="stylesheet"
15
  href="_static/vendor/fontawesome/5.13.0/css/all.min.css">
16
  <link rel="preload" as="font" type="font/woff2" crossorigin
 
18
  <link rel="preload" as="font" type="font/woff2" crossorigin
19
  href="_static/vendor/fontawesome/5.13.0/webfonts/fa-brands-400.woff2">
20
 
 
 
21
 
22
+
23
+
24
+
25
  <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
26
  <link rel="stylesheet" type="text/css" href="_static/sphinx-book-theme.css?digest=c3fdc42140077d1ad13ad2f1588a4309" />
27
  <link rel="stylesheet" type="text/css" href="_static/togglebutton.css" />
 
30
  <link rel="stylesheet" type="text/css" href="_static/sphinx-thebe.css" />
31
  <link rel="stylesheet" type="text/css" href="_static/panels-main.c949a650a448cc0ae9fd3441c0e17fb0.css" />
32
  <link rel="stylesheet" type="text/css" href="_static/panels-variables.06eb56fa6e07937060861dad626602ad.css" />
33
+
34
  <link rel="preload" as="script" href="_static/js/index.be7d3bbb2ef33a8344ce.js">
35
 
36
  <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
 
47
  <link rel="search" title="Search" href="search.html" />
48
  <meta name="viewport" content="width=device-width, initial-scale=1" />
49
  <meta name="docsearch:language" content="None">
50
+
51
 
52
  <!-- Google Analytics -->
53
+
54
  </head>
55
  <body data-spy="scroll" data-target="#bd-toc-nav" data-offset="80">
56
+
57
  <div class="container-fluid" id="banner"></div>
58
 
59
+
60
 
61
  <div class="container-xl">
62
  <div class="row">
63
+
64
  <div class="col-12 col-md-3 bd-sidebar site-navigation show" id="site-navigation">
65
+
66
  <div class="navbar-brand-box">
67
  <a class="navbar-brand text-wrap" href="index.html">
68
+
69
  <!-- `logo` is deprecated in Sphinx 4.0, so remove this when we stop supporting 3 -->
70
+
71
+
72
+
73
  <img src="_static/selector_logo.png" class="logo" alt="logo">
74
+
75
+
76
  <h1 class="site-logo" id="site-title">Ayers Lab</h1>
77
+
78
  </a>
79
  </div><form class="bd-search d-flex align-items-center" action="search.html" method="get">
80
  <i class="icon fas fa-search"></i>
 
143
  </div>
144
 
145
 
 
146
 
147
 
148
+
149
+
150
  <main class="col py-md-3 pl-md-4 bd-content overflow-auto" role="main">
151
+
152
  <div class="topbar container-xl fixed-top">
153
  <div class="topbar-contents row">
154
  <div class="col-12 col-md-3 bd-topbar-whitespace site-navigation show"></div>
155
  <div class="col pl-md-4 topbar-main">
156
+
157
  <button id="navbar-toggler" class="navbar-toggler ml-0" type="button" data-toggle="collapse"
158
  data-toggle="tooltip" data-placement="bottom" data-target=".site-navigation" aria-controls="navbar-menu"
159
  aria-expanded="true" aria-label="Toggle navigation" aria-controls="site-navigation"
 
162
  <i class="fas fa-arrow-left"></i>
163
  <i class="fas fa-arrow-up"></i>
164
  </button>
165
+
166
+
167
  <!-- Source interaction buttons -->
168
 
169
  <div class="dropdown-buttons-trigger">
 
171
  aria-label="Connect with source repository"><i class="fab fa-github"></i></button>
172
  <div class="dropdown-buttons sourcebuttons">
173
  <a class="repository-button"
174
+ href="https://github.com/theochem/Selector"><button type="button" class="btn btn-secondary topbarbtn"
175
  data-toggle="tooltip" data-placement="left" title="Source repository"><i
176
  class="fab fa-github"></i>repository</button></a>
177
  <a class="issues-button"
178
+ href="https://github.com/theochem/Selector/issues/new?title=Issue%20on%20page%20%2Fgenindex.html&body=Your%20issue%20content%20here."><button
179
  type="button" class="btn btn-secondary topbarbtn" data-toggle="tooltip" data-placement="left"
180
  title="Open an issue"><i class="fas fa-lightbulb"></i>open issue</button></a>
181
+
182
  </div>
183
  </div>
184
 
 
195
 
196
  <!-- Table of contents -->
197
  <div class="d-none d-md-block col-md-2 bd-toc show">
198
+
199
  </div>
200
  </div>
201
  </div>
202
  <div id="main-content" class="row">
203
  <div class="col-12 col-md-9 pl-md-3 pr-md-0">
204
+
205
  <div>
206
+
207
 
208
  <h1 id="index">Index</h1>
209
 
 
214
  | <a href="#M"><strong>M</strong></a>
215
  | <a href="#O"><strong>O</strong></a>
216
  | <a href="#S"><strong>S</strong></a>
217
+
218
  </div>
219
  <h2 id="A">A</h2>
220
  <table style="width: 100%" class="indextable genindextable"><tr>
221
  <td style="width: 33%; vertical-align: top;"><ul>
222
+ <li><a href="dissimilarity.html#selector.dissimilarity.OptiSim.algorithm">algorithm() (selector.dissimilarity.OptiSim method)</a>
223
 
224
  <ul>
225
+ <li><a href="partition.html#selector.partition.DirectedSphereExclusion.algorithm">(selector.partition.DirectedSphereExclusion method)</a>
226
  </li>
227
  </ul></li>
228
  </ul></td>
 
231
  <h2 id="D">D</h2>
232
  <table style="width: 100%" class="indextable genindextable"><tr>
233
  <td style="width: 33%; vertical-align: top;"><ul>
234
+ <li><a href="partition.html#selector.partition.DirectedSphereExclusion">DirectedSphereExclusion (class in selector.partition)</a>
235
  </li>
236
  <li>
237
+ selector.base
238
 
239
  <ul>
240
+ <li><a href="base.html#module-selector.base">module</a>
241
  </li>
242
  </ul></li>
243
  <li>
244
+ selector.dissimilarity
245
 
246
  <ul>
247
+ <li><a href="dissimilarity.html#module-selector.dissimilarity">module</a>
248
  </li>
249
  </ul></li>
250
  </ul></td>
251
  <td style="width: 33%; vertical-align: top;"><ul>
252
  <li>
253
+ selector.partition
254
 
255
  <ul>
256
+ <li><a href="partition.html#module-selector.partition">module</a>
257
  </li>
258
  </ul></li>
259
  <li>
260
+ selector.utils
261
 
262
  <ul>
263
+ <li><a href="utils.html#module-selector.utils">module</a>
264
  </li>
265
  </ul></li>
266
  </ul></td>
 
269
  <h2 id="G">G</h2>
270
  <table style="width: 100%" class="indextable genindextable"><tr>
271
  <td style="width: 33%; vertical-align: top;"><ul>
272
+ <li><a href="partition.html#selector.partition.GridPartitioning">GridPartitioning (class in selector.partition)</a>
273
  </li>
274
  </ul></td>
275
  </tr></table>
 
277
  <h2 id="M">M</h2>
278
  <table style="width: 100%" class="indextable genindextable"><tr>
279
  <td style="width: 33%; vertical-align: top;"><ul>
280
+ <li><a href="dissimilarity.html#selector.dissimilarity.MaxMin">MaxMin (class in selector.dissimilarity)</a>
281
  </li>
282
+ <li><a href="dissimilarity.html#selector.dissimilarity.MaxSum">MaxSum (class in selector.dissimilarity)</a>
283
  </li>
284
+ <li><a href="partition.html#selector.partition.Medoid">Medoid (class in selector.partition)</a>
285
  </li>
286
  <li>
287
  module
288
 
289
  <ul>
290
+ <li><a href="base.html#module-selector.base">selector.base</a>
291
  </li>
292
+ <li><a href="dissimilarity.html#module-selector.dissimilarity">selector.dissimilarity</a>
293
  </li>
294
+ <li><a href="partition.html#module-selector.partition">selector.partition</a>
295
  </li>
296
+ <li><a href="utils.html#module-selector.utils">selector.utils</a>
297
  </li>
298
  </ul></li>
299
  </ul></td>
 
302
  <h2 id="O">O</h2>
303
  <table style="width: 100%" class="indextable genindextable"><tr>
304
  <td style="width: 33%; vertical-align: top;"><ul>
305
+ <li><a href="utils.html#selector.utils.optimize_radius">optimize_radius() (in module selector.utils)</a>
306
  </li>
307
  </ul></td>
308
  <td style="width: 33%; vertical-align: top;"><ul>
309
+ <li><a href="dissimilarity.html#selector.dissimilarity.OptiSim">OptiSim (class in selector.dissimilarity)</a>
310
  </li>
311
  </ul></td>
312
  </tr></table>
 
314
  <h2 id="S">S</h2>
315
  <table style="width: 100%" class="indextable genindextable"><tr>
316
  <td style="width: 33%; vertical-align: top;"><ul>
317
+ <li><a href="base.html#selector.base.SelectionBase.select">select() (selector.base.SelectionBase method)</a>
318
  </li>
319
+ <li><a href="base.html#selector.base.SelectionBase.select_from_cluster">select_from_cluster() (selector.base.SelectionBase method)</a>
320
 
321
  <ul>
322
+ <li><a href="dissimilarity.html#selector.dissimilarity.MaxMin.select_from_cluster">(selector.dissimilarity.MaxMin method)</a>
323
  </li>
324
+ <li><a href="dissimilarity.html#selector.dissimilarity.MaxSum.select_from_cluster">(selector.dissimilarity.MaxSum method)</a>
325
  </li>
326
+ <li><a href="dissimilarity.html#selector.dissimilarity.OptiSim.select_from_cluster">(selector.dissimilarity.OptiSim method)</a>
327
  </li>
328
+ <li><a href="partition.html#selector.partition.DirectedSphereExclusion.select_from_cluster">(selector.partition.DirectedSphereExclusion method)</a>
329
  </li>
330
+ <li><a href="partition.html#selector.partition.GridPartitioning.select_from_cluster">(selector.partition.GridPartitioning method)</a>
331
  </li>
332
+ <li><a href="partition.html#selector.partition.Medoid.select_from_cluster">(selector.partition.Medoid method)</a>
333
  </li>
334
  </ul></li>
335
  </ul></td>
336
  <td style="width: 33%; vertical-align: top;"><ul>
337
+ <li><a href="base.html#selector.base.SelectionBase">SelectionBase (class in selector.base)</a>
338
  </li>
339
  </ul></td>
340
  </tr></table>
 
342
 
343
 
344
  </div>
345
+
346
+
347
  <!-- Previous / next buttons -->
348
  <div class='prev-next-area'>
349
  </div>
350
+
351
  </div>
352
  </div>
353
  <footer class="footer">
354
  <div class="container">
355
  <p>
356
+
357
  By The QC-Dev Community with the support of Digital Research Alliance of Canada and The Jupyter Book Community<br/>
358
+
359
  &copy; Copyright 2022-2023.<br/>
360
  </p>
361
  </div>
 
365
 
366
  </div>
367
  </div>
368
+
369
  <script src="_static/js/index.be7d3bbb2ef33a8344ce.js"></script>
370
 
371
  </body>
372
+ </html>
book/content/_build/html/installation.html CHANGED
@@ -7,11 +7,11 @@
7
  <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
8
 
9
  <title>Installation &#8212; Ayers Lab</title>
10
-
11
  <link href="_static/css/theme.css" rel="stylesheet">
12
  <link href="_static/css/index.ff1ffe594081f20da1ef19478df9384b.css" rel="stylesheet">
13
 
14
-
15
  <link rel="stylesheet"
16
  href="_static/vendor/fontawesome/5.13.0/css/all.min.css">
17
  <link rel="preload" as="font" type="font/woff2" crossorigin
@@ -19,10 +19,10 @@
19
  <link rel="preload" as="font" type="font/woff2" crossorigin
20
  href="_static/vendor/fontawesome/5.13.0/webfonts/fa-brands-400.woff2">
21
 
22
-
23
-
24
 
25
-
 
 
26
  <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
27
  <link rel="stylesheet" type="text/css" href="_static/sphinx-book-theme.css?digest=c3fdc42140077d1ad13ad2f1588a4309" />
28
  <link rel="stylesheet" type="text/css" href="_static/togglebutton.css" />
@@ -31,7 +31,7 @@
31
  <link rel="stylesheet" type="text/css" href="_static/sphinx-thebe.css" />
32
  <link rel="stylesheet" type="text/css" href="_static/panels-main.c949a650a448cc0ae9fd3441c0e17fb0.css" />
33
  <link rel="stylesheet" type="text/css" href="_static/panels-variables.06eb56fa6e07937060861dad626602ad.css" />
34
-
35
  <link rel="preload" as="script" href="_static/js/index.be7d3bbb2ef33a8344ce.js">
36
 
37
  <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
@@ -57,34 +57,34 @@
57
  <link rel="prev" title="Welcome to QC-Selector’s Documentation!" href="intro.html" />
58
  <meta name="viewport" content="width=device-width, initial-scale=1" />
59
  <meta name="docsearch:language" content="None">
60
-
61
 
62
  <!-- Google Analytics -->
63
-
64
  </head>
65
  <body data-spy="scroll" data-target="#bd-toc-nav" data-offset="80">
66
-
67
  <div class="container-fluid" id="banner"></div>
68
 
69
-
70
 
71
  <div class="container-xl">
72
  <div class="row">
73
-
74
  <div class="col-12 col-md-3 bd-sidebar site-navigation show" id="site-navigation">
75
-
76
  <div class="navbar-brand-box">
77
  <a class="navbar-brand text-wrap" href="index.html">
78
-
79
  <!-- `logo` is deprecated in Sphinx 4.0, so remove this when we stop supporting 3 -->
80
-
81
-
82
-
83
  <img src="_static/selector_logo.png" class="logo" alt="logo">
84
-
85
-
86
  <h1 class="site-logo" id="site-title">Ayers Lab</h1>
87
-
88
  </a>
89
  </div><form class="bd-search d-flex align-items-center" action="search.html" method="get">
90
  <i class="icon fas fa-search"></i>
@@ -153,17 +153,17 @@
153
  </div>
154
 
155
 
156
-
157
 
158
 
159
-
 
160
  <main class="col py-md-3 pl-md-4 bd-content overflow-auto" role="main">
161
-
162
  <div class="topbar container-xl fixed-top">
163
  <div class="topbar-contents row">
164
  <div class="col-12 col-md-3 bd-topbar-whitespace site-navigation show"></div>
165
  <div class="col pl-md-4 topbar-main">
166
-
167
  <button id="navbar-toggler" class="navbar-toggler ml-0" type="button" data-toggle="collapse"
168
  data-toggle="tooltip" data-placement="bottom" data-target=".site-navigation" aria-controls="navbar-menu"
169
  aria-expanded="true" aria-label="Toggle navigation" aria-controls="site-navigation"
@@ -172,15 +172,15 @@
172
  <i class="fas fa-arrow-left"></i>
173
  <i class="fas fa-arrow-up"></i>
174
  </button>
175
-
176
-
177
  <div class="dropdown-buttons-trigger">
178
  <button id="dropdown-buttons-trigger" class="btn btn-secondary topbarbtn" aria-label="Download this page"><i
179
  class="fas fa-download"></i></button>
180
 
181
  <div class="dropdown-buttons">
182
  <!-- ipynb file if we had a myst markdown file -->
183
-
184
  <!-- Download raw file -->
185
  <a class="dropdown-buttons" href="_sources/installation.ipynb"><button type="button"
186
  class="btn btn-secondary topbarbtn" title="Download source file" data-toggle="tooltip"
@@ -198,14 +198,14 @@
198
  aria-label="Connect with source repository"><i class="fab fa-github"></i></button>
199
  <div class="dropdown-buttons sourcebuttons">
200
  <a class="repository-button"
201
- href="https://github.com/theochem/DiverseSelector"><button type="button" class="btn btn-secondary topbarbtn"
202
  data-toggle="tooltip" data-placement="left" title="Source repository"><i
203
  class="fab fa-github"></i>repository</button></a>
204
  <a class="issues-button"
205
- href="https://github.com/theochem/DiverseSelector/issues/new?title=Issue%20on%20page%20%2Finstallation.html&body=Your%20issue%20content%20here."><button
206
  type="button" class="btn btn-secondary topbarbtn" data-toggle="tooltip" data-placement="left"
207
  title="Open an issue"><i class="fas fa-lightbulb"></i>open issue</button></a>
208
-
209
  </div>
210
  </div>
211
 
@@ -222,24 +222,24 @@
222
  <button id="dropdown-buttons-trigger" class="btn btn-secondary topbarbtn"
223
  aria-label="Launch interactive content"><i class="fas fa-rocket"></i></button>
224
  <div class="dropdown-buttons">
225
-
226
- <a class="binder-button" href="https://mybinder.org/v2/gh/theochem/DiverseSelector/main?urlpath=tree/book/content/installation.ipynb"><button type="button"
227
  class="btn btn-secondary topbarbtn" title="Launch Binder" data-toggle="tooltip"
228
  data-placement="left"><img class="binder-button-logo"
229
  src="_static/images/logo_binder.svg"
230
  alt="Interact on binder">Binder</button></a>
231
-
232
-
233
-
234
- <a class="colab-button" href="https://colab.research.google.com/github/theochem/DiverseSelector/blob/main/book/content/installation.ipynb"><button type="button" class="btn btn-secondary topbarbtn"
235
  title="Launch Colab" data-toggle="tooltip" data-placement="left"><img class="colab-button-logo"
236
  src="_static/images/logo_colab.png"
237
  alt="Interact on Colab">Colab</button></a>
238
-
239
  <button type="button" class="btn btn-secondary topbarbtn"
240
  onclick="initThebeSBT()" title="Launch Thebe" data-toggle="tooltip" data-placement="left"><i
241
  class="fas fa-play"></i><span style="margin-left: .4em;">Live Code</span></button>
242
-
243
  </div>
244
  </div>
245
 
@@ -247,7 +247,7 @@
247
 
248
  <!-- Table of contents -->
249
  <div class="d-none d-md-block col-md-2 bd-toc show">
250
-
251
  <div class="tocsection onthispage pt-5 pb-3">
252
  <i class="fas fa-list"></i> Contents
253
  </div>
@@ -286,9 +286,9 @@
286
  </div>
287
  <div id="main-content" class="row">
288
  <div class="col-12 col-md-9 pl-md-3 pr-md-0">
289
-
290
  <div>
291
-
292
  <section class="tex2jax_ignore mathjax_ignore" id="installation">
293
  <h1>Installation<a class="headerlink" href="#installation" title="Permalink to this headline">¶</a></h1>
294
  <section id="stable-releases">
@@ -298,7 +298,7 @@
298
  </b>
299
  <p>We are preparing a 1.0 release. Until then, these instructions for installing a stable release will not work yet. If you enjoy living on the edge, try the development release as explained in the “Latest git revision” section below.</p>
300
  </div>
301
- <p>The following dependencies are required to run DiverseSelector properly,</p>
302
  <ul class="simple">
303
  <li><p>Python &gt;= 3.6: <a class="reference external" href="http://www.python.org/">http://www.python.org/</a></p></li>
304
  <li><p>NumPy &gt;= 1.21.5: <a class="reference external" href="http://www.numpy.org/">http://www.numpy.org/</a></p></li>
@@ -311,7 +311,7 @@
311
  <section id="installation-with-ana-or-miniconda">
312
  <h2>Installation with Ana- or Miniconda:<a class="headerlink" href="#installation-with-ana-or-miniconda" title="Permalink to this headline">¶</a></h2>
313
  <ol class="simple">
314
- <li><p>To install DiverseSelector using the conda package management system, install <a class="reference external" href="https://conda.io/miniconda.html">miniconda</a> or <a class="reference external" href="https://www.anaconda.com/download">anaconda</a> first, and then:</p></li>
315
  </ol>
316
  <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># Activate your main conda environment if it is not loaded in your .bashrc.</span>
317
  <span class="c1"># E.g. run the following if you have miniconda installed in e.g. ~/miniconda3</span>
@@ -375,19 +375,19 @@ Python modules.</p>
375
  </section>
376
  <section id="latest-git-revision">
377
  <h2>Latest git revision<a class="headerlink" href="#latest-git-revision" title="Permalink to this headline">¶</a></h2>
378
- <p>This section shows how one can install the latest revision of DiverseSelector from the git repository. This kind of installation comes with some risks (sudden API changes, bugs, …) and so be prepared to accept them when using the following installation instructions.</p>
379
  <p>There are two installation methods:</p>
380
  <ol class="simple">
381
  <li><p><strong>Quick and dirty.</strong> Of this method, there are four variants, depending on the correctness of your <code class="docutils literal notranslate"><span class="pre">PATH</span></code> variable and the presence of a virtual or conda environment. These different scenarios are explained in more detail in the previous section.</p></li>
382
  </ol>
383
  <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># with env, correct PATH</span>
384
- <span class="n">pip</span> <span class="n">install</span> <span class="n">git</span><span class="o">+</span><span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">github</span><span class="o">.</span><span class="n">com</span><span class="o">/</span><span class="n">theochem</span><span class="o">/</span><span class="n">DiverseSelector</span><span class="o">.</span><span class="n">git</span>
385
  <span class="c1"># with env, broken PATH</span>
386
- <span class="n">python</span> <span class="o">-</span><span class="n">m</span> <span class="n">pip</span> <span class="n">install</span> <span class="n">git</span><span class="o">+</span><span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">github</span><span class="o">.</span><span class="n">com</span><span class="o">/</span><span class="n">theochem</span><span class="o">/</span><span class="n">DiverseSelector</span><span class="o">.</span><span class="n">git</span>
387
  <span class="c1"># without env, correct PATH</span>
388
- <span class="n">pip</span> <span class="n">install</span> <span class="n">git</span><span class="o">+</span><span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">github</span><span class="o">.</span><span class="n">com</span><span class="o">/</span><span class="n">theochem</span><span class="o">/</span><span class="n">DiverseSelector</span><span class="o">.</span><span class="n">git</span> <span class="o">--</span><span class="n">user</span>
389
  <span class="c1"># without env, broken PATH</span>
390
- <span class="n">python</span> <span class="o">-</span><span class="n">m</span> <span class="n">pip</span> <span class="n">install</span> <span class="n">git</span><span class="o">+</span><span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">github</span><span class="o">.</span><span class="n">com</span><span class="o">/</span><span class="n">theochem</span><span class="o">/</span><span class="n">DiverseSelector</span><span class="o">.</span><span class="n">git</span> <span class="o">--</span><span class="n">user</span>
391
  </pre></div>
392
  </div>
393
  <ol class="simple">
@@ -396,9 +396,9 @@ Python modules.</p>
396
  <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># A) Clone git repo with https OR ssh:</span>
397
  <span class="c1"># The second one only works if you have ssh set up for Github</span>
398
  <span class="c1"># A1) https</span>
399
- <span class="n">git</span> <span class="n">clone</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">github</span><span class="o">.</span><span class="n">com</span><span class="o">/</span><span class="n">theochem</span><span class="o">/</span><span class="n">DiverseSelector</span><span class="o">.</span><span class="n">git</span>
400
  <span class="c1"># A2) ssh</span>
401
- <span class="n">git</span> <span class="n">clone</span> <span class="n">git</span><span class="nd">@github</span><span class="o">.</span><span class="n">com</span><span class="p">:</span><span class="n">theochem</span><span class="o">/</span><span class="n">DiverseSelector</span><span class="o">.</span><span class="n">git</span>
402
  <span class="c1"># B) Optionally write the version string</span>
403
  <span class="n">pip</span> <span class="n">install</span> <span class="n">roberto</span> <span class="c1"># or any of the three other ways of running pip, see above.</span>
404
  <span class="n">rob</span> <span class="n">write</span><span class="o">-</span><span class="n">version</span>
@@ -425,7 +425,7 @@ Python modules.</p>
425
  <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># Install pytest in your conda env.</span>
426
  <span class="n">conda</span> <span class="n">install</span> <span class="n">pytest</span> <span class="n">pytest</span><span class="o">-</span><span class="n">xdist</span>
427
  <span class="c1"># Then run the tests.</span>
428
- <span class="n">pytest</span> <span class="o">--</span><span class="n">pyargs</span> <span class="n">diverseselector</span> <span class="o">-</span><span class="n">n</span> <span class="n">auto</span>
429
  </pre></div>
430
  </div>
431
  <p>With Pip:</p>
@@ -433,13 +433,13 @@ Python modules.</p>
433
  <span class="n">pip</span> <span class="n">install</span> <span class="n">pytest</span> <span class="n">pytest</span><span class="o">-</span><span class="n">xdist</span>
434
  <span class="c1"># .. and refresh the virtual environment.</span>
435
  <span class="c1"># This is a venv quirk. Without it, pytest may not find IOData.</span>
436
- <span class="n">deactivate</span> <span class="o">&amp;&amp;</span> <span class="n">source</span> <span class="o">~/</span><span class="n">diverseselector</span><span class="o">/</span><span class="n">activate</span>
437
 
438
  <span class="c1"># Alternatively, install pytest in your home directory.</span>
439
  <span class="n">pip</span> <span class="n">install</span> <span class="n">pytest</span> <span class="n">pytest</span><span class="o">-</span><span class="n">xdist</span> <span class="o">--</span><span class="n">user</span>
440
 
441
  <span class="c1"># Finally, run the tests.</span>
442
- <span class="n">pytest</span> <span class="o">--</span><span class="n">pyargs</span> <span class="n">diverseselector</span> <span class="o">-</span><span class="n">n</span> <span class="n">auto</span>
443
  </pre></div>
444
  </div>
445
  </section>
@@ -449,7 +449,7 @@ Python modules.</p>
449
  {
450
  requestKernel: true,
451
  binderOptions: {
452
- repo: "theochem/DiverseSelector",
453
  ref: "main",
454
  },
455
  codeMirrorConfig: {
@@ -466,10 +466,10 @@ Python modules.</p>
466
  <script>kernelName = 'python3'</script>
467
 
468
  </div>
469
-
470
-
471
  <!-- Previous / next buttons -->
472
- <div class='prev-next-area'>
473
  <a class='left-prev' id="prev-link" href="intro.html" title="previous page">
474
  <i class="fas fa-angle-left"></i>
475
  <div class="prev-next-info">
@@ -485,15 +485,15 @@ Python modules.</p>
485
  <i class="fas fa-angle-right"></i>
486
  </a>
487
  </div>
488
-
489
  </div>
490
  </div>
491
  <footer class="footer">
492
  <div class="container">
493
  <p>
494
-
495
  By The QC-Dev Community with the support of Digital Research Alliance of Canada and The Jupyter Book Community<br/>
496
-
497
  &copy; Copyright 2022-2023.<br/>
498
  </p>
499
  </div>
@@ -503,8 +503,8 @@ Python modules.</p>
503
 
504
  </div>
505
  </div>
506
-
507
  <script src="_static/js/index.be7d3bbb2ef33a8344ce.js"></script>
508
 
509
  </body>
510
- </html>
 
7
  <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
8
 
9
  <title>Installation &#8212; Ayers Lab</title>
10
+
11
  <link href="_static/css/theme.css" rel="stylesheet">
12
  <link href="_static/css/index.ff1ffe594081f20da1ef19478df9384b.css" rel="stylesheet">
13
 
14
+
15
  <link rel="stylesheet"
16
  href="_static/vendor/fontawesome/5.13.0/css/all.min.css">
17
  <link rel="preload" as="font" type="font/woff2" crossorigin
 
19
  <link rel="preload" as="font" type="font/woff2" crossorigin
20
  href="_static/vendor/fontawesome/5.13.0/webfonts/fa-brands-400.woff2">
21
 
 
 
22
 
23
+
24
+
25
+
26
  <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
27
  <link rel="stylesheet" type="text/css" href="_static/sphinx-book-theme.css?digest=c3fdc42140077d1ad13ad2f1588a4309" />
28
  <link rel="stylesheet" type="text/css" href="_static/togglebutton.css" />
 
31
  <link rel="stylesheet" type="text/css" href="_static/sphinx-thebe.css" />
32
  <link rel="stylesheet" type="text/css" href="_static/panels-main.c949a650a448cc0ae9fd3441c0e17fb0.css" />
33
  <link rel="stylesheet" type="text/css" href="_static/panels-variables.06eb56fa6e07937060861dad626602ad.css" />
34
+
35
  <link rel="preload" as="script" href="_static/js/index.be7d3bbb2ef33a8344ce.js">
36
 
37
  <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
 
57
  <link rel="prev" title="Welcome to QC-Selector’s Documentation!" href="intro.html" />
58
  <meta name="viewport" content="width=device-width, initial-scale=1" />
59
  <meta name="docsearch:language" content="None">
60
+
61
 
62
  <!-- Google Analytics -->
63
+
64
  </head>
65
  <body data-spy="scroll" data-target="#bd-toc-nav" data-offset="80">
66
+
67
  <div class="container-fluid" id="banner"></div>
68
 
69
+
70
 
71
  <div class="container-xl">
72
  <div class="row">
73
+
74
  <div class="col-12 col-md-3 bd-sidebar site-navigation show" id="site-navigation">
75
+
76
  <div class="navbar-brand-box">
77
  <a class="navbar-brand text-wrap" href="index.html">
78
+
79
  <!-- `logo` is deprecated in Sphinx 4.0, so remove this when we stop supporting 3 -->
80
+
81
+
82
+
83
  <img src="_static/selector_logo.png" class="logo" alt="logo">
84
+
85
+
86
  <h1 class="site-logo" id="site-title">Ayers Lab</h1>
87
+
88
  </a>
89
  </div><form class="bd-search d-flex align-items-center" action="search.html" method="get">
90
  <i class="icon fas fa-search"></i>
 
153
  </div>
154
 
155
 
 
156
 
157
 
158
+
159
+
160
  <main class="col py-md-3 pl-md-4 bd-content overflow-auto" role="main">
161
+
162
  <div class="topbar container-xl fixed-top">
163
  <div class="topbar-contents row">
164
  <div class="col-12 col-md-3 bd-topbar-whitespace site-navigation show"></div>
165
  <div class="col pl-md-4 topbar-main">
166
+
167
  <button id="navbar-toggler" class="navbar-toggler ml-0" type="button" data-toggle="collapse"
168
  data-toggle="tooltip" data-placement="bottom" data-target=".site-navigation" aria-controls="navbar-menu"
169
  aria-expanded="true" aria-label="Toggle navigation" aria-controls="site-navigation"
 
172
  <i class="fas fa-arrow-left"></i>
173
  <i class="fas fa-arrow-up"></i>
174
  </button>
175
+
176
+
177
  <div class="dropdown-buttons-trigger">
178
  <button id="dropdown-buttons-trigger" class="btn btn-secondary topbarbtn" aria-label="Download this page"><i
179
  class="fas fa-download"></i></button>
180
 
181
  <div class="dropdown-buttons">
182
  <!-- ipynb file if we had a myst markdown file -->
183
+
184
  <!-- Download raw file -->
185
  <a class="dropdown-buttons" href="_sources/installation.ipynb"><button type="button"
186
  class="btn btn-secondary topbarbtn" title="Download source file" data-toggle="tooltip"
 
198
  aria-label="Connect with source repository"><i class="fab fa-github"></i></button>
199
  <div class="dropdown-buttons sourcebuttons">
200
  <a class="repository-button"
201
+ href="https://github.com/theochem/Selector"><button type="button" class="btn btn-secondary topbarbtn"
202
  data-toggle="tooltip" data-placement="left" title="Source repository"><i
203
  class="fab fa-github"></i>repository</button></a>
204
  <a class="issues-button"
205
+ href="https://github.com/theochem/Selector/issues/new?title=Issue%20on%20page%20%2Finstallation.html&body=Your%20issue%20content%20here."><button
206
  type="button" class="btn btn-secondary topbarbtn" data-toggle="tooltip" data-placement="left"
207
  title="Open an issue"><i class="fas fa-lightbulb"></i>open issue</button></a>
208
+
209
  </div>
210
  </div>
211
 
 
222
  <button id="dropdown-buttons-trigger" class="btn btn-secondary topbarbtn"
223
  aria-label="Launch interactive content"><i class="fas fa-rocket"></i></button>
224
  <div class="dropdown-buttons">
225
+
226
+ <a class="binder-button" href="https://mybinder.org/v2/gh/theochem/Selector/main?urlpath=tree/book/content/installation.ipynb"><button type="button"
227
  class="btn btn-secondary topbarbtn" title="Launch Binder" data-toggle="tooltip"
228
  data-placement="left"><img class="binder-button-logo"
229
  src="_static/images/logo_binder.svg"
230
  alt="Interact on binder">Binder</button></a>
231
+
232
+
233
+
234
+ <a class="colab-button" href="https://colab.research.google.com/github/theochem/Selector/blob/main/book/content/installation.ipynb"><button type="button" class="btn btn-secondary topbarbtn"
235
  title="Launch Colab" data-toggle="tooltip" data-placement="left"><img class="colab-button-logo"
236
  src="_static/images/logo_colab.png"
237
  alt="Interact on Colab">Colab</button></a>
238
+
239
  <button type="button" class="btn btn-secondary topbarbtn"
240
  onclick="initThebeSBT()" title="Launch Thebe" data-toggle="tooltip" data-placement="left"><i
241
  class="fas fa-play"></i><span style="margin-left: .4em;">Live Code</span></button>
242
+
243
  </div>
244
  </div>
245
 
 
247
 
248
  <!-- Table of contents -->
249
  <div class="d-none d-md-block col-md-2 bd-toc show">
250
+
251
  <div class="tocsection onthispage pt-5 pb-3">
252
  <i class="fas fa-list"></i> Contents
253
  </div>
 
286
  </div>
287
  <div id="main-content" class="row">
288
  <div class="col-12 col-md-9 pl-md-3 pr-md-0">
289
+
290
  <div>
291
+
292
  <section class="tex2jax_ignore mathjax_ignore" id="installation">
293
  <h1>Installation<a class="headerlink" href="#installation" title="Permalink to this headline">¶</a></h1>
294
  <section id="stable-releases">
 
298
  </b>
299
  <p>We are preparing a 1.0 release. Until then, these instructions for installing a stable release will not work yet. If you enjoy living on the edge, try the development release as explained in the “Latest git revision” section below.</p>
300
  </div>
301
+ <p>The following dependencies are required to run selector properly,</p>
302
  <ul class="simple">
303
  <li><p>Python &gt;= 3.6: <a class="reference external" href="http://www.python.org/">http://www.python.org/</a></p></li>
304
  <li><p>NumPy &gt;= 1.21.5: <a class="reference external" href="http://www.numpy.org/">http://www.numpy.org/</a></p></li>
 
311
  <section id="installation-with-ana-or-miniconda">
312
  <h2>Installation with Ana- or Miniconda:<a class="headerlink" href="#installation-with-ana-or-miniconda" title="Permalink to this headline">¶</a></h2>
313
  <ol class="simple">
314
+ <li><p>To install selector using the conda package management system, install <a class="reference external" href="https://conda.io/miniconda.html">miniconda</a> or <a class="reference external" href="https://www.anaconda.com/download">anaconda</a> first, and then:</p></li>
315
  </ol>
316
  <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># Activate your main conda environment if it is not loaded in your .bashrc.</span>
317
  <span class="c1"># E.g. run the following if you have miniconda installed in e.g. ~/miniconda3</span>
 
375
  </section>
376
  <section id="latest-git-revision">
377
  <h2>Latest git revision<a class="headerlink" href="#latest-git-revision" title="Permalink to this headline">¶</a></h2>
378
+ <p>This section shows how one can install the latest revision of selector from the git repository. This kind of installation comes with some risks (sudden API changes, bugs, …) and so be prepared to accept them when using the following installation instructions.</p>
379
  <p>There are two installation methods:</p>
380
  <ol class="simple">
381
  <li><p><strong>Quick and dirty.</strong> Of this method, there are four variants, depending on the correctness of your <code class="docutils literal notranslate"><span class="pre">PATH</span></code> variable and the presence of a virtual or conda environment. These different scenarios are explained in more detail in the previous section.</p></li>
382
  </ol>
383
  <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># with env, correct PATH</span>
384
+ <span class="n">pip</span> <span class="n">install</span> <span class="n">git</span><span class="o">+</span><span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">github</span><span class="o">.</span><span class="n">com</span><span class="o">/</span><span class="n">theochem</span><span class="o">/</span><span class="n">selector</span><span class="o">.</span><span class="n">git</span>
385
  <span class="c1"># with env, broken PATH</span>
386
+ <span class="n">python</span> <span class="o">-</span><span class="n">m</span> <span class="n">pip</span> <span class="n">install</span> <span class="n">git</span><span class="o">+</span><span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">github</span><span class="o">.</span><span class="n">com</span><span class="o">/</span><span class="n">theochem</span><span class="o">/</span><span class="n">selector</span><span class="o">.</span><span class="n">git</span>
387
  <span class="c1"># without env, correct PATH</span>
388
+ <span class="n">pip</span> <span class="n">install</span> <span class="n">git</span><span class="o">+</span><span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">github</span><span class="o">.</span><span class="n">com</span><span class="o">/</span><span class="n">theochem</span><span class="o">/</span><span class="n">selector</span><span class="o">.</span><span class="n">git</span> <span class="o">--</span><span class="n">user</span>
389
  <span class="c1"># without env, broken PATH</span>
390
+ <span class="n">python</span> <span class="o">-</span><span class="n">m</span> <span class="n">pip</span> <span class="n">install</span> <span class="n">git</span><span class="o">+</span><span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">github</span><span class="o">.</span><span class="n">com</span><span class="o">/</span><span class="n">theochem</span><span class="o">/</span><span class="n">selector</span><span class="o">.</span><span class="n">git</span> <span class="o">--</span><span class="n">user</span>
391
  </pre></div>
392
  </div>
393
  <ol class="simple">
 
396
  <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># A) Clone git repo with https OR ssh:</span>
397
  <span class="c1"># The second one only works if you have ssh set up for Github</span>
398
  <span class="c1"># A1) https</span>
399
+ <span class="n">git</span> <span class="n">clone</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">github</span><span class="o">.</span><span class="n">com</span><span class="o">/</span><span class="n">theochem</span><span class="o">/</span><span class="n">selector</span><span class="o">.</span><span class="n">git</span>
400
  <span class="c1"># A2) ssh</span>
401
+ <span class="n">git</span> <span class="n">clone</span> <span class="n">git</span><span class="nd">@github</span><span class="o">.</span><span class="n">com</span><span class="p">:</span><span class="n">theochem</span><span class="o">/</span><span class="n">selector</span><span class="o">.</span><span class="n">git</span>
402
  <span class="c1"># B) Optionally write the version string</span>
403
  <span class="n">pip</span> <span class="n">install</span> <span class="n">roberto</span> <span class="c1"># or any of the three other ways of running pip, see above.</span>
404
  <span class="n">rob</span> <span class="n">write</span><span class="o">-</span><span class="n">version</span>
 
425
  <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># Install pytest in your conda env.</span>
426
  <span class="n">conda</span> <span class="n">install</span> <span class="n">pytest</span> <span class="n">pytest</span><span class="o">-</span><span class="n">xdist</span>
427
  <span class="c1"># Then run the tests.</span>
428
+ <span class="n">pytest</span> <span class="o">--</span><span class="n">pyargs</span> <span class="n">selector</span> <span class="o">-</span><span class="n">n</span> <span class="n">auto</span>
429
  </pre></div>
430
  </div>
431
  <p>With Pip:</p>
 
433
  <span class="n">pip</span> <span class="n">install</span> <span class="n">pytest</span> <span class="n">pytest</span><span class="o">-</span><span class="n">xdist</span>
434
  <span class="c1"># .. and refresh the virtual environment.</span>
435
  <span class="c1"># This is a venv quirk. Without it, pytest may not find IOData.</span>
436
+ <span class="n">deactivate</span> <span class="o">&amp;&amp;</span> <span class="n">source</span> <span class="o">~/</span><span class="n">selector</span><span class="o">/</span><span class="n">activate</span>
437
 
438
  <span class="c1"># Alternatively, install pytest in your home directory.</span>
439
  <span class="n">pip</span> <span class="n">install</span> <span class="n">pytest</span> <span class="n">pytest</span><span class="o">-</span><span class="n">xdist</span> <span class="o">--</span><span class="n">user</span>
440
 
441
  <span class="c1"># Finally, run the tests.</span>
442
+ <span class="n">pytest</span> <span class="o">--</span><span class="n">pyargs</span> <span class="n">selector</span> <span class="o">-</span><span class="n">n</span> <span class="n">auto</span>
443
  </pre></div>
444
  </div>
445
  </section>
 
449
  {
450
  requestKernel: true,
451
  binderOptions: {
452
+ repo: "theochem/Selector",
453
  ref: "main",
454
  },
455
  codeMirrorConfig: {
 
466
  <script>kernelName = 'python3'</script>
467
 
468
  </div>
469
+
470
+
471
  <!-- Previous / next buttons -->
472
+ <div class='prev-next-area'>
473
  <a class='left-prev' id="prev-link" href="intro.html" title="previous page">
474
  <i class="fas fa-angle-left"></i>
475
  <div class="prev-next-info">
 
485
  <i class="fas fa-angle-right"></i>
486
  </a>
487
  </div>
488
+
489
  </div>
490
  </div>
491
  <footer class="footer">
492
  <div class="container">
493
  <p>
494
+
495
  By The QC-Dev Community with the support of Digital Research Alliance of Canada and The Jupyter Book Community<br/>
496
+
497
  &copy; Copyright 2022-2023.<br/>
498
  </p>
499
  </div>
 
503
 
504
  </div>
505
  </div>
506
+
507
  <script src="_static/js/index.be7d3bbb2ef33a8344ce.js"></script>
508
 
509
  </body>
510
+ </html>
book/content/_build/html/intro.html CHANGED
@@ -7,11 +7,11 @@
7
  <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
8
 
9
  <title>Welcome to QC-Selector’s Documentation! &#8212; Ayers Lab</title>
10
-
11
  <link href="_static/css/theme.css" rel="stylesheet">
12
  <link href="_static/css/index.ff1ffe594081f20da1ef19478df9384b.css" rel="stylesheet">
13
 
14
-
15
  <link rel="stylesheet"
16
  href="_static/vendor/fontawesome/5.13.0/css/all.min.css">
17
  <link rel="preload" as="font" type="font/woff2" crossorigin
@@ -19,10 +19,10 @@
19
  <link rel="preload" as="font" type="font/woff2" crossorigin
20
  href="_static/vendor/fontawesome/5.13.0/webfonts/fa-brands-400.woff2">
21
 
22
-
23
-
24
 
25
-
 
 
26
  <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
27
  <link rel="stylesheet" type="text/css" href="_static/sphinx-book-theme.css?digest=c3fdc42140077d1ad13ad2f1588a4309" />
28
  <link rel="stylesheet" type="text/css" href="_static/togglebutton.css" />
@@ -31,7 +31,7 @@
31
  <link rel="stylesheet" type="text/css" href="_static/sphinx-thebe.css" />
32
  <link rel="stylesheet" type="text/css" href="_static/panels-main.c949a650a448cc0ae9fd3441c0e17fb0.css" />
33
  <link rel="stylesheet" type="text/css" href="_static/panels-variables.06eb56fa6e07937060861dad626602ad.css" />
34
-
35
  <link rel="preload" as="script" href="_static/js/index.be7d3bbb2ef33a8344ce.js">
36
 
37
  <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
@@ -56,34 +56,34 @@
56
  <link rel="next" title="Installation" href="installation.html" />
57
  <meta name="viewport" content="width=device-width, initial-scale=1" />
58
  <meta name="docsearch:language" content="None">
59
-
60
 
61
  <!-- Google Analytics -->
62
-
63
  </head>
64
  <body data-spy="scroll" data-target="#bd-toc-nav" data-offset="80">
65
-
66
  <div class="container-fluid" id="banner"></div>
67
 
68
-
69
 
70
  <div class="container-xl">
71
  <div class="row">
72
-
73
  <div class="col-12 col-md-3 bd-sidebar site-navigation show" id="site-navigation">
74
-
75
  <div class="navbar-brand-box">
76
  <a class="navbar-brand text-wrap" href="index.html">
77
-
78
  <!-- `logo` is deprecated in Sphinx 4.0, so remove this when we stop supporting 3 -->
79
-
80
-
81
-
82
  <img src="_static/selector_logo.png" class="logo" alt="logo">
83
-
84
-
85
  <h1 class="site-logo" id="site-title">Ayers Lab</h1>
86
-
87
  </a>
88
  </div><form class="bd-search d-flex align-items-center" action="search.html" method="get">
89
  <i class="icon fas fa-search"></i>
@@ -152,17 +152,17 @@
152
  </div>
153
 
154
 
155
-
156
 
157
 
158
-
 
159
  <main class="col py-md-3 pl-md-4 bd-content overflow-auto" role="main">
160
-
161
  <div class="topbar container-xl fixed-top">
162
  <div class="topbar-contents row">
163
  <div class="col-12 col-md-3 bd-topbar-whitespace site-navigation show"></div>
164
  <div class="col pl-md-4 topbar-main">
165
-
166
  <button id="navbar-toggler" class="navbar-toggler ml-0" type="button" data-toggle="collapse"
167
  data-toggle="tooltip" data-placement="bottom" data-target=".site-navigation" aria-controls="navbar-menu"
168
  aria-expanded="true" aria-label="Toggle navigation" aria-controls="site-navigation"
@@ -171,15 +171,15 @@
171
  <i class="fas fa-arrow-left"></i>
172
  <i class="fas fa-arrow-up"></i>
173
  </button>
174
-
175
-
176
  <div class="dropdown-buttons-trigger">
177
  <button id="dropdown-buttons-trigger" class="btn btn-secondary topbarbtn" aria-label="Download this page"><i
178
  class="fas fa-download"></i></button>
179
 
180
  <div class="dropdown-buttons">
181
  <!-- ipynb file if we had a myst markdown file -->
182
-
183
  <!-- Download raw file -->
184
  <a class="dropdown-buttons" href="_sources/intro.md"><button type="button"
185
  class="btn btn-secondary topbarbtn" title="Download source file" data-toggle="tooltip"
@@ -197,14 +197,14 @@
197
  aria-label="Connect with source repository"><i class="fab fa-github"></i></button>
198
  <div class="dropdown-buttons sourcebuttons">
199
  <a class="repository-button"
200
- href="https://github.com/theochem/DiverseSelector"><button type="button" class="btn btn-secondary topbarbtn"
201
  data-toggle="tooltip" data-placement="left" title="Source repository"><i
202
  class="fab fa-github"></i>repository</button></a>
203
  <a class="issues-button"
204
- href="https://github.com/theochem/DiverseSelector/issues/new?title=Issue%20on%20page%20%2Fintro.html&body=Your%20issue%20content%20here."><button
205
  type="button" class="btn btn-secondary topbarbtn" data-toggle="tooltip" data-placement="left"
206
  title="Open an issue"><i class="fas fa-lightbulb"></i>open issue</button></a>
207
-
208
  </div>
209
  </div>
210
 
@@ -221,7 +221,7 @@
221
 
222
  <!-- Table of contents -->
223
  <div class="d-none d-md-block col-md-2 bd-toc show">
224
-
225
  <div class="tocsection onthispage pt-5 pb-3">
226
  <i class="fas fa-list"></i> Contents
227
  </div>
@@ -245,15 +245,15 @@
245
  </div>
246
  <div id="main-content" class="row">
247
  <div class="col-12 col-md-9 pl-md-3 pr-md-0">
248
-
249
  <div>
250
-
251
  <!-- #region -->
252
  <section class="tex2jax_ignore mathjax_ignore" id="welcome-to-qc-selector-s-documentation">
253
  <h1>Welcome to QC-Selector’s Documentation!<a class="headerlink" href="#welcome-to-qc-selector-s-documentation" title="Permalink to this headline">¶</a></h1>
254
- <p><a class="reference external" href="https://github.com/theochem/DiverseSelector">DiverseSelector</a> is a free, open-source, and cross-platform Python library designed to help you effortlessly identify the most diverse subset of molecules from your dataset. Please use the following citation in any publication using DiverseSelector library:</p>
255
  <p><strong>“QC-Selector: A Generic Python Package for Subset Selection”</strong>, Fanwang Meng, Alireza Tehrani, Valerii Chuiko, Abigail Broscius, Abdul, Hassan, Maximilian van Zyl, Marco Martínez González, Yang, Ramón Alain Miranda-Quintana, Paul W. Ayers, and Farnaz Heidar-Zadeh”</p>
256
- <p>The DiverseSelector source code is hosted on <a class="reference external" href="https://github.com/theochem/DiverseSelector">GitHub</a> and is released under the <a class="reference external" href="https://github.com/theochem/DiverseSelector/blob/main/LICENSE">GNU General Public License v3.0</a>. We welcome any contributions to the DiverseSelector library in accordance with our Code of Conduct; please see our <a class="reference external" href="https://qcdevs.org/guidelines/QCDevsCodeOfConduct/">Contributing Guidelines</a>. Please report any issues you encounter while using DiverseSelector library on <a class="reference external" href="https://github.com/theochem/DiverseSelector/issues">GitHub Issues</a>. For further information and inquiries please contact us at <a class="reference external" href="mailto:qcdevs&#37;&#52;&#48;gmail&#46;com">qcdevs<span>&#64;</span>gmail<span>&#46;</span>com</a>.</p>
257
  <section id="why-qc-selector">
258
  <h2>Why QC-Selector?<a class="headerlink" href="#why-qc-selector" title="Permalink to this headline">¶</a></h2>
259
  <p>In the world of chemistry, selecting the right subset of molecules is critical for a wide range of applications, including drug discovery, materials science, and molecular optimization. QC-Selector offers a cutting-edge solution to streamline this process, empowering researchers, scientists, and developers to make smarter decisions faster.</p>
@@ -278,7 +278,7 @@
278
  {
279
  requestKernel: true,
280
  binderOptions: {
281
- repo: "theochem/DiverseSelector",
282
  ref: "main",
283
  },
284
  codeMirrorConfig: {
@@ -295,8 +295,8 @@
295
  <script>kernelName = 'python3'</script>
296
 
297
  </div>
298
-
299
-
300
  <!-- Previous / next buttons -->
301
  <div class='prev-next-area'>
302
  <a class='right-next' id="next-link" href="installation.html" title="next page">
@@ -307,15 +307,15 @@
307
  <i class="fas fa-angle-right"></i>
308
  </a>
309
  </div>
310
-
311
  </div>
312
  </div>
313
  <footer class="footer">
314
  <div class="container">
315
  <p>
316
-
317
  By The QC-Dev Community with the support of Digital Research Alliance of Canada and The Jupyter Book Community<br/>
318
-
319
  &copy; Copyright 2022-2023.<br/>
320
  </p>
321
  </div>
@@ -325,8 +325,8 @@
325
 
326
  </div>
327
  </div>
328
-
329
  <script src="_static/js/index.be7d3bbb2ef33a8344ce.js"></script>
330
 
331
  </body>
332
- </html>
 
7
  <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
8
 
9
  <title>Welcome to QC-Selector’s Documentation! &#8212; Ayers Lab</title>
10
+
11
  <link href="_static/css/theme.css" rel="stylesheet">
12
  <link href="_static/css/index.ff1ffe594081f20da1ef19478df9384b.css" rel="stylesheet">
13
 
14
+
15
  <link rel="stylesheet"
16
  href="_static/vendor/fontawesome/5.13.0/css/all.min.css">
17
  <link rel="preload" as="font" type="font/woff2" crossorigin
 
19
  <link rel="preload" as="font" type="font/woff2" crossorigin
20
  href="_static/vendor/fontawesome/5.13.0/webfonts/fa-brands-400.woff2">
21
 
 
 
22
 
23
+
24
+
25
+
26
  <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
27
  <link rel="stylesheet" type="text/css" href="_static/sphinx-book-theme.css?digest=c3fdc42140077d1ad13ad2f1588a4309" />
28
  <link rel="stylesheet" type="text/css" href="_static/togglebutton.css" />
 
31
  <link rel="stylesheet" type="text/css" href="_static/sphinx-thebe.css" />
32
  <link rel="stylesheet" type="text/css" href="_static/panels-main.c949a650a448cc0ae9fd3441c0e17fb0.css" />
33
  <link rel="stylesheet" type="text/css" href="_static/panels-variables.06eb56fa6e07937060861dad626602ad.css" />
34
+
35
  <link rel="preload" as="script" href="_static/js/index.be7d3bbb2ef33a8344ce.js">
36
 
37
  <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
 
56
  <link rel="next" title="Installation" href="installation.html" />
57
  <meta name="viewport" content="width=device-width, initial-scale=1" />
58
  <meta name="docsearch:language" content="None">
59
+
60
 
61
  <!-- Google Analytics -->
62
+
63
  </head>
64
  <body data-spy="scroll" data-target="#bd-toc-nav" data-offset="80">
65
+
66
  <div class="container-fluid" id="banner"></div>
67
 
68
+
69
 
70
  <div class="container-xl">
71
  <div class="row">
72
+
73
  <div class="col-12 col-md-3 bd-sidebar site-navigation show" id="site-navigation">
74
+
75
  <div class="navbar-brand-box">
76
  <a class="navbar-brand text-wrap" href="index.html">
77
+
78
  <!-- `logo` is deprecated in Sphinx 4.0, so remove this when we stop supporting 3 -->
79
+
80
+
81
+
82
  <img src="_static/selector_logo.png" class="logo" alt="logo">
83
+
84
+
85
  <h1 class="site-logo" id="site-title">Ayers Lab</h1>
86
+
87
  </a>
88
  </div><form class="bd-search d-flex align-items-center" action="search.html" method="get">
89
  <i class="icon fas fa-search"></i>
 
152
  </div>
153
 
154
 
 
155
 
156
 
157
+
158
+
159
  <main class="col py-md-3 pl-md-4 bd-content overflow-auto" role="main">
160
+
161
  <div class="topbar container-xl fixed-top">
162
  <div class="topbar-contents row">
163
  <div class="col-12 col-md-3 bd-topbar-whitespace site-navigation show"></div>
164
  <div class="col pl-md-4 topbar-main">
165
+
166
  <button id="navbar-toggler" class="navbar-toggler ml-0" type="button" data-toggle="collapse"
167
  data-toggle="tooltip" data-placement="bottom" data-target=".site-navigation" aria-controls="navbar-menu"
168
  aria-expanded="true" aria-label="Toggle navigation" aria-controls="site-navigation"
 
171
  <i class="fas fa-arrow-left"></i>
172
  <i class="fas fa-arrow-up"></i>
173
  </button>
174
+
175
+
176
  <div class="dropdown-buttons-trigger">
177
  <button id="dropdown-buttons-trigger" class="btn btn-secondary topbarbtn" aria-label="Download this page"><i
178
  class="fas fa-download"></i></button>
179
 
180
  <div class="dropdown-buttons">
181
  <!-- ipynb file if we had a myst markdown file -->
182
+
183
  <!-- Download raw file -->
184
  <a class="dropdown-buttons" href="_sources/intro.md"><button type="button"
185
  class="btn btn-secondary topbarbtn" title="Download source file" data-toggle="tooltip"
 
197
  aria-label="Connect with source repository"><i class="fab fa-github"></i></button>
198
  <div class="dropdown-buttons sourcebuttons">
199
  <a class="repository-button"
200
+ href="https://github.com/theochem/Selector"><button type="button" class="btn btn-secondary topbarbtn"
201
  data-toggle="tooltip" data-placement="left" title="Source repository"><i
202
  class="fab fa-github"></i>repository</button></a>
203
  <a class="issues-button"
204
+ href="https://github.com/theochem/Selector/issues/new?title=Issue%20on%20page%20%2Fintro.html&body=Your%20issue%20content%20here."><button
205
  type="button" class="btn btn-secondary topbarbtn" data-toggle="tooltip" data-placement="left"
206
  title="Open an issue"><i class="fas fa-lightbulb"></i>open issue</button></a>
207
+
208
  </div>
209
  </div>
210
 
 
221
 
222
  <!-- Table of contents -->
223
  <div class="d-none d-md-block col-md-2 bd-toc show">
224
+
225
  <div class="tocsection onthispage pt-5 pb-3">
226
  <i class="fas fa-list"></i> Contents
227
  </div>
 
245
  </div>
246
  <div id="main-content" class="row">
247
  <div class="col-12 col-md-9 pl-md-3 pr-md-0">
248
+
249
  <div>
250
+
251
  <!-- #region -->
252
  <section class="tex2jax_ignore mathjax_ignore" id="welcome-to-qc-selector-s-documentation">
253
  <h1>Welcome to QC-Selector’s Documentation!<a class="headerlink" href="#welcome-to-qc-selector-s-documentation" title="Permalink to this headline">¶</a></h1>
254
+ <p><a class="reference external" href="https://github.com/theochem/Selector">selector</a> is a free, open-source, and cross-platform Python library designed to help you effortlessly identify the most diverse subset of molecules from your dataset. Please use the following citation in any publication using selector library:</p>
255
  <p><strong>“QC-Selector: A Generic Python Package for Subset Selection”</strong>, Fanwang Meng, Alireza Tehrani, Valerii Chuiko, Abigail Broscius, Abdul, Hassan, Maximilian van Zyl, Marco Martínez González, Yang, Ramón Alain Miranda-Quintana, Paul W. Ayers, and Farnaz Heidar-Zadeh”</p>
256
+ <p>The selector source code is hosted on <a class="reference external" href="https://github.com/theochem/Selector">GitHub</a> and is released under the <a class="reference external" href="https://github.com/theochem/Selector/blob/main/LICENSE">GNU General Public License v3.0</a>. We welcome any contributions to the selector library in accordance with our Code of Conduct; please see our <a class="reference external" href="https://qcdevs.org/guidelines/QCDevsCodeOfConduct/">Contributing Guidelines</a>. Please report any issues you encounter while using selector library on <a class="reference external" href="https://github.com/theochem/Selector/issues">GitHub Issues</a>. For further information and inquiries please contact us at <a class="reference external" href="mailto:qcdevs&#37;&#52;&#48;gmail&#46;com">qcdevs<span>&#64;</span>gmail<span>&#46;</span>com</a>.</p>
257
  <section id="why-qc-selector">
258
  <h2>Why QC-Selector?<a class="headerlink" href="#why-qc-selector" title="Permalink to this headline">¶</a></h2>
259
  <p>In the world of chemistry, selecting the right subset of molecules is critical for a wide range of applications, including drug discovery, materials science, and molecular optimization. QC-Selector offers a cutting-edge solution to streamline this process, empowering researchers, scientists, and developers to make smarter decisions faster.</p>
 
278
  {
279
  requestKernel: true,
280
  binderOptions: {
281
+ repo: "theochem/Selector",
282
  ref: "main",
283
  },
284
  codeMirrorConfig: {
 
295
  <script>kernelName = 'python3'</script>
296
 
297
  </div>
298
+
299
+
300
  <!-- Previous / next buttons -->
301
  <div class='prev-next-area'>
302
  <a class='right-next' id="next-link" href="installation.html" title="next page">
 
307
  <i class="fas fa-angle-right"></i>
308
  </a>
309
  </div>
310
+
311
  </div>
312
  </div>
313
  <footer class="footer">
314
  <div class="container">
315
  <p>
316
+
317
  By The QC-Dev Community with the support of Digital Research Alliance of Canada and The Jupyter Book Community<br/>
318
+
319
  &copy; Copyright 2022-2023.<br/>
320
  </p>
321
  </div>
 
325
 
326
  </div>
327
  </div>
328
+
329
  <script src="_static/js/index.be7d3bbb2ef33a8344ce.js"></script>
330
 
331
  </body>
332
+ </html>
book/content/_build/html/partition.html CHANGED
@@ -7,11 +7,11 @@
7
  <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
8
 
9
  <title>Partition based methods &#8212; Ayers Lab</title>
10
-
11
  <link href="_static/css/theme.css" rel="stylesheet">
12
  <link href="_static/css/index.ff1ffe594081f20da1ef19478df9384b.css" rel="stylesheet">
13
 
14
-
15
  <link rel="stylesheet"
16
  href="_static/vendor/fontawesome/5.13.0/css/all.min.css">
17
  <link rel="preload" as="font" type="font/woff2" crossorigin
@@ -19,10 +19,10 @@
19
  <link rel="preload" as="font" type="font/woff2" crossorigin
20
  href="_static/vendor/fontawesome/5.13.0/webfonts/fa-brands-400.woff2">
21
 
22
-
23
-
24
 
25
-
 
 
26
  <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
27
  <link rel="stylesheet" type="text/css" href="_static/sphinx-book-theme.css?digest=c3fdc42140077d1ad13ad2f1588a4309" />
28
  <link rel="stylesheet" type="text/css" href="_static/togglebutton.css" />
@@ -31,7 +31,7 @@
31
  <link rel="stylesheet" type="text/css" href="_static/sphinx-thebe.css" />
32
  <link rel="stylesheet" type="text/css" href="_static/panels-main.c949a650a448cc0ae9fd3441c0e17fb0.css" />
33
  <link rel="stylesheet" type="text/css" href="_static/panels-variables.06eb56fa6e07937060861dad626602ad.css" />
34
-
35
  <link rel="preload" as="script" href="_static/js/index.be7d3bbb2ef33a8344ce.js">
36
 
37
  <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
@@ -57,34 +57,34 @@
57
  <link rel="prev" title="Dissimilarity based methods" href="dissimilarity.html" />
58
  <meta name="viewport" content="width=device-width, initial-scale=1" />
59
  <meta name="docsearch:language" content="None">
60
-
61
 
62
  <!-- Google Analytics -->
63
-
64
  </head>
65
  <body data-spy="scroll" data-target="#bd-toc-nav" data-offset="80">
66
-
67
  <div class="container-fluid" id="banner"></div>
68
 
69
-
70
 
71
  <div class="container-xl">
72
  <div class="row">
73
-
74
  <div class="col-12 col-md-3 bd-sidebar site-navigation show" id="site-navigation">
75
-
76
  <div class="navbar-brand-box">
77
  <a class="navbar-brand text-wrap" href="index.html">
78
-
79
  <!-- `logo` is deprecated in Sphinx 4.0, so remove this when we stop supporting 3 -->
80
-
81
-
82
-
83
  <img src="_static/selector_logo.png" class="logo" alt="logo">
84
-
85
-
86
  <h1 class="site-logo" id="site-title">Ayers Lab</h1>
87
-
88
  </a>
89
  </div><form class="bd-search d-flex align-items-center" action="search.html" method="get">
90
  <i class="icon fas fa-search"></i>
@@ -153,17 +153,17 @@
153
  </div>
154
 
155
 
156
-
157
 
158
 
159
-
 
160
  <main class="col py-md-3 pl-md-4 bd-content overflow-auto" role="main">
161
-
162
  <div class="topbar container-xl fixed-top">
163
  <div class="topbar-contents row">
164
  <div class="col-12 col-md-3 bd-topbar-whitespace site-navigation show"></div>
165
  <div class="col pl-md-4 topbar-main">
166
-
167
  <button id="navbar-toggler" class="navbar-toggler ml-0" type="button" data-toggle="collapse"
168
  data-toggle="tooltip" data-placement="bottom" data-target=".site-navigation" aria-controls="navbar-menu"
169
  aria-expanded="true" aria-label="Toggle navigation" aria-controls="site-navigation"
@@ -172,15 +172,15 @@
172
  <i class="fas fa-arrow-left"></i>
173
  <i class="fas fa-arrow-up"></i>
174
  </button>
175
-
176
-
177
  <div class="dropdown-buttons-trigger">
178
  <button id="dropdown-buttons-trigger" class="btn btn-secondary topbarbtn" aria-label="Download this page"><i
179
  class="fas fa-download"></i></button>
180
 
181
  <div class="dropdown-buttons">
182
  <!-- ipynb file if we had a myst markdown file -->
183
-
184
  <!-- Download raw file -->
185
  <a class="dropdown-buttons" href="_sources/partition.rst"><button type="button"
186
  class="btn btn-secondary topbarbtn" title="Download source file" data-toggle="tooltip"
@@ -198,14 +198,14 @@
198
  aria-label="Connect with source repository"><i class="fab fa-github"></i></button>
199
  <div class="dropdown-buttons sourcebuttons">
200
  <a class="repository-button"
201
- href="https://github.com/theochem/DiverseSelector"><button type="button" class="btn btn-secondary topbarbtn"
202
  data-toggle="tooltip" data-placement="left" title="Source repository"><i
203
  class="fab fa-github"></i>repository</button></a>
204
  <a class="issues-button"
205
- href="https://github.com/theochem/DiverseSelector/issues/new?title=Issue%20on%20page%20%2Fpartition.html&body=Your%20issue%20content%20here."><button
206
  type="button" class="btn btn-secondary topbarbtn" data-toggle="tooltip" data-placement="left"
207
  title="Open an issue"><i class="fas fa-lightbulb"></i>open issue</button></a>
208
-
209
  </div>
210
  </div>
211
 
@@ -222,21 +222,21 @@
222
 
223
  <!-- Table of contents -->
224
  <div class="d-none d-md-block col-md-2 bd-toc show">
225
-
226
  </div>
227
  </div>
228
  </div>
229
  <div id="main-content" class="row">
230
  <div class="col-12 col-md-9 pl-md-3 pr-md-0">
231
-
232
  <div>
233
-
234
  <section id="partition-based-methods">
235
  <h1>Partition based methods<a class="headerlink" href="#partition-based-methods" title="Permalink to this headline">¶</a></h1>
236
- <span class="target" id="module-DiverseSelector.partition"></span><p>Module for Partition-Based Selection Methods.</p>
237
  <dl class="py class">
238
- <dt class="sig sig-object py" id="DiverseSelector.partition.DirectedSphereExclusion">
239
- <em class="property"><span class="pre">class</span> </em><span class="sig-prename descclassname"><span class="pre">DiverseSelector.partition.</span></span><span class="sig-name descname"><span class="pre">DirectedSphereExclusion</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">r0</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ref_index</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">p</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">2.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">eps</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">tol</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.05</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_iter</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">random_seed</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">42</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#DiverseSelector.partition.DirectedSphereExclusion" title="Permalink to this definition">¶</a></dt>
240
  <dd><p>Select samples using Directed Sphere Exclusion (DISE) algorithm.</p>
241
  <p>In a nutshell, this algorithm iteratively excludes any sample within a given radius from
242
  any already selected sample. The radius of the exclusion sphere is an adjustable parameter.
@@ -255,8 +255,8 @@ number of samples.</p>
255
  Journal of Chemical Information and Computer Sciences,
256
  43(1), 317–323. <a class="reference external" href="https://doi.org/10.1021/ci025554v">https://doi.org/10.1021/ci025554v</a></p>
257
  <dl class="py method">
258
- <dt class="sig sig-object py" id="DiverseSelector.partition.DirectedSphereExclusion.algorithm">
259
- <span class="sig-name descname"><span class="pre">algorithm</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_size</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#DiverseSelector.partition.DirectedSphereExclusion.algorithm" title="Permalink to this definition">¶</a></dt>
260
  <dd><p>Return selected samples based on directed sphere exclusion algorithm.</p>
261
  <dl class="simple">
262
  <dt>X: ndarray of shape (n_samples, n_features)</dt><dd><p>Feature matrix of <cite>n_samples</cite> samples in <cite>n_features</cite> dimensional space.</p>
@@ -271,8 +271,8 @@ Journal of Chemical Information and Computer Sciences,
271
  </dd></dl>
272
 
273
  <dl class="py method">
274
- <dt class="sig sig-object py" id="DiverseSelector.partition.DirectedSphereExclusion.select_from_cluster">
275
- <span class="sig-name descname"><span class="pre">select_from_cluster</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">size</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cluster_ids</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#DiverseSelector.partition.DirectedSphereExclusion.select_from_cluster" title="Permalink to this definition">¶</a></dt>
276
  <dd><p>Return selected samples from a cluster based on directed sphere exclusion algorithm</p>
277
  <dl class="simple">
278
  <dt>X: ndarray of shape (n_samples, n_features)</dt><dd><p>Feature matrix of <cite>n_samples</cite> samples in <cite>n_features</cite> dimensional space.</p>
@@ -291,8 +291,8 @@ Journal of Chemical Information and Computer Sciences,
291
  </dd></dl>
292
 
293
  <dl class="py class">
294
- <dt class="sig sig-object py" id="DiverseSelector.partition.GridPartitioning">
295
- <em class="property"><span class="pre">class</span> </em><span class="sig-prename descclassname"><span class="pre">DiverseSelector.partition.</span></span><span class="sig-name descname"><span class="pre">GridPartitioning</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cells</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">grid_method</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'equisized_independent'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_dim</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">random_seed</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">42</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#DiverseSelector.partition.GridPartitioning" title="Permalink to this definition">¶</a></dt>
296
  <dd><p>Selecting points using the Grid Partitioning algorithm.</p>
297
  <p>Points are partitioned into grids using an algorithm (equisized independent or equisized
298
  dependent). A point is selected from each of the grids while the number of selected points is
@@ -302,8 +302,8 @@ than the number of grids available to select from, the points are chosen from th
302
  greatest diversity.</p>
303
  <p>Adapted from <a class="reference external" href="https://doi.org/10.1016/S1093-3263(99)00016-9">https://doi.org/10.1016/S1093-3263(99)00016-9</a>.</p>
304
  <dl class="py method">
305
- <dt class="sig sig-object py" id="DiverseSelector.partition.GridPartitioning.select_from_cluster">
306
- <span class="sig-name descname"><span class="pre">select_from_cluster</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">arr</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">num_selected</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cluster_ids</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#DiverseSelector.partition.GridPartitioning.select_from_cluster" title="Permalink to this definition">¶</a></dt>
307
  <dd><p>Grid partitioning algorithm for selecting points from cluster.</p>
308
  <dl class="simple">
309
  <dt>arr: np.ndarray</dt><dd><p>Coordinate array of points</p>
@@ -322,8 +322,8 @@ greatest diversity.</p>
322
  </dd></dl>
323
 
324
  <dl class="py class">
325
- <dt class="sig sig-object py" id="DiverseSelector.partition.Medoid">
326
- <em class="property"><span class="pre">class</span> </em><span class="sig-prename descclassname"><span class="pre">DiverseSelector.partition.</span></span><span class="sig-name descname"><span class="pre">Medoid</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">start_id=0</span></em>, <em class="sig-param"><span class="pre">func_distance=&lt;function</span> <span class="pre">Medoid.&lt;lambda&gt;&gt;</span></em>, <em class="sig-param"><span class="pre">scaling=10</span></em><span class="sig-paren">)</span><a class="headerlink" href="#DiverseSelector.partition.Medoid" title="Permalink to this definition">¶</a></dt>
327
  <dd><p>Selecting points using an algorithm adapted from KDTree.</p>
328
  <p>Points are initially used to construct a KDTree. Eucleidean distances are used for this
329
  algorithm. The first point selected is based on the starting_idx provided and becomes the first
@@ -334,8 +334,8 @@ and is used as the new query point for find_furthest_neighbor, repeating the pro
334
  upon selecting requested number of points or if all available points exhausted.</p>
335
  <p>Adapted from: <a class="reference external" href="https://en.wikipedia.org/wiki/K-d_tree#Construction">https://en.wikipedia.org/wiki/K-d_tree#Construction</a></p>
336
  <dl class="py method">
337
- <dt class="sig sig-object py" id="DiverseSelector.partition.Medoid.select_from_cluster">
338
- <span class="sig-name descname"><span class="pre">select_from_cluster</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">arr</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">num_selected</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cluster_ids</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#DiverseSelector.partition.Medoid.select_from_cluster" title="Permalink to this definition">¶</a></dt>
339
  <dd><p>Main function for selecting points using the KDTree algorithm.</p>
340
  <dl class="simple">
341
  <dt>arr: np.ndarray</dt><dd><p>Coordinate array of points</p>
@@ -359,7 +359,7 @@ upon selecting requested number of points or if all available points exhausted.<
359
  {
360
  requestKernel: true,
361
  binderOptions: {
362
- repo: "theochem/DiverseSelector",
363
  ref: "main",
364
  },
365
  codeMirrorConfig: {
@@ -376,10 +376,10 @@ upon selecting requested number of points or if all available points exhausted.<
376
  <script>kernelName = 'python3'</script>
377
 
378
  </div>
379
-
380
-
381
  <!-- Previous / next buttons -->
382
- <div class='prev-next-area'>
383
  <a class='left-prev' id="prev-link" href="dissimilarity.html" title="previous page">
384
  <i class="fas fa-angle-left"></i>
385
  <div class="prev-next-info">
@@ -395,15 +395,15 @@ upon selecting requested number of points or if all available points exhausted.<
395
  <i class="fas fa-angle-right"></i>
396
  </a>
397
  </div>
398
-
399
  </div>
400
  </div>
401
  <footer class="footer">
402
  <div class="container">
403
  <p>
404
-
405
  By The QC-Dev Community with the support of Digital Research Alliance of Canada and The Jupyter Book Community<br/>
406
-
407
  &copy; Copyright 2022-2023.<br/>
408
  </p>
409
  </div>
@@ -413,8 +413,8 @@ upon selecting requested number of points or if all available points exhausted.<
413
 
414
  </div>
415
  </div>
416
-
417
  <script src="_static/js/index.be7d3bbb2ef33a8344ce.js"></script>
418
 
419
  </body>
420
- </html>
 
7
  <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
8
 
9
  <title>Partition based methods &#8212; Ayers Lab</title>
10
+
11
  <link href="_static/css/theme.css" rel="stylesheet">
12
  <link href="_static/css/index.ff1ffe594081f20da1ef19478df9384b.css" rel="stylesheet">
13
 
14
+
15
  <link rel="stylesheet"
16
  href="_static/vendor/fontawesome/5.13.0/css/all.min.css">
17
  <link rel="preload" as="font" type="font/woff2" crossorigin
 
19
  <link rel="preload" as="font" type="font/woff2" crossorigin
20
  href="_static/vendor/fontawesome/5.13.0/webfonts/fa-brands-400.woff2">
21
 
 
 
22
 
23
+
24
+
25
+
26
  <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
27
  <link rel="stylesheet" type="text/css" href="_static/sphinx-book-theme.css?digest=c3fdc42140077d1ad13ad2f1588a4309" />
28
  <link rel="stylesheet" type="text/css" href="_static/togglebutton.css" />
 
31
  <link rel="stylesheet" type="text/css" href="_static/sphinx-thebe.css" />
32
  <link rel="stylesheet" type="text/css" href="_static/panels-main.c949a650a448cc0ae9fd3441c0e17fb0.css" />
33
  <link rel="stylesheet" type="text/css" href="_static/panels-variables.06eb56fa6e07937060861dad626602ad.css" />
34
+
35
  <link rel="preload" as="script" href="_static/js/index.be7d3bbb2ef33a8344ce.js">
36
 
37
  <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
 
57
  <link rel="prev" title="Dissimilarity based methods" href="dissimilarity.html" />
58
  <meta name="viewport" content="width=device-width, initial-scale=1" />
59
  <meta name="docsearch:language" content="None">
60
+
61
 
62
  <!-- Google Analytics -->
63
+
64
  </head>
65
  <body data-spy="scroll" data-target="#bd-toc-nav" data-offset="80">
66
+
67
  <div class="container-fluid" id="banner"></div>
68
 
69
+
70
 
71
  <div class="container-xl">
72
  <div class="row">
73
+
74
  <div class="col-12 col-md-3 bd-sidebar site-navigation show" id="site-navigation">
75
+
76
  <div class="navbar-brand-box">
77
  <a class="navbar-brand text-wrap" href="index.html">
78
+
79
  <!-- `logo` is deprecated in Sphinx 4.0, so remove this when we stop supporting 3 -->
80
+
81
+
82
+
83
  <img src="_static/selector_logo.png" class="logo" alt="logo">
84
+
85
+
86
  <h1 class="site-logo" id="site-title">Ayers Lab</h1>
87
+
88
  </a>
89
  </div><form class="bd-search d-flex align-items-center" action="search.html" method="get">
90
  <i class="icon fas fa-search"></i>
 
153
  </div>
154
 
155
 
 
156
 
157
 
158
+
159
+
160
  <main class="col py-md-3 pl-md-4 bd-content overflow-auto" role="main">
161
+
162
  <div class="topbar container-xl fixed-top">
163
  <div class="topbar-contents row">
164
  <div class="col-12 col-md-3 bd-topbar-whitespace site-navigation show"></div>
165
  <div class="col pl-md-4 topbar-main">
166
+
167
  <button id="navbar-toggler" class="navbar-toggler ml-0" type="button" data-toggle="collapse"
168
  data-toggle="tooltip" data-placement="bottom" data-target=".site-navigation" aria-controls="navbar-menu"
169
  aria-expanded="true" aria-label="Toggle navigation" aria-controls="site-navigation"
 
172
  <i class="fas fa-arrow-left"></i>
173
  <i class="fas fa-arrow-up"></i>
174
  </button>
175
+
176
+
177
  <div class="dropdown-buttons-trigger">
178
  <button id="dropdown-buttons-trigger" class="btn btn-secondary topbarbtn" aria-label="Download this page"><i
179
  class="fas fa-download"></i></button>
180
 
181
  <div class="dropdown-buttons">
182
  <!-- ipynb file if we had a myst markdown file -->
183
+
184
  <!-- Download raw file -->
185
  <a class="dropdown-buttons" href="_sources/partition.rst"><button type="button"
186
  class="btn btn-secondary topbarbtn" title="Download source file" data-toggle="tooltip"
 
198
  aria-label="Connect with source repository"><i class="fab fa-github"></i></button>
199
  <div class="dropdown-buttons sourcebuttons">
200
  <a class="repository-button"
201
+ href="https://github.com/theochem/Selector"><button type="button" class="btn btn-secondary topbarbtn"
202
  data-toggle="tooltip" data-placement="left" title="Source repository"><i
203
  class="fab fa-github"></i>repository</button></a>
204
  <a class="issues-button"
205
+ href="https://github.com/theochem/Selector/issues/new?title=Issue%20on%20page%20%2Fpartition.html&body=Your%20issue%20content%20here."><button
206
  type="button" class="btn btn-secondary topbarbtn" data-toggle="tooltip" data-placement="left"
207
  title="Open an issue"><i class="fas fa-lightbulb"></i>open issue</button></a>
208
+
209
  </div>
210
  </div>
211
 
 
222
 
223
  <!-- Table of contents -->
224
  <div class="d-none d-md-block col-md-2 bd-toc show">
225
+
226
  </div>
227
  </div>
228
  </div>
229
  <div id="main-content" class="row">
230
  <div class="col-12 col-md-9 pl-md-3 pr-md-0">
231
+
232
  <div>
233
+
234
  <section id="partition-based-methods">
235
  <h1>Partition based methods<a class="headerlink" href="#partition-based-methods" title="Permalink to this headline">¶</a></h1>
236
+ <span class="target" id="module-selector.partition"></span><p>Module for Partition-Based Selection Methods.</p>
237
  <dl class="py class">
238
+ <dt class="sig sig-object py" id="selector.partition.DirectedSphereExclusion">
239
+ <em class="property"><span class="pre">class</span> </em><span class="sig-prename descclassname"><span class="pre">selector.partition.</span></span><span class="sig-name descname"><span class="pre">DirectedSphereExclusion</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">r0</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ref_index</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">p</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">2.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">eps</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">tol</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.05</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_iter</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">random_seed</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">42</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#selector.partition.DirectedSphereExclusion" title="Permalink to this definition">¶</a></dt>
240
  <dd><p>Select samples using Directed Sphere Exclusion (DISE) algorithm.</p>
241
  <p>In a nutshell, this algorithm iteratively excludes any sample within a given radius from
242
  any already selected sample. The radius of the exclusion sphere is an adjustable parameter.
 
255
  Journal of Chemical Information and Computer Sciences,
256
  43(1), 317–323. <a class="reference external" href="https://doi.org/10.1021/ci025554v">https://doi.org/10.1021/ci025554v</a></p>
257
  <dl class="py method">
258
+ <dt class="sig sig-object py" id="selector.partition.DirectedSphereExclusion.algorithm">
259
+ <span class="sig-name descname"><span class="pre">algorithm</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_size</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#selector.partition.DirectedSphereExclusion.algorithm" title="Permalink to this definition">¶</a></dt>
260
  <dd><p>Return selected samples based on directed sphere exclusion algorithm.</p>
261
  <dl class="simple">
262
  <dt>X: ndarray of shape (n_samples, n_features)</dt><dd><p>Feature matrix of <cite>n_samples</cite> samples in <cite>n_features</cite> dimensional space.</p>
 
271
  </dd></dl>
272
 
273
  <dl class="py method">
274
+ <dt class="sig sig-object py" id="selector.partition.DirectedSphereExclusion.select_from_cluster">
275
+ <span class="sig-name descname"><span class="pre">select_from_cluster</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">X</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">size</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cluster_ids</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#selector.partition.DirectedSphereExclusion.select_from_cluster" title="Permalink to this definition">¶</a></dt>
276
  <dd><p>Return selected samples from a cluster based on directed sphere exclusion algorithm</p>
277
  <dl class="simple">
278
  <dt>X: ndarray of shape (n_samples, n_features)</dt><dd><p>Feature matrix of <cite>n_samples</cite> samples in <cite>n_features</cite> dimensional space.</p>
 
291
  </dd></dl>
292
 
293
  <dl class="py class">
294
+ <dt class="sig sig-object py" id="selector.partition.GridPartitioning">
295
+ <em class="property"><span class="pre">class</span> </em><span class="sig-prename descclassname"><span class="pre">selector.partition.</span></span><span class="sig-name descname"><span class="pre">GridPartitioning</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cells</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">grid_method</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'equisized_independent'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_dim</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">random_seed</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">42</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#selector.partition.GridPartitioning" title="Permalink to this definition">¶</a></dt>
296
  <dd><p>Selecting points using the Grid Partitioning algorithm.</p>
297
  <p>Points are partitioned into grids using an algorithm (equisized independent or equisized
298
  dependent). A point is selected from each of the grids while the number of selected points is
 
302
  greatest diversity.</p>
303
  <p>Adapted from <a class="reference external" href="https://doi.org/10.1016/S1093-3263(99)00016-9">https://doi.org/10.1016/S1093-3263(99)00016-9</a>.</p>
304
  <dl class="py method">
305
+ <dt class="sig sig-object py" id="selector.partition.GridPartitioning.select_from_cluster">
306
+ <span class="sig-name descname"><span class="pre">select_from_cluster</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">arr</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">num_selected</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cluster_ids</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#selector.partition.GridPartitioning.select_from_cluster" title="Permalink to this definition">¶</a></dt>
307
  <dd><p>Grid partitioning algorithm for selecting points from cluster.</p>
308
  <dl class="simple">
309
  <dt>arr: np.ndarray</dt><dd><p>Coordinate array of points</p>
 
322
  </dd></dl>
323
 
324
  <dl class="py class">
325
+ <dt class="sig sig-object py" id="selector.partition.Medoid">
326
+ <em class="property"><span class="pre">class</span> </em><span class="sig-prename descclassname"><span class="pre">selector.partition.</span></span><span class="sig-name descname"><span class="pre">Medoid</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">start_id=0</span></em>, <em class="sig-param"><span class="pre">func_distance=&lt;function</span> <span class="pre">Medoid.&lt;lambda&gt;&gt;</span></em>, <em class="sig-param"><span class="pre">scaling=10</span></em><span class="sig-paren">)</span><a class="headerlink" href="#selector.partition.Medoid" title="Permalink to this definition">¶</a></dt>
327
  <dd><p>Selecting points using an algorithm adapted from KDTree.</p>
328
  <p>Points are initially used to construct a KDTree. Eucleidean distances are used for this
329
  algorithm. The first point selected is based on the starting_idx provided and becomes the first
 
334
  upon selecting requested number of points or if all available points exhausted.</p>
335
  <p>Adapted from: <a class="reference external" href="https://en.wikipedia.org/wiki/K-d_tree#Construction">https://en.wikipedia.org/wiki/K-d_tree#Construction</a></p>
336
  <dl class="py method">
337
+ <dt class="sig sig-object py" id="selector.partition.Medoid.select_from_cluster">
338
+ <span class="sig-name descname"><span class="pre">select_from_cluster</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">arr</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">num_selected</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cluster_ids</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#selector.partition.Medoid.select_from_cluster" title="Permalink to this definition">¶</a></dt>
339
  <dd><p>Main function for selecting points using the KDTree algorithm.</p>
340
  <dl class="simple">
341
  <dt>arr: np.ndarray</dt><dd><p>Coordinate array of points</p>
 
359
  {
360
  requestKernel: true,
361
  binderOptions: {
362
+ repo: "theochem/Selector",
363
  ref: "main",
364
  },
365
  codeMirrorConfig: {
 
376
  <script>kernelName = 'python3'</script>
377
 
378
  </div>
379
+
380
+
381
  <!-- Previous / next buttons -->
382
+ <div class='prev-next-area'>
383
  <a class='left-prev' id="prev-link" href="dissimilarity.html" title="previous page">
384
  <i class="fas fa-angle-left"></i>
385
  <div class="prev-next-info">
 
395
  <i class="fas fa-angle-right"></i>
396
  </a>
397
  </div>
398
+
399
  </div>
400
  </div>
401
  <footer class="footer">
402
  <div class="container">
403
  <p>
404
+
405
  By The QC-Dev Community with the support of Digital Research Alliance of Canada and The Jupyter Book Community<br/>
406
+
407
  &copy; Copyright 2022-2023.<br/>
408
  </p>
409
  </div>
 
413
 
414
  </div>
415
  </div>
416
+
417
  <script src="_static/js/index.be7d3bbb2ef33a8344ce.js"></script>
418
 
419
  </body>
420
+ </html>
book/content/_build/html/py-modindex.html CHANGED
@@ -6,11 +6,11 @@
6
  <meta charset="utf-8" />
7
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
8
  <title>Python Module Index &#8212; Ayers Lab</title>
9
-
10
  <link href="_static/css/theme.css" rel="stylesheet">
11
  <link href="_static/css/index.ff1ffe594081f20da1ef19478df9384b.css" rel="stylesheet">
12
 
13
-
14
  <link rel="stylesheet"
15
  href="_static/vendor/fontawesome/5.13.0/css/all.min.css">
16
  <link rel="preload" as="font" type="font/woff2" crossorigin
@@ -18,10 +18,10 @@
18
  <link rel="preload" as="font" type="font/woff2" crossorigin
19
  href="_static/vendor/fontawesome/5.13.0/webfonts/fa-brands-400.woff2">
20
 
21
-
22
-
23
 
24
-
 
 
25
  <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
26
  <link rel="stylesheet" type="text/css" href="_static/sphinx-book-theme.css?digest=c3fdc42140077d1ad13ad2f1588a4309" />
27
  <link rel="stylesheet" type="text/css" href="_static/togglebutton.css" />
@@ -30,7 +30,7 @@
30
  <link rel="stylesheet" type="text/css" href="_static/sphinx-thebe.css" />
31
  <link rel="stylesheet" type="text/css" href="_static/panels-main.c949a650a448cc0ae9fd3441c0e17fb0.css" />
32
  <link rel="stylesheet" type="text/css" href="_static/panels-variables.06eb56fa6e07937060861dad626602ad.css" />
33
-
34
  <link rel="preload" as="script" href="_static/js/index.be7d3bbb2ef33a8344ce.js">
35
 
36
  <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
@@ -48,36 +48,36 @@
48
 
49
  <meta name="viewport" content="width=device-width, initial-scale=1" />
50
  <meta name="docsearch:language" content="None">
51
-
52
 
53
  <!-- Google Analytics -->
54
-
55
 
56
 
57
  </head>
58
  <body data-spy="scroll" data-target="#bd-toc-nav" data-offset="80">
59
-
60
  <div class="container-fluid" id="banner"></div>
61
 
62
-
63
 
64
  <div class="container-xl">
65
  <div class="row">
66
-
67
  <div class="col-12 col-md-3 bd-sidebar site-navigation show" id="site-navigation">
68
-
69
  <div class="navbar-brand-box">
70
  <a class="navbar-brand text-wrap" href="index.html">
71
-
72
  <!-- `logo` is deprecated in Sphinx 4.0, so remove this when we stop supporting 3 -->
73
-
74
-
75
-
76
  <img src="_static/selector_logo.png" class="logo" alt="logo">
77
-
78
-
79
  <h1 class="site-logo" id="site-title">Ayers Lab</h1>
80
-
81
  </a>
82
  </div><form class="bd-search d-flex align-items-center" action="search.html" method="get">
83
  <i class="icon fas fa-search"></i>
@@ -146,17 +146,17 @@
146
  </div>
147
 
148
 
149
-
150
 
151
 
152
-
 
153
  <main class="col py-md-3 pl-md-4 bd-content overflow-auto" role="main">
154
-
155
  <div class="topbar container-xl fixed-top">
156
  <div class="topbar-contents row">
157
  <div class="col-12 col-md-3 bd-topbar-whitespace site-navigation show"></div>
158
  <div class="col pl-md-4 topbar-main">
159
-
160
  <button id="navbar-toggler" class="navbar-toggler ml-0" type="button" data-toggle="collapse"
161
  data-toggle="tooltip" data-placement="bottom" data-target=".site-navigation" aria-controls="navbar-menu"
162
  aria-expanded="true" aria-label="Toggle navigation" aria-controls="site-navigation"
@@ -165,8 +165,8 @@
165
  <i class="fas fa-arrow-left"></i>
166
  <i class="fas fa-arrow-up"></i>
167
  </button>
168
-
169
-
170
  <!-- Source interaction buttons -->
171
 
172
  <div class="dropdown-buttons-trigger">
@@ -174,14 +174,14 @@
174
  aria-label="Connect with source repository"><i class="fab fa-github"></i></button>
175
  <div class="dropdown-buttons sourcebuttons">
176
  <a class="repository-button"
177
- href="https://github.com/theochem/DiverseSelector"><button type="button" class="btn btn-secondary topbarbtn"
178
  data-toggle="tooltip" data-placement="left" title="Source repository"><i
179
  class="fab fa-github"></i>repository</button></a>
180
  <a class="issues-button"
181
- href="https://github.com/theochem/DiverseSelector/issues/new?title=Issue%20on%20page%20%2Fpy-modindex.html&body=Your%20issue%20content%20here."><button
182
  type="button" class="btn btn-secondary topbarbtn" data-toggle="tooltip" data-placement="left"
183
  title="Open an issue"><i class="fas fa-lightbulb"></i>open issue</button></a>
184
-
185
  </div>
186
  </div>
187
 
@@ -198,15 +198,15 @@
198
 
199
  <!-- Table of contents -->
200
  <div class="d-none d-md-block col-md-2 bd-toc show">
201
-
202
  </div>
203
  </div>
204
  </div>
205
  <div id="main-content" class="row">
206
  <div class="col-12 col-md-9 pl-md-3 pr-md-0">
207
-
208
  <div>
209
-
210
 
211
  <h1>Python Module Index</h1>
212
 
@@ -222,46 +222,46 @@
222
  <td><img src="_static/minus.png" class="toggler"
223
  id="toggle-1" style="display: none" alt="-" /></td>
224
  <td>
225
- <code class="xref">DiverseSelector</code></td><td>
226
  <em></em></td></tr>
227
  <tr class="cg-1">
228
  <td></td>
229
  <td>&#160;&#160;&#160;
230
- <a href="base.html#module-DiverseSelector.base"><code class="xref">DiverseSelector.base</code></a></td><td>
231
  <em></em></td></tr>
232
  <tr class="cg-1">
233
  <td></td>
234
  <td>&#160;&#160;&#160;
235
- <a href="dissimilarity.html#module-DiverseSelector.dissimilarity"><code class="xref">DiverseSelector.dissimilarity</code></a></td><td>
236
  <em></em></td></tr>
237
  <tr class="cg-1">
238
  <td></td>
239
  <td>&#160;&#160;&#160;
240
- <a href="partition.html#module-DiverseSelector.partition"><code class="xref">DiverseSelector.partition</code></a></td><td>
241
  <em></em></td></tr>
242
  <tr class="cg-1">
243
  <td></td>
244
  <td>&#160;&#160;&#160;
245
- <a href="utils.html#module-DiverseSelector.utils"><code class="xref">DiverseSelector.utils</code></a></td><td>
246
  <em></em></td></tr>
247
  </table>
248
 
249
 
250
  </div>
251
-
252
-
253
  <!-- Previous / next buttons -->
254
  <div class='prev-next-area'>
255
  </div>
256
-
257
  </div>
258
  </div>
259
  <footer class="footer">
260
  <div class="container">
261
  <p>
262
-
263
  By The QC-Dev Community with the support of Digital Research Alliance of Canada and The Jupyter Book Community<br/>
264
-
265
  &copy; Copyright 2022-2023.<br/>
266
  </p>
267
  </div>
@@ -271,8 +271,8 @@
271
 
272
  </div>
273
  </div>
274
-
275
  <script src="_static/js/index.be7d3bbb2ef33a8344ce.js"></script>
276
 
277
  </body>
278
- </html>
 
6
  <meta charset="utf-8" />
7
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
8
  <title>Python Module Index &#8212; Ayers Lab</title>
9
+
10
  <link href="_static/css/theme.css" rel="stylesheet">
11
  <link href="_static/css/index.ff1ffe594081f20da1ef19478df9384b.css" rel="stylesheet">
12
 
13
+
14
  <link rel="stylesheet"
15
  href="_static/vendor/fontawesome/5.13.0/css/all.min.css">
16
  <link rel="preload" as="font" type="font/woff2" crossorigin
 
18
  <link rel="preload" as="font" type="font/woff2" crossorigin
19
  href="_static/vendor/fontawesome/5.13.0/webfonts/fa-brands-400.woff2">
20
 
 
 
21
 
22
+
23
+
24
+
25
  <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
26
  <link rel="stylesheet" type="text/css" href="_static/sphinx-book-theme.css?digest=c3fdc42140077d1ad13ad2f1588a4309" />
27
  <link rel="stylesheet" type="text/css" href="_static/togglebutton.css" />
 
30
  <link rel="stylesheet" type="text/css" href="_static/sphinx-thebe.css" />
31
  <link rel="stylesheet" type="text/css" href="_static/panels-main.c949a650a448cc0ae9fd3441c0e17fb0.css" />
32
  <link rel="stylesheet" type="text/css" href="_static/panels-variables.06eb56fa6e07937060861dad626602ad.css" />
33
+
34
  <link rel="preload" as="script" href="_static/js/index.be7d3bbb2ef33a8344ce.js">
35
 
36
  <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
 
48
 
49
  <meta name="viewport" content="width=device-width, initial-scale=1" />
50
  <meta name="docsearch:language" content="None">
51
+
52
 
53
  <!-- Google Analytics -->
54
+
55
 
56
 
57
  </head>
58
  <body data-spy="scroll" data-target="#bd-toc-nav" data-offset="80">
59
+
60
  <div class="container-fluid" id="banner"></div>
61
 
62
+
63
 
64
  <div class="container-xl">
65
  <div class="row">
66
+
67
  <div class="col-12 col-md-3 bd-sidebar site-navigation show" id="site-navigation">
68
+
69
  <div class="navbar-brand-box">
70
  <a class="navbar-brand text-wrap" href="index.html">
71
+
72
  <!-- `logo` is deprecated in Sphinx 4.0, so remove this when we stop supporting 3 -->
73
+
74
+
75
+
76
  <img src="_static/selector_logo.png" class="logo" alt="logo">
77
+
78
+
79
  <h1 class="site-logo" id="site-title">Ayers Lab</h1>
80
+
81
  </a>
82
  </div><form class="bd-search d-flex align-items-center" action="search.html" method="get">
83
  <i class="icon fas fa-search"></i>
 
146
  </div>
147
 
148
 
 
149
 
150
 
151
+
152
+
153
  <main class="col py-md-3 pl-md-4 bd-content overflow-auto" role="main">
154
+
155
  <div class="topbar container-xl fixed-top">
156
  <div class="topbar-contents row">
157
  <div class="col-12 col-md-3 bd-topbar-whitespace site-navigation show"></div>
158
  <div class="col pl-md-4 topbar-main">
159
+
160
  <button id="navbar-toggler" class="navbar-toggler ml-0" type="button" data-toggle="collapse"
161
  data-toggle="tooltip" data-placement="bottom" data-target=".site-navigation" aria-controls="navbar-menu"
162
  aria-expanded="true" aria-label="Toggle navigation" aria-controls="site-navigation"
 
165
  <i class="fas fa-arrow-left"></i>
166
  <i class="fas fa-arrow-up"></i>
167
  </button>
168
+
169
+
170
  <!-- Source interaction buttons -->
171
 
172
  <div class="dropdown-buttons-trigger">
 
174
  aria-label="Connect with source repository"><i class="fab fa-github"></i></button>
175
  <div class="dropdown-buttons sourcebuttons">
176
  <a class="repository-button"
177
+ href="https://github.com/theochem/Selector"><button type="button" class="btn btn-secondary topbarbtn"
178
  data-toggle="tooltip" data-placement="left" title="Source repository"><i
179
  class="fab fa-github"></i>repository</button></a>
180
  <a class="issues-button"
181
+ href="https://github.com/theochem/Selector/issues/new?title=Issue%20on%20page%20%2Fpy-modindex.html&body=Your%20issue%20content%20here."><button
182
  type="button" class="btn btn-secondary topbarbtn" data-toggle="tooltip" data-placement="left"
183
  title="Open an issue"><i class="fas fa-lightbulb"></i>open issue</button></a>
184
+
185
  </div>
186
  </div>
187
 
 
198
 
199
  <!-- Table of contents -->
200
  <div class="d-none d-md-block col-md-2 bd-toc show">
201
+
202
  </div>
203
  </div>
204
  </div>
205
  <div id="main-content" class="row">
206
  <div class="col-12 col-md-9 pl-md-3 pr-md-0">
207
+
208
  <div>
209
+
210
 
211
  <h1>Python Module Index</h1>
212
 
 
222
  <td><img src="_static/minus.png" class="toggler"
223
  id="toggle-1" style="display: none" alt="-" /></td>
224
  <td>
225
+ <code class="xref">selector</code></td><td>
226
  <em></em></td></tr>
227
  <tr class="cg-1">
228
  <td></td>
229
  <td>&#160;&#160;&#160;
230
+ <a href="base.html#module-selector.base"><code class="xref">selector.base</code></a></td><td>
231
  <em></em></td></tr>
232
  <tr class="cg-1">
233
  <td></td>
234
  <td>&#160;&#160;&#160;
235
+ <a href="dissimilarity.html#module-selector.dissimilarity"><code class="xref">selector.dissimilarity</code></a></td><td>
236
  <em></em></td></tr>
237
  <tr class="cg-1">
238
  <td></td>
239
  <td>&#160;&#160;&#160;
240
+ <a href="partition.html#module-selector.partition"><code class="xref">selector.partition</code></a></td><td>
241
  <em></em></td></tr>
242
  <tr class="cg-1">
243
  <td></td>
244
  <td>&#160;&#160;&#160;
245
+ <a href="utils.html#module-selector.utils"><code class="xref">selector.utils</code></a></td><td>
246
  <em></em></td></tr>
247
  </table>
248
 
249
 
250
  </div>
251
+
252
+
253
  <!-- Previous / next buttons -->
254
  <div class='prev-next-area'>
255
  </div>
256
+
257
  </div>
258
  </div>
259
  <footer class="footer">
260
  <div class="container">
261
  <p>
262
+
263
  By The QC-Dev Community with the support of Digital Research Alliance of Canada and The Jupyter Book Community<br/>
264
+
265
  &copy; Copyright 2022-2023.<br/>
266
  </p>
267
  </div>
 
271
 
272
  </div>
273
  </div>
274
+
275
  <script src="_static/js/index.be7d3bbb2ef33a8344ce.js"></script>
276
 
277
  </body>
278
+ </html>
book/content/_build/html/search.html CHANGED
@@ -6,11 +6,11 @@
6
  <meta charset="utf-8" />
7
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
8
  <title>Search &#8212; Ayers Lab</title>
9
-
10
  <link href="_static/css/theme.css" rel="stylesheet">
11
  <link href="_static/css/index.ff1ffe594081f20da1ef19478df9384b.css" rel="stylesheet">
12
 
13
-
14
  <link rel="stylesheet"
15
  href="_static/vendor/fontawesome/5.13.0/css/all.min.css">
16
  <link rel="preload" as="font" type="font/woff2" crossorigin
@@ -18,10 +18,10 @@
18
  <link rel="preload" as="font" type="font/woff2" crossorigin
19
  href="_static/vendor/fontawesome/5.13.0/webfonts/fa-brands-400.woff2">
20
 
21
-
22
-
23
 
24
-
 
 
25
  <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
26
  <link rel="stylesheet" type="text/css" href="_static/sphinx-book-theme.css?digest=c3fdc42140077d1ad13ad2f1588a4309" />
27
  <link rel="stylesheet" type="text/css" href="_static/togglebutton.css" />
@@ -30,10 +30,10 @@
30
  <link rel="stylesheet" type="text/css" href="_static/sphinx-thebe.css" />
31
  <link rel="stylesheet" type="text/css" href="_static/panels-main.c949a650a448cc0ae9fd3441c0e17fb0.css" />
32
  <link rel="stylesheet" type="text/css" href="_static/panels-variables.06eb56fa6e07937060861dad626602ad.css" />
33
-
34
  <link rel="preload" as="script" href="_static/js/index.be7d3bbb2ef33a8344ce.js">
35
 
36
-
37
  <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
38
  <script src="_static/jquery.js"></script>
39
  <script src="_static/underscore.js"></script>
@@ -49,38 +49,38 @@
49
  <link rel="index" title="Index" href="genindex.html" />
50
  <link rel="search" title="Search" href="#" />
51
  <script src="searchindex.js" defer></script>
52
-
53
  <meta name="viewport" content="width=device-width, initial-scale=1" />
54
  <meta name="docsearch:language" content="None">
55
-
56
 
57
  <!-- Google Analytics -->
58
-
59
 
60
  </head>
61
  <body data-spy="scroll" data-target="#bd-toc-nav" data-offset="80">
62
-
63
  <div class="container-fluid" id="banner"></div>
64
 
65
-
66
 
67
  <div class="container-xl">
68
  <div class="row">
69
-
70
  <div class="col-12 col-md-3 bd-sidebar site-navigation show" id="site-navigation">
71
-
72
  <div class="navbar-brand-box">
73
  <a class="navbar-brand text-wrap" href="index.html">
74
-
75
  <!-- `logo` is deprecated in Sphinx 4.0, so remove this when we stop supporting 3 -->
76
-
77
-
78
-
79
  <img src="_static/selector_logo.png" class="logo" alt="logo">
80
-
81
-
82
  <h1 class="site-logo" id="site-title">Ayers Lab</h1>
83
-
84
  </a>
85
  </div><form class="bd-search d-flex align-items-center" action="#" method="get">
86
  <i class="icon fas fa-search"></i>
@@ -149,17 +149,17 @@
149
  </div>
150
 
151
 
152
-
153
 
154
 
155
-
 
156
  <main class="col py-md-3 pl-md-4 bd-content overflow-auto" role="main">
157
-
158
  <div class="topbar container-xl fixed-top">
159
  <div class="topbar-contents row">
160
  <div class="col-12 col-md-3 bd-topbar-whitespace site-navigation show"></div>
161
  <div class="col pl-md-4 topbar-main">
162
-
163
  <button id="navbar-toggler" class="navbar-toggler ml-0" type="button" data-toggle="collapse"
164
  data-toggle="tooltip" data-placement="bottom" data-target=".site-navigation" aria-controls="navbar-menu"
165
  aria-expanded="true" aria-label="Toggle navigation" aria-controls="site-navigation"
@@ -168,8 +168,8 @@
168
  <i class="fas fa-arrow-left"></i>
169
  <i class="fas fa-arrow-up"></i>
170
  </button>
171
-
172
-
173
  <!-- Source interaction buttons -->
174
 
175
  <div class="dropdown-buttons-trigger">
@@ -177,14 +177,14 @@
177
  aria-label="Connect with source repository"><i class="fab fa-github"></i></button>
178
  <div class="dropdown-buttons sourcebuttons">
179
  <a class="repository-button"
180
- href="https://github.com/theochem/DiverseSelector"><button type="button" class="btn btn-secondary topbarbtn"
181
  data-toggle="tooltip" data-placement="left" title="Source repository"><i
182
  class="fab fa-github"></i>repository</button></a>
183
  <a class="issues-button"
184
- href="https://github.com/theochem/DiverseSelector/issues/new?title=Issue%20on%20page%20%2Fsearch.html&body=Your%20issue%20content%20here."><button
185
  type="button" class="btn btn-secondary topbarbtn" data-toggle="tooltip" data-placement="left"
186
  title="Open an issue"><i class="fas fa-lightbulb"></i>open issue</button></a>
187
-
188
  </div>
189
  </div>
190
 
@@ -201,17 +201,17 @@
201
 
202
  <!-- Table of contents -->
203
  <div class="d-none d-md-block col-md-2 bd-toc show">
204
-
205
  </div>
206
  </div>
207
  </div>
208
  <div id="main-content" class="row">
209
  <div class="col-12 col-md-9 pl-md-3 pr-md-0">
210
-
211
  <div>
212
-
213
  <h1 id="search-documentation">Search</h1>
214
-
215
  <noscript>
216
  <div class="admonition warning">
217
  <p>
@@ -220,42 +220,42 @@
220
  </p>
221
  </div>
222
  </noscript>
223
-
224
-
225
  <p>
226
  Searching for multiple words only shows matches that contain
227
  all words.
228
  </p>
229
-
230
-
231
  <form action="" method="get">
232
  <input type="text" name="q" aria-labelledby="search-documentation" value="" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
233
  <input type="submit" value="search" />
234
  <span id="search-progress" style="padding-left: 10px"></span>
235
  </form>
236
-
237
-
238
-
239
  <div id="search-results">
240
-
241
  </div>
242
-
243
 
244
  </div>
245
-
246
-
247
  <!-- Previous / next buttons -->
248
  <div class='prev-next-area'>
249
  </div>
250
-
251
  </div>
252
  </div>
253
  <footer class="footer">
254
  <div class="container">
255
  <p>
256
-
257
  By The QC-Dev Community with the support of Digital Research Alliance of Canada and The Jupyter Book Community<br/>
258
-
259
  &copy; Copyright 2022-2023.<br/>
260
  </p>
261
  </div>
@@ -265,8 +265,8 @@
265
 
266
  </div>
267
  </div>
268
-
269
  <script src="_static/js/index.be7d3bbb2ef33a8344ce.js"></script>
270
 
271
  </body>
272
- </html>
 
6
  <meta charset="utf-8" />
7
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
8
  <title>Search &#8212; Ayers Lab</title>
9
+
10
  <link href="_static/css/theme.css" rel="stylesheet">
11
  <link href="_static/css/index.ff1ffe594081f20da1ef19478df9384b.css" rel="stylesheet">
12
 
13
+
14
  <link rel="stylesheet"
15
  href="_static/vendor/fontawesome/5.13.0/css/all.min.css">
16
  <link rel="preload" as="font" type="font/woff2" crossorigin
 
18
  <link rel="preload" as="font" type="font/woff2" crossorigin
19
  href="_static/vendor/fontawesome/5.13.0/webfonts/fa-brands-400.woff2">
20
 
 
 
21
 
22
+
23
+
24
+
25
  <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
26
  <link rel="stylesheet" type="text/css" href="_static/sphinx-book-theme.css?digest=c3fdc42140077d1ad13ad2f1588a4309" />
27
  <link rel="stylesheet" type="text/css" href="_static/togglebutton.css" />
 
30
  <link rel="stylesheet" type="text/css" href="_static/sphinx-thebe.css" />
31
  <link rel="stylesheet" type="text/css" href="_static/panels-main.c949a650a448cc0ae9fd3441c0e17fb0.css" />
32
  <link rel="stylesheet" type="text/css" href="_static/panels-variables.06eb56fa6e07937060861dad626602ad.css" />
33
+
34
  <link rel="preload" as="script" href="_static/js/index.be7d3bbb2ef33a8344ce.js">
35
 
36
+
37
  <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
38
  <script src="_static/jquery.js"></script>
39
  <script src="_static/underscore.js"></script>
 
49
  <link rel="index" title="Index" href="genindex.html" />
50
  <link rel="search" title="Search" href="#" />
51
  <script src="searchindex.js" defer></script>
52
+
53
  <meta name="viewport" content="width=device-width, initial-scale=1" />
54
  <meta name="docsearch:language" content="None">
55
+
56
 
57
  <!-- Google Analytics -->
58
+
59
 
60
  </head>
61
  <body data-spy="scroll" data-target="#bd-toc-nav" data-offset="80">
62
+
63
  <div class="container-fluid" id="banner"></div>
64
 
65
+
66
 
67
  <div class="container-xl">
68
  <div class="row">
69
+
70
  <div class="col-12 col-md-3 bd-sidebar site-navigation show" id="site-navigation">
71
+
72
  <div class="navbar-brand-box">
73
  <a class="navbar-brand text-wrap" href="index.html">
74
+
75
  <!-- `logo` is deprecated in Sphinx 4.0, so remove this when we stop supporting 3 -->
76
+
77
+
78
+
79
  <img src="_static/selector_logo.png" class="logo" alt="logo">
80
+
81
+
82
  <h1 class="site-logo" id="site-title">Ayers Lab</h1>
83
+
84
  </a>
85
  </div><form class="bd-search d-flex align-items-center" action="#" method="get">
86
  <i class="icon fas fa-search"></i>
 
149
  </div>
150
 
151
 
 
152
 
153
 
154
+
155
+
156
  <main class="col py-md-3 pl-md-4 bd-content overflow-auto" role="main">
157
+
158
  <div class="topbar container-xl fixed-top">
159
  <div class="topbar-contents row">
160
  <div class="col-12 col-md-3 bd-topbar-whitespace site-navigation show"></div>
161
  <div class="col pl-md-4 topbar-main">
162
+
163
  <button id="navbar-toggler" class="navbar-toggler ml-0" type="button" data-toggle="collapse"
164
  data-toggle="tooltip" data-placement="bottom" data-target=".site-navigation" aria-controls="navbar-menu"
165
  aria-expanded="true" aria-label="Toggle navigation" aria-controls="site-navigation"
 
168
  <i class="fas fa-arrow-left"></i>
169
  <i class="fas fa-arrow-up"></i>
170
  </button>
171
+
172
+
173
  <!-- Source interaction buttons -->
174
 
175
  <div class="dropdown-buttons-trigger">
 
177
  aria-label="Connect with source repository"><i class="fab fa-github"></i></button>
178
  <div class="dropdown-buttons sourcebuttons">
179
  <a class="repository-button"
180
+ href="https://github.com/theochem/Selector"><button type="button" class="btn btn-secondary topbarbtn"
181
  data-toggle="tooltip" data-placement="left" title="Source repository"><i
182
  class="fab fa-github"></i>repository</button></a>
183
  <a class="issues-button"
184
+ href="https://github.com/theochem/Selector/issues/new?title=Issue%20on%20page%20%2Fsearch.html&body=Your%20issue%20content%20here."><button
185
  type="button" class="btn btn-secondary topbarbtn" data-toggle="tooltip" data-placement="left"
186
  title="Open an issue"><i class="fas fa-lightbulb"></i>open issue</button></a>
187
+
188
  </div>
189
  </div>
190
 
 
201
 
202
  <!-- Table of contents -->
203
  <div class="d-none d-md-block col-md-2 bd-toc show">
204
+
205
  </div>
206
  </div>
207
  </div>
208
  <div id="main-content" class="row">
209
  <div class="col-12 col-md-9 pl-md-3 pr-md-0">
210
+
211
  <div>
212
+
213
  <h1 id="search-documentation">Search</h1>
214
+
215
  <noscript>
216
  <div class="admonition warning">
217
  <p>
 
220
  </p>
221
  </div>
222
  </noscript>
223
+
224
+
225
  <p>
226
  Searching for multiple words only shows matches that contain
227
  all words.
228
  </p>
229
+
230
+
231
  <form action="" method="get">
232
  <input type="text" name="q" aria-labelledby="search-documentation" value="" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
233
  <input type="submit" value="search" />
234
  <span id="search-progress" style="padding-left: 10px"></span>
235
  </form>
236
+
237
+
238
+
239
  <div id="search-results">
240
+
241
  </div>
242
+
243
 
244
  </div>
245
+
246
+
247
  <!-- Previous / next buttons -->
248
  <div class='prev-next-area'>
249
  </div>
250
+
251
  </div>
252
  </div>
253
  <footer class="footer">
254
  <div class="container">
255
  <p>
256
+
257
  By The QC-Dev Community with the support of Digital Research Alliance of Canada and The Jupyter Book Community<br/>
258
+
259
  &copy; Copyright 2022-2023.<br/>
260
  </p>
261
  </div>
 
265
 
266
  </div>
267
  </div>
268
+
269
  <script src="_static/js/index.be7d3bbb2ef33a8344ce.js"></script>
270
 
271
  </body>
272
+ </html>
book/content/_build/html/searchindex.js CHANGED
@@ -1 +1 @@
1
- Search.setIndex({docnames:["base","dissimilarity","installation","intro","partition","starting","utils"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":4,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.intersphinx":1,"sphinxcontrib.bibtex":7,sphinx:56},filenames:["base.rst","dissimilarity.rst","installation.ipynb","intro.md","partition.rst","starting.ipynb","utils.rst"],objects:{"DiverseSelector.base":{SelectionBase:[0,1,1,""]},"DiverseSelector.base.SelectionBase":{select:[0,2,1,""],select_from_cluster:[0,2,1,""]},"DiverseSelector.dissimilarity":{MaxMin:[1,1,1,""],MaxSum:[1,1,1,""],OptiSim:[1,1,1,""]},"DiverseSelector.dissimilarity.MaxMin":{select_from_cluster:[1,2,1,""]},"DiverseSelector.dissimilarity.MaxSum":{select_from_cluster:[1,2,1,""]},"DiverseSelector.dissimilarity.OptiSim":{algorithm:[1,2,1,""],select_from_cluster:[1,2,1,""]},"DiverseSelector.partition":{DirectedSphereExclusion:[4,1,1,""],GridPartitioning:[4,1,1,""],Medoid:[4,1,1,""]},"DiverseSelector.partition.DirectedSphereExclusion":{algorithm:[4,2,1,""],select_from_cluster:[4,2,1,""]},"DiverseSelector.partition.GridPartitioning":{select_from_cluster:[4,2,1,""]},"DiverseSelector.partition.Medoid":{select_from_cluster:[4,2,1,""]},"DiverseSelector.utils":{optimize_radius:[6,3,1,""]},DiverseSelector:{base:[0,0,0,"-"],dissimilarity:[1,0,0,"-"],partition:[4,0,0,"-"],utils:[6,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","method","Python method"],"3":["py","function","Python function"]},objtypes:{"0":"py:module","1":"py:class","2":"py:method","3":"py:function"},terms:{"0":[1,2,3,4,5],"00016":4,"01":1,"05":4,"1":[1,2,4,5],"10":[1,4,5],"100":5,"1016":4,"1021":[1,4],"11":5,"1181":1,"1188":1,"12":5,"13":5,"14":5,"15":5,"150":5,"1997":1,"2":[1,2,4,5],"20":5,"2002":[1,4],"2012":1,"21":[1,2],"2d":5,"3":[2,5],"317":4,"31st":1,"323":4,"3263":4,"37":1,"4":[2,5],"42":[1,4,5],"43":4,"5":[2,5],"598":1,"6":[1,2,5],"604":1,"7":5,"8":[2,5],"9":[4,5],"99":4,"abstract":0,"break":2,"case":2,"class":[1,4,6],"default":5,"do":2,"export":3,"final":2,"float":5,"function":[1,4,5,6],"gonz\u00e1lez":3,"import":[3,5],"int":[0,1,4,5,6],"mart\u00ednez":3,"new":4,"public":3,"ram\u00f3n":3,"return":[0,1,4,5,6],"true":5,"try":2,"while":[3,4],A:[2,3,4],By:5,For:[2,3,5],If:[0,1,2,4,5,6],In:[2,3,4,5],OR:2,Of:2,The:[1,2,3,4,5],Then:[1,2],There:2,These:2,To:2,With:2,a1:2,a2:2,abandon:4,abdul:3,abigail:3,abov:2,accept:2,accord:3,achiev:4,acm:1,activ:[1,2],actual:2,ad:1,adapt:4,addit:[2,5],adjust:4,after:2,again:2,aim:1,al:1,alain:3,algorithm:[1,3,4,6],alireza:3,all:[1,4],allan:1,alpha:2,alreadi:[1,4],also:2,altern:2,among:1,an:4,anaconda:2,analysi:3,ani:[1,2,3,4,5],api:2,applic:3,approach:4,approxim:4,ar:[0,1,2,4],argument:5,arr:[4,5],arr_dist:5,arr_dist_clust:5,arrai:[0,1,4],ascend:4,ashton:1,auto:2,automat:2,avail:4,avoid:2,axi:5,ayer:3,b:2,bashrc:2,becom:4,been:1,being:4,belo:5,belong:0,below:2,best:2,beta:2,between:[1,5],bin:2,black:5,bool:5,borodin:1,bound:5,box:5,broken:2,brosciu:3,bug:2,build:2,c1:2,c2:2,c3:2,c4:2,c5:2,c6:2,c:[2,5],calcul:[1,4],can:[2,5],cannot:6,cell:4,center:[1,5],center_box:5,chang:2,chem:1,chemic:4,chemistri:3,choos:1,chosen:[1,4],chuiko:3,chul:1,ci025554v:4,ci970282v:1,citat:3,class_label:5,class_labels_clust:5,clean:2,clear:1,clone:2,close:4,closest:6,cluster:[0,1,4,6],cluster_id:[4,6],cluster_on:5,cluster_std:5,cluster_thre:5,cluster_two:5,code:3,com:[2,3,5],come:2,common:2,compar:4,comparison:2,compound:1,comput:[1,4,5],conda:2,conduct:3,confus:2,construct:4,contact:3,contribut:3,converg:6,coord:5,coordin:[1,4],coords_clust:5,correct:[2,6],cov:2,creat:2,criteria:3,critic:3,cross:3,cut:3,d_tree:4,databas:1,dataset:[1,3,5],date:2,deactiv:2,decis:3,def:5,defin:3,depend:[2,4],descript:1,design:3,desir:[3,4],detail:2,determin:1,dev:2,develop:[2,3],deviat:5,differ:[2,5],dimension:[0,1,4,6],direct:4,directedsphereexclus:[4,5,6],directori:2,dirti:2,disabl:5,discard:1,discoveri:3,dise:4,dissim_func:5,dissimilarityselect:5,dist:5,distanc:[0,1,4,5],distinct:1,distribut:4,divers:[0,1,3,4,5],diverseselector:[0,1,2,3,4,5,6],diversif:1,doc:2,doi:[1,4],don:2,done:4,dpi:5,drug:3,due:2,dynam:1,e:[0,1,2,4,6],each:[0,4,5],easi:5,edg:[2,3],effici:3,effortlessli:3,element:1,elimin:4,els:5,empow:3,en:4,encount:3,end:4,enjoi:2,enumer:5,env:2,environ:2,environemnt:2,ep:[1,4],equis:4,equisized_depend:5,equisized_independ:[4,5],et:1,eucleidean:4,euclidean:5,evenli:4,everi:1,exampl:5,exclud:4,exclus:[4,6],execut:2,exhaust:4,exist:1,experiment:2,explain:2,explor:3,fals:5,fanwang:3,far:2,farnaz:3,faster:3,featur:[0,1,4,5,6],feel:2,figur:5,file:3,find:[1,2],find_furthest_neighbor:4,find_nearest_neighbor:4,first:[1,2,4,5],follow:[1,2,3],form:[1,4,6],format:3,found:[2,4],four:2,fragment:1,free:[2,3],from:[0,1,2,3,4,5,6],fun_dist:[0,1],func_dist:[1,4],further:3,furthest:[1,4],g:2,gener:3,generate_synthetic_data:5,get:[2,3],git:5,github:[2,3,5],given:4,gmail:3,gnu:3,go:5,goal:1,gobbi:4,graph_data:5,greater:4,greatest:[1,4],grid:4,grid_method:[4,5],grid_part:5,grid_partit:5,gridpartit:[4,5],guidelin:3,ha:[1,4],harder:2,hassan:3,have:[1,2,5],heidar:3,help:3,home:2,horton3:2,host:3,how:[2,5],howev:4,hstack:5,html:5,http:[1,2,4,5],hyun:1,i:[0,1,4,5,6],id:4,ideal:2,identif:1,identifi:3,implic:2,impos:4,inchi:3,includ:[2,3],independ:4,indic:[0,1,4,6],inf:1,inform:[3,4],initi:[1,4],inquiri:3,instal:5,instanc:6,instead:[2,4],instruct:2,integ:[0,5],integr:3,iodata:2,issu:[2,3],iter:[4,6],its:4,j:1,journal:4,just:2,k:[1,4],kdtree:4,keyword:5,kind:2,kwarg:5,l:4,label:[0,1,2,5],labels_mock:5,lambda:[4,5],latter:5,learn:5,lee:[1,4],less:4,let:3,level:3,librari:3,licens:3,list:[0,1,4,6],live:2,load:2,logic:1,loop:4,m:[2,4],machin:2,maco:2,made:0,mai:2,main:[2,4],make:[2,3,5],make_blob:5,manag:2,manual:2,marco:3,mark:1,materi:3,matplotlib:5,matrix:[0,1,4,5,6],max:1,max_dim:4,max_siz:[1,4],maxim:1,maximilian:3,maximum:[1,4],maxmin:1,maxsum:1,medoid:[1,4],membership:5,meng:3,method:2,metric:5,miniconda3:2,minimum:1,minkowski:4,miranda:3,mocked_cluster_coord:5,modul:[1,2,4,5,6],mol_id:5,molecul:[3,4],molecular:[1,3],monoton:1,more:[2,4],most:[1,3],n:2,n_cluster:5,n_featur:[0,1,4,5,6],n_iter:[1,4],n_sampl:[0,1,4,5,6],name:2,ndarrai:[0,1,4,5,6],need:[2,4],neighbor:4,next:1,none:[0,1,4,5,6],norm:4,normal:[2,5],note:2,np:[0,1,4,5,6],num_select:[4,5],number:[0,1,4,5,6],numpi:[0,2,5],nutshel:4,obj:6,object:6,obtain:6,obviou:5,offer:3,onc:1,one:[0,2,5],ones:1,onli:2,open:3,oper:2,optim:[3,4,6],optimize_radiu:6,option:[0,2,5],optisim:[1,6],order:4,org:[1,2,4,5],other:[2,3],otherwis:1,our:3,outsid:1,own:2,p:[1,4],packag:[2,3],pair:1,pairwis:[0,1,5],pairwise_dist:5,paramet:[3,4,5],path:2,pattern:5,paul:3,pick:2,pip3:2,pip:5,platform:3,pleas:[3,5],plt:5,point:[0,1,4,5,6],possibl:[1,6],potenti:2,power:3,pre:2,prepar:2,presenc:2,present:[1,2],previou:[1,2],previous:[1,4],principl:1,proceed:1,process:[1,3,4],project:[2,3],properli:2,properti:1,protocol:2,provid:[0,4],py:2,pyarg:2,pylint:5,pypi:2,pyplot:5,pytest:2,python3:2,python:[2,3],qc:[2,5],qcdev:3,quantit:1,queri:4,quick:2,quintana:3,quirk:2,r0:[1,4],r:[1,4,5],radiu:[1,4,6],random:[4,5],random_se:[1,4,5],random_st:5,randomli:[1,5],rang:[3,5],rdkit:5,recommend:2,ref_index:4,refer:[4,5],refresh:2,relationship:1,releas:3,relev:3,remain:4,repeat:[1,4],replac:2,repo:2,report:3,repositori:2,repres:[0,5],request:4,requir:[2,3],research:3,result:3,return_cent:5,right:3,risk:2,rob:2,roberto:2,run:[2,3],s1093:4,s:1,sampl:[0,1,4,5,6],satisfi:4,scale:4,scatter:5,scenario:2,sci:1,scienc:[3,4],scientist:3,scikit:5,scipi:2,sdf:3,search:6,second:[1,2],section:2,see:[2,3],seed:5,seem:2,seen:5,select:[0,1,3,4,6],select_from_clust:[0,1,4],selected_id3:5,selected_id4:5,selected_id5:5,selected_id6:5,selected_id7:5,selected_id8:5,selected_id:5,selected_ids1:5,selected_ids2:5,selected_ids3:5,selected_ids4:5,selected_ids5:5,selected_ids6:5,selected_mock:5,selectionbas:0,selector:[2,5],set:2,setup:2,shape:[0,1,4,6],show:[2,5],shuffl:5,sigact:1,sigai:1,sigmod:1,simpl:2,simplest:2,simpli:3,size:[0,1,4,5,6],sklearn:5,slow:2,smart:2,smarter:3,smile:3,so:2,solut:3,some:2,sort:4,sourc:[2,3],space:[0,1,4,6],specifi:[3,4],sphere:[4,6],sphere_exclus:5,squar:[0,1],ssh:2,stabl:5,standard:5,start:[2,3],start_id:[1,4],starting_idx:[4,5],state:5,step:1,str:5,streamlin:3,string:[0,2],structur:1,submodular:1,subsampl:1,subsequ:1,subset:[0,1,3,4,5,6],sudden:2,sum:1,support:5,symmetr:5,symposium:1,syn_data:5,synthstic:5,system:[1,2],t:2,tailor:3,tehrani:3,termin:4,text:5,than:4,thei:[1,2],them:2,theochem:[2,5],thi:[0,1,2,3,4,5],those:1,three:2,through:4,tol:[1,4],treat:[0,1],tupl:5,tutori:5,two:[2,5],type:5,under:3,understand:2,union:5,uniqu:3,unstabl:2,until:[2,4],up:2,updat:1,upon:4,us:[1,2,3,4,5,6],user:2,v3:3,valerii:3,van:3,variabl:2,variant:2,variat:2,variou:3,venv:2,version:2,via:1,virtual:2,visual:5,vstack:5,w0632:5,w:3,wai:2,warn:2,we:[2,3,5],when:[1,2,4,5],where:5,wherea:1,whether:5,which:[1,2,4],whichev:2,wide:[1,3],wiki:4,wikipedia:4,within:4,without:2,work:[2,5],workaround:2,world:3,write:2,www:2,x:[0,1,4,5,6],xdist:2,y:5,yang:3,ye:1,yet:2,you:[2,3],your:[2,3],yuli:1,zadeh:3,zyl:3},titles:["Base class","Dissimilarity based methods","Installation","Welcome to QC-Selector\u2019s Documentation!","Partition based methods","Getting started","Utilities"],titleterms:{"class":0,adapt:5,algorithm:5,ana:2,ar:5,assum:5,base:[0,1,4,5],brute:5,cluster:5,data:5,demo:5,depend:5,direct:5,dissimilar:[1,5],document:3,equis:5,exclus:5,featur:3,gener:5,get:5,git:2,grid:5,independ:5,instal:2,k:5,kei:3,latest:2,maxmin:5,maxsum:5,method:[1,4,5],miniconda:2,minmax:5,optimiz:5,optisim:5,partit:[4,5],pip:2,qc:3,releas:2,revis:2,run:5,s:3,select:5,selector:3,sphere:5,stabl:2,start:5,strength:5,synthet:5,test:2,util:6,welcom:3,why:3,without:5}})
 
1
+ Search.setIndex({docnames:["base","dissimilarity","installation","intro","partition","starting","utils"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":4,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.intersphinx":1,"sphinxcontrib.bibtex":7,sphinx:56},filenames:["base.rst","dissimilarity.rst","installation.ipynb","intro.md","partition.rst","starting.ipynb","utils.rst"],objects:{"selector.base":{SelectionBase:[0,1,1,""]},"selector.base.SelectionBase":{select:[0,2,1,""],select_from_cluster:[0,2,1,""]},"selector.dissimilarity":{MaxMin:[1,1,1,""],MaxSum:[1,1,1,""],OptiSim:[1,1,1,""]},"selector.dissimilarity.MaxMin":{select_from_cluster:[1,2,1,""]},"selector.dissimilarity.MaxSum":{select_from_cluster:[1,2,1,""]},"selector.dissimilarity.OptiSim":{algorithm:[1,2,1,""],select_from_cluster:[1,2,1,""]},"selector.partition":{DirectedSphereExclusion:[4,1,1,""],GridPartitioning:[4,1,1,""],Medoid:[4,1,1,""]},"selector.partition.DirectedSphereExclusion":{algorithm:[4,2,1,""],select_from_cluster:[4,2,1,""]},"selector.partition.GridPartitioning":{select_from_cluster:[4,2,1,""]},"selector.partition.Medoid":{select_from_cluster:[4,2,1,""]},"selector.utils":{optimize_radius:[6,3,1,""]},selector:{base:[0,0,0,"-"],dissimilarity:[1,0,0,"-"],partition:[4,0,0,"-"],utils:[6,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","method","Python method"],"3":["py","function","Python function"]},objtypes:{"0":"py:module","1":"py:class","2":"py:method","3":"py:function"},terms:{"0":[1,2,3,4,5],"00016":4,"01":1,"05":4,"1":[1,2,4,5],"10":[1,4,5],"100":5,"1016":4,"1021":[1,4],"11":5,"1181":1,"1188":1,"12":5,"13":5,"14":5,"15":5,"150":5,"1997":1,"2":[1,2,4,5],"20":5,"2002":[1,4],"2012":1,"21":[1,2],"2d":5,"3":[2,5],"317":4,"31st":1,"323":4,"3263":4,"37":1,"4":[2,5],"42":[1,4,5],"43":4,"5":[2,5],"598":1,"6":[1,2,5],"604":1,"7":5,"8":[2,5],"9":[4,5],"99":4,"abstract":0,"break":2,"case":2,"class":[1,4,6],"default":5,"do":2,"export":3,"final":2,"float":5,"function":[1,4,5,6],"gonz\u00e1lez":3,"import":[3,5],"int":[0,1,4,5,6],"mart\u00ednez":3,"new":4,"public":3,"ram\u00f3n":3,"return":[0,1,4,5,6],"true":5,"try":2,"while":[3,4],A:[2,3,4],By:5,For:[2,3,5],If:[0,1,2,4,5,6],In:[2,3,4,5],OR:2,Of:2,The:[1,2,3,4,5],Then:[1,2],There:2,These:2,To:2,With:2,a1:2,a2:2,abandon:4,abdul:3,abigail:3,abov:2,accept:2,accord:3,achiev:4,acm:1,activ:[1,2],actual:2,ad:1,adapt:4,addit:[2,5],adjust:4,after:2,again:2,aim:1,al:1,alain:3,algorithm:[1,3,4,6],alireza:3,all:[1,4],allan:1,alpha:2,alreadi:[1,4],also:2,altern:2,among:1,an:4,anaconda:2,analysi:3,ani:[1,2,3,4,5],api:2,applic:3,approach:4,approxim:4,ar:[0,1,2,4],argument:5,arr:[4,5],arr_dist:5,arr_dist_clust:5,arrai:[0,1,4],ascend:4,ashton:1,auto:2,automat:2,avail:4,avoid:2,axi:5,ayer:3,b:2,bashrc:2,becom:4,been:1,being:4,belo:5,belong:0,below:2,best:2,beta:2,between:[1,5],bin:2,black:5,bool:5,borodin:1,bound:5,box:5,broken:2,brosciu:3,bug:2,build:2,c1:2,c2:2,c3:2,c4:2,c5:2,c6:2,c:[2,5],calcul:[1,4],can:[2,5],cannot:6,cell:4,center:[1,5],center_box:5,chang:2,chem:1,chemic:4,chemistri:3,choos:1,chosen:[1,4],chuiko:3,chul:1,ci025554v:4,ci970282v:1,citat:3,class_label:5,class_labels_clust:5,clean:2,clear:1,clone:2,close:4,closest:6,cluster:[0,1,4,6],cluster_id:[4,6],cluster_on:5,cluster_std:5,cluster_thre:5,cluster_two:5,code:3,com:[2,3,5],come:2,common:2,compar:4,comparison:2,compound:1,comput:[1,4,5],conda:2,conduct:3,confus:2,construct:4,contact:3,contribut:3,converg:6,coord:5,coordin:[1,4],coords_clust:5,correct:[2,6],cov:2,creat:2,criteria:3,critic:3,cross:3,cut:3,d_tree:4,databas:1,dataset:[1,3,5],date:2,deactiv:2,decis:3,def:5,defin:3,depend:[2,4],descript:1,design:3,desir:[3,4],detail:2,determin:1,dev:2,develop:[2,3],deviat:5,differ:[2,5],dimension:[0,1,4,6],direct:4,directedsphereexclus:[4,5,6],directori:2,dirti:2,disabl:5,discard:1,discoveri:3,dise:4,dissim_func:5,dissimilarityselect:5,dist:5,distanc:[0,1,4,5],distinct:1,distribut:4,divers:[0,1,3,4,5],selector:[0,1,2,3,4,5,6],diversif:1,doc:2,doi:[1,4],don:2,done:4,dpi:5,drug:3,due:2,dynam:1,e:[0,1,2,4,6],each:[0,4,5],easi:5,edg:[2,3],effici:3,effortlessli:3,element:1,elimin:4,els:5,empow:3,en:4,encount:3,end:4,enjoi:2,enumer:5,env:2,environ:2,environemnt:2,ep:[1,4],equis:4,equisized_depend:5,equisized_independ:[4,5],et:1,eucleidean:4,euclidean:5,evenli:4,everi:1,exampl:5,exclud:4,exclus:[4,6],execut:2,exhaust:4,exist:1,experiment:2,explain:2,explor:3,fals:5,fanwang:3,far:2,farnaz:3,faster:3,featur:[0,1,4,5,6],feel:2,figur:5,file:3,find:[1,2],find_furthest_neighbor:4,find_nearest_neighbor:4,first:[1,2,4,5],follow:[1,2,3],form:[1,4,6],format:3,found:[2,4],four:2,fragment:1,free:[2,3],from:[0,1,2,3,4,5,6],fun_dist:[0,1],func_dist:[1,4],further:3,furthest:[1,4],g:2,gener:3,generate_synthetic_data:5,get:[2,3],git:5,github:[2,3,5],given:4,gmail:3,gnu:3,go:5,goal:1,gobbi:4,graph_data:5,greater:4,greatest:[1,4],grid:4,grid_method:[4,5],grid_part:5,grid_partit:5,gridpartit:[4,5],guidelin:3,ha:[1,4],harder:2,hassan:3,have:[1,2,5],heidar:3,help:3,home:2,horton3:2,host:3,how:[2,5],howev:4,hstack:5,html:5,http:[1,2,4,5],hyun:1,i:[0,1,4,5,6],id:4,ideal:2,identif:1,identifi:3,implic:2,impos:4,inchi:3,includ:[2,3],independ:4,indic:[0,1,4,6],inf:1,inform:[3,4],initi:[1,4],inquiri:3,instal:5,instanc:6,instead:[2,4],instruct:2,integ:[0,5],integr:3,iodata:2,issu:[2,3],iter:[4,6],its:4,j:1,journal:4,just:2,k:[1,4],kdtree:4,keyword:5,kind:2,kwarg:5,l:4,label:[0,1,2,5],labels_mock:5,lambda:[4,5],latter:5,learn:5,lee:[1,4],less:4,let:3,level:3,librari:3,licens:3,list:[0,1,4,6],live:2,load:2,logic:1,loop:4,m:[2,4],machin:2,maco:2,made:0,mai:2,main:[2,4],make:[2,3,5],make_blob:5,manag:2,manual:2,marco:3,mark:1,materi:3,matplotlib:5,matrix:[0,1,4,5,6],max:1,max_dim:4,max_siz:[1,4],maxim:1,maximilian:3,maximum:[1,4],maxmin:1,maxsum:1,medoid:[1,4],membership:5,meng:3,method:2,metric:5,miniconda3:2,minimum:1,minkowski:4,miranda:3,mocked_cluster_coord:5,modul:[1,2,4,5,6],mol_id:5,molecul:[3,4],molecular:[1,3],monoton:1,more:[2,4],most:[1,3],n:2,n_cluster:5,n_featur:[0,1,4,5,6],n_iter:[1,4],n_sampl:[0,1,4,5,6],name:2,ndarrai:[0,1,4,5,6],need:[2,4],neighbor:4,next:1,none:[0,1,4,5,6],norm:4,normal:[2,5],note:2,np:[0,1,4,5,6],num_select:[4,5],number:[0,1,4,5,6],numpi:[0,2,5],nutshel:4,obj:6,object:6,obtain:6,obviou:5,offer:3,onc:1,one:[0,2,5],ones:1,onli:2,open:3,oper:2,optim:[3,4,6],optimize_radiu:6,option:[0,2,5],optisim:[1,6],order:4,org:[1,2,4,5],other:[2,3],otherwis:1,our:3,outsid:1,own:2,p:[1,4],packag:[2,3],pair:1,pairwis:[0,1,5],pairwise_dist:5,paramet:[3,4,5],path:2,pattern:5,paul:3,pick:2,pip3:2,pip:5,platform:3,pleas:[3,5],plt:5,point:[0,1,4,5,6],possibl:[1,6],potenti:2,power:3,pre:2,prepar:2,presenc:2,present:[1,2],previou:[1,2],previous:[1,4],principl:1,proceed:1,process:[1,3,4],project:[2,3],properli:2,properti:1,protocol:2,provid:[0,4],py:2,pyarg:2,pylint:5,pypi:2,pyplot:5,pytest:2,python3:2,python:[2,3],qc:[2,5],qcdev:3,quantit:1,queri:4,quick:2,quintana:3,quirk:2,r0:[1,4],r:[1,4,5],radiu:[1,4,6],random:[4,5],random_se:[1,4,5],random_st:5,randomli:[1,5],rang:[3,5],rdkit:5,recommend:2,ref_index:4,refer:[4,5],refresh:2,relationship:1,releas:3,relev:3,remain:4,repeat:[1,4],replac:2,repo:2,report:3,repositori:2,repres:[0,5],request:4,requir:[2,3],research:3,result:3,return_cent:5,right:3,risk:2,rob:2,roberto:2,run:[2,3],s1093:4,s:1,sampl:[0,1,4,5,6],satisfi:4,scale:4,scatter:5,scenario:2,sci:1,scienc:[3,4],scientist:3,scikit:5,scipi:2,sdf:3,search:6,second:[1,2],section:2,see:[2,3],seed:5,seem:2,seen:5,select:[0,1,3,4,6],select_from_clust:[0,1,4],selected_id3:5,selected_id4:5,selected_id5:5,selected_id6:5,selected_id7:5,selected_id8:5,selected_id:5,selected_ids1:5,selected_ids2:5,selected_ids3:5,selected_ids4:5,selected_ids5:5,selected_ids6:5,selected_mock:5,selectionbas:0,selector:[2,5],set:2,setup:2,shape:[0,1,4,6],show:[2,5],shuffl:5,sigact:1,sigai:1,sigmod:1,simpl:2,simplest:2,simpli:3,size:[0,1,4,5,6],sklearn:5,slow:2,smart:2,smarter:3,smile:3,so:2,solut:3,some:2,sort:4,sourc:[2,3],space:[0,1,4,6],specifi:[3,4],sphere:[4,6],sphere_exclus:5,squar:[0,1],ssh:2,stabl:5,standard:5,start:[2,3],start_id:[1,4],starting_idx:[4,5],state:5,step:1,str:5,streamlin:3,string:[0,2],structur:1,submodular:1,subsampl:1,subsequ:1,subset:[0,1,3,4,5,6],sudden:2,sum:1,support:5,symmetr:5,symposium:1,syn_data:5,synthstic:5,system:[1,2],t:2,tailor:3,tehrani:3,termin:4,text:5,than:4,thei:[1,2],them:2,theochem:[2,5],thi:[0,1,2,3,4,5],those:1,three:2,through:4,tol:[1,4],treat:[0,1],tupl:5,tutori:5,two:[2,5],type:5,under:3,understand:2,union:5,uniqu:3,unstabl:2,until:[2,4],up:2,updat:1,upon:4,us:[1,2,3,4,5,6],user:2,v3:3,valerii:3,van:3,variabl:2,variant:2,variat:2,variou:3,venv:2,version:2,via:1,virtual:2,visual:5,vstack:5,w0632:5,w:3,wai:2,warn:2,we:[2,3,5],when:[1,2,4,5],where:5,wherea:1,whether:5,which:[1,2,4],whichev:2,wide:[1,3],wiki:4,wikipedia:4,within:4,without:2,work:[2,5],workaround:2,world:3,write:2,www:2,x:[0,1,4,5,6],xdist:2,y:5,yang:3,ye:1,yet:2,you:[2,3],your:[2,3],yuli:1,zadeh:3,zyl:3},titles:["Base class","Dissimilarity based methods","Installation","Welcome to QC-Selector\u2019s Documentation!","Partition based methods","Getting started","Utilities"],titleterms:{"class":0,adapt:5,algorithm:5,ana:2,ar:5,assum:5,base:[0,1,4,5],brute:5,cluster:5,data:5,demo:5,depend:5,direct:5,dissimilar:[1,5],document:3,equis:5,exclus:5,featur:3,gener:5,get:5,git:2,grid:5,independ:5,instal:2,k:5,kei:3,latest:2,maxmin:5,maxsum:5,method:[1,4,5],miniconda:2,minmax:5,optimiz:5,optisim:5,partit:[4,5],pip:2,qc:3,releas:2,revis:2,run:5,s:3,select:5,selector:3,sphere:5,stabl:2,start:5,strength:5,synthet:5,test:2,util:6,welcom:3,why:3,without:5}})
book/content/_build/html/starting.html CHANGED
@@ -7,11 +7,11 @@
7
  <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
8
 
9
  <title>Getting started &#8212; Ayers Lab</title>
10
-
11
  <link href="_static/css/theme.css" rel="stylesheet">
12
  <link href="_static/css/index.ff1ffe594081f20da1ef19478df9384b.css" rel="stylesheet">
13
 
14
-
15
  <link rel="stylesheet"
16
  href="_static/vendor/fontawesome/5.13.0/css/all.min.css">
17
  <link rel="preload" as="font" type="font/woff2" crossorigin
@@ -19,10 +19,10 @@
19
  <link rel="preload" as="font" type="font/woff2" crossorigin
20
  href="_static/vendor/fontawesome/5.13.0/webfonts/fa-brands-400.woff2">
21
 
22
-
23
-
24
 
25
-
 
 
26
  <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
27
  <link rel="stylesheet" type="text/css" href="_static/sphinx-book-theme.css?digest=c3fdc42140077d1ad13ad2f1588a4309" />
28
  <link rel="stylesheet" type="text/css" href="_static/togglebutton.css" />
@@ -31,7 +31,7 @@
31
  <link rel="stylesheet" type="text/css" href="_static/sphinx-thebe.css" />
32
  <link rel="stylesheet" type="text/css" href="_static/panels-main.c949a650a448cc0ae9fd3441c0e17fb0.css" />
33
  <link rel="stylesheet" type="text/css" href="_static/panels-variables.06eb56fa6e07937060861dad626602ad.css" />
34
-
35
  <link rel="preload" as="script" href="_static/js/index.be7d3bbb2ef33a8344ce.js">
36
 
37
  <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
@@ -57,34 +57,34 @@
57
  <link rel="prev" title="Installation" href="installation.html" />
58
  <meta name="viewport" content="width=device-width, initial-scale=1" />
59
  <meta name="docsearch:language" content="None">
60
-
61
 
62
  <!-- Google Analytics -->
63
-
64
  </head>
65
  <body data-spy="scroll" data-target="#bd-toc-nav" data-offset="80">
66
-
67
  <div class="container-fluid" id="banner"></div>
68
 
69
-
70
 
71
  <div class="container-xl">
72
  <div class="row">
73
-
74
  <div class="col-12 col-md-3 bd-sidebar site-navigation show" id="site-navigation">
75
-
76
  <div class="navbar-brand-box">
77
  <a class="navbar-brand text-wrap" href="index.html">
78
-
79
  <!-- `logo` is deprecated in Sphinx 4.0, so remove this when we stop supporting 3 -->
80
-
81
-
82
-
83
  <img src="_static/selector_logo.png" class="logo" alt="logo">
84
-
85
-
86
  <h1 class="site-logo" id="site-title">Ayers Lab</h1>
87
-
88
  </a>
89
  </div><form class="bd-search d-flex align-items-center" action="search.html" method="get">
90
  <i class="icon fas fa-search"></i>
@@ -153,17 +153,17 @@
153
  </div>
154
 
155
 
156
-
157
 
158
 
159
-
 
160
  <main class="col py-md-3 pl-md-4 bd-content overflow-auto" role="main">
161
-
162
  <div class="topbar container-xl fixed-top">
163
  <div class="topbar-contents row">
164
  <div class="col-12 col-md-3 bd-topbar-whitespace site-navigation show"></div>
165
  <div class="col pl-md-4 topbar-main">
166
-
167
  <button id="navbar-toggler" class="navbar-toggler ml-0" type="button" data-toggle="collapse"
168
  data-toggle="tooltip" data-placement="bottom" data-target=".site-navigation" aria-controls="navbar-menu"
169
  aria-expanded="true" aria-label="Toggle navigation" aria-controls="site-navigation"
@@ -172,15 +172,15 @@
172
  <i class="fas fa-arrow-left"></i>
173
  <i class="fas fa-arrow-up"></i>
174
  </button>
175
-
176
-
177
  <div class="dropdown-buttons-trigger">
178
  <button id="dropdown-buttons-trigger" class="btn btn-secondary topbarbtn" aria-label="Download this page"><i
179
  class="fas fa-download"></i></button>
180
 
181
  <div class="dropdown-buttons">
182
  <!-- ipynb file if we had a myst markdown file -->
183
-
184
  <!-- Download raw file -->
185
  <a class="dropdown-buttons" href="_sources/starting.ipynb"><button type="button"
186
  class="btn btn-secondary topbarbtn" title="Download source file" data-toggle="tooltip"
@@ -198,14 +198,14 @@
198
  aria-label="Connect with source repository"><i class="fab fa-github"></i></button>
199
  <div class="dropdown-buttons sourcebuttons">
200
  <a class="repository-button"
201
- href="https://github.com/theochem/DiverseSelector"><button type="button" class="btn btn-secondary topbarbtn"
202
  data-toggle="tooltip" data-placement="left" title="Source repository"><i
203
  class="fab fa-github"></i>repository</button></a>
204
  <a class="issues-button"
205
- href="https://github.com/theochem/DiverseSelector/issues/new?title=Issue%20on%20page%20%2Fstarting.html&body=Your%20issue%20content%20here."><button
206
  type="button" class="btn btn-secondary topbarbtn" data-toggle="tooltip" data-placement="left"
207
  title="Open an issue"><i class="fas fa-lightbulb"></i>open issue</button></a>
208
-
209
  </div>
210
  </div>
211
 
@@ -222,24 +222,24 @@
222
  <button id="dropdown-buttons-trigger" class="btn btn-secondary topbarbtn"
223
  aria-label="Launch interactive content"><i class="fas fa-rocket"></i></button>
224
  <div class="dropdown-buttons">
225
-
226
- <a class="binder-button" href="https://mybinder.org/v2/gh/theochem/DiverseSelector/main?urlpath=tree/book/content/starting.ipynb"><button type="button"
227
  class="btn btn-secondary topbarbtn" title="Launch Binder" data-toggle="tooltip"
228
  data-placement="left"><img class="binder-button-logo"
229
  src="_static/images/logo_binder.svg"
230
  alt="Interact on binder">Binder</button></a>
231
-
232
-
233
-
234
- <a class="colab-button" href="https://colab.research.google.com/github/theochem/DiverseSelector/blob/main/book/content/starting.ipynb"><button type="button" class="btn btn-secondary topbarbtn"
235
  title="Launch Colab" data-toggle="tooltip" data-placement="left"><img class="colab-button-logo"
236
  src="_static/images/logo_colab.png"
237
  alt="Interact on Colab">Colab</button></a>
238
-
239
  <button type="button" class="btn btn-secondary topbarbtn"
240
  onclick="initThebeSBT()" title="Launch Thebe" data-toggle="tooltip" data-placement="left"><i
241
  class="fas fa-play"></i><span style="margin-left: .4em;">Live Code</span></button>
242
-
243
  </div>
244
  </div>
245
 
@@ -247,7 +247,7 @@
247
 
248
  <!-- Table of contents -->
249
  <div class="d-none d-md-block col-md-2 bd-toc show">
250
-
251
  <div class="tocsection onthispage pt-5 pb-3">
252
  <i class="fas fa-list"></i> Contents
253
  </div>
@@ -330,9 +330,9 @@
330
  </div>
331
  <div id="main-content" class="row">
332
  <div class="col-12 col-md-9 pl-md-3 pr-md-0">
333
-
334
  <div>
335
-
336
  <section class="tex2jax_ignore mathjax_ignore" id="getting-started">
337
  <h1>Getting started<a class="headerlink" href="#getting-started" title="Permalink to this headline">¶</a></h1>
338
  <section id="demo-dissimilarity-based-selection-synthetic-data">
@@ -343,8 +343,8 @@
343
  <h2>Generating Synthetic Data<a class="headerlink" href="#generating-synthetic-data" title="Permalink to this headline">¶</a></h2>
344
  <div class="cell docutils container">
345
  <div class="cell_input docutils container">
346
- <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># install the DiverseSelector module</span>
347
- <span class="o">!</span>pip install git+https://github.com/theochem/DiverseSelector
348
  <span class="o">!</span>pip install rdkit
349
  </pre></div>
350
  </div>
@@ -352,7 +352,7 @@
352
  </div>
353
  <div class="cell docutils container">
354
  <div class="cell_input docutils container">
355
- <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">DiverseSelector</span>
356
  <span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
357
  <span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
358
  <span class="kn">from</span> <span class="nn">typing</span> <span class="kn">import</span> <span class="n">Any</span><span class="p">,</span> <span class="n">Tuple</span><span class="p">,</span> <span class="n">Union</span>
@@ -482,8 +482,8 @@
482
  <div class="cell docutils container">
483
  <div class="cell_input docutils container">
484
  <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># MaxMin method</span>
485
- <span class="kn">from</span> <span class="nn">DiverseSelector.methods.partition</span> <span class="kn">import</span> <span class="o">*</span>
486
- <span class="kn">from</span> <span class="nn">DiverseSelector.methods.dissimilarity</span> <span class="kn">import</span> <span class="o">*</span>
487
 
488
  <span class="c1"># diverse subset selection from randomly generated data points</span>
489
  <span class="n">selector</span> <span class="o">=</span> <span class="n">MaxMin</span><span class="p">()</span>
@@ -556,8 +556,8 @@
556
  <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># diverse subset selection from randomly generated data points</span>
557
  <span class="n">selected_id7</span> <span class="o">=</span> <span class="n">GridPartitioning</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="s2">&quot;equisized_independent&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">select</span><span class="p">(</span><span class="n">coords</span><span class="p">,</span> <span class="mi">12</span><span class="p">)</span>
558
  <span class="c1"># diverse subset selection from data points with obvious patterns (different clusters)</span>
559
- <span class="n">selected_id8</span> <span class="o">=</span> <span class="n">GridPartitioning</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="s2">&quot;equisized_independent&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">select</span><span class="p">(</span><span class="n">coords_cluster</span><span class="p">,</span>
560
- <span class="n">size</span><span class="o">=</span><span class="mi">12</span><span class="p">,</span>
561
  <span class="n">labels</span><span class="o">=</span><span class="n">class_labels_cluster</span><span class="p">)</span>
562
 
563
  <span class="n">graph_data</span><span class="p">(</span><span class="n">coords</span><span class="p">,</span><span class="n">selected_id7</span><span class="p">)</span>
@@ -750,7 +750,7 @@
750
  {
751
  requestKernel: true,
752
  binderOptions: {
753
- repo: "theochem/DiverseSelector",
754
  ref: "main",
755
  },
756
  codeMirrorConfig: {
@@ -767,10 +767,10 @@
767
  <script>kernelName = 'python3'</script>
768
 
769
  </div>
770
-
771
-
772
  <!-- Previous / next buttons -->
773
- <div class='prev-next-area'>
774
  <a class='left-prev' id="prev-link" href="installation.html" title="previous page">
775
  <i class="fas fa-angle-left"></i>
776
  <div class="prev-next-info">
@@ -786,15 +786,15 @@
786
  <i class="fas fa-angle-right"></i>
787
  </a>
788
  </div>
789
-
790
  </div>
791
  </div>
792
  <footer class="footer">
793
  <div class="container">
794
  <p>
795
-
796
  By The QC-Dev Community with the support of Digital Research Alliance of Canada and The Jupyter Book Community<br/>
797
-
798
  &copy; Copyright 2022-2023.<br/>
799
  </p>
800
  </div>
@@ -804,8 +804,8 @@
804
 
805
  </div>
806
  </div>
807
-
808
  <script src="_static/js/index.be7d3bbb2ef33a8344ce.js"></script>
809
 
810
  </body>
811
- </html>
 
7
  <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
8
 
9
  <title>Getting started &#8212; Ayers Lab</title>
10
+
11
  <link href="_static/css/theme.css" rel="stylesheet">
12
  <link href="_static/css/index.ff1ffe594081f20da1ef19478df9384b.css" rel="stylesheet">
13
 
14
+
15
  <link rel="stylesheet"
16
  href="_static/vendor/fontawesome/5.13.0/css/all.min.css">
17
  <link rel="preload" as="font" type="font/woff2" crossorigin
 
19
  <link rel="preload" as="font" type="font/woff2" crossorigin
20
  href="_static/vendor/fontawesome/5.13.0/webfonts/fa-brands-400.woff2">
21
 
 
 
22
 
23
+
24
+
25
+
26
  <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
27
  <link rel="stylesheet" type="text/css" href="_static/sphinx-book-theme.css?digest=c3fdc42140077d1ad13ad2f1588a4309" />
28
  <link rel="stylesheet" type="text/css" href="_static/togglebutton.css" />
 
31
  <link rel="stylesheet" type="text/css" href="_static/sphinx-thebe.css" />
32
  <link rel="stylesheet" type="text/css" href="_static/panels-main.c949a650a448cc0ae9fd3441c0e17fb0.css" />
33
  <link rel="stylesheet" type="text/css" href="_static/panels-variables.06eb56fa6e07937060861dad626602ad.css" />
34
+
35
  <link rel="preload" as="script" href="_static/js/index.be7d3bbb2ef33a8344ce.js">
36
 
37
  <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
 
57
  <link rel="prev" title="Installation" href="installation.html" />
58
  <meta name="viewport" content="width=device-width, initial-scale=1" />
59
  <meta name="docsearch:language" content="None">
60
+
61
 
62
  <!-- Google Analytics -->
63
+
64
  </head>
65
  <body data-spy="scroll" data-target="#bd-toc-nav" data-offset="80">
66
+
67
  <div class="container-fluid" id="banner"></div>
68
 
69
+
70
 
71
  <div class="container-xl">
72
  <div class="row">
73
+
74
  <div class="col-12 col-md-3 bd-sidebar site-navigation show" id="site-navigation">
75
+
76
  <div class="navbar-brand-box">
77
  <a class="navbar-brand text-wrap" href="index.html">
78
+
79
  <!-- `logo` is deprecated in Sphinx 4.0, so remove this when we stop supporting 3 -->
80
+
81
+
82
+
83
  <img src="_static/selector_logo.png" class="logo" alt="logo">
84
+
85
+
86
  <h1 class="site-logo" id="site-title">Ayers Lab</h1>
87
+
88
  </a>
89
  </div><form class="bd-search d-flex align-items-center" action="search.html" method="get">
90
  <i class="icon fas fa-search"></i>
 
153
  </div>
154
 
155
 
 
156
 
157
 
158
+
159
+
160
  <main class="col py-md-3 pl-md-4 bd-content overflow-auto" role="main">
161
+
162
  <div class="topbar container-xl fixed-top">
163
  <div class="topbar-contents row">
164
  <div class="col-12 col-md-3 bd-topbar-whitespace site-navigation show"></div>
165
  <div class="col pl-md-4 topbar-main">
166
+
167
  <button id="navbar-toggler" class="navbar-toggler ml-0" type="button" data-toggle="collapse"
168
  data-toggle="tooltip" data-placement="bottom" data-target=".site-navigation" aria-controls="navbar-menu"
169
  aria-expanded="true" aria-label="Toggle navigation" aria-controls="site-navigation"
 
172
  <i class="fas fa-arrow-left"></i>
173
  <i class="fas fa-arrow-up"></i>
174
  </button>
175
+
176
+
177
  <div class="dropdown-buttons-trigger">
178
  <button id="dropdown-buttons-trigger" class="btn btn-secondary topbarbtn" aria-label="Download this page"><i
179
  class="fas fa-download"></i></button>
180
 
181
  <div class="dropdown-buttons">
182
  <!-- ipynb file if we had a myst markdown file -->
183
+
184
  <!-- Download raw file -->
185
  <a class="dropdown-buttons" href="_sources/starting.ipynb"><button type="button"
186
  class="btn btn-secondary topbarbtn" title="Download source file" data-toggle="tooltip"
 
198
  aria-label="Connect with source repository"><i class="fab fa-github"></i></button>
199
  <div class="dropdown-buttons sourcebuttons">
200
  <a class="repository-button"
201
+ href="https://github.com/theochem/Selector"><button type="button" class="btn btn-secondary topbarbtn"
202
  data-toggle="tooltip" data-placement="left" title="Source repository"><i
203
  class="fab fa-github"></i>repository</button></a>
204
  <a class="issues-button"
205
+ href="https://github.com/theochem/Selector/issues/new?title=Issue%20on%20page%20%2Fstarting.html&body=Your%20issue%20content%20here."><button
206
  type="button" class="btn btn-secondary topbarbtn" data-toggle="tooltip" data-placement="left"
207
  title="Open an issue"><i class="fas fa-lightbulb"></i>open issue</button></a>
208
+
209
  </div>
210
  </div>
211
 
 
222
  <button id="dropdown-buttons-trigger" class="btn btn-secondary topbarbtn"
223
  aria-label="Launch interactive content"><i class="fas fa-rocket"></i></button>
224
  <div class="dropdown-buttons">
225
+
226
+ <a class="binder-button" href="https://mybinder.org/v2/gh/theochem/Selector/main?urlpath=tree/book/content/starting.ipynb"><button type="button"
227
  class="btn btn-secondary topbarbtn" title="Launch Binder" data-toggle="tooltip"
228
  data-placement="left"><img class="binder-button-logo"
229
  src="_static/images/logo_binder.svg"
230
  alt="Interact on binder">Binder</button></a>
231
+
232
+
233
+
234
+ <a class="colab-button" href="https://colab.research.google.com/github/theochem/Selector/blob/main/book/content/starting.ipynb"><button type="button" class="btn btn-secondary topbarbtn"
235
  title="Launch Colab" data-toggle="tooltip" data-placement="left"><img class="colab-button-logo"
236
  src="_static/images/logo_colab.png"
237
  alt="Interact on Colab">Colab</button></a>
238
+
239
  <button type="button" class="btn btn-secondary topbarbtn"
240
  onclick="initThebeSBT()" title="Launch Thebe" data-toggle="tooltip" data-placement="left"><i
241
  class="fas fa-play"></i><span style="margin-left: .4em;">Live Code</span></button>
242
+
243
  </div>
244
  </div>
245
 
 
247
 
248
  <!-- Table of contents -->
249
  <div class="d-none d-md-block col-md-2 bd-toc show">
250
+
251
  <div class="tocsection onthispage pt-5 pb-3">
252
  <i class="fas fa-list"></i> Contents
253
  </div>
 
330
  </div>
331
  <div id="main-content" class="row">
332
  <div class="col-12 col-md-9 pl-md-3 pr-md-0">
333
+
334
  <div>
335
+
336
  <section class="tex2jax_ignore mathjax_ignore" id="getting-started">
337
  <h1>Getting started<a class="headerlink" href="#getting-started" title="Permalink to this headline">¶</a></h1>
338
  <section id="demo-dissimilarity-based-selection-synthetic-data">
 
343
  <h2>Generating Synthetic Data<a class="headerlink" href="#generating-synthetic-data" title="Permalink to this headline">¶</a></h2>
344
  <div class="cell docutils container">
345
  <div class="cell_input docutils container">
346
+ <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># install the selector module</span>
347
+ <span class="o">!</span>pip install git+https://github.com/theochem/Selector
348
  <span class="o">!</span>pip install rdkit
349
  </pre></div>
350
  </div>
 
352
  </div>
353
  <div class="cell docutils container">
354
  <div class="cell_input docutils container">
355
+ <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">selector</span>
356
  <span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
357
  <span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
358
  <span class="kn">from</span> <span class="nn">typing</span> <span class="kn">import</span> <span class="n">Any</span><span class="p">,</span> <span class="n">Tuple</span><span class="p">,</span> <span class="n">Union</span>
 
482
  <div class="cell docutils container">
483
  <div class="cell_input docutils container">
484
  <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># MaxMin method</span>
485
+ <span class="kn">from</span> <span class="nn">selector.methods.partition</span> <span class="kn">import</span> <span class="o">*</span>
486
+ <span class="kn">from</span> <span class="nn">selector.methods.dissimilarity</span> <span class="kn">import</span> <span class="o">*</span>
487
 
488
  <span class="c1"># diverse subset selection from randomly generated data points</span>
489
  <span class="n">selector</span> <span class="o">=</span> <span class="n">MaxMin</span><span class="p">()</span>
 
556
  <div class="highlight-ipython3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># diverse subset selection from randomly generated data points</span>
557
  <span class="n">selected_id7</span> <span class="o">=</span> <span class="n">GridPartitioning</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="s2">&quot;equisized_independent&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">select</span><span class="p">(</span><span class="n">coords</span><span class="p">,</span> <span class="mi">12</span><span class="p">)</span>
558
  <span class="c1"># diverse subset selection from data points with obvious patterns (different clusters)</span>
559
+ <span class="n">selected_id8</span> <span class="o">=</span> <span class="n">GridPartitioning</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="s2">&quot;equisized_independent&quot;</span><span class="p">)</span><span class="o">.</span><span class="n">select</span><span class="p">(</span><span class="n">coords_cluster</span><span class="p">,</span>
560
+ <span class="n">size</span><span class="o">=</span><span class="mi">12</span><span class="p">,</span>
561
  <span class="n">labels</span><span class="o">=</span><span class="n">class_labels_cluster</span><span class="p">)</span>
562
 
563
  <span class="n">graph_data</span><span class="p">(</span><span class="n">coords</span><span class="p">,</span><span class="n">selected_id7</span><span class="p">)</span>
 
750
  {
751
  requestKernel: true,
752
  binderOptions: {
753
+ repo: "theochem/Selector",
754
  ref: "main",
755
  },
756
  codeMirrorConfig: {
 
767
  <script>kernelName = 'python3'</script>
768
 
769
  </div>
770
+
771
+
772
  <!-- Previous / next buttons -->
773
+ <div class='prev-next-area'>
774
  <a class='left-prev' id="prev-link" href="installation.html" title="previous page">
775
  <i class="fas fa-angle-left"></i>
776
  <div class="prev-next-info">
 
786
  <i class="fas fa-angle-right"></i>
787
  </a>
788
  </div>
789
+
790
  </div>
791
  </div>
792
  <footer class="footer">
793
  <div class="container">
794
  <p>
795
+
796
  By The QC-Dev Community with the support of Digital Research Alliance of Canada and The Jupyter Book Community<br/>
797
+
798
  &copy; Copyright 2022-2023.<br/>
799
  </p>
800
  </div>
 
804
 
805
  </div>
806
  </div>
807
+
808
  <script src="_static/js/index.be7d3bbb2ef33a8344ce.js"></script>
809
 
810
  </body>
811
+ </html>
book/content/_build/html/utils.html CHANGED
@@ -7,11 +7,11 @@
7
  <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
8
 
9
  <title>Utilities &#8212; Ayers Lab</title>
10
-
11
  <link href="_static/css/theme.css" rel="stylesheet">
12
  <link href="_static/css/index.ff1ffe594081f20da1ef19478df9384b.css" rel="stylesheet">
13
 
14
-
15
  <link rel="stylesheet"
16
  href="_static/vendor/fontawesome/5.13.0/css/all.min.css">
17
  <link rel="preload" as="font" type="font/woff2" crossorigin
@@ -19,10 +19,10 @@
19
  <link rel="preload" as="font" type="font/woff2" crossorigin
20
  href="_static/vendor/fontawesome/5.13.0/webfonts/fa-brands-400.woff2">
21
 
22
-
23
-
24
 
25
-
 
 
26
  <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
27
  <link rel="stylesheet" type="text/css" href="_static/sphinx-book-theme.css?digest=c3fdc42140077d1ad13ad2f1588a4309" />
28
  <link rel="stylesheet" type="text/css" href="_static/togglebutton.css" />
@@ -31,7 +31,7 @@
31
  <link rel="stylesheet" type="text/css" href="_static/sphinx-thebe.css" />
32
  <link rel="stylesheet" type="text/css" href="_static/panels-main.c949a650a448cc0ae9fd3441c0e17fb0.css" />
33
  <link rel="stylesheet" type="text/css" href="_static/panels-variables.06eb56fa6e07937060861dad626602ad.css" />
34
-
35
  <link rel="preload" as="script" href="_static/js/index.be7d3bbb2ef33a8344ce.js">
36
 
37
  <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
@@ -56,34 +56,34 @@
56
  <link rel="prev" title="Partition based methods" href="partition.html" />
57
  <meta name="viewport" content="width=device-width, initial-scale=1" />
58
  <meta name="docsearch:language" content="None">
59
-
60
 
61
  <!-- Google Analytics -->
62
-
63
  </head>
64
  <body data-spy="scroll" data-target="#bd-toc-nav" data-offset="80">
65
-
66
  <div class="container-fluid" id="banner"></div>
67
 
68
-
69
 
70
  <div class="container-xl">
71
  <div class="row">
72
-
73
  <div class="col-12 col-md-3 bd-sidebar site-navigation show" id="site-navigation">
74
-
75
  <div class="navbar-brand-box">
76
  <a class="navbar-brand text-wrap" href="index.html">
77
-
78
  <!-- `logo` is deprecated in Sphinx 4.0, so remove this when we stop supporting 3 -->
79
-
80
-
81
-
82
  <img src="_static/selector_logo.png" class="logo" alt="logo">
83
-
84
-
85
  <h1 class="site-logo" id="site-title">Ayers Lab</h1>
86
-
87
  </a>
88
  </div><form class="bd-search d-flex align-items-center" action="search.html" method="get">
89
  <i class="icon fas fa-search"></i>
@@ -152,17 +152,17 @@
152
  </div>
153
 
154
 
155
-
156
 
157
 
158
-
 
159
  <main class="col py-md-3 pl-md-4 bd-content overflow-auto" role="main">
160
-
161
  <div class="topbar container-xl fixed-top">
162
  <div class="topbar-contents row">
163
  <div class="col-12 col-md-3 bd-topbar-whitespace site-navigation show"></div>
164
  <div class="col pl-md-4 topbar-main">
165
-
166
  <button id="navbar-toggler" class="navbar-toggler ml-0" type="button" data-toggle="collapse"
167
  data-toggle="tooltip" data-placement="bottom" data-target=".site-navigation" aria-controls="navbar-menu"
168
  aria-expanded="true" aria-label="Toggle navigation" aria-controls="site-navigation"
@@ -171,15 +171,15 @@
171
  <i class="fas fa-arrow-left"></i>
172
  <i class="fas fa-arrow-up"></i>
173
  </button>
174
-
175
-
176
  <div class="dropdown-buttons-trigger">
177
  <button id="dropdown-buttons-trigger" class="btn btn-secondary topbarbtn" aria-label="Download this page"><i
178
  class="fas fa-download"></i></button>
179
 
180
  <div class="dropdown-buttons">
181
  <!-- ipynb file if we had a myst markdown file -->
182
-
183
  <!-- Download raw file -->
184
  <a class="dropdown-buttons" href="_sources/utils.rst"><button type="button"
185
  class="btn btn-secondary topbarbtn" title="Download source file" data-toggle="tooltip"
@@ -197,14 +197,14 @@
197
  aria-label="Connect with source repository"><i class="fab fa-github"></i></button>
198
  <div class="dropdown-buttons sourcebuttons">
199
  <a class="repository-button"
200
- href="https://github.com/theochem/DiverseSelector"><button type="button" class="btn btn-secondary topbarbtn"
201
  data-toggle="tooltip" data-placement="left" title="Source repository"><i
202
  class="fab fa-github"></i>repository</button></a>
203
  <a class="issues-button"
204
- href="https://github.com/theochem/DiverseSelector/issues/new?title=Issue%20on%20page%20%2Futils.html&body=Your%20issue%20content%20here."><button
205
  type="button" class="btn btn-secondary topbarbtn" data-toggle="tooltip" data-placement="left"
206
  title="Open an issue"><i class="fas fa-lightbulb"></i>open issue</button></a>
207
-
208
  </div>
209
  </div>
210
 
@@ -221,21 +221,21 @@
221
 
222
  <!-- Table of contents -->
223
  <div class="d-none d-md-block col-md-2 bd-toc show">
224
-
225
  </div>
226
  </div>
227
  </div>
228
  <div id="main-content" class="row">
229
  <div class="col-12 col-md-9 pl-md-3 pr-md-0">
230
-
231
  <div>
232
-
233
- <section id="module-DiverseSelector.utils">
234
- <span id="utilities"></span><h1>Utilities<a class="headerlink" href="#module-DiverseSelector.utils" title="Permalink to this headline">¶</a></h1>
235
  <p>Module for Selection Utilities.</p>
236
  <dl class="py function">
237
- <dt class="sig sig-object py" id="DiverseSelector.utils.optimize_radius">
238
- <span class="sig-prename descclassname"><span class="pre">DiverseSelector.utils.</span></span><span class="sig-name descname"><span class="pre">optimize_radius</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">obj</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">X</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">size</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cluster_ids</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#DiverseSelector.utils.optimize_radius" title="Permalink to this definition">¶</a></dt>
239
  <dd><p>Algorithm that uses sphere exclusion for selecting points from cluster.</p>
240
  <p>Iteratively searches for the optimal radius to obtain the correct number
241
  of selected samples. If the radius cannot converge to return <cite>size</cite> points,
@@ -262,7 +262,7 @@ the function returns the closest number of samples to <cite>size</cite> as possi
262
  {
263
  requestKernel: true,
264
  binderOptions: {
265
- repo: "theochem/DiverseSelector",
266
  ref: "main",
267
  },
268
  codeMirrorConfig: {
@@ -279,10 +279,10 @@ the function returns the closest number of samples to <cite>size</cite> as possi
279
  <script>kernelName = 'python3'</script>
280
 
281
  </div>
282
-
283
-
284
  <!-- Previous / next buttons -->
285
- <div class='prev-next-area'>
286
  <a class='left-prev' id="prev-link" href="partition.html" title="previous page">
287
  <i class="fas fa-angle-left"></i>
288
  <div class="prev-next-info">
@@ -291,15 +291,15 @@ the function returns the closest number of samples to <cite>size</cite> as possi
291
  </div>
292
  </a>
293
  </div>
294
-
295
  </div>
296
  </div>
297
  <footer class="footer">
298
  <div class="container">
299
  <p>
300
-
301
  By The QC-Dev Community with the support of Digital Research Alliance of Canada and The Jupyter Book Community<br/>
302
-
303
  &copy; Copyright 2022-2023.<br/>
304
  </p>
305
  </div>
@@ -309,8 +309,8 @@ the function returns the closest number of samples to <cite>size</cite> as possi
309
 
310
  </div>
311
  </div>
312
-
313
  <script src="_static/js/index.be7d3bbb2ef33a8344ce.js"></script>
314
 
315
  </body>
316
- </html>
 
7
  <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
8
 
9
  <title>Utilities &#8212; Ayers Lab</title>
10
+
11
  <link href="_static/css/theme.css" rel="stylesheet">
12
  <link href="_static/css/index.ff1ffe594081f20da1ef19478df9384b.css" rel="stylesheet">
13
 
14
+
15
  <link rel="stylesheet"
16
  href="_static/vendor/fontawesome/5.13.0/css/all.min.css">
17
  <link rel="preload" as="font" type="font/woff2" crossorigin
 
19
  <link rel="preload" as="font" type="font/woff2" crossorigin
20
  href="_static/vendor/fontawesome/5.13.0/webfonts/fa-brands-400.woff2">
21
 
 
 
22
 
23
+
24
+
25
+
26
  <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
27
  <link rel="stylesheet" type="text/css" href="_static/sphinx-book-theme.css?digest=c3fdc42140077d1ad13ad2f1588a4309" />
28
  <link rel="stylesheet" type="text/css" href="_static/togglebutton.css" />
 
31
  <link rel="stylesheet" type="text/css" href="_static/sphinx-thebe.css" />
32
  <link rel="stylesheet" type="text/css" href="_static/panels-main.c949a650a448cc0ae9fd3441c0e17fb0.css" />
33
  <link rel="stylesheet" type="text/css" href="_static/panels-variables.06eb56fa6e07937060861dad626602ad.css" />
34
+
35
  <link rel="preload" as="script" href="_static/js/index.be7d3bbb2ef33a8344ce.js">
36
 
37
  <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
 
56
  <link rel="prev" title="Partition based methods" href="partition.html" />
57
  <meta name="viewport" content="width=device-width, initial-scale=1" />
58
  <meta name="docsearch:language" content="None">
59
+
60
 
61
  <!-- Google Analytics -->
62
+
63
  </head>
64
  <body data-spy="scroll" data-target="#bd-toc-nav" data-offset="80">
65
+
66
  <div class="container-fluid" id="banner"></div>
67
 
68
+
69
 
70
  <div class="container-xl">
71
  <div class="row">
72
+
73
  <div class="col-12 col-md-3 bd-sidebar site-navigation show" id="site-navigation">
74
+
75
  <div class="navbar-brand-box">
76
  <a class="navbar-brand text-wrap" href="index.html">
77
+
78
  <!-- `logo` is deprecated in Sphinx 4.0, so remove this when we stop supporting 3 -->
79
+
80
+
81
+
82
  <img src="_static/selector_logo.png" class="logo" alt="logo">
83
+
84
+
85
  <h1 class="site-logo" id="site-title">Ayers Lab</h1>
86
+
87
  </a>
88
  </div><form class="bd-search d-flex align-items-center" action="search.html" method="get">
89
  <i class="icon fas fa-search"></i>
 
152
  </div>
153
 
154
 
 
155
 
156
 
157
+
158
+
159
  <main class="col py-md-3 pl-md-4 bd-content overflow-auto" role="main">
160
+
161
  <div class="topbar container-xl fixed-top">
162
  <div class="topbar-contents row">
163
  <div class="col-12 col-md-3 bd-topbar-whitespace site-navigation show"></div>
164
  <div class="col pl-md-4 topbar-main">
165
+
166
  <button id="navbar-toggler" class="navbar-toggler ml-0" type="button" data-toggle="collapse"
167
  data-toggle="tooltip" data-placement="bottom" data-target=".site-navigation" aria-controls="navbar-menu"
168
  aria-expanded="true" aria-label="Toggle navigation" aria-controls="site-navigation"
 
171
  <i class="fas fa-arrow-left"></i>
172
  <i class="fas fa-arrow-up"></i>
173
  </button>
174
+
175
+
176
  <div class="dropdown-buttons-trigger">
177
  <button id="dropdown-buttons-trigger" class="btn btn-secondary topbarbtn" aria-label="Download this page"><i
178
  class="fas fa-download"></i></button>
179
 
180
  <div class="dropdown-buttons">
181
  <!-- ipynb file if we had a myst markdown file -->
182
+
183
  <!-- Download raw file -->
184
  <a class="dropdown-buttons" href="_sources/utils.rst"><button type="button"
185
  class="btn btn-secondary topbarbtn" title="Download source file" data-toggle="tooltip"
 
197
  aria-label="Connect with source repository"><i class="fab fa-github"></i></button>
198
  <div class="dropdown-buttons sourcebuttons">
199
  <a class="repository-button"
200
+ href="https://github.com/theochem/Selector"><button type="button" class="btn btn-secondary topbarbtn"
201
  data-toggle="tooltip" data-placement="left" title="Source repository"><i
202
  class="fab fa-github"></i>repository</button></a>
203
  <a class="issues-button"
204
+ href="https://github.com/theochem/Selector/issues/new?title=Issue%20on%20page%20%2Futils.html&body=Your%20issue%20content%20here."><button
205
  type="button" class="btn btn-secondary topbarbtn" data-toggle="tooltip" data-placement="left"
206
  title="Open an issue"><i class="fas fa-lightbulb"></i>open issue</button></a>
207
+
208
  </div>
209
  </div>
210
 
 
221
 
222
  <!-- Table of contents -->
223
  <div class="d-none d-md-block col-md-2 bd-toc show">
224
+
225
  </div>
226
  </div>
227
  </div>
228
  <div id="main-content" class="row">
229
  <div class="col-12 col-md-9 pl-md-3 pr-md-0">
230
+
231
  <div>
232
+
233
+ <section id="module-selector.utils">
234
+ <span id="utilities"></span><h1>Utilities<a class="headerlink" href="#module-selector.utils" title="Permalink to this headline">¶</a></h1>
235
  <p>Module for Selection Utilities.</p>
236
  <dl class="py function">
237
+ <dt class="sig sig-object py" id="selector.utils.optimize_radius">
238
+ <span class="sig-prename descclassname"><span class="pre">selector.utils.</span></span><span class="sig-name descname"><span class="pre">optimize_radius</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">obj</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">X</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">size</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cluster_ids</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#selector.utils.optimize_radius" title="Permalink to this definition">¶</a></dt>
239
  <dd><p>Algorithm that uses sphere exclusion for selecting points from cluster.</p>
240
  <p>Iteratively searches for the optimal radius to obtain the correct number
241
  of selected samples. If the radius cannot converge to return <cite>size</cite> points,
 
262
  {
263
  requestKernel: true,
264
  binderOptions: {
265
+ repo: "theochem/Selector",
266
  ref: "main",
267
  },
268
  codeMirrorConfig: {
 
279
  <script>kernelName = 'python3'</script>
280
 
281
  </div>
282
+
283
+
284
  <!-- Previous / next buttons -->
285
+ <div class='prev-next-area'>
286
  <a class='left-prev' id="prev-link" href="partition.html" title="previous page">
287
  <i class="fas fa-angle-left"></i>
288
  <div class="prev-next-info">
 
291
  </div>
292
  </a>
293
  </div>
294
+
295
  </div>
296
  </div>
297
  <footer class="footer">
298
  <div class="container">
299
  <p>
300
+
301
  By The QC-Dev Community with the support of Digital Research Alliance of Canada and The Jupyter Book Community<br/>
302
+
303
  &copy; Copyright 2022-2023.<br/>
304
  </p>
305
  </div>
 
309
 
310
  </div>
311
  </div>
312
+
313
  <script src="_static/js/index.be7d3bbb2ef33a8344ce.js"></script>
314
 
315
  </body>
316
+ </html>
book/content/_build/jupyter_execute/installation.ipynb CHANGED
@@ -16,7 +16,7 @@
16
  "We are preparing a 1.0 release. Until then, these instructions for installing a stable release will not work yet. If you enjoy living on the edge, try the development release as explained in the “Latest git revision” section below.\n",
17
  "</div>\n",
18
  "\n",
19
- "The following dependencies are required to run DiverseSelector properly,\n",
20
  "\n",
21
  "* Python >= 3.6: http://www.python.org/ \n",
22
  "* NumPy >= 1.21.5: http://www.numpy.org/\n",
@@ -29,7 +29,7 @@
29
  "\n",
30
  "## Installation with Ana- or Miniconda:\n",
31
  "\n",
32
- "1. To install DiverseSelector using the conda package management system, install [miniconda](https://conda.io/miniconda.html) or [anaconda](https://www.anaconda.com/download) first, and then:\n",
33
  "\n",
34
  "```\n",
35
  "# Activate your main conda environment if it is not loaded in your .bashrc.\n",
@@ -96,20 +96,20 @@
96
  "\n",
97
  "## Latest git revision\n",
98
  "\n",
99
- "This section shows how one can install the latest revision of DiverseSelector from the git repository. This kind of installation comes with some risks (sudden API changes, bugs, …) and so be prepared to accept them when using the following installation instructions.\n",
100
  "\n",
101
  "There are two installation methods:\n",
102
  "\n",
103
  "1. **Quick and dirty.** Of this method, there are four variants, depending on the correctness of your `PATH` variable and the presence of a virtual or conda environment. These different scenarios are explained in more detail in the previous section.\n",
104
  "```\n",
105
  "# with env, correct PATH\n",
106
- "pip install git+https://github.com/theochem/DiverseSelector.git\n",
107
  "# with env, broken PATH\n",
108
- "python -m pip install git+https://github.com/theochem/DiverseSelector.git\n",
109
  "# without env, correct PATH\n",
110
- "pip install git+https://github.com/theochem/DiverseSelector.git --user\n",
111
  "# without env, broken PATH\n",
112
- "python -m pip install git+https://github.com/theochem/DiverseSelector.git --user\n",
113
  "```\n",
114
  "\n",
115
  "2. **Slow and Smart.** In addition to the four variations in the quick and dirty method, the slow and smart can be used with `pip` or just with `setup.py`. You also have the options to use SSH or HTTPS protocols to clone the git repository. Pick whichever works best for you.\n",
@@ -117,9 +117,9 @@
117
  "# A) Clone git repo with https OR ssh:\n",
118
  "# The second one only works if you have ssh set up for Github\n",
119
  "# A1) https\n",
120
- "git clone https://github.com/theochem/DiverseSelector.git\n",
121
  "# A2) ssh\n",
122
- "git clone [email protected]:theochem/DiverseSelector.git\n",
123
  "# B) Optionally write the version string\n",
124
  "pip install roberto # or any of the three other ways of running pip, see above.\n",
125
  "rob write-version\n",
@@ -148,7 +148,7 @@
148
  "# Install pytest in your conda env.\n",
149
  "conda install pytest pytest-xdist\n",
150
  "# Then run the tests.\n",
151
- "pytest --pyargs diverseselector -n auto\n",
152
  "```\n",
153
  "\n",
154
  "With Pip:\n",
@@ -157,13 +157,13 @@
157
  "pip install pytest pytest-xdist\n",
158
  "# .. and refresh the virtual environment.\n",
159
  "# This is a venv quirk. Without it, pytest may not find IOData.\n",
160
- "deactivate && source ~/diverseselector/activate\n",
161
  "\n",
162
  "# Alternatively, install pytest in your home directory.\n",
163
  "pip install pytest pytest-xdist --user\n",
164
  "\n",
165
  "# Finally, run the tests.\n",
166
- "pytest --pyargs diverseselector -n auto\n",
167
  "```"
168
  ]
169
  }
@@ -189,4 +189,4 @@
189
  },
190
  "nbformat": 4,
191
  "nbformat_minor": 5
192
- }
 
16
  "We are preparing a 1.0 release. Until then, these instructions for installing a stable release will not work yet. If you enjoy living on the edge, try the development release as explained in the “Latest git revision” section below.\n",
17
  "</div>\n",
18
  "\n",
19
+ "The following dependencies are required to run selector properly,\n",
20
  "\n",
21
  "* Python >= 3.6: http://www.python.org/ \n",
22
  "* NumPy >= 1.21.5: http://www.numpy.org/\n",
 
29
  "\n",
30
  "## Installation with Ana- or Miniconda:\n",
31
  "\n",
32
+ "1. To install selector using the conda package management system, install [miniconda](https://conda.io/miniconda.html) or [anaconda](https://www.anaconda.com/download) first, and then:\n",
33
  "\n",
34
  "```\n",
35
  "# Activate your main conda environment if it is not loaded in your .bashrc.\n",
 
96
  "\n",
97
  "## Latest git revision\n",
98
  "\n",
99
+ "This section shows how one can install the latest revision of selector from the git repository. This kind of installation comes with some risks (sudden API changes, bugs, …) and so be prepared to accept them when using the following installation instructions.\n",
100
  "\n",
101
  "There are two installation methods:\n",
102
  "\n",
103
  "1. **Quick and dirty.** Of this method, there are four variants, depending on the correctness of your `PATH` variable and the presence of a virtual or conda environment. These different scenarios are explained in more detail in the previous section.\n",
104
  "```\n",
105
  "# with env, correct PATH\n",
106
+ "pip install git+https://github.com/theochem/Selector.git\n",
107
  "# with env, broken PATH\n",
108
+ "python -m pip install git+https://github.com/theochem/Selector.git\n",
109
  "# without env, correct PATH\n",
110
+ "pip install git+https://github.com/theochem/Selector.git --user\n",
111
  "# without env, broken PATH\n",
112
+ "python -m pip install git+https://github.com/theochem/Selector.git --user\n",
113
  "```\n",
114
  "\n",
115
  "2. **Slow and Smart.** In addition to the four variations in the quick and dirty method, the slow and smart can be used with `pip` or just with `setup.py`. You also have the options to use SSH or HTTPS protocols to clone the git repository. Pick whichever works best for you.\n",
 
117
  "# A) Clone git repo with https OR ssh:\n",
118
  "# The second one only works if you have ssh set up for Github\n",
119
  "# A1) https\n",
120
+ "git clone https://github.com/theochem/Selector.git\n",
121
  "# A2) ssh\n",
122
+ "git clone [email protected]:theochem/Selector.git\n",
123
  "# B) Optionally write the version string\n",
124
  "pip install roberto # or any of the three other ways of running pip, see above.\n",
125
  "rob write-version\n",
 
148
  "# Install pytest in your conda env.\n",
149
  "conda install pytest pytest-xdist\n",
150
  "# Then run the tests.\n",
151
+ "pytest --pyargs selector -n auto\n",
152
  "```\n",
153
  "\n",
154
  "With Pip:\n",
 
157
  "pip install pytest pytest-xdist\n",
158
  "# .. and refresh the virtual environment.\n",
159
  "# This is a venv quirk. Without it, pytest may not find IOData.\n",
160
+ "deactivate && source ~/selector/activate\n",
161
  "\n",
162
  "# Alternatively, install pytest in your home directory.\n",
163
  "pip install pytest pytest-xdist --user\n",
164
  "\n",
165
  "# Finally, run the tests.\n",
166
+ "pytest --pyargs selector -n auto\n",
167
  "```"
168
  ]
169
  }
 
189
  },
190
  "nbformat": 4,
191
  "nbformat_minor": 5
192
+ }
book/content/_build/jupyter_execute/installation.py CHANGED
@@ -1,44 +1,43 @@
1
  #!/usr/bin/env python
2
- # coding: utf-8
3
 
4
  # # Installation
5
- #
6
  # ## Stable releases
7
- #
8
  # <div class="alert alert-block alert-warning">
9
  # <b>Warning:
10
  # </b>
11
- #
12
  # We are preparing a 1.0 release. Until then, these instructions for installing a stable release will not work yet. If you enjoy living on the edge, try the development release as explained in the “Latest git revision” section below.
13
  # </div>
14
- #
15
- # The following dependencies are required to run DiverseSelector properly,
16
- #
17
- # * Python >= 3.6: http://www.python.org/
18
  # * NumPy >= 1.21.5: http://www.numpy.org/
19
  # * SciPy >= 1.5.0: http://www.scipy.org/
20
  # * PyTest >= 5.3.4: https://docs.pytest.org/
21
  # * PyTest-Cov >= 2.8.0: https://pypi.org/project/pytest-cov
22
- #
23
  # Normally, you don’t need to install these dependencies manually. They will be installed automatically when you follow the instructions below.
24
- #
25
- #
26
  # ## Installation with Ana- or Miniconda:
27
- #
28
- # 1. To install DiverseSelector using the conda package management system, install [miniconda](https://conda.io/miniconda.html) or [anaconda](https://www.anaconda.com/download) first, and then:
29
- #
30
  # ```
31
  # # Activate your main conda environment if it is not loaded in your .bashrc.
32
  # # E.g. run the following if you have miniconda installed in e.g. ~/miniconda3
33
  # source ~/miniconda3/bin/activate
34
- #
35
  # # Create a horton3 conda environment. (optional, recommended)
36
  # conda create -n horton3
37
  # source activate horton3
38
- #
39
  # # Install the stable release.
40
  # conda install -c theochem qc-selector
41
- #
42
  # # Unstable releases
43
  # # (Only do this if you understand the implications.)
44
  # # Install the testing release. (beta)
@@ -46,76 +45,76 @@
46
  # # Install the development release. (alpha)
47
  # conda install -c theochem/label/dev qc-selector
48
  # ```
49
- #
50
  # ## Installation with Pip
51
- #
52
  # 1. You can work in a [virtual environment](https://docs.python.org/3/tutorial/venv.html):
53
- #
54
  # ```
55
  # # Create a virtual environment in ~/horton3
56
  # # Feel free to change the path.
57
  # python3 -m venv ~/horton3
58
- #
59
  # # Activate the virtual environemnt.
60
  # source ~/horton3/bin/activate
61
- #
62
  # # Install the stable release in the venv horton3.
63
  # pip3 install qc-selector
64
  # # alternative: python3 -m pip install qc-selector
65
- #
66
  # # For developers, install a pre-release (alpha or beta).
67
  # # (Only do this if you understand the implications.)
68
  # pip3 install --pre qc-selector
69
  # # alternative: python3 -m pip install --pre qc-selector
70
  # ```
71
- #
72
- #
73
  # 2. You can install into your `{$HOME}` directory without creating a virtual environment
74
- #
75
  # ```
76
  # # Install the stable release in your home directory.
77
  # pip3 install qc-selector --user
78
  # # alternative: python3 -m pip install qc-selector --user
79
- #
80
  # # For developers, install a pre-release (alpha or beta).
81
  # # (Only do this if you understand the implications.)
82
  # pip3 install --pre qc-selector --user
83
  # # alternative: python3 -m pip install --pre qc-selector --user
84
  # ```
85
- #
86
  # This is by far the simplest method, ideal to get started, but you have only one home directory. If the installation breaks due to some experimentation, it is harder to make a clean start in comparison to the other options.
87
- #
88
  # In case the `pip3` executable is not found, pip may be installed in a directory which is not included in your `${PATH}` variable. This seems to be a common issue on macOS. A simple workaround is to replace `pip3` by `python3 -m pip`.
89
- #
90
- # In case Python and your operating system are up to date, you may also use `pip` instead of `pip3` or `python` instead of `python3`. The `3` is only used to avoid potential confusion with Python 2. Note that the `3` is only present in names of executables, not names of
91
  # Python modules.
92
- #
93
  # ## Latest git revision
94
- #
95
- # This section shows how one can install the latest revision of DiverseSelector from the git repository. This kind of installation comes with some risks (sudden API changes, bugs, …) and so be prepared to accept them when using the following installation instructions.
96
- #
97
  # There are two installation methods:
98
- #
99
  # 1. **Quick and dirty.** Of this method, there are four variants, depending on the correctness of your `PATH` variable and the presence of a virtual or conda environment. These different scenarios are explained in more detail in the previous section.
100
  # ```
101
  # # with env, correct PATH
102
- # pip install git+https://github.com/theochem/DiverseSelector.git
103
  # # with env, broken PATH
104
- # python -m pip install git+https://github.com/theochem/DiverseSelector.git
105
  # # without env, correct PATH
106
- # pip install git+https://github.com/theochem/DiverseSelector.git --user
107
  # # without env, broken PATH
108
- # python -m pip install git+https://github.com/theochem/DiverseSelector.git --user
109
  # ```
110
- #
111
  # 2. **Slow and Smart.** In addition to the four variations in the quick and dirty method, the slow and smart can be used with `pip` or just with `setup.py`. You also have the options to use SSH or HTTPS protocols to clone the git repository. Pick whichever works best for you.
112
  # ```
113
  # # A) Clone git repo with https OR ssh:
114
  # # The second one only works if you have ssh set up for Github
115
  # # A1) https
116
- # git clone https://github.com/theochem/DiverseSelector.git
117
  # # A2) ssh
118
- # git clone [email protected]:theochem/DiverseSelector.git
119
  # # B) Optionally write the version string
120
  # pip install roberto # or any of the three other ways of running pip, see above.
121
  # rob write-version
@@ -133,31 +132,31 @@
133
  # # C6) pip, without env, broken PATH
134
  # python -m pip install . --user
135
  # ```
136
- #
137
- #
138
  # ## Testing
139
- #
140
  # The tests are automatically run when we build packages with conda, but you may try them again on your own machine after installation.
141
- #
142
  # With Ana- or Miniconda:
143
  # ```
144
  # # Install pytest in your conda env.
145
  # conda install pytest pytest-xdist
146
  # # Then run the tests.
147
- # pytest --pyargs diverseselector -n auto
148
  # ```
149
- #
150
  # With Pip:
151
  # ```
152
  # # Install pytest in your conda env ...
153
  # pip install pytest pytest-xdist
154
  # # .. and refresh the virtual environment.
155
  # # This is a venv quirk. Without it, pytest may not find IOData.
156
- # deactivate && source ~/diverseselector/activate
157
- #
158
  # # Alternatively, install pytest in your home directory.
159
  # pip install pytest pytest-xdist --user
160
- #
161
  # # Finally, run the tests.
162
- # pytest --pyargs diverseselector -n auto
163
  # ```
 
1
  #!/usr/bin/env python
 
2
 
3
  # # Installation
4
+ #
5
  # ## Stable releases
6
+ #
7
  # <div class="alert alert-block alert-warning">
8
  # <b>Warning:
9
  # </b>
10
+ #
11
  # We are preparing a 1.0 release. Until then, these instructions for installing a stable release will not work yet. If you enjoy living on the edge, try the development release as explained in the “Latest git revision” section below.
12
  # </div>
13
+ #
14
+ # The following dependencies are required to run selector properly,
15
+ #
16
+ # * Python >= 3.6: http://www.python.org/
17
  # * NumPy >= 1.21.5: http://www.numpy.org/
18
  # * SciPy >= 1.5.0: http://www.scipy.org/
19
  # * PyTest >= 5.3.4: https://docs.pytest.org/
20
  # * PyTest-Cov >= 2.8.0: https://pypi.org/project/pytest-cov
21
+ #
22
  # Normally, you don’t need to install these dependencies manually. They will be installed automatically when you follow the instructions below.
23
+ #
24
+ #
25
  # ## Installation with Ana- or Miniconda:
26
+ #
27
+ # 1. To install selector using the conda package management system, install [miniconda](https://conda.io/miniconda.html) or [anaconda](https://www.anaconda.com/download) first, and then:
28
+ #
29
  # ```
30
  # # Activate your main conda environment if it is not loaded in your .bashrc.
31
  # # E.g. run the following if you have miniconda installed in e.g. ~/miniconda3
32
  # source ~/miniconda3/bin/activate
33
+ #
34
  # # Create a horton3 conda environment. (optional, recommended)
35
  # conda create -n horton3
36
  # source activate horton3
37
+ #
38
  # # Install the stable release.
39
  # conda install -c theochem qc-selector
40
+ #
41
  # # Unstable releases
42
  # # (Only do this if you understand the implications.)
43
  # # Install the testing release. (beta)
 
45
  # # Install the development release. (alpha)
46
  # conda install -c theochem/label/dev qc-selector
47
  # ```
48
+ #
49
  # ## Installation with Pip
50
+ #
51
  # 1. You can work in a [virtual environment](https://docs.python.org/3/tutorial/venv.html):
52
+ #
53
  # ```
54
  # # Create a virtual environment in ~/horton3
55
  # # Feel free to change the path.
56
  # python3 -m venv ~/horton3
57
+ #
58
  # # Activate the virtual environemnt.
59
  # source ~/horton3/bin/activate
60
+ #
61
  # # Install the stable release in the venv horton3.
62
  # pip3 install qc-selector
63
  # # alternative: python3 -m pip install qc-selector
64
+ #
65
  # # For developers, install a pre-release (alpha or beta).
66
  # # (Only do this if you understand the implications.)
67
  # pip3 install --pre qc-selector
68
  # # alternative: python3 -m pip install --pre qc-selector
69
  # ```
70
+ #
71
+ #
72
  # 2. You can install into your `{$HOME}` directory without creating a virtual environment
73
+ #
74
  # ```
75
  # # Install the stable release in your home directory.
76
  # pip3 install qc-selector --user
77
  # # alternative: python3 -m pip install qc-selector --user
78
+ #
79
  # # For developers, install a pre-release (alpha or beta).
80
  # # (Only do this if you understand the implications.)
81
  # pip3 install --pre qc-selector --user
82
  # # alternative: python3 -m pip install --pre qc-selector --user
83
  # ```
84
+ #
85
  # This is by far the simplest method, ideal to get started, but you have only one home directory. If the installation breaks due to some experimentation, it is harder to make a clean start in comparison to the other options.
86
+ #
87
  # In case the `pip3` executable is not found, pip may be installed in a directory which is not included in your `${PATH}` variable. This seems to be a common issue on macOS. A simple workaround is to replace `pip3` by `python3 -m pip`.
88
+ #
89
+ # In case Python and your operating system are up to date, you may also use `pip` instead of `pip3` or `python` instead of `python3`. The `3` is only used to avoid potential confusion with Python 2. Note that the `3` is only present in names of executables, not names of
90
  # Python modules.
91
+ #
92
  # ## Latest git revision
93
+ #
94
+ # This section shows how one can install the latest revision of selector from the git repository. This kind of installation comes with some risks (sudden API changes, bugs, …) and so be prepared to accept them when using the following installation instructions.
95
+ #
96
  # There are two installation methods:
97
+ #
98
  # 1. **Quick and dirty.** Of this method, there are four variants, depending on the correctness of your `PATH` variable and the presence of a virtual or conda environment. These different scenarios are explained in more detail in the previous section.
99
  # ```
100
  # # with env, correct PATH
101
+ # pip install git+https://github.com/theochem/Selector.git
102
  # # with env, broken PATH
103
+ # python -m pip install git+https://github.com/theochem/Selector.git
104
  # # without env, correct PATH
105
+ # pip install git+https://github.com/theochem/Selector.git --user
106
  # # without env, broken PATH
107
+ # python -m pip install git+https://github.com/theochem/Selector.git --user
108
  # ```
109
+ #
110
  # 2. **Slow and Smart.** In addition to the four variations in the quick and dirty method, the slow and smart can be used with `pip` or just with `setup.py`. You also have the options to use SSH or HTTPS protocols to clone the git repository. Pick whichever works best for you.
111
  # ```
112
  # # A) Clone git repo with https OR ssh:
113
  # # The second one only works if you have ssh set up for Github
114
  # # A1) https
115
+ # git clone https://github.com/theochem/Selector.git
116
  # # A2) ssh
117
+ # git clone [email protected]:theochem/Selector.git
118
  # # B) Optionally write the version string
119
  # pip install roberto # or any of the three other ways of running pip, see above.
120
  # rob write-version
 
132
  # # C6) pip, without env, broken PATH
133
  # python -m pip install . --user
134
  # ```
135
+ #
136
+ #
137
  # ## Testing
138
+ #
139
  # The tests are automatically run when we build packages with conda, but you may try them again on your own machine after installation.
140
+ #
141
  # With Ana- or Miniconda:
142
  # ```
143
  # # Install pytest in your conda env.
144
  # conda install pytest pytest-xdist
145
  # # Then run the tests.
146
+ # pytest --pyargs selector -n auto
147
  # ```
148
+ #
149
  # With Pip:
150
  # ```
151
  # # Install pytest in your conda env ...
152
  # pip install pytest pytest-xdist
153
  # # .. and refresh the virtual environment.
154
  # # This is a venv quirk. Without it, pytest may not find IOData.
155
+ # deactivate && source ~/selector/activate
156
+ #
157
  # # Alternatively, install pytest in your home directory.
158
  # pip install pytest pytest-xdist --user
159
+ #
160
  # # Finally, run the tests.
161
+ # pytest --pyargs selector -n auto
162
  # ```
book/content/_build/jupyter_execute/starting.ipynb CHANGED
@@ -32,8 +32,8 @@
32
  "metadata": {},
33
  "outputs": [],
34
  "source": [
35
- "# install the DiverseSelector module\n",
36
- "!pip install git+https://github.com/theochem/DiverseSelector\n",
37
  "!pip install rdkit"
38
  ]
39
  },
@@ -44,7 +44,7 @@
44
  "metadata": {},
45
  "outputs": [],
46
  "source": [
47
- "import DiverseSelector\n",
48
  "import matplotlib.pyplot as plt\n",
49
  "import numpy as np\n",
50
  "from typing import Any, Tuple, Union\n",
@@ -170,7 +170,7 @@
170
  },
171
  "metadata": {
172
  "filenames": {
173
- "image/png": "/Users/valeriichuiko/Desktop/projects/DiverseSelector/book/content/_build/jupyter_execute/starting_6_0.png"
174
  },
175
  "needs_background": "light"
176
  },
@@ -185,7 +185,7 @@
185
  },
186
  "metadata": {
187
  "filenames": {
188
- "image/png": "/Users/valeriichuiko/Desktop/projects/DiverseSelector/book/content/_build/jupyter_execute/starting_6_1.png"
189
  },
190
  "needs_background": "light"
191
  },
@@ -221,8 +221,8 @@
221
  "outputs": [],
222
  "source": [
223
  "# MaxMin method\n",
224
- "from DiverseSelector.methods.partition import *\n",
225
- "from DiverseSelector.methods.dissimilarity import *\n",
226
  "\n",
227
  "# diverse subset selection from randomly generated data points\n",
228
  "selector = MaxMin()\n",
@@ -248,7 +248,7 @@
248
  },
249
  "metadata": {
250
  "filenames": {
251
- "image/png": "/Users/valeriichuiko/Desktop/projects/DiverseSelector/book/content/_build/jupyter_execute/starting_10_0.png"
252
  },
253
  "needs_background": "light"
254
  },
@@ -263,7 +263,7 @@
263
  },
264
  "metadata": {
265
  "filenames": {
266
- "image/png": "/Users/valeriichuiko/Desktop/projects/DiverseSelector/book/content/_build/jupyter_execute/starting_10_1.png"
267
  },
268
  "needs_background": "light"
269
  },
@@ -302,7 +302,7 @@
302
  },
303
  "metadata": {
304
  "filenames": {
305
- "image/png": "/Users/valeriichuiko/Desktop/projects/DiverseSelector/book/content/_build/jupyter_execute/starting_12_0.png"
306
  },
307
  "needs_background": "light"
308
  },
@@ -317,7 +317,7 @@
317
  },
318
  "metadata": {
319
  "filenames": {
320
- "image/png": "/Users/valeriichuiko/Desktop/projects/DiverseSelector/book/content/_build/jupyter_execute/starting_12_1.png"
321
  },
322
  "needs_background": "light"
323
  },
@@ -361,7 +361,7 @@
361
  },
362
  "metadata": {
363
  "filenames": {
364
- "image/png": "/Users/valeriichuiko/Desktop/projects/DiverseSelector/book/content/_build/jupyter_execute/starting_14_0.png"
365
  },
366
  "needs_background": "light"
367
  },
@@ -376,7 +376,7 @@
376
  },
377
  "metadata": {
378
  "filenames": {
379
- "image/png": "/Users/valeriichuiko/Desktop/projects/DiverseSelector/book/content/_build/jupyter_execute/starting_14_1.png"
380
  },
381
  "needs_background": "light"
382
  },
@@ -420,7 +420,7 @@
420
  },
421
  "metadata": {
422
  "filenames": {
423
- "image/png": "/Users/valeriichuiko/Desktop/projects/DiverseSelector/book/content/_build/jupyter_execute/starting_16_0.png"
424
  },
425
  "needs_background": "light"
426
  },
@@ -435,7 +435,7 @@
435
  },
436
  "metadata": {
437
  "filenames": {
438
- "image/png": "/Users/valeriichuiko/Desktop/projects/DiverseSelector/book/content/_build/jupyter_execute/starting_16_1.png"
439
  },
440
  "needs_background": "light"
441
  },
@@ -486,7 +486,7 @@
486
  },
487
  "metadata": {
488
  "filenames": {
489
- "image/png": "/Users/valeriichuiko/Desktop/projects/DiverseSelector/book/content/_build/jupyter_execute/starting_18_0.png"
490
  },
491
  "needs_background": "light"
492
  },
@@ -518,7 +518,7 @@
518
  },
519
  "metadata": {
520
  "filenames": {
521
- "image/png": "/Users/valeriichuiko/Desktop/projects/DiverseSelector/book/content/_build/jupyter_execute/starting_19_0.png"
522
  },
523
  "needs_background": "light"
524
  },
@@ -593,7 +593,7 @@
593
  },
594
  "metadata": {
595
  "filenames": {
596
- "image/png": "/Users/valeriichuiko/Desktop/projects/DiverseSelector/book/content/_build/jupyter_execute/starting_22_0.png"
597
  },
598
  "needs_background": "light"
599
  },
@@ -643,7 +643,7 @@
643
  },
644
  "metadata": {
645
  "filenames": {
646
- "image/png": "/Users/valeriichuiko/Desktop/projects/DiverseSelector/book/content/_build/jupyter_execute/starting_25_0.png"
647
  },
648
  "needs_background": "light"
649
  },
@@ -693,7 +693,7 @@
693
  },
694
  "metadata": {
695
  "filenames": {
696
- "image/png": "/Users/valeriichuiko/Desktop/projects/DiverseSelector/book/content/_build/jupyter_execute/starting_28_0.png"
697
  },
698
  "needs_background": "light"
699
  },
@@ -742,7 +742,7 @@
742
  },
743
  "metadata": {
744
  "filenames": {
745
- "image/png": "/Users/valeriichuiko/Desktop/projects/DiverseSelector/book/content/_build/jupyter_execute/starting_31_0.png"
746
  },
747
  "needs_background": "light"
748
  },
@@ -791,7 +791,7 @@
791
  },
792
  "metadata": {
793
  "filenames": {
794
- "image/png": "/Users/valeriichuiko/Desktop/projects/DiverseSelector/book/content/_build/jupyter_execute/starting_34_0.png"
795
  },
796
  "needs_background": "light"
797
  },
@@ -824,4 +824,4 @@
824
  },
825
  "nbformat": 4,
826
  "nbformat_minor": 5
827
- }
 
32
  "metadata": {},
33
  "outputs": [],
34
  "source": [
35
+ "# install the selector module\n",
36
+ "!pip install git+https://github.com/theochem/Selector\n",
37
  "!pip install rdkit"
38
  ]
39
  },
 
44
  "metadata": {},
45
  "outputs": [],
46
  "source": [
47
+ "import selector\n",
48
  "import matplotlib.pyplot as plt\n",
49
  "import numpy as np\n",
50
  "from typing import Any, Tuple, Union\n",
 
170
  },
171
  "metadata": {
172
  "filenames": {
173
+ "image/png": "/Users/valeriichuiko/Desktop/projects/selector/book/content/_build/jupyter_execute/starting_6_0.png"
174
  },
175
  "needs_background": "light"
176
  },
 
185
  },
186
  "metadata": {
187
  "filenames": {
188
+ "image/png": "/Users/valeriichuiko/Desktop/projects/selector/book/content/_build/jupyter_execute/starting_6_1.png"
189
  },
190
  "needs_background": "light"
191
  },
 
221
  "outputs": [],
222
  "source": [
223
  "# MaxMin method\n",
224
+ "from selector.methods.partition import *\n",
225
+ "from selector.methods.dissimilarity import *\n",
226
  "\n",
227
  "# diverse subset selection from randomly generated data points\n",
228
  "selector = MaxMin()\n",
 
248
  },
249
  "metadata": {
250
  "filenames": {
251
+ "image/png": "/Users/valeriichuiko/Desktop/projects/selector/book/content/_build/jupyter_execute/starting_10_0.png"
252
  },
253
  "needs_background": "light"
254
  },
 
263
  },
264
  "metadata": {
265
  "filenames": {
266
+ "image/png": "/Users/valeriichuiko/Desktop/projects/selector/book/content/_build/jupyter_execute/starting_10_1.png"
267
  },
268
  "needs_background": "light"
269
  },
 
302
  },
303
  "metadata": {
304
  "filenames": {
305
+ "image/png": "/Users/valeriichuiko/Desktop/projects/selector/book/content/_build/jupyter_execute/starting_12_0.png"
306
  },
307
  "needs_background": "light"
308
  },
 
317
  },
318
  "metadata": {
319
  "filenames": {
320
+ "image/png": "/Users/valeriichuiko/Desktop/projects/selector/book/content/_build/jupyter_execute/starting_12_1.png"
321
  },
322
  "needs_background": "light"
323
  },
 
361
  },
362
  "metadata": {
363
  "filenames": {
364
+ "image/png": "/Users/valeriichuiko/Desktop/projects/selector/book/content/_build/jupyter_execute/starting_14_0.png"
365
  },
366
  "needs_background": "light"
367
  },
 
376
  },
377
  "metadata": {
378
  "filenames": {
379
+ "image/png": "/Users/valeriichuiko/Desktop/projects/selector/book/content/_build/jupyter_execute/starting_14_1.png"
380
  },
381
  "needs_background": "light"
382
  },
 
420
  },
421
  "metadata": {
422
  "filenames": {
423
+ "image/png": "/Users/valeriichuiko/Desktop/projects/selector/book/content/_build/jupyter_execute/starting_16_0.png"
424
  },
425
  "needs_background": "light"
426
  },
 
435
  },
436
  "metadata": {
437
  "filenames": {
438
+ "image/png": "/Users/valeriichuiko/Desktop/projects/selector/book/content/_build/jupyter_execute/starting_16_1.png"
439
  },
440
  "needs_background": "light"
441
  },
 
486
  },
487
  "metadata": {
488
  "filenames": {
489
+ "image/png": "/Users/valeriichuiko/Desktop/projects/selector/book/content/_build/jupyter_execute/starting_18_0.png"
490
  },
491
  "needs_background": "light"
492
  },
 
518
  },
519
  "metadata": {
520
  "filenames": {
521
+ "image/png": "/Users/valeriichuiko/Desktop/projects/selector/book/content/_build/jupyter_execute/starting_19_0.png"
522
  },
523
  "needs_background": "light"
524
  },
 
593
  },
594
  "metadata": {
595
  "filenames": {
596
+ "image/png": "/Users/valeriichuiko/Desktop/projects/selector/book/content/_build/jupyter_execute/starting_22_0.png"
597
  },
598
  "needs_background": "light"
599
  },
 
643
  },
644
  "metadata": {
645
  "filenames": {
646
+ "image/png": "/Users/valeriichuiko/Desktop/projects/selector/book/content/_build/jupyter_execute/starting_25_0.png"
647
  },
648
  "needs_background": "light"
649
  },
 
693
  },
694
  "metadata": {
695
  "filenames": {
696
+ "image/png": "/Users/valeriichuiko/Desktop/projects/selector/book/content/_build/jupyter_execute/starting_28_0.png"
697
  },
698
  "needs_background": "light"
699
  },
 
742
  },
743
  "metadata": {
744
  "filenames": {
745
+ "image/png": "/Users/valeriichuiko/Desktop/projects/selector/book/content/_build/jupyter_execute/starting_31_0.png"
746
  },
747
  "needs_background": "light"
748
  },
 
791
  },
792
  "metadata": {
793
  "filenames": {
794
+ "image/png": "/Users/valeriichuiko/Desktop/projects/selector/book/content/_build/jupyter_execute/starting_34_0.png"
795
  },
796
  "needs_background": "light"
797
  },
 
824
  },
825
  "nbformat": 4,
826
  "nbformat_minor": 5
827
+ }
book/content/_build/jupyter_execute/starting.py CHANGED
@@ -1,5 +1,4 @@
1
  #!/usr/bin/env python
2
- # coding: utf-8
3
 
4
  # # Getting started
5
  # ## Demo - Dissimilarity Based Selection Synthetic Data
@@ -11,33 +10,35 @@
11
  # In[ ]:
12
 
13
 
14
- # install the DiverseSelector module
15
- get_ipython().system('pip install git+https://github.com/theochem/DiverseSelector')
16
- get_ipython().system('pip install rdkit')
 
 
 
 
 
 
 
 
 
17
 
18
 
19
  # In[1]:
20
 
21
 
22
- import DiverseSelector
23
- import matplotlib.pyplot as plt
24
- import numpy as np
25
- from typing import Any, Tuple, Union
26
- from sklearn.datasets import make_blobs
27
- from sklearn.metrics import pairwise_distances
28
-
29
- def generate_synthetic_data(n_samples: int = 100,
30
- n_features: int = 2,
31
- n_clusters: int = 2,
32
- cluster_std: float = 1.0,
33
- center_box: Tuple[float, float] = (-10.0, 10.0),
34
- metric: str = "euclidean",
35
- shuffle: bool = True,
36
- random_state: int = 42,
37
- pairwise_dist: bool = False,
38
- **kwargs: Any,
39
- ) -> Union[Tuple[np.ndarray, np.ndarray],
40
- Tuple[np.ndarray, np.ndarray, np.ndarray]]:
41
  """Generate synthetic data.
42
 
43
  Parameters
@@ -78,21 +79,23 @@ def generate_synthetic_data(n_samples: int = 100,
78
 
79
  """
80
  # pylint: disable=W0632
81
- syn_data, class_labels = make_blobs(n_samples=n_samples,
82
- n_features=n_features,
83
- centers=n_clusters,
84
- cluster_std=cluster_std,
85
- center_box=center_box,
86
- shuffle=shuffle,
87
- random_state=random_state,
88
- return_centers=False,
89
- )
 
90
  if pairwise_dist:
91
- dist = pairwise_distances(X=syn_data,
92
- Y=None,
93
- metric=metric,
94
- **kwargs,
95
- )
 
96
  return syn_data, class_labels, dist
97
  else:
98
  return syn_data, class_labels
@@ -101,28 +104,34 @@ def generate_synthetic_data(n_samples: int = 100,
101
  # In[2]:
102
 
103
 
104
- coords, class_labels, arr_dist = generate_synthetic_data(n_samples=100,
105
- n_features=2,
106
- n_clusters=1,
107
- pairwise_dist=True,
108
- metric="euclidean",
109
- random_state=42)
 
 
 
 
 
 
 
 
 
 
 
 
110
 
111
- coords_cluster, class_labels_cluster, arr_dist_cluster = generate_synthetic_data(n_samples=100,
112
- n_features=2,
113
- n_clusters=3,
114
- pairwise_dist=True,
115
- metric="euclidean",
116
- random_state=42)
117
  def graph_data(coords, selected=None, reference=False):
118
  plt.figure(dpi=150)
119
  plt.scatter(coords[:, 0], coords[:, 1])
120
  if selected:
121
  for i, mol_id in enumerate(selected):
122
- plt.scatter(coords[mol_id, 0], coords[mol_id, 1], c='r')
123
- plt.text(coords[mol_id,0], coords[mol_id,1], str(i+1))
124
  if reference:
125
- plt.scatter(coords[0, 0], coords[0, 1], c='black')
126
  plt.show()
127
 
128
 
@@ -141,8 +150,6 @@ graph_data(coords_cluster)
141
 
142
 
143
  # MaxMin method
144
- from DiverseSelector.methods.partition import *
145
- from DiverseSelector.methods.dissimilarity import *
146
 
147
  # diverse subset selection from randomly generated data points
148
  selector = MaxMin()
@@ -156,8 +163,8 @@ selected_ids2 = selector.select(arr=arr_dist_cluster, labels=class_labels_cluste
156
  # In[9]:
157
 
158
 
159
- graph_data(coords,selected_ids1)
160
- graph_data(coords_cluster,selected_ids2)
161
 
162
 
163
  # ### Adapted Optimizable K-Dissimilarity Selection (OptiSim)
@@ -170,8 +177,8 @@ selected_id3 = OptiSim().select(coords, 12)
170
  # diverse subset selection from data points with obvious patterns (different clusters)
171
  selected_id4 = OptiSim().select(coords_cluster, size=12, labels=class_labels_cluster)
172
 
173
- graph_data(coords,selected_id3)
174
- graph_data(coords_cluster,selected_id4)
175
 
176
 
177
  # ### Directed Sphere Exclusion
@@ -182,10 +189,12 @@ graph_data(coords_cluster,selected_id4)
182
  # diverse subset selection from randomly generated data points
183
  selected_id5 = DirectedSphereExclusion().select(coords, 12)
184
  # diverse subset selection from data points with obvious patterns (different clusters)
185
- selected_id6 = DirectedSphereExclusion().select(coords_cluster, size=12, labels=class_labels_cluster)
 
 
186
 
187
- graph_data(coords,selected_id5)
188
- graph_data(coords_cluster,selected_id6)
189
 
190
 
191
  # ### Grid Partitioning Method
@@ -196,12 +205,12 @@ graph_data(coords_cluster,selected_id6)
196
  # diverse subset selection from randomly generated data points
197
  selected_id7 = GridPartitioning(2, "equisized_independent").select(coords, 12)
198
  # diverse subset selection from data points with obvious patterns (different clusters)
199
- selected_id8 = GridPartitioning(2, "equisized_independent").select(coords_cluster,
200
- size=12,
201
- labels=class_labels_cluster)
202
 
203
- graph_data(coords,selected_id7)
204
- graph_data(coords_cluster,selected_id8)
205
  # 20, 5, 3, "equisized_independent"
206
 
207
 
@@ -218,18 +227,14 @@ graph_data(coords_cluster, selected_ids)
218
  # In[12]:
219
 
220
 
221
- import numpy as np
222
- from sklearn.metrics import pairwise_distances
223
  np.random.seed(42)
224
- cluster_one = np.random.normal(0, 1, (3,2))
225
- cluster_two = np.random.normal(10, 1, (6,2))
226
- cluster_three = np.random.normal(20, 1, (7,2))
227
- labels_mocked = np.hstack([[0 for i in range(3)],
228
- [1 for i in range(6)],
229
- [2 for i in range(7)]])
230
 
231
  mocked_cluster_coords = np.vstack([cluster_one, cluster_two, cluster_three])
232
- selector = MaxMin(lambda x: pairwise_distances(x, metric='euclidean'))
233
  selected_mocked = selector.select(mocked_cluster_coords, size=15, labels=labels_mocked)
234
 
235
  graph_data(mocked_cluster_coords, selected_mocked)
@@ -242,10 +247,9 @@ selected_mocked
242
  # In[6]:
243
 
244
 
245
- selector = DissimilaritySelection(num_selected=12,
246
- arr_dist=arr_dist,
247
- random_seed=42,
248
- method="maxsum")
249
  selector.starting_idx = 0
250
  selected_ids2 = selector.select()
251
 
@@ -261,11 +265,13 @@ graph_data(selected_ids2)
261
  # In[8]:
262
 
263
 
264
- selector = DissimilaritySelection(features=coords,
265
- num_selected=12,
266
- arr_dist=arr_dist,
267
- grid_method="grid_partioning",
268
- random_seed=42)
 
 
269
  selector.starting_idx = 0
270
  selected_ids3 = selector.select()
271
 
@@ -281,11 +287,13 @@ graph_data(selected_ids3)
281
  # In[10]:
282
 
283
 
284
- selector = DissimilaritySelection(num_selected=12,
285
- features = coords,
286
- random_seed=42,
287
- dissim_func="grid_partitioning",
288
- grid_method="equisized_dependent")
 
 
289
  selector.starting_idx = 0
290
  selected_ids4 = selector.select()
291
 
@@ -301,10 +309,9 @@ graph_data(selected_ids4)
301
  # In[12]:
302
 
303
 
304
- selector = DissimilaritySelection(num_selected=12,
305
- features=coords,
306
- dissim_func="sphere_exclusion",
307
- random_seed=42)
308
  selector.starting_idx = 0
309
  selected_ids5 = selector.select()
310
 
@@ -320,10 +327,9 @@ graph_data(selected_ids5, True)
320
  # In[14]:
321
 
322
 
323
- selector = DissimilaritySelection(num_selected=12,
324
- features=coords,
325
- dissim_func="optisim",
326
- random_seed=42)
327
  selector.starting_idx = 0
328
  selected_ids6 = selector.select()
329
 
@@ -332,4 +338,3 @@ selected_ids6 = selector.select()
332
 
333
 
334
  graph_data(selected_ids6)
335
-
 
1
  #!/usr/bin/env python
 
2
 
3
  # # Getting started
4
  # ## Demo - Dissimilarity Based Selection Synthetic Data
 
10
  # In[ ]:
11
 
12
 
13
+ # install the selector module
14
+ from selector.methods.dissimilarity import *
15
+ from selector.methods.partition import *
16
+ from sklearn.metrics import pairwise_distances
17
+ from sklearn.datasets import make_blobs
18
+ from typing import Any, Tuple, Union
19
+ import numpy as np
20
+ import matplotlib.pyplot as plt
21
+ import selector
22
+
23
+ get_ipython().system("pip install git+https://github.com/theochem/Selector")
24
+ get_ipython().system("pip install rdkit")
25
 
26
 
27
  # In[1]:
28
 
29
 
30
+ def generate_synthetic_data(
31
+ n_samples: int = 100,
32
+ n_features: int = 2,
33
+ n_clusters: int = 2,
34
+ cluster_std: float = 1.0,
35
+ center_box: Tuple[float, float] = (-10.0, 10.0),
36
+ metric: str = "euclidean",
37
+ shuffle: bool = True,
38
+ random_state: int = 42,
39
+ pairwise_dist: bool = False,
40
+ **kwargs: Any,
41
+ ) -> Union[Tuple[np.ndarray, np.ndarray], Tuple[np.ndarray, np.ndarray, np.ndarray]]:
 
 
 
 
 
 
 
42
  """Generate synthetic data.
43
 
44
  Parameters
 
79
 
80
  """
81
  # pylint: disable=W0632
82
+ syn_data, class_labels = make_blobs(
83
+ n_samples=n_samples,
84
+ n_features=n_features,
85
+ centers=n_clusters,
86
+ cluster_std=cluster_std,
87
+ center_box=center_box,
88
+ shuffle=shuffle,
89
+ random_state=random_state,
90
+ return_centers=False,
91
+ )
92
  if pairwise_dist:
93
+ dist = pairwise_distances(
94
+ X=syn_data,
95
+ Y=None,
96
+ metric=metric,
97
+ **kwargs,
98
+ )
99
  return syn_data, class_labels, dist
100
  else:
101
  return syn_data, class_labels
 
104
  # In[2]:
105
 
106
 
107
+ coords, class_labels, arr_dist = generate_synthetic_data(
108
+ n_samples=100,
109
+ n_features=2,
110
+ n_clusters=1,
111
+ pairwise_dist=True,
112
+ metric="euclidean",
113
+ random_state=42,
114
+ )
115
+
116
+ coords_cluster, class_labels_cluster, arr_dist_cluster = generate_synthetic_data(
117
+ n_samples=100,
118
+ n_features=2,
119
+ n_clusters=3,
120
+ pairwise_dist=True,
121
+ metric="euclidean",
122
+ random_state=42,
123
+ )
124
+
125
 
 
 
 
 
 
 
126
  def graph_data(coords, selected=None, reference=False):
127
  plt.figure(dpi=150)
128
  plt.scatter(coords[:, 0], coords[:, 1])
129
  if selected:
130
  for i, mol_id in enumerate(selected):
131
+ plt.scatter(coords[mol_id, 0], coords[mol_id, 1], c="r")
132
+ plt.text(coords[mol_id, 0], coords[mol_id, 1], str(i + 1))
133
  if reference:
134
+ plt.scatter(coords[0, 0], coords[0, 1], c="black")
135
  plt.show()
136
 
137
 
 
150
 
151
 
152
  # MaxMin method
 
 
153
 
154
  # diverse subset selection from randomly generated data points
155
  selector = MaxMin()
 
163
  # In[9]:
164
 
165
 
166
+ graph_data(coords, selected_ids1)
167
+ graph_data(coords_cluster, selected_ids2)
168
 
169
 
170
  # ### Adapted Optimizable K-Dissimilarity Selection (OptiSim)
 
177
  # diverse subset selection from data points with obvious patterns (different clusters)
178
  selected_id4 = OptiSim().select(coords_cluster, size=12, labels=class_labels_cluster)
179
 
180
+ graph_data(coords, selected_id3)
181
+ graph_data(coords_cluster, selected_id4)
182
 
183
 
184
  # ### Directed Sphere Exclusion
 
189
  # diverse subset selection from randomly generated data points
190
  selected_id5 = DirectedSphereExclusion().select(coords, 12)
191
  # diverse subset selection from data points with obvious patterns (different clusters)
192
+ selected_id6 = DirectedSphereExclusion().select(
193
+ coords_cluster, size=12, labels=class_labels_cluster
194
+ )
195
 
196
+ graph_data(coords, selected_id5)
197
+ graph_data(coords_cluster, selected_id6)
198
 
199
 
200
  # ### Grid Partitioning Method
 
205
  # diverse subset selection from randomly generated data points
206
  selected_id7 = GridPartitioning(2, "equisized_independent").select(coords, 12)
207
  # diverse subset selection from data points with obvious patterns (different clusters)
208
+ selected_id8 = GridPartitioning(2, "equisized_independent").select(
209
+ coords_cluster, size=12, labels=class_labels_cluster
210
+ )
211
 
212
+ graph_data(coords, selected_id7)
213
+ graph_data(coords_cluster, selected_id8)
214
  # 20, 5, 3, "equisized_independent"
215
 
216
 
 
227
  # In[12]:
228
 
229
 
 
 
230
  np.random.seed(42)
231
+ cluster_one = np.random.normal(0, 1, (3, 2))
232
+ cluster_two = np.random.normal(10, 1, (6, 2))
233
+ cluster_three = np.random.normal(20, 1, (7, 2))
234
+ labels_mocked = np.hstack([[0 for i in range(3)], [1 for i in range(6)], [2 for i in range(7)]])
 
 
235
 
236
  mocked_cluster_coords = np.vstack([cluster_one, cluster_two, cluster_three])
237
+ selector = MaxMin(lambda x: pairwise_distances(x, metric="euclidean"))
238
  selected_mocked = selector.select(mocked_cluster_coords, size=15, labels=labels_mocked)
239
 
240
  graph_data(mocked_cluster_coords, selected_mocked)
 
247
  # In[6]:
248
 
249
 
250
+ selector = DissimilaritySelection(
251
+ num_selected=12, arr_dist=arr_dist, random_seed=42, method="maxsum"
252
+ )
 
253
  selector.starting_idx = 0
254
  selected_ids2 = selector.select()
255
 
 
265
  # In[8]:
266
 
267
 
268
+ selector = DissimilaritySelection(
269
+ features=coords,
270
+ num_selected=12,
271
+ arr_dist=arr_dist,
272
+ grid_method="grid_partioning",
273
+ random_seed=42,
274
+ )
275
  selector.starting_idx = 0
276
  selected_ids3 = selector.select()
277
 
 
287
  # In[10]:
288
 
289
 
290
+ selector = DissimilaritySelection(
291
+ num_selected=12,
292
+ features=coords,
293
+ random_seed=42,
294
+ dissim_func="grid_partitioning",
295
+ grid_method="equisized_dependent",
296
+ )
297
  selector.starting_idx = 0
298
  selected_ids4 = selector.select()
299
 
 
309
  # In[12]:
310
 
311
 
312
+ selector = DissimilaritySelection(
313
+ num_selected=12, features=coords, dissim_func="sphere_exclusion", random_seed=42
314
+ )
 
315
  selector.starting_idx = 0
316
  selected_ids5 = selector.select()
317
 
 
327
  # In[14]:
328
 
329
 
330
+ selector = DissimilaritySelection(
331
+ num_selected=12, features=coords, dissim_func="optisim", random_seed=42
332
+ )
 
333
  selector.starting_idx = 0
334
  selected_ids6 = selector.select()
335
 
 
338
 
339
 
340
  graph_data(selected_ids6)
 
book/content/_config.yml CHANGED
@@ -20,7 +20,7 @@ sphinx:
20
  - 'sphinx.ext.autodoc'
21
  config:
22
  mathjax_path: https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js
23
-
24
 
25
  #Read LaTeX
26
  parse:
@@ -46,7 +46,7 @@ bibtex_bibfiles:
46
 
47
  # Information about where the book exists on the web
48
  repository:
49
- url: https://github.com/theochem/DiverseSelector # Online location of your book
50
  path_to_book: book/content # Optional path to your book, relative to the repository root
51
  branch: main # Which branch of the repository should be used when creating links (optional)
52
 
@@ -55,11 +55,11 @@ repository:
55
  launch_buttons:
56
  thebe : true
57
  colab_url: "https://colab.research.google.com"
58
-
59
  copyright: "2022-2023"
60
-
61
  html:
62
  use_issues_button: true
63
  use_repository_button: true
64
  favicon: "selector_logo.png"
65
- use_multitoc_numbering: false
 
20
  - 'sphinx.ext.autodoc'
21
  config:
22
  mathjax_path: https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js
23
+
24
 
25
  #Read LaTeX
26
  parse:
 
46
 
47
  # Information about where the book exists on the web
48
  repository:
49
+ url: https://github.com/theochem/Selector # Online location of your book
50
  path_to_book: book/content # Optional path to your book, relative to the repository root
51
  branch: main # Which branch of the repository should be used when creating links (optional)
52
 
 
55
  launch_buttons:
56
  thebe : true
57
  colab_url: "https://colab.research.google.com"
58
+
59
  copyright: "2022-2023"
60
+
61
  html:
62
  use_issues_button: true
63
  use_repository_button: true
64
  favicon: "selector_logo.png"
65
+ use_multitoc_numbering: false
book/content/_toc.yml CHANGED
@@ -13,4 +13,4 @@ parts:
13
  - file: base.rst
14
  - file: dissimilarity.rst
15
  - file: partition.rst
16
- - file: utils.rst
 
13
  - file: base.rst
14
  - file: dissimilarity.rst
15
  - file: partition.rst
16
+ - file: utils.rst
book/content/base.rst CHANGED
@@ -1,4 +1,4 @@
1
  Base class
2
  =============
3
- .. automodule:: DiverseSelector.base
4
- :members:
 
1
  Base class
2
  =============
3
+ .. automodule:: selector.base
4
+ :members:
book/content/dissimilarity.rst CHANGED
@@ -1,4 +1,4 @@
1
  Dissimilarity based methods
2
  =============
3
- .. automodule:: DiverseSelector.dissimilarity
4
- :members:
 
1
  Dissimilarity based methods
2
  =============
3
+ .. automodule:: selector.dissimilarity
4
+ :members:
book/content/installation.ipynb CHANGED
@@ -16,7 +16,7 @@
16
  "We are preparing a 1.0 release. Until then, these instructions for installing a stable release will not work yet. If you enjoy living on the edge, try the development release as explained in the “Latest Git Revision” section below.\n",
17
  "</div>\n",
18
  "\n",
19
- "The following dependencies are required to run DiverseSelector properly,\n",
20
  "\n",
21
  "* Python >= 3.6: http://www.python.org/ \n",
22
  "* NumPy >= 1.21.5: http://www.numpy.org/\n",
@@ -29,7 +29,7 @@
29
  "\n",
30
  "## Installation with Anaconda or Miniconda:\n",
31
  "\n",
32
- "1. To install DiverseSelector using the conda package management system, install [miniconda](https://conda.io/miniconda.html) or [anaconda](https://www.anaconda.com/download) first, and then:\n",
33
  "\n",
34
  "```\n",
35
  "# Activate your main conda environment if it is not loaded in your .bashrc.\n",
@@ -98,20 +98,20 @@
98
  "\n",
99
  "## Latest git revision\n",
100
  "\n",
101
- "This section shows how one can install the latest revision of `DiverseSelector` from the git repository. This kind of installation comes with some risks (sudden API changes, bugs, …) and so be prepared to accept them when using the following installation instructions.\n",
102
  "\n",
103
  "There are two installation methods:\n",
104
  "\n",
105
  "1. **Quick and dirty.** Of this method, there are four variants, depending on the correctness of your `PATH` variable and the presence of a virtual or conda environment. These different scenarios are explained in more detail in the previous section.\n",
106
  "```\n",
107
  "# with env, correct PATH\n",
108
- "pip install git+https://github.com/theochem/DiverseSelector.git\n",
109
  "# with env, broken PATH\n",
110
- "python -m pip install git+https://github.com/theochem/DiverseSelector.git\n",
111
  "# without env, correct PATH\n",
112
- "pip install git+https://github.com/theochem/DiverseSelector.git --user\n",
113
  "# without env, broken PATH\n",
114
- "python -m pip install git+https://github.com/theochem/DiverseSelector.git --user\n",
115
  "```\n",
116
  "\n",
117
  "2. **Slow and Smart.** In addition to the four variations in the quick and dirty method, the slow and smart can be used with `pip` or just with `setup.py`. You also have the options to use SSH or HTTPS protocols to clone the git repository. Pick whichever works best for you.\n",
@@ -119,9 +119,9 @@
119
  "# A) Clone git repo with https OR ssh:\n",
120
  "# The second one only works if you have ssh set up for Github\n",
121
  "# A1) https\n",
122
- "git clone https://github.com/theochem/DiverseSelector.git\n",
123
  "# A2) ssh\n",
124
- "git clone [email protected]:theochem/DiverseSelector.git\n",
125
  "# B) Optionally write the version string\n",
126
  "pip install roberto # or any of the three other ways of running pip, see above.\n",
127
  "rob write-version\n",
@@ -150,7 +150,7 @@
150
  "# Install pytest in your conda env.\n",
151
  "conda install pytest pytest-xdist\n",
152
  "# Then run the tests.\n",
153
- "pytest --pyargs diverseselector -n auto\n",
154
  "```\n",
155
  "\n",
156
  "With Pip:\n",
@@ -159,13 +159,13 @@
159
  "pip install pytest pytest-xdist\n",
160
  "# .. and refresh the virtual environment.\n",
161
  "# This is a venv quirk. Without it, pytest may not find IOData.\n",
162
- "deactivate && source ~/diverseselector/activate\n",
163
  "\n",
164
  "# Alternatively, install pytest in your home directory.\n",
165
  "pip install pytest pytest-xdist --user\n",
166
  "\n",
167
  "# Finally, run the tests.\n",
168
- "pytest --pyargs diverseselector -n auto\n",
169
  "```"
170
  ]
171
  },
 
16
  "We are preparing a 1.0 release. Until then, these instructions for installing a stable release will not work yet. If you enjoy living on the edge, try the development release as explained in the “Latest Git Revision” section below.\n",
17
  "</div>\n",
18
  "\n",
19
+ "The following dependencies are required to run selector properly,\n",
20
  "\n",
21
  "* Python >= 3.6: http://www.python.org/ \n",
22
  "* NumPy >= 1.21.5: http://www.numpy.org/\n",
 
29
  "\n",
30
  "## Installation with Anaconda or Miniconda:\n",
31
  "\n",
32
+ "1. To install selector using the conda package management system, install [miniconda](https://conda.io/miniconda.html) or [anaconda](https://www.anaconda.com/download) first, and then:\n",
33
  "\n",
34
  "```\n",
35
  "# Activate your main conda environment if it is not loaded in your .bashrc.\n",
 
98
  "\n",
99
  "## Latest git revision\n",
100
  "\n",
101
+ "This section shows how one can install the latest revision of `selector` from the git repository. This kind of installation comes with some risks (sudden API changes, bugs, …) and so be prepared to accept them when using the following installation instructions.\n",
102
  "\n",
103
  "There are two installation methods:\n",
104
  "\n",
105
  "1. **Quick and dirty.** Of this method, there are four variants, depending on the correctness of your `PATH` variable and the presence of a virtual or conda environment. These different scenarios are explained in more detail in the previous section.\n",
106
  "```\n",
107
  "# with env, correct PATH\n",
108
+ "pip install git+https://github.com/theochem/Selector.git\n",
109
  "# with env, broken PATH\n",
110
+ "python -m pip install git+https://github.com/theochem/Selector.git\n",
111
  "# without env, correct PATH\n",
112
+ "pip install git+https://github.com/theochem/Selector.git --user\n",
113
  "# without env, broken PATH\n",
114
+ "python -m pip install git+https://github.com/theochem/Selector.git --user\n",
115
  "```\n",
116
  "\n",
117
  "2. **Slow and Smart.** In addition to the four variations in the quick and dirty method, the slow and smart can be used with `pip` or just with `setup.py`. You also have the options to use SSH or HTTPS protocols to clone the git repository. Pick whichever works best for you.\n",
 
119
  "# A) Clone git repo with https OR ssh:\n",
120
  "# The second one only works if you have ssh set up for Github\n",
121
  "# A1) https\n",
122
+ "git clone https://github.com/theochem/Selector.git\n",
123
  "# A2) ssh\n",
124
+ "git clone [email protected]:theochem/Selector.git\n",
125
  "# B) Optionally write the version string\n",
126
  "pip install roberto # or any of the three other ways of running pip, see above.\n",
127
  "rob write-version\n",
 
150
  "# Install pytest in your conda env.\n",
151
  "conda install pytest pytest-xdist\n",
152
  "# Then run the tests.\n",
153
+ "pytest --pyargs selector -n auto\n",
154
  "```\n",
155
  "\n",
156
  "With Pip:\n",
 
159
  "pip install pytest pytest-xdist\n",
160
  "# .. and refresh the virtual environment.\n",
161
  "# This is a venv quirk. Without it, pytest may not find IOData.\n",
162
+ "deactivate && source ~/selector/activate\n",
163
  "\n",
164
  "# Alternatively, install pytest in your home directory.\n",
165
  "pip install pytest pytest-xdist --user\n",
166
  "\n",
167
  "# Finally, run the tests.\n",
168
+ "pytest --pyargs selector -n auto\n",
169
  "```"
170
  ]
171
  },
book/content/intro.md CHANGED
@@ -1,11 +1,11 @@
1
  <!-- #region -->
2
  # Welcome to QC-Selector's Documentation!
3
 
4
- [DiverseSelector](https://github.com/theochem/DiverseSelector) is a free, open-source, and cross-platform Python library designed to help you effortlessly identify the most diverse subset of molecules from your dataset. Please use the following citation in any publication using DiverseSelector library:
5
 
6
  **"QC-Selector: A Generic Python Package for Subset Selection"**, Fanwang Meng, Alireza Tehrani, Valerii Chuiko, Abigail Broscius, Abdul, Hassan, Maximilian van Zyl, Marco Martínez González, Yang, Ramón Alain Miranda-Quintana, Paul W. Ayers, and Farnaz Heidar-Zadeh"
7
 
8
- The DiverseSelector source code is hosted on [GitHub](https://github.com/theochem/DiverseSelector) and is released under the [GNU General Public License v3.0](https://github.com/theochem/DiverseSelector/blob/main/LICENSE). We welcome any contributions to the DiverseSelector library in accordance with our Code of Conduct; please see our [Contributing Guidelines](https://qcdevs.org/guidelines/QCDevsCodeOfConduct/). Please report any issues you encounter while using DiverseSelector library on [GitHub Issues](https://github.com/theochem/DiverseSelector/issues). For further information and inquiries please contact us at [email protected].
9
 
10
 
11
  ## Why QC-Selector?
 
1
  <!-- #region -->
2
  # Welcome to QC-Selector's Documentation!
3
 
4
+ [selector](https://github.com/theochem/Selector) is a free, open-source, and cross-platform Python library designed to help you effortlessly identify the most diverse subset of molecules from your dataset. Please use the following citation in any publication using selector library:
5
 
6
  **"QC-Selector: A Generic Python Package for Subset Selection"**, Fanwang Meng, Alireza Tehrani, Valerii Chuiko, Abigail Broscius, Abdul, Hassan, Maximilian van Zyl, Marco Martínez González, Yang, Ramón Alain Miranda-Quintana, Paul W. Ayers, and Farnaz Heidar-Zadeh"
7
 
8
+ The selector source code is hosted on [GitHub](https://github.com/theochem/Selector) and is released under the [GNU General Public License v3.0](https://github.com/theochem/Selector/blob/main/LICENSE). We welcome any contributions to the selector library in accordance with our Code of Conduct; please see our [Contributing Guidelines](https://qcdevs.org/guidelines/QCDevsCodeOfConduct/). Please report any issues you encounter while using selector library on [GitHub Issues](https://github.com/theochem/Selector/issues). For further information and inquiries please contact us at [email protected].
9
 
10
 
11
  ## Why QC-Selector?
book/content/partition.rst CHANGED
@@ -1,5 +1,5 @@
1
  Partition based methods
2
  =============
3
 
4
- .. automodule:: DiverseSelector.partition
5
- :members:
 
1
  Partition based methods
2
  =============
3
 
4
+ .. automodule:: selector.partition
5
+ :members:
book/content/references.bib CHANGED
@@ -1,7 +1,7 @@
1
  ---
2
  ---
3
- @article{diverseselector,
4
- title={DiverseSelector: A Novel Approach for Selecting Diverse Molecular Subsets},
5
  author={QC-Devs},
6
  journal={Nature Chemistry},
7
  year={2023},
 
1
  ---
2
  ---
3
+ @article{selector,
4
+ title={selector: A Novel Approach for Selecting Diverse Molecular Subsets},
5
  author={QC-Devs},
6
  journal={Nature Chemistry},
7
  year={2023},