- Improved event ranking using a Resnet trained on XChem data
- Improved hit detection using automated characterization set comparisons
- Fragment autobuilding
- Improved README.md with clearer instructions and reccomendations
- Phenix dependency removed
- PanDDA defaults to using present cifs with no rebuilding
- Cleaner logs
- Improved ranking for unbuildable events
- Memory performance optimizations
- Which filters to apply to datasets can be configured with
--data_quality_filters
and--reference_comparability_filters
- Improved handling of DNA/RNA
- Support for cryoem maps
- Sites defined by residues instead of event centroids
PanDDA 2 is still in development and feedback is always appreciated!
If you have a problem with installation, program errors or uncertainty about the correctness of results the best place to get advice (and raise the issue to the developer) is at the XChem bullitin board: [email protected] , which you can sign up for at https://www.jiscmail.ac.uk/cgi-bin/webadmin?A0=XCHEMBB.
If you have a problem with installation, then it is most likely specific to your system and best to just email me.
If the program errors while it runs, it is most helpful if you include the command line output and the json log in a GitHub issue.
If you uncertain about the correctness of the results, then a GitHub issue is appropriate if you can share information publicly, in particular screenshots of maps or ligand fits. If you cannot, then an email to me is the best way to raise the concerns. Either way, please include the program output, the json log and screenshots of the offending z maps/event maps/autobuilds.
Once you have installed PanDDA 2 in a conda environment, it can be run from that enviroment with autobuilding and automated ground state identification with the following:
- A. Install ccp4/7.0.067 and PanDDA 2 OR B. Install PanDDA 2 and PanDDA 2 Inspect (beta)
- Prepare your data for PanDDA 2
- Run
pandda2.analyse
on your data to generate event maps - Run
pandda.inspect
to identify and complete fragment bound models - Decide which fragments to take forwards
- Run
pandda.export
to prepare your results for refinement
Once you have installed CCP4, it is recommended that you install PanDDA 2 in its own python 3.9 anaconda environment. If you do not have an Anaconda environment you can install one by following the instructions at https://www.anaconda.com/products/distribution#linux.
With Anaconda an environment can be setup like so:
conda create -n pandda2 python=3.9
conda install llvm python-devtools # If building gemmi from source
Then:
git clone https://github.com/ConorFWild/pandda_2_gemmi.git
cd pandda_2_gemmi
python -m pip install -e .
The first time you run PanDDA 2 it will try to download two models of approximately 1GB total.
Installing PanDDA 2 this way will add various scripts to your path, but only while you are in this anaconda environment.
Then:
You will need to install ccp4/7.0.067
. This is in order to access the functionality of pandda.inspect
and pandda.export
, which do not function correctly in more recent versions.
There is now a modern Moorhen based pandda.inspect
, which can be installed by following the instructions at:
https://github.com/ConorFWild/PanDDA2Inspect
The recommended pipeline with which to prepare PanDDA 2 input data is Dimple, which you can read more about at: https://ccp4.github.io/dimple/. The reccomended program for generating restraints is Grade (Global Phasing Ltd.), or AceDRG (CCP4) if you do not have access to Grade.
The input directory for PanDDA must have the following format:
<datasets directory>/<dataset name>/<dataset name>.pdb
<dataset name>.mtz
compound/<compound name>.pdb
compound/<compound name>.cif
Or, to give a concrete example:
data_dirs
├── BAZ2BA-x434
├── BAZ2BA-x434.mtz
├── BAZ2BA-x434.pdb
└── compound
├── ligand.cif
└── ligand.pdb
...
The recommended way to run PanDDA 2 is:
pandda2.analyse --data_dirs=<data directories> --out_dir=<output directory> --pdb_regex=<pdb regex> --mtz_regex=<mtz regex> --local_cpus=<your number of cpus>
OR
python scripts/pandda.py --data_dirs=<data directories> --out_dir=<output directory> --pdb_regex=<pdb regex> --mtz_regex=<mtz regex> --local_cpus=<your number of cpus>
After PanDDA 2 has finished running, then results can be inspected with pandda.inspect as per PanDDA 1 (https://pandda.bitbucket.io/).
Refer to sections 8, 9 and 10 of the PanDDA tutorial.
One important difference is that PanDDA 2 returns events ranked by score rather than by score per site. This means that
Refer to sections 11, 12 and 13 of the PanDDA tutorial.