Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
f9aebee
Merge branch 'bug/14109' into develop
mathuin Aug 5, 2013
bdbb57b
Merge branch 'release/1.0.0' into develop
mathuin Aug 12, 2013
7a64475
Merge branch 'hotfix/1.0.1' into develop
mathuin Aug 19, 2013
6692dcf
Fixed wraparound plots. Refs #3327.
mathuin Aug 20, 2013
13448a9
Fixed case when max > 0 and min < max.
mathuin Aug 20, 2013
b8e6838
Improved BinSort SQL aggregate. Refs #3327.
mathuin Aug 20, 2013
e7c217e
Fixed bin rendering. Refs #3327.
mathuin Aug 20, 2013
49c4a4e
Merge branch 'bug/3327' into develop
justinnoah Aug 20, 2013
658d6f9
Merge branch 'bug/3327' into develop
justinnoah Aug 21, 2013
386d524
Updated news page to reflect bugfix.
mathuin Aug 21, 2013
d4c6410
Merge branch 'bug/3327' into develop
mathuin Aug 21, 2013
0b09e19
Updated static plot image to reflect updates.
mathuin Aug 21, 2013
66f5f83
Merge branch 'hotfix/1.0.2' into develop
mathuin Oct 8, 2013
79f6c69
database update: Added Oct. 08 2013 update news
justinnoah Oct 15, 2013
145f0af
Transitioned from cairo to cairocffi.
mathuin Jan 10, 2014
44ffa67
Modified requirements.txt as per bug report.
mathuin Jan 10, 2014
04d570e
requirements: added simplejson to the list
justinnoah Jan 16, 2014
2596d04
Merge branch 'bug/15615' into develop
justinnoah Jan 16, 2014
70bace3
Merge branch 'bug/15621' into develop
justinnoah Jan 16, 2014
88a9804
First pass at adding documentation to repository.
mathuin Mar 17, 2014
8e0ea40
Copied the wiki to sphinx
Jun 24, 2014
0d5d9dc
Added liberation fonts to package requirements
MaraJade Jun 27, 2014
e91a651
Fixed pbd missing errors
MaraJade Jul 7, 2014
caa2c24
Fixed pbd missing errors
MaraJade Jul 7, 2014
59c407c
Merge branch 'bug/16353' of git.osuosl.org:pgd into bug/16353
MaraJade Jul 7, 2014
da18a0e
Merge branch 'bug/16353' into develop
mathuin Jul 7, 2014
c112ff1
Modified files to get rid of errors
MaraJade Jul 9, 2014
bf98a27
Merge branch 'bug/15999' into develop
MaraJade Jul 10, 2014
5935dc4
Licensed PGD under the Apache License, version 2.0.
mathuin Sep 29, 2014
40e307a
Reordered repository.
mathuin Sep 29, 2014
3675d82
Popped keys instead of deleting them.
mathuin Nov 6, 2014
67fb7a2
Any lines with ATOM that contain SEC should be changed to HETATM.
mathuin Nov 7, 2014
02b6eb9
Merge branch 'bug/17229' into develop
mathuin Nov 12, 2014
dd55533
Any lines with ATOM that contain SEC should be changed to HETATM.
mathuin Nov 7, 2014
3d65859
Merge branch 'bug/17223' of github.com:osuosl/pgd into bug/17223
mathuin Nov 12, 2014
d928324
Modified amino acid checks to include SEC.
mathuin Nov 20, 2014
ec62c84
Removed explicit reference to SEC in amino_present
mathuin Nov 23, 2014
7fcd762
Merge branch 'bug/17223' into develop
mathuin Dec 10, 2014
d1c5d95
Move svg.py to minimize redundancies
iankronquist Jan 31, 2015
4e00c3d
Change svg import path to reflect move
iankronquist Jan 31, 2015
e6b85cc
Add python-decouple for environment based config
iankronquist Feb 1, 2015
ef3e611
Use decouple for an optional environment config
iankronquist Feb 1, 2015
40c9613
Add a Dockerfile! 🐳
iankronquist Feb 1, 2015
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
File renamed without changes.
26 changes: 26 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
FROM centos:7

MAINTAINER OSU OSL support@osuosl.org

EXPOSE 8000

#Sane configuration defaults
ENV DATABASE_ENGINE mysql
ENV DATABASE_NAME pgd_db
ENV DATABASE_USER root
ENV DATABASE_PASSWORD pgd_db
ENV DATABASE_HOST mysql

RUN yum install -y mysql mysql-devel gcc gcc-c++ git libcairo-devel cairo pycairo python-setuptools python-devel libffi libffi-devel

RUN easy_install pip

# Copy and configure pgd
WORKDIR /opt/pgd
# Copy requirements.txt separately for better caching
COPY ./requirements.txt /opt/pgd/requirements.txt
RUN pip install -r requirements.txt
COPY . /opt/pgd
RUN cp ./settings.py.dist ./settings.py

CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]
13 changes: 13 additions & 0 deletions LICENSE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
Copyright 2014 Oregon State University

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
File renamed without changes.
File renamed without changes.
177 changes: 177 additions & 0 deletions docs/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,177 @@
# Makefile for Sphinx documentation
#

# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = sphinx-build
PAPER =
BUILDDIR = build

# User-friendly check for sphinx-build
ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/)
endif

# Internal variables.
PAPEROPT_a4 = -D latex_paper_size=a4
PAPEROPT_letter = -D latex_paper_size=letter
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
# the i18n builder cannot share the environment and doctrees with the others
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source

.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext

help:
@echo "Please use \`make <target>' where <target> is one of"
@echo " html to make standalone HTML files"
@echo " dirhtml to make HTML files named index.html in directories"
@echo " singlehtml to make a single large HTML file"
@echo " pickle to make pickle files"
@echo " json to make JSON files"
@echo " htmlhelp to make HTML files and a HTML help project"
@echo " qthelp to make HTML files and a qthelp project"
@echo " devhelp to make HTML files and a Devhelp project"
@echo " epub to make an epub"
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
@echo " latexpdf to make LaTeX files and run them through pdflatex"
@echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
@echo " text to make text files"
@echo " man to make manual pages"
@echo " texinfo to make Texinfo files"
@echo " info to make Texinfo files and run them through makeinfo"
@echo " gettext to make PO message catalogs"
@echo " changes to make an overview of all changed/added/deprecated items"
@echo " xml to make Docutils-native XML files"
@echo " pseudoxml to make pseudoxml-XML files for display purposes"
@echo " linkcheck to check all external links for integrity"
@echo " doctest to run all doctests embedded in the documentation (if enabled)"

clean:
rm -rf $(BUILDDIR)/*

html:
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."

dirhtml:
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."

singlehtml:
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
@echo
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."

pickle:
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
@echo
@echo "Build finished; now you can process the pickle files."

json:
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
@echo
@echo "Build finished; now you can process the JSON files."

htmlhelp:
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
@echo
@echo "Build finished; now you can run HTML Help Workshop with the" \
".hhp project file in $(BUILDDIR)/htmlhelp."

qthelp:
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
@echo
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/ProteinGeometryDatabase.qhcp"
@echo "To view the help file:"
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/ProteinGeometryDatabase.qhc"

devhelp:
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
@echo
@echo "Build finished."
@echo "To view the help file:"
@echo "# mkdir -p $$HOME/.local/share/devhelp/ProteinGeometryDatabase"
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/ProteinGeometryDatabase"
@echo "# devhelp"

epub:
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
@echo
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."

latex:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
@echo "Run \`make' in that directory to run these through (pdf)latex" \
"(use \`make latexpdf' here to do that automatically)."

latexpdf:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo "Running LaTeX files through pdflatex..."
$(MAKE) -C $(BUILDDIR)/latex all-pdf
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."

latexpdfja:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo "Running LaTeX files through platex and dvipdfmx..."
$(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."

text:
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
@echo
@echo "Build finished. The text files are in $(BUILDDIR)/text."

man:
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
@echo
@echo "Build finished. The manual pages are in $(BUILDDIR)/man."

texinfo:
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
@echo
@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
@echo "Run \`make' in that directory to run these through makeinfo" \
"(use \`make info' here to do that automatically)."

info:
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
@echo "Running Texinfo files through makeinfo..."
make -C $(BUILDDIR)/texinfo info
@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."

gettext:
$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
@echo
@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."

changes:
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
@echo
@echo "The overview file is in $(BUILDDIR)/changes."

linkcheck:
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
@echo
@echo "Link check complete; look for any errors in the above output " \
"or in $(BUILDDIR)/linkcheck/output.txt."

doctest:
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
@echo "Testing of doctests in the sources finished, look at the " \
"results in $(BUILDDIR)/doctest/output.txt."

xml:
$(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
@echo
@echo "Build finished. The XML files are in $(BUILDDIR)/xml."

pseudoxml:
$(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
@echo
@echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."
19 changes: 19 additions & 0 deletions docs/source/browse.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
******
Browse
******

Browse displays all residues for each segment in a result set. Results a

--------------
Selecting Data
--------------

Queries using Django's ORM focus on a single object. Accessing related fields such as **Residue.prev** or **Residue.next** result in a second query to resolve those objects. This means to display a single segment of length 5 you must do 4 additional queries. To display 25 segments per page would require 125 additional queries.

The solution is to calculate the list of residues for each segment and select
them by range. For example, to retrieve a segment of length 3 where i-3 select all residues from i-1 to i+1 (2 through 4). ::

Select * from pgd_core_residue where chainIndex between 2 and 4

This allows all residues in a segment to be retrieved in a single query. This
reduces the number of queries to the number of residues in the result set. This may still be a large number of queries but each page is limited to 25 segments per page.
25 changes: 25 additions & 0 deletions docs/source/code_modules.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
************
Code Modules
************

The Protein Geometry Database makes use of Django "apps". Apps are synonymous with a module or plugin. They are module bits of an application that are, for the most part, portable between other apps.

PGD is divided into three apps to allow code to be portable.

^^^^^^^^
PGD Core
^^^^^^^^

PGD Core defines the core data structures. There is no functionality contained within this app. It is intended to contain only the database so that it can be reused in other applications

^^^^^^^^^^
PGD Search
^^^^^^^^^^

PGD Search contains logic for searching and displaying data from PGD Core. This includes search logic, models, and the web front end.

^^^^^^^^^^^
PGD Splicer
^^^^^^^^^^^

PGD Splicer contains all of the code required for importing data from PDB files into objects defined within PGD Core
Loading