Wiki
Clone wikibio3d / To do list
Version 2.3 [devel]
Version 2.2 [released]
Version 2.1 [old]
Towards version 2.3 and beyond
Outstanding
- Integrated structure visualization with rgl using the recently prototyped view.*() family of functions [Julien & Barry]
- The convert.pdb() function could and probably should be made more robust and useful [open]
- Add support for new GROMACS binary trajectory file format TNG, read.tng() and write.tng() (see: http://onlinelibrary.wiley.com/enhanced/doi/10.1002/jcc.23495/ )
- Improve cross-platform and CRAN testing features - all new functionality should have tests [all]
- New functionality for Perturbation-Response Scanning (PRS) analysis based on linear response theory [Xinqiu]
- SCOP database searching, annotation and ASTRAL PDB file retrieval [Andrew & Barry]
- Enable faster reading of large PDB files (>900k atoms!) - see issue #https:bitbucket.org/Grantlab/bio3d/issue/127/large-pdb-files
- Simplify and improve the content/structure of the installation instructions page See issue: #145
- Add ability to further annotate plot.bio3d() margin.segments with domain structure as in plot.dccm(). See Issue #146
- Add code for optional 'fancy' SSEs to plot.bio3d() and new plot.fluct()
- Consider merging plot.bio3d() and plot.fluct() in future
- EBI SOAP or REST Muscle (see issue https:bitbucket.org/Grantlab/bio3d/issue/174/using-ebi-soap-or-rest-muscle)
- Enhanced cnapath() taking multiple source/sink nodes as input (to calculate paths when source/sink is not single residue but a subset of residues belonging to ligand binding sites) [Xinqiu] done
- Enhanced plot.dccm() for more flexible cross correlation presentation [Xinqiu] (temporarily done under new_funs/)
- support "upper" and "lower" triangular plot
- support customized x and y axis tick labeling
- support post-plotting sse/segment annotation with the new functions add.sse() and add.segment() (See below)
- better control of 'outer' and 'inner' box drawing
- New functions for SSE/segment annotation on existing plot, add.sse() and add.segment() [Xinqiu] (temporarily done under new_funs/)
- Currently only support 'lattice' plot and classic 'SSE'
In Progress
- Improve functionality for visualizing NMA results in VMD e.g. (1) a function to generate a pymol script to visualize cross correlation, (2) function 'view.nma' to open vmd or pymol to visualize modes (wrapper for mktrj.pca/nma). [Lars & Barry]
- Tidy up codes related to parallelization [Xinqiu]
- Write a generic function for multicore setup, setup.ncore() [done]
- Set mc.cores=XX explicitly for every mclapply() call to avoid *resetting* of user specified ncore (see issue) [Xinqiu]
- Remove the treatment for serialization problem (on feature_para branch)
- Optimize functions operating on large data, e.g. fit.xyz(), rmsd(), etc., with big.memory package; This will potentially solve heavy load problems in memory sometimes happening with ncore>>1 (feature_para)
- Nicer message print with ncore>1: Disaply progress bar instead of detailed information when ncore>1 (feature_para)
- Add TMalign - temporary version in "new_funs" [Lars]
- Functions to read and parse Amber files (see branch feature_amber) [Lars]
- Functions to import all-atom NMA 'vecs' files from Amber (or nab) [Lars]
- HMMER sequence search capabilities ( plot.hmmer() needs attention ) [Lars]
- Improve function names [all]
- filter.dccm -> dccm.filter done
- Side chain torsional angle mutation information calculation [Xinqiu & Shashank]
- Functions to calculate and plot SSE data for a xyz matrix (e.g. from MD simulation) [Xinqiu]
- Updates and refinements of biounit() function.
- More control on the biounit() function return value, e.g. only the units determined by authors (author.only=TRUE), the units contain certain chains (chain=XXX), oligomeric state (n=X), save copies as multiple xyz models instead of generating new chains (multi=TRUE), etc.
- A class assigned to the return value, e.g. 'biounit'?
- Associated print.biounit() or summary.biounit() for quickly peeking at the object
- Update read.pdb(..., biounit=TRUE) to call biounit() and return biological units (After more testing of biounit() function) [Xinqiu]
- Check functions for their consistency with the two types of definition for "empty" SSE (See comments in this commit): [Xinqiu & others]
- If is.null(pdb$helix), the annotation is missing.
- If !is.null(pdb$helix) and length(pdb$helix$start)==0, the annotation is complete but there is no helix.
- Improvement on clean.pdb() [Xinqiu]
- suggestions are welcomed to write here
Future
- GPU support [open]
- Optimize for performance - check package 'compiler'? [open]
- SNP and disease mutation mapping [Hongyang]
- Free energy calculation and plotting with properly selected reaction coordinates (see issue 93) [Open]
- BLAST through the RCSB PDB RESTful Web Service interface (http://www.rcsb.org/pdb/software/rest.do) - potentially quicker? [open]
- Consider adding a atom.select.pdbs() function (see issue 212)
--------------------------------------
Towards version 2.2
Done (version 2.2)
- Pass all local and CRAN 'R CMD CHECK' tests without NOTES or WARNINGS [all]
- Pass windows build test
- Update html docs and post online
- Build manual
- Check/update all vignette PDFs and upload new PDB vignette to website
- Lower down precision tolerance in all test functions for CRAN [Xinqiu]
- New clean.pdb function for producing 'cleaned' PDB objects [Xinqiu] done
- return 'log' instead of 'clean.log'
- use 'data.frame' for the log
- verbose=FALSE by default
- new introductory PDB vignette [All] [done]
- aa.table data file for amino acids mass and 3:1 name conversion [Lars] [done]
- biounit construct the biological unit [Xinqiu] [done]
- read REMARK records from a 'pdb' object (coordinate with updated read.pdb()) done
- cat.pdb to combine two or more PDB files [Xinqiu, Lars] [done]
- ATOM.only option in read.pdb(), store all info including REMARK in 'pdb' if ATOM.only=FALSE [Xinqiu] done
- s3 generic functions for pdbfit, core.find, and geostas [Lars] [done]
- plot and print geostas results [Lars] [done]
- as.pdb to build a PDB object from vectors [Lars] [done]
- Provide mass weighting option in pca.xyz() [Lars & Xinqiu] [done]
- New improved plot.cmap() function [Lars] [done]
- Sub-optimal path analysis in correlation networks function cnapath [Xinqiu, Guido & Barry] [done]
- General atom.select() improvements. Including implementing more keywords and speed improvements [Lars] [done]
- atom.selection(): make '& I !' combination options more accessible. [Lars] [done]
- Spline option in view.cnapath() to draw all paths explicitly [Xinqiu] [done]
- Use "parallel" package and mclapply() rather than previous parallelization scheme [done]
- Improvement of is.gap() function for matrix/alignment/vector TRUE/FALSE gap inspection (a more simple approach to using gap.inspect() [Barry] [done]
- Improvement of plot.pca() allowing PC1-PC2 and overview plot with better annotation [Barry] [done]
- Improvements to plot.bio3d() SSE annotation for added robustness with multi-chain systems [Barry] [done]
- Add SSE storage to read.fasta.pdb() and make consistent with dssp.pdbs() [Barry] [done]
- basename.pdb simple utility function for simplifying working with PDB file names [Barry] [done]
- Add conservation line to output of print.fasta() [Lars] [done]
--------------------------------------
OLD: [Towards version 2.1]
FINISHED
- Add vignettes for 'intro', 'pdb/pca' [Barry & Xinqiu] done
- Prototype structure visualization with rgl [Julien] done
- Modify the plot.blast() function to warn before attempting to cluster "lots of hits" (i.e. 1k+) as this will take a long time [done]
- Update website with new html docs, package source/binaries, and vignettes [Barry & Xinqiu] done
- Incorporate specific test functions that can run on windows, linux and mac [all] done
- Add cna() functions: Correlation Network Analysis, which is Basically consensus dynamical network analysis (clustering Cij, and incorporation of network analysis and plotting methods) [Guido & Barry] done
- Improve functionality for visualizing NMA results. e.g. (1) a function to generate a pymol script to visualize cross correlation, (2) function 'view.nma' to open vmd or pymol to visualize modes (wrapper for mktrj.pca/nma). [Lars & Barry] done
- Functions to import all-atom NMA 'vecs' files from Amber (or nab) [Lars]
- Tidy up codes related to parallelization [Xinqiu] done
- Write a generic function for multicore setup, setup.ncore() done
- Remove the treatment for serialization problem (on feature_para branch)
- Adapted to "parallel" package and use mclapply() exclusively (feature_para)
- Optimize functions operating on large data, e.g. fit.xyz(), rmsd(), etc., with big.memory package; This will potentially solve heavy load problems in memory sometimes happening with ncore>>1 (feature_para) done
- Nicer message print with ncore>1: Disaply progress bar instead of detailed information when ncore>1 (feature_para) done
- Add TMalign - temporary version in "new_funs" [Lars]
- Functions to read and parse Amber files (see branch feature_amber) [Lars]
- HMMER sequence search capabilities [Lars] done
- Improve function names [all]
- pca.project, pca.tor, pca.z2xyz [see issue #101] done
- filter.dccm -> dccm.filter done
- PDB $atom component migration to data.frame [Barry & others] done
- Add vignettes for 'install', 'nma', 'md' [done].
- Add demos for major package features - pca, nma, pdb, md [done]
- Resolve the Windows problems [Xinqiu] done
- Parallelization with multicore package [Xinqiu] done
- Multi-model support for PDB (read.pdb, split.pdb, get.pdb) [Lars] done
- New function, binding.site [Lars] done
- New function, read.mol2 [Lars] done
- New function, aln2trj (find indices correspondence between alignment and trajectory) [Xinqiu] done
- Fix plot.bio3d(x, sse=stride(pdb)) bug/error when there are no sheet or helix elements present [Barry] done
- Change name of aln2trj() to pdb2aln(). [Xinqiu] done
- Normal Modes Analysis (C-alpha elastic network model) [Lars] done
- NMA: Correlation matrix, Fluctuations, and overlap analysis [Lars] done
- consider changing the function name identity? [open] done
- Add various summary and print functions [Barry] done
- New function for custom report generation for PDB annotation [Hongyang] done
- Add better instructions on how to contribute a new function via git/bitbucket for new developers. [Barry] done
Updated