The Bioware server has a new(ish!) look! The function of the tools should be much the same (although various updates are in progress) but the feel of the site should hopefully be cleaner and more consistent on mobile devices. Feedback welcome!
Open source bioinformatics for Short Linear Motif (SLiM), molecular evolution and genomics sequence analysis.
Friday, 2 August 2013
Thursday, 1 August 2013
Availability, Installation and Setup
SLiMSuite and Seqsuite are currently available through GitHub and as release tarballs linked from the Downloads page as a single SLiMSuite package.
For basic functionality, no other setup should be necessary beyond downloading and unzipping the package in the desired directory if Python is installed on your system. Some programs will need to use external components or accessory applications, which may need additional installation.
If you do not have Python, you can download it free from www.python.org at http://www.python.org/download/. The modules are written in Python 2.x and most have been tested with 2.7. The Python website has good information about how to download and install Python but if you have any problems, please get in touch and I will help if I can.
All the required files should have been provided in the downloaded zip file. The Python Modules are open source and may be changed if desired, although please give me credit for any useful bits you pillage. I cannot accept any responsibility if you make changes and the program stops working, however! If you want some help understanding the way the modules and classes are set up so you can edit them, just contact me.
Directory Structure
Once unzipped, the download will unpack a top level slimsuite/ directory with the following subdirectories:
data/ contains example data for testing programs. (Currently under development.)
docs/ contains documentation.
extras/ contains accessory programs that are not part of the main program suite.
legacy/ contains superseded programs that are no longer supported. (Currently under development.)
libraries/ contains all the python libraries used by the main tools (and extras), some of which have standalone functionality.
settings/ contains INI files set default options.
tools/ contains the main program suite.
NOTE: It is recommended that analyses are performed outside these directories for ease of reinstallation.
Third party software
Many of the tools make use of third party software. Where possible, instructions will be provided for obtaining these programs but a quick Google is usually sufficient - wherever possible, third party software is free for academic use and (ideally) open source.
When third party software is used, SLiMSuite will also need the path to the program, or suite of programs. This will be covered more in the Command-line Options section but BLAST and clustalw deserve a special mention as examples because many of the programs use these as default programs for certain functions.
BLAST is actually a suite of programs and the path containing these executables should be provided using `blastpath=PATH/', e.g.:
blastpath=/usr/ncbi/bin/
For BLAST, do not give the full path to the program (e.g. blastpath=/usr/ncbi/bin/blastp). BLAST cannot be replaced easily by other programs. BLAST has now largely been superseded by BLAST+, which needs its own path parameter:
blast+path=PATH
Some programs are still restricted to BLAST at the moment and other tools can be made to use the BLAST with the oldblast=T switch.
Clustalw is a useful standalone program that is used as a default for alignments and trees in the absence of newer (better) programs. For this, and other single executables, the full path to the program is given:
clustalw=/usr/bioware/clustalw1.83/clustalw
In these situations, a different program with the same input and output can be substituted.
Clustalo is an improved version of Clustalw. In addition to being recognised for alignments (alnprog=clustalo clustalo=PATH), it should be possible to point the clustalw default to an installed copy of clustalo.
NOTE: Remember to set the relevant paths in an appropriate
*.inifile insettings/. Where possible, error messages will identify issues with third party software but due to a lack of testing on a diversity of systems, this is not always possible. If a program crashes, please check the*.logfile for signs that there may be a problem with the installation and/or path given for third party programs, such as BLAST.
Upgrading
Each release is distributed as a separate tarball. You can check the current version by the date in the name of the distribution file (in ISO 8601 standard, YYYY-MM-DD format). To keep abreast of the latest modifications and bug fixes, it is recommended that you clone the Git repository, which will make upgrades easier.
Tuesday, 30 July 2013
Getting Help
Much of the information here is also contained in the documentation of the Python modules themselves. A full list of command-line parameters can be printed to screen using the help option, with short descriptions for each one:
python program.py help
python program.py -help
python program.py -h Details of command-line options specific to each program can also be found in the distributed readme.txt and readme.html files.
You can also retrieve documentation for a given program by replacing sitemap in the box below and clicking View Documentation. Leaving sitemap in the box will list all modules, which can then be clicked on.
If stuck, or something is unclear, then please e-mail me (seqsuite@gmail.com) whatever question you have. If it is the results of an error message, then please send me that and the log file too.
Thursday, 18 July 2013
SLiMScape: a protein short linear motif analysis plugin for Cytoscape.
New paper published!
O’Brien KT, Haslam NJ & Shields DC (2013). SLiMScape: a protein short linear motif analysis plugin for Cytoscape. BMC Bioinformatics 14(1):224. [Epub ahead of print]
BACKGROUND: Computational protein short linear motif discovery can use protein interaction information to search for motifs among proteins which share a common interactor. Cytoscape provides a visual interface for protein networks but there is no streamlined way to rapidly visualize motifs in a network of proteins, or to integrate computational discovery with such visualizations.
RESULTS: We present SLiMScape, a Cytoscape plugin, which enables both de novo motif discovery and searches for instances of known motifs. Data is presented using Cytoscape’s visualization features thus providing an intuitive interface for interpreting results. The distribution of discovered or user defined motifs may be selectively displayed and the distribution of protein domains may be viewed simultaneously. To facilitate this SLiMScape automatically retrieves domains for each protein.
CONCLUSION: SLiMScape provides a platform for performing short linear motif analyses of protein interaction networks by integrating motif discovery and searchtools in a network visualization environment. This significantly aids in the discovery of novel short linear motifs and in visualizing the distributionof known motifs.
PMID: 23855714
Sunday, 14 July 2013
SLiMSuite at the 3rd International Conference on Proteomics & Bioinformatics
If anyone is attending the 3rd International Conference on Proteomics & Bioinformatics this week then be sure to say hello. I am speaking on the last day in the “Computational Biology” track.. (Never the best time to talk at a conference as there is limited time for follow up but at least it is before lunch!)
SLiM Pickings: mining structural and sequence data for the prediction of short linear protein interaction motifs
Short Linear Motifs (SLiMs) are short functional protein sequences that act as ligands to mediate transient protein-protein interactions (PPI) in critical biological pathways and signaling networks. SLiMs are short (3-15aa), generally tolerate considerable sequence variation and typically have fewer than five residues critical for function. These features result in a degree of evolutionary plasticity not seen in domains and SLiMs often add new functions to proteins by convergent evolution. They also present a challenge for computational identification, making it difficult to differentiate biological signal from stochastic patterns. Despite this, discovering new SLiMs is of great interest due to their potential as therapeutic targets.
In recent years, we have made great progress in SLiM discovery, particularly through development of the SLiMSuite package of bioinformatics tools. SLiMs generally occur in structurally disordered regions of proteins and exhibit evolutionary conservation relative to other disordered residues. SLiMFinder uses this knowledge and exploits patterns of convergent evolution to predict novel, over-represented motifs within a statistical framework with high specificity. Applying this approach to a comprehensive set of human PPI data has highlighted interactome complexity and quality as the next challenges for SLiM prediction. Our latest development, QSLiMFinder (“Query” SLiMFinder) tackles some of these issues by incorporating specific interaction data to restrict the motif search space, which improves both the sensitivity and biological relevance of predictions. We are now using QSLiMFinder to combine structurally defined domain-motif interactions with large-scale PPI data to perform large-scale de novo SLiM prediction.
Thursday, 11 July 2013
Documentation
SLiMSuite and SeqSuite have grown into rather unwieldy beasts since their origins as individual programs and the documentation has struggled to keep up. In particular, the original plan of a single PDF manual per program is getting creaky. Because of the shared reliance on common modules, multiple programs make use of the same sets of options for alignments and conservation scoring etc. and propagating tweaks and modifications through all the manuals can be a bit head-wrecking.
As a result of all of this, the documentation currently undergoing a bit of a review and rethink. I am still keen to keep the PDF manuals (as I think they are useful) but will be working through an intermediate phase of online Markdown/HTML documentation of some kind. The current plan is to trickle out draft copies via the blog and then probably release a Git repository once sufficiently populated.
In the meantime, I would be interested to hear any thoughts regarding favoured documentation styles etc. (e.g. HTML vs PDF, large files vs small chunks) as well as bits that are particularly unclear or in need of attention.
Monday, 8 July 2013
New Software Release
New releases of SeqSuite, SLiMSuite and RJESuite are now available.
The biggest change since the last release is the renaming of SLiMSearch to SLiMProb. This is to avoid confusion between the old SLiMSearch 1.x (now SLiMProb) and the newer SLiMSearch 2.x webserver, which has a different range of functions.
Updates since last release:
• cpppred: Created.
• gopher: Updated from Version 3.1.
→ Version 3.2: Minor tweak to prevent unwanted directory generation for programs using existing GOPHER alignments.
→ Version 3.3: Added rje_blast_V2 to use BLAST+. Run with legacy=T to stick with old NCBI BLAST. Started utilising rje_seqlist.
• pepbindpred: Created.
• slimprob: Created.
→ Version 1.0: SLiMProb 1.0 based on SLiMSearch 1.7. Altered output files to be *.csv and *.occ.csv.
• file_monster: Updated from Version 2.0.
→ Version 2.1: Added dirsum function.
• rje: Updated from Version 4.5.
→ Version 4.6: Added dev and warn options.
• rje_blast_V2: Created.
→ Version 2.0: Initial Compilation from rje_blast_V1 V1.14.
→ Version 2.1: Tweaking code to work with GOPHER 3.x - removing self.info etc. Added blastObj() method.
• rje_db: Updated from Version 0.4.
→ Version 0.5: Initial coding of index mode. (Not yet fully functional.)
→ Version 1.0: Working, so upgraded to version 1.0!
• rje_obj: Updated from Version 0.0.
→ Version 1.0: Fully working version, so upgraded to 1.0. Added dev and warn options.
• rje_seq: Updated from Version 3.15.
→ Version 3.16: Added BLAST+ path and seqFromBlastDBCmd()
• rje_slimcalc: Updated from Version 0.5.
→ Version 0.6: Minor tweak to avoid unwanted GOPHER directory generation.
→ Version 0.7: Added RLC to "All" conscore running.
• rje_slimcore: Updated from Version 1.9.
→ Version 1.10: Bypass UPC generation for single sequences.
Documentation is still in the process of development. BLAST+ implementation is ongoing - please get in touch if this is something you need.
