Skip to content

Commit

Permalink
Merge branch 'master' into irfan
Browse files Browse the repository at this point in the history
  • Loading branch information
IAlibay committed Nov 12, 2023
2 parents 18bfc0f + dd12513 commit 3e75348
Show file tree
Hide file tree
Showing 18 changed files with 834 additions and 76 deletions.
38 changes: 38 additions & 0 deletions .github/workflows/build_page.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: GH Actions CI
on:
push:
branches:
- master
pull_request:
branches:
- master

concurrency:
# Probably overly cautious group naming.
# Commits to develop will cancel each other, but PRs will only cancel
# commits within the same PR
group: "${{ github.ref }}-${{ github.head_ref }}-${{ github.workflow }}"
cancel-in-progress: true

defaults:
run:
shell: bash -l {0}

jobs:
# Build job
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Pages
id: pages
uses: actions/configure-pages@v3
- name: Build with Jekyll
uses: actions/jekyll-build-pages@v1
with:
source: ./
destination: ./_site
- name: Upload artifact
uses: actions/upload-pages-artifact@v2
retention-days: "1"
105 changes: 89 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ The home page [www.mdanalysis.org](https://www.mdanalysis.org) is maintained as
a [GitHub pages](https://pages.github.com) site. The home page is also
accessible as [mdanalysis.github.io](https://mdanalysis.github.io).

Pages are generated
Pages are generated from markdown files using the static site
generator
[Jekyll](https://help.github.com/articles/using-jekyll-with-pages/).

## General page authoring guide ##

Expand Down Expand Up @@ -51,17 +53,25 @@ not be touched, as this is only here to set the paginator.

## Web development ##

Check out the repository, edit the pages, and push commits. The
published pages are on the *master* branch.

We are using the minimalist [Hyde](https://github.com/poole/hyde) theme for
[Jekyll](https://help.github.com/articles/using-jekyll-with-pages/).
[Jekyll](https://jekyllrb.com/docs/).

Additional static pages go under `pages`. If they have the layout type "page"
they will be automatically included in the sidebar. We've left the static
Additional static pages go under `pages`. If they have the layout type
"page" they will be automatically included in the sidebar. The static
"about" page is left at the top level.


### Creating content ###

There are two ways to add and edit files:

* Check out the repository, edit the pages, and push commits. The
published pages are on the *master* branch.
* Use the *add file*/*upload file* and *edit file* functionality in
the https://github.com/MDAnalysis/MDAnalysis.github.io repository
web frontend.


### Mark-up format: Markdown ###

The GitHub pages can either use HTML or
Expand Down Expand Up @@ -110,9 +120,52 @@ additional links that are all stored in the config file.

### Local testing ###

To locally test that your edits look ok before pushing them, install
To locally test that your edits look ok before pushing them, run
*Jekyll* from a docker container (always works if you can get docker
to run) or install
[Jekyll](https://help.github.com/articles/using-jekyll-with-pages/) as
described in the docs.
described in the docs (can be frustrating because of broken dependencies).


#### Using docker container for local builds ####

Running Jekyll from a docker image:

* on Linux you should be able to start/run docker after installing the
appropriate docker package through your package manager
* on MacOS
- install Docker Desktop
https://docs.docker.com/desktop/install/mac-install/ and let it
install all kind of startup items
- start Docker

Follow the solution from https://stackoverflow.com/a/58850151/ as
described next:

To **build the static site**, run `jekyll build` inside docker:
```bash
export JEKYLL_VERSION=3.8
docker run --rm \
--volume="$PWD:/srv/jekyll" \
-it jekyll/jekyll:$JEKYLL_VERSION \
jekyll build
```
The static site files are stored in the `_site` directory.

Then you must **serve the site** so you can view them in a web browser
```bash
python -m http.server --directory _site 4444
```
(You can leave out the port number and then it defaults to 8000.)

Point your browser to http://localhost:4444

When you make changes, you need to re-build the site.

*Note that the CSS is only rendered correctly when the pages are
served. Just directly browsing the files will not show the site as it
will appear on the web.*


#### Build site locally ####

Expand All @@ -123,20 +176,40 @@ with `Bundler`. Use the command

in the root of your repository (after switching to the gh-pages branch for
project repositories), and your site should be available at
<http://localhost:4000>. For a full list of Jekyll commands, see the Jekyll
documentation.
<http://localhost:4000>.

For a full list of Jekyll commands, see the [Jekyll
documentation](https://jekyllrb.com/docs/).


**NOTE:**
##### Advanced Jekyll usage #####

In case the you get an error that a javascript environment is missing. Install a
javascript environment like `nodejs` from your distribution repositories.
Running Jekyll locally has the advantage that you can have it update
the site continuously while you're editing files:

#### Updating the github-pages plugin ####
bundle exec jekyll serve --livereload

In this way, the site is immediately rebuilt when you save changes to
a file.


##### Updating the github-pages plugin #####

If you try out new functionality or plugins locally and you get error
messages then try to
[update the github-pages plugin](https://help.github.com/articles/setting-up-your-pages-site-locally-with-jekyll/#keeping-your-site-up-to-date-with-the-github-pages-gem)
with


bundle update github-pages

##### Problems with jekyll and required packages? #####

* **Problems with installing jekyll/github-pages?** If the standard
installation for jekyll does not work for you (many people complain,
for instance, *commonmarker* does not install
https://stackoverflow.com/questions/58849651/bundler-cannot-install-commonmarker)
try a **docker container**, as described above.

* In case the you get an error that a **javascript environment is
missing**, install a javascript environment like `nodejs` from your
distribution repositories.
2 changes: 1 addition & 1 deletion _posts/2023-03-24-gsod2023.md
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ In addition to participation in GSoD 2019-2020 as described above, MDAnalysis ha

[gsod]: https://developers.google.com/season-of-docs/
[python]: https://www.python.org/
[foundation]: https://www.mdanalysis.org/pages/used-by/
[foundation]: https://www.mdanalysis.org/pages/mdakits/
[gnu]: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
[gsod2019]: https://www.mdanalysis.org/2020/03/10/gsod2019-final/#gsod-2019-the-new-user-guide
[UG]: https://userguide.mdanalysis.org/stable/index.html
Expand Down
20 changes: 20 additions & 0 deletions _posts/2023-08-11-workshops.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
layout: post
title: Online Training Workshop Series
---

MDAnalysis is excited to be kicking off a series of free online training workshops in Fall 2023. The first will be held on **October 25, 2023 from 15:00-18:30 UTC**.

This online workshop will consist of an introduction to the [MDAnalysis Python library][MDAnalysis], as well as an opportunity for hands-on learning through basic MDAnalysis tutorials. The workshop will be delivered to a small group to allow interactive discussions, questions, and participant engagement. It is designed for *beginners to MDAnalysis* who already have a *working knowledge of Python* and *know how use shell and notebook environments*.

## Register soon (places limited)
If you are interested in participating in this workshop, fill out [this short application][eventbrite] form before **September 30, 2023**. Selected participants will be notified in early October.

*We have a small number of bursaries to enable participation for researchers from underrepresented groups who are facing financial barriers*; these can be applied for when completing the application form.

We are looking into organizing the next workshop for Australasian time zones, so also keep an eye out for announcements of future workshops!

— The MDAnalysis Team

[MDAnalysis]: https://www.mdanalysis.org
[eventbrite]: https://www.eventbrite.com/e/mdanalysis-online-teaching-workshop-tickets-681631767967
56 changes: 56 additions & 0 deletions _posts/2023-08-17-sff-students.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
---
layout: post
title: Station1 Frontiers Fellowship Students 2023
---
<p>
<img
src="/public/images/station1_condensed_logo.png"
title="Station1 Logo" alt="Station1 Logo"
style="float: right; height: 8em; " />
</p>

MDAnalysis is excited to to have participated this year as a host organization for the [Station1 Frontiers Fellowship][sff] program for the first time. We thank Station1 for supporting two outstanding students, John Ong and Karen Bekhazi, who have been working with us to understand the evolution of heterogeneity between objects in the [Protein Data Bank][pdb] (PDB) PDBx/mmCIF file format. John and Karen's research will help inform [MDAnalysis's planned extension of interoperability][interoperability] between MDAnalysis and the PDBx/mmCIF format. Keep reading to learn more about John and Karen's experience, and download their [capstone poster here][poster].

## John Ong

<img
src="https://jong9559.github.io/assets/img/prof_pic.jpg"
title="John Ong" alt="John Ong"
style="float: left; width: 110px; height: 150px; border-radius: 20px; border: 15px solid white" />

Hello everyone, my name is John Ong, and I was one of the Station1 interns working with MDAnalysis this summer. I am a soon-to-be third-year undergraduate student at the University of Utah studying mathematics and computer science.

MDAnalysis is used widely in the biomolecular sciences and thus is important in research that ultimately aims at improving human health. The [PDB][pdb] is an international repository for experimentally-determined 3D structures of biomolecules, such as proteins and nucleic acids. However, data representation techniques for structures on the [PDB][pdb] often differ, despite the same master format (PDBx/mmCIF). Hence, there exists "dialects" within the [PDB][pdb]'s files.

This summer, Karen and I explored the reasons for the existence of these dialects. Through literature reviews and interviews we've carried out with both key members within the [PDB][pdb] and [PDB][pdb] user(s), we've found experimental methods, knowledge of proteins, data processing methods, and user error to be the most common contributors to these dialects. We also studied the motivations for format changes and regulations (and the lack thereof) within the [PDB][pdb] and its user base.

All in all, this was a rewarding summer. While we did not achieve as many technical results as we would have liked, studying change has been interesting. I'm honored to have been a mentee of @richardjgowers and @hmacdope, and to have had the support of MDAnalysis and its community this summer.

You can find me on [GitHub][john-github], [LinkedIn][john-linkedin] and [my website][john-website]!

I hope to be able to continue contributing to this incredible community!

## Karen Bekhazi

<img
src="https://media.licdn.com/dms/image/D4E03AQFQwVFLzLAabA/profile-displayphoto-shrink_800_800/0/1687266968141?e=1697673600&v=beta&t=G3j-3m42F9Wf3y6G1HafGzJPIHrs6--vqdJMO2y5tWk"
title="Karen Bekhazi" alt="Karen Bekhazi"
style="float: left; width: 110px; height: 110px; border-radius: 20px; border: 15px solid white" />

Molecular dynamics simulations are capable of generating new trajectory analyses in their own specific output format. This consequently challenges the tools’ further development and widespread use since they are limited to specific formats that can’t be accessed by all users. This summer, our work has mostly focused on the effects of the lack of a standardized format on molecular dynamics’ scientific and social impact. We evaluated the creation of different [PDB][pdb] file formats by drawing parallels between them and notions in the field of linguistics, such as dialects and stemmatics. Our research was also supported by further study of both the [PDB][pdb] and MDAnalysis’s stakeholders.

I am a rising junior at Smith College. I am studying Engineering Sciences and Chemistry, with an interest in biochemistry, biomaterials, and the intersection of biophysics and chemistry. Originally from Beirut, Lebanon, I enjoy running, reading, and watching movie commentaries in my free time.

Here are my [LinkedIn][karen-linkedin] and [GitHub][karen-github] profiles.

Thank you to the amazing MDAnalysis community and to our mentors, @richardjgowers and @hmacdope, for this summer!

[sff]: https://www.station1.org/sff
[pdb]: https://www.rcsb.org/
[interoperability]: https://www.mdanalysis.org/2020/08/03/roadmap/
[poster]: {{site.data}}/SFF2023_PD4_FinalPoster_Bekhazi_Ong.pptx.pdf
[john-github]: https://github.com/jong9559
[john-linkedin]: https://www.linkedin.com/in/john-ong/
[john-website]: https://jong9559.github.io/
[karen-linkedin]: https://www.linkedin.com/in/karen-bekhazi-947b0b27b/
[karen-github]: https://github.com/KarenBekhazi
123 changes: 123 additions & 0 deletions _posts/2023-09-02-release-2.6.1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
---
layout: post
title: Release 2.6.0 and 2.6.1 of MDAnalysis
---

We are happy to release version 2.6.1 of MDAnalysis!
(This blog post describes 2.6.1 and the initial release in the 2.6 series, 2.6.0.)

This is a minor update to the MDAnalysis library.

This release of MDAnalysis is packaged under a [GPLv3+ license](https://www.gnu.org/licenses/gpl-3.0.en.html).
Additionally all contributions made from commit [44733fc](https://github.com/MDAnalysis/mdanalysis/commit/44733fc214dcfdcc2b7cb3e3705258781bb491bd)
onwards are made under the [LGPLv2.1+ license](https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html). More details about these license changes
will be provided in an upcoming blog post.

In line with [NEP 29][], the minimum required NumPy version has
been raised to 1.22.3.

Supported Python versions: **3.9, 3.10, 3.11**

Supported Operating Systems:
- **Linux** (on [x86-64][], [aarch64][])
- *Note: aarch64 can only be installed via pip for now*
- **Windows** (on [x86-64][])
- **MacOS** (on [x86-64][] and [ARM64][])


## Upgrading to MDAnalysis version 2.6.1

To update with `conda` from the [conda-forge channel][] run

```bash
conda update -c conda-forge mdanalysis
```

To update from [PyPi][] with `pip` run

```bash
python -m pip install --upgrade MDAnalysis
```

For more help with installation see the [installation instructions in the User Guide][]. Make sure you are using a Python version compatible with MDAnalysis before upgrading (Python >= 3.9).


## Notable changes

For a full list of changes, bugfixes and deprecations see the [CHANGELOG][].


#### Fixes:
- Fix to element guessing code to more accurately interpret atom names split by
numbers (i.e. N0A is now recognised as N rather than NA) [Issue #4167, PR #4168]
- The -ffast-math compiler flag is no longer used by default at build time,
avoiding inconsistent (although still scientifically correct) results seen
in Intel MacOS systems when calling `AtomGroup.center_of_charge(..., unwrap=True)`.
This also avoids potentially [incorrect floating point results][]. (PR #4220)
- DATAWriter, CRD, PQR, and PDBQT files can now be correctly written to
compressed files. Before this change, any attempt to write to a compressed
format (gzip or bzip2) would lead to writing out an uncompressed file. (PR #4163)
- Prevent accidental merging of bond/angle/dihedral types when they are
defined as LAMMPS style string integers instead of tuples. This was leading
to an incorrect number of bond/angle/dihedral types being written to lammps
data files. (PR #4003)

#### Enhancements:
- An `exclude_same` argument has been added to `InterRDF` allowing pairs of
atoms that share the same residue, segment or chain to be excluded from the
calculation. (PR #4161)
- LAMMPS reader now supports the `continuous` ChainReader option. (PR #4170)
- AtomGroup representation now returns atom indices in the same order
as they are stored in the AtomGroup. (PR #4191)

#### Changes:
- As per NEP29, the minimum supported runtime version of NumPy has
been increased to 1.22.3. (PR #4160)
- The GSD package is now an optional dependency. (PR #4174)
- The MDAnalysis package now only supports GSD versions 3.0.1 or
above. (PR #4153)
- MDAnalysis no longer officially supports 32 bit installations,
(they are no longer tested in our continuous integration pipelines).
Note: no code changes have been made to disable 32 bit, although it
is known that new versions of most MDAnalysis core dependencies no longer
release 32 bit compatible versions. (PR #4176)
- The package license has been updated to [GPLv3+](https://www.gnu.org/licenses/gpl-3.0.en.html)
to better reflect the compatibility of GPLv2+ with Apache and GPLv3 licensed
codes. Additionally all new contributions from commit [44733fc](https://github.com/MDAnalysis/mdanalysis/commit/44733fc214dcfdcc2b7cb3e3705258781bb491bd)
onwards are made under the [LGPLv2.1+ license](https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html). (PR #4219)

#### Deprecations:
- The misspelt `Boltzman_constant` entry in `MDAnalysis.units` is now
deprecated in favour the correctly spelt `Boltzmann_constant`. (PRs #4230 and #4214)
- `MDAnalysis.analysis.hole2` is now deprecated in favour of a new
[HOLE2 MDAKit](https://www.mdanalysis.org/hole2-mdakit/). (PR #4200)

## Author statistics

This release was the work of 10 contributors, **4** of which are **new contributors**.

Our **new contributors** are:

@MohitKumar020291
@Shubx10
@ztimol
@pillose

## Acknowledgements

MDAnalysis thanks [NumFOCUS][] for its continued support as our fiscal sponsor and the [Chan Zuckerberg Initiative][] for supporting MDAnalysis under EOSS4 and EOSS5 awards.

— The MDAnalysis Team


[x86-64]: https://en.wikipedia.org/wiki/X86-64
[aarch64]: https://en.wikipedia.org/wiki/AArch64
[ARM64]: https://en.wikipedia.org/wiki/Apple_M1
[installation instructions in the User Guide]: https://userguide.mdanalysis.org/stable/installation.html
[conda-forge channel]: https://anaconda.org/conda-forge/mdanalysis
[PyPi]: https://pypi.org/project/MDAnalysis/
[NumFOCUS]: https://www.numfocus.org
[CHANGELOG]: https://github.com/MDAnalysis/mdanalysis/blob/release-2.6.1/package/CHANGELOG
[NEP 29]: https://numpy.org/neps/nep-0029-deprecation_policy.html
[Chan Zuckerberg Initiative]: https://chanzuckerberg.com/
[incorrect floating point results]: https://moyix.blogspot.com/2022/09/someones-been-messing-with-my-subnormals.html
Loading

0 comments on commit 3e75348

Please sign in to comment.