Commit b17aa132 authored by Jacob Durrant's avatar Jacob Durrant

Added contributor instructions.

parent dc4f28ca
......@@ -2,3 +2,4 @@
__pycache__
from_Ben_Patty
TODO.md
pyodide
# Contributor Covenant Code of Conduct
## Our Pledge
We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.
## Our Standards
Examples of behavior that contributes to a positive environment for our community include:
* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience
* Focusing on what is best not just for us as individuals, but for the overall community
Examples of unacceptable behavior include:
* The use of sexualized language or imagery, and sexual attention or
advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email
address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Enforcement Responsibilities
Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful.
Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate.
## Scope
This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at [http://durrantlab.com/contact/](http://durrantlab.com/contact/). All complaints will be reviewed and investigated promptly and fairly.
All community leaders are obligated to respect the privacy and security of the reporter of any incident.
## Enforcement Guidelines
Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct:
### 1. Correction
**Community Impact**: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community.
**Consequence**: A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested.
### 2. Warning
**Community Impact**: A violation through a single incident or series of actions.
**Consequence**: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban.
### 3. Temporary Ban
**Community Impact**: A serious violation of community standards, including sustained inappropriate behavior.
**Consequence**: A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within the project community.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 2.0,
available at https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
Community Impact Guidelines were inspired by [Mozilla's code of conduct enforcement ladder](https://github.com/mozilla/diversity).
[homepage]: https://www.contributor-covenant.org
For answers to common questions about this code of conduct, see the FAQ at
https://www.contributor-covenant.org/faq. Translations are available at https://www.contributor-covenant.org/translations.
# How to Contribute
## Introduction
Thank you for your interest in contributing! All types of contributions are
encouraged and valued. Please make sure to read the relevant section before
making your contribution. We at the [Durrant Lab](http://durrantlab.com) look
forward to your contributions.
## Reporting a bug
<!-- * **Do not open up a GitHub issue if the bug is a security vulnerability in
Rails**, and instead to refer to our [security
policy](https://rubyonrails.org/security/).
* **Ensure the bug was not already reported** by searching on GitHub under
[Issues](https://github.com/rails/rails/issues). -->
If you're unable to find an open issue addressing the bug, feel free to [open
a new one](https://docs.gitlab.com/ee/user/project/issues/). Be sure to
include a **title and clear description**, as much relevant information as
possible (e.g., the program, platform, or operating-system version numbers),
and a **code sample** or **test case** demonstrating the expected behavior
that is not occurring.
If you or the maintainers don't respond to an issue for 30 days, the issue may
be closed. If you want to come back to it, reply (once, please), and we'll
reopen the existing issue. Please avoid filing new issues as extensions of one
you already made.
<!-- * If possible, use the relevant bug report templates to create the issue.
Simply copy the content of the appropriate template into a .rb file, make
the necessary changes to demonstrate the issue, and **paste the content into
the issue description**:
* [**Active Record** (models, database)
issues](https://github.com/rails/rails/blob/master/guides/bug_report_templates/active_record_master.rb)
* [**Action Pack** (controllers, routing)
issues](https://github.com/rails/rails/blob/master/guides/bug_report_templates/action_controller_master.rb)
* [**Generic template** for other
issues](https://github.com/rails/rails/blob/master/guides/bug_report_templates/generic_master.rb)
* For more detailed information on submitting a bug report and creating an
issue, visit our [reporting
guidelines](https://edgeguides.rubyonrails.org/contributing_to_ruby_on_rails.html#reporting-an-issue). -->
## Project setup to make source-code changes on your computer
This project uses `git` to manage contributions, so start by [reading up on
how to fork a `git`
repository](https://docs.gitlab.com/ee/user/project/repository/forking_workflow.html#creating-a-fork)
if you've never done it before.
Forking will place a copy of the code on your own computer, where you can
modify it to correct bugs or add features.
## Integrating your changes back into the main codebase
Follow these steps to "push" your changes to the main online repository so
others can benefit from them:
* Create a [new merge
request](https://docs.gitlab.com/ee/user/project/merge_requests/creating_merge_requests.html)
with your changes.
* Ensure the description clearly describes the problem and solution. Include
the relevant issue number if applicable.
* Before submitting, please read this CONTRIBUTING.md file to know more about
coding conventions and benchmarks.
## Coding conventions
Be sure to adequately document your code with comments so others can
understand your changes. All classes and functions should have associated doc
strings, formatted as appropriate given the programming language. Here are
some examples:
```python
"""
This file does important calculations. It is a Python file with nice doc strings.
"""
class ImportantCalcs(object):
"""
An important class where important things happen.
"""
def __init__(self, vars=None, receptor_file=None,
file_conversion_class_object=None, test_boot=True):
"""
Required to initialize any conversion.
Inputs:
:param dict vars: Dictionary of user variables
:param str receptor_file: the path for the receptor file
:param obj file_conversion_class_object: object that is used to convert
files from pdb to pdbqt
:param bool test_boot: used to initialize class without objects for
testing purpose
"""
pass
```
```typescript
/**
* Sets the curStarePt variable externally. A useful, well-documented
* TypeScript function.
* @param {number[]} pt The x, y coordinates of the point as a list of
* numbers.
* @returns void
*/
export function setCurStarePt(pt: any): void {
curStarePt.copyFrom(pt);
}
```
If writing Python code, be sure to use the [Black
formatter](https://black.readthedocs.io/en/stable/) before submitting a merge
request. If writing code in JavaScript or TypeScript, please use the [Prettier
formatter](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode).
## Fixing whitespace, formatting code, or making a purely cosmetic patch
Changes that are cosmetic in nature and do not add anything substantial to the
stability, functionality, or testability of the program are unlikely to be
accepted.
<!-- #### **Do you intend to add a new feature or change an existing one?**
* Suggest your change in the [rubyonrails-core mailing
list](https://groups.google.com/forum/?fromgroups#!forum/rubyonrails-core)
and start writing code.
* Do not open an issue on GitHub until you have collected positive feedback
about the change. GitHub issues are primarily intended for bug reports and
fixes. -->
## Asking questions about the program
Ask any question about how to use the program on the appropriate [Durrant Lab
forum](http://durrantlab.com/forums/).
<!-- #### **Do you want to contribute to the Rails documentation?**
* Please read [Contributing to the Rails
Documentation](https://edgeguides.rubyonrails.org/contributing_to_ruby_on_rails.html#contributing-to-the-rails-documentation). -->
<!-- This program is a volunteer effort. We encourage you to pitch in and join the
team!
Thanks!
Durrant Lab Team -->
## Acknowledgements
This document was inspired by:
* [Ruby on Rails CONTRIBUTING.md
file](https://raw.githubusercontent.com/rails/rails/master/CONTRIBUTING.md)
(MIT License).
* [weallcontribute](https://github.com/WeAllJS/weallcontribute/blob/latest/CONTRIBUTING.md)
(Public Domain License).
......@@ -15,4 +15,4 @@
from povme import povme
import sys
povme.run_povme(sys.argv)
povme.RunPOVME(sys.argv)
......@@ -36,6 +36,7 @@ from scipy.spatial.distance import cdist
from scipy.spatial.distance import pdist
from scipy.spatial.distance import squareform
def log(astr, parameters):
"""Output POVME statements, either to the screen or to a file.
......@@ -810,37 +811,35 @@ class MultithreadingCalcVolumeTask(MultithreadingTaskGeneral):
max_pts = numpy.max(pts, 0) + parameters["DistanceCutoff"] + 1
# identify atoms that are so far away from points that they can be
# ignored
# ignored. First, x's too small.
index_to_keep1 = numpy.nonzero(
(pdb.information.coordinates[:, 0] > min_pts[0])
)[
0
] # x's too small
)[0]
# x's too large
index_to_keep2 = numpy.nonzero(
(pdb.information.coordinates[:, 0] < max_pts[0])
)[
0
] # x's too large
)[0]
# y's too small
index_to_keep3 = numpy.nonzero(
(pdb.information.coordinates[:, 1] > min_pts[1])
)[
0
] # y's too small
)[0]
# y's too large
index_to_keep4 = numpy.nonzero(
(pdb.information.coordinates[:, 1] < max_pts[1])
)[
0
] # y's too large
)[0]
# z's too small
index_to_keep5 = numpy.nonzero(
(pdb.information.coordinates[:, 2] > min_pts[2])
)[
0
] # z's too small
)[0]
# z's too large
index_to_keep6 = numpy.nonzero(
(pdb.information.coordinates[:, 2] < max_pts[2])
)[
0
] # z's too large
)[0]
index_to_keep = numpy.intersect1d(
index_to_keep1, index_to_keep2, assume_unique=True
......@@ -1301,7 +1300,7 @@ class ConfigFile:
self.entities.append(line)
class run_povme:
class RunPOVME:
"""The main class to run POVME."""
def reference(self, parameters, before=""):
......@@ -1460,8 +1459,6 @@ class run_povme:
"LoadPointsFilename",
]
# print config.entities
for entity in config.entities:
try:
index = [p.upper() for p in float_parameters].index(entity[0])
......@@ -1875,4 +1872,4 @@ class run_povme:
if __name__ == "__main__":
dorun = run_povme(sys.argv)
dorun = RunPOVME(sys.argv)
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment