psipred / dmpfold2 Goto Github PK
View Code? Open in Web Editor NEWFast and accurate protein structure prediction
License: GNU General Public License v3.0
Fast and accurate protein structure prediction
License: GNU General Public License v3.0
PSIPRED RELEASE NOTES ===================== PSIPRED Version 4.0 By David Jones, January 2016 *** IMPORTANT ***************************************************** NCBI are now trying to move users to the new BLAST+ package. Please see the README file in the BLAST+ subdirectory for more information on PSIPRED's support for BLAST+. For now the preferred option is to stick with the classic BLAST package as the default. If the tar or rpm file you are downloading from NCBI has "+" in the filename, then you are downloading BLAST+ rather than BLAST. ******************************************************************* Here are some very brief notes on using the PSIPRED V4 software. PSIPRED is supplied in source code form - it must be compiled before it can be used. The code should compile on any ANSI C compiler e.g. the GNU C compiler. Please see the LICENSE file for the license terms for the software. Basically it's free to anyone (including commercial users) as long as you don't want to sell the software or, for example, store the results obtained with it in a database and then try to sell the database. If you do wish to sell the software or use it in a commercial product, then please contact UCL Business (http://www.uclb.com). PSIPRED is run via a tcsh shell script called "runpsipred" - this is a very simple script which you should be able to convert to Perl or whatever scripting language you like. If your sequence does not have any homologues in the current data banks, then it is possible to run PSIPRED on a single sequence. In this case, PSIPRED is run via a tcsh shell script called "runpsipred_single". Unfortunately, like every other secondary structure prediction method, PSIPRED does not perform as well on single sequences. Any secondary structure prediction based on a single sequence should be considered as unreliable. Before running PSIPRED, please check the runpsipred and runpsipred_single scripts to see if the path variables are set to wherever you have installed the program and data files. The default is to assume that the program is installed in the current directory - this is probably NOT what you want! INSTALLATION ============ Firstly compile the software: tcsh% cd to-wherever-you-untarred-PSIPRED tcsh% cd src tcsh% make tcsh% make install The executables will be placed in the PSIPRED bin directory. You must also install the PSI-BLAST and Impala software from the NCBI toolkit, and also install appropriate sequence data banks. The NCBI toolkit can be obtained from URL ftp://ftp.ncbi.nih.gov PSI-BLAST executables can be obtained from ftp://ftp.ncbi.nih.gov/blast EXAMPLE USAGE ============= In this example the target sequence is called "example.fasta": tcsh% runpsipred example.fasta Running PSI-BLAST with sequence example.fasta ... Predicting secondary structure... Pass1 ... Pass2 ... Cleaning up ... Final output file: example.horiz Finished. That's it - you can then look at the output: tcsh% more example.horiz SPECIAL OPTIONS =============== The psipass2 program has several special options which you can use if you wish. For example, the default command is as follows: psipass2 weights_p2.dat 1 1.0 1.0 output.ss2 input.ss > output.horiz Arguments 2,3 & 4 are as follows: Argument 2: No of filter iterations This controls the amount of "smoothing" that is carried out on the final prediction. The recommended setting is 1, but it may be worth trying higher values to increase the level of smoothing. Argument 3&4: Helix/Strand Decision constants These options control the bias for helix (Arg3) and strand (Arg4) predictions. The default values are equal to 1.0, but if you know your protein is, for example, mostly comprised of beta strands then you can increase the bias towards beta strand prediction. For example: psipass2 weights_p2.dat 1 1.0 1.3 output.ss2 input.ss > output.horiz increases the bias towards beta strand prediction by approximately 30%. SEQUENCE DATA BANK ================== As of PSIPRED V4.0 onwards, we no longer believe it is necessary for the sequence data banks used with PSI-BLAST to be filtered to remove low-complexity regions, transmembrane regions, and coiled-coil segments. The search data bank can therefore be any large non-redundant protein sequence data bank, with UNIREF90 (http://www.uniprot.org/help/uniref) being the recommended one. CHANGES FROM THE ORIGINAL PSIPRED ================================= The following is a quick summary of the main changes since the original PSIPRED. 1. The program now makes use of PSI-BLAST binary checkpoint files (using the Impala program makemat) to reduce loss of precision when parsing the original ASCII position specific matrices. 2. By default the 1st pass uses an average of 3 different neural network weight sets - this improves prediction accuracy slightly. 3. In addition to the normal horizontal summary output format, the program now also produces a full table of results which shows the individual coil, helix, strand network outputs. 4. A one-line header is output at the start of the output files to allow THREADER (and other programs) to automatically recognise a PSIPRED prediction. 5. An experimental interface to BLAST+ has been added (V3.0). This will extract PSSM data directly from ASN.1 checkpoint files. 6. Minor formatting bugs in .horiz file output for very long sequences have now been fixed (V3.21). 7. Minor output bug loses singleton residue coil predictions fixed (V3.3) 8. V4.0 released: new neural network architectures.
Hi, I was trying to run DMPfold2, but the next error appeared:
Traceback (most recent call last):
File "./dmpfold", line 5, in
run_dmpfold()
File "/home/esgarle/.local/lib/python3.8/site-packages/dmpfold/predict.py", line 175, in run_dmpfold
coords, confs, alnmat = aln_to_coords(args.input_file, device=args.device,
File "/home/esgarle/.local/lib/python3.8/site-packages/dmpfold/predict.py", line 121, in aln_to_coords
alnmat = (np.frombuffer(''.join(aln).translate(aa_trans).encode('latin-1'), dtype=np.uint8) - ord('A')).reshape(nseqs,length)
ValueError: cannot reshape array of size 1977853 into shape (10740,41)
I am not sure if this error is related to the size of the input file, with aln format. It contains around 1500 sequences.
I got the following error when trying to download BFD_1.3M.hdf5
at https://figshare.com/articles/dataset/Protein_structures_predicted_using_DMPfold2/14979990?file=28893897
{"message": "Storage exception: Unexpected scenario inst_id=549 state=ic_failure", "code": "StorageException”}
It seems the file is incompletely uploaded.
Hi, dmpfold is really fast! Thanks!
I would like to know if dmpfold has been further evaluated by building side-chain conformations to the output backbone structure?
If yes, which package do you recommend to build side-chain conformations after dmpfold?
Hey again
Another problem... I want to run dmpfold2 on other computer and get this:
(dmpfold) marcin@marcin-Precision-7920-Tower:/mnt/7fee140a-a85e-4bbb-96b1-4a34cdb806c1$ dmpfold -i PF10963.aln -d cuda:0 > fold.pdb
Traceback (most recent call last):
File "/home/marcin/anaconda3/envs/dmpfold/bin/dmpfold", line 5, in
run_dmpfold()
File "/home/marcin/anaconda3/envs/dmpfold/lib/python3.8/site-packages/dmpfold/predict.py", line 184, in run_dmpfold
coords, confs, alnmat = aln_to_coords(args.input_file, device=args.device,
File "/home/marcin/anaconda3/envs/dmpfold/lib/python3.8/site-packages/dmpfold/predict.py", line 128, in aln_to_coords
alnmat = (np.frombuffer(''.join(aln).translate(aa_trans).encode('latin-1'), dtype=np.uint8) - ord('A')).reshape(nseqs,length)
UnicodeEncodeError: 'latin-1' codec can't encode character '\u21b5' in position 102630: ordinal not in range(256)
(dmpfold) marcin@marcin-Precision-7920-Tower:/mnt/7fee140a-a85e-4bbb-96b1-4a34cdb806c1$
do you know what could be wrong?
all best
Marcin
Update
its my fault, bad input
hey
I have an issue:
Traceback (most recent call last):
File "/home/marcin/anaconda3/envs/dmpfold2/bin/dmpfold", line 5, in
run_dmpfold()
File "/home/marcin/anaconda3/envs/dmpfold2/lib/python3.8/site-packages/dmpfold/predict.py", line 202, in run_dmpfold
atomnum, an, rnamedict[alnmat[0,ri]], ri + 1,
KeyError: 21
Do you know what could be wrong?
I use dmpfold2 on cpu
0: AMD Ryzen 9 3950X
Microarchitectures:
32x Zen 2
<32gb RAM
Is there any specification for .aln
format available? Or are there any tools converting from .a3m
format to .aln
?
I did google for .aln
specification, but nothing found. I had tried also using converter from https://github.com/soedinglab/hh-suite/blob/master/scripts/reformat.pl, but non of the output had matched provided example (https://github.com/psipred/DMPfold2/tree/master/dmpfold/example/PF10963.aln).
I did check also online version of HHblits
, but also did not found way to download results in your format. Here is my job:
https://toolkit.tuebingen.mpg.de/jobs/8863800
Sequence I'm looking alignment for is MDVVSLDKPFMYFEEIDNELDYEPESANEVAKKLPYQGQLKLLLGELFFLSKLQRHGILDGATVVYIGSAPGTHIRYLRDHFYNLGVIIKWMLIDGRHHDPILNGLRDVTLVTRFVDEEYLRSIKKQLHPSKIILISDVASAAGGNEPSTADLLSNYALQNVMISILNPVASSLKWRCPFPDQWIKDFYIPHGNKMLQPFAPSYSAEMRLLSIYTGENMRLTRVTKSDAVNYEKKMYYLNKIVRNKVVVNFDYPNQEYDYFHMYFMLRTVYCNKTFPTTKAKVLFLQQSIFRFLNIP
My a3m file: rcsb_pdb_2GAF_part.a3m.txt
I noticed that input alignments with characters "X" and "N" cause a KeyError at line 202 of the predict.py script. Obviously DMPfold2 is only set up to handle the basic 20 amino acid alphabet.
Do you have any recommendations for how to generate predictions from such alignments without simply removing columns with ambiguous characters?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.